Функціональні характеристики
Критерії оцінки і вибору
Критерії формують базис для процесів оцінки і вибору і можуть приймати різні форми, включаючи:
- числові міри в широкому діапазоні значень, наприклад, об'єм необхідної пам'яті;
- числові міри в обмеженому діапазоні значень, наприклад, простота освоєння, виражена в балах від 1 до 5;
- двійкові міри (істина/брехня, так/ні), наприклад, здатність генерації документації у форматі Postscript;
- міри, які можуть приймати одне або більш з кінцевої безлічі значень, наприклад, платформи, для яких підтримується CASE-засіб.
Типовий процес оцінки і/або вибору може використовувати набір критеріїв різних типів.
Структура набору критеріїв приведена на рис18.4. Кожен критерій повинен бути вибраний і адаптований експертом з урахуванням особливостей конкретного процесу. В більшості випадків тільки деякі з безлічі описаних нижче критеріїв виявляються прийнятними для використання, при цьому також додаються додаткові критерії. Вибір і уточнення набору критеріїв є критичним кроком в процесі оцінки і/або вибору.
Рисунок 18.4 – Структура набору критеріїв
Критерії першого класу призначені для визначення функціональних характеристик CASE-засобу. Вони у свою чергу підрозділяються на ряд груп і підгруп.
1. Середовище функціонування:
Проектне середовище:
- підтримка процесів життєвого циклу. Визначає набір процесів ЖЦ, які підтримує CASE-засіб. Прикладами таких процесів є аналіз вимог, проектування, реалізація, тестування і оцінка, супровід, забезпечення якості, управління конфігурацією і управління проектом, причому вони залежать від прийнятої користувачем моделі ЖЦ.
- область використання. Прикладами є системи обробки транзакцій, системи реального часу, інформаційні системи і так далі.
- розмір підтримуваних додатків. Визначає обмеження на такі величини, як кількість рядків коду, рівнів вкладеності, розмір бази даних, кількість елементів даних, кількість об'єктів конфігураційного управління.
ПЗ/технічні засоби:
- необхідні технічні засоби. Устаткування, необхідне для функціонування CASE-засобу, включаючи тип процесора, об'єм оперативної і дискової пам'яті.
- які технічні засоби підтримуються. Елементи устаткування, які можуть використовуватися CASE-засобом, наприклад, пристрої введення/виводу.
- потрібне ПЗ. ПЗ, необхідне для функціонування CASE-засобу, включаючи операційні системи і графічні оболонки.
- яке ПЗ підтримується. Програмні продукти, які можуть використовуватися CASE-засобом.
Технологічне середовище:
- відповідність стандартам технологічного середовища. Такі стандарти стосуються мови, бази даних, репозиторія, комунікацій, графічного інтерфейсу користувача, документації, розробки, управління конфігурацією, безпеки, стандартів обміну інформацією і інтеграції по даним, по управлінню і по призначеному для користувача інтерфейсу.
- сумісність з іншими засобами. Здібність до взаємодії з іншими засобами, включаючи безпосередній обмін даними (прикладами таких засобів є текстові процесори, бази даних і інші CASE-засоби). Можливість перетворення репозиторія або його частини в стандартний формат для обробки іншими засобами.
- методологія, яка підтримується. Набір методів і методик, підтримуваних CASE-засобом. Прикладами є структурний або об'єктно-орієнтований аналіз і проектування.
- мови, які підтримуються. Всі мови, які використовуються CASE-засобом. Прикладами таких мов є мови програмування (Кобол, Ада, С), мови баз даних і мови запитів (DDL, SQL), графічні мови (Postscript, HPGL), мови специфікацій проектних вимог і інтерфейси операційних систем (мови управління завданнями).
2. Функції, орієнтовані на фази життєвого циклу:
Моделювання:
Дані критерії визначають здатність виконання функцій, необхідних для специфікації вимог до ПЗ і перетворення їх в проект:
- побудова діаграм. Можливість створення і редагування діаграм різних типів, що представляють інтерес для користувача.
- графічний аналіз. Можливість аналізу графічних об'єктів, а також зберігання і представлення проектної інформації в графічному уявленні. В більшості випадків графічні аналізатори інтегровані із засобами побудови діаграм.
- введення і редагування специфікацій вимог і проектних специфікацій. До специфікацій такого роду відносяться описи функцій, даних, інтерфейсів, структури, якості, продуктивності, технічних засобів, середовища, витрат і графіків.
- мова специфікації вимог і проектних специфікацій. Можливість імпорту, експорту і редагування специфікацій з використанням формальної мови.
- моделювання даних. Можливість вводу і редагування інформації, що описує елементи даних системи і їх відношення.
- моделювання процесів. Можливість введення і редагування інформації, що описує процеси системи і їх відношення.
- проектування архітектури ПЗ. Проектування логічної структури ПЗ - структури модулів, інтерфейсів і інш.
- імітаційне моделювання. Можливість динамічного моделювання різних аспектів функціонування системи на основі специфікацій вимог і/або проектних специфікацій, включаючи зовнішній інтерфейс і продуктивність (наприклад, час відгуку, коефіцієнт використання ресурсів і пропускну спроможність).
- прототипування. Можливість проектування і генерації попереднього варіанту всієї системи або її окремих компонент на основі специфікацій вимог і/або проектних специфікацій.
- генерація екранних форм. Можливість генерації екранних форм на основі специфікацій вимог і/або проектних специфікацій.
- можливість трасування. Можливість крізного аналізу функціонування системи від специфікації вимог до кінцевих результатів (встановлення і відстежування відповідностей і зв'язків між функціональними і іншими зовнішніми вимогами до ІС, технічними рішеннями і результатами проектування). Пряме трасування (перевірка обліку всіх вимог) і зворотне трасування (пошук проектних рішень, не пов'язаних ні з якими зовнішніми вимогами).
- синтаксичний і семантичний контроль проектних специфікацій. Контроль синтаксису діаграм і типів їх елементів, контроль декомпозиції функцій, перевірка специфікацій на повноту і несуперечність.
- інші види аналізу. Конкретні додаткові види аналізу можуть включати алгоритми, потоки даних, нормалізацію даних, використання даних, призначений для користувача інтерфейс.
- автоматизоване проектування звітів.
Реалізація:
Реалізація зачіпає функції, пов'язані із створенням елементів системи (програмних кодів) або модифікацією існуючої системи. Багато хто з перерахованих нижче критеріїв залежить від конкретних мов і включають наступні:
- синтаксично кероване редагування. Можливість введення і редагування початкових кодів на одному або декількох мовах з одночасним синтаксичним контролем.
- генерація коду. Можливість генерації коду на одному або декількох мовах на основі проектних специфікацій. Типи коду, що генерується, можуть включати звичайний програмний код, схему бази даних, запити, екрани/меню.
- компіляція коду.
- конвертація початкового коду. Можливість перетворення коду з однієї мови в іншу.
- аналіз надійності. Можливість кількісно оцінювати параметри надійності ПЗ, такі, як кількість помилок і т.д.
- реверсний інжиніринг. Можливість аналізу існуючих початкових кодів і формування на їх основі проектних специфікацій.
- реструктуризація початкового коду. Можливість модифікації формату і/або структури існуючого початкового коду.
- аналіз початкового коду. Прикладами такого аналізу можуть бути визначення розміру коду, обчислення показників складності, генерація перехресних посилань і перевірка на відповідність стандартам.
- відладка. Типові функції відладки - трасування програм, виділення вузьких місць і найбільш часто використовуваних фрагментів коду і т.д.
Тестування:
Критерії тестування наступні:
- опис тестів. Типові можливості включають генерацію тестових даних, алгоритмів тестування, необхідних результатів і т.д.
- фіксація і повторення дій оператора. Можливість фіксувати дані, що вводяться оператором за допомогою клавіатури, миші і так далі, редагувати їх і відтворювати в тестових прикладах.
- автоматичний запуск тестових прикладів.
- регресійне тестування. Можливість повторення і модифікації раніше виконаних тестів для визначення відмінностей в системі і/або середовищі.
- автоматизований аналіз результатів тестування. Типові можливості включають порівняння очікуваних і реальних результатів, порівняння файлів, статистичний аналіз результатів і ін.
- аналіз тестового покриття. Оснащеність засобами контролю початкового коду і аналіз тестового покриття. Перевіряються, зокрема, звернення до операторів, процедур і змінних.
- аналіз продуктивності. Можливість аналізу продуктивності програм. Аналізуючи параметри продуктивності можуть включати використання центрального процесора, пам’яті, звернення до певних елементів даних і/або сегментам коду, тимчасові характеристики і т.д.
- аналіз виняткових ситуацій в процесі тестування.
- динамічне моделювання середовища. Зокрема, можливість автоматично генерувати модельовані вхідні дані системи.
3. Загальні функції:
Приведені нижче критерії визначають функції CASE-засобів, що охоплюють всю сукупність фаз ЖЦ. Підтримка всіх цих функцій здійснюється за допомогою репозиторія.
Документування:
- редагування текстів і графіки. Можливість вводити і редагувати дані в текстовому і графічному форматі.
- редагування за допомогою форм. Можливість підтримувати форми, визначені користувачами, вводити і редагувати дані відповідно до форм.
- можливості видавничих систем.
- підтримка функцій і форматів гіпертексту.
- відповідність стандартам документування.
- автоматичне витягання даних з репозиторія і генерація документації по специфікаціях користувача.
Управління конфігурацією:
- контроль доступу і змін. Можливість контролю доступу на фізичному рівні до елементів даних і контролю змін. Контроль доступу включає можливості визначення прав доступу до компонентів, а також витягання елементів даних для модифікації, блокування доступу до них на час модифікації і приміщення назад в репозиторій.
- відстежування модифікацій. Фіксація і ведення журналу всіх модифікацій, внесених до системи в процесі розробки або супроводу.
- управління версіями. Ведення і контроль даних про версії системи і всіх її компонентів.
- облік стану об'єктів конфігураційного управління. Можливість отримання звітів про всі послідовні версії, вміст і стан різних об'єктів конфігураційного управління.
- генерація версій і модифікацій. Підтримка призначеного для користувача опису послідовності дій, потрібних для формування версій і модифікацій, і автоматичне виконання цих дій.
- архівація. Можливість автоматичної архівації елементів даних для подальшого використання.
Управління проектом:
- управління роботами і ресурсами. Контроль і управління процесом проектування ІС в термінах структури завдань і призначення виконавців, послідовності їх виконання, завершеності окремих етапів проекту і проекту в цілому. Можливість підтримки планових даних, фактичних даних і їх аналізу. Типові дані включають графіки (з урахуванням календаря, робочого годинника, вихідних і ін.), комп'ютерні ресурси, розподіл персоналу, бюджет і ін.
- оцінка. Можливість оцінювати витрати, графік і інші проектні параметри, що вводяться користувачами.
- управління процедурою тестування. Підтримка управління процедурами і програмою тестування, наприклад, управління розкладом планованих процедур, фіксація і запис результатів тестування, генерація звітів і т.д.
- управління якістю. Введення відповідних даних, їх аналіз і генерація звітів.
- коректуючі дії. Підтримка управління коректуючими діями, включаючи обробку повідомлень про проблемні ситуації.
Контрольні питання та завдання:
1) Як розміщуються елементи на SADT-діаграмі?
2) Чи являється SADT-модель специфікацією?
3) Які є методи для автоматизованої підтримки SADT?
4) Для чого використовуються в SADT-моделі глосарії, рисунки та тексти?
5) На якому рівні можна завершити декомпозицію моделі?