2012_Посібник_з_дисципліни_ТКП. Кафедра автоматизованих систем обробки інформації І управління посібник з дисципліни
Скачать 3.1 Mb.
|
1.3 Моделі життєвого циклу Структура теми : – Різновиди моделей життєвого циклу. – Рекомендації вибору моделі життєвого циклу на основі характеристик вимог. Різновиди моделей життєвого циклу Каскадна модель – послідовний перехід на наступний етап після завершення попереднього Рисунок 1.5 – Каскадна модель ЖЦ Ітераційна модель – передбачає ітераційні повернення для перегляду раніше сформованих вимог, проектних рішень та реалізацій. Рисунок 1.6 - Ітераційна модель ЖЦ 22 Спіральна модель – передбачає створення та розширення програмних прототипів, повторюючи шлях від деталізації вимог до деталізації програмного коду. Рисунок 1.7 - Спіральна модель ЖЦ V- подібна модель допомагає команді планувати із забезпеченням подальшої можливості тестування системи. У цій моделі особливе значення надається діям, спрямованим на верифікацію та атестацію продукту. Рисунок 1.8 - V-подібна модель Інші моделі життєвого циклу: Еволюційна модель прототипування. Rapid Application Development. Інкрементна модель 23 Рекомендації вибору моделі життєвого циклу на основі характеристик вимог. Таблиця 1.1 - Рекомендації вибору моделі життєвого циклу Вимоги Каскадна V- подібна Прототи пування Спіраль на RA D Інкреме нтна Чи є вимоги легко визначених та /або добре відомими? Так Так Ні Ні Так Ні Чи можуть вимоги заздалегідь визначатися в циклі? Так Так Ні Ні Так Так Чи часто будуть змінюватися вимоги в циклі? Ні Ні Так Так Ні Ні Чи потрібно демонструвати вимоги з метою визначення? Ні Ні Так Так Так Ні Чи потрібні для демонстрації можливостей перевірка концепції? Ні Ні Так Так Так Ні Чи будуть вимоги відображати складність системи? Ні Ні Так Так Ні Так Чи володіє вимога функціональними властивостями на ранньому етапі? Ні Ні Так Так Так Так Питання для самоперевірки 1. Для яких системи краще використовувати каскадну модель життєвого циклу ЖЦ ? Наведіть приклад. 2. Для яких системи краще використовувати ітераційну модель життєвого циклу ЖЦ ? Наведіть приклад. 3. Для яких системи краще використовувати спіральну модель життєвого циклу ЖЦ ? Наведіть приклад. 4. Назвіть переваги та недоліки кожної із моделей ЖЦ. 5. Назвіть відмінності між ітераційною та спіральною моделлю ЖЦ. 24 Література: [2, с.33-41]; [5, c. 16-25]; Завдання на СРС: [9, c. 17-26]; [6, глава 1]; 25 1.4 Основні підходи проектування Структура теми : – Методології проектування. – Основи методології структурного аналізу та проектування (SADT). – Основи об’єктно-орієнтованого проектування. – Підходи проектування: Методології структурного проектування. Об’єктно-орієнтований підхід. В якості основної мови моделювання використовується UML. Методологія SADT. Методологія, розроблена спеціально для того, щоб полегшити опис і розуміння штучних систем, що потрапляють у розряд середньої складності. SADT була створена і випробувана на практиці в період з 1969 по 1973 р. Опис системи за допомогою SADT називається SADT-моделлю. Мета моделювання (Purpose) Модель не може бути побудована без чітко сформульованої мети. Мета повинна відповідати на такі запитання: 1. Чому цей процес повинен бути змодельований ? 2. Що повинна показувати модель? 3. Що може отримати читач? Суб'єкт моделі - сама система. Обмежуючи суб'єкт, SADT-модель допомагає сконцентрувати увагу саме на описуваної системі і дозволяє уникнути включення сторонніх суб'єктів. SADT вимагає, щоб модель розглядалася весь час з однієї і тієї ж позиції (точки зору). Модель SADT об'єднує і організує діаграми в ієрархічні деревоподібні структури, при цьому чим вище рівень діаграми, тим вона менш деталізована. Функціональна модель представляє з необхідною ступенем деталізації систему функцій, які в свою чергу відображають свої взаємини через об'єкти системи. Основи об’єктно-орієнтованого проектування Об'єкти і класи: Клас - дескриптор множини об'єктів, що володіють однаковим набором атрибутів і операцій. Він служить як шаблон (template) для створення об'єктів. Кожен об'єкт, створений за шаблоном, містить значення атрибута, що відповідають типу атрибута, визначеним в класі, і може викликати операції, визначені в класі class System EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version Ім'я класу - Атрибути + Операції() Рисунок 1.9 – Графічне представлення класу Атрибути Значення, що характеризує об'єкт в його класі. Атрибут представляє собою пару тип-значення. 26 class System EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version Предмет - НомерКурсу :=17 - НазваКурсу=Проектування ІС - Викладач :Identity=F0145 + Встановити назву предмета() :string class System EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version Замовлення - НомерЗамовлення :int - ДатаЗамовлення :Date - СумаЗамовлення :Currency Рисунок 1.10 - Приклад класу Види відносин між класами: Асоціація встановлює зв'язок між об'єктами даних класів Рисунок 1.11 - Приклад асоціації між класами Порядок асоціації визначає кількість класів, сполучених за допомогою асоціації. Рисунок 1.12 - Порядок асоціацій Кратність асоціації визначає кількість об'єктів, що можуть займати позицію, вказану ролевим ім'ям. Рисунок 1.13 - Кратність асоціацій Агрегація і композиція Агрегація - це відношення типу «частина» - «ціле» між класом, який представляє збори компонент (клас-супермножина (superset class)), і класами, що представляють компоненти (класи-підмножини (subset class)). 27 class System EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version Книга Розділ Частина n +є частиною +складається з n Рисунок 1.14 - Композиція класів class System EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version Ящик Бутилка пива Рисунок 1.15 - Агрегація класів Узагальнення Узагальненням (generalization) є видове відношення між більш загальним класом (суперклас або батьківський клас) і більш специфічним видом класу (підклас або дочірній клас). Підклас є видом суперкласу. Рисунок 1.16 - Відношення узагальнення 28 Питання для самоперевірки 1. Які основні відмінності між методологією структурного та об’єктно- орієнтованого проектування. 2. Яка головна мета структурного проектування ? 3. Яка головна мета об’єктно-орієнтованого проектування ? 4. Які основні переваги та недоліки структурного підходу ? 5. Які основні переваги та недоліки об’єктно-орієнтованого підходу? Література: [2, с.33-41]; [5, c. 16-25]; Завдання на СРС: [9, c. 17-26]; [6, глава 1]; 29 2 Використання UML у процесі об’єктно-орієнтованого проектування 2.1 Опис прецедентів Структура теми : – Прецеденти типу «Чорний ящик» та «Білий ящик». – Ступінь формалізації прецедентів. – Передумови та постумови. – Успішний сценарій та альтернативні потоки. – Місце прецедентів при проектуванні Рисунок 2.1 - Схема бізнес моделювання 30 Прецеденти типу «чорний ящик» Системі ставляться обов'язки (responsibilities), програмні елементи мають обов'язки і взаємодіють з іншими елементами через обов'язки. У процесі аналізу вимог потрібно уникати ухвалення рішень «як», а описувати лише зовнішню поведінку системи як чорного ящика (відповісти на питання «що»). Software Engineering Body of Knowledge (SWEBOK) Таблиця 2.1 – Опис типів прецедентів ТИП Рівень Назва виду вимог Джерела Назва документа Порядок кількості вимог Вид тесту Відповідальний за створення/контроль реалізації Чорний ящик Підприємство/ ринок Бізнес потреби Business Needs Менеджер компанії, Ринок Обгрунтування потреби (Business Case) 5 Досвідно- промислова експлуатація Менеджер проекту Замовник Бізнес- вимоги Властивості продукту Замовник, Експерт предметної області, Маркетолог Концепція (Vision) 25 Пакети приймальних тестів «Показ» Бізнес-аналітик, Менеджер продукту Користувач Вимоги користувача Користувач Вимоги до ПО (Software Requirements Specification):Прецеденти, неф вимоги 100 Приймальні тести (Acceptance Test) Системний аналітик Білий ящик Система Вимоги до системи Стандрати, Архітектурні шаблони Документ архітектури(Software Architecture Document): рівні, пакети, зовнішні інтерфейси. 150 Системні тести (System Test) Архітектор Підсистема Вимоги до підсистеми Шаблони проектування Модель проектування (Design model):компоненти, класи, інтерфейси 1000 Інтерграційні тести ()Integration Tests) Проектувальник Модуль Вимоги до модуля Згода про кодування, Алгоритми обчислення Специфікація модуля: методи, сигнатури 2000 Модульний тест(Unit Test) Програміст |