Основи програмних вимог (Software Requirements)

Аналіз і характеристика областей знань SWEBOK

 

Ядра знань SWEBOK є базовим документом, що відображає думку багатьох зарубіжних і вітчизняних фахівців в області програмної інженерії [6-14] і узгоджується з сучасними регламентованими процесами життєвого циклу (ЖЦ) ПЗ стандарту ISO/IEC 12207. У цьому ядрі знань міститься опис 10 областей, кожна з яких представлена згідно прийнятої всіма учасниками створення цього ядра загальної схеми опису, що включає визначення понятійного апарату, методів і засобів, а також інструментів підтримки інженерної діяльності. Опис кожної області вносить певний запас знань, який повинен практично використовуватися на відповідних процесах ЖЦ з обліком приведеного стандарту.

Для наочного представлення понятійного апарату областей SWEBOK проведено умовне розбиття областей (рис. 1а, б) на основних (п'ять процесів проектування ПЗ) і додаткові, організаційні методи і підходи, які відображають інженерію управління проектуванням ПС (конфігурацією, проектами, якістю і так далі). У кожній області приведені ключові поняття, підходи і методи проектування різних типів ПС. Дане розбиття областей на головні і допоміжні області відповідає структурі процесів стандарту ISO/IEC 12207, виконання яких визначається знаннями, що містяться в ядрі SWEBOK і вивченими розробниками ПС.

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

 

 

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

Програмні вимоги визначають вимоги до процесу, ОС, режиму виконання ПЗ, вибору платформи і тому подібне. Функціональні вимоги задають призначення системи, а не функціональні – умови виконання ПЗ. Системні вимоги описують вимоги до програмної системи, що складається з взаємозв'язаних програмних і апаратних підсистем і різних застосувань. Вимоги можуть оцінюватися кількісно (наприклад, кількість запитів в сек., середній показник помилок не винен перевищувати 1,5% від об'єму інформації, що вводиться, і тому подібне). Значна частина вимог відноситься до атрибутів якості: безвідмовність, надійність і ін. Область знань «Вимоги до ПЗ (Software Requirements)» складається з наступних розділів:

– інженерія вимог (Requirement Engineering)

– виявлення вимог (Requirement Elicitation)

– аналіз вимог (Requirement Analysis)

– специфікація вимог (Requirement Specification).

– перевірка вимог (Requirement validation)

– управління вимогами (Requirement Menegement).

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