
- •Короткий конспект для підготовки до іспиту з предмета"Конструювання програмних засобів"
- •1. Цілі і завдання конструювання пз. Особливості сучасних великих проектів іс
- •2. Основні визначення. Програмні засоби. Програмне забезпечення (пз). Програмний продукт. Проектування пз. Програмування.
- •3. Класифікація типів програмного забезпечення.
- •4. Життєвий цикл (жц) пз. Процеси жц пз.
- •5. Моделі жц пз. Каскадна модель. Зміст етапів створення пз.
- •6. Моделі жц пз. Спіральна модель. Зміст етапів створення пз.
- •7. Моделі жц пз. Інкрементальная модель. Зміст етапів створення пз.
- •8. Розвиток інкрементального підходу. Xp-процессы.
- •9. Міжнародні стандарти проектування, розробки, оформлення документації, призначеного для користувача інтерфейсу пз.
- •10. Вимірювання, заходи і метрики. Розмірно-орієнтовані метрики. Функціонально-орієнтовані метрики.
- •11. Виконання оцінки проекту на основі loc- і fp-метрик
- •12. Проект. Склад і структура колективу розробників, їх функції.
- •13. Структурний підхід до проектування іс. Суть структурного підходу
- •14. Структурний підхід до проектування іс. Case - засоби розробки пз.
- •15. Методологія функціонального моделювання sadt. Склад функціональної моделі. Ієрархія діаграм. Типи зв'язків між функціями. Приклади функціональних моделей в стандарті Idef0.
- •16. Моделювання потоків даних (процесів). Зовнішня суть. Системи і підсистеми. Процеси. Накопичувачі даних. Потоки даних. Побудова ієрархії діаграм потоків даних.
- •17. Моделювання даних. Case-метод Баркера. Методологія Idef1.
- •18. Проектування іс на основі об'єктно-орієнтованого підходу. Зіставлення і взаємозв'язок структурного і об'єктно-орієнтованого підходів.
- •20. Раціональний Уніфікований Процес. Динамічні аспекти процесів: структура жц, стадії, ітерації і контрольні крапки.
- •21. Раціональний Уніфікований Процес. Статичний зміст процесу: види діяльності (технологічні операції), робочі продукти, виконавці і дисципліни (технологічні процеси).
- •22. Якість програмного продукту. Критерії якості пз.
- •1. Зовнішні
- •2. Внутрішні
- •23. Сертифікація фірм розробників по моделі якості смм.
- •24. Документація, що створюється в процесі розробки програмних засобів. Документи управління розробкою пз. Документи, що входять до складу пз.
- •25. Призначена для користувача документація.
- •26. Документація по супроводу програмних засобів.
- •27. Людський чинник в управлінні проектами. Завдання n-личностей. Закон Брукса. Підходи до управління групами і керівництва ними.
21. Раціональний Уніфікований Процес. Статичний зміст процесу: види діяльності (технологічні операції), робочі продукти, виконавці і дисципліни (технологічні процеси).
У основі RUP лежать наступні основні принципи:
- Рання ідентифікація і безперервне (до закінчення проекту) усунення основних рисок.
- Концентрація на виконанні вимог замовників до виконуваної програми (аналіз і побудова моделі прецедентів).
- Очікування змін у вимогах, проектних рішеннях і реалізації в процесі розробки.
- Компонентна архітектура, що реалізовується і тестована на ранніх стадіях проекту.
- Постійне забезпечення якості на всіх етапах розробки проекту (продукту).
- Робота над проектом в згуртованій команді, ключова роль в якій належить архітекторам.
Основні принципи:
- Ітераційний і інкрементальний підхід
- Планування і управління проектом на основі функціональних вимог до системи use case -варіанти використання.
- Побудова системи на базі архітектури ПО.
Існує чотири елементи RUP з позиції статистичного аспекту:
1. Ролі
2. Види діяльності
3. Робочі продукти
4. Дисципліни
Ролі - поведінка і відповідальність особи або групи. Одна людина може грати декілька ролей.
Види діяльності - activity - це одиниця виконуваної роботи конкретного виконавця. Повинна супроводитися набором керівництва (guidelines) - методика виконання логічних операцій.
Робочі продукти (artifacts)
Ними м.б.: модель, план, документ, початковий код
Дисципліни - технологічний процес, який визначає послідовність дій, що приводить до отримання значущого результату
Існує 6 основних дисциплін:
1. побудова бізнес-моделі
2. визначення вимог
3. аналіз і проектування
4. реалізація
5. тестування
6. розгортання
існує 3 допоміжних дисципліни:
1. управління конфігурацією
2. управління проектом
3. створення інфраструктури
22. Якість програмного продукту. Критерії якості пз.
ПЗ ISO якість - це повнота властивостей і характеристик продукту, процесу або послуги, які забезпечують здатність задовольнити заявленим або таким, що маються на увазі потребам.
Сучасні способи забезпечення якості базуються на Total Quality Management (TQM - управління якістю в цілому). Основні риси TQM:
- Управління ресурсами
- Кількісні методи аналізу всіх процесів, а також ступені задоволення потреб клієнтів
Ідея якості в США/ЕВРОПЕ - 60-і роки. У програмування ідеї якості прийшли в кінці 60-х:
Розробка Програмного продукту - це процес забезпечення якості Пп.
Показники якості:
1. Зовнішні
1.1. коректність (правильність)
1.2. стійкість
1.3. розширюваність
1.4. багатократність використання
1.5. сумісність
1.6. ефективність
1.7. переносимість
1.8. підтримка цілісності
1.9. легкість використання
2. Внутрішні
2.1. верифікація
2.2. читабельність коди
2.3. модульність
2.4. структурованість
2.5. документірованность (коди)
Внутрішні характеристики є ключем і причиною зовнішніх характеристик якості.
Коректність і стійкість
Коректність - правильна обробка на правильних даних
Стійкість - не тільки правильність, це здатність обробляти ситуації незаплановані проектом.
Стійкі системи терплять невдачу без втрати критичних даних, тобто передбачені непередбачені ситуації в коді.
Розширюваність
Це найважливіша властивість для великих проектів.
Принципи створення розширюваного ПО:
Простота проекту
Децентралізація - розбиття складних проблем на малих
Керованість і незалежність фрагментів (модульне програмування)
Багатократність і сумісність
Багатократне використання може бути видимим на різних рівнях: при аналізі, проектуванні, і реалізації. Воно підтримує якість наступними способами:
- Якщо проекти і код можуть повторно використовуватися, то ми можемо починати з вже перевірених, випробуваних і правильних компонент, якість яких вже є високою.
- Час і енергія, збережені через багатократне використання, можуть застосовуватися для поліпшення інших характеристик якості програми (наприклад, коректності або стійкості).
Сумісність - міра того, на скільки просто об'єднати різні програмні вироби разом для повторного застосування.
Основи сумісності витікають, як правило, із загальних проектних рішень.
Забезпечується якість за допомогою використання минулих зусиль при формуванні нових систем.