
- •Короткий конспект для підготовки до іспиту з предмета"Конструювання програмних засобів"
- •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-личностей. Закон Брукса. Підходи до управління групами і керівництва ними.
2. Основні визначення. Програмні засоби. Програмне забезпечення (пз). Програмний продукт. Проектування пз. Програмування.
Введення в процес розробки програмного забезпечення
Розробка програмного забезпечення є дуже молодою галуззю інженерної науки, що швидко розвивається. Вона схильна до постійних і швидких змін. Так, всього лише на початку 90-х років Британське співтовариство обчислювальної техніки (British Computer Society) почало надавати розробникам програм звання інженера (Chartered Engineer), а в Сполучених Штатах тільки в 1998 році стало можливим хоч десь (а точніше, в штаті Техас) реєструватися як професійний інженер програмного забезпечення. Але як і раніше, навіть на початку двадцять першого століття, загальновизнаним залишається той факт, що розробці програмного забезпечення не дістає достатньо розвиненої наукової бази. По деяких оцінках, 75 % організацій, програм, що займаються розробкою, роблять це на примітивному рівні. З іншого боку, в цій області сформувалися немало цікавих ідей, і знайомство з ними
Основні поняття і визначення
Програмне забезпечення (Software) - повний набір або частина програм, процедур, правив і пов'язаній з ними документації системи обробки інформації. (Ісо/мек 2382-1 1993) Примітка. ПО - інтелектуальний продукт, не залежний від середовища, на якому він записаний.
Програмні засоби (Software product) - набір комп'ютерних програм, процедур і, можливо, пов'язаних з ними документації і даних. Примітка. Об'єм поняття, що виражається терміном "програмні засоби" включає як окремий випадок об'єм поняття 'Програмне обеспеченіє".определяємого по Г'ОСТ 19781. [див. ГОСТ 28806-90. додаток 1 ]
Програмний продукт (Software product) - набір комп'ютерних програм, процедур і, можливо, пов'язаних з ними документації і даних, призначених для передачі користувачеві [Ісо/мек 12207]. Примітка. Продукти включають проміжні продукти і продукти, призначені для користувачів типу розробників і персоналу супроводу
Проектуванням програмного забезпечення є процес побудови додатків реальних розмірів і практичної значущості, що задовольняють заданим вимогам функціональності і продуктивності, таких, наприклад, як текстовий редактор, електронна таблиця, операційна система або, скажімо, програма контролю несправностей космічної станції. Програмування - це один з видів діяльності, що входять в цикл розробки програмного забезпечення.
3. Класифікація типів програмного забезпечення.
По масштабах роботи, необхідних професійних знаннях і суспільній значущості відмінність між просто програмуванням і проектуванням програмного забезпечення можна порівняти з відмінністю між виготовленням лавки біля воріт свого заміського будинку і зведенням моста. Ці два завдання розрізняються на порядок по значущості і необхідним професійним знанням. На відміну від споруди лавки зведення моста включає як професійну, так і соціальну відповідальність. Хоча соціальна сторона питання залишена за рамками цієї книги, ми все ж таки розглянемо пов'язані з нею технології, такі як строгий аналіз вимог і стандарти кількісної оцінки якості.
Технологія розробки програмного забезпечення повинна охоплювати різноманітні типи програм, включаючи перераховані нижче.
- Автономне: встановлюване на одиночний комп'ютер; не пов'язане з іншим програмним і апаратним забезпеченням; приклад - текстовий редактор.
- Вбудоване: частина унікального застосування із залученням апаратного забезпечення; приклад - автомобільний контролер.
- Реального часу: повинні виконувати функції протягом малого інтервалу часу, зазвичай декількох мікросекунд; приклад - програмне забезпечення радіолокатора.
- Мережеве: складається з частин, що взаємодіють через мережу; приклад - заснована на вебтехнології відеогра.
Висловлювані в лекціях принципи застосовні до всіх цих типів. Відзначимо, проте, що розробка вбудованих програм і програм реального часу має додаткові аспекти, аналіз яких виходить за рамки курсу.