- •3 Інженерія вимог
- •3.1 Інженерія вимог як процес
- •3.2 Концептуальне моделювання проблеми
- •3.2.1 Мета
- •3.2.2 Онтологія домену
- •3.2.3 Моделі динамічних явищ домену
- •3.2.4 Модель алгоритмів
- •3.3 Об’єктно-орієнтована інженерія вимог
- •3.4.1 Інформаційна модель або онтологія домену. Пошук об’єктів
- •3.4 Метод інженерії вимог с. Шлеєр та с. Меллора
- •3.4.2 Модель станів
- •3.4.3 Модель процесів
- •3.4.4 Продукти інженерії вимог за методом с. Шлеєр та с. Меллора
- •3.5 Метод інженерії вимог і. Джекобсона
- •3.5.1 Концепція моделі сценаріїв для складання вимог
- •3.5.2 Модель аналізу вимог. Визначення об’єктів
- •3.5.3 Продукти інженерії вимог за методом і. Джекобсона
- •5.2 Діаграми класів
- •5.3 Діаграми сценаріїв
- •5.4 Діаграми моделювання поведінки системи
- •5.5 Діаграми послідовності
- •5.6 Діаграми співробітництва
- •5.7 Діаграми діяльності
- •5.8 Діаграми станів
- •5.9 Діаграми реалізації
- •5.9.1 Діаграми компонент
- •5.9.2 Діаграми розміщення
- •5.10 Пакети в uml
- •Література
- •Глосарій
3.5.3 Продукти інженерії вимог за методом і. Джекобсона
Продуктами стадії аналізу вимог за даним методом є:
- онтологія домену;
- модель сценаріїв;
- неформальний опис сценаріїв та акторів;
- опис інтерфейсів сценаріїв та акторів;
- діаграми взаємодії об’єктів сценаріїв.
Подальша деталізація проблеми за цим методом відбувається на наступних етапах життєвого циклу (див. розділ 4), при цьому зберігається трасування вимог, тобто відстеження відповідності об’єктів впродовж усіх етапів розробки.
Контрольні запитання і завдання
1. Як називається фаза життєвого циклу розробки програмного забезпечення, на якій формується контракт між замовником і виконавцем розробки?
2. Назвіть дійових осіб процесу формування вимог.
3. Назвіть джерела відомостей про вимоги.
4. Якою є послідовність кроків з урахування діючої системи в новій розробці?
5. Назвіть категорії класифікації вимог.
6. Складові мети і складові концептуального моделювання проблеми.
7. Що означає онтологія в концептуальному моделюванні проблеми?
8. Поясніть суть відношень, за допомогою яких будуються поняття: узагальнення /конкретизація, агрегація/, декомпозиція, абстракція, асоціація.
9. Які елементи моделювання динамічних властивостей доменів Ви можете назвати?
10. Назвіть елементи об’єктно-орієнтованого моделювання програмних систем.
11. У чому полягає принцип приховування інформації? Що дає цей принцип:
а) замовникові; б) виконавцеві?
12. Визначте операцію успадкування класів.
13. Назвіть продукти аналізу домену за методом Шлеєр і Меллора.
14. Якою є онтологія домену за методом Шлеєр і Меллора?
15. У чому суть і якою є нотація моделі станів за методом Шлеєр і Меллора?
16. У чому суть і якою є нотація моделі процесів за методом Шлеєр і Меллора?
17. У чому полягає концепція моделі сценаріїв для складання вимог? Поняття "актор".
18. Наведіть нотацію діаграми сценаріїв за методом Джекобсона.
19. Назвіть базові відношення сценаріїв методу Джекобсона і мету використання їх.
20. Які принципи і мета класифікації об’єктів за методом Джекобсона?
21. Якою є нотація взаємодії об’єктів у методі Джекобсона?
МЕТОД UML ЯК ПОТЕНЦІЙНИЙ СТАНДАРТ ЗАСОБІВ
МОДЕЛЮВАННЯ В ПРОГРАМНІЙ ІНЖЕНЕРІЇ
5.1 Концепція методу
Метод UML [1] (Unified Modeling Language — уніфікована мова моделювання) є рідкісним прикладом плідної кооперації групи (G. Booch, I. Jacobson, J. Rumbaugh) провідних спеціалістів з програмної інженерії і авторів відповідних методів інженерії вимог, що набули значного визнання і широко застосовуються. Дослідивши всі переваги власних пропозицій і широкий спектр конкуруючих, вони інтегрували свої зусилля, створивши новий метод моделювання, якому дали цитовану вище назву UML. UML став базовим для багатьох провідних розробників програмного забезпечення, і тепер експерти прогнозують, що він набуде статусу міжнародного стандарту як метод моделювання продуктів усіх стадій життєвого циклу розробки програмних систем.
Автори визначають свій метод як мову для специфікації, візуалізації, конструювання й документування артефактів (artifacts) програмних систем, а також для моделювання бізнесу.
В основу методу покладено парадигму об’єктного підходу, за якою концептуальне моделювання проблеми (дивись п. 3.2) відбувається в термінах взаємодії об’єктів:
- онтологія домену визначає склад класів об’єктів домену, їхніх атрибутів та взаємовідношень, а також послуг (операцій), які можуть виконувати об’єкти класів;
- модель поведінки визначає можливі стани об’єктів, інциденти, що ініціюють переходи з одного стану в інший, повідомлення, які об’єкти надсилають одне одному;
- модель процесів визначає дії, які виконують об’єкти.
Як і в попередньо розглянутих методах, автори UML декларують, що, враховуючи складність проблеми концептуального моделювання, її не можна розв’язати єдиною нотацією. Концептуальна модель вимог пропонується як сукупність нотацій, переважно діаграм, котрі є візуалізацією подання основних елементів системи в моделі. Кожна з діаграм демонструє певну підмножину інформації, яка деталізує елементи, що являють собою певний аспект опису моделі та його семантику.
В комплексі сукупність включених до методу діаграм відображає найважливіші випадки функціонування системи. Перелічимо їх:
а) діаграми класів;
б) діаграми сценаріїв;
в) діаграми поведінки об’єктів, а саме:
1) діаграми послідовності;
2) діаграми співробітництва;
3) діаграми активності;
4) діаграми станів;
г) діаграми реалізації, а саме:
1) діаграми компонент;
2) діаграми розміщення.
Автори не закріплюють діаграми жорстко за окремими етапами життєвого циклу розробки, більшість діаграм може відображати кількома ступенями подробиць об’єкти кількох етапів: об’єкти аналізу вимог, проекту, реалізації тощо. Для цього передбачено можливість вказувати або замовчувати (залежно від стадії розроблення) окремі подробиці визначення.
Кожний вид діаграм відображає різні перспективи бачення й розуміння моделі. У моделі може бути по кілька діаграм кожного з описаних видів.
Оскільки одним з головних завдань методу є досягнення взаєморозуміння між учасниками розробки, спеціальну увагу приділено коментарям. Допускається два види коментарів. Перший з них - це традиційний неформальний текст, який може бути розміщено будь-де на діаграмі в рамці з відігнутим кутом, як на рис. 5.1.
Рисунок 5.1 - Коментар UML
Другий тип коментарю названо стереотипом. Стереотип (stereotype) - це засіб метакласифікації елементу в UML. Він є специфічним стандартизованим коментарем щодо категорії елементу, поданого на будь-якій діаграмі, своєрідним ярликом, який характеризує зміст елементу діаграми або його призначення.
Стереотипи зображаються на діаграмах своєю назвою, яка наводиться в подвійних кутових дужках, наприклад, «суперклас», «площа», «ініціація».
Певні стереотипи є фіксованими в UML і мають стандартні назви, як-от: «актор», «система», «підсистема», «подія», «виняткова ситуація», «інтерфейс», «метаклас», «послуга» (утиліта) та ін.
Окрім зафіксованих в UML, дозволяється визначати стереотипи за власною потребою розробника. Такі стереотипи позначають елементи моделей, типові для певного домену застосування, як, наприклад, «вимірювач», «контролер», «рахунок», «запас» тощо. Вони можуть вважатися інструментом розширення й адаптації UML до конкретних доменів застосувань, призначених суттєво полегшити розуміння відповідних моделей.
Зупинимося на змісті окремих діаграм детальніше.
