Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_OOP_2009.doc
Скачиваний:
3
Добавлен:
18.09.2019
Размер:
1.36 Mб
Скачать

18.Як під час проектування здійснюється розподіл обов’язків між класами? що таке шаблони проектування? Наведіть приклади шаблонів з прикладами їх застосування.

Основним завданням ОО проектування є створення діаграм взаємодій, що ілюструють взаємодію об'єктів в процесі виконання системних вимог. При побудові діаграм взаємодій відбувається розподіл обов'язків (responsibilities) на основі використання шаблонів (patterns).

Шаблонами є структуровані рекомендації і принципи.

Наприклад:

Им’я шаблона

Expert

Вирішувана проблема

Який основний принцип розподілу обов'язків між об'єктами?

Рішення

Обов'язки призначаються класу, який має інформацію, необхідну для їх виконання.

Тобто, шаблон – це пойменована пара «проблема/рішення», яку можна застосовувати в різних контекстах, і що містить рекомендації для вживання в різних конкретних ситуаціях.

Приклад: шаблони GRASP – шаблони, що описують фундаментальні принципи розподілу обов'язків між об'єктами.

Шаблони GRASP:

- Expert;

- Creator;

- High Cohesion;

- Low Coupling;

- Controller.

НАЗВАНИЕ

ОПИСАНИЕ

Creator

Хто повинен відповідати за створення екземплярів класів

Controller

Який клас повинен обробляти системні події

Low Coupling

(оценочный)

Як забезпечити низьку залежність класів і підвищити можливість повторного використання. Обов'язки розподіляються так, щоб міра зв'язаності залишалася низькою.

High Cohesion

(оценочный)

Як забезпечити можливість управляти складністю. Обов'язки розподіляються так, щоб міра зачеплення залишалася високою.

19. Охарактеризуйте мову uml та її призначення. Які діаграми для подання моделі складної системи надає uml, дайте коротку характеристику діаграм. Для чого на діаграмах uml застосовується мова ocl?

UML (1997 р.) – це мова для визначення, візуалізації і конструювання артефактів програмних систем (артефакт – діаграма або документ, що описує певне поняття). Це система позначень (включаючи семантику), призначена для моделювання систем на основі об'єктно-орієнтованого підходу.

Це важливий виробничий стандарт для об'єктно-орієнтованого моделювання.

UML предоставляет такие диаграммы для представления моделей сложной системы:

  • Диаграмма последовательностей системы является схемой, которая для определенного сценария прецедента (это его частный случай или реальный путь его реализации) показывает генерируемые внешними исполнителями события, их порядок, а также события, генерируемые внутри самой системы. При этом все системы рассматриваются, как «черный ящик». Назначение данной диаграммы – отображение событий, передаваемых исполнителями системе через ее границы.

  • Диаграммы кооперации (взаимодействий) – иллюстрируют процесс обмена сообщениями между экземплярами (и классами) в модели классов.

  • Диаграмма классов иллюстрирует спецификации программных классов и интерфейсов в приложении. Обычно на такую диаграмму выносится следующая информация: 1.Классы, отношения и атрибуты; 2.Интерфейсы со своими операциями и константами; 3.Методы; 4.Информация о типах атрибутов; 5.Способы навигации; 6.Зависимости. В отличие от концептуальной модели диаграммы классов отображают определения программных сущностей, а не понятия предметной области.

Язык объектных ограничений (Object Constraint Language, OCL) представляет собой некоторый формальный язык для описания ограничений, которые могут быть использованы при определении различных компонентов языка UML. Язык OCL может быть использован для решения следующих задач:

    • описание инвариантов классов и типов в диаграмме классов;

    • описание пред- и постусловий в операциях и методах;

    • описание сторожевых условий элементов модели;

    • навигация по структуре модели;

    • спецификация ограничений на операции.

Язык OCL является типизированным языком. Базовым элементом языка OCL является выражение, которое строится по определенным правилам.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]