2.3.1. Functional Requirements

Функціональні вимоги описують внутрішню функціональність системи, її поведінку: обчислення даних, обмін та керування даними, вивчення даних та інших конкретних функцій, які система повинна робити. Як правило, функціональні вимоги визначають, що система повинна робити, а нефункціональні — як система повинна виглядати.

2.3.2. Non-Functional Requirements

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

2.3.3. Operational Requirements

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

2.3.4. Recoverability Requirements

Відновлюваність — це можливість відновлення функцій і даних у разі збою.

Наприклад:

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

2.3.5. Performance Requirements

Вимоги до продуктивності описують очікувані параметри продуктивності системи у термінах ‘не більше ніж’, ‘не менше ніж’. Наприклад, визначаються наступні параметри системи:

  1. Response time (час відповіді) системи на queries (запити даних) і updates (оновлення даних).
  2. Throughput (пропускна здатність).
  3. Очікуваний рівень активності користувачів (наприклад, кількість транзакцій в годину, день чи місяць або циклічні періоди.
  4. Очікуване максимальне навантаження, при якому система має праццюватиме нормально.

Специфічні вимоги до робочих характеристик, пов’язані з конкретними функціями, повинні бути вказані у функціональних вимогах.

2.3.6.Capacity Requirements 

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

2.3.7. Retention Requirements

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

Наприклад: система має зберігати інформацію про програму протягом 3 років.

Різні форми даних включають в себе: систему документації, записи аудиту, записи бази даних, записи доступу.

2.3.8. Interface Requirements

Вимоги до інтерфейсів описують очікувану роботу місць взаємодії з системою. Інтерфейси поділяються на

  1. Hardware Interfaces (інтерфейси ‘заліза’ — апаратного забезпечення) — це місця фізичної / апаратної взаємодії, необхідні для обслуговування системи, включають опис логічної структури, фізичні адреси і очікувану поведінку. 
  2. Software Interfaces (інтерфейси софта) — це місця програмної взаємодії з системою, що розробляється.
  3. Communications Interfaces (інтерфейси комунікації) — це місця взаємодії з іншими системами чи приладами, можуть бути програмні і апаратні.