Gjuha e Unifikuar e Modelimit

djathtas|parapamje| Logoja e UML
**Gjuha e unifikuar e modelimit** është një gjuhë modelimi vizuale me qëllim të përgjithshëm që synon të sigurojë një mënyrë standarde për të vizualizuar dizajnin e një sistemi. 

UML ofron një shënim standard për shumë lloje diagramesh të cilat mund të ndahen përafërsisht në tre grupe kryesore: diagramet e sjelljes, diagramet e ndërveprimit dhe diagramet e strukturës.

Krijimi i UML fillimisht u motivua nga dëshira për të standardizuar sistemet dhe qasjet e ndryshme të shënimeve në dizajnimin e softuerit. Ai u zhvillua në Rational Software në 1994-1995, me zhvillim të mëtejshëm të udhëhequr prej tyre deri në vitin 1996. 

Në vitin 1997, UML u miratua si standard nga Grupi i Menaxhimit të Objekteve (OMG) dhe që atëherë është menaxhuar nga kjo organizatë. Në vitin 2005, UML u publikua gjithashtu nga Organizata Ndërkombëtare për Standardizim (ISO) dhe Komisioni Ndërkombëtar Elektroteknik (IEC) si standardi **ISO/IEC 19501** .  Që atëherë standardi është rishikuar periodikisht për të mbuluar rishikimin e fundit të UML. 

Në inxhinierinë e softuerit, shumica e praktikuesve nuk përdorin UML, por në vend të kësaj prodhojnë diagrame joformale të vizatuara me dorë; këto diagrame, megjithatë, shpesh përfshijnë elemente nga UML.  

## Historia 
parapamje|320x320px| Historia e metodave dhe shënimeve të orientuara nga objekti

### Para UML 1.0 
UML ka evoluar që nga gjysma e dytë e viteve 1990 dhe i ka rrënjët në metodat e programimit të orientuara drejt objekteve të zhvilluara në fund të viteve 1980 dhe në fillim të viteve 1990. Afati kohor (shih imazhin) tregon pikat kryesore të historisë së metodave dhe shënimeve të modelimit të orientuar nga objekti.

Ai bazohet fillimisht në shënimet e metodës Booch, teknikën e modelimit të objekteve (OMT) dhe inxhinierinë e softuerit të orientuar nga objekti (OOSE), të cilat i ka integruar në një gjuhë të vetme. 

Rational Software Corporation punësoi James Rumbaugh nga General Electric në 1994 dhe pas kësaj, kompania u bë burimi për dy nga qasjet më të njohura të modelimit të orientuar nga objektet e ditës:  Teknika e modelimit të objekteve të Rumbaugh (OMT) dhe metoda e Grady Booch. Ata u ndihmuan shpejt në përpjekjet e tyre nga Ivar Jacobson, krijuesi i metodës së inxhinierisë softuerike të orientuar drejt objektit (OOSE), i cili iu bashkua atyre në Rational në 1995. 

Pas publikimit të parë, u formua një grup pune 

Standardet që ai prodhoi (si dhe standardi origjinal) janë vërejtur si të paqarta dhe jokonsistente. 

#### Shënimi i kardinalitetit 
Ashtu si me bazat e të dhënave Chen, Bachman dhe ISO ER diagramet , modelet e klasave janë specifikuar për të përdorur kardinalitetet "look-cross", edhe pse disa autorë ( Merise,  Elmasri & Navathe,  ndër të tjera  ) preferojnë të njëjtën anë ose "shikoni-këtu" për rolet dhe kardinalitetet minimale dhe maksimale. Studiuesit e fundit (Feinerer  dhe Dullea et al.  ) kanë treguar se teknika "look-cross" e përdorur nga diagramet UML dhe ER është më pak efektive dhe më pak koherente kur zbatohet për marrëdhënie *n* -are të rendit rreptësisht më të madh se 2.

Feinerer thotë: "Problemet lindin nëse operojmë nën semantikën e vështrimit përtej, siç përdoret për shoqatat UML. Hartmann  heton këtë situatë dhe tregon se si dhe pse dështojnë transformimet e ndryshme.", dhe: "Siç do të shohim në disa faqe te ardhshme, interpretimi i vështrimit përtej paraqet disa vështirësi që pengojnë zgjerimin e mekanizmave të thjeshtë nga shoqatat binare në *n* -ary."

### UML 2 
Rishikimi kryesor i UML 2.0 zëvendësoi versionin 1.5 në 2005, i cili u zhvillua me një konsorcium të zgjeruar për të përmirësuar më tej gjuhën për të pasqyruar përvoja të reja në përdorimin e veçorive të saj. 

Megjithëse UML 2.1 nuk u lëshua kurrë si specifikim zyrtar, versionet 2.1.1 dhe 2.1.2 u shfaqën në 2007, e ndjekur nga UML 2.2 në shkurt 2009. UML 2.3 u lëshua zyrtarisht në maj 2010.  UML 2.4.1 u lëshua zyrtarisht në gusht 2011. 

* UML Superstructure version 2.4.1
* UML Infrastructure version 2.4.1
* Versioni OCL 2.3.1
* UML Diagram Interchange version 1.0.

Që nga versioni 2.5, Specifikimi UML është thjeshtuar (pa Superstrukturë dhe Infrastrukturë), dhe versionet më të fundit të këtyre standardeve janë tani: 

* Specifikimi UML 2.5.1
* OCL version 2.4

Ai vazhdon të përditësohet dhe përmirësohet nga grupi i rishikimit, i cili zgjidh çdo problem me gjuhën. 

## Dizajni 
parapamje|500x500px| Një shembull i komponentëve në një sistem rezervimi udhëtimi
UML ofron një mënyrë për të vizualizuar planet arkitekturore të një sistemi në një diagram, duke përfshirë elementë të tillë si: 

### Metodat e zhvillimit të softuerit 
UML nuk është një metodë zhvillimi në vetvete;  megjithatë, ai ishte projektuar që të ishte në përputhje me metodat kryesore të zhvillimit të softuerit të orientuar drejt objektit të kohës së tij, për shembull, OMT, metoda Booch, Objectory dhe veçanërisht RUP me të cilën fillimisht ishte menduar të përdorej kur filloi puna në Rational. Software.

### Modelimi 
Është e rëndësishme të bëhet dallimi midis modelit UML dhe grupit të diagrameve të një sistemi. Një diagram është një paraqitje grafike e pjesshme e modelit të një sistemi. Seti i diagrameve nuk duhet të mbulojë plotësisht modelin dhe fshirja e një diagrami nuk e ndryshon modelin. Modeli mund të përmbajë gjithashtu dokumentacion që drejton elementet dhe diagramet e modelit (të tilla si rastet e përdorimit të shkruar).

Diagramet UML përfaqësojnë dy pamje të ndryshme të një modeli sistemi: 

* Pamja statike (ose *strukturore* ): thekson strukturën statike të sistemit duke përdorur objekte, atribute, operacione dhe marrëdhënie. Ai përfshin diagramet e klasave dhe diagramet e strukturës së përbërë .
* Pamja dinamike (ose *e sjelljes* ): thekson sjelljen dinamike të sistemit duke treguar bashkëpunimet midis objekteve dhe ndryshimet në gjendjet e brendshme të objekteve. Kjo pamje përfshin diagramet e sekuencës, diagramet e aktivitetit dhe diagramet e makinës së gjendjes .

Modelet UML mund të shkëmbehen midis mjeteve UML duke përdorur formatin XML Metadata Interchange (XMI).

Në UML, një nga mjetet kryesore për modelimin e sjelljes është modeli i rastit të përdorimit, i shkaktuar nga OOSE . Rastet e përdorimit janë një mënyrë për të specifikuar përdorimet e nevojshme të një sistemi. Në mënyrë tipike, ato përdoren për të kapur kërkesat e një sistemi, domethënë atë që supozohet të bëjë një sistem. 

## Diagramet 
UML 2 ka shumë lloje diagramesh, të cilat ndahen në dy kategori. 

Meta-modeli mund të zgjerohet duke përdorur një mekanizëm të quajtur stereotipizimi . Kjo është kritikuar si e pamjaftueshme/e paqëndrueshme nga Brian Henderson-Sellers dhe Cesar Gonzalez-Perez në "Përdorimet dhe abuzimet e mekanizmit stereotip në UML 1.x dhe 2.0". 

## Adoptimi 
Në vitin 2013, UML ishte shitur nga OMG për shumë kontekste, por synonte kryesisht zhvillimin e softuerit me sukses të kufizuar. 

Është trajtuar, herë pas here, si një plumb argjendi i projektuar, i cili çon në probleme. Keqpërdorimi i UML përfshin përdorimin e tepruar (dizajnimin e çdo pjese të sistemit me të, gjë që është e panevojshme) dhe supozimin se fillestarët mund të dizajnojnë me të. 

Ajo konsiderohet një gjuhë e madhe, me shumë konstruksione . Disa njerëz (duke përfshirë Jacobson ) mendojnë se madhësia e UML-së pengon të mësuarit dhe rrjedhimisht përvetësimin. 

MS Visual Studio hoqi mbështetjen për UML në 2016 për shkak të mungesës së përdorimit. 

Sipas Google Trends, UML ka qenë në një rënie të vazhdueshme që nga viti 2004. 

## Shihni gjithashtu 
* Aplikimet e UML
* Modeli dhe shënimi i procesit të biznesit (BPMN)
* Modeli C4
* Korniza e Arkitekturës së Departamentit të Mbrojtjes
* DOT (gjuha e përshkrimit të grafikut)
* Lista e mjeteve të gjuhës së unifikuar të modelimit
* MODAF
* Testimi i bazuar në model
* Inxhinieri e drejtuar nga modeli
* Analiza dhe modelimi i roleve të orientuara nga objekti
* Gjuha e specifikimit të procesit
* Gjuha e modelimit të sistemeve (SysML)

## Referime 

## Leximi i mëtejshëm 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 

## Lidhje të jashtme 
* 
* Current UML specification: OMG Document Number formal/2017-12-05. Object Management Group Standards Development Organization (OMG SDO). December 2017.