Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Орлов_Технологии разработки программного обеспе...doc
Скачиваний:
105
Добавлен:
07.09.2019
Размер:
4.57 Mб
Скачать

Контрольные вопросы

  1. В чем отличие алгоритмической декомпозиции от объектно-ориентированной декомпозиции сложной системы?

  2. В чем особенность объектно-ориентированного абстрагирования?

  3. В чем особенность объектно-ориентированной инкапсуляции?

  4. Каковы средства обеспечения объектно-ориентированной модульности?

  5. Каковы особенности объектно-ориентированной иерархии? Какие разновидности этой иерархии вы знаете?

  6. Дайте общую характеристику объектов.

  7. Что такое состояние объекта?

  8. Что такое поведение объекта?

  9. Какие виды операций вы знаете?

  10. Что такое протокол объекта?

  11. Что такое обязанности объекта?

  12. Чем отличаются активные объекты от пассивных объектов?

  13. Что такое роли объектов?

  14. Чем отличается объект от класса?

  15. Охарактеризуйте связи между объектами.

  16. Охарактеризуйте роли объектов в связях.

  17. Какие формы видимости между объектами вы знаете?

  18. Охарактеризуйте отношение агрегации между объектами. Какие разновидности агрегации вы знаете?

  19. Дайте общую характеристику класса.

  20. Поясните внутреннее и внешнее представление класса.

  21. Какие вы знаете секции в интерфейсной части класса?

  22. Какие виды отношений между классами вы знаете?

  23. Поясните ассоциации между классами.

  24. Поясните наследование классов.

  25. Поясните понятие полиморфизма.

  26. Поясните отношения агрегации между классами.

  27. Объясните нетрадиционные формы представления агрегации.

  28. Поясните отношения зависимости между классами.

  29. Поясните отношение конкретизации между классами.

Глава 10. Базис языка визуального моделирования

Для создания моделей анализа и проектирования объектно-ориентированных программных систем используют языки визуального моделирования. Появившись сравнительно недавно, в период с 1989 по 1997 год, эти языки уже имеют представительную историю развития.

В настоящее время различают три поколения языков визуального моделирования. И если первое поколение образовали 10 языков, то численность второго поколения уже превысила 50 языков. Среди наиболее популярных языков 2-го поколения можно выделить: язык Буча (G. Booch), язык Рамбо (J. Rumbaugh), язык Джекобсона (I. Jacobson), язык Коада-Йордона (Coad-Yourdon), язык Шлеера-Меллора (Shlaer-Mellor) и т. д [41], [64], [69]. Каждый язык вводил свои выразительные средства, ориентировался на собственный синтаксис и семантику, иными словами — претендовал на роль единственного и неповторимого языка. В результате разработчики (и пользователи этих языков) перестали понимать друг друга. Возникла острая необходимость унификации языков.

Идея унификации привела к появлению языков 3-го поколения. В качестве стандартного языка третьего поколения был принят Unified Modeling Language (UML), создававшийся в 1994-1997 годах (основные разработчики — три «amigos» Г. Буч, Дж. Рамбо, И. Джекобсон). В настоящее время разработана версия UML 1.4, которая описывается в данном учебнике [53]. Данная глава посвящена определению базовых понятий языка UML.

Унифицированный язык моделирования

UML — стандартный язык для написания моделей анализа, проектирования и реализации объектно-ориентированных программных систем [23], [53], [67]. UML может использоваться для визуализации, спецификации, конструирования и документирования результатов программных проектов. UML — это не визуальный язык программирования, но его модели прямо транслируются в текст на языках программирования (Java, C++, Visual Basic, Ada 95, Object Pascal) и даже в таблицы для реляционной БД.

Словарь UML образуют три разновидности строительных блоков: предметы, отношения, диаграммы.

Предметы — это абстракции, которые являются основными элементами в модели, отношения связывают эти предметы, диаграммы группируют коллекции предметов.