
- •5. Вимоги до програмного забезпечення
- •5.1. Функціональні і нефункціональні вимоги
- •5.1.1. Функціональні вимоги
- •5.1.2. Нефункціональні вимоги
- •5.1.3. Вимоги предметної області
- •5.2. Призначені для користувача вимоги
- •5.3. Системні вимоги
- •5.3.1. Структурована мова специфікацій
- •5.3.2. Створення специфікацій за допомогою pdl
- •5.3.3. Специфікація інтерфейсів
- •5.4. Документування системних вимог
5.3.2. Створення специфікацій за допомогою pdl
Для зменшення властивої природній мові нечіткості понять при описі системних вимог використовується спеціальна мова опису програм (program description language - PDL). Ця мова подібна таким мовам програмування, як Java і Ada, але більш абстрактна. Перевагою вживання PDL для створення специфікації є те, що в такій специфікації можна перевірити синтаксис і семантику існуючими програмними засобами. Ці перевірки дозволяють видалити помилки і неузгодженість в описі вимог.
Вживання PDL приводить до дуже докладних і деталізуються специфікацій, які іноді просто неможливо ввести в заключний документ з описом системних вимог. Рекомендують використовувати PDL в наступних ситуаціях.
Якщо описувана операція складається з послідовності простих дій і важливий порядок їх виконання. Описати такі послідовності дій на природній мові деколи скрутно, оскільки їх виконання може супроводжуватися вкладеними умовами або вони можуть повторюватися циклічно.
Якщо необхідно специфікувати апаратні або програмні інтерфейси, оскільки практично у всіх специфікаціях системних вимог доводиться описувати інтерфейси.
Якщо читач системної специфікації знайомий з PDL, читання такої специфікації не викличе у нього утруднень. Крім того, якщо PDL побудований на основі якої-небудь мови програмування, легко перетворити специфікацію в системну архітектуру, при цьому можливість невірної інтерпретації вимог зведена до мінімуму.
Разом з тим підхід до побудови специфікацій, заснований на PDL, має свої недоліки.
PDL, що використовується для написання специфікації, може не мати достатніх засобів для опису всіх системних функцій.
Специфікації, створені за допомогою PDL, зрозумілі тільки людям, що мають певні знання мов програмування.
Системна архітектура, одержана на основі такої специфікації, не є системною моделлю, яка допомогла б користувачу розібратися в структурі системи.
Найефективнішим способом розробки специфікацій є поєднання підходу, заснованого на PDL, з використанням структурованої природної мови. В цьому випадку формалізовані записи на природній мові використовуються для опису системи в цілому, а PDL - для опису послідовностей управляючих дій або для опису інтерфейсів, що деталізується.
5.3.3. Специфікація інтерфейсів
Більшість програмних систем, що розробляються, повинні взаємодіяти з іншими, вже існуючими системами. Для того, щоб нова система могла працювати спільно з іншими системами, необхідно специфікувати інтерфейси цих систем.
Такі специфікації створюються на ранньому етапі розробки систем і включаються у вигляді додатку в специфікацію системних вимог.
Розрізняють три типи інтерфейсів, що специфікуються.
Процедурні інтерфейси, коли існуючі підсистеми пропонують набір сервісів, доступних за допомогою інтерфейсної процедури, що викликається.
Структури (інтерфейсні формати) даних, які пересилаються від однієї підсистеми до іншої. В цьому випадку може використовуватися PDL, заснований на мові програмування Java, яка дозволяє описати класи даних з відповідними полями, що формують структуру даних. Проте для опису цього типу інтерфейсу найбільш підходять діаграми "сутність-зв'язок", описані в главі 7.
Спеціальні представлення даних, наприклад у вигляді впорядкованої послідовності двійкових розрядів. Мова Java не підтримує такі детальні описи даних, тому не рекомендують в цьому випадку використовувати PDL, заснований на мові Java.
Формальні нотації, приведені в главі 9, дозволяють описати інтерфейси чітко і недвозначно. Проте такі специфікації зрозумілі тільки фахівцям, що володіють певними знаннями. Формальні нотації рідко використовуються на практиці, хоча, вони ідеально підходять для створення специфікацій інтерфейсів. Менш формальні специфікації інтерфейсів, одержані за допомогою PDL, є компромісом між зрозумілістю і точністю опису інтерфейсів.