Unified Modeling Language

UML logo
UML logo

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

Перша версія (1.0) UML вийшла 13 січня 1997, вона була створена консорціумом UML Partners за запитом Object Management Group (OMG) — організації, відповідальної за прийняття стандартів в галузі об'єктних технологій і баз даних. Після обговорення, у вересні 1997 року, версія 1.1 UML була представлена на голосування в OMG. Розробку UML підтримали і вже тоді використовували як стандарт такі гранди ринку інформаційних технологій, як Microsoft, IBM, Hewlett-Packard, Oracle, DEC, Sybase, Logic Works й інші.

Поточна версія — 2.0.

Застосування

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

Діаграми дають можливість представити систему (як ділову, так і програмну) у такому вигляді, щоб її можна було легко перевести в програмний код.

Основною причиною використання мови UML є спілкування розробників між собою.[1]

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

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

Практично усі CASE-засоби (програми автоматизації процесу аналізу і проєктування) мають підтримку UML. Моделі розроблені в UML, дозволяють значно спростити процес кодування і направити зусилля програмістів безпосередньо на реалізацію системи.

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

UML необхідний:

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

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

Історія створення

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

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

Протягом 1994-96 років творці трьох найпоширеніших методологій — Граді Буч (BOOCH), Джим Рамбо (OMT — Object Modeling Technique) і Айвар Якобсон (OOSE — Object Oriented Software Engineering) об'єднали свої зусилля під егідою Rational Software Corporation для створення єдиної мови моделювання, яка б об'єднала всі істотні й успішні розробки в даній галузі і стала би стандартом мови об'єктного моделювання. Грандіозна робота, у якій поряд з Rational брали участь представники багатьох компаній, таких, як Microsoft, IBM, Hewlett-Packard, Oracle, DEC, Unisys, IntelliCorp, Platinum Technology і кількох сотень інших завершилася створенням у січні 1997 року UML 1.0, яка після бурхливого обговорення протягом 1997 року у вересні під версією 1.1 і була передана в OMG для прийняття як галузевий стандарт мови об'єктного моделювання.

Діаграми

Колаж з різних діаграм UML

В UML використовується 14 видів діаграм (для уникнення непорозумінь, також наведено англомовні назви):

Structure Diagrams:

  • Class diagram
  • Component diagram
  • Composite structure diagram
    • Collaboration (UML2.0)
  • Deployment diagram
  • Object diagram
  • Package diagram

Behavior Diagrams:

  • Activity diagram
  • State Machine diagram
  • Use case diagram
  • Interaction Diagrams:
    • Collaboration (UML1.x) /
      Communication diagram (UML2.0)
    • Interaction overview diagram (UML2.0)
    • Sequence diagram
    • UML Timing Diagram (UML2.0)

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

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

Діаграми взаємодії:

Uml diagram2

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

Структурні діаграми (англ. Structure Diagrams) відображають статичні стани системи. За їхньою допомогою виділяються основні елементи системи, яка проектується. Оскільки структурні діаграми відображують саме структури, вони використовуються при документуванні архітектури програмного забезпечення.

Діаграма профілю

Діаграма профілю (англ. Profile Diagram) — діаграма профілю працює на рівні метамоделі, щоб показати стереотипи як класи зі стереотипом «стереотип», а профілі як пакети зі стереотипом «профіль». Відношення розширення (суцільна лінія із замкнутим, заповненим наконечником стрілки) вказує, який елемент метамоделі поширює даний стереотип. Діаграма профілю не існувала в UML 1. Вона була представлена в UML 2 для відображення використання профілів. До її впровадження для відображення цієї проблеми використовувалися інші діаграми.

Діаграма класів
Докладніше: Діаграма класів

Діаграма класів (англ. Class Diagram) — статична структурна діаграма, яка описує струкутру системи, демонструє класи системи, їхні атрибути, методи й залежності між класами.

Діаграма компонентів

Діаграма компонентів (англ. Component diagram) — статична структурна діаграма, яка показує поділ програмної системи на структурні компоненти й зв'язки (залежності) між компонентами. В якості фізичних компонентів можуть виступати файли, бібліотеки, модулі, файли виконання, пакети й т.п.

Діаграма композитної/складеної структури

Діаграма композитної/складеної структури (англ. Composite structure diagram) — статична структура діаграма, яка демонструє внутрішню структура класів й, за можливістю, взаємодію елементів (частин) внутрішньої структури класу.

Підвидом діаграм композитної структури є діаграми кооперації (англ. Collaboration diagram, введені в UML 2.0), які показують ролі й взаємодію класів у рамках кооперації. Кооперації є зручними для моделювання шаблонів проектування.

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

Діаграма розгортання

Діаграма розгортання, діаграма розміщення (англ. Deployment diagram) — слугує для моделювання працюючих вузлів (апаратних засобів, англ. node) й артефактів, які на них розгорнуті. У UML2 на вузлах розгортаються артефакти, (англ. artifact), тоді як у UML1 на вузлах розгоралися компоненти. Між артефактом і логічним елементом (компонентом), який він реалізує, установлюється залежність маніфестації.

Діаграма об'єктів

Діаграма об'єктів (англ. Object diagram) — демонструє повний або частковий знімок системи, яка моделюється, у заданий момент часу. На діаграмі об'єктів відображуються примірники класів (об'єкти) системи з указанням поточних значень їхніх атрибутів й зв'язків між об'єктами.

Діаграма пакетів

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

Діаграма станів (кінцевих автоматів)
Діаграма синхронізації

Призначення та рівні моделей

Залежно від цілей використання моделі можуть бути таких основних рівнів:

  • концептуальна модель, модель аналізу (англ. conceptual model) — модель предметної області, у ній присутні тільки класи прикладних об'єктів, використовується для управління процесом мислення, розуміння; потребує концептуальної цілісності (англ. consistency);
  • модель проектування (англ. design model) — високороівневий (на рівні підсистем) та низькорівневий (на рівні класів) опис програмної системи; на її основі розробляється програмний код застосунку; призначена для подальшої розробки моделей реалізації; головна вимога — зрозумілість (англ. usability).
  • модель реалізації (англ. implementation model) — призначена для автоматичного перетворення в інший вид, наприклад, у програмний код, який виконується; (при використанні об'єктно-орієнтованих мов програмування); головна вимога — повнота (англ. completeness).

Метамоделювання

Ілюстрація Meta-Object Facility

Object Management Group (OMG) розробила архітектуру метамоделювання для визначення UML, яка називається Meta-Object Facility (MOF).[2] MOF розроблена як чотиришарова архітектура, як показано на зображенні праворуч. Вона забезпечує мета-мета-модель у верхній частині, яка називається шаром M3. Ця M3-модель є мовою, що використовується Meta-Object Facility для побудови метамоделей, які називаються M2-моделями.

Найяскравішим прикладом мета-об'єктної моделі 2-го рівня є метамодель UML, яка описує саму мову UML. Ці M2-моделі описують елементи M1-рівня, а отже, і M1-моделі. Це можуть бути, наприклад, моделі, написані на UML. Останній рівень — це M0-рівень або рівень даних. Він використовується для опису екземплярів системи під час виконання.[3]

Мета-модель може бути розширена за допомогою механізму, який називається стереотипізацією. Він був підданий критиці як недостатній/неприйнятний Брайаном Хендерсоном-Селлерсом та Сезаром Гонсалесом-Пересом у статті «Використання та зловживання механізмом стереотипів в UML 1.x та 2.0».[4]

Представлення моделей

Представлення з UML 1

Представлення UML 1

Представлення використання

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

Представлення проектування

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

Представлення процесів

Представлення процесів (англ. Process view) — опис взаємодії елементів управління (процесів, потоків) під час роботи системи. Структурні аспекти передаються за допомогою концепції активних класів, які представляють процеси і потоки, а поведінкові аспекти — діаграмами взаємодії, стану і діяльності.

Представлення компонентів

Представлення компонентів (англ. Component view) — опис системи на рівні артефактів (компонентів, файлів і т. д.), які використовуються для збирання, випуску, конфігурації програмного продукту. Структурні аспекти передаються діаграмами компонентів, а поведінкові аспекти — діаграмами взаємодії, стану і діяльності.

Представлення розгортання

Представлення розгортання (англ. Deployment view) — відображення топології зв'язків апаратних засобів і розміщення на них компонентів. Структурні аспекти передаються діаграмами розгортання, а поведінкові аспекти — діаграмами взаємодії, стану і діяльності.

Представлення UML 2

Статичне представлення

Статичне представлення (англ. Static view) — відображення статичної структури системи без опису динаміки у будь-якому прояві. Як правило, статичне представлення відображує логічні концепції програмного забезпечення, основою якого є класи і їх відносини.

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

Представлення проектування

Представлення проектування (англ. Design view) — більш деталізований варіант статичного представлення, з виділенням класифікацій, які забезпечують необхідну функціональність системи.

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

Представлення використання

Представлення використання (англ. Use Case view) — опис функціонування системи у термінах варіантів використання і розглядає їх з точки зору зацікавлених дійових осіб.

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

Представлення кінцевих автоматів

Представлення кінцевих автоматів (англ. State machine view) — відображує поведінку окремих елементів, до яких можна застосувати поняття життєвого циклу, який описується набором станів і переходів між ними.

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

Представлення діяльності

Представлення діяльності (англ. Activity view) — опис системи з точки зору різних елементів діяльності, які поєднані потоками управління і потоками даних.

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

Представлення взаємодії

Представлення взаємодії (англ. Interaction view) — відображення послідовності обміну повідомленнями між елементами системи під час виконання додатку.

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

Представлення розгортання

Представлення управління моделлю

Критика

Попри те, що UML є широко визнаним стандартом мови моделювання, вона часто підпадає під критику через такі причини:

  • Надмірність мови
  • Неточна семантика
  • Проблеми у вивченні та застосуванні
  • Візуальна неоднорідність
  • Намагається подобатись усім

Див. також

Примітки

  1. Фаулер М., Скотт К. UML. Основы. — Пер. с англ. — СПб: Символ-Плюс, 2002. [Архівовано 14 грудня 2012 у Wayback Machine.] — C. 23.
  2. Iman Poernomo (2006) «The Meta-Object Facility Typed» in: Proceeding SAC '06 Proceedings of the 2006 ACM symposium on Applied computing. pp. 1845—1849
  3. «UML 2.4.1 Infrastructure». Omg.org. 5 August 2011. Retrieved 10 April 2014.
  4. B. Henderson-Sellers; C. Gonzalez-Perez (2006). «Uses and Abuses of the Stereotype Mechanism in UML 1.x and 2.0». in: Model Driven Engineering Languages and Systems. Springer Berlin / Heidelberg.

Посилання

Література

Read other articles:

Divisi Infanteri ke-70 (70th Infantry Division)Lambang lengan bahu Divisi Infanteri ke-70Aktif1943–1945Negara United StatesCabang Angkatan Darat Amerika SerikatTipe unitInfanteriJumlah personelDivisiJulukanTrailblazersPertempuranPerang Dunia II Pergerakan Sekutu dari Paris ke Rhine Invasi Sekutu Barat ke Jerman TokohTokoh berjasaJohn E. Dahlquist, Allison J. Barnett, Thomas W. Herren, Stanley W. ConnellyInsigniaLambang unit khasDivisi Infanteri ke-70 (Trailblazers ) adalah sebuah ...

 

State highway in Union County, New Jersey, US New Jersey Route 22 redirects here. For the current highway called Route 22, see U.S. Route 22 in New Jersey. Route 59Lincoln AvenueAlignment of Route 59 in redRoute informationMaintained by NJDOTLength0.15 mi[1] (240 m)Existed1953–presentMajor junctionsSouth end CR 610 in CranfordNorth end Route 28 on Cranford–Garwood line LocationCountryUnited StatesStateNew JerseyCountiesUnion Highway system New Jersey ...

 

The Boat Race 2010 Jadwal 3 April 2010 Balapan putra Juara Cambridge Selisih 1+1⁄3 lengths Catatan waktu 17 menit 35 detik Total kemenangan Cambridge-Oxford 80 - 75 Wasit Simon Harris Balapan lainnya Juara putri Oxford Juara cadangan Goldie Balapan sebelumnya 2009 Balapan selanjutnya 2011 Spanduk iklan untuk Balap Perahu 2010 Balap Perahu ke-156 merupakan balap perahu tahunan yang melombakan olahraga dayung berdampingan antar kru dari Universitas Oxford dan Cambridge pada 3 April 2010 di s...

Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada November 2022. Dušan TrančíkLahir26 November 1946 (umur 77)Bratislava, Cekoslowakia (kini Slowakia)PekerjaanSutradaraPenulis naskahTahun aktif1968-1991 Dušan Trančík (lahir 26 November 1946) adalah seorang sutradara dan penulis naskah Slowakia. Ia me...

 

ديانا دوغلاس   معلومات شخصية الميلاد 22 يناير 1923(1923-01-22)برمودا  الوفاة 3 يوليو 2015 (92 سنة)وودلاند هيلز  سبب الوفاة سرطان  مواطنة الولايات المتحدة المملكة المتحدة  الزوج كيرك دوغلاس (1943–1951)  الأولاد مايكل دوغلاسجويل دوغلاس  الحياة العملية المدرسة الأم الأكادي...

 

Recipient of the Victoria Cross Bernard Matthew CassidyBorn17 August 1892London, EnglandDied28 March 1918 (aged 25)Arras, FranceAllegiance United KingdomService/branch British ArmyRankSecond LieutenantUnitThe Lancashire FusiliersBattles/warsWorld War I †AwardsVictoria Cross Bernard Matthew Cassidy VC (17 August 1892 – 28 March 1918) was an English recipient of the Victoria Cross, the highest and most prestigious award for gallantry in the face of the enemy that can be aw...

Football match1946 FA Cup FinalEvent1945–46 FA Cup Derby County Charlton Athletic 4 1 After extra timeDate27 April 1946VenueWembley Stadium, LondonRefereeEddie Smith (Cumberland)Attendance98,000← 1939 1947 → The 1946 FA Cup final was the 65th final of the FA Cup, and the first after World War II. It took place on 27 April 1946 at Wembley Stadium and was contested between Derby County and Charlton Athletic. Derby won the match 4–1 after extra time. Charlton's Bert Turner score...

 

This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article's lead section may be too short to adequately summarize the key points. Please consider expanding the lead to provide an accessible overview of all important aspects of the article. (October 2023) This article includes a list of general references, but it lacks sufficient corresponding inline citations. Please help to improve th...

 

Sebastiano FolliNaissance 1568SienneDécès 1621SienneActivité PeintreLieux de travail Rome (1605), Sienne (1606-1621), Siennemodifier - modifier le code - modifier Wikidata Vierge à l'Enfant, fresque, église San Biagio, Castiglione d'Orcia. Sebastiano Folli (Sienne, 1568-1621) est un peintre italien qui fut actif principalement dans sa ville natale, dans le sud de la Toscane et à Rome. Biographie Sebastiano Folli, élève d'Alessandro Casolano, est surtout connu pour les diverses fresque...

American golfer Stacy PrammanasudhPrammanasudh in 2008Personal informationNicknameStacy PBorn (1979-09-23) September 23, 1979 (age 44)Enid, Oklahoma, U.S.Height5 ft 6 in (1.68 m)Sporting nationality United StatesResidenceTulsa, Oklahoma, U.S.[1]CareerCollegeUniversity of TulsaTurned professional2002Current tour(s)LPGA Tour (2004–13)Former tour(s)Futures Tour (2002–03)Professional wins4Number of wins by tourLPGA Tour2Epson Tour2Best results in LPGA major ch...

 

Minesweeper of the United States Navy This article includes a list of references, related reading, or external links, but its sources remain unclear because it lacks inline citations. Please help improve this article by introducing more precise citations. (January 2020) (Learn how and when to remove this message) The USS Density (AM-218) following its launch History United States NameUSS Density BuilderTampa Shipbuilding Company Laid down21 March 1943 Launched6 February 1944 Commissioned15 Ju...

 

Redfoo discographyRedfoo performing in 2014.Studio albums2Music videos8Singles11Promotional singles5 The discography of Redfoo, an American rapper, singer and songwriter, consists of two studio albums, eleven singles, five promotional singles, eight music videos and other album appearances. He formed the duo with his nephew Sky Blu in 2006 and they released two studio albums, before going on an indefinite hiatus in 2012. He is the youngest son of Motown Record Corporation founder Berry Gordy...

County in Arkansas, United States County in ArkansasGreene CountyCountyCourthouse in ParagouldLocation within the U.S. state of ArkansasArkansas's location within the U.S.Coordinates: 36°06′21″N 90°33′41″W / 36.105833333333°N 90.561388888889°W / 36.105833333333; -90.561388888889Country United StatesState ArkansasFoundedNovember 5, 1833Named forNathanael GreeneSeatParagouldLargest cityParagouldArea • Total580 sq mi (1,500 ...

 

أميلوريد الاسم النظامي 3,5-diamino-6-chloro-N-(diaminomethylene)pyrazine-2-carboxamide تداخل دوائي نابوميتون،  ونابروكسين،  وسيليكوكسيب،  وديكلوفيناك،  وبيروكسيكام،  وميلوكسيكام،  وفينوبروفين،  وفلوربيبروفين،  وإيبوبروفين،  وكيتوبروفين،  وإتودولاك،  وسولينداك،  وب�...

 

This article uses bare URLs, which are uninformative and vulnerable to link rot. Please consider converting them to full citations to ensure the article remains verifiable and maintains a consistent citation style. Several templates and tools are available to assist in formatting, such as reFill (documentation) and Citation bot (documentation). (August 2022) (Learn how and when to remove this message) The ES7000 is Unisys's x86/Windows, Linux and Solaris-based server product line.[1] ...

Conflicts from 1918 to 1958 This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Polish–Czechoslovak border conflicts – news · newspapers · books · scholar · JSTOR (January 2013) (Learn how and when to remove this message) Polish–Czechoslovak border conflictsDate1918–1958LocationPolish-Czechoslovak borderRe...

 

New York City Subway station in the Bronx For the former terminal station slightly to the northwest, see 180th Street–Bronx Park station. New York City Subway station in The Bronx, New York East 180 Street ​ New York City Subway station (rapid transit)Northbound view of the station platforms before renovation, with the East 180th Street Yard off to the left.Station statisticsAddressEast 180th Street & Morris Park AvenueBronx, New YorkBoroughThe BronxLocaleVan Nest and We...

 

Cet article est une ébauche concernant une localité flamande. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants. Kessel-Lo L'église du Sacré-Cœur. Administration Pays Belgique Région  Région flamande Communauté  Communauté flamande Province  Province du Brabant flamand Arrondissement Louvain Commune Louvain Code postal 3010 Zone téléphonique 016 Démographie Population 30 317 hab...

هذه المقالة بحاجة لصندوق معلومات. فضلًا ساعد في تحسين هذه المقالة بإضافة صندوق معلومات مخصص إليها. هذه المقالة بحاجة لمراجعة خبير مختص في مجالها. يرجى من المختصين في مجالها مراجعتها وتطويرها. (سبتمبر 2016) يوم وزمان (UT)اعتدالان وانقلابان على الأرض[1] زمان الاعتدالالربيعي �...

 

この項目では、レコード会社について説明しています。エレクトリックギターのブランドについては「鈴木バイオリン製造」をご覧ください。 「ベルウッド」はこの項目へ転送されています。ペンシルヴェニア州のボロについては「ベルウッド (ペンシルベニア州)」をご覧ください。 ベルウッド・レコード株式会社Bellwood Records Co., Ltd.種類 株式会社略称 ベルウッド本�...