UML dilinin ümumi xüsusiyyətləri. UML diaqramı. UML diaqramlarının növləri UML Layer Diaqramı

UML OO sistemlərini təsvir etmək, vizuallaşdırmaq, layihələndirmək və sənədləşdirmək üçün vahid qrafik modelləşdirmə dilidir. UML OO yanaşmasına əsaslanan proqram təminatının modelləşdirilməsi prosesini dəstəkləmək, konseptual və proqram konsepsiyalarının əlaqəsini təşkil etmək və mürəkkəb sistemlərin miqyasının artırılması problemlərini əks etdirmək üçün nəzərdə tutulmuşdur. UML modelləri proqram təminatının həyat dövrünün bütün mərhələlərində, biznesin təhlilindən tutmuş sistemin texniki xidmətinə qədər istifadə olunur. Fərqli təşkilatlar problem sahələrindən və istifadə etdikləri texnologiyalardan asılı olaraq UML-dən uyğun gördükləri kimi istifadə edə bilərlər.

UML-in Qısa Tarixi

90-cı illərin ortalarına qədər müxtəlif müəlliflər hər biri öz qrafik qeydindən istifadə edən bir neçə onlarla OO modelləşdirmə metodu təklif etmişdilər. Üstəlik, bu üsullardan hər hansı birinin öz güclü tərəfləri var idi, lakin birinin kifayət qədər qurulmasına imkan vermədi tam model PS, onu "hər tərəfdən", yəni bütün lazımi proqnozları göstərin (1-ci maddəyə baxın). Bundan əlavə, OO modelləşdirmə standartının olmaması tərtibatçılar üçün ən uyğun metodu seçməyi çətinləşdirdi və bu, proqram təminatının hazırlanmasında OO yanaşmasının geniş yayılmasının qarşısını aldı.

Obyekt texnologiyaları və verilənlər bazası sahəsində standartların qəbuluna cavabdeh olan Obyekt İdarəetmə Qrupunun (OMG) tələbi ilə unifikasiya və standartlaşdırmanın aktual problemi üç ən məşhur OO metodunun müəllifləri tərəfindən həll edildi - G. Butch, D. Rambo və A. Jacobson səylərini birləşdirərək 1997-ci ildə OMG tərəfindən standart olaraq təsdiq edilmiş UML 1.1 versiyasını yaratdılar.

UML bir dildir

İstənilən dil lüğətdən və mənalı konstruksiyalar yaratmaq üçün sözləri birləşdirən qaydalardan ibarətdir. Bu, xüsusən UML kimi proqramlaşdırma dillərinin necə qurulduğudur. Onun fərqləndirici xüsusiyyəti ondan ibarətdir ki, dil lüğəti qrafik elementlərdən formalaşır. Hər bir qrafik simvolun özünəməxsus semantikası var, ona görə də bir tərtibatçı tərəfindən yaradılmış modeli digəri, eləcə də UML-i şərh edən proqram vasitəsi ilə aydın başa düşülə bilər. Buradan, xüsusən də belə çıxır ki, UML-də təqdim olunan proqram modeli avtomatik olaraq OO proqramlaşdırma dilinə (Java, C++, VisualBasic kimi) tərcümə oluna bilər, yəni UML-i dəstəkləyən yaxşı vizual modelləşdirmə vasitəsi varsa, modeli qurduqda, bu modelə uyğun bir nümunə proqram kodu da alacağıq.

Vurğulamaq lazımdır ki, UML metod deyil, dildir. O, hansı elementlərdən modellər yaratmağı və onları necə oxumağı izah edir, lakin hansı modellərin və hansı hallarda işlənib hazırlanmalı olduğu barədə heç nə demir. UML əsasında metod yaratmaq üçün onu proqram təminatının işlənib hazırlanması prosesinin təsviri ilə əlavə etmək lazımdır. Belə prosesə misal olaraq sonrakı məqalələrdə müzakirə ediləcək Rasional Vahid Prosesdir.

UML lüğəti

Model, diaqramlarda göstərilən varlıqlar və onlar arasındakı əlaqələr şəklində təmsil olunur.

Müəssisələr modellərin əsas elementləri olan abstraksiyalardır. Dörd növ varlıq var - struktur (sinif, interfeys, komponent, istifadə nümunəsi, əməkdaşlıq, qovşaq), davranış (qarşılıqlı əlaqə, vəziyyət), qruplaşdırma (paketlər) və annotasiya (şərhlər). Hər bir qurumun öz növü var qrafik təmsil. Diaqramları öyrənərkən obyektlər ətraflı müzakirə olunacaq.

Münasibət varlıqlar arasında müxtəlif əlaqələri göstərir. UML-də aşağıdakı əlaqələr növləri müəyyən edilir:

  • Asılılıq iki varlıq arasında belə bir əlaqəni göstərir ki, onlardan birində - müstəqil - dəyişiklik digərinin - asılı semantikasına təsir edə bilər. Asılılıq asılı varlıqdan müstəqil olana yönəlmiş nöqtəli ox ilə təmsil olunur.
  • Assosiasiya bir varlığın obyektlərinin digərinin obyektləri ilə əlaqəli olduğunu göstərən struktur əlaqədir. Qrafik olaraq assosiasiya əlaqəli obyektləri birləşdirən xətt kimi göstərilir. Assosiasiyalar obyektlər arasında hərəkət etməyə xidmət edir. Məsələn, "Sifariş" və "Məhsul" sinifləri arasındakı əlaqə bir tərəfdən müəyyən bir sifarişdə göstərilən bütün məhsulları tapmaq və ya digər tərəfdən bu məhsulu ehtiva edən bütün sifarişləri tapmaq üçün istifadə edilə bilər. Aydındır ki, müvafiq proqramlar belə naviqasiyanı təmin edən mexanizm tətbiq etməlidir. Yalnız bir istiqamətdə naviqasiya tələb olunarsa, bu, assosiasiyanın sonundakı ox ilə göstərilir. Birləşmənin xüsusi halı aqreqasiyadır - "bütün" - "hissə" şəklində bir əlaqə. Qrafik olaraq, mahiyyət-bütün yaxınlığında sonunda almaz ilə vurğulanır.
  • Ümumiləşdirməəsas müəssisə ilə uşaq müəssisə arasındakı əlaqədir. Əsasən, bu əlaqə siniflər və obyektlər üçün miras xüsusiyyətini əks etdirir. Ümumiləşdirmə əsas varlığa yönəlmiş üçbucaqla bitən xətt kimi göstərilir. Uşaq valideynin strukturunu (atributlarını) və davranışını (metodlarını) miras alır, lakin eyni zamanda onun yeni struktur elementləri və yeni metodları ola bilər. UML çoxlu varisliyə icazə verir, burada bir müəssisə birdən çox əsas müəssisə ilə əlaqəlidir.
  • İcra– davranışın spesifikasiyasını (interfeys) müəyyən edən qurum ilə bu davranışın həyata keçirilməsini müəyyən edən qurum (sinif, komponent) arasındakı əlaqə. Bu əlaqə adətən komponentləri modelləşdirərkən istifadə olunur və sonrakı məqalələrdə daha ətraflı təsvir olunacaq.

Diaqramlar. UML aşağıdakı diaqramları təqdim edir:

  • Sistemin davranışını təsvir edən diaqramlar:
    • Dövlət diaqramları
    • Fəaliyyət diaqramları,
    • Obyekt diaqramları,
    • Ardıcıllıq diaqramları,
    • Əməkdaşlıq diaqramları;
  • Sistemin fiziki icrasını təsvir edən diaqramlar:
    • Komponent diaqramları;
    • Yerləşdirmə diaqramları.

Model Nəzarət Görünüşü. Paketlər.

Artıq dedik ki, bir modelin insanlar tərəfindən yaxşı başa düşülməsi üçün onu iyerarxiyanın hər səviyyəsində az sayda subyekt buraxaraq iyerarxik şəkildə təşkil etmək lazımdır. UML-ə bir modelin iyerarxik təqdimatını təşkil etmək vasitəsi - paketlər daxildir. İstənilən model siniflər, istifadə halları və digər obyektlər və diaqramlardan ibarət paketlər toplusundan ibarətdir. Paketdə iyerarxiyaların yaradılmasına imkan verən başqa paketlər ola bilər. UML ayrıca paket diaqramları təqdim etmir, lakin onlar digər diaqramlarda görünə bilər. Paket əlfəcinli düzbucaqlı şəklində təsvir edilmişdir.

UML nə təmin edir.

  • paketləri müəyyən etməklə mürəkkəb sistemin iyerarxik təsviri;
  • istifadə halları aparatından istifadə etməklə sistemə funksional tələblərin rəsmiləşdirilməsi;
  • fəaliyyət diaqramlarını və ssenarilərini qurmaqla sistem tələblərini təfərrüatlandırmaq;
  • məlumat siniflərinin müəyyən edilməsi və sinif diaqramları şəklində konseptual məlumat modelinin qurulması;
  • təsvir edən sinifləri müəyyən edir istifadəçi interfeysi, və ekran naviqasiya sxeminin yaradılması;
  • sistem funksiyalarını yerinə yetirərkən obyektlər arasında qarşılıqlı əlaqə proseslərinin təsviri;
  • obyekt davranışının fəaliyyət formasında təsviri və vəziyyət diaqramları;
  • proqram komponentlərinin təsviri və onların interfeyslər vasitəsilə qarşılıqlı əlaqəsi;
  • sistemin fiziki arxitekturasının təsviri.

Və son şey...

UML-nin bütün cəlbediciliyinə baxmayaraq, onsuz real PS modelləşdirməsində istifadə etmək çətin olardı alətlər vizual modelləşdirmə. Bu cür alətlər diaqramları displey ekranında tez təqdim etməyə, onları sənədləşdirməyə, müxtəlif OO proqramlaşdırma dillərində proqram kodu şablonlarını yaratmağa və verilənlər bazası sxemlərini yaratmağa imkan verir. Onların əksəriyyətinə proqram kodlarının yenidən qurulması imkanları daxildir - proqramların mənbə kodlarının avtomatik təhlili yolu ilə proqram modelinin müəyyən proqnozlarının bərpası, bu, model və kodlar arasında uyğunluğu təmin etmək üçün və sələf sistemlərinin funksionallığını miras alan sistemlərin layihələndirilməsi zamanı çox vacibdir.

UML diaqramı müxtəlif proqram təminatının hazırlanmasında obyektlərin modelləşdirilməsi üçün nəzərdə tutulmuş xüsusi qrafik təsvir dilidir. Bu dil geniş profilə malikdir və müxtəlif dillərdən istifadə edən açıq standartdır qrafik simvollar sistemin abstrakt modelini yaratmaq. UML bütün növ proqram sistemlərinin tərifini, vizuallaşdırılmasını, sənədləşdirilməsini və dizaynını təmin etmək üçün yaradılmışdır. Qeyd etmək lazımdır ki, UML diaqramının özü proqramlaşdırma dili deyil, lakin onun əsasında ayrıca kodun yaradılması imkanını təmin edir.

Niyə lazımdır?

UML-dən istifadə bütün növ proqram təminatının modelləşdirilməsi ilə bitmir. Həmçinin, bu dil bu gün müxtəlif iş proseslərinin modelləşdirilməsi, sistem dizaynının aparılması, həmçinin təşkilati strukturların nümayişi üçün fəal şəkildə istifadə olunur.

UML ilə proqram tərtibatçıları ümumi anlayışları təmsil etmək üçün istifadə olunan qrafik qeyddə tam razılıq təmin edə bilər: komponent, ümumi, sinif, davranış və aqreqasiya. Bunun sayəsində memarlıq və dizayn üzərində daha çox konsentrasiya əldə edilir.

Bu cür qrafiklərin bir neçə növü olduğunu da qeyd etmək lazımdır.

Sinif diaqramı

UML sinif diaqramı sistemin strukturunu təsvir etmək, həmçinin bir neçə sistem arasındakı atributları, metodları və asılılıqları göstərmək üçün nəzərdə tutulmuş statik struktur diaqramıdır. müxtəlif siniflər.

Qeyd etmək lazımdır ki, necə istifadə olunacağından asılı olaraq bu cür diaqramların qurulmasına dair bir neçə fikir var:

  • Konseptual. Bu halda, UML sinif diaqramı müəyyən bir mövzu sahəsinin modelini təsvir edir və yalnız tətbiq obyektlərinin siniflərini təmin edir.
  • Xüsusi. Diaqram müxtəlif informasiya sistemlərinin layihələndirilməsi prosesində istifadə olunur.
  • İcra. Sinif diaqramına proqram kodunda birbaşa istifadə olunan bütün növ siniflər daxildir.

Komponent diaqramı

UML komponent diaqramı tamamilə statik struktur diaqramıdır. Konkret proqram təminatı sisteminin müxtəlif struktur komponentlərə parçalanmasını, eləcə də onlar arasındakı əlaqəni nümayiş etdirmək üçün nəzərdə tutulmuşdur. UML komponent diaqramı bütün növ modelləri, kitabxanaları, faylları, paketləri, icra olunanları və bir çox digər elementləri istifadə edə bilər.

Mürəkkəb/Kompozit struktur diaqramı

UML kompozit/kompozit struktur diaqramı da statik struktur diaqramıdır, lakin o, siniflərin daxili strukturunu göstərmək üçün istifadə olunur. Əgər mümkünsə bu diaqram sinfin daxili strukturunda yerləşən elementlərin qarşılıqlı təsirini də nümayiş etdirə bilir.

Onların bir alt növü rolları, eləcə də əməkdaşlıq sərhədləri daxilində müxtəlif siniflərin qarşılıqlı əlaqəsini nümayiş etdirmək üçün istifadə olunan UML əməkdaşlıq diaqramıdır. Dizayn nümunələrini modelləşdirməyə ehtiyacınız varsa, onlar olduqca rahatdır.

Qeyd etmək lazımdır ki, UML sinfi və kompozit struktur diaqram görünüşləri eyni vaxtda istifadə edilə bilər.

Yerləşdirmə diaqramı

Bu diaqram işləyən qovşaqları, eləcə də onlarda yerləşdirilən bütün növ artefaktları modelləşdirmək üçün istifadə olunur. UML 2-də artefaktlar müxtəlif qovşaqlara yerləşdirilir, ilk versiyada isə yalnız komponentlər yerləşdirilirdi. Beləliklə, UML yerləşdirmə diaqramı ilk növbədə ikinci versiya üçün istifadə olunur.

Artefakt və onun həyata keçirdiyi komponent arasında təzahür asılılığı yaranır.

Obyekt diaqramı

Bu görünüş müəyyən bir zamanda yaradılan sistemin tam və ya qismən görüntüsünü görməyə imkan verir. O, parametrlərinin cari dəyərlərini, habelə aralarındakı əlaqələri göstərən müəyyən bir sistemin siniflərinin bütün nümunələrini tam olaraq göstərir.

Paket diaqramı

Bu diaqram struktur xarakterlidir və onun əsas məzmunu bütün növ paketlər, eləcə də onlar arasındakı əlaqələrdir. Bu vəziyyətdə, bir neçə struktur diaqram arasında ciddi bir bölünmə yoxdur, bunun nəticəsində onların istifadəsi çox vaxt yalnız rahatlıq üçün tapılır və heç bir semantik məna daşımır. Qeyd etmək lazımdır ki, müxtəlif elementlər digər UML diaqramlarını təmin edə bilər (məsələn: paketlər və paket diaqramlarının özləri).

Onların istifadəsi strukturu sadələşdirmək, həmçinin verilmiş sistemin modeli ilə işi təşkil etmək üçün müəyyən meyar üzrə bir neçə elementin qruplara təşkilini təmin etmək məqsədilə həyata keçirilir.

Fəaliyyət diaqramı

UML fəaliyyət diaqramı müəyyən bir fəaliyyətin bir neçə komponent hissəyə parçalanmasını təsvir edir. Bu vəziyyətdə, "fəaliyyət" anlayışı müəyyən bir icra edilə bilən davranışın paralel şəklində, habelə müxtəlif tabe elementlərin - daxili fəaliyyət növlərinin və nəticələrdən gələn axınlarla birləşdirilən müxtəlif hərəkətlərin əlaqələndirilmiş ardıcıl icrasının spesifikasiyasıdır. müəyyən bir qovşağın digərinin girişlərinə.

UML fəaliyyət diaqramları tez-tez müxtəlif biznes proseslərini, paralel və ardıcıl hesablamaları modelləşdirmək üçün istifadə olunur. Digər şeylər arasında, onlar hər cür texnoloji prosedurları simulyasiya edirlər.

Maşın diaqramı

Bu tip də bir az fərqli adlanır - UML dövlət diaqramı. O, sadə və mürəkkəb vəziyyətləri, eləcə də keçidləri olan təqdim edilmiş sonlu dövlət maşınına malikdir.

Dövlət maşını müəyyən bir obyektin və ya qarşılıqlı əlaqənin həyatında müəyyən hadisələrə cavab olaraq keçdiyi müxtəlif vəziyyətlər ardıcıllığının spesifikasiyasıdır, həmçinin obyektin belə hadisələrə reaksiyasıdır. UML dövlət diaqramından istifadə edən dövlət maşını mənbə elementinə əlavə olunur və onun nümunələrinin davranışını müəyyən etmək üçün istifadə olunur.

Sözdə əjdaha diaqramları belə diaqramların analoqu kimi istifadə edilə bilər.

Case diaqramlarından istifadə edin

UML istifadə nümunəsi diaqramı aktyorlar arasında baş verən bütün əlaqələri, eləcə də müxtəlif istifadə hallarını təsvir edir. Onun əsas vəzifəsi müştəri, son istifadəçi və ya hər hansı bir tərtibatçının müəyyən bir sistemin davranışını və funksionallığını birgə müzakirə edə biləcəyi tam hüquqlu bir vasitə təmin etməkdir.

Sistemin modelləşdirilməsi prosesində UML istifadə nümunəsi diaqramından istifadə edilərsə, analitik:

  • Modelləşdirilən sistemi öz mühitindən aydın şəkildə ayırın.
  • Aktyorları, onların bu sistemlə qarşılıqlı əlaqə yollarını, habelə onun gözlənilən funksionallığını müəyyənləşdirin.
  • Lüğətdə müəyyən bir sistemin funksionallığının təfərrüatlı təsviri ilə əlaqəli müxtəlif anlayışları mövzu sahəsi kimi daxil edin.

UML-də istifadə diaqramı hazırlanırsa, prosedur müştəri ilə işləyərkən əldə edilən mətn təsviri ilə başlayır. Qeyd etmək lazımdır ki, istifadə nümunəsi modelinin tərtibi prosesində müxtəlif qeyri-funksional tələblər tamamilə buraxılır və onlar üçün ayrıca sənəd yaradılacaqdır.

Rabitə

Kommunikasiya diaqramı, UML ardıcıllığı diaqramı kimi, keçidlidir, yəni qarşılıqlı əlaqəni ifadə edir, lakin eyni zamanda onu nümayiş etdirir. fərqli yollar, lazım gələrsə, tələb olunan dəqiqlik dərəcəsi ilə biri digərinə çevrilə bilər.

Rabitə diaqramı kompozit strukturun müxtəlif elementləri arasında baş verən qarşılıqlı əlaqələri, habelə əməkdaşlıq rollarını əks etdirir. Onun ardıcıllıq diaqramından əsas fərqi ondan ibarətdir ki, o, bir neçə element arasındakı əlaqələri kifayət qədər aydın edir və vaxtdan ayrıca ölçü kimi istifadə etmir.

Bu tip O, obyekt diaqramında olduğu kimi çoxlu obyektləri və əlaqəni təşkil etmək üçün tamamilə pulsuz formata malikdir. Bu pulsuz formatda mesajların sırasını saxlamaq zərurəti yaranarsa, onlar xronoloji qaydada nömrələnir. Bu diaqramın oxunması ilkin mesaj 1.0 ilə başlayır və sonra mesajların bir obyektdən digərinə ötürüldüyü istiqamətdə davam edir.

Əksər hallarda, bu diaqramlar ardıcıllıq diaqramının bizə təqdim etdiyi eyni məlumatları göstərir, lakin məlumatı təqdim etmək üçün fərqli bir üsuldan istifadə etdiyinə görə, bir diaqramdakı bəzi şeyləri müəyyən etmək digərinə nisbətən daha asan olur. Onu da qeyd etmək lazımdır ki, rabitə diaqramı hər birinin hansı elementlərlə qarşılıqlı əlaqədə olduğunu daha aydın göstərir ayrı element, halbuki ardıcıllıq diaqramı qarşılıqlı təsirlərin hansı ardıcıllıqla baş verdiyini daha aydın göstərir.

Ardıcıllıq diaqramı

UML ardıcıllığı diaqramı, meydana çıxdıqları vaxta görə sıralanan çoxlu obyektlər arasında qarşılıqlı əlaqəni göstərir. Bu diaqram bir neçə obyekt arasında vaxt sifarişli qarşılıqlı əlaqəni göstərir. Xüsusilə, o, qarşılıqlı əlaqədə iştirak edən bütün obyektləri, eləcə də onlar arasında mübadilə edilən mesajların tam ardıcıllığını göstərir.

Bu vəziyyətdə əsas elementlər müxtəlif obyektlərin təyinatları, həmçinin zamanın keçidini təsvir edən şaquli xətlər və müəyyən bir obyektin fəaliyyətini və ya bəzi funksiyaların yerinə yetirilməsini təmsil edən düzbucaqlılardır.

Əməkdaşlıq diaqramı

Bu tip diaqram mesajın tərcüməsi ardıcıllığından mücərrəd olaraq bir neçə obyekt arasında qarşılıqlı əlaqəni nümayiş etdirməyə imkan verir. Bu tip diaqram kompakt formada müəyyən bir obyektin bütün ötürülən və qəbul edilmiş mesajlarını, həmçinin bu mesajların formatlarını göstərir.

Ardıcıllıq və əlaqə diaqramları eyni prosedurların sadəcə fərqli görünüşləri olduğundan, Rational Rose ardıcıllıq diaqramından və ya əksinə əlaqə diaqramı yaratmaq imkanı verir və həmçinin onları tamamilə avtomatik sinxronlaşdırır.

Qarşılıqlı əlaqə diaqramları

Bunlar diaqramlardır UML dili, fəaliyyət diaqramının bir növüdür və həm Ardıcıllıq elementlərini, həm də idarəetmə axını konstruksiyalarını ehtiva edir.

Qeyd etmək lazımdır ki, bu format əməkdaşlıq və Ardıcıllıq diaqramını birləşdirir ki, bu da formalaşmaqda olan sistemdəki bir neçə obyekt arasında qarşılıqlı əlaqəni müxtəlif nöqteyi-nəzərdən nəzərdən keçirmək imkanı verir.

Zamanlama diaqramı

Müəyyən bir zaman miqyasında həyat xətti boyunca vəziyyətin dəyişməsini açıq şəkildə nümayiş etdirən ardıcıllıq diaqramının alternativ versiyasını təmsil edir. olduqca faydalı ola bilər müxtəlif tətbiqlər real vaxt.

Üstünlükləri nələrdir?

UML istifadə diaqramını və digərlərini fərqləndirən bir sıra üstünlükləri qeyd etmək lazımdır:

  • Dil obyekt yönümlüdür, bunun nəticəsində təhlil və dizayn nəticələrinin təsviri texnologiyaları semantik cəhətdən bütün müasir obyekt yönümlü dillərdə proqramlaşdırma metodlarına yaxındır.
  • Köməyi ilə bu dildən sistem demək olar ki, hər hansı mümkün nöqteyi-nəzərdən təsvir edilə bilər və onun davranışının müxtəlif aspektləri eyni şəkildə təsvir olunur.
  • Bütün diaqramları hətta onun sintaksisi ilə nisbətən tez tanış olduqdan sonra da oxumaq nisbətən asandır.
  • UML sizə öz qrafik və mətn stereotiplərinizi genişləndirməyə və təqdim etməyə imkan verir ki, bu da onun təkcə proqram mühəndisliyində deyil, istifadəsini təşviq edir.
  • Dil kifayət qədər geniş yayılmışdır və kifayət qədər fəal şəkildə inkişaf edir.

Qüsurlar

UML diaqramlarının qurulmasının bir çox üstünlüklərə malik olmasına baxmayaraq, onlar tez-tez aşağıdakı çatışmazlıqlara görə tənqid olunur:

  • Artıqlıq. Əksər hallarda tənqidçilər UML-nin çox böyük və mürəkkəb olduğunu və bunun çox vaxt əsassız olduğunu söyləyirlər. Buraya kifayət qədər lazımsız və ya praktiki olaraq yararsız dizayn və diaqramlar daxildir və çox vaxt bu cür tənqidlər birinciyə deyil, ikinci versiyaya yönəldilir, çünki yeni düzəlişlər daha çox "komitə tərəfindən hazırlanmış" kompromisləri ehtiva edir.
  • Semantikada müxtəlif qeyri-dəqiqliklər. UML özü, İngilis və OCL birləşməsi ilə müəyyən edildiyi üçün, formal təsvir üsulları ilə dəqiq müəyyən edilmiş dillərə xas olan sərtliyə malik deyil. Müəyyən situasiyalarda OCL, UML və ingilis dillərinin mücərrəd sintaksisi bir-biri ilə ziddiyyət təşkil etməyə başlayır, digər hallarda isə natamam olur. Dilin spesifikasiyasındakı qeyri-dəqiqlik həm istifadəçilərə, həm də alət satıcılarına eyni dərəcədə təsir edir və nəticədə fərqli spesifikasiyaların işlənilməsinin unikal üsulu səbəbindən alət uyğunsuzluğuna gətirib çıxarır.
  • Həyata keçirilməsi və öyrənilməsi prosesində problemlər. Yuxarıda göstərilən məsələlərin hamısı UML-nin tətbiqi və öyrənilməsində çətinliklər yaradır, xüsusən rəhbərlik mühəndisləri əvvəlcədən məlumatı olmadan istifadə etməyə məcbur etdikdə.
  • Kod kodu əks etdirir. Başqa bir fikir budur ki, gözəl və cəlbedici modellər deyil, işləyən sistemlərin özü, yəni kod layihədir. Bu baxışa görə, daha çox inkişafa ehtiyac var təsirli üsul yazı proqramı. UML adətən icra olunan və ya mənbə kodunu bərpa etmək üçün modelləri tərtib edən yanaşmalarda qiymətləndirilir. Lakin reallıqda bu kifayət olmaya bilər, çünki dildə Turing tamlıq xüsusiyyətləri yoxdur və yaradılan hər bir kod son nəticədə UML tərcümə alətinin təxmin edə və ya müəyyən edə biləcəyi ilə məhdudlaşacaq.
  • Yük uyğunsuzluğu. Bu termin müəyyən bir sistemin girişinin digər çıxışı qəbul edə bilməməsini müəyyən etmək üçün sistem analizi nəzəriyyəsindən irəli gəlir. Hər hansı bir standart qeyddə olduğu kimi, UML bəzi sistemləri digərlərindən daha səmərəli və qısa şəkildə təmsil edə bilər. Beləliklə, tərtibatçı UML-in bütün güclü tərəflərini, eləcə də digər proqramlaşdırma dillərini birləşdirmək üçün daha rahat olan həllərə daha çox meyllidir. Bu problem inkişaf dili obyekt yönümlü pravoslavlığın əsas prinsiplərinə uyğun gəlmirsə, yəni OOP prinsiplərinə uyğun işləməyə çalışmazsa daha aydın olur.
  • Universal olmağa çalışır. UML bu gün mövcud olan istənilən emal dili ilə uyğunlaşmağa çalışan ümumi məqsədli modelləşdirmə dilidir. Müəyyən bir layihə kontekstində dizayn qrupunun son məqsədə çatması üçün həmin dilin tətbiq olunan xüsusiyyətlərini seçmək lazımdır. Bundan əlavə, müəyyən bir sahədə UML-in əhatə dairəsini məhdudlaşdırmağın mümkün yolları tam ifadə olunmayan və özü də tənqidə məruz qalan formalizmdir.

Beləliklə, bu dilin istifadəsi bütün vəziyyətlərdə aktual deyil.

Hal-hazırda, UML bir çox obyekt yönümlü CASE məhsulları tərəfindən dəstəklənən Obyekt İdarəetmə Qrupu (OMG) konsorsiumu tərəfindən 1997-ci ilin payızında qəbul edilmiş proqram sistemlərinin vizual modelləşdirilməsi üçün standart notasiyadır.

UML standartı modelləşdirmə üçün aşağıdakı diaqram dəstini təklif edir:

· istifadə nümunəsi diaqramı – təşkilatın və ya müəssisənin biznes proseslərinin modelləşdirilməsi və yaradılan informasiya sisteminə tələblərin müəyyən edilməsi üçün;

· sinif diaqramı – sistem siniflərinin statik strukturunun və onlar arasında əlaqələrin modelləşdirilməsi üçün;

· sistemin davranış diaqramları;

· qarşılıqlı əlaqə diaqramları;

· ardıcıllıq diaqramları – bir istifadə halında obyektlər arasında mesajlaşma prosesinin modelləşdirilməsi üçün;

· əməkdaşlıq diaqramı – bir istifadə halında obyektlər arasında mesajlaşma prosesinin modelləşdirilməsi üçün;

· dövlət diaqramı – bir vəziyyətdən digərinə keçid zamanı sistem obyektlərinin davranışının modelləşdirilməsi üçün;

· fəaliyyət diaqramı – müxtəlif istifadə halları və ya modelləşdirmə fəaliyyətləri çərçivəsində sistemin davranışını modelləşdirmək üçün;

icra diaqramları:

· komponent diaqramları – informasiya sisteminin komponentlərinin (alt sistemlərinin) iyerarxiyasının modelləşdirilməsi üçün;

· yerləşdirmə diaqramı – dizayn edilmiş informasiya sisteminin fiziki arxitekturasının modelləşdirilməsi üçün.

Şəkildə. 1.1 bu kurs layihəsində hazırlanmalı olan əsas diaqramlar daxil olmaqla, informasiya sisteminin inteqrasiya olunmuş modelini təqdim edir.

düyü. 1. UML notasiyasında informasiya sisteminin inteqrasiya olunmuş modeli

4.2. Case Diaqramından istifadə edin

İstifadə nümunəsi bəzi xarici obyekt (aktyor) tərəfindən başlanan hadisəyə cavab olaraq sistem tərəfindən həyata keçirilən hərəkətlər ardıcıllığıdır. İstifadə nümunəsi istifadəçi və sistem arasında tipik qarşılıqlı əlaqəni təsvir edir. Ən sadə halda, istifadə halı istifadəçi ilə bu informasiya sistemində həyata keçirmək istədiyi funksiyaların müzakirəsi zamanı müəyyən edilir. UML-də istifadə halı aşağıdakı kimi təsvir edilmişdir:

Şəkil 2. İstifadə işi

Aktyor istifadəçinin sistemə münasibətdə oynadığı roldur. Aktyorlar konkret insanları və ya iş adlarını deyil, rolları təmsil edirlər. İstifadə nümunələri diaqramlarında stilizə edilmiş insan fiqurları kimi təsvir olunsa da, aktyor həm də xarici ola bilər məlumat Sistemi, bu sistemdən bəzi məlumatlara ehtiyacı var. Aktyorlar yalnız bəzi istifadə hallarına ehtiyac duyduqları halda diaqramda göstərilməlidir. UML-də aktyorlar forma kimi təmsil olunur:



Şəkil 3. Xarakter (aktyor)

Aktyorlar üç əsas növə bölünür:

· istifadəçilər;

· sistemlər;

· bu sistemlə qarşılıqlı əlaqədə olan digər sistemlər;

Sistemdə hər hansı bir hadisənin başlanması ondan asılıdırsa, zaman aktyora çevrilir.

4.2.1. İstifadə halları və aktyorlar arasında əlaqələr

UML-də istifadə halı diaqramları diaqram elementləri arasında bir neçə növ əlaqəni dəstəkləyir:

· rabitə

daxil etmək (daxil etmək),

· uzadılması (uzatmaq),

· ümumiləşdirmə.

rabitə əlaqəsi istifadə halı ilə aktyor arasındakı əlaqədir. UML-də ünsiyyət əlaqələri bir istiqamətli assosiasiyadan (bərk xətt) istifadə etməklə göstərilir.

Şəkil 4. Rabitə bağlantısı nümunəsi

Bağlantını aktivləşdirin birdən çox istifadə vəziyyətində təkrarlanan bəzi sistem davranışının olduğu vəziyyətlərdə istifadə olunur. Bu əlaqələr adətən təkrar istifadə edilə bilən funksiyanı modelləşdirmək üçün istifadə olunur.

Genişlənmə rabitəsi sistemin normal davranışındakı dəyişiklikləri təsvir etmək üçün istifadə olunur. Lazım olduqda bir istifadə halından istifadə etməyə imkan verir funksionallıq başqa bir istifadə halı.

Şəkil 5. Daxiletmə və genişləndirmə əlaqəsi nümunəsi

Ümumiləşdirmə əlaqəsi bir neçə aktyor və ya sinifin ümumi xassələrə malik olduğunu göstərir.

Şəkil 6. Ümumiləşdirmə bağlantısı nümunəsi

4.3.



Qarşılıqlı əlaqə diaqramları qarşılıqlı əlaqədə olan obyekt qruplarının davranışını təsvir edin. Tipik olaraq, qarşılıqlı əlaqə diaqramı yalnız bir istifadə halında obyektlərin davranışını əhatə edir. Belə bir diaqram bir sıra obyektləri və onların bir-biri ilə mübadilə etdikləri mesajları göstərir.

Mesaj göndərən obyektin onun əməliyyatlarından birini yerinə yetirmək üçün alıcı obyektə müraciət etməsi vasitəsidir.

Məlumat mesajı alıcı obyektin vəziyyətini yeniləmək üçün bəzi məlumatlarla təmin edən mesajdır.

Sorğu mesajı (sorğu) alıcı obyekt haqqında bəzi məlumatların buraxılmasını tələb edən mesajdır.

İmperativ mesaj alıcı obyektdən bəzi hərəkətləri yerinə yetirməyi tələb edən mesajdır.

Qarşılıqlı əlaqə diaqramlarının iki növü var: ardıcıllıq diaqramları və əməkdaşlıq diaqramları.

4.3.1. Ardıcıllıq diaqramları

Ardıcıllıq diaqramı bir istifadə halında baş verən hadisələrin axını əks etdirir.

Verilmiş ssenaridə (istifadə halında) iştirak edən bütün aktyorlar (aktyorlar, siniflər və ya obyektlər) diaqramın yuxarı hissəsində göstərilir. Oklar tələb olunan funksiyaları yerinə yetirmək üçün aktyor və obyekt arasında və ya obyektlər arasında ötürülən mesajlara uyğundur.

Ardıcıllıq diaqramında obyekt ondan aşağı çəkilmiş nöqtəli şaquli xətt ilə düzbucaqlı şəklində təsvir edilmişdir. Bu xətt adlanır obyektin həyat xətti . Qarşılıqlı təsir prosesində bir obyektin həyat dövrünün bir parçasını təmsil edir.

Hər bir mesaj iki obyektin həyat xətləri arasında bir ox kimi təmsil olunur. Mesajlar yuxarıdan aşağıya doğru səhifədə görünən ardıcıllıqla görünür. Hər bir mesaj ən azı bir mesaj adı ilə etiketlənir. İstəsəniz, arqumentlər və bəzi nəzarət məlumatlarını da əlavə edə bilərsiniz. Öz-özünə nümayəndəliyi göstərə bilərsiniz - bir obyektin özünə göndərdiyi mesaj, mesaj oxu eyni həyat xəttinə işarə edir.

düyü. 7. Ardıcıllıq diaqramının nümunəsi

4.3.2. Əməkdaşlıq diaqramı

Əməkdaşlıq diaqramları konkret ssenari daxilində hadisələrin axınını göstərin (istifadə halı). Mesajlar zamana görə sıralanır, baxmayaraq ki, əməkdaşlıq diaqramları daha çox obyektlər arasındakı əlaqələrə diqqət yetirir. Əməkdaşlıq diaqramı ardıcıllıq diaqramında mövcud olan bütün məlumatları təqdim edir, lakin əməkdaşlıq diaqramı hadisələrin axınını fərqli şəkildə təsvir edir. Obyektlər arasında mövcud olan əlaqələri başa düşməyi asanlaşdırır.

Əməkdaşlıq diaqramında, ardıcıllıq diaqramında olduğu kimi, oxlar müəyyən bir istifadə halında mübadilə edilən mesajları təmsil edir. Onların vaxt ardıcıllığı mesajların nömrələnməsi ilə göstərilir.

düyü. 8. Əməkdaşlıq diaqramının nümunəsi

4.4. Sinif diaqramı

4.4.1. Ümumi məlumat

Sinif diaqramı sistemin siniflərinin növlərini və onlar arasında mövcud olan müxtəlif növ statik əlaqələri müəyyən edir. Sinif diaqramları həmçinin siniflərin atributlarını, siniflərin əməliyyatlarını və siniflər arasında əlaqələrə qoyulan məhdudiyyətləri təsvir edir.

UML dilində sinif diaqramı qovşaqları layihənin statik strukturunun elementləri (siniflər, interfeyslər), qövslər isə qovşaqlar (assosiasiyalar, irsiyyət, asılılıqlar) arasındakı əlaqələr olan qrafikdir.

Sinif diaqramı aşağıdakı elementləri təsvir edir:

· Paket – bir-biri ilə məntiqi əlaqədə olan model elementlərinin toplusu;

· Sinif (sinif) - oxşar obyektlər qrupunun ümumi xassələrinin təsviri;

· İnterfeys - verilmiş interfeys ilə əlaqəli ixtiyari sinif obyektinin digər obyektlərə təqdim etdiyi əməliyyatlar toplusunu təyin edən abstrakt sinif.

4.4.2. Sinif

Sinif oxşar xassələrə, yəni verilənlərə və davranışa malik olan obyektlər (obyektlər) qrupudur. Bir sinfin fərdi nümayəndəsi sinfin obyekti və ya sadəcə obyekt adlanır.

UML-də obyektin davranışı obyektin xarici dünya ilə və obyektin özünün məlumatları ilə qarşılıqlı əlaqəsi üçün hər hansı qaydalara aiddir.

Diaqramlarda sinif üfüqi xətlərlə 3 hissəyə bölünmüş möhkəm haşiyəli düzbucaqlı kimi təsvir edilmişdir:

Üst bölmə (ad bölməsi) sinif adını və digər ümumi xüsusiyyətləri (xüsusilə, stereotip) ehtiva edir.

Orta hissədə atributların siyahısı var

Aşağıda onun davranışını əks etdirən sinif əməliyyatlarının siyahısı var (sinif tərəfindən həyata keçirilən hərəkətlər).

Atribut və əməliyyat bölmələrinin heç biri (və ya hər ikisi birdən) göstərilməyə bilər. Çatışmayan bir bölmə üçün bölmə xətti çəkməyə ehtiyac yoxdur və ya hər hansı bir şəkildə orada elementlərin varlığını və ya olmamasını göstərir.

Xüsusi həyata keçirilməsinin mülahizəsinə görə təqdim edilə bilər əlavə bölmələr məsələn, istisnalar.

düyü. 9. Sinif diaqramının nümunəsi

4.4.2.1.Sinif stereotipləri

Sinif stereotipləri siniflərin kateqoriyalara bölünməsi mexanizmidir.

UML üç əsas sinif stereotipini müəyyən edir:

Sərhəd (sərhəd);

Müəssisə (müəssisə);

Nəzarət.

4.4.2.2.Sərhəd sinifləri

Sərhəd sinifləri sistemin və bütün ətraf mühitin sərhədində yerləşən siniflərdir. Bunlara displeylər, hesabatlar, aparat ilə interfeyslər (məsələn, printerlər və ya skanerlər) və digər sistemlərlə interfeyslər daxildir.

Sərhəd siniflərini tapmaq üçün istifadə hallarının diaqramlarını araşdırmaq lazımdır. Aktyor və istifadə nümunəsi arasındakı hər bir qarşılıqlı əlaqə ən azı bir sərhəd sinfi ilə əlaqələndirilməlidir. Məhz bu sinif aktyora sistemlə əlaqə saxlamağa imkan verir.

4.4.2.3.Müəssisə sinifləri

Müəssisə sinifləri saxlanılan məlumatları ehtiva edir. Onlar istifadəçi üçün ən böyük məna daşıyır və buna görə də onların adları tez-tez mövzu sahəsindəki terminlərdən istifadə edir. Tipik olaraq verilənlər bazasında hər bir obyekt sinfi üçün cədvəl yaradılır.

4.4.2.4.Nəzarət sinifləri

Nəzarət sinifləri digər siniflərin hərəkətlərinin əlaqələndirilməsinə cavabdehdirlər. Tipik olaraq, hər bir istifadə halında həmin istifadə halı üçün hadisələrin ardıcıllığına nəzarət edən bir nəzarət sinfi var. Nəzarət sinfi koordinasiyaya cavabdehdir, lakin özü heç bir funksionallıq daşımır, çünki digər siniflər onu göndərmir. böyük miqdarda mesajlar. Əvəzində özü çoxlu mesajlar göndərir. Menecer sinfi sadəcə olaraq məsuliyyəti digər siniflərə həvalə edir, buna görə də ona tez-tez menecer sinfi deyilir.

Sistemdə çoxlu istifadə halları üçün ümumi olan digər nəzarət sinifləri də ola bilər. Məsələn, təhlükəsizliklə bağlı hadisələrin monitorinqinə cavabdeh olan SecurityManager sinfi (təhlükəsizlik meneceri) ola bilər. TransactionManager sinfi verilənlər bazası əməliyyatları ilə bağlı mesajların koordinasiyasına cavabdehdir. Resurs mübadiləsi, paylanmış məlumatların işlənməsi və ya səhvlərin idarə edilməsi kimi sistemin digər elementlərini idarə etmək üçün başqa menecerlər ola bilər.

Yuxarıda göstərilən stereotiplərə əlavə olaraq, özünüz də yarada bilərsiniz.

4.4.2.5.Atributlar

Atribut siniflə əlaqəli məlumat elementidir. Atributlar əhatə olunmuş sinif məlumatlarını saxlayır.

Atributlar bir sinif daxilində olduğundan, digər siniflərdən gizlədilir. Buna görə, hansı siniflərin atributları oxumaq və dəyişdirmək hüququna malik olduğunu müəyyən etməli ola bilərsiniz. Bu xüsusiyyət atributun görünməsi adlanır.

Atribut bu parametr üçün dörd mümkün dəyərə malik ola bilər:

İctimai (ümumi, açıq). Bu görünmə dəyəri atributun bütün digər siniflər üçün görünəcəyini nəzərdə tutur. İstənilən sinif atributun dəyərinə baxa və ya dəyişə bilər. UML notasiyasına görə, ümumi atributdan əvvəl "+" işarəsi qoyulur.

Şəxsi (qapalı, gizli). Müvafiq atribut heç bir başqa sinifə görünmür. Şəxsi atribut UML notasiyasına uyğun olaraq “–” işarəsi ilə işarələnir.

Qorunur (qorunur). Bu atribut yalnız sinfin özü və onun törəmələri üçün əlçatandır. Qorunan atribut üçün UML notasiyası "#" işarəsidir.

Paket və ya İcra Atributun paylaşıldığını fərz edir, lakin yalnız paketinin əhatə dairəsi daxilində. Bu növ görünürlük heç bir xüsusi işarə ilə göstərilmir.

Qapalılıq və ya təhlükəsizliyin köməyi ilə bir atributun dəyərinin sistemin bütün sinifləri tərəfindən dəyişdirildiyi bir vəziyyətdən qaçmaq mümkündür. Bunun əvəzinə atributun dəyişdirilməsi məntiqi atributun özü ilə eyni sinifdə yer alacaq. Quraşdırdığınız görünmə parametrləri yaradılan koda təsir edəcək.

4.4.2.6.Əməliyyatlar

Əməliyyatlar siniflə əlaqəli davranışı həyata keçirir. Əməliyyat üç hissədən ibarətdir: ad, parametrlər və qaytarma növü.

Parametrlər əməliyyat tərəfindən giriş kimi qəbul edilən arqumentlərdir. Qaytarma növü əməliyyatın nəticəsini ifadə edir.

Sinif diaqramı həm əməliyyat adlarını, həm də əməliyyat adlarını parametrləri və qaytarma növü ilə birlikdə göstərə bilər. Diaqramdakı yükü azaltmaq üçün bəzilərində yalnız əməliyyatların adlarını, digərlərində isə tam imzalarını göstərmək faydalıdır.

UML-də əməliyyatlar aşağıdakı qeydlərə malikdir:

Əməliyyat adı (arqument: arqument məlumat növü, arqument2: arqument2 məlumat növü,...): qaytarma növü

Nəzərə alınacaq dörd fərqli əməliyyat növü var:

İcra əməliyyatları;

İdarəetmə əməliyyatları;

Giriş əməliyyatları;

Köməkçi əməliyyatlar.

İcra əməliyyatları

İcraçı əməliyyatlar müəyyən biznes funksiyalarını həyata keçirir. Bu cür əməliyyatları qarşılıqlı əlaqə diaqramlarını tədqiq etməklə tapmaq olar. Bu tip diaqram iş funksiyalarına diqqət yetirir və diaqramdakı hər bir mesaj çox güman ki, həyata keçirmə fəaliyyəti ilə əlaqələndirilə bilər.

Hər bir icra əməliyyatı müvafiq tələbə uyğun olaraq asanlıqla izlənilə bilən olmalıdır. Bu, simulyasiyanın müxtəlif mərhələlərində əldə edilir. Əməliyyat qarşılıqlı əlaqə diaqramındakı mesajdan alınır, mesajlar ondan gəlir Ətraflı Təsviri istifadə halı əsasında yaradılan və ikincisi tələblərə əsasən yaradılan hadisələr axını. Bütün bu zənciri izləmək imkanı sizə hər bir tələbin kodda yerinə yetirilməsini və hər bir kod parçasının bəzi tələbləri yerinə yetirməsini təmin etməyə imkan verir.

Nəzarət əməliyyatları

Menecer əməliyyatları obyektlərin yaradılmasına və məhvinə nəzarət edir. Sinif konstruktorları və dağıdıcıları bu kateqoriyaya aiddir.

Giriş əməliyyatları

Atributlar adətən özəl və ya qorunan olur. Bununla belə, digər siniflər bəzən öz dəyərlərini nəzərdən keçirməli və ya dəyişdirməlidirlər. Bunun üçün giriş əməliyyatları var. Bu yanaşma sinif daxilində atributları təhlükəsiz şəkildə əhatə etməyə imkan verir, onları digər siniflərdən qoruyur, lakin yenə də onlara idarə olunan giriş imkanı verir. Hər bir sinif atributu üçün Get və Set əməliyyatlarının yaradılması standartdır.

Köməkçi əməliyyatlar

Köməkçi əməliyyatlar sinifin öz vəzifələrini yerinə yetirməsi üçün zəruri olan, lakin digər siniflərin heç nə bilməməli olduğu əməliyyatlardır. Bunlar özəl və qorunan sinif əməliyyatlarıdır.

Əməliyyatları müəyyən etmək üçün bu addımları yerinə yetirin:

1. Ardıcıllıq diaqramlarını və kooperativ diaqramları öyrənin. Bu diaqramlardakı mesajların əksəriyyəti icra əməliyyatlarıdır. Yansıtıcı mesajlar köməkçi əməliyyatlar olacaq.

2. Nəzarət əməliyyatlarını nəzərdən keçirin. Konstruktorlar və destruktorlar əlavə etmək lazım ola bilər.

3. Giriş əməliyyatlarını nəzərdən keçirin. Digər siniflərin işləməli olduğu hər bir sinif atributu üçün siz Get və Set əməliyyatlarını yaratmalısınız.

4.4.2.7.Əlaqələr

Münasibət siniflər arasında semantik əlaqəni ifadə edir. Bu, sinfə başqa sinfin atributları, əməliyyatları və əlaqələri haqqında öyrənmək imkanı verir. Başqa sözlə, bir sinfin digərinə ardıcıllıq diaqramında və ya kooperativ diaqramda mesaj göndərməsi üçün onlar arasında əlaqə olmalıdır.

Siniflər arasında dörd növ əlaqə qurmaq olar: assosiasiyalar, asılılıqlar, birləşmələr və ümumiləşdirmələr.

Rabitə Birliyi

Assosiasiya siniflər arasında semantik əlaqədir. Onlar sinif diaqramında adi bir xətt kimi çəkilir.

düyü. 10. Rabitə Assosiasiyası

Assosiasiyalar misalda olduğu kimi iki istiqamətli və ya bir istiqamətli ola bilər. UML-də iki istiqamətli assosiasiyalar oxsuz və ya hər iki tərəfdə oxlar olan sadə bir xətt kimi çəkilir. Bir istiqamətli assosiasiyanın istiqamətini göstərən yalnız bir ox var.

Birləşmənin istiqaməti ardıcıllıq diaqramlarını və kooperativ diaqramları tədqiq etməklə müəyyən edilə bilər. Onlardakı bütün mesajlar yalnız bir sinif tərəfindən göndərilirsə və yalnız başqa bir sinif tərəfindən qəbul edilirsə, əksinə deyilsə, bu siniflər arasında birtərəfli əlaqə mövcuddur. Ən azı bir mesaj əks istiqamətdə göndərilirsə, assosiasiya iki istiqamətli olmalıdır.

Assosiasiyalar refleksiv ola bilər. Refleksiv assosiasiya eyni sinfin digər nümunələri ilə qarşılıqlı əlaqədə olan bir sinfin bir nümunəsini əhatə edir.

Ünsiyyət asılılığı

Asılılıq əlaqələri həm də siniflər arasındakı əlaqələri əks etdirir, lakin onlar həmişə bir istiqamətlidir və bir sinfin digərində verilmiş təriflərdən asılı olduğunu göstərir. Məsələn, A sinfi B sinfinin metodlarından istifadə edir. Sonra B sinfi dəyişdikdə, A sinfində müvafiq dəyişikliklər etmək lazımdır.

Asılılıq təsvir edilmişdir nöqtəli xətt iki diaqram elementi arasında çəkilir və oxun sonuna əlavə olunan element həmin oxun əvvəlinə əlavə olunan elementdən asılı hesab edilir.

düyü. 11. Ünsiyyət asılılığı

Bu siniflər üçün kod yaradan zaman onlara yeni atributlar əlavə edilməyəcək. Bununla belə, ünsiyyəti dəstəkləmək üçün xüsusi dil operatorları yaradılacaq.

Rabitə aqreqasiyası

Aqreqasiyalar assosiasiyanın daha sıx formasıdır. Aqreqasiya bütöv və onun hissəsi arasında əlaqədir. Məsələn, Avtomobil adlı sinifiniz, həmçinin Mühərrik, Təkərlər və avtomobilin digər hissələri üçün siniflər ola bilər. Nəticədə, Car sinfinin obyekti Mühərrik sinfinin obyektindən, dörd Şin obyektindən və s. ibarət olacaq. Aqreqatlar sinfin yaxınlığında tam ədəd olan almazlı xətt kimi vizuallaşdırılır:

düyü. 11. Rabitə aqreqasiyası

Sadə birləşmədən əlavə, UML kompozisiya adlanan daha güclü birləşmə növü təqdim edir. Kompozisiyaya görə, obyekt-hissə yalnız tək bir bütövə aid ola bilər və bundan əlavə, bir qayda olaraq, hissələrin həyat dövrü bütövün dövrü ilə üst-üstə düşür: onlar onunla yaşayır və ölürlər. Bütünün istənilən silinməsi onun hissələrinə aiddir.

Bu ardıcıl silinmə çox vaxt aqreqasiya tərifinin bir hissəsi hesab olunur, lakin rol çoxluğu 1..1 olduqda həmişə nəzərdə tutulur; məsələn, Müştərini silmək lazımdırsa, bu silinmə Sifarişlərə (və öz növbəsində Sifariş Xəttlərinə) də şamil edilməlidir.

UML, Vahid Modelləşdirmə Dili mənasını verən qısaltmadır. Əslində, bu, ən məşhur biznes proseslərinin modelləşdirilməsi üsullarından biridir və proqram təminatının hazırlanmasını dəqiqləşdirmək, vizuallaşdırmaq və sənədləşdirmək üçün beynəlxalq standart qeyddir. Obyekt İdarəetmə Qrupu tərəfindən müəyyən edilmiş, bir neçə əlavə UML notasiya sistemlərinin nəticəsi olaraq ortaya çıxdı və indi vizual modelləşdirmə üçün faktiki standarta çevrildi. İstənilən obyekt yönümlü proqramlaşdırmanın əsas prinsipi modelin qurulmasından başlayır.

UML proqram təminatının hazırlanması və sənədləşdirilməsi ilə bağlı yaranmış xaos nəticəsində yaradılmışdır. 1990-cı illərdə proqram sistemləri haqqında bir neçə fərqli düşüncə tərzi var idi. Bu sistemləri təmsil etmək üçün daha vahid vizual UML üsuluna ehtiyac var idi və nəticədə 1994-1996-cı illər arasında Rational Software-də çalışan üç proqram mühəndisi tərəfindən hazırlanmışdır. Daha sonra 1997-ci ildə standart olaraq qəbul edildi və yalnız bir neçə yeniləmə ilə bu gün də belə qalır.

Əsasən, UML proqram təminatının inkişafı sahəsində ümumi məqsədli modelləşdirmə dilidir. Bununla belə, o, indi fəaliyyət diaqramları kimi bir neçə biznes prosesinin və ya iş axınının sənədləşdirilməsində öz yolunu tapmışdır. Bir növ UML diaqramları axın qrafiklərini əvəz etmək üçün istifadə edilə bilər. Onlar həm iş axınlarını modelləşdirmək üçün daha standartlaşdırılmış üsul, həm də oxunaqlılığı və səmərəliliyi artırmaq üçün geniş funksiyaları təmin edir.

Arxitektura UML dilinin yaradılması üçün əsası müəyyən edən meta-obyektə əsaslanır. Bütün bir tətbiq yaratmaq üçün kifayət qədər dəqiqdir. Tam icra edilə bilən UML istifadə edərək bir çox platformada yerləşdirilə bilər müxtəlif texnologiyalar bütün proqram təminatının inkişaf dövrü boyunca bütün proseslərlə.

UML istifadəçi tərəfindən hazırlanmış vizual modelləşdirmə dili olmaq üçün nəzərdə tutulmuşdur. O, strukturlar, nümunələr və əməkdaşlıq kimi yüksək səviyyəli inkişaf konsepsiyalarını dəstəkləyir. UML kimi elementlər toplusudur:

  1. Proqramlaşdırma dili ifadələri.
  2. Aktyorlar - istifadəçinin və ya obyektlə qarşılıqlı əlaqədə olan hər hansı digər sistemin oynadığı rolu təsvir edir.
  3. İş müqaviləsini yerinə yetirmək üçün həyata keçirilməli olan və diaqramlarda təqdim olunan fəaliyyətlər.
  4. Müştərilər üçün xüsusi xidmət yaradan, ardıcıl hərəkətlərin sxemi ilə vizuallaşdırılan tapşırıqlar toplusunu özündə birləşdirən iş prosesi.
  5. Məntiqi və təkrar istifadə edilə bilən proqram komponentləri.

UML diaqramları iki kateqoriyaya bölünür. Birinci növə struktur məlumatları təmsil edən yeddi növ diaqram, ikincisi - ümumi davranış növlərini təmsil edən qalan yeddi növ daxildir. Bu diaqramlar sistemlərin arxitekturasını sənədləşdirmək üçün istifadə olunur və sistemin UML modelləşdirilməsində birbaşa iştirak edir.

UML diaqramları sistem modelinin statik və dinamik təsvirləri kimi təqdim olunur. Statik görünüşə statik quruluşu vurğulayan sinif və kompozisiya diaqramları daxildir. Dinamik görünüş ardıcıllıq, aktivlik və vəziyyət diaqramlarından istifadə edərək obyektlər arasında qarşılıqlı əlaqəni və obyektlərin daxili vəziyyətlərindəki dəyişiklikləri təmsil edir.

Modelləşdirməni sadələşdirmək üçün IBM Rose, Rhapsody, MagicDraw, StarUML, ArgoUML, Umbrello, BOUML, PowerDesigner və Dia daxil olmaqla geniş çeşiddə UML modelləşdirmə alətləri mövcuddur.

UML-dən istifadə həm proqram təminatının hazırlanması sənədlərində, həm də biznes proseslərində müxtəlif növlərə malikdir:

  1. Eskiz. Bu halda UML diaqramları sistemin müxtəlif aspektlərini və xüsusiyyətlərini çatdırmaq üçün istifadə olunur. Ancaq bu, yalnız bir təmsilçilikdir üst səviyyə sistem və çox güman ki, layihəni sonuna qədər başa çatdırmaq üçün bütün lazımi detalları ehtiva etməyəcək.
  2. Forward Design - Eskiz dizaynı proqram kodlaşdırılmazdan əvvəl edilir. üçün edilir daha yaxşı nəzərdən keçirin istifadəçinin yaratmağa çalışdığı sistem və ya iş axını. Layihənin ümumi sağlamlığını və rifahını yaxşılaşdıracaq bir çox dizayn problemləri və ya çatışmazlıqlar müəyyən edilə bilər.
  3. Ters dizayn. Kod yazıldıqdan sonra UML diaqramları müxtəlif fəaliyyətlər, rollar, iştirakçılar və iş axınları üçün sənədləşdirmə forması kimi göstərilir.
  4. Plan. Bu halda, diaqram sistemin və ya proqram təminatının yalnız faktiki həyata keçirilməsini tələb edən tam dizayn kimi xidmət edir. Bu, çox vaxt CASE (Computer Aided Software Engineering Tools) alətlərindən istifadə etməklə həyata keçirilir. CASE alətlərindən istifadənin əsas çatışmazlığı ondan ibarətdir ki, onlar müəyyən səviyyədə bilik, istifadəçi hazırlığı, həmçinin idarəetmə və işçi heyəti tələb edir.

UML Java, C++ və ya Python kimi müstəqil proqramlaşdırma dili deyil, lakin düzgün alətlərlə UML psevdoproqram dilinə çevrilə bilər. Bu məqsədə nail olmaq üçün bütün sistem müxtəlif diaqramlarda sənədləşdirilməlidir və düzgün proqram təminatından istifadə etməklə diaqramlar birbaşa koda çevrilə bilər. Bu üsul yalnız o halda faydalı ola bilər ki, diaqramların çəkilməsinə sərf olunan vaxt faktiki kodun yazılmasından daha az vaxt aparacaq. UML modelləşdirmə sistemləri üçün yaradılsa da, biznes sahələrində bir neçə tətbiq tapmışdır.

Aşağıda biznes modelləşdirmə üçün UML diaqramının nümunəsi verilmişdir.

Praktiki həll yollarından biri fəaliyyət diaqramı vasitəsilə telesatış üçün proses axınını vizual şəkildə göstərmək olardı. Sifarişin giriş kimi qəbul edildiyi andan sifarişin tamamlandığı və konkret çıxışın verildiyi ana qədər.

UML diaqramlarının bir neçə növü var və hər biri sənədləşdirmənin bir hissəsi kimi həyata keçirilməzdən əvvəl və ya sonra işlənib hazırlanmasından asılı olmayaraq fərqli bir vəzifə yerinə yetirir. Bütün digər növləri əhatə edən iki ən geniş kateqoriya davranış diaqramı və struktur diaqramıdır. Adından da göründüyü kimi, bəzi UML diaqramları sistemin və ya prosesin strukturunu təhlil etməyə və təsvir etməyə çalışır, digərləri isə sistemin, onun iştirakçılarının və komponentlərinin davranışını təsvir edir.

Müxtəlif növlər aşağıdakı kimi bölünür:

  1. 14-ün hamısı deyil müxtəlif növlər UML diaqramları sistemləri və arxitekturaları sənədləşdirərkən müntəzəm olaraq istifadə olunur.
  2. Pareto prinsipi UML diaqramlarının istifadəsinə də aiddir.
  3. Diaqramların 20%-i 80%-də tərtibatçılar tərəfindən istifadə olunur.

Proqram təminatının hazırlanmasında ən çox istifadə olunan elementlər bunlardır:

  • istifadə diaqramları;
  • sinif diaqramları;
  • ardıcıllıqlar.

Fəaliyyət diaqramları biznes prosesi modelləri yaratmaq üçün ən vacib UML diaqramlarıdır. Proqram təminatının hazırlanmasında onlar müxtəlif fəaliyyətlərin axını təsvir etmək üçün istifadə olunur. Onlar serial və ya paralel ola bilər. Onlar bir fəaliyyət tərəfindən istifadə edilən, istehlak edilən və ya istehsal olunan obyektləri və aralarındakı əlaqələri təsvir edir müxtəlif növlər fəaliyyətləri.

Yuxarıda göstərilənlərin hamısı birindən digərinə aparan biznes proseslərinin modelləşdirilməsi üçün vacibdir, çünki onlar aydın başlanğıc və son ilə bir-birinə bağlıdır. Biznes mühitində buna biznes prosesinin xəritələşdirilməsi də deyilir. Əsas personajlar müəllif, redaktor və naşirdir. UML nümunəsi aşağıdakılardır. Rəyçi qaralamaya baxdıqda və bəzi dəyişikliklərin edilməsi lazım olduğuna qərar verdikdə. Müəllif daha sonra layihəyə yenidən baxır və rəyi təhlil etmək üçün onu yenidən gətirir.

İstifadə diaqramı

Sistemin təməl daşı - sistem səviyyəsinin tələblərini təhlil etmək üçün istifadə olunur. Bu tələblər müxtəlif istifadə hallarında ifadə edilir. UML diaqramının üç əsas komponenti bunlardır:

  1. Funksional - istifadə halları kimi təqdim olunur.
  2. Bir hərəkəti təsvir edən fel.
  3. Aktyorlar - sistemlə qarşılıqlı əlaqədə olmaq. Aktyor rolu istifadəçilər, təşkilatlar və ya xarici proqram ola bilər. İştirakçılar arasındakı əlaqələr düz oxlarla təmsil olunur.

Məsələn, inventar idarəetmə diaqramı üçün. Bu halda sahib, təchizatçı, idarəçi, inventar mütəxəssisi və inventar müfəttişi var. Dairəvi qablar aktyorlar tərəfindən həyata keçirilən hərəkətləri təmsil edir. Mümkün tədbirlər: səhmlərin alınması və ödənilməsi, inventarın keyfiyyətinin yoxlanılması, inventarın qaytarılması və ya paylanması.

Bu tip diaqram sistemdə iştirakçılar arasında dinamik davranışı göstərmək, həyata keçirmə təfərrüatlarını əks etdirmədən onun təqdimatını sadələşdirmək üçün çox uyğundur.

Müvəqqəti

UML zamanlama diaqramları diqqətin zamandan asılı olduğu obyekt münasibətlərini təmsil etmək üçün istifadə olunur. Obyektlərin necə qarşılıqlı əlaqədə olması və ya bir-birini dəyişdirməsi maraqlı deyil, lakin istifadəçi obyektlərin və subyektlərin xətti zaman oxu boyunca necə hərəkət etdiyini təsəvvür etmək istəyir.

Hər bir fərdi iştirakçı həyat xətti ilə təmsil olunur ki, bu da mahiyyətcə fərdi iştirakçı bir mərhələdən digərinə keçərkən mərhələləri təşkil edən bir xəttdir. Diqqət hadisələrin vaxtının müddəti və ondan asılı olaraq baş verən dəyişikliklərdir.

Vaxt diaqramının əsas komponentləri bunlardır:

  1. Lifeline fərdi üzvdür.
  2. State Timeline - Tək həyat yolu bir proses daxilində müxtəlif dövlətlərdən keçə bilər.
  3. Müddət məhdudiyyəti məhdudiyyəti təmin etmək üçün tələb olunan müddəti təmsil edən vaxt intervalı məhdudiyyətidir.
  4. Vaxt məhdudiyyəti - iştirakçı tərəfindən bir şeyin tamamlanmalı olduğu vaxt intervalının məhdudlaşdırılması.
  5. Məhv meydana gəlməsi - Fərdi iştirakçını məhv edən və həmin iştirakçının həyat dövrünün sonunu ifadə edən mesajın görünüşü.

Üfüqi diaqramlar, həmçinin vəziyyət diaqramları adlanır, sistem daxilində komponentin müxtəlif vəziyyətlərini təsvir etmək üçün istifadə olunur. O, sonlu ad formatını qəbul edir, çünki diaqram mahiyyətcə obyektin çoxsaylı vəziyyətini və onun daxili və xarici hadisələr əsasında necə dəyişdiyini təsvir edən maşındır.

Bir maşının çox sadə vəziyyət diaqramı şahmat oyununa bənzəyir. Tipik şahmat oyunu Ağın etdiyi hərəkətlərdən və Qara tərəfindən edilən hərəkətlərdən ibarətdir. Ağın ilk hərəkəti var, bu da oyunu başlatır. Ağ və ya Qaranın qalib olub-olmamasından asılı olmayaraq oyunun sonu baş verə bilər. Oyun bir matçda, dayanma və ya heç-heçə (müxtəlif maşın vəziyyətləri) ilə başa çata bilər. Statecharts əsasən müxtəlif sistemlərin irəli və tərs UML dizaynında istifadə olunur.

Ardıcıl

Bu tip diaqramlar təkcə icma arasında deyil, ən vacib UML diaqramlarıdır kompyuter elmləri, həm də biznes proqramlarını inkişaf etdirmək üçün dizayn səviyyəli modellər kimi. Vizual olaraq aydın təbiətinə görə biznes proseslərini təsvir edərkən məşhurdurlar. Adından da göründüyü kimi, diaqramlar mesajların ardıcıllığını və subyektlər və obyektlər arasında baş verən qarşılıqlı əlaqəni təsvir edir. Aktyorlar və ya obyektlər yalnız zərurət yarandıqda və ya başqa obyekt onlarla ünsiyyət qurmaq istədikdə aktiv ola bilər. Bütün kommunikasiyalar xronoloji ardıcıllıqla təqdim olunur.

Daha çox almaq üçün tam məlumat, aşağıdakı nümunə UML ardıcıllığı diaqramını nəzərdən keçirə bilərsiniz.

Nümunədən göründüyü kimi, sistemin strukturunu göstərmək üçün struktur diaqramlarından istifadə olunur. Daha dəqiq desək, dil sistemin arxitekturasını və müxtəlif komponentlərin bir-birinə necə bağlı olduğunu göstərmək üçün proqram təminatının hazırlanmasında istifadə olunur.

UML sinif diaqramı proqram sənədləri üçün ən çox yayılmış diaqram növüdür. Bu gün yaradılan proqramların əksəriyyəti hələ də obyekt yönümlü proqramlaşdırma paradiqmasına əsaslandığından, proqram təminatını sənədləşdirmək üçün sinif diaqramlarından istifadə etmək sağlam düşüncədir. Bunun səbəbi, OOP-un UML siniflərinə və onlar arasındakı əlaqələrə əsaslanmasıdır. Qısaca desək, diaqramlar öz atributları ilə yanaşı məlumat sahələri adlanan sinifləri və üzv funksiyaları adlanan davranışlarını ehtiva edir.

Daha dəqiq desək, hər bir sinifdə 3 sahə var: yuxarıda ad, adın altındakı atributlar, aşağıda əməliyyatlar/davranışlar. Müxtəlif siniflər arasındakı əlaqə (birləşdirici xətt ilə təmsil olunur) sinif diaqramını təşkil edir. Yuxarıdakı nümunə əsas sinif diaqramını göstərir.

Obyektlər

UML struktur diaqramlarını müzakirə edərkən, kompüter elmləri anlayışlarını araşdırmaq lazımdır. Proqram mühəndisliyində siniflərə mücərrəd məlumat növləri kimi baxılır, obyektlər isə nümunələrdirsə, məsələn, ümumi mücərrəd tip olan "Avtomobil" varsa, "Avtomobil" sinfinin nümunəsi "Audi" olacaqdır.

UML obyekt diaqramları proqram tərtibatçılarına yaradılan mücərrəd strukturun praktikada həyata keçirildikdə, yəni obyektlər yaradıldıqda canlı strukturu təmsil edib-etmədiyini yoxlamağa kömək edir. Bəzi tərtibatçılar bunu ikinci dərəcəli dəqiqlik yoxlaması hesab edirlər. Bu siniflərin nümunələrini göstərir. Daha dəqiq desək, “Müştəri” ümumi sinfinin indi faktiki müştərisi var, məsələn, “James”. James daha ümumi bir sinif nümunəsidir və verilmiş dəyərlərlə eyni atributlara malikdir. Eyni şey Hesablar və Əmanət hesabı ilə edildi. Onların hər ikisi öz siniflərinin obyektləridir.

Yerləşdirmələr

Yerləşdirmə diaqramları proqram təminatı və aparat arasındakı əlaqəni vizuallaşdırmaq üçün istifadə olunur. Daha dəqiq desək, yerləşdirmə diaqramları ilə siz qura bilərsiniz fiziki model proqram komponentlərinin (artifaktların) qovşaqlar kimi tanınan aparat komponentlərinə necə yerləşdirildiyi.

Veb tətbiqi üçün tipik sadələşdirilmiş yerləşdirmə sxeminə aşağıdakılar daxildir:

  1. Qovşaqlar (tətbiq serveri və verilənlər bazası serveri).
  2. Müştəri tətbiqinin və verilənlər bazasının artefakt sxemi.

Paket diaqramı yuxarıda izah etdiyimiz UML yerləşdirmə diaqramları üçün makro kolleksiyaya bənzəyir. Müxtəlif paketlərdə qovşaqlar və artefaktlar var. Onlar diaqramları və model komponentlərini qruplar şəklində qruplaşdırırlar, məsələn, ad məkanı bir qədər əlaqəli olan müxtəlif adları əhatə edir. Nəhayət, bir paket daha mürəkkəb sistemləri və davranışları təmsil etmək üçün bir neçə başqa paketlə də qurula bilər.

Paket diaqramının əsas məqsədi mürəkkəb sistemi təşkil edən müxtəlif böyük komponentlər arasındakı əlaqələri göstərməkdir. Proqramçılar bu abstraksiya xüsusiyyətini tapırlar yaxşı üstünlük paket diaqramlarından istifadə üçün, xüsusən də bəzi detallar ümumi şəkildən xaric edilə bildikdə.

Həyatda hər şey kimi, bir şeyi düzgün etmək üçün düzgün alətlərə ehtiyacınız var. UML annotasiyaları və diaqram şablonları təklif edən alətlər proqram təminatı, proseslər və ya sistemləri sənədləşdirmək üçün istifadə olunur. Üçün müxtəlif sənədləşdirmə vasitələri mövcuddur proqram təminatı, diaqramı çəkməyə kömək edə bilər.

Onlar adətən aşağıdakı əsas kateqoriyalara bölünür:

  1. Kağız və qələm asandır. Kağız və qələm götürün, İnternetdən UML sintaksis kodunu açın və sizə lazım olan diaqramı çəkin.
  2. Onlayn Alətlər - Qrafik yaratmaq üçün istifadə edə biləcəyiniz bir neçə onlayn proqram var. Onların əksəriyyəti təklif edir ödənişli abunə və ya pulsuz səviyyədə məhdud sayda diaqramlar.
  3. Pulsuz onlayn alətlər pullu olanlarla demək olar ki, eynidir. Əsas fərq pullu olanların da təklif etməsidir tədris vəsaitlərihazır şablonlar Xüsusi diaqramlar üçün.
  4. Desktop Application - Diaqramlar və demək olar ki, hər hansı digər diaqram üçün istifadə ediləcək tipik masaüstü proqramı Microsoft Visio-dur. Təkmil xüsusiyyətlər və funksionallıq təklif edir. Yeganə mənfi cəhət odur ki, bunun üçün pul ödəməlisən.

Beləliklə, tamamilə aydındır ki, UML obyekt yönümlü proqram təminatının inkişafı ilə əlaqəli vacib bir aspektdir. Sistem proqramlarının vizual modellərini yaratmaq üçün qrafik qeydlərdən istifadə edir.

UML və ya Unified Modeling Language proqram təminatının hazırlanması sahəsində obyektlərin modelləşdirilməsi üçün qrafik təsvir dilidir. Lakin UML-in istifadəsi İT ilə məhdudlaşmır; UML proqram tərtibatçılarına təqdim etmək üçün qrafik qeydlər üzərində razılığa gəlməyə imkan verir ümumi anlayışlar və dizayn və inkişafa diqqət yetirin.

UML-in üstünlükləri

  • UML modelləşdirilən sistemin elementləri üçün qrafik qeydlərdən istifadə edir və UML diaqramlarını başa düşmək kifayət qədər asandır;
  • UML müxtəlif aspektləri nəzərə alaraq demək olar ki, bütün mümkün nöqteyi-nəzərdən sistemləri təsvir etməyə imkan verir;
  • UML obyekt yönümlüdür: onun təhlili və qurulması üsulları semantik olaraq proqramlaşdırma metodlarına yaxındır. müasir dillər OOP;
  • UML açıq standartdır. Standart sistemlərin təsviri üçün ən müasir tələblərə cavab verən versiyadan versiyaya inkişaf edir və təkmilləşir;
  • əlavə mətn və qrafik növləri daxil etməyə imkan verən genişləndirmə mexanizmini ehtiva edir ki, bu da UML-dən təkcə İT sahəsində deyil, istifadə etməyə imkan verir.

UML Diaqram növləri

UML-də 14 növ diaqram var. Onları 2 kateqoriyaya bölmək olar:

  • struktur, təmsil edir informasiya strukturu;
  • davranış, sistemin davranışını və qarşılıqlı əlaqələrin müxtəlif aspektlərini təmsil edir. Davranış diaqramlarının ayrı bir alt növü nəzərdən keçirilir qarşılıqlı əlaqə diaqramları.

UML diaqram növlərinin iyerarxiyası, sinif diaqramı ilə təmsil olunur

Struktur diaqramları

  1. Sinif diaqramı obyekt yönümlü modelləşdirmənin əsas elementidir. Bu diaqramdan istifadə edərək (əslində, vasitəsilə siniflər, onların atributlar, üsulları və siniflər arasında asılılıqlar) domen modelini və modelləşdirilmiş sistemin strukturunu təsvir edir.
  2. Komponent diaqramı proqram kodunun böyük bloklara (struktur komponentlərə) bölünməsini göstərir və göstərir asılılıqlar onların arasında. Komponentlər paketlər, modullar, kitabxanalar, fayllar və s. ola bilər.
  3. Obyekt diaqramı müəyyən bir zamanda simulyasiya edilmiş sistemin tam və ya qismən dilimini göstərir. O, sinif nümunələrini (obyektləri), onların vəziyyətini (cari atribut dəyərləri) və onlar arasındakı əlaqələri təmsil edir.
  4. Kompozit struktur diaqramı siniflərin daxili strukturunu və mümkün olduqda bu strukturun elementləri arasında qarşılıqlı əlaqəni nümayiş etdirir.
  5. Paket diaqramı paketləri və onlar arasındakı əlaqələri göstərir. Bu tip diaqram model elementlərini müəyyən meyarlara uyğun olaraq qruplara birləşdirərək modelin strukturunu sadələşdirməyə (və müvafiq olaraq onunla işləməyə) xidmət edir.
  6. Yerləşdirmə diaqramı proqram komponentlərinin yerləşdirilməsi modelləri ( artefaktlar) hesablama resursları/aparat komponentləri ( qovşaqlar).
  7. Profil diaqramı UML-nin müxtəlif mövzu sahələrinə və sənayelərə uyğunlaşdırılmasına imkan verən genişləndirmə mexanizmini təsvir edir.

Nümunə UML Sinif Diaqramı

Davranış diaqramları

  1. Fəaliyyət diaqramı hərəkətləri göstərir ( tədbirlər) bəzi fəaliyyətlərdən ibarətdir ( fəaliyyət). Fəaliyyət diaqramları biznes proseslərini modelləşdirmək üçün istifadə olunur, texnoloji proseslər, ardıcıl və paralel hesablamalar.
  2. Case Diaqramından istifadə edin(və ya istifadə diaqramı) aktyorlar (aktyorlar) və modelləşdirilmiş sistemin istifadə halları (onun imkanları) arasındakı əlaqəni təsvir edir. Diaqramın əsas məqsədi müştərilər, tərtibatçılar və son istifadəçilər üçün sistemi - onun imkanlarını və davranışını birgə müzakirə etmək üçün universal bir vasitə olmaqdır.
  3. Dövlət diaqramı obyektin dinamik davranışını təsvir edir, bu varlığın ondan necə asılı olduğunu göstərir hazırki vəziyyət müxtəlif hadisələrə reaksiya verir. Bu, əslində atom nəzəriyyəsindən bir vəziyyət diaqramıdır.
  4. Rabitə diaqramı(əvvəlki versiyalarda əməkdaşlıq diaqramı) kompozit strukturun hissələri arasında qarşılıqlı əlaqəni və əməkdaşlıq rollarını göstərir. Diaqram elementlər (obyektlər) arasındakı əlaqələri açıq şəkildə göstərir.
  5. Ardıcıllıq diaqramı obyektin qarşılıqlı əlaqəsinin ardıcıllığını vizuallaşdırmaq üçün istifadə olunur. Verilmiş obyektin həyat dövrünü və müəyyən bir istifadə halında aktyorların (aktyorların) qarşılıqlı əlaqəsini, onların mübadilə etdikləri mesajların ardıcıllığını göstərir.
  6. Qarşılıqlı əlaqə diaqramı ardıcıllıq diaqramının və nəzarət axını dizaynının bir hissəsini əhatə edir. Obyektlərin qarşılıqlı təsirini müxtəlif nöqteyi-nəzərdən nəzərdən keçirməyə kömək edir.
  7. Zamanlama diaqramı- zamanlama üzrə ixtisaslaşan qarşılıqlı əlaqə diaqramlarının ayrıca alt növü. Bu tip diaqramlardan müəyyən bir müddət ərzində obyektlərin davranışını öyrənmək üçün istifadə olunur.