Технологія створення програмних продуктів (2024)

Тема 3. Проектування програмного забезпечення

Лекція 5. Візуальне моделювання інформаційних систем


Лекція 5

Візуальне моделювання інформаційних систем

5.1        Візуальні моделі

Використання UML у проектах

5.2        Unified Modeling Language (UML)

Unified Modeling Language – уніфікована мова моделювання для опису, візуалізації та документування об'єктно-орієнтованих систем в процесі їх аналізу и проектування

5.2.1        Принципи моделювання в UML:

UML невід'ємною частиною уніфікованого процесу розробки програмного забезпечення (RUP). UML є мовою широкого профілю, це відкритий стандарт, що використовує графічні позначення для створення абстрактної моделі системи, називаної UML-моделлю. UML був створений для визначення, візуалізації, проектування й документування в основному програмних систем.

5.2.2        Розробники UML

З'явилась у 1995 р. З 1997р. розробник - консорціум OMG (Object Management Group, omg.org), для розробки індустріальних стандартів на процеси створення масштабованих неоднорідних розподілених об'єктних середовищ

5.2.3        Версії UML

Найновіша версія UML 2.5.1 - грудень 2017 [1]

  1. UML 2.4.1 (серпень 2011) - міжнародний стандарт ISO 19505:2012 Information technology:
  2. ISO 19505-1:2012 Information technology - Object Management Group Unified Modeling Language (OMG UML) -- Part 1: Infrastructure
  3. ISO 19505-2:2012 Information technology - Object Management Group Unified Modeling Language (OMG UML) -- Part 2: Superstructure

UML Infrastructure - опис базових механізмів, а також архітектури, профілів, стереотипів

UML Superstructure - опис статичних і динамічних елементів мови

UML Diagram interchange - опис формату обміну додатковими даними про діаграмах (форматування, розташування елементів і т.д.) між різними інструментами

OCL Specifications - опис об'єктного мови обмежень OCL (Object Constraint Language)

5.2.4        Базові визначення

Класифікатор (classifier) – опис загальних властивостей множини однотипних об'єктів, їх структури та поведінки.

Класифікатори мають імена в певному простанстві імен, екземпляри (примірники instance), екземпляри можут бути прямими (direct instance) та непрямими . Класифікатори бувають абстрактними (abstract, не мають прямих екземплярів) та конкретними (concrete).

Екземпляр (instance) – примірник класифікатору у певному просторі імен

Опис поведінки класифікатора

Операція (operation) – реалізація сервісу, який викликається будь-яким екземпляром класифікатора для реалізації його поведінки

Опис структури класифікатора

Атрибут (attribute) – властивість класифікатора, набір значень, які можуть приймати екземпляри

Shape1

5.2.5        Характеристики:

видимість (visibility)

область дії (scope)

кратність (multiplicity)

5.2.6        Видимість (visibility)

#

protected

захищений

~

package

пакетний

Знак

Ключове слово

Видимість

+

public

відкритий

-

private

закритий

Кратність (multiplicity)

1

один екземпляр (singleton)

Значення

Кратність

0

без екземплярів (utility)

*

багато екземплярів

Класифікатори їх примірники та інші складові елементи моделей мають видимість (visibility).

Класифікатори мають кратність (multiplicity).

Класифікатор із кратністю 0 (без екземплярів) – служба (utility)

Класифікатор із кратністю 1 – singleton

5.2.7        Групи класифікаторів

Сутніcть (entity) – абстракція, що є основним об’єкто-орієнтованим елементом мови UML

Відносина (relationship) – зв'язок сутностей

Діаграма (diagram) – графичне представлення сукупності элементів моделі у формі зв’язаного графу, вершинам та ребрам якого приписується визначена семантика

5.2.8        Метамодель класифікатора

5.3        Нотація UML. Сутності

5.3.1        Структурні сутності

Об'єкт (object) – унікальна сутність, що інкапсулює в собі стан і поведінку.

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

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

Кооперація (collaboration) - сукупність об'єктів, які взаємодіють для досягнення певної мети

Актор/Дійова особа (actor) - сутність, яка перебуває поза модельованою системою, і безпосередньо взаємодіє з нею для отримання значущого результату.

Компонент (component) - модульна частина системи з чітко визначеним набором необхідних і наданих інтерфейсів

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

Вузол (node) - обчислювальний ресурс, на якому розміщуються і при необхідності виконуються артефакти.

5.3.2        Поведінкові сутності

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

Діяльність (activity) - окремий випадок стану, який характеризується тривалими (за часом) НЕ атомарними обчисленнями.

Дія (action) - примітивне атомарне обчислення.

Варіант використання / прецедент (use case) – безліч сценаріїв, об'єднаних за деяким критерієм, які описують послідовності виконуваних системою дій, що надають значимий для деякого актора результат.

Сутності

5.3.3        Сутності групування – організуючі частини моделі UML.

5.3.4        Сутності-примітки – пояснювальні частини моделі UML

5.4        Відносини

Асоціація (association) – відношення, що описує сукупність змістовних або логічних зв'язків між об'єктами.

типи:

Залежність (dependency) – відношення (1), при якому зміна однієї сутності (незалежної) (3) може вплинути на семантику іншої (залежної) (2).

Узагальнення (generalization) відношення (1), при якому об'єкт-нащадок (child) (2) може бути підставлений замість об'єкта-батька (parent).

Реалізація (realization) – відношення (1), при якому один класифікатор визначає зобов'язання (3), а інший гарантує його виконання (2).

Між варіантами викристання (UC) залежність включення (include)

залежність розширення (extend)

5.5        Структурні діаграми

Структурні діаграми (Structure Diagrams) – моделі, призначені для опису статичної структури сутностей або елементів системи, включаючи їх класи, інтерфейси, атрибути та відношення.

Внутрішньої структури (Composite structure diagram) - тип статичної структурної схеми, яка показує внутрішню структуру класу і взаємодії, які ця структура робить можливим.

Shape2

5.6        Діаграми поведінки

Діаграми поведінки (Behavior Diagrams) – моделі, призначені для опису процесу функціонування елементів системи, включаючи їх методи та взаємодію між ними, а також процес зміни станів окремих елементів та системи в цілому.

Shape3

5.6.1        Діаграма варіантів використання (Use case diagram)

Діаграма варіантів використання показує дієвих осіб (акторів/актантів), варіанти використання (прецеденти) системи та їх взаємодію.

Приклад use case діаграми.

Вимоги.

Завдання: Програмний додаток визначення медичної дезінформації в онлайн-спільнотах

Вимоги користувачів:

Актори

Варіанти використання

Високорівнева діаграма

Деталізована діаграма

Приклад діаграми варіантів використання. Bank ATM

Діаграма діяльності показує послідовність виконання системою певної дії;

Діаграма автомата показує стани, зміну станів і події у об’єкті або частині системи;

Діаграма послідовності показує об’єкти і послідовність методів, якими ці об’єкти викликають інші об’єкти;

Діаграма класів (Class diagram), діаграма компонентів (Component diagram)

Клас визначає атрибути і методи набору об’єктів:

Діаграма класів показує класи, що складають систему, та їх взаємодію;

Діаграма компонентів показує програмні компоненти високого рівня.

Використання діаграм UML на прикладі процесів RUP

Протиріччя та адекватність моделей в нотації UML


© 2023 СумДУ
created with Lectur'EDbeta