Унифициран јазик за моделирање

Од Википедија — слободната енциклопедија
(Пренасочено од Unified Modeling Language)
Прејди на: содржини, барај
Колаж од UML дијаграми.

Унифициран јазик за моделирање или UML (анг. Unified Modeling Language) е стандарден јазик од областа софтверско инженерство, за визуелно претставување и моделирање на објекти. UML е општ јазик за моделирање кој преку графички симболи прави апстрактен модел на системот познат како UML модел. UML стандардот е креиран во 1997 година од страна на Object Management Group (OMG) и од тогаш станува индустриски стандард за моделирање на софтвер-интензивни системи.[1]

Преглед[уреди]

UML се користи за одредување, визуализација, менување, изградба и документирање на предметите од објектно-ориентиран софтверско-интензивен систем под изградба. UML нуди стандарден начин за визуализација на архитектонски шематски планови од еден систем, вклучувајќи елементи како што се[2]:

  • Активности
  • Актори
  • Бизнис процеси
  • Шеми од база на податоци
  • (Логички) компоненти
  • Извештаи од програмски јазик
  • Повторно-употребливи софтверски компоненти

UML комбинира техники од моделирање на податоци, бизнис моделирање, објектно моделирање и компонентно моделирање. Може да биде користено со сите процеси, во текот на животниот век на софтверскиот развој и низ различна имплементација на технологии.[3] UML првично беше изведен од јазиците за објектно моделирање од три водечки методи за објектно-ориентирање: Booch, техника за објектно моделирање (OMT) и објектно-ориентирано софтверско инжињерство (OOSE).UML сега ги користи сите три методи кои што се споени во еден заеднички и широко употреблив јазик за моделирање.

UML моделите можат да бидат автоматски трансформирани во други репрезентации (на пример Java) по пат на QVT (Пребарување/Преглед/Трансформација, анг. Query/View/Transformation) трансформациски јазик. UML е растеглив, со три механизми за прилагодување: стереотипи, обележани вредност и огрничувања.[4]

Историја[уреди]

Во доцните '80-ти имало многу различни методи и секоја имала своја сопствена нотација. Проблемот било тоа што кога различни луѓе користеле различни нотации, тие морале да ги преведат нотациите од една во друга. Многу пати, еден симбол значел едно во една нотација а во друга нотација друго. Во 1991 година, почнало да се пишуваат многу книги за UML. Grady Booch создал свој Booch метод, Jim Rumbaugh создал свој OMT (Object-modeling technique) метод и Ivar Jacobson создал свој OOSE (Object-oriented software engineering) метод. Секоја книга имала свои предности како и свои недостатоци. Booch методот бил добар во дизајн, но слаб во анализа; OMT методот бил многу добар во анализа, но бил слаб во дизајн, додека пак OOSE методот бил многу добар во искуството со корисниците – нешто што ниту Booch методот ниту OMT методот не го зеле во предвид. Во 1994 година, Grady Booch и Jim Rumbaugh официјално ги соединиле своите сили за да креираат стандардна нотација. Една година подоцна, тие го објавиле унифицираниот метод верзија 0.8 (анг. Unified method 0.8). Подоцна, Ivar Jacobson се придружил на тимот и сите тројца биле наречени тројцата пријатели (three amigos) помегу објектно-ориентираните кругови.[5][6] Во 1996 година, Rational заклучи дека изобилството на јазиците за моделирање го забавувала усвојувањето на објект-технологијата, и ги задолжила тројцата пријатели за развој на не-комерцијален UML јазик. Во јануари, 1997 година UML 1.0 беше предложен на OMG. Истиот месец, UML партнерите формараат Semantic Task Force, со кој претседавал Cris Kobryn и администриран од страна на Ed Eykholt, за да ја завршат семантиката на спецификација и да ја интегрираат со други напори за стандардизација. Резултатот на ова дело, UML 1.1, беше доставен до OMG во Август, 1997 година и усвоен од страна на OMG во ноември истата година.[7] Во 2005 година, OMG го усвои UML 2.0, каде што се поправени недостатоци и грешки од претходните верзии (UML 1.3, 1.4 и 1.5).[8] Иако UML 2.1 никогаш не беше издаден формално, во 2007 се појавија две верзии: 2.1.1 и v2.1.2, проследени со UML 2.2 во Февруари 2009 година. UML 2.3 официјално беше издаден во мај, 2010 година. UML 2.4.1 беше официјално издаден во август 2011 година.[9]

UML дијаграми[уреди]

Во самиот стандард постојат девет типови на дијаграми, кои според нивните карактеристики можат да се поделат во три групи[10]:

Дијаграм на кориснички сценарија[уреди]

Дијаграмот на кориснички сценарија се употребува за идентификација на основните елементи и процеси кои што формират еден систем. Основните елементи се нарекуваат “актeри”, а процесите се нарекуваат “кориснички сценарија”. Овој дијаграм покажува кој актeр во кое корисничко сценарио дејствува.

Класен дијаграм[уреди]

Класниот дијаграм се употребува за да ја прецизира употребата на дијаграмот на кориснички сценарија и да дефинира детален дизајн на системот. Класниот дијаграм ги класифицира актерите дефинирани во дијаграмот на кориснички сценарија во група од меѓусебно поврзани класи. Врската помеѓу класите може да биде “IS-A” или “HAS-A” врска. Секој класа во класниот дијаграм може да биде способна за обезбедување на одредени функционалности. Овие функционалности обезбедени од класата се нарекуваат методи на класата. Покрај тоа, секоја класа има одредени атрибути кои што уникатно ја идентификуваат класата.

Објектен дијаграм[уреди]

Објектниот дијаграм е посебен вид на класен дијаграм. Еден објект е инстанца на една класа, што во суштина значи дека еден објект ја претставува состојбата на една класа во даден момент додека системот работи. Овој дијаграм ја доловува состојбата на различни класи во системот и нивните врски во дден момент од времето.

Instance specification 3.png



Состојбен дијаграм[уреди]

Состојбениот дијаграм ги претставува различните состојби кои објектите во системот ги поднесуваат за време на нивниот животен циклус. Објектите во системот менуваат состојби во одговор на настаните. Во прилог на ова, еден состојбен дијаграм исто така ја доловува промената на состојбата на еден објект од почетна состојба во завршна состојба како одговор на настаните кои влијаат на системот.

Дијаграм на активности[уреди]

Протокот на процеси во системот се опфатени во дијаграмот на активности. Слично на состојбениот дијаграм, овој дијаграм се состои од активности, акции, премини, почетна и завршна состојба и услови.

Колаборациски дијаграм[уреди]

Колаборацискиот дијаграм ги групира зааедно интеракциите помеѓу различни објекти. Интеракциите се наведени како нумерирани интеракции кои што помагаат да се следи секвенцијата на интеракциите. Колаборацискиот дијаграм помага да се идентификуваат сите можни интеракции кои што се случуваат помеѓу објектите.

Секвенцијален дијаграм[уреди]

Секвенцијалниот дијаграм претставува заемно дејство помеѓу различни објекти во системот. Важен аспект на секвенцијалниот дијаграм е тоа што тој е временски подреден. Ова значи дека една секвенца на интеракција помеѓу два објекти е претставена постепено. Различни објекти во дијаграмот на секвенции комуницираат едни со други со праќање на пораки.

Компонентен дијаграм[уреди]

Компонентниот дијаграм ги претставува деловите кои што го сочинуваат системот кои што се на високо ниво. Овој дијаграм опишува, на високо ниво, кои компоненти формираат дел од системот и како се тие меѓусебно поврзани.

Component-4.png



Развивачки дијаграм[уреди]

Развивачкиот дијаграм ја опфаќа конфигурацијата од времетраењето на елементите во една апликација. Овој дијаграм е најкорисен кога еден изграден систем е подготвен за развивање.

UML Diagramme Deploiement.gif



Надворешни врски[уреди]

Референции[уреди]