Поняття життєвого циклу програмного забезпечення та етапи розробки програмного забезпечення. Тема 1
1.1. Програми і програмне забезпечення (програмні продукти) Програмне забезпечення (Software) - набір комп'ютерних програм, процедур і пов'язаної з ними документації і даних (ISO/IEC 12207). Таким чином, програмне забезпечення - це не просто програма. Це ще і документація і інструкції користувача. Замість словосполучення "програмне забезпечення" часто використовують інше - "програмний продукт". Ці поняття близькі за змістом, але це не одне і те ж. Програмне забезпечення, в загальному випадку, є частиною інформаційної системи, наприклад – САПР (система автоматизованого проектування) . До складу таких систем крім програмного, входять і інші види забезпечень – інформаційне, математичне, техніне, методичне, тощо. Пограмне забезпечення не є завершеним рішенням, це лише одна з частин системи. А програмний продукт – це закінчене рішення. Одна з головних властивостей програмного продукту – його здатність бути проданим (і купленим). Можливість продавання ПП – основа бізнесу по розробці програмного забезпечення. Якщо ви збираєтеся щось розробити, це повинно бути затребувано на ринку. Інакше ви витратите гроші на розробку (зарплата співробітників, накладні витрати, податки, оренда приміщення...), але нічого замість цього не отримаєте. Підсумуємо: програмний продукт - це програма зі всією супутньою документацією, програма, яку можна продати, або іншим чином отримати з неї фінансову вигоду. 1.2. Життєвий цикл програмного забезпечення Процес створення та використання програмної системи включає декілька стадій: від початкової ідеї до остаточного морального застаріння. Цей процес називається життєвим циклом програмного забезпечення. Він складається з наступних 6 етапів. 1. Специфікація вимог: а) підготовка повного і чіткого визначення задачі; б) представлення документів з вимогами до задачі користувачам і аналітикам для погодження (ухвалення). 2. Аналіз: а) вивчення задачі, визначення специфікацій (тобто структури вхідних та вихідних даних); б) оцінка альтернативних методів розв’язання (алгоритмів); в) вибір оптимального метода (алгоритма). 3. Проектування: а) визначення структури програмної системи та її проектування; б) розбиття програмної системи на окремі компоненти та їх проектування з визначенням ключових елементів структури даних.