Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lek_OPI.doc
Скачиваний:
4
Добавлен:
23.11.2019
Размер:
363.01 Кб
Скачать

2. Визначення процесу (Process Definition)

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

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

2.1 Моделі життєвого циклу програмного забезпечення (Software Life Cycle Models)

Моделі життєвого циклу задають високорівневе визначення фаз (стадій) розробки програмного забезпечення. Їх метою не є надання детального визначення, але воно концентрується на ключових роботах і їх взаємозв'язках. Прикладами таких моделей * є Водоспадна (каскадна - waterfall), модель прототипування, еволюційної розробки, інкрементальна / ітеративна, спіральна і т.п. Існують різні порівняння та критерії вибору моделей, посилання на деякі з яких, зокрема, дані в оригінальній версії SWEBOK.

* базові моделі життєвого циклу розглядаються далі в окремому розділі.

2.2 Процеси життєвого циклу програмного забезпечення (Software Life Cycle Processes)

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

Це означає, що, в принципі, процеси життєвого циклу програмного забезпечення можуть бути "збудовані" (у часі) відповідно до будь-якої моделі життєвого циклу. Основним джерелом знань по процесах є стандарт IEEE / ISO / ГОСТ 12207 "Information Technology - Software Lifecycle Processes" (основні елементи структури цього стандарту розглядається за рамками перекладу та коментарів SWEBOK в самостійній главі, присвяченій життєвому циклу). В рамках даних понять життєвого циклу - "модель" і "процеси" можна говорити, що сукупність моделі, процесів і практик визначає метод / методологію <підтримки життєвого циклу>. Стандарт IEEE 1074 "Standard for Developing Software Life Cycle Processes" надає список процесів і дій з розробки і супроводу програмного забезпечення, а також список дій з підтримки самого життєвого циклу, який може бути відображений на процеси і організований таким же чином, як і будь-яка модель життєвого циклу. Крім того, цей стандарт ідентифікує та зв'язує інші стандарти IEEE з діями з підтримки процесів життєвого циклу. В принципі, стандарт IEEE 1074 може бути використаний для побудови процесів, що відповідають для будь-якої моделі життєвого циклу. SWEBOK відзначає два стандарти, пов'язаних з процесами супроводу програмного забезпечення - IEEE 1219 "Standard for Software Maintenance" та ISO 14764 "Standard for Software Engineering-Software Maintenance" (див. область знань SWEBOK "Супровід програмного забезпечення"). Інші важливі стандарти, що мають визначення процесів, включають:

• IEEE 1540: Standard for Software Risk Management - управління ризиками програмного забезпечення • IEEE 1517: Standard for Software Reuse Processes - процеси повторного використання програмного забезпечення • ISO / IEC 15939: Standard for Software Measurement Process - процес вимірювань в галузі програмного забезпечення

У ряді ситуацій процеси програмної інженерії визначаються, беручи до уваги організаційні процеси управління якістю. ISO 9001 формулює вимоги до процесів управління якістю, а ISO 9003 інтерпретує ці вимоги щодо організацій, що займаються розробкою програмного забезпечення (ISO / IEC 90003:2004, Software and Systems Engineering - Guidelines for the Application of ISO9001: 2000 to Computer Software). Деякі процеси життєвого циклу надають особливе значення швидкого введення в експлуатацію (rapid delivery) програмних систем і глибокого залучення користувачів <в процес розробки>. Такі процеси називають agile-методами - швидкими, живими, рухливими. До них відноситься, наприклад, екстремальне програмування - eXtreme Programming (XP, див. роботи Кента Бека - Kent Beck). Відмінною особливістю цих методів є гнучкість в питаннях планування, коли план проекту активно коректується в міру просування до мети проекту. Інші процеси приділяють спеціальну увагу прийняттю рішень на основі оцінки ризиків (див. роботи Баррі Боем - Barry W. Boehm).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]