- •Поняття пз
- •Поняття трпз
- •К ласифікація методів проектування пп
- •Класичний життєвий цикл
- •Макетування
- •Стратегії конструювання пз
- •Інкрементна модель конструювання пз
- •Кодування.
- •Тестування.
- •Модель швидкої розробки додатків rad
- •Спіральна модель конструювання пз
- •Компонентно-орієнтована модель конструювання пз
- •Важковагові та полегшені процеси
- •Xp процес
- •4 Базові дії:
- •Кодування.
- •Тестування.
- •Робота з замовником.
- •Проектування.
- •Моделі якості процесів конструювання пз
- •Процес керування проектом
- •Планування проектних задач
- •Розмірно-орієнтовані метрики (ром)
- •Функціонально-орієнтовані метрики (фом)
- •Коефіцієнти Fi
- •Виконання оцінки проекту на основі loc та фп метрик
- •Конструктивна модель вартості
- •Модель композиції додатку
- •Модель раннього етапу проектування
- •Модель етапу послідовної архітектури
- •Класичні методи аналізу
- •1. Послідовна
- •3. Ітерація
- •Надійні динамічні системи
- •Основи проектування програмних систем
- •Супровід.
- •Проектування
- •Кодування
- •Тестування
- •Декомпозиція підсистем на модулі
- •Модульність
- •Інформаційна закритість
- •Зв'язність модуля
- •Визначення зв'язності модуля
- •Зчеплення модулів
- •Класичні методи проектування
- •1. Метод структурного проектування
- •2. Проектування для потоку даних типу «запит»
- •Основні поняття та принципи тестування
- •Структурне тестування
- •1. Спосіб тестування базового шляху.
- •2. Спосіб тестування умов
- •3. Тестування циклів
- •Функціональне тестування
- •1. Спосіб розбиття по еквівалентності
- •2. Спосіб аналізу граничних значень
- •3. Спосіб діаграм причин-наслідків
- •3Ауважння:
- •Організація процесу тестування пз
- •1. Методика тестування програмних систем
- •2. Тестування елементів
- •3. Тестування інтеграції
- •Спадне тестування інтеграції
- •Зростаюче тecтування інтеграції
- •Порiвияиня спадного I зростаючого тестування інтеграції
- •4. Тестування правильності
- •5. Системне тестування
- •Основні принципи об’єктно-орієнтованої методології розробки програмної системи (оом пс)
- •Об’єкти та класи
- •ОоАналіз
- •1999Р. Березень-липень uml 1.3
- •Діаграма варіантів використання (use case diagram)
- •Діаграма класів (Class diagram)
- •Послідовна
- •Паралельна
- •2. Асоціації:
- •Діаграма станів (Statechart diagram)
- •Діаграма діяльності (Activity diagram)
- •Діаграма послідовності (Sequence diagram)
- •Діаграма кооперації (Collaboration diagram)
- •Діаграма компонентів (Component diagram)
- •Діаграма розгортування (Deployment diagram)
- •Особливості реалізації мови uml у середовищі Rational Rose
- •Головне меню
- •Вікно діаграми
- •Стандартна пі
- •Уніфікований процес компанії Rational Rose
- •3 Неправильних підходи до розробки пз
- •Водоспадний процес
- •Спрощений процес системного проектування
- •Автоматичний підхід та швидке макетування
Основні принципи об’єктно-орієнтованої методології розробки програмної системи (оом пс)
Складовими ООМ являються:
ООПрограмування – представлення програми у вигляді сукупності об’єктів, кожний з яких являється реалізацією певного класу, а класи утворюють ієрархію на принципах спадковості.
ООПроектування – процес об’єктної декомпозиції, представлення логічної, фізичної, статичної та динамічної моделей ПС.
ООАналіз – створення моделей близьких до реальності.
Переваги ООМ:
Можливість долати обмеження зв’язані зі складністю системи.
Використання на стадії аналізу моделей близьких до реальності.
Застосування при аналізі та проектуванні інформаційних систем, систем реального часу та апаратно-програмних комплексів.
Забезпечення можливостей повторного використання розробленого ПЗ.
Підтримка ітераційного процесу розробки.
Обробка різноманітної інформації.
Повне використання описуваних можливостей ООМПрограмування
Базу ООМ складає об’єктна модель, яка має 4 головні елементи та 3 додаткових.
Головні елементи моделі:
Абстрагування - виділення характеристик об’єкта, які відрізняють його від інших видів об’єктів.
Обмеження доступу або інкапсуляція – це розподіл елементів об’єкта, які визначають його структуру та поведінку.
Модульність – це властивість системи, яка може піддаватися декомпозиції на ряд внутрішньо зв’язаних і слабо залежних один від одного модулів.
Ієрархія – це впорядкована система абстракцій. Основними видами ієрархічних структур являється структура з класів (ієрархія is’a та структура з об’єктів part of).
Спадковість – це така ієрархія абстракцій в якій підкласи успадковують структуру одного або декілька суперкласів.
Додаткові елементи моделі:
Типізація. Тип – це визначення властивостей побудови або поведінки характерний деякій сукупності об’єктів. Поліморфізм – можливість за допомогою одного імені позначати операції з різних класів, які відносяться до одного суперкласу.
Паралелізм – властивість, яка відрізняє активні об’єкти (мають інформаційний потік) від пасивних.
Збережливість або стійкість - це властивість об’єкта існувати у часі незалежно від процесів, які його створили.
Об’єкти та класи
Об’єкт – це предмет або сутність реальна чи абстрактна, яка має чітко визначене функціональне призначення в певній предметній області.
Об’єкт характеризується станом, поведінкою та індивідуальністю.
Стан об’єкта – це перелік всіх його властивостей та їх поточних значень.
Поведінка об’єкта - це зміна станів у процесі взаємодії з іншими об’єктами шляхом передачі повідомлень.
Операція – це певний вплив одного об’єкта на інший.
Виконуючи операції об’єкт виступає як:
Модифікатор – змінює стан іншого об’єкта.
Селектор – визначає стан іншого об’єкта без його зміни
Ітератор – має доступ до змісту об’єкта по частинам у певній послідовності.
Конструктор – створення та/або ініціалізація об’єкту.
Деструктор – видалення об’єкту та/або звільнення пам’яті яку він займає.
Індивідуальність – це властивість, яка відрізняє один об’єкт від іншого.
Мета системи реалізується в процесі взаємодії об’єктів між собою.
Відношення між об’єктами:
Використання-зв'язок – можливість обміну повідомленнями між об’єктами.
Ролі об’єкту:
а) Актор – об’єкт який впливає на інші;
б) Сервер – об’єкт на який впливають інші;
в) Агент – об’єкт який може бути як актором так і сервером.
2. Включення-агрегація – один об’єкт являється елементом стану іншого об’єкта.
Клас – це множина об’єкту, які мають загальну структуру та поведінку. Існує зовнішній (інтерфейс) та внутрішній (реалізація) описи класу.
Відношення між класами:
Узагальнення – спеціалізація – структура з класів.
Агрегування або відношення ціле-частина - структура з об’єктів.
Асоціативність відображає зв'язок між класами, які не зв’язані з іншими типами відношень.
ООМП – реалізують наступні механізми відношень класів:
Асоціація.
Спадковість або узагальнення.
Агрегація.
Залежність.
Інстаціонування – використовує механізм конкретизації узагальнення за рахунок використання шаблонів.
Шаблон або параметризований клас потрібен для побудови інших класів шляхом заміни у базовому класі параметрів на значення.
Метаклас – це клас класів, дозволяє трактувати класи як об’єкти.
Правила для визначення типу відношень:
Якщо абстракція являється підвидом іншої або сумою компонент то використовується відношення спадковості.
Якщо деяка абстракція не більша ніж сума компонент, то використовується відношення агрегації.
Критерії оцінки якості класів та об’єктів:
Взаємозв’язність – глибина зв’язку між модулями.
Зв’язність – взаємодія між елементами модуля.
Достатність – наявність у класі або модулі всього необхідного для реалізації поведінки системи.
Повнота – наявність у інтерфейс ній частині класу всіх необхідних характеристик абстракції.
Простота або примітивність - всі операції повинні бути простими.