Визначення і історія створення мови UML. Склад діаграм UML



Уніфікована мова моделювання UML (Unified Modeling Language) - це мова для визначення, уявлення, проектування та документування програмних систем, організаційно-економічних систем, технічних систем та інших систем різної природи. UML містить стандартний набір діаграм і нотацій найрізноманітніших видів.

UML є спадкоємцем методів об'єктно-орієнтованого аналізу і проектування, що з'явилися в кінці 1980-х і початку 1990-х років. Створення UML почалося в кінці 1994 р з об'єднання методів Booch і OMT (Object Modeling Technique) під егідою компанії Rational Software. До кінця 1995 Граді Буч і Джеймс Рамбо створили першу специфікацію Unified Method, версія 0.8. Тоді ж в 1995 р до них приєднався творець методу OOSE (Object-Oriented Software Engineering) Івар Якобсон. UML є уніфікацією методів Буча, Рамбо і Якобсона. Розробка UML переслідувала наступні цілі:

· надати розробникам єдину мову візуального моделювання;

· передбачити механізми розширення і спеціалізації мови;

· забезпечити незалежність мови від мов програмування і процесів розробки;

· інтегрувати накопичений практичний досвід.

UML широко використовується в індустрії ПЗ. Практично всі світові виробники CASE-засобів підтримують UML в своїх продуктах. У 2004 році Object Management Group прийняла UML версії 2.0. Раніше в 1997 році OMG прийняла стандарт UML 1.1.

Склад діаграм UML:

· структурні:

o Діаграма класів, що моделюють статичну структуру класів системи і зв'язку між класами;

o діаграми компонентів, що моделюють ієрархії компонентів ПО;

o діаграми розміщення, що моделюють фізичну архітектуру системи;

· поведінкові:

o діаграми варіантів використання, що моделюють бізнес-процеси і вимоги до ПЗ;

o діаграми взаємодії (діаграми послідовності і комунікаційні діаграми), що моделюють обмін повідомленнями між об'єктами;

o діаграми станів, що моделюють поведінку об'єктів;

o діаграми діяльності, що моделюють поведінку системи в цілому і потоки управління.

В UML 2.0 введені нові типи діаграм, яких раніше не було: діаграми огляду взаємодії, тимчасові діаграми і діаграми складових структур.

Варіанти використання і діаграми варіантів використання. діаграми взаємодії  

Варіант використання - це дії у відповідь ПО, що є реакцією на подію, що ініціюється ззовні. Варіант використання описує типове взаємодія між користувачем і ПО. Він відображає уявлення про поведінку системи з точки зору користувача. На діаграмах варіанти використання представляються у вигляді овалів.

Дійова особа - це роль, яку користувач грає по відношенню до системи. На діаграмах варіантів використання вони зображуються у вигляді стилізованих людських фігурок. Дійовою особою може бути користувач-людина, зовнішня програмна система або час, якщо запуск будь-яких подій в системі залежить від часу.

Діаграми варіантів використання показують, які дійові особи ініціюють варіанти використання (від них йде стрілка до варіанту використання). З діаграм зрозуміло, які дійові особи отримують дані в ході виконання варіанта використання (до них йде стрілка від варіанту використання).

Правила побудови діаграм варіантів використання:

1. Не слід моделювати зв'язку між діючими особами, оскільки це не належить до системи.

2. Не слід поєднувати стрілкою два варіанти використання.

3. Кожен варіант використання повинен бути ініційований дійовою особою.

Діаграма варіантів використання є найбільш загальним поданням функціональних вимог до системи. Детально функціональні вимоги описуються в документі, званому «сценарій варіанта використання» або «потік подій». Він докладно документує процесу взаємодії дійової особи з системою, що реалізується в рамках варіанту використання.

Опис потоку подій включає наступні розділи:

1) короткий опис;

2) передумови;

3) основний потік подій;

4) альтернативні потоки подій;

5) постумови;

6) розширення і підлеглі потоки.

Добре написаний потік подій повинен легко читатися і складатися з пропозицій, написаних в єдиній граматичній формі. Правила складання опису потоку подій:

· слід використовувати прості речення;

· потрібно явно вказувати в кожному пункті, хто виконує дію - дійова особа або система;

· не слід включати в потоко подій занадто незначні дії;

· в описі основного потоку не слід розглядати помилкові ситуації;

· некоректні дії користувача і внутрішні помилки слід описувати в альтернативних потоках.

У діаграмах варіантів використання може бути присутнім кілька типів зв'язків:

· зв'язку комунікації (лінія зі стрілкою, що позначає зв'язок між варіантом використання і дійовою особою);

· зв'язку включення (пунктирна лінія зі стрілкою, що позначає включення багаторазово використовуваної функціональності, представленої у вигляді абстрактного варіанти використання);

· зв'язку розширення (пунктирна лінія зі стрілкою, яка вказує на особливий випадок, описаний в абстрактному варіанті використання);

· зв'язку узагальнення (лінія з трикутним кінцем, що показує, що у кількох дійових осіб є спільні риси і відмінності).

діаграми взаємодії описують поведінку взаємодіючих груп об'єктів в рамках потоку подій. На діаграмі відображається ряд об'єктів та шляхів сполучення, якими вони обмінюються між собою. Повідомлення - це засіб, за допомогою якого об'єкт-відправник запитує у об'єкта-одержувача виконання однієї з його операцій. Існує два види діаграм взаємодії: діаграми послідовності і комунікаційні діаграми (раніше звані кооперативними).

діаграми послідовності відображають тимчасову послідовність подій, що відбуваються в рамках варіанту використання. Всі дійові особи і об'єкти системи зображуються у верхній частині діаграми. Від кожного з них вниз проведена вертикальна риса - «лінія життя». Стрілки, відповідні повідомленнями, які передаються між дійовою особою і об'єктом або між об'єктами, з'єднують лінії життя відправника і одержувача повідомлення. Інформацію про відправку повідомлень відповідає їх розміщення на діаграмі зверху вниз.

Другим видом діаграм взаємодії є комунікаційні діаграми. Як і діаграми послідовності, вони відображають потік подій варіанту використання. На комунікаційних діаграм увагу сконцентровано на зв'язках між об'єктами. З них легше зрозуміти зв'язку між об'єктами, однак, важче усвідомити послідовність подій. Об'єкти і / або дійові особи, що обмінюються повідомленнями з'єднуються лініями, над яким у вигляді стрілок позначаються повідомлення. Нумерація повідомлень вказує їх послідовність в часі.

Діаграмми класів. Діаграми станів. Діаграми діяльності. Діаграми компонентів і діаграми розміщення

діаграма класів визначає класи системи і різного роду статичні зв'язки, які існують між ними. На діаграмах класів зображуються також атрибути класів, операції класів та обмеження, які накладаються на зв'язку між класами. Класи зображуються у вигляді прямокутників, асоціації - у вигляді ліній зі стрілками, агрегації і композиції - у вигляді ліній з ромбом на кінці, зв'язок узагальнення - у вигляді лінії з трикутником на кінці, залежність - у вигляді пунктирною лінії зі стрілкою. Відповідальність класів зображується на діаграмах за допомогою стереотипів. Клас може бути позначений як граничний (boundary), якщо він відповідає за взаємодію з користувачем або зовнішньою системою. Клас-контролер реалізує бізнес-логіку програми. Клас-сутність відповідає за подання даних.

Для угруповання класів, що володіють деякою спільністю, застосовуються пакети. Пакет - загальний механізм для організації елементів моделі в групи. Кожен пакет - це група елементів моделі, іноді супроводжується діаграмами, що пояснюють структуру групи. Кожен елемент моделі може входити тільки в один пакет. Діаграми пакетів відображають залежності між пакетами, що виникають, якщо елемент одного пакета залежить від елемента іншого.

Пакети також використовуються для подання підсистем. Підсистема - це комбінація пакету (оскільки вона включає деякий безліч класів) і класу (оскільки вона володіє поведінкою, тобто реалізує набір операцій, які визначені в її інтерфейси). Зв'язок між підсистемою і інтерфейсом називається зв'язком реалізації.

діаграми станіввизначають всі можливі стани, в яких може перебувати конкретний об'єкт, а також процес зміни станів об'єкта в результаті настання деяких подій. На кожній діаграмі станів є одне початковий стан і одне (або більше одного) фінальне. Початковий стан виділено чорною точкою, воно відповідає стану об'єкта, коли він тільки що був створений. Фінальний стан позначається чорною точкою в білому кружку, воно відповідає стану об'єкта безпосередньо перед його знищенням. Коли об'єкт знаходиться в якомусь конкретному стані, можуть виконуватися різні процеси. Вони, називаються діяльностями і вказуються на діаграмі. Діяльність - це переривається поведінку. Воно може виконуватися до свого завершення, поки об'єкт знаходиться в даному стані, або може бути перервано переходом об'єкта в інший стан. Діяльність зображують всередині самого стану, їй має передувати слово do і двокрапка. Для стану можуть бути вказані вхідні і вихідні дії. Вхідний дію виконується, коли об'єкт переходить в даний стан, як частина цього переходу. На відміну від діяльності, вхідний дію розглядається як неперервні. Вхідний дію також показують всередині стану, йому передує слово entry і двокрапка. Вихідна дія здійснюється як складова частина виходу з цього стану. Воно також є неперервним. Його зображують всередині стану, йому передує слово exit і двокрапка. Вхідний дію виконується, коли об'єкт переходить в даний стан, як частина цього переходу. На відміну від діяльності, вхідний дію розглядається як неперервні. Вхідний дію також показують всередині стану, йому передує слово entry і двокрапка. Вихідна дія здійснюється як складова частина виходу з цього стану. Воно також є неперервним. Його зображують всередині стану, йому передує слово exit і двокрапка. Вхідний дію виконується, коли об'єкт переходить в даний стан, як частина цього переходу. На відміну від діяльності, вхідний дію розглядається як неперервні. Вхідний дію також показують всередині стану, йому передує слово entry і двокрапка. Вихідна дія здійснюється як складова частина виходу з цього стану. Воно також є неперервним. Його зображують всередині стану, йому передує слово exit і двокрапка.

Переходом (transition) називається переміщення об'єкта з одного стану в інший. На діаграмі всі переходи зображують у вигляді ліній зі стрілками. Об'єкт може перейти в той же стан, в якому він зараз перебуває. З переходом можна зв'язати подія, що обгороджує умова і дію. Подія викликає перехід з одного стану в інший. Подія розміщують на діаграмі уздовж лінії переходу. Обмежують умови визначають, коли перехід може відбутися, а коли ні. Їх зображають на діаграмі уздовж лінії переходу після імені події, укладаючи в квадратні дужки. Дія, що є частиною переходу, зображують уздовж лінії переходу після імені події, йому передує коса риска. Для деяких станів вказують вкладені підстану. У них може бути вказано так званий історичний стан,

Діаграми станів створюють лише для класів, екземпляри яких мають складну поведінку.

діаграми діяльностікорисні в описі поведінки, що включає велику кількість паралельних процесів. Також їх можна застосовувати для подання потоків подій варіантів використання в наочній графічній формі.

Основним елементом діаграм діяльності є діяльність. Інтерпретація цього терміна залежить від тієї точки зору, з якої будується діаграма (це може бути деяка задача, яку необхідно виконати вручну або автоматизованим способом, або операція класу). Діяльність зображується у вигляді закругленого прямокутника з текстовим описом. Будь-яка діаграма діяльності повинна мати початкову точку, що визначає початок потоку подій. Кінцева точка необов'язкова. На діаграмі може бути кілька кінцевих точок, але тільки одна початкова. На діаграмі можуть бути присутніми об'єкти і потоки об'єктів, в тих випадках, якщо об'єкт використовується або змінюється в одній з діяльностей. Потік об'єктів відзначається пунктирною стрілкою від діяльності до змінюваному об'єкту або від об'єкта до діяльності, що використовує об'єкт. Переходи (стрілки) показують, як потік управління переходить від однієї діяльності до іншої. Якщо для переходу визначено подія, то перехід виконується тільки після настання такої події. Обмежують умови визначають, коли перехід може відбутися, а коли ні. Розгалуження, а також злиття потоків управління зображується ромбом. Якщо необхідно показати, що дві або більше гілок потоку виконуються паралельно, використовуються лінійки синхронізації (жирні лінії).

Діаграми діяльності слід використовувати в наступних ситуаціях:

при аналізі потоків подій в конкретному варіанті використання;

при аналізі потоків подій у взаємодіючих варіантах використання (в цьому випадку діаграма з допомогою вертикальних пунктирних ліній - «плавальних доріжок» поділяється на зони, де показуються потоки подій одного з варіантів використання, а зв'язок між різними потоками зображується у вигляді переходів або потоків об'єктів).

діаграми компонентів моделюють фізичний рівень системи. На них зображуються компоненти ПО і зв'язку між ними. На такий діаграмі зазвичай виділяють два типи компонентів: виконувані компоненти і бібліотеки коду. Кожен клас моделі (або підсистема) перетворюється в компонент вихідного коду. Між окремими компонентами зображують залежності, відповідні залежностям на етапі компіляції або виконання програми. У моделі системи може бути кілька діаграм компонентів, залежно від числа підсистем або виконуваних файлів. Кожна підсистема є пакетом компонентів. Діаграми компонентів застосовуються тими учасниками проекту, хто відповідає за компіляцію і збірку системи.

діаграма розміщення відображає фізичні взаємозв'язку між програмними і апаратними компонентами системи. Вона є хорошим засобом для того, щоб показати розміщення об'єктів і компонентів в розподіленої системі. Її основні елементи:

· вузол (node) - обчислювальний ресурс - процесор або інший пристрій (дискова пам'ять, контролери різних пристроїв і т.д.);

· з'єднання (connection) - канал взаємодії вузлів.

Для вузла можна задати виконуються на ньому.

Діаграма розміщення використовується менеджером проекту, користувачами, архітектором системи і експлуатаційним персоналом, щоб зрозуміти фізичне розміщення системи і розташування її окремих підсистем.


Дата добавления: 2018-08-06; просмотров: 425; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!