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. [1]

Logoja e UML

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. [2]

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 . [3] Që atëherë standardi është rishikuar periodikisht për të mbuluar rishikimin e fundit të UML. [4]

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. [5] :536

Historia

Redakto
 
Historia e metodave dhe shënimeve të orientuara nga objekti

Para UML 1.0

Redakto

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. [6]

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. [2]

UML 1.x

Redakto

Nën udhëheqjen teknike të atyre treve (Rumbaugh, Jacobson dhe Booch), në vitin 1996 u organizua një konsorcium i quajtur Partnerët UML për të plotësuar specifikimin e gjuhës së unifikuar të modelimit (UML) dhe ia propozoi atë Grupit të Menaxhimit të Objekteve (OMG) për standardizim. Partneriteti gjithashtu përmbante palë të tjera të interesuara (për shembull HP, DEC, IBM dhe Microsoft ). Drafti UML 1.0 i Partnerëve të UML iu propozua OMG-së në janar 1997 nga konsorciumi. Gjatë të njëjtit muaj, Partnerët UML formuan një grup, i projektuar për të përcaktuar kuptimin e saktë të konstrukteve gjuhësore, i kryesuar nga Cris Kobryn dhe i administruar nga Ed Eykholt, për të finalizuar specifikimin dhe për ta integruar atë me përpjekje të tjera standardizimi. Rezultati i kësaj pune, UML 1.1, iu dorëzua OMG-së në gusht 1997 dhe u miratua nga OMG në nëntor 1997. [2] [7]

Pas publikimit të parë, u formua një grup pune [2] për të përmirësuar gjuhën, e cila lëshoi disa rishikime të vogla, 1.3, 1.4 dhe 1.5. [8]

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

Shënimi i kardinalitetit

Redakto

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 [9] ) preferojnë të njëjtën anë ose "shikoni-këtu" për rolet dhe kardinalitetet minimale dhe maksimale. Studiuesit e fundit (Feinerer [10] dhe Dullea et al. [11] ) 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."

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. [12]

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. [13] UML 2.4.1 u lëshua zyrtarisht në gusht 2011. [13] UML 2.5 u lëshua në tetor 2012 si një version "Në progres" dhe u lëshua zyrtarisht në qershor 2015. [13] Versioni zyrtar 2.5.1 u miratua në dhjetor 2017. [1]

Ekzistojnë katër pjesë në specifikimin UML 2.x:

  • Superstruktura që përcakton shënimin dhe semantikën për diagramet dhe elementët e modelit të tyre
  • Infrastruktura që përcakton metamodelin bazë mbi të cilin bazohet Superstruktura
  • Gjuha e kufizimit të objektit (OCL) për përcaktimin e rregullave për elementët e modelit
  • Shkëmbimi i Diagramit UML që përcakton se si shkëmbehen paraqitjet e diagrameve UML 2

Deri në UML 2.4.1, versionet më të fundit të këtyre standardeve ishin: [14]

  • 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: [15]

  • 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. [16]

Dizajni

Redakto
 
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: [6]

  • çdo aktivitet (punë);
  • komponentët individualë të sistemit;
    • dhe si mund të ndërveprojnë me komponentët e softuerit të tjerë;
  • si do të funksionojë sistemi;
  • si ndërveprojnë entitetet me të tjerët (komponentët dhe ndërfaqet);
  • ndërfaqja e jashtme e përdoruesit .

Edhe pse fillimisht ishte menduar për dokumentacionin e projektimit të orientuar nga objekti, UML është zgjeruar në një grup më të madh të dokumentacionit të projektimit (siç renditet më lart), dhe është gjetur i dobishëm në shumë kontekste. [17]

Metodat e zhvillimit të softuerit

Redakto

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

Redakto

Ë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

Redakto

UML 2 ka shumë lloje diagramesh, të cilat ndahen në dy kategori. [6] Disa lloje përfaqësojnë informacion strukturor, dhe pjesa tjetër përfaqësojnë lloje të përgjithshme të sjelljes, duke përfshirë disa që përfaqësojnë aspekte të ndryshme të ndërveprimeve . Këto diagrame mund të kategorizohen në mënyrë hierarkike siç tregohet në diagramin e klasës vijuese: [6]

 
Hierarkia e Diagrameve UML 2.2, e paraqitur si një diagram klase

Të gjitha këto diagrame mund të përmbajnë komente ose shënime që shpjegojnë përdorimin, kufizimin ose qëllimin.

Diagramet e strukturës

Redakto

Diagramet e strukturës paraqesin aspektet statike të sistemit. Ai thekson gjërat që duhet të jenë të pranishme në sistemin që modelohet. Meqenëse diagramet e strukturës përfaqësojnë strukturën, ato përdoren gjerësisht në dokumentimin e arkitekturës së softuerit të sistemeve softuerike. Për shembull, diagrami i komponentëve përshkruan se si një sistem softuer ndahet në komponentë dhe tregon varësitë midis këtyre komponentëve.

Diagramet e sjelljes

Redakto

Diagramet e sjelljes paraqesin aspektin dinamik të sistemit. Ai thekson se çfarë duhet të ndodhë në sistemin që modelohet. Meqenëse diagramet e sjelljes ilustrojnë sjelljen e një sistemi, ato përdoren gjerësisht për të përshkruar funksionalitetin e sistemeve softuerike. Si shembull, diagrami i aktivitetit përshkruan hap pas hapi aktivitetet e biznesit dhe operacionale të komponentëve në një sistem.

Përfaqësimi vizual: Përdoruesi i stafit → Sistemi i ankesave: Paraqisni sistemin e ankesave → Sistemi i burimeve njerëzore: Sistemi i burimeve njerëzore për ankesa → Departamenti: caktoni Departamentin e ankesave → Sistemi i ankesave: Përditësoni sistemin e ankesave të zgjidhjes → Sistemi i komenteve: Kërkoni reagime Sistemi i reagimeve → Stafi i përgjigjeve të personelit: Përdoruesi → Sistemi i komenteve: Paraqisni komente këtë përshkrimi mund të përdoret për të vizatuar një diagram sekuence duke përdorur mjete si Lucidchart, Draw.io ose ndonjë softuer të diagramit UML. Diagrami do të kishte aktorë në anën e majtë, me shigjeta që tregojnë sekuencën e veprimeve dhe ndërveprimet midis sistemeve dhe aktorëve siç përshkruhet, ju lutemi, diagrami i sekuencës Drow Diagramet e sekuencës duhet të vizatohen për çdo rast përdorimi për të treguar se si objekte të ndryshme ndërveprojnë me njëri-tjetrin për të arritur funksionalitetin e rastit të përdorimit.

Artifaktet

Redakto
 
Komponentët që manifestojnë objekte

Në UML, një artifakt [1] është "specifikimi i një pjese fizike të informacionit që përdoret ose prodhohet nga një proces zhvillimi softuerësh, ose nga vendosja dhe funksionimi i një sistemi." [1]

"Shembuj të artefakteve përfshijnë skedarët e modelit, skedarët burimor, skriptet dhe skedarët binare të ekzekutueshëm, një tabelë në një sistem bazë të dhënash, një dorëzues zhvillimi, një dokument të përpunimit të tekstit ose një mesazh poste ." [1]

Artifaktet janë entitetet fizike që janë vendosur në Nyjet [1] (dmth. Pajisjet dhe Mjediset Ekzekutuese). Elementë të tjerë UML si klasat dhe komponentët fillimisht manifestohen në artefakte dhe më pas vendosen shembuj të këtyre artefakteve. Artefaktet gjithashtu mund të përbëhen nga objekte të tjera.

Metamodeling

Redakto
 
Ilustrimi i objektit meta-objekt

Grupi i Menaxhimit të Objekteve (OMG) ka zhvilluar një arkitekturë metamodelimi për të përcaktuar UML, të quajtur Lehtësia e Meta-Objekteve . MOF është projektuar si një arkitekturë me katër shtresa, siç tregohet në imazhin në të djathtë. Ai siguron një model meta-meta në krye, të quajtur shtresa M3. Ky model M3 është gjuha e përdorur nga Meta-Object Facility për të ndërtuar metamodele, të quajtura M2-modele.

Shembulli më i spikatur i një modeli meta-objekt të shtresës 2 është metamodeli UML, i cili përshkruan vetë UML. Këto modele M2 përshkruajnë elementet e shtresës M1, dhe kështu modelet M1. Këto do të ishin, për shembull, modele të shkruara në UML. Shtresa e fundit është shtresa M0 ose shtresa e të dhënave. Përdoret për të përshkruar rastet e funksionimit të sistemit. [18]

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". [19]

Adoptimi

Redakto

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

Ë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ë. [21]

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. [22]

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

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

Shihni gjithashtu

Redakto
  • 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

Redakto
  1. ^ a b c d e f Unified Modeling Language 2.5.1. OMG Document Number formal/2017-12-05. Object Management Group Standards Development Organization (OMG SDO). dhjetor 2017. {{cite book}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  2. ^ a b c d Unified Modeling Language User Guide, The (bot. 2). Addison-Wesley. 2005. fq. 496. ISBN 0321267974. {{cite book}}: Mungon ose është bosh parametri |language= (Ndihmë!) See the sample content: look for history
  3. ^ "ISO/IEC 19501:2005 - Information technology - Open Distributed Processing - Unified Modeling Language (UML) Version 1.4.3". Iso.org. 2005-04-01. Marrë më 2015-05-07. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  4. ^ "ISO/IEC 19505-1:2012 - Information technology - Object Management Group Unified Modeling Language (OMG UML) - Part 1: Infrastructure". Iso.org. 2012-04-20. Marrë më 2014-04-10. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  5. ^ Sebastian Baltes; Stephan Diehl (2014-11-11). "Sketches and diagrams in practice". Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering. FSE 2014. Association for Computing Machinery. fq. 530–541. doi:10.1145/2635868.2635891. ISBN 978-1-4503-3056-5. {{cite book}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  6. ^ a b c d "OMG Unified Modeling Language (OMG UML), Superstructure. Version 2.4.1". Object Management Group. Marrë më 9 prill 2014. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  7. ^ "UML Specification version 1.1 (OMG document ad/97-08-11)". Omg.org. Marrë më 2011-09-22. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  8. ^ "UML". Omg.org. Marrë më 2014-04-10. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  9. ^ Paolo Atzeni; Wesley Chu; Hongjun Lu; Shuigeng Zhou; Tok Wang Ling, red. (27 tetor 2004). Conceptual Modeling – ER 2004: 23rd International Conference on Conceptual Modeling, Shanghai, China, November 8–12, 2004. Lecture Notes in Computer Science 3288 (bot. 2004). Springer. ISBN 3540237232. {{cite book}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  10. ^ Ingo Feinerer (mars 2007). A Formal Treatment of UML Class Diagrams as an Efficient Method for Configuration Management (PDF) (Tezë). Technical University of Vienna. Arkivuar nga origjinali (PDF) më 29 qershor 2024. Marrë më 11 dhjetor 2024. {{cite thesis}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  11. ^ James Dullea; Il-Yeol Song; Ioanna Lamprou (1 nëntor 2003). "An analysis of structural validity in entity-relationship modeling". Data & Knowledge Engineering. 47 (2): 167–205. doi:10.1016/S0169-023X(03)00049-1. {{cite journal}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  12. ^ "UML 2.0". Omg.org. Marrë më 2011-09-22. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  13. ^ a b c "UML". Omg.org. Marrë më 2011-09-22. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  14. ^ OMG. "OMG Formal Specifications (Modeling and Metadata paragraph)". Marrë më 2016-02-12. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  15. ^ OMG. "about the unified modeling language specification". Marrë më 2020-02-22. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  16. ^ "Issues for UML 2.6 Revision task Force mailing list". Omg.org. Marrë më 2014-04-10. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  17. ^ a b "UML, Success Stories". Marrë më 9 prill 2014. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  18. ^ "UML 2.4.1 Infrastructure". Omg.org. 2011-08-05. Marrë më 2014-04-10. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  19. ^ Brian Henderson-Sellers; Cesar Gonzalez-Perez (1 tetor 2006). "Uses and abuses of the stereotype mechanism in UML 1.x and 2.0". MoDELS '06: Proceedings of the 9th International Conference on Model Driven Engineering Languages and Systems. Lecture Notes in Computer Science 4199. Berlin, Germany: Springer-Verlag. 4199: 16–26. doi:10.1007/11880240_2. ISBN 978-3-540-45772-5. {{cite journal}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  20. ^ "UML 2.5: Do you even care?". {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!) "UML truly is ubiquitous"
  21. ^ "Death by UML Fever". {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  22. ^ "Ivar Jacobson on UML, MDA, and the future of methodologies". {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  23. ^ Krill, Paul (2016-10-18). "UML to be ejected from Microsoft Visual Studio". InfoWorld (në anglisht). Marrë më 2023-07-23.
  24. ^ "Google Trends". Google Trends (në anglishte amerikane). Arkivuar nga origjinali më 23 korrik 2023. Marrë më 2023-07-23.

Leximi i mëtejshëm

Redakto

Lidhje të jashtme

Redakto

Stampa:ISO standards

[[Kategoria:ISO standarde]] [[Kategoria:Unified Modeling Language]]