- •Поняття технології конструювання програмного забезпечення.
- •Класичний життєвий цикл.
- •Макетування.
- •Характеристика стратегій конструювання пз.
- •Інкрементна модель.
- •Спіральна модель.
- •Важковагові та полегшені процеси. Xp – процес.
- •Швидка розробка додатків, rad.
- •Компонентно-орієнтована модель. Моделі якості процесів конструювання.
- •Сторони зацікавлені в продукції.
- •Користувачі. Покупці. Інвестори.
- •Вимоги до пз кожної з сторін.
- •Атрибути якості пз: практичність, відмовостійкість, надійність, ремонтопридатність.
- •Визначення архітектури пз.
- •Опис архітектури пз.
- •Універсальна мова моделювання (uml).
- •Інші базові засоби для створення архітектури.
- •Основні компоненти мови. Призначення мови. Термінологія uml.
- •Процес керування проектом. Планування.
- •Планування проектних задач.
- •Розмірно-орієнтовані метрики.
- •Функціонально-орієнтовані метрики.
- •Виконання оцінки проекту на основі loc- та fp-метрик.
- •Дослідження під моделей моделі cocomo, cocomo II.
- •Конструктивна модель вартості.
- •Модель композиції додатку.
- •Модель раннього етапу проектування.
- •Модель етапу пост архітектури.
- •Структурний аналіз.
- •Основи проектування програмних систем.
- •Класичні методи проектування.
- •Основні поняття та принципи тестування пз.
- •Особливості тестування «білого ящику».
- •Способи тестування базового шляху.
- •Способи тестування умов.
- •Спосіб тестування потоків даних.
- •Тестування циклів.
- •Особливості тестування «чорного ящику».
- •Спосіб розбиття по еквівалентності.
- •Спосіб аналізу граничних значень.
- •Спосіб діаграм причин-наслідків.
- •Дослідження способів структурного та функціонального тестування на прикладах.
- •Методика тестування програмних систем.
- •Тестування правильності.
- •Системне тестування .
- •Мистецтво налагоджування.
- •Основні принципи об’єктна-орієнтованої методології розробки програмної системи (оом пс).
- •Оо Аналіз.
- •Об’єкти та класи.
- •Діаграми в uml.
- •Механізми розширення в uml.
- •Діаграма варіантів використання.
- •Дослідження діаграми варіантів використання.
- •Діаграма класів.
- •2. Асоціації:
- •Дослідження діаграми класів.
- •Діаграма станів.
- •Дослідження діаграми станів.
- •Діаграма діяльності.
- •Дослідження діаграми діяльності.
- •Діаграма послідовності.
- •Дослідження діаграми послідовності.
- •Діаграма кооперації.
- •Дослідження діаграми кооперації.
- •Діаграма компонентів.
- •Дослідження діаграми компонентів.
- •Діаграма розгортування.
- •Дослідження діаграми розгортування.
- •Загальні відомості case-засобів.
- •Case-засоби. Класифікація case-засобів.
- •Порівняння життєвого циклу програмного забезпечення при традиційній розробці і розробці з використанням case-засобів.
- •Концептуальні основи case-технології.
- •Технологія впровадження –засобів.
- •Оцінка і вибір –засобів.
- •Засоби функціонального моделювання.
- •Характеристики case–засобів Silverrun.
- •Характеристики case–засобів jam.
- •Загальна характеристика case-системи Rational Rose.
- •Розробка діаграм у середовищі Rational Rose.
- •Початок роботи над проектом у середовищі Rational Rose.
Макетування.
Макетування - це процес створення моделі необхідного програмного продукту. Припустимо, у замовника є якісь вимоги до роботи ПО. За його побажанням створюється макет, який поступово доводиться до ступеня готовності внесенням поправок і додаткових побажань замовника.
Модель може приймати одну з трьох форм:
1. Паперовий макет або макет на основі електронного зображення (по суті, це макет інтерфейсу програми з описом виконання програми)
2. Працюючий макет, який виконує певну частину необхідних функцій
3. Існуюча програма, характеристики якої можна поліпшити. Т. е. Програма вже практично створена, і подальше макетування здійснюється внесенням змін в існуючу програму.
Загальна схема макетування:
початок проектування
Збір і уточнення вимог
швидке макетування
побудова макета
Оцінка макета замовником
уточнення макета
Продовжувати проектування? Якщо так - повернення до етапу "швидке проектування". Якщо немає - йдемо далі.
конструювання продукту
Кінець.
Одним з достоїнств макетування є уточнення всіх вимог до програми і рішення таким чином головного недоліку класичного життєвого циклу розробки ПЗ. Однак тут важлива хороша робота з замовником, щоб він не прийняв сирок макет за готову програму.
Характеристика стратегій конструювання пз.
Існують 3 стратегії конструювання ПО:
однократний прохід (водоспадна стратегія) - лінійна послідовність етапів конструювання;
инкрементная стратегія. На початку процесу визначаються все користувальні й системніші вимоги, решта конструювання виконується як послідовності версій. Перша версія реалізує частина запланованих можливостей, наступна версія реалізує додаткових можливостей тощо. буд., поки що не отримана повна система;
еволюційна стратегія. Система будується як послідовності версій, але на початку процесу визначено в усіх вимоги. Вимоги уточнюються внаслідок розробки версій.
Характеристики стратегій конструювання ПО відповідно до вимогами стандартуIEEE/EIA 12207.2 наведені у табл. 1.1.
Таблиця 1.1 Характеристики стратегій конструювання
Стратегія конструювання |
На початку процесу визначено всі вимоги? |
Безліч циклів конструювання? |
Проміжне ПО поширюється? |
>Однократний прохід >Инкрементная (заплановане поліпшення продукту) >Эволюционная |
Так Так
Ні |
Ні Так
Так |
Ні Можливо
Так |
Інкрементна модель.
Инкрементная модель є класичний прикладинкрементной стратегії конструювання. Вона об'єднує елементи послідовноїводопадной моделі зитерационной філософією макетування.
Кожна лінійна послідовність тут виробляє поставлений приріст ПО. Наприклад, ПО в обробці слів у 1-муинкременте реалізує функції базової обробки файлів, функції редагування і документування; у 2-муинкременте - складніші можливості редагування і документування; 3-муинкременте - перевірку орфографії і граматики; у четвертомуинкременте - можливості компонування сторінки.
Перший приріст призводить до отриманню базового продукту, що реалізовуватиме базові вимоги (щоправда, багато допоміжні вимоги залишаються нереалізованими).
План наступного инкремента передбачає модифікацію базового продукту, що забезпечує додаткові характеристики і функціональність.
За природоюинкрементний процеситеративен, але, на відміну макетування,инкрементная модель забезпечує кожномуинкременте працюючий продукт.
Забігаючи наперед, відзначимо, сучасна реалізаціяинкрементного підходу - екстремальна програмуванняХР (Кент Бек, 1999) [10]. Воно орієнтоване на дуже малі збільшення функціональності.
