- •Перелік питань до модульної контрольної роботи №1 з дисципліни «Аналіз вимог до програмного забезпечення»
- •Поняття вимог до автоматизованої системи та програмного забезпечення.
- •Основні види вимог.
- •Роль вимог у забезпеченні успішності проектів програмного забезпечення.
- •Джерела та користувачі вимог
- •Процеси вивчення концепції – ідентифікація та оформлення ідей та потреб замовника.
- •Процеси вивчення концепції – формулювання потенційних підходів, вивчення здійсненності,
- •Процеси призначення системи – аналіз функцій, розробка системної архітектури, декомпозиція системних вимог.
- •Процес ідентифікації вимог до програмного забезпечення, що імпортується.
- •Процеси встановлення вимог – визначення та розробка вимог до програмного забезпечення, визначення вимог до інтерфейсу.
- •Процеси встановлення вимог – встановлення пріоритетів та інтеграція вимог до програмного забезпечення.
- •Загальний зміст специфікації вимог до програмного забезпечення.
- •Методи збору та виявлення вимог
- •Інтерв’ю замовника та експертів прикладного домену.
- •Анкетування. Спостереження.
- •Вивчення документів та аналогічних систем.
- •16. Нарада. «Мозковий штурм».
- •17. Прототипування. Класифікація прототипів
- •18. Створення прототипів з використанням програмних засобів.
- •19. Поняття аналізу. Загальні методи та засоби аналізу.
- •20. Засоби уніфікованої мови моделювання uml для аналізу вимог
- •21. Аналіз вимог.
- •22.Діаграми потоків даних
- •23. Методологія sadt
17. Прототипування. Класифікація прототипів
Прототипування — це етап процесу розробки ІС, що полягає у створенні прототипу — макета («чорнової», пробної версії) системи з базовою функціональністю з метою перевірки придатності запропонованих концепцій, архітектурних та/або технологічних рішень, а також подання системи замовнику для оцінювання на ранніх стадіях її життєвого циклу. За результатами аналізу прототипу приймають рішення щодо подальшої розробки. Оскільки вартість змін вимог до реалізації системи низька, а часу витрачається значно менше, але при цьому гарантується отримання достовірної інформації про вимоги до системи з боку замовника за рахунок його залучення до розробки, переваги прототипування очевидні. Найбільший ефект прототипування дає при розробленні систем з розвиненим користувацьким інтерфейсом, бо вможливлює оцінювання сприйняття його користувачем.
Розрізняють такі типи прототипування:
— швидке (rapid prototyping, throw away prototyping) — у найкоротші терміни створюється прототип, який жодним чином не ввійде до складу готової системи. Швидке прототипування необов’язково виконується в рамках тієї ж платформи і тих самих технологій, що й майбутня система. Прототипи різняться між собою рівнем точності відтворення реальної ІС — її вигляду, взаємодії з користувачем і часових характеристик. Крайнім випадком є паперове прототипування, коли нариси інтерфейсу виконуються на папері від руки. Інший метод передбачає використання програм розробки графічного користувацького інтерфейсу (GUI Builder) для створення прототипу, ззовні схожого на цільову систему, але з відсутніми її функціями (click dummy). Для підготовки прототипу графічного інтерфейсу користувача можуть використовуватися просто HTMLфайли. Для прототипування програмного забезпечення використовують мови високого рівня абстракції (Java, Perl, Python, Haskell або ін.), а при реалізації — іншу, машинноорієнтовану (С, C++) для підготовки акуратного документованого коду;
— еволюційне (evolutionary prototyping, breadboard prototyping) — послідовне створення макетів, що поступово наближаються до реальної готової системи. Цей підхід застосовують за відсутності необхідних вимог до системи, вони формуються впродовж її реалізації. При цьому час і зусилля не марнуються, а в деяких випадках користувач розпочинає використовувати систему до досягнення її повної готовності;
— інкрементальне — кінцевий продукт створюється як сукупність відокремлених прототипів, що зрештою об’єднуються в готову систему;
— екстремальне — процес розробки, найчастіше — Webдодатків, що розподіляється на три фази, кожна з яких базується на попередній. Перша з них — розроблення статичного прототипу, що складається переважно з HTMLсторінок. Під час другої фази програмуються екрани, створюється повнофункціональний інтерфейс при симуляції рівня сервісів. Сервіси реалізуються під час третьої фази.
18. Створення прототипів з використанням програмних засобів.
Критеріями для вибору конкретного інструментального засобу прототипування є висока швидкість створення першої версії прототипу та внесення до нього змін, а також функціональні можливості, достатні для підготовки прототипу заданої якості:
— естетичного;
— деталізованого — такого, що містить не набір блоків на рівні «чорної скриньки», а всі потрібні елементи з дрібними деталями;
— з підтримкою бодай мінімальної інтерактивності — здатного реагувати на дії користувача та емулювати реальні події;
— доступного всім учасниками проекту — замовнику, керівництву, розробнику, дизайнеру;
— з можливістю перегляду користувачем без установлення додаткових програм;
— з можливістю внесення змін — прототип може оновлюватися під час обговорення та опрацювання зауважень.
Прототипування часто здійснюється на основі мов програмування четвертого покоління (Visual Basic, ColdFusion), оскільки вони є відносно дешевими, добре відомими, їх можна порівняно легко і швидко застосувати. Інструментальні засоби розробки прототипів можна розподілити на кілька категорій:графічні редактори, засоби визначення та імітації додатків, CASEзасоби.
Серед графічних редакторів можна виокремити:
— Microsoft Visio — редактор діаграм і блоксхем для Windows, що використовує векторну графіку;
— OmniGroup OmniGraffle — редактор діаграм, блоксхем та ілюстрацій для Мас OS X;
— Adobe Creative Suite. Adobe Photoshop, растровий графічний редактор, та Adobe Illustrator, векторний графічний редактор, залишаються стандартами у сфері графічного дизайну, в тому числі графічного користувацького інтерфейсу і Webсторінок. Adobe InDesign — провідна видавнича система (DTP), — є одним з найпопулярніших засобів прототипування . Для підготовки HTMLпрототипів можна використовувати можливості менш популярного Adobe ImageReady.
Альтернативою використання графічних редакторів є прототипування у певному середовищі розробки програм (наприклад Delphi) або сайтів (Dreamweaver). Крім того, існують спеціалізовані засоби створення інтерактивного контенту, наприклад Macromedia Flash або Norpath Studio. Перевагою є можливість створення інтерактивних прототипів, але процес відбувається куди повільніше — системи програмування вибагливі до результатів, а системи вебдизайну зручні лише для простих проектів. Крім того, ці системи не є універсальними: Delphi не використовується для проектування вебінтерфейсів, a Dreamweaver — для інтерфейсів програмного забезпечення, вбудовані елементи керування Flash не збігаються за розмірами з такими самими елементами Windows або MacOS.
