Первая страница
Наша команда
Контакты
О нас

    Головна сторінка



Конспект лекцій з дисципліни «Автоматизація проектування комп'ютерних систем» для студентів напряму 050102 «Системне програмування»

Конспект лекцій з дисципліни «Автоматизація проектування комп'ютерних систем» для студентів напряму 050102 «Системне програмування»




Сторінка5/9
Дата конвертації03.04.2017
Розмір4.22 Mb.
ТипКонспект
1   2   3   4   5   6   7   8   9

2.3Мова моделювання UML

2.3.1Введення в мову UML


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


UML – це мова для візуалізації, специфікації, конструювання і документування артефактів програмних систем.

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

Словник і правила такої мови, як UML, пояснюють, як створювати і читати добре певні моделі, але нічого не повідомляють про те, які моделі і в яких випадках треба створювати. Це задача усього процесу розробки програмного забезпечення.

Конструюва́ння - процес створення конструктором проекту певного об'єкта техніки, що полягає у визначенні форми, розмірів, взаємного розташування й параметрів частин й елементів конструкції об'єкта, його складових (агрегатів, систем, вузлів тощо), способу їхнього з'єднання, вибору матеріалів окремих елементів та розробки конструкторської документації.
Докуме́нт - базова теоретична конструкція, яка відноситься до всього, що може бути збережене або представлене, щоб служити як доказ для певної мети.
Специфіка́ція (англ. specification) - формалізований опис властивостей, характеристик і функцій об'єктів.
Програ́мне забезпе́чення (програ́мні за́соби) (ПЗ; англ. software) - сукупність програм системи обробки інформації і програмних документів, необхідних для експлуатації цих програм.
Процес розробки програмного забезпечення (англ. software development process, software process) - структура, відповідно до якої побудована розробка програмного забезпечення (ПЗ).


UML – мова візуалізації

У UML за кожним графічним символом стоїть добре певна семантика (см "The Unified Modeling Language Reference Manual").

Сема́нтика мовна (давніше семасіологія) - розділ мовознавства, пов'язаний з лексикологією; вивчає значення (теж у діахронному, іст. перекрої) слів і їх складових частин, словосполук і фразеологізмів. Слово походить від грецького слова σημαντικός (семантікос), «значимий», з σημαίνω (семаіно), «значити, вказувати» та також від σήμα (сема), «знак, позначка, символ».
UML (англ. Unified Modeling Language) - уніфікована мова моделювання, використовується у парадигмі об'єктно-орієнтованого програмування. Є невід'ємною частиною уніфікованого процесу розробки програмного забезпечення.
Що дозволяє модель, написану одним розробником, однозначно інтерпретувати іншим – або навіть інструментальною програмою.
Інтерпретатор мови програмування (interpreter) - програма чи технічні засоби, необхідні для виконання інших програм, вид транслятора, який здійснює пооператорну (покомандну, построкову) обробку, перетворення у машинні коди та виконання програми або запиту (на відміну від компілятора, який транслює у машинні коди всю програму без її виконання).
Програма (фр. programme письмове оголошення, порядок денний, від грец. prógramma вказівка) - заздалегідь затверджена (визначена) дія.



UML – мова специфікації

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

UML – мова конструювання

UML не є мовою візуального програмування, але моделі, створені з його допомогою, можуть бути безпосередньо перекладені різними мовами програмування. Іншими словами, UML-модель можна відобразити на такі мови, як Java, C , Visual Basic, і навіть на таблиці реляційної бази даних або стійкі об'єкти об'єктно-орієнтованої бази даних. Ті поняття, які переважно передавати графічно, так і представляються в UML; ті ж, які краще описувати в текстовому виді, виражаються за допомогою мови програмування.

Візуалізація - унаочнення, створення умов для візуального спостереження.
Пере́клад - відтворення оригіналу засобами іншої мови із збереженням єдності змісту і форми. Ця єдність досягається цілісним відтворенням ідейного змісту оригіналу в характерній для нього стилістичній своєрідності на іншій мовній основі.
Візуа́льне програмува́ння - спосіб створення програм шляхом маніпулювання графічними об'єктами замість написання програмного коду в текстовому вигляді.
Мо́ва програмува́ння (англ. Programming language) - це штучна мова, створена для передачі команд машинам, зокрема комп'ютерам. Мови програмування використовуються для створення програм, котрі контролюють поведінку машин, та запису алгоритмів.



UML – це мова документування

При випуску проекту окрім виконуваного коду виробляються і інші артефакти, у тому числі наступні:



  • вимоги до системи;
    Маши́нний код, маши́нна мова в інформатиці - набір команд (інструкцій), які виконуються безпосередньо центральним процесором комп'ютера без транслятора. Кожен тип центрального процесора має власний машинний код.


  • архітектуру;

  • проект;

  • початковий код;

  • проектні плани;

  • тести;

  • прототипи;

  • версії, та ін.

2.3.2Концептуальна модель UML


Мову UML можна представити концептуальною моделлю, яка включає три основні елементи (рис. 1), :

Рисунок 2.1 Концептуальна модель UML



  • базові будівельні блоки,

  • правила, що визначають, як ці блоки можуть поєднуватися між собою,

  • загальні механізми мови правил.
    Механі́зм (грец. μηχανή mechané - машина) - система тіл, що призначена для перетворення руху одного або декількох тіл у потрібний рух інших тіл. Механізм складає основу більшості машин і застосовується в різноманітних технічних об'єктах.

2.3.3Будівельні блоки UML


Словник мови UML включає три види будівельних блоків :

  • суті;

  • стосунки;

  • діаграми.

Рисунок 2.2 Будівельних блоків UML



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

У UML є чотири типи сутностей :



  • структурні;

  • поведінкові;

  • що групують;

  • анотації.

Суті є основними об'єктно-орієнтованими блоками мови. З їх допомогою можна створювати коректні моделі.

2.3.3.1Структурні суті


Структурні суті – це іменники в моделях на мові UML

Як правило, вони є статичними частинами моделі, відповідними концептуальним або фізичним елементам системами.

Концептуал́ізм (від лат. conceptus - думка, поняття) - напрямок схоластичної філософії, доктрина, згідно з якою пізнання проявляється разом з досвідом, але не виходить з досвіду.E
Існує сім різновидів структурних сутей.
Різновид (рос. разновидность, англ. species, sort, variation, variety, нім. Abart f) - у мінералогії - окремі члени мінерального виду змінного складу.

1) Клас (Class) – це опис сукупності об'єктів із загальними атрибутами, операціями, стосунками і семантикою. Клас реалізує один або декілька інтерфейсів. Графічно клас зображається у вигляді прямокутника, в якому зазвичай записано його ім'я, атрибути і операції, як показано на рис 3.3.

Рисунок 2.3 Клас

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

Таким чином, інтерфейс описує видиму ззовні поведінку елементу. Інтерфейс може представляти поведінку класу або компонента повністю або частково; він визначає тільки специфікації операцій (сигнатури), але ніколи – їх реалізації. Графічно інтерфейс зображається у вигляді круга, під яким пишеться його ім'я, як показано на рис. 2.4. Інтерфейс рідко існує сам по собі – зазвичай він приєднується до класу, що реалізовує його, або компонента.

Рисунок 2.4 Інтерфейсів

3) Кооперація (Collaboration) – визначає взаємодія;

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

Кооперація, отже, має як структурний, так і поведінковий аспект. Один і той же клас може брати участь в декількох коопераціях; таким чином, вони є реалізацією зразків поведінки, що формують систему. Графічно кооперація зображається у вигляді еліпса, обмеженого пунктирною лінією, в який зазвичай ув'язнено тільки ім'я, як показано на рис. 2.5.



Рисунок 2.5 Кооперацій

4) Прецедент (Use case) – це опис послідовності виконуваних системою дій, яка виробляє спостережуваний результат, значущий для якогось певного актора (Actor).

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



Рисунок 2.6 Прецедентів


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

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

Рисунок 2.7 Активних класів

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

6) Компонент (Component) – це фізична замінювана частина системи, яка відповідає деякому набору інтерфейсів і забезпечує його реалізацію.

У системі можна зустріти різні види встановлюваних компонентів, такі як СОМ або Java Beans, а також компоненти, що є артефактами процесу розробки, наприклад файли початкового коду.

Початковий код (англ. source code; також перекладається українською як вихідний код, програмний код, джерельний код, первинний код, текст програми, у професійному середовищі також сирцевий код, у контексті код або сирці) - будь-який набір інструкцій або оголошень, написаних комп'ютерною мовою програмування у формі, що її може прочитати і модифікувати людина.
Компонент, як правило, є фізичною упаковкою логічних елементів, таких як класи, інтерфейси і кооперації. Графічно компонент зображається у вигляді прямокутника з вкладками, що містить зазвичай тільки ім'я, як показано на рис. 2.8.

Рисунок 2.8. Компоненти

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

Сукупність компонентів може розміщуватися у вузлі, а також мігрувати з одного вузла на іншій. Графічно вузол зображається у вигляді куба, що зазвичай містить тільки ім'я, як показано на рис. 2.9.

Рисунок 2.9. Вузли

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


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


Поведінкові суті (Behavioral things) є динамічними складовими моделі UML.

Існує два основні типи поведінкових сутей.

1) Взаємодія (Interaction) – ця поведінка, суть якої полягає в обміні повідомленнями (Messages) між об'єктами у рамках конкретного контексту для досягнення певної мети.

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



Рис 3.10. Повідомлення

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

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



Рисунок 2.11 Станів

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

1) Пакети (Packages) є універсальним механізмом організації елементів в групи.

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

Універсалі́зм - віра в те, що моральні цінності - наприклад, права людини - є значною мірою однаковими завжди і всюди. Універсалізм є протилежністю релятивізму.[Джерело?]
Існува́ння (від екзистенція) - центральне поняття екзистенціалізму, унікальна особистісна сутність людини, що втілює в собі духовну, психоемоційну неповторність особи.

Зображається пакет у вигляді теки із закладкою, що містить, як правило, тільки ім'я і іноді – вміст.



Рисунок 2.12. Пакети

Існують також варіації пакетів, наприклад каркаси (Frameworks), моделі і підсистеми.

Систе́ма (від дав.-гр. σύστημα - «сполучення», «ціле», «з'єднання») - множина взаємопов'язаних елементів що утворюють єдине ціле, взаємодіють з середовищем та між собою, і мають мету.

2.3.3.3Суті анотацій


Суті анотацій – частини пояснень моделі UML. Це коментарі для додаткового опису, роз'яснення або зауваження до будь-якого елементу моделі. Є тільки один базовий тип елементів анотацій – примітка (Note).

1) Примітка – це просто символ для зображення коментарів або обмежень, приєднаних до елементу або групи елементів. Графічно примітка зображається у вигляді прямокутника із загнутим краєм, що містить текстовий або графічний коментар, як показано на рис. 2.13.

Рисунок 2.13. Примітки

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

2.3.4Стосунки


У мові UML визначено чотири типи стосунків :

  • залежність;

  • асоціація;

  • узагальнення;

  • реалізація.

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

Графічно залежність зображається у вигляді прямої пунктирної лінії, часто із стрілкою, яка може містити мітку (см. рис. 2.14).

Рисунок 2.14. Залежності

2) Асоціація (Association) – структурне відношення, що описує сукупність зв'язків; зв'язок – це з'єднання між об'єктами.

Різновидом асоціації є агрегація (Aggregation) – так називають структурне відношення між цілим і його частинами. Графічно асоціація зображається у вигляді прямої лінії (стрілкою, що іноді завершується, або що містить мітку), поряд з якою можуть бути присутніми додаткові позначення, на приклад кратність і імена ролей.

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

Рисунок 2.15. Асоціації

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

Таким чином, нащадок (Child) наслідує структуру і поведінку свого батька (Parent). Графічно відношення узагальнення зображається у вигляді лінії з не зафарбованою стрілкою, що вказує на батька, як показано на рис. 2.16.

Рисунок 2.16. Узагальнення

4) Реалізація (Realization) – це семантичне відношення між класифікаторами, при якому один класифікатор визначає "контракт", а інший гарантує його виконання.

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

Рисунок 2.17. Реалізації

Чотири описані елементи є основними типами стосунків, які можна включати в моделі UML. Існують також їх варіації, наприклад уточнення (Refinement), трасування (Trace), включення і розширення (для залежностей).


Каталог: bitstream -> NAU -> 19325
NAU -> Практикум "Professional English" призначений для аудиторної та самостійної роботи з англійської мови професійного спрямування студентів спеціальності "
NAU -> Пакет комплексних контрольних робіт
NAU -> Пакет комплексних контрольних робіт
NAU -> Конспект лецій навчальної дисципліни
NAU -> Розробка додатків для Windows Runtime (Windows 8)
NAU -> Методичні вказівки до виконання лабораторних робіт і завдання до курсової роботи дисципліни
19325 -> Робоча навчальна програма навчальної дисципліни
1   2   3   4   5   6   7   8   9



  • 2.3.2Концептуальна модель UML
  • 2.3.3Будівельні блоки UML
  • 2.3.3.1Структурні суті
  • 2.3.3.2Поведінкові суті
  • 2.3.3.3Суті анотацій
  • 2.3.4Стосунки