- •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. Перспективы развития технологий разработки программного обеспечения.
17. Назначение и виды связей между классами на диаграммах Rational Rose. Особенности следующих связей: однонаправленная ассоциация, зависимость, ассоциированный класс, наследование, реализация.
В большинстве случаев классы взаимодействуют друг с другом, что отображается при помощи различного вида связей, влияющих на получаемый при генерации код. В диаграмме классов различают следующие виды связей:
• Unidirectional association (однонаправленная ассоциация);
• Dependency (зависимость);
• Association class (ассоциированный класс);
• Generalization (наследование);
• Realization (реализация).
Unidirectional association – это один из важных и сложных типов связи. Она показывает, что один класс включается в другой как атрибут по ссылке или по значению. На рис. 18.1 приведен пример связи Unidirectional association.
Рис. 18.1 - Unidirectional association
Создаваемый код класса зависит от установленных спецификаций связи. При активизации окна спецификаций открывается ее вкладка General, где содержится следующая информация о связи: имя связи; имя пакета, которому принадлежит связь; стереотип; имя роли, с которой один класс ассоциируется с другим; имя класса, который ассоциирован с данной ролью.
На вкладке Detail указываются дополнительные свойства связи, такие как: имя связанного класса; выражение семантического условия, которое должно быть выполнено, в то время как система находится в устойчивом состоянии.
Тип связи Dependency позволяет показать, что один класс использует объекты другого. Это может осуществляться при передаче параметров или вызове операций класса. В таком случае генератор кода Rational Rose включает заголовочный файл в класс, который использует операторы или объекты другого класса. Графическое изображение этого вида связи показано на рис. 18.3.
Рис. 18.3 - Связь Dependency
Тип связи Association class используется для отображения свойства ассоциации. Свойства сохраняются в классе и соединяются связью Association (рис. 18.4). Этот тип не имеет своих спецификаций. Ассоциация предназначена для задания дополнительных атрибутов у связи. Она обозначает, что некоторый класс со своими атрибутами включается как элемент в два других, хотя при генерации кода это не отображается.
Рис. 18.4. Связь Association class
Тип связи Generalization позволяет указать, что один класс является родительским по отношению к другому, при этом будет создан код наследования класса. Пример такой связи показан на рис. 18.5.
Рис. 18.5. Связь Generalization
Тип связи Realization позволяет показать, что один класс является реализацией, т.е. создан на основе шаблона другого. В Rational Rose для обозначения класса шаблона используется понятие параметризованный класс. Графическое изображение этого типа связи показано на рис. 18.6.
Рис. 18.6. Связь Realization
На практике чаще других используются два вида связей: Unidirectional asso-ciation для агрегирования включения ссылок на классы и Generalization для соз-дания иерархии наследования.
18. Создание кода класса на Microsoft Visual C++ c помощью средств Rational Rose. Структура созданного кода класса. Назначение и возможности компонента Model Assistant.
Генератор кода Rational Rose интерпретирует понятие класс как описание общей структуры (данных и связей) для дальнейшего создания объектов. Чтобы генератор Rational Rose имел возможность создавать на основе описанной модели программный код, для каждого класса необходимо указать язык, для которого будет создаваться код и определить компонент, в котором этот класс будет храниться. Если в качестве языка для создания кода указан VC++ то пользователь получает доступ ко всей иерархии классов библиотеки MFC при помощи визуальных средств Model Assistant.
При создании класса необходимо указать стереотип, который также влияет на получаемый исходный код класса. (при изменении стереотипа на struct или union будут созданы указанные типы данных)
RR поддерживает обозначения области видимости, такие как public, private, protected. Каждый атрибут или операция в спецификации классов при создании заголовочного файла класса, будет определён в одну из секций public, private или protected. Имеется возможность не создавать программный код для определённых классов.
Структура созданного кода класса.
Для каждого класса шаблон кода создаётся со следующей структурой:
Директивы #include, которые создаются исходя из необходимости включения атрибутов и связей классов
Декларация класса, имя класса, тип, наследование
Переменные Data members, которые создаются по описанию атрибутов класса и его связей
Декларация методов класса и скелет этих методов для дальнейшего наполнения каждой операции, заданной в описании класса
Документация для каждого создаваемого класса, переменных, методов, заданная в описании модели
Идентификатор ID модели, который включается в код как комментарий для каждого создаваемого класса, атрибута или метода заданных в текущей модели
Назначение и возможности компонента Model Assistant.
В RR для автоматической кодогенерации предназначены 2 встроенных средства: Model Assistant и Component Assignment tool
После выбора языка программирования становится доступным следующий перечень действий:
Model Assistant – этот модуль позволяет обновлять и конкретизировать классы в модели, используя средства визуализации. Ассистент модели представляет окно, позволяющее создавать атрибуты и операции и изменять их свойства.Поля в окне:
Предварительный просмотр – показывает описание класса в том виде, в котором оно определено в текущий момент
Имя программы – показывает имя программного файла для класса
Генерация кода – ключ определяющий необходимость создания для данного класса исходного текста на языке C++ (если ключ снят то генерация кода не будет происходить)
Тип класса (e.g. class, struct, union)
Документация – позволяет задавать произвольные комментарии для класса
По этому же принципу ассистент модели работает на уровне операций и атрибутов
