НОУ ІНТУІТ, Лекція, Життєвий цикл програмних систем
5.3. Допоміжні процеси ЖЦ ПЗ
Процес документування. Передбачає формалізоване опис інформації, створеної протягом ЖЦ ПЗ. Цей процес складається з набору дій, за допомогою яких планують, проектують, розробляють, випускають, редагують, поширюють та супроводжують документи, необхідні для всіх зацікавлених осіб, таких як керівництво, технічні фахівці та користувачі системи.
Процес документування включає такі дії [2]:
- підготовчу роботу;
- проектування та розробку;
- випуск документації;
- супровід.
Процес управління конфігурацією включає адміністративні та технічні процедури на всьому протязі ЖЦ ПЗ для визначення стану компонентів ПЗ, опису та підготовки звітів про стан компонентів ПЗ та запитів на модифікацію, забезпечення повноти, сумісності та коректності компонентів ПЗ, управління зберіганням та постачанням ПЗ.
Відповідно до стандарту IEEE-90 під конфігурацією ПЗ розуміється сукупність його функціональних та фізичних характеристик, встановлених у технічній документації та реалізованих у ПЗ. Управління конфігурацією дозволяє організувати, систематично враховувати та контролювати внесення змін до ПЗ на всіх стадіях ЖЦ. Загальні принципи та рекомендації щодо управління конфігурацією ПЗ відображені у стандарті ISO/IEC 15288 "Information Technology. Software Life Cycle Process. Configuration Management for Software".
Процес управління конфігурацією включає такі дії:
- підготовчу роботу, яка полягає у плануванні управління конфігурацією;
- ідентифікацію конфігурації, яка визначає правила, за допомогою яких однозначноідентифікуються компоненти та їх версії. У цьому кожному компоненту однозначно відповідає комплект документації;
- контроль зміни – дію, призначене для систематичної оцінки запропонованих модифікацій ПЗ та координованої їх реалізації з урахуванням ефективності кожної модифікації та витрат за її виконання;
- облік стану конфігурації, що є реєстрацією стану компонентів ПЗ. Забезпечує підготовку звітів про реалізовані та відкинуті модифікації версій компонентів ПЗ. Сукупність звітів дає однозначне відображення поточного стану системи та її компонентів, а також забезпечує ведення історії модифікацій;
- оцінку конфігурації, що полягає у визначенні функціональної повноти компонентів, а також відповідності їх фізичного стану поточному технічному опису;
- управління випуском та постачання, що охоплюють виготовлення еталонних копій програм та документації, їх зберігання та постачання користувачам відповідно до порядку, прийнятого в організації.
Процес забезпечення якості повинен забезпечувати гарантії того, що ПЗ та процеси його ЖЦ відповідають заданим вимогам та затвердженим планам. Під якістю ПЗ розуміється сукупність властивостей, яка характеризує здатність ПЗ задовольняти заданим вимогам. Для отримання достовірних оцінок про створюване програмне забезпечення процес забезпечення його якості повинен відбуватися незалежно від суб'єктів, безпосередньо пов'язаних з розробкою програмного продукту. При цьому можуть використовуватися результати інших допоміжних процесів, таких як верифікація, атестація, спільна оцінка, аудит та вирішення проблем.
Процес забезпечення якості включає такі дії:
- підготовчу роботу (координацію з іншимидопоміжними процесами та планування самого процесу забезпечення якості ПЗ з урахуванням використовуваних стандартів, методів, процедур та засобів);
- забезпечення якості продукту, що передбачає гарантовану повну відповідність програмного забезпечення та його документації вимогам замовника, передбаченим у договорі;
- забезпечення якості процесу, що передбачає гарантовану відповідність процесів ЖЦ ПЗ, методів розробки, середовища розробки та кваліфікації персоналу умовам договору, встановленим стандартам та процедурам;
- забезпечення інших показників якості ПЗ, що здійснюється відповідно до умов договору та стандарту якості ISO 9001 .
p align="justify"> Процес верифікації полягає у визначенні того факту, що ПЗ, що є результатом деякої діяльності, повністю задовольняє вимогам або умовам, зумовленим попередніми діями. Для підвищення ефективності всього процесу ЖЦ ПЗ верифікація повинна якомога раніше інтегруватися з процесами, що її використовують (тобто з поставкою, розробкою, експлуатацією). Процес верифікації може включати аналіз, оцінку та тестування.
Верифікація може проводитися з різними ступенями незалежності (від самого виконавця до фахівців іншої організації, яка не залежить від постачальника, розробника тощо). У процесі верифікації перевіряються такі умови:
- несуперечність вимог, що пред'являються до системи, та ступінь обліку потреб користувачів;
- можливість постачальника виконати задані вимоги;
- відповідність обраних процесів ЖЦ щодо умов договору;
- адекватність стандартів, процедур та середовища розробки процесів ЖЦ ПЗ;
- відповідність проектних специфікацій ПЗ заданим вимогам;
- коректність опису в проектнихспецифікаціях вхідних та вихідних даних, послідовності подій, інтерфейсів, логіки тощо;
- відповідність коду проектним специфікаціям та вимогам;
- тестованість та коректність коду, його відповідність прийнятим стандартам кодування;
- коректність інтеграції компонентів ПЗ у систему;
- адекватність, повнота та несуперечність документації.
Процес атестації призначений визначення повноти відповідності заданих вимог і створеного ПЗ їх конкретному функціональному призначенню (тому, що потрібно споживачеві). Під атестацією зазвичай розуміється підтвердження та оцінка достовірності проведеного тестування програмного продукту. Атестація повинна гарантувати повну відповідність ПЗ специфікаціям, вимогам та документації, а також можливість безпечного та надійного застосування ПЗ користувачем.
Атестація, як і верифікація, може здійснюватися з різними ступенями незалежності (аж до організації, яка не залежить від постачальника, розробника, оператора чи служби супроводу).
p align="justify"> Процес спільної оцінки призначений для оцінки стану робіт по проекту і програмному продукту, створюваному при виконанні цих робіт. Він зосереджений переважно на контролі планування та управління ресурсами, персоналом, апаратурою та інструментальними засобами проекту.
Оцінка застосовується як на рівні управління проектом, так і на рівні технічної реалізації проекту та проводиться протягом усього терміну дії договору. Цей процес може виконуватися двома сторонами, що у договорі, у своїй одна сторона перевіряє іншу.
Процес аудиту є визначення відповідності проекту та продукту вимогам, планам та умовам договору. Аудит може виконуватися двома будь-якимисторонами, які беруть участь у договорі, коли одна сторона перевіряє іншу.
Аудит – це ревізія (перевірка), що проводиться компетентним органом (особою) з метою забезпечення незалежної оцінки ступеня відповідності програмного забезпечення або процесів встановленим вимогам.
Аудит служить для встановлення відповідності реальних робіт та звітів вимогам, планам та контракту. Аудитори не повинні мати прямої залежності від розробників програмного забезпечення. Вони визначають стан робіт, використання ресурсів, відповідність документації специфікаціям та стандартам, коректність тестування та ін.
Процес вирішення проблем передбачає аналіз та вирішення проблем (включаючи виявлені невідповідності), які виявлені в ході розробки, експлуатації або інших процесів незалежно від їхнього походження чи джерела.
5.4. Організаційні процеси ЖЦ ПЗ
Процес управління складається з дій та завдань, які можуть виконуватися будь-якою стороною, яка керує своїми процесами. Дана сторона (менеджер) відповідає за управління випуском продукту, управління проектом та управління завданнями відповідних процесів, таких як придбання, постачання, розробка, експлуатація, супровід та ін.
Процес управління включає такі дії:
- ініціювання та визначення галузі управління – менеджер повинен переконатися, що необхідні для управління ресурси (персонал, обладнання та технологія) є у його розпорядженні в достатній кількості;
- планування, як дія, передбачає виконання таких завдань:
- складання графіків виконання робіт;
- оцінку витрат;
- виділення необхідних ресурсів;
- розподіл відповідальності;
- оцінку ризиків, пов'язаних із конкретними завданнями;
- створенняінфраструктури керування.
Процес створення інфраструктури охоплює вибір та підтримку технологій, стандартів та інструментальних засобів, що використовуються для розробки, експлуатації або супроводу програмного забезпечення. Інфраструктура повинна модифікуватися та супроводжуватися відповідно до змін вимог до відповідних процесів. Інфраструктура, своєю чергою, одна із об'єктів управління конфігурацією.
Процес створення інфраструктури включає такі дії:
- підготовчу роботу;
- створення інфраструктури;
- супровід інфраструктури.
Процес удосконалення передбачає оцінку, вимірювання, контроль та власне удосконалення процесів ЖЦ ПЗ. Цей процес включає три основні дії:
- створення процесу;
- оцінку процесу;
- удосконалення процесу.
Удосконалення процесів ЖЦ ПЗ спрямоване на підвищення продуктивності праці всіх фахівців, що беруть участь в них, за рахунок удосконалення використовуваної технології, методів управління, вибору інструментальних засобів та навчання персоналу. Удосконалення ґрунтується на аналізі переваг та недоліків кожного процесу. Такому аналізу сприяє накопичення в організації історичної, технічної, економічної та іншої інформації щодо реалізованих проектів.
Процес навчання включає початкове навчання та подальше постійне підвищення кваліфікації персоналу та складається з трьох дій: