logo
rektorska_pi

Життєвий цикл програмного забезпечення.

Світовий досвід розробки ПЗ дозволив виділити декілька загальноприйнятих моделей створення складних програмних систем. Ці моделі призначені для встановлення чіткої регламентації етапів і змісту робіт на кожному етапі, методів і процедур виконання самих робіт, складу і змісту розроблюваної документації. Чіткі моделі дозволяють істотно підвищити ефективність процесу розробки складних програмних комплексів, оптимально організувати управління розробкою, планувати і контролювати термінами виконання окремих етапів, правильно розподілити роботи в колективі розробників. У результаті вдається помітно знизити витрати на розробку програмного виробу і підвищити якість продукту.

Одним з базових понять методології проектування інформаційної системи є поняття життєвого циклу її ПЗ. Життєвий цикл ПЗ (ЖЦПЗ) – це безперервний процес, який починається з моменту прийняття рішення про необхідність створення ПЗ і закінчується в момент його повного вилучення з експлуатації. Основним нормативним документом, який регламентує життєвий цикл, є міжнародний стандарт ISO/IEC 12207. Він визначає його структуру, містить процеси, дії і задачі, які повинні бути виконані під час створення ПЗ. Структура життєвого циклу за стандартом ISO/IEC 12207 базується на трьох групах

процесів:

− Основні процеси (придбання, постачання, розробка, експлуатація,

супровід);

− Допоміжні процеси (документування, управління конфігурацією, забезпечення якості, перевірка, атестація);

− Організаційні процеси (управління проектами, створення інфраструктури проекту, визначення, оцінка і покращення самого життєвого циклу, навчання).

Розробка включає в себе всі роботи по створенню ПЗ і його компонентів відповідно до заданих вимог, включаючи оформлення проектної і експлуатаційної документації, підготовку матеріалів, необхідних для перевірки працездатності і якості програмних продуктів, матеріалів, необхідної для організації навчання персоналу і т.д. Розробка ПЗ включає в себе, як правило, аналіз, проектування і реалізацію (програмування).

Експлуатація включає в себе роботи по впровадженню компонентів ПЗ в експлуатацію, в тому числі конфігурацію бази даних, і робочих місць користувачів, забезпечення експлуатаційною документацією, проведення навчання персоналу, і безпосередньо експлуатацію, модифікацію ПЗ, підготовку пропозицій до вдосконалення, розвитку і модернізації системи.

Управління проектом пов’язане з питаннями планування і організації робіт, створення колективів розробників і контролю за термінами і якістю виконуваних робіт. Технічне і організаційне забезпечення проекту включає вибір методів і інструментальних засобів для реалізації проекту, визначення методів опису проміжних станів розробки, розробку методів і засобів випробувань ПЗ, навчання персоналу. Забезпечення якості проекту пов’язане з проблемами перевірки і тестування ПЗ. Перевірка – це процес визначення того, чи відповідає поточний стан розробки, досягнутий на даному етапі, вимогам цього етапу. Перевірка дозволяє оцінити відповідність параметрів розробки до початкових вимог. Перевірка частково співпадає з тестуванням, яке пов’язане з ідентифікацією відмінностей між дійсними і очікуваними результатами і оцінкою відповідності характеристик початковим вимогам. У процесі реалізації проекту важливе місце займають питання ідентифікації, опису і контролю конфігурації окремих компонентів і всієї системи загалом. Управління конфігурацією є одним з допоміжних процесів, який підтримує основні процеси життєвого циклу ПЗ, передусім процеси, розробки і супроводу ПЗ. При створенні проектів складних інформаційних систем, які складаються з багатьох компонентів, кожен з яких може мати версії, виникає проблема обліку їх зв’язків, створення уніфікованої структури і забезпечення розвитку всієї системи. Управління конфігурацією дозволяє організувати, систематично враховувати і контролювати внесення змін в ПЗ на всіх стадіях життєвого циклу.

Кожний процес характеризується певними задачами і методами їх вирішення, початковими даними, отриманими на попередньому етапі, і результатами. Результатами аналізу, зокрема, є функціональні моделі, інформаційні моделі і відповідні їм діаграми.

Класичний життєвий цикл

Найстарішою парадигмою процесу розробки ПЗ є класичний життєвий цикл (Уїнстон Ройс, 1970). Класична модель ЖЦПЗ застосовується як для розробки програм для індивідуального використання, так і для складних програмних виробів промислового і комерційного призначення. Дуже часто класичний життєвий цикл називають каскадною або водоспадною моделлю, підкреслюючи, що розробка розглядається як послідовність етапів, причому перехід на наступний, ієрархічно нижчий етап відбувається тільки після завершення робіт на поточному етапі. На практиці виконання робіт за такою жорсткою схемою можна

реалізувати тільки для досить простих програмних продуктів, вимоги користувача до яких можна на самому початку сформулювати в повному обсязі. У загальному випадку процес розробки є ітеративним (двосторонні стрілки на рисунку). На кожній фазі життєвого циклу можуть вноситися зміни в прийняті рішення, що приводить до необхідності повернення до попередніх етапів.

Охарактеризуємо зміст основних етапів. Вважається, що розробка починається на системному рівні і проходить через аналіз, проектування, кодування, тестування і супровід. При цьому моделюються дії стандартного інженерного циклу.

Системний аналіз (проектування системи) задає роль кожного елемента в комп’ютерній системі і їх взаємодію. Оскільки ПЗ є лише частиною великої системи, то аналіз починається саме з визначення вимог до всіх системних елементів і призначення підмножини цих вимог програмному „елементу”.

Необхідність системного підходу явно проявляється, коли формують інтерфейс ПЗ з іншими елементами (апаратурою, людьми, базами даних). На цьому ж етапі починається вирішення задачі планування проекту ПЗ. У ході планування проекту визначаються обсяг проектних робіт і їх ризик, необхідні трудові затрати, формуються робочі завдання і план-графік робіт. Результатом роботи даного етапу є визначення вимог користувача. Аналіз вимог відноситься до програмного елементу – ПЗ. Уточнюються і деталізуються його функції, характеристики та інтерфейс. Усі визначення документуються в специфікації аналізу. На цьому ж етапі завершується вирішення задачі планування проекту. Результатом роботи є визначення вимог

до ПЗ.

Проектування полягає у створенні рішень:

− Архітектури ПЗ;

− Модульної структури ПЗ;

− Алгоритмічної структури ПЗ;

− Структури даних;

− Вхідного і вихідного інтерфейсів (вхідних і вихідних форм даних).

Вихідні дані для проектування містяться в специфікації аналізу, тобто в ході проектування виконується трансляція вимог до ПЗ в множину проектних рішень. При вирішенні задач проектування основна увага приділяється якості майбутнього програмного продукту. Результатом проектування є архітектура програмного виробу.

Кодування полягає в перекладі результатів проектування на текст мовою програмування.

Тестування – виконання програми для виявлення дефектів в функціях, логіці і формі реалізації програмного продукту.

Супровід – це внесення змін в працююче ПЗ. Мета внесення змін:

− Виправлення помилок;

− Адаптація до змін зовнішнього для ПЗ середовища;

− Удосконалення ПЗ на вимогу замовника.

Супровід ПЗ полягає в повторному застосуванні кожного з попередніх кроків (етапів) життєвого циклу до існуючої програми, але не в розробці нової програми.

Найважливішим видом діяльності на всіх етапах життєвого циклу є критичний і всебічний огляд і оцінка матеріалів, підготовлених на відповідній фазі ЖЦПЗ. Схвалення цих матеріалів визначає момент закінчення однієї фази і момент початку наступної фази. Відповідно до структури ЖЦПЗ при плануванні робіт і при контролі за термінами їх виконання є, принаймні, шість подій, які характеризують перехід до наступної фази:

− Розгляд і схвалення вимог користувача.

− Розгляд і схвалення вимог до програмного виробу.

− Розгляд і схвалення архітектурного проекту програмного виробу.

− Розгляд і схвалення детального проекту програмного виробу, керівництва користувача, програм і затвердження акту про готовність їх до приймального тестування.

− Затвердження акту про попереднє приймання програмного виробу, розгляд і схвалення документа про передачу програмного виробу в експлуатацію.

− Затвердження акту про остаточне приймання і передачу в експлуатацію програмного виробу і прийняття документу про результати всіх робіт по створенню ПЗ.

Як і будь-яка інженерна система, класичний життєвий цикл має переваги й недоліки. До переваг класичного життєвого циклу можна віднести:

− Дає можливість планувати в часі всі етапи проекту;

− Впорядковує хід конструювання.

Недоліками класичного життєвого циклу є:

− Реальні проекти часто вимагають відхилення від стандартної послідовності кроків;

− Цикл базується на точному формулюванні вихідних вимог до ПЗ;

− Результати проекту доступні замовнику лише після завершення роботи.