
- •Министерство образования и науки Российской Федерации Московский государственный институт электронной техники (технический университет) Факультет мп и тк
- •«Программный комплекс многокритериальной оптимизации систем на основе мультихромосомных моделей и генетических алгоритмов»
- •Содержание
- •Перечень сокращений
- •Введение
- •1. Специальный раздел
- •1.1. Исследовательская часть
- •1.1.1. Обзор существующих программ для оптимизации
- •1.1.3. Информационные потребности пользователя
- •1.2. Конструкторская часть
- •1.2.1. Требования, предъявляемые к системе
- •1.2.2. Структура входных и выходных данных
- •1.2.3. Конфигурация технических средств
- •1.2.4. Модули комплекса
- •1.2.5. Общий алгоритм работы программы
- •1.2.6. Иерархия классов
- •1.2.7. Переменные в выражениях и их использование в программе
- •1.2.8. Основные алгоритмы и особенности программной реализации
- •1.2.9. Проверка отказоустойчивости программы
- •1.2.10. Проверка работы комплекса на контрольных примерах
- •1.3. Выводы
- •2. Технологический раздел
- •2.1. Использование стандартных библиотек
- •2.1.1. Библиотека stl
- •2.1.2. Библиотека mfc
- •2.1.3. Применение библиотек stl и mfc в программе
- •2.1.4. Средство ClassWizard
- •2.2.2. Встроенные средства языка для отладки программ
- •2.2.3. Отладка программного кода, содержащего stl и mfc
- •2.4. Приёмы объектно-ориентированного проектирования
- •2.4.1. Применение паттернов проектирования в программе
- •2.5. Выводы
- •3. Организационно-экономический раздел
- •3.1. Метод анализа иерархий
- •3.2. Метод парных сравнений.
- •3.2.1. Определение собственных векторов
- •3.3. Применение метода для выбора среды программировани
- •3.3.1. Характеристики сред программирования
- •3.3.2. Таблица сравнений важности критериев
- •3.3.3. Таблицы попарного сравнения сред разработки по каждому критерию
- •3.4. Результаты применения метода
- •3.5. Выводы
- •4. Производственная и экологическая безопасность
- •4.1. Опасные и вредные факторы, воздействующие на программиста
- •4.1.1. Микроклимат рабочей зоны программиста
- •4.1.2. Воздействие шума на программиста. Защита от шума
- •4.1.3. Уровень напряжённости электромагнитного поля
- •4.1.4. Электробезопасность. Статическое электричество
- •4.1.5. Освещенность рабочего места
- •4.2. Заключение
- •Заключение
- •Список литературы
- •Исходный текст программы
- •Результаты испытаний
- •Руководство оператора
- •Аннотация
- •2. Условия выполнения программы
- •2.1. Климатические условия эксплуатации
- •2.2. Состав аппаратных и программных средств
- •3. Требования к персоналу (пользователю)
- •4.2.2. Выполнение функции сохранения модели в файл
- •4.2.3. Выполнение функции ввода информации о системе
- •4.2.4. Выполнение функции задания различных параметров системы
- •4.2.5. Правила записи выражений
- •4.2.6. Выполнение функции задания параметров генетических алгоритмов
- •4.2.7. Выполнение функции поиска решения
- •5.3. Ошибки при проверке модели
- •5.4. Ошибки во время поиска решения
2.1.2. Библиотека mfc
В связи с тем, что сегодня уровень сложности программного обеспечения очень высок, разработка приложений Windows с использованием только какого-либо языка программирования (например, языка C) значительно затрудняется. Программист должен затратить массу времени на решение стандартных задач по созданию многооконного интерфейса. Реализация технологии связывания и встраивания объектов - OLE - потребует от программиста еще более сложной работы. Чтобы облегчить работу программиста практически все современные компиляторы с языка C++ содержат специальные библиотеки классов. Такие библиотеки включают в себя почти весь программный интерфейс Windows и позволяют пользоваться при программировании средствами более высокого уровня, чем обычные вызовы функций.
Современные интегрированные средства разработки приложений Windows позволяют автоматизировать процесс создания приложения. Для этого используются генераторы приложений. Генератор приложений, создаст приложение и предоставит исходные тексты. Пользуясь им как шаблоном, программист сможет быстро разрабатывать свои специфические приложения.
Подобные средства автоматизированного создания приложений включены в компилятор Microsoft Visual C++ и называются MFC AppWizard. Заполнив несколько диалоговых панелей, можно указать характеристики приложения и получить его тексты, снабженные обширными комментариями. MFC AppWizard позволяет создавать однооконные и многооконные приложения, а также приложения, не имеющие главного окна, – вместо него используется диалоговая панель. Можно также включить поддержку технологии OLE, баз данных, справочной системы.
Конечно, MFC AppWizard не всесилен. Прикладную часть приложения нужно разрабатывать самостоятельно. Исходный текст приложения, созданный MFC AppWizard, является только основой, к которой нужно добавить полезный код. Но работающий шаблон приложения – это уже немалая часть всей работы. Исходные тексты приложений, автоматически полученных от MFC AppWizard, могут составлять сотни строк текста. Набор вручную такого количества кода может занять много времени.
MFC AppWizard создает тексты приложений только с использованием библиотеки классов MFC (Microsoft Foundation Class library). MFC – это базовый набор (библиотека) классов, написанных на языке C++ и предназначенных для упрощения и ускорения процесса программирования под Windows [8]. Библиотека MFC инкапсулирует многие функции API (Application Programming Interface – Прикладной Программный Интерфейс) Windows, с помощью которых реализуются все необходимые системные действия, такие как выделение памяти, вывод на экран, создание окон и т.п. Хотя никто не запрещает обращаться к этим функциям напрямую, все же чаще их вызов осуществляется через соответствующие функции-члены классов библиотеки MFC. Как правило, функции-члены либо аналогичны функциям API, либо непосредственно обращаются к нужной части интерфейса.
Библиотека MFC содержит многоуровневую иерархию классов, насчитывающую около 200 членов. Они дают возможность создавать Windows-приложения на базе объектно-ориентированного подхода. С точки зрения программиста, MFC представляет собой каркас, на основе которого можно писать программы для Windows.
Одним из основных преимуществ работы с MFC является возможность многократного использования одного и того же кода. Так как библиотека содержит много элементов, общих для всех Windows-приложений, нет необходимости каждый раз писать их заново. Вместо этого их можно просто наследовать. Кроме того, интерфейс, обеспечиваемый библиотекой, практически независим от конкретных деталей, его реализующих. Поэтому программы, написанные на основе MFC, могут быть легко адаптированы к новым версиям Windows (в отличие от большинства программ, написанных обычными методами).
Наряду с классами, обеспечивающими создание оконных Windows-приложений, в библиотеке присутствуют классы, несвязанные непосредственно с программированием под Windows. Это, в частности, классы, предназначенные для создания строк, управления файлами и обработки особых ситуаций. Иногда называемые классами общего назначения, они могут использоваться как Windows-, так и не- Windows-приложениями.