5. Покажчики
Хоча стандарт IEEE не ідеальний, він може служити відправною точкою при написанні специфікації. Зазвичай, при її написанні необхідно також ураховувати стандарти, прийняті в організації ‒ розробники ПЗ. У табл. 3.4 описані можливі розділи специфікації, побудованої на підставі стандарту IEEE.
Розділ | Опис |
Передмова | Тут визначається коло осіб, на яких розрахований даний документ. Описуються попередні версії розроблювального програмного продукту, а також зміни, внесені в кожну версію. Дається обґрунтування для створення нової версії продукту |
Введення | Тут більш розгорнуто обґрунтовується необхідність створення системи. Коротко перелічуються системні функції і пояснюється, як система буде працювати разом з іншими системами. Повинно бути показано, як розробка системи “вписується” у загальну бізнес-стратегію компанії, що замовляє програмний продукт |
Глосарій | Дається опис технічних термінів, використовуваних у документі. Тут не робиться яких-небудь припущень про рівень знань або практичному досвіді читача документа |
Користувацькі вимоги | Описуються сервіси, надавані користувачам, і нефункціональні системні вимоги. Цей опис може бути зроблений природньою мовою з використанням діаграм, блок-схем і інших форм запису, зрозумілих замовникові програмної системи. Тут також повинні бути наведені стандарти на програмний продукт і процес його розробки |
Системна архітектура | Тут приводиться високорівневе представлення можливої системної архітектури із вказівкою, як розподілені системні функції по компонентах системи. Обов'язково повинні бути виділені повторно використовувані (тобто вже існуючі) компоненти |
Системні вимоги | Докладно описуються функціональні і нефункціональні вимоги. Якщо необхідно, нефункціональні вимоги доповнюються описом інтерфейсів інших систем |
Системні моделі | Тут представлено кілька системних моделей, що показують взаємовідношення між системними компонентами і між системою і її оточенням. Це можуть бути об'єктні моделі, моделі потоків даних або моделі даних |
Еволюція системи | Приводяться основні припущення і допущення, на яких базується система, а також очікувані (прогнозовані) зміни в апаратних засобах, у потребах користувачів і т.п. |
Додатки | Тут приводиться спеціалізована інформація, що відноситься до розроблювальної системи, наприклад опис апаратних засобів або бази даних, з якими повинна працювати система. При описі апаратних засобів необхідно показати мінімальну і оптимальну конфігурації, при яких може працювати програмна система. Опис бази даних повинен відображати логічну структуру даних, з якими буде працювати система, і відносини між ними |
Покажчики | У документі можливе використання різних покажчиків. Це може бути звичайний алфавітний покажчик, покажчик діаграм або покажчик системних функцій |
Зазвичай, інформація, що включається в специфікацію, залежить від типу розроблювального програмного забезпечення і від обраної технології розробки. Наприклад, якщо при розробці буде використовуватися еволюційний підхід, багато розділів специфікації, перераховані в табл. 3.4, будуть зайві. Якщо ж розроблювальне ПЗ є тільки частиною великої системи, що полягає із взаємодіючих апаратних і програмних систем, тоді по необхідності вимоги будуть дуже докладними і деталізованими. У цьому випадку специфікація може мати значний обсяг і буде містити більше розділів, чим перераховане в табл. 3.4. Для більших документів необхідно робити зміст і докладні покажчики для пошуку необхідної інформації.
Завдання:
Автоматизована система продажу залізничних квитків. Користувач указує пункт призначення, вставляє кредитну картку і вводить особистий ідентифікаційний номер. Система видає проїзний квиток і знімає із кредитної картки суму, рівну вартості проїзду в зазначений пункт. Коли користувач натискає початкову кнопку, відображається меню можливих пунктів призначення із вказівкою вартості проїзду до кожного пункту. Після вибору пункту призначення користувачеві пропонується вставити кредитну картку. Потім перевіряється кредитна картка, після чого користувачеві пропонується ввести особистий ідентифікаційний номер. По закінченню операцій із кредитною карткою видається проїзний квиток.
Перепишіть вимогу попереднього пункту, використовуючи структурний підхід.
Запишіть системні вимоги для системи продажу квитків за допомогою мови, заснованого мовою програмування Java. Зверніть увагу на обробку помилок користувача.
Питання:
Опишіть три типи нефункціональних вимог, які можуть мати місце в програмних системах. Приведіть приклади кожного типу вимог.
Запишіть нефункціональні вимоги для описаної вище автоматизованої системи продажу квитків системи, що характеризують надійність, і час її відповіді.
Якими властивостями повинна володіти мова програмування, щоб її можна було застосувати для написання специфікацій інтерфейсів? У цьому аспекті розглянете можливості мов С, Java.
Поясніть, як у специфікації системних вимог можна простежити взаємозв'язок між функціональними і нефункціональними вимогами.
- Технологія проектування програмних систем
- 1.Опис навчальної дисципліни
- 2. Тематика і зміст лекцій
- 3. Практичні заняття по дисципліні "Технологія проектування програмних систем"
- 4. Шкала оцінювання
- 5. Оцінка успішності в балах при повному виконанні умов і графіку навчального процесу
- Лабораторна робота № 1
- 2. Ітераційні моделі розробки пз
- 3. Специфікація програмного забезпечення
- 4. Проектування і реалізація пз
- 6. Еволюція програмних систем
- 7. Автоматизовані засоби розробки пз
- Лабораторна робота № 2
- 2. Користувацькі вимоги
- 3. Системні вимоги
- 4. Документування системних вимог
- 4. Додатки
- 5. Покажчики
- Лабораторна робота № 3
- 1. Прототипування в процесі розробки пз
- 2. Технології швидкого прототипування
- 3. Прототипування користувацьких інтерфейсів
- Лабораторна робота № 4
- 1. Формальні специфікації в процесі розробки пз
- 2. Специфицирование інтерфейсів
- 3. Специфікація поведінки систем
- Лабораторна робота № 5
- 1. Проектування систем
- 2. Керуючі програми
- 3. Системи спостереження і керування
- 4. Системи збору даних