2.3.1. Functional Requirements
Функціональні вимоги описують внутрішню функціональність системи, її поведінку: обчислення даних, обмін та керування даними, вивчення даних та інших конкретних функцій, які система повинна робити. Як правило, функціональні вимоги визначають, що система повинна робити, а нефункціональні — як система повинна виглядати.
2.3.2. Non-Functional Requirements
Нефункціональні вимоги описують не те, що софт буде робити, а те, як він буде робити це, наприклад, вимоги до продуктивності, до зовнішнішнього інтерфейсу, до обмежень дизайну та атрибутів якості. Нефункціональні вимоги важкі для тестування; тому, вони, як правило, оцінюються суб’єктивно.
2.3.3. Operational Requirements
Експлуатаційні вимоги описують, як система буде працювати і взаємодіяти з користувачами у їх середовищі, тобто як буде запускатись система, як логуватись, як працюватимуть засоби включити / виключити систему, засоби моніторингу, споживання ресурсів системою, резервування, доступність системи і т.д.
2.3.4. Recoverability Requirements
Відновлюваність — це можливість відновлення функцій і даних у разі збою.
Наприклад:
- У разі, якщо додаток недоступний для користувачів (‘впав’) через збій системи, як швидко після виявлення збою повинне бути відновлене функціювання?
- У разі пошкодження бази даних, до якого історичного моменту роботи вона повинна бути відновлена? Наприклад, має бути можливість відновити базу даних станом як на ‘не більше ніж за 1 годину’ до того, як сталася поломка.
- Якщо сторона обробки (апаратне забезпечення, дані, місце резервного копіювання) знищується, як скоро повинен application (додаток) зможе бути відновленим?
2.3.5. Performance Requirements
Вимоги до продуктивності описують очікувані параметри продуктивності системи у термінах ‘не більше ніж’, ‘не менше ніж’. Наприклад, визначаються наступні параметри системи:
- Response time (час відповіді) системи на queries (запити даних) і updates (оновлення даних).
- Throughput (пропускна здатність).
- Очікуваний рівень активності користувачів (наприклад, кількість транзакцій в годину, день чи місяць або циклічні періоди.
- Очікуване максимальне навантаження, при якому система має праццюватиме нормально.
Специфічні вимоги до робочих характеристик, пов’язані з конкретними функціями, повинні бути вказані у функціональних вимогах.
2.3.6.Capacity Requirements
Вимоги ємності описують очікувані об’єми даних, що мають оброблятись та решта необхідних ємностей системи, чи є тенденції до розростання і передбачення цього розростання.
2.3.7. Retention Requirements
Вимоги до зберігання описують як довго (періоди часу) різні форми даних мають зберігатись і також вимоги до їх знищення.
Наприклад: система має зберігати інформацію про програму протягом 3 років.
Різні форми даних включають в себе: систему документації, записи аудиту, записи бази даних, записи доступу.
2.3.8. Interface Requirements
Вимоги до інтерфейсів описують очікувану роботу місць взаємодії з системою. Інтерфейси поділяються на
- Hardware Interfaces (інтерфейси ‘заліза’ — апаратного забезпечення) — це місця фізичної / апаратної взаємодії, необхідні для обслуговування системи, включають опис логічної структури, фізичні адреси і очікувану поведінку.
- Software Interfaces (інтерфейси софта) — це місця програмної взаємодії з системою, що розробляється.
- Communications Interfaces (інтерфейси комунікації) — це місця взаємодії з іншими системами чи приладами, можуть бути програмні і апаратні.