ного опису і додають при необхідності власні структури даних і методи. Визначення похідних класів, при якому задаються тільки відмінності або уточнення, у величезній мірі економить час і зусилля при виробництві та використанні специфікацій і програмного коду.
Важливою якістю об'єктного підходу є узгодженість моделей діяльності організації та моделей проектованої системи від стадії формування вимог до стадії реалізації. Вимога узгодженості моделей виконується завдяки можливості застосування абстрагування, модульності, поліморфізму на всіх стадіях розробки. Моделі ранніх стадій можуть бути безпосередньо піддані порівнянні з моделями реалізації. За об'єктним моделям може бути простежено відображення реальних сутностей модельованої предметному області (організації) в об'єкти і класи інформаційної системи.
2.1 Варіанти використання
Протягом досить тривалого періоду часу в процесі як об'єктно-орієнтованого, так і традиційного структурного проектування розробники використовували типові сценарії, які допомагають краще зрозуміти вимоги до системи. Ці сценарії трактувалися вельми неформально - вони майже завжди використовувалися і вкрай рідко документувалися. Івар Якобсон вперше ввів поняття варіант використання (use case) і надав йому таку значимість, що він перетворився в основний елемент розробки та планування проекту.
Варіант використання являє собою послідовність дій (транзакцій), виконуваних системою у відповідь на подію, що ініціюється деяким зовнішнім об'єктом (дійовою особою). Варіант використання описує типове взаємодія між користувачем і системою. Наприклад, два типові варіанти використання звичайного текстового процесора - зробити деякий текст напівжирним і створити індекс raquo ;. Навіть на такому простому прикладі можна виділити ряд властивостей варіанти використання: він охоплює деяку очевидну для користувачів функцію, може бути як невеликим, так і досить великим і вирішує для користувача деяку дискретну задачу У найпростішому випадку варіант використання визначається в процесі обговорення з користувачем тих. функцій, які він хотів би реалізувати.
Коли Якобсон в 1994 р запропонував варіанти використання в якості основних елементів процесу розробки ПЗ, він також запропонував застосовувати для їх наочного подання діаграми варіантів використання. На рис. 1 показані деякі варіанти використання для системи торгової організації; людські фігурки тут позначають дійових осіб, овали - варіанти використання, а лінії і стрілки - різні зв'язки між діючими особами та варіантами використання.
Рис. 1 Діаграма варіантів використання
Дійова особа (actor) - це роль, яку користувач грає по
відношенню до системи. На рис. 1 чотири діючі особи: Менеджер по продажам, Оптовий торговець, Продавець і Система обліку. Дійові особи представляють собою ролі, а не конкретних людей або найменування робіт.
Незважаючи на те, що на діаграмах варіантів використання вони зображуються у вигляді стилізованих людських фігурок, дійова особа може також бути зовнішньою системою, якій необхідна деяка інформація від даної системи (наприклад, Система обліку). Показувати на діаграмі дійових осіб системи слід тільки в тому випадку, коли їм дійсно необхідні деякі варіанти використання.
Всі варіанти використання так чи інакше пов'язані із зовнішніми вимогами до функціональності системи. Якщо Системі обліку потрібен файл, то це вимога повинна бути задоволена. Варіанти використання завжди слід аналізувати разом з дійовими особами системи, визначаючи при цьому реальні завдання користувачів і розглядаючи альтернативні способи вирішення цих завдань.
Дійові особи можуть грати різні ролі по відношенню до варіанту використання. Вони можуть користуватися його результатами або можуть самі безпосередньо в ньому брати участь. Значимість різних ролей дійової особи залежить від того, яким чином використовуються його зв'язки.
Хорошим джерелом для ідентифікації варіантів використання служать зовнішні події. Слід почати з перерахування всіх подій, що відбуваються у зовнішньому світі, на які система повинна якимось чином реагувати. Яке-небудь конкретне подія може спричинити за собою реакцію системи, що не вимагає втручання користувачів, або, навпаки, викликати чисто налаштовувану реакцію. Ідентифікація подій, на які необхідно реагувати, допомагає виділити варіанти використання.
На додаток до зв'язків між діючими особами та варіантами використання існують два інших типи зв'язків (див. рис.1):
використання (uses) і розширення (extends) між варіантами використання. Зв'язок типу розширення застосовується тоді, коли один варіан...