- •1. История развития систем автоматизированной разработки пс.
- •2. Case-технология в разработке пс
- •3.Основные элементы объектной модели проектирования программного обеспечения (абстрагирование, инкапсуляция, модульность, иерархия). Особенности построения объектно-ориентированной системы.
- •4. Дополнительные элементы объектной модели проектирования программного обеспечения (типизация, параллелизм, устойчивость). Полиморфизм и наследование.
- •5. История появления, особенности и назначение унифицированного языка моделирования uml.
- •6.Назначение программного средства Rational xde. Основные окна и пункты меню Rational xde.
- •7.Сравнительный анализ программных продуктов Rational Rose и Rational xde
- •8. Назначение, особенности и построение диаграммы Use Case.
- •9. Назначение, особенности и построение диаграммы Deployment.
- •10. Назначение, особенности и построение диаграммы Statechart.
- •11. Назначение, особенности и построение диаграммы Activity.
- •12. Назначение, особенности и построение диаграммы Sequence.
- •13. Назначение, особенности и построение диаграммы Collaboration.
- •14. Назначение, особенности и построение диаграммы Component.
- •15, 16. Назначение, особенности и построение диаграммы Class.
- •17. Назначение и виды связей между классами на диаграммах Rational Rose. Особенности следующих связей: однонаправленная ассоциация, зависимость, ассоциированный класс, наследование, реализация.
- •19. Создание шаблона приложения с использованием библиотеки mfc. Структура и классы приложения.
- •20. Функциональные возможности Rational Rose: модуль Component Assignment Tool, компонент Model Assistant, обновление кода по модели и модели по коду.
- •21. Особенности генерации исходного кода в среде Rational xde. Способы синхронизации модели.
- •22. Сравнительный анализ процедур генерации исходного кода в Rational Rose и Rational xde
- •23. Назначение, возможности, особенности использования модуля Data Modeler.
- •24. Назначение, возможности, особенности использования модуля Data Modeler в Rational xde.
- •25. Назначение, возможности, особенности использования модуля Web Modeler.
- •26. Возможности и особенности построения Web-модели в среде Rational xde
- •27. Продукт Rational Unified Process (rup), его цели и назначение.
- •28. Статический и динамический аспекты rup.
- •29. Использование программного средства rup в сочетании с диаграммами uml
- •30.Принципы и стадии разработки пс в технологии Rational Unified Process.
- •31. Содержание и результаты первой и второй стадий в технологии Rational Unified Process
- •32. Содержание и результаты третьей и четвертой стадий в технологии rup.
- •33. Этапы и процессы создания пс в технологии Oracle.
- •34. Классический и быстрый подходы к разработке пс в технологии Oracle. Факторы, определяющие выбор подхода.
- •35. Этапы разработки пс в технологии Borland.
- •36. Принцип модульности при разработке пс
- •37. Управление рисками проекта. Процедуры идентификации и анализа рисков.
- •38. Управление рисками проекта. Ранжирование, планирование управления, разрешение и наблюдение риска.
- •39. Метрики объектно-ориентированных программных систем. Локализация. Инкапсуляция. Информационная закрытость
- •40. Метрики объектно-ориентированных программных систем. Инкапсуляция. Наследование. Абстракция.
- •41. Назначение и компоненты системной модели сапр. Обозначение, наименование, цели системы, общесистемные характеристики, входы-выходы, структура системы.
- •42. Критерии развития сапр. Функциональные и технологические критерии.
- •43. Критерии развития сапр. Экономический и эргономический критерии.
- •44. Перспективы развития технологий разработки программного обеспечения.
19. Создание шаблона приложения с использованием библиотеки mfc. Структура и классы приложения.
Мастер создания приложений VC++ (Appwizard) может создавать несколько типов приложений
Single document (приложение работает с одним документом)
Multiple document(приложение работает с несколькими документами)
Dialog based (приложение основано на окне диалога)
Расмотрим пример для приложения для тепличного хозяйства, использующего гидропонику (растения выращиваются без грунта на специальном растворе) (Пример из конспа)
Специфика создаваемого приложения (гидропонная система) позволяет выбрать структуру работающую с одним документом
Понятие документ для тепличного хоз-ва
Документ – любая сов-ть данных а не только текста
Для нашего примера данные о состоянии теплицы будут представлены в виде документа, что является наиболее быстрым способом построения приложения, чем путь создания с нуля на базе окна диалога
Разрабатываемое приложение можно отнести к классу систем автоматизированного управления техническим процессом. Внешний вид отображения данных не имеет значения, т.к. это не зависит от структуры классов. Результат будет представлен в виде отчёта в окне редактора
Классы создаваемые мастером приложений
При создании шаблона приложения мастер создания приложений создаст код след классов:
Главный класс приложения CGreenhouseApp
Класс документа CGreenhouseDoc
Класс просмотра CGreenhouseView
Класс для окна «О программе» CAboutDlg
Класс основного окна программы CMainFrame
Мастер создания приложения обеспечивает разделение кода создания окна и визуализации данных от собственно данных
CWinApp, CDocument библиотечные классы
CWinApp
CDocument СEditView
CGreenHouseApp CGreenhouseDoc CGreenhouseView
Главный класс CGreenHouseApp
CGreenhouseDoc - происходит вся обработка данных
Для построения шаблона приложения используется модуль Component Assignment Tool. Приложение будет содержаться в компоненте GreenHouse и будет одноименно называться. По окончании построения приложение будет создано на стороне среды разработчика
Импорт библиотеки MFC
Для того чтобы можно было в дальнейшем работать с классами MFC нужно импортировать эту библиотеку классов в модель. Затем в модель RR можно загрузить классы, созданные в Visual C++. Для того чтобы они появились в проекте необходимо обновить проект по готовому коду Menu: Tools => Visual C++ => Update model from code В результате на стороне RR появится диаграмма которая отображает структуру классов наследуемых из классов библиотеки MFC, после чего в шаблон при необходимости можно добавлять требуемые классы разработчика. При обновлении необходимо выполнить обновление кода по модели. По завершении обновления можно выполнить 1-ый запуск приложения
20. Функциональные возможности Rational Rose: модуль Component Assignment Tool, компонент Model Assistant, обновление кода по модели и модели по коду.
В RR для автоматической кодогенерации предназначены 2 встроенных средства
Model Assistant и Component Assignment tool
После выбора языка программирования становится доступным следующий перечень действий:
Model Assistant – этот модуль позволяет обновлять и конкретизировать классы в модели, используя средства визуализации. Ассистент модели представляет окно, позволяющее создавать атрибуты и операции и изменять их свойства.
Поля в окне:
Предварительный просмотр – показывает описание класса в том виде, в котором оно определено в текущий момент
Имя программы – показывает имя программного файла для класса
Генерация кода – ключ определяющий необходимость создания для данного класса исходного текста на языке C++ (если ключ снят то генерация кода не будет происходить)
Тип класса (e.g. class, struct, union)
Документация – позволяет задавать произвольные комментарии для класса
По тому же принципу ассистент модели работает на уровне операций и атрибутов
Assignment tool - активизирует окно назначения классов в компоненты и назначение языка для класса.
Чтобы получить преимущества использования данного инструмента, необходимо создавать компоненты здесь, а не через окно Browser или в диаграмме компонентов. При этом созданные компоненты будут содержать всю необходимую информацию для генерации кода на выбранном ЯП. Этот модуль позволяет просмотреть классы, которые ещё не назначены в компоненты, что уменьшает вероятность ошибки
Обновление кода и модели (Update Code/Update model)
После того как все компоненты добавлены в модель и все классы связаны в соответствии с компонентами, выбираем «Update code from model” Создаётся код на стороне среды программирования. Если изменения касались не всех классов, то для обновления можно выбрать конкретные классы. После завершения обновления на стороне RR будет представлен отчёт о том как прошло обновление. Процесс обновления модели по изменениям в коде происходят аналогично.
Мастер создания классов предоставляет возможность устанавливать 3 различных варианта создания классов
Создание нового пустого класса
Создание подкласса уже созданного класса
Создание нового класса по шаблону уже существующего
