Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
se201_pr_2014.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
184 Кб
Скачать
☆

7 Діаграми взаємодій

7.1 Ситуаційна вправа

Пауза затяглася, Мюллер міркував. «Усі вільні», – пролунало нарешті. Троє присутніх відкланялися і пішли до двері. Він виходив останнім, і коли вже був у дверях, почув за спиною голос Мюллера: «Штірліц, – всі троє завмерли у дверей, він обернувся. – А Вас я попрошу залишитися ще на одну хвилину». «Що я зробив не так?» – промайнуло в голові, але отут задзвонив будильник.

«Що я зробив не так?» – вкотре запитував себе Роман, уважно роздивляючись графіки, які вперто будувала його програма. Цей двобій тривав вже третій день, і поки що переможцем був не Роман.

До нього підійшла Наталя. «На прохання генерального ми розробляємо нову систему, – повідомила вона. – Що система має робити нібито зрозуміло, тепер потрібно проаналізувати, як вона це робитиме», – і Наталя протягнула пачку роздрукованих паперів. На верхньому з них Роман побачив діаграму варіантів використання. «Оскільки це прохання генерального, ми намагаємося все зробити якісно, а хто краще за тебе зможе це зробити?» – задала Наталя питання з очевидною відповіддю.

Роману було приємно це чути. Хоча Наталка – рідкісна зануда, вміє вона спілкуватися з людьми. До того ж ситуація могла бути і гіршою, подумав Роман, побачивши, що в цю мить Андрій спілкується з Сергієм.

«Жодної проблеми, все буде зроблено», – відповів він Наталці. Отже, графіки слід посунути в часі і взятися за аналіз роботи нової системи. Роман останній раз подивився на малюнки, які люб'язно побудувала його програма, та почав читати сценарії, які були в переданих паперах.

Завдання

1. Побудувати діаграми взаємодій для сценаріїв варіантів використання

Він вже майже завершив свою роботу, коли до нього підійшов Андрій з повідомленням про необхідність об’єднати зусилля. Разом вони завершили будування останньої діаграми і взялися за додання операцій до класів на відповідній діаграмі.

Завдання

2. З використанням діаграм взаємодій доповнити діаграму класів наборами операцій для кожного класу

7.2 Методичні вказівки до заняття

Завдання 1

Будування діаграми послідовностей можна виконати в такий спосіб:

  1. Визначити сцену взаємодії, з’ясувавши, які об’єкти беруть в ній участь.

  2. Провести для кожного об’єкта лінію життя.

  3. Розпочинаючи з повідомлення, що ініціює взаємодію, розташувати всі наступні повідомлення згори вниз між лініями життя об’єктів.

  4. Якщо потрібно показати вкладеність повідомлень або точний проміжок часу, коли відбуваються обчислення, додати до ліній життя об’єктів фокуси керування.

Завдання 2

Під час узгодження статичної (діаграма класів) та динамічної (діаграма взаємодій) моделей слід пересвідчитися в тому, що для кожного повідомлення на діаграмі взаємодій існує відповідна операція в класі, який відповідає об’єкту-приймачу повідомлення.

8 Формальне моделювання об’єктних обмежень

8.1 Ситуаційна вправа

Вони довіряли йому, а він не зміг передбачити цю снігову лавину. Добре, що всі залишилися живі. «Треба піти подалі від гори, – прокричав Боромір, – пропоную йти по ущелині». «Не можна наближатися занадто близько до Ізенгарду», – заперечив Арагорн. «Якщо ми не можемо обійти гору, то давайте пройдемо крізь неї – через шахту Морії», – незворушно запропонував Гімлі. «Морія – небезпечне місце», – почув він голос Сарумана, який чомусь не продовжив розміркування про гномів, які її населяли, а перейшов у противний писк. "Воістину, будильник – гірше за Казад-Дум", – подумав він і прокинувся.

Іноді він відчував себе рятівником команди. Він контролював питання якості, мав бути майже занудою, але його робота була не менш важливою, ніж те, що робили інші колеги. Павло Перемета був натурою діяльною і творчою, тому завжди намагався не слідувати рекомендованим методикам сліпо, а шукати власні методики. Нещодавно він відкрив для себе мову OCL, що давала можливість чітко зафіксувати обмеження, про які можна було лише здогадуватися за діаграмами UML.

Зараз перед ним лежали папери з діаграмами системи керування взаємодією з клієнтами. Як завжди все було зроблено дуже акуратно, але не вистачало зазначення важливих фактів. Павло звик спочатку просто фіксувати те, чого не вистачало на його погляд, а вже потім формалізувати запис реченнями OCL. Цього разу йому не вистачило:

  • для контексту організації

    • зазначення того, що обов'язково має бути визначена хоча б одна контактна особа;

    • обов'язково має бути зазначена хоча б одна (поштова або кур'єрська) адреса організації;

  • для контексту контактної особи

    • не можуть бути не визначеними атрибути ім'я та прізвище;

    • обов'язково слід зазначити номер телефону та адресу електронної пошти;

    • обов'язково має бути зазначена хоча б одна (поштова або кур'єрська) адреса організації, в якій працює контактна особа;

  • для контексту завдання

    • дата створення завдання не може бути пізніше за дату створення пов’язаних з ним заходів;

    • обов'язково мають бути зазначені цільова організація та контактна особа;

  • для контексту заходу

    • дата завершення заходу не може бути пізніше за цільову дату завершення заходу;

    • кожен захід повинен мати одного відповідального виконавця;

  • для контексту відповідального виконавця

    • не можуть бути не визначеними атрибути ім'я та прізвище.

Завдання

  1. Записати сформульовані обмеження мовою OCL.

  2. Які ще обмеження доречно було б зафіксувати?

Література

1. Мацяшек Л. Анализ требований и проектирование систем. Разработка информационных систем с использованием UML. ­– М.: Издательский дом «Вильямс», 2002. – 432 с.

2. Zachman J.A. A Framework for Information Systems Architecture // IBM Systems Journal, – 1987. – Vol. 26, no. 3. – P. 276-292.

3. Фаулер М., Скотт К. UML. Основы. – СПб.: Символ-Плюс, 2002. – 192 с.

4. Коберн А. Современные методы описания требований к системам. – М.: Лори, 2002. – 266 с.

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