Введення в UML

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

Використання мови UML грунтується на наступних загальних принципах моделювання:


  • абстрагування – У модель слід включати тільки ті елементи проектованої системи, які мають безпосереднє відношення до виконання їй своїх функцій або свого цільового призначення. Інші елементи опускаються, щоб не ускладнювати процес аналізу та дослідження моделі;
  • многомодельность – Ніяка єдина модель не може з достатнім ступенем точності описати різні аспекти системи. Допускається описувати систему деяким числом взаємозалежних уявлень, кожне з яких відображає певний аспект її поведінки або структури;
  • ієрархічна побудова – При описі системи використовуються різні рівні абстрагування і деталізації в рамках фіксованих уявлень. При цьому перше представлення системи описує її в найбільш загальних рисах і є поданням концептуального рівня, а наступні рівні розкривають різні аспекти системи з зростаючої ступенем деталізації аж до фізичного рівня. Модель фізичного рівня в UML відображає компонентний склад проектованої системи з точки зору її реалізації на апаратурної і програмної платформах конкретних виробників.

Сутності в UML

У UML визначено чотири типи сутностей: структурні , поведінкові , группирующих і анотаційні . Сутності є основними об'єктно-орієнтованими елементами мови, за допомогою яких створюються моделі.

Структурні сутності – Це імена іменники в моделях на мові UML. Як правило, вони представляють статичні частини моделі, відповідні концептуальним або фізичним елементам системи. Прикладами структурних сутностей є «клас», «інтерфейс», «кооперація», «прецедент», «компонент», «вузол», «актор».

Поведінкові сутності є динамічними складовими моделі UML. Це дієслова, які описують поведінку моделі в часі і в просторі. Існує два основних типи поведінкових сутностей:


  • взаємодія – це поведінка, суть якого полягає в обміні повідомленнями між об'єктами в рамках конкретного контексту для досягнення певної мети;
  • автомат – алгоритм поведінки, що визначає послідовність станів, через які об'єкт або взаємодія проходять у відповідь на різні події.

Группирующих сутності є організуючими частинами моделі UML. Це блоки, на які можна розкласти модель. Така первинна сутність мається на єдиному екземплярі – це пакет.

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

Анотаційні сутності – Це пояснювальні частини моделі UML: коментарі для додаткового опису, роз'яснення чи зауваження до будь-якого елементу моделі. Є тільки один базовий тип анотаційні елементів – примітка. Примітка використовують, щоб забезпечити діаграми коментарями чи обмеженнями, вираженими у вигляді неформального або формального тексту.


Відносини в UML

У мові UML визначено такі типи відносин: залежність , асоціація , узагальнення і реалізація . Ці відносини є основними єднальними конструкціями UML і також як сутності застосовуються для побудови моделей.

Залежність (Dependency) – це семантичне відношення між двома сутностями, при якому зміна однієї з них, незалежної, може вплинути на семантику іншого, залежною.

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

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

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


  • між інтерфейсами і реалізують їх класами чи компонентами;
  • між прецедентами і реалізують їх кооперації.

Загальні механізми UML

Для точного опису системи в UML використовуються, так звані, загальні механізми :


  • специфікації (specifications);
  • доповнення (adornments);
  • ділення (common divisions);
  • розширення (extensibility mechanisms).

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

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

При моделюванні об'єктно-орієнтованих систем існує певний поділ експонованих сутностей.

По-перше, існує поділ на класи та об'єкти. Клас – це абстракція, а об'єкт – конкретне втілення цієї абстракції. У зв'язку з цим, практично всі конструкції мови характеризуються подвійністю «Клас / об'єкт». Так, є прецеденти та примірники прецедентів, компоненти і екземпляри компонентів, вузли та примірники вузлів. У графічному поданні для об'єкта прийнято використовувати той же символ, що і для класу, а назва підкреслювати.

По-друге, існує розподіл на інтерфейс і його реалізацію. Інтерфейс декларує зобов'язання, а реалізація представляє конкретне втілення цих зобов'язань та забезпечує точне проходження оголошеної семантиці. У зв'язку з цим, майже всі конструкції UML характеризуються подвійністю «інтерфейс / реалізація». Наприклад, прецеденти реалізуються кооперації, а операції – методами.

UML є відкритим мовою, тобто допускає контрольовані розширення , Щоб відобразити особливості моделей предметних областей. Механізми розширення UML включають:


  • стереотипи (Stereotype) – розширює словник UML, дозволяючи на основі існуючих елементів мови створювати нові, орієнтовані на вирішення конкретної проблеми;
  • помічені значення (Tagged value) – розширює властивості основних конструкцій UML, дозволяючи включати додаткову інформацію в специфікацію елемента;
  • обмеження (Constraints) – розширює семантику конструкцій UML, дозволяючи створювати нові і скасовувати існуючі правила.

Спільно ці три механізми розширення мови дозволяють модифікувати його відповідно до потреб проекту або особливостями технології розробки.


Види діаграм UML

Графічні зображення моделей системи в UML називаються діаграмами . У термінах мови UML визначені наступні їх види:


  • діаграма варіантів використання або прецедентів (use case diagram)
  • діаграма класів (class diagram)
  • діаграми поведінки (behavior diagrams)
  • діаграма станів (statechart diagram)
  • діаграма діяльності (activity diagram)
  • діаграми взаємодії (interaction diagrams) 
  • діаграма послідовності (sequence diagram) 
  • діаграма кооперації (collaboration diagram) 
  • діаграми реалізації (implementation diagrams)
  • діаграма компонентів (component diagram)
  • даграмма розгортання (deployment diagram)

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

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

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


  • зв'язку , Які надаються різними лініями на площині;
  • текст , Що міститься всередині меж окремих геометричних фігур;
  • графічні символи , Зображувані поблизу візуальних елементів діаграм.

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


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

 

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Трекбек і пінги

трекбеків / пінгів ще немає.

Відгуки

+зрозуміло все пояснено булоб би продовження для розказу про uml

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*