|
ДО ВИКОНАННЯ ЛАБОРАТОРНИХ РОБІТЗ ДИСЦИПЛІНИ «АНАЛІЗ ВИМОГ ДО ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ» для студентів спеціальностей 6.050103 “Програмна інженерія” Програми професійного спрямування “Програмне забезпечення систем” Затверджено На засіданні кафедри автоматизації Проектування енергетичних Процесів та систем Протокол N_____ від ________ КИЇВ НТУУ "КПІ" 2012
Методичні вказівки до виконання лабораторних робіт з дисципліни «АНАЛІЗ ВИМОГ ДО ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ » для напряму підготовки 6.050103 “Програмна інженерія” програми професійного спрямування “Програмне забезпечення систем” /Укл. І.В. Сегеда. - К.:НТУУ "КПІ", 2012- с.
Навчальне видання
Методичні вказівки до виконання лабораторних робіт з дисципліни «Аналіз вимог до програмного забезпечення» для студентів спеціальності6.050103 “Програмна інженерія” Укладач. Сегеда Ірина Василівна
Відповідальний редактор О.С. Лук’яненко Рецензенти: О.А. Гуржий С.І. Шаповалова
1. Лабораторна робота '' Проектування моделі предметноїобласті'' Проаналізувати функції та побудувати діаграму прецедентів в середовищі IBM Rational Rose 2003 Тривалість - чотири академічні години. Дана робота дозволяє студентам ознайомитися з новим для них середовищем моделювання PowerDesigner під час моделювання функціональних вимог до системи у вигляді діаграми прецедентів
Завдання 1. Спроектувати модель предметної області, модель якої розроблена як індивідуальне завдання і перевірена викладачем; Теорія Питання, що допоможуть визначити акторів та прецеденти.
Існує кілька ступенів формалізації прецедента: 1) стислий – анотація на один абзац, зазвичай вона описує лише основний успішний сценарій 2) вільний – неформальний стиль: опис займає кілька абзаців і охоплює кілька сценаріїв. 3) розгорнутий – найбільш докладний стиль опису, містить всі сценарії, передумови, результати,… Використовуйте наступну специфікацію опису прецедента: 4) ім’я прецедента; 5) ID прецедента; 6) стислий опис; 7) актори, що задіяні в прецеденті (виконавці); 8) передумови (PD: Specification Tab Pre-Conditions); 9) постумови – результати, що отримують по закінченні прецедента (PD: Specification Tab Post-Conditions); 10) основний потік (PD: Specification Tab Action Steps); 11) альтернативні потоки або розширення (PD: Specification Tab Extension Points). До цієї специфікації можна додати наступні параметри: зацікавлені актори, спеціальні вимоги, список технологій і типів даних, частота використання, відкриті питання. Описувати основний сценарій за наступними правилами. Описувати першу дію сценарію за шаблоном: «1. Прецедент починається, коли <актор> <дія>.» Наступні кроки: <номер> <хто-небудь> <здійснює деяку дію>. В розділі основного сценарію описуються три види дій: 1. Взаємодія між виконавцями (та системою) 2. Верифікація (зі сторони системи) 3. Зміна стану системи (наприклад запис або модифікація сутностей) Для опису простого розгалуження можна використовувати ключове слово «Якщо», для опису дій, що повторюються можна використовувати ключове слово «Повторити Для» (For) <чого?>, а також «Виконувати Поки» (While). Приклад Основний потік: 1. Прецедент починається, коли Покупець вибирає опцію «знайти продукт». 2. Система запитує у Покупця критерій пошуку. 3. Покупець вводить запрошуваний критерій. 4. Система шукає продукти, відповідні критерію Покупця. 5. Якщо система знаходить відповідні продукти, тоді 5.1. Для кожного знайденого продукту 5.1.1. Система виводить на екран мініатюрне представлення продукту. 5.1.2. Система виводить на екран короткий опис продукту. 5.1.3. Система виводить на екран ціну продукту. 6. Інакше (Else) 6.1. Система повідомляє Покупця про те, що відповідні продукти не знайдені. Альтернативні потоки можуть бути ініційовані трьома різними способами: 1. Альтернативний потік може бути ініційований замість основного потоку. Він ініціюється головним актором і повністю заміщає весь прецедент. Тобто його можна виділити в окремий прецедент. 2. Альтернативний потік може бути ініційований після певного етапу основного потоку. Тоді шаблон початку: 1. Альтернативний потік починається після кроку X основного потоку. 3. Альтернативний потік може бути ініційований у будь-який момент в ході виконання основного потоку (PD: Exceptions). Тоді шаблон початку: 1. Альтернативний потік починається у будь-який момент часу. Такі альтернативні потоки використовуються для моделювання того, що може відбутися в будь-якій точці основного потоку до завершального етапу. Щоб виявити альтернативні потоки, потрібно уважно вивчити основний потік. На кожному кроці основного потоку необхідно шукати: • можливі альтернативи основному потоку; • помилки, які можуть виникнути в основному потоці; • переривання, які можуть трапитися в конкретній точці основного потоку; • переривання, які можуть відбутися в будь-якій точці основного потоку. Після деталізації прецедентів можна розширити діаграму прецедентів додатковими зв’язками. Додаткові відношення на діаграмах прецедентів Узагальнення акторів Якщо кілька акторів мають схожу поведінку, для спрощення діаграми їх можна узагальнити. Це здійснюється шляхом створення нового абстрактного актора, котрий буде відображати ту частину поведінки акторів, що є однаковою для них. Узагальнення прецедентів Узагальнення прецедентів виносить поведінку, загальну для одного або більше прецедентів, в батьківський прецедент. Нащадки можуть: • успадковувати можливості батьківського прецеденту; • вводити нові можливості; • перевизначати (міняти) успадковані можливості. Дочірній прецедент автоматично успадковує всі можливості свого предка. Слід пам’ятати, що відношення та точки розширення прецеденту не можуть бути перевизначені. Стандарту документування узагальнення прецедентів не існує, проте часто при цьому діють за наступними правилами: Кожний номер кроку в нащадку супроводжується номером кроку відповідного батьківського прецеденту. Якщо крок нащадка перевизначає крок батька, його номер супроводжується літерою «о» (overridden). Якщо батьківський прецедент не містить потоку подій, або потік не завершено, він вважається абстрактним. Часто абстрактні прецеденти використовуються для найбільш загального опису поведінки системи, потік подій в них заміняє стислий опис. На практиці опис перевизначення та наслідування подій має ряд недоліків: необхідно використовувати додаткові теги, це ускладнює наочність моделі для замовника, при зміні батьківського прецеденту необхідно вручну змінювати нащадків. Застосування абстрактних прецедентів дозволяє цього уникнути. Відношення «include» Іноді в різних прецедентах можуть бути описані однакові дії, тобто в прецедентах повторюються частини потоку подій. Для уникнення таких повторень використовується відношення «include». Відношення «include» виносить кроки, загальні для кількох прецедентів, в окремий прецедент, який потім включається в інші. Прецедент, що включає в себе інший прецедент називається базовим, а той, що включається – включним. В базовому прецеденті необхідно точно вказати місце, де повинна бути включена поведінка включного прецедента. На відповідному кроці сценарію пишеться include (<ім’я включного прецеденту>). Відношення «extend» Надає можливість ввести нову поведінку в прецедент. Базовий прецедент надає набір точок розширення, для внесення нової поведінки. Розширюючий прецедент надає набір сегментів вставки, котрі можна ввести в місця, позначені точками розширення. Точки розширення в основному потоці не нумерують, оскільки вони не мають впливати на основний потік. Основний потік є завершеним потоком і без розширень, він виступає як каркас для них. На жаль, часто розробники розуміють такий зв’язок по своєму, тому краще уникати частого використання відношення «extend».
Порядок виконання роботи
Контрольні питання 1. Що таке UML та UP? 2. Опишіть структуру UML. 3. На якиж розрізах (представлениях) системи базується UML? 4. Які будівельні блоки містить UML? 5. На яких аксіомах базується UP? 6. Опишіть основні робочі потоки UP. 7. Що таке ітерація UP, з чого вона складається? 8. Опишіть структуру UP. 9. Що виконується на фазі Початок, Уточнення, Побудова, Впровадження? 10. Які моделі включає в себе спеціфікація вимог? 11. Основні етапи робочого потоку виявлення вимог. 12. Що таке вимоги? Які типи вимог Ви знаєте? 13. Як організовують вимоги? Які набори критеріїв Ви знаєте? 14. Як виконується пошук вимог? 15. За яким алгоритмом зазвичай моделюють прецеденти? Типи акторів. 16. Визначіть поняття актор, прецедент, контекст. 17. Яка мета глосарію проекту? З чого він складається 18. Опишіть, що являє собою основний потік прецедента, як відображається нелінійність потоку? 19. Співставлення моделі вимог та прецедентів. 20. Що відображає відношення узагальнення між акторами? Коли його доцільно використовувати? 21. Який зміст несе відношення узагальнення між прецедентами? Коли його доцільно використовувати? 22. В чому полягає відношення «include», «exclude»? Список рекомендованої літератури Арлоу, Д. UML 2 и Унифицированный процесс. Практический объектно-ориентированный анализ и проектирование: 2-е изд. / Д. Арлоу,И. Нейштадт.‑ СПб: Символ Плюс, 2007. – 624 с. Буч, Г. Язык UML. Руководство пользователя.: Пер. с англ. / Г. Буч, Дж. Рамбо, А. Джекобсон. ‑ М.: ДМК, 2000.‑ 496 с. Боггс, У. UML и Rational Rose / У. Боггс, М. Боггс.‑ М: Лори, 2008.‑ 600 с. <на зміст>
Діаграма прецедентів
Что делать, если нет взаимности? А теперь спустимся с небес на землю. Приземлились? Продолжаем разговор... Что вызывает тренды на фондовых и товарных рынках Объяснение теории грузового поезда Первые 17 лет моих рыночных исследований сводились к попыткам вычислить, когда этот... Живите по правилу: МАЛО ЛИ ЧТО НА СВЕТЕ СУЩЕСТВУЕТ? Я неслучайно подчеркиваю, что место в голове ограничено, а информации вокруг много, и что ваше право... ЧТО ТАКОЕ УВЕРЕННОЕ ПОВЕДЕНИЕ В МЕЖЛИЧНОСТНЫХ ОТНОШЕНИЯХ? Исторически существует три основных модели различий, существующих между... Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:
|