Menü
Bedava
kayıt
ev  /  programlar/ UML dilinin temel diyagramları. UML Modelleme

UML'nin temel diyagramları. UML Modelleme

UML veya Birleşik Modelleme Dili - geliştirme aşamasındaki nesne modelleme için bir grafik tanımlama dili yazılım... Ancak UML'nin kullanımı BT ile sınırlı değildir, UML'nin bir başka geniş pratik uygulama alanı, iş süreci modelleme, sistem mühendisliği ve organizasyon yapılarının haritalanmasıdır. UML, yazılım geliştiricilerin bir anlaşmaya varmalarını sağlar. grafik sembolleri genel kavramları sunmak ve tasarım ve geliştirmeye odaklanmak.

UML avantajları

  • UML, modellenen sistemin öğeleri için grafik semboller kullanır ve UML diyagramları, anlaşılması için yeterince basittir;
  • UML, sistemleri farklı yönleri dikkate alarak neredeyse akla gelebilecek her bakış açısından tanımlamayı mümkün kılar;
  • UML nesne yönelimlidir: analiz ve oluşturma yöntemleri anlamsal olarak modern OOP dillerinde kullanılan programlama yöntemlerine yakındır;
  • UML açık bir standarttır. Standart, en çok yanıt veren sürümden sürüme gelişir ve gelişir. modern gereksinimler sistemlerin açıklamasına;
  • UML'yi sadece IT alanında değil, ek metin ve grafik türlerinin girişine izin veren bir uzatma mekanizması içerir.

UML Diyagramlarının Türleri

UML'de 14 çeşit diyagram vardır. 2 kategoriye ayrılabilirler:

  • yapısal temsil eden bilgi yapısı;
  • davranışsal sistemin davranışını ve etkileşimlerin çeşitli yönlerini temsil eder. Davranış diyagramlarının ayrı bir alt türü olarak kabul edilir etkileşim diyagramları.

UML diyagram türü hiyerarşisi, sınıf diyagramı ile temsil edilir

Yapısal diyagramlar

  1. Sınıf diyagramı nesne yönelimli modellemede önemli bir unsurdur. Bu diyagramın yardımıyla (aslında, sınıflar, onların Öznitellikler, yöntemler ve sınıflar arasındaki bağımlılıklar), alan modelini ve modellenen sistemin yapısını tanımlar.
  2. bileşen diyagramı bölmeyi görüntüler program kodu büyük bloklara (yapısal bileşenler) ve gösterilere bağımlılıklar onların arasında. Bileşenler paketler, modüller, kitaplıklar, dosyalar vb. olabilir.
  3. nesne diyagramı zaman içinde belirli bir anda modellenen sistemin tam veya kısmi bir dilimini gösterir. Sınıf örneklerini (nesneleri), durumlarını (geçerli öznitelik değerleri) ve aralarındaki ilişkileri temsil eder.
  4. Kompozit yapı diyagramı sınıfların iç yapısını ve mümkünse bu yapının öğeleri arasındaki etkileşimleri gösterir.
  5. Paket şeması paketleri ve aralarındaki ilişkileri gösterir. Bu tür diyagramlar, modelin öğelerini belirli kriterlere göre gruplar halinde birleştirerek modelin yapısını basitleştirmeye (ve buna göre onunla çalışmaya) hizmet eder.
  6. Dağıtım şeması konuşlandırmayı simüle eder yazılım bileşenleri ov ( eserler) bilgi işlem kaynakları / donanım bileşenleri hakkında ( düğümler).
  7. Profil diyagramı UML'nin çeşitli alanlara ve sektörlere göre uyarlanmasını sağlayan bir genişletme mekanizmasını tanımlar.

Örnek UML Sınıf Şeması

davranış diyagramları

  1. Etkinlik şeması eylemleri gösterir ( hareketler) bunların bir kısmı ( aktivite). Faaliyet diyagramları, iş süreçlerini, iş akışlarını, sıralı ve paralel hesaplamayı modellemek için kullanılır.
  2. Vaka Şemasını Kullan(veya durum şemasını kullan), aktörler (karakterler) ile modellenen sistemin kullanım durumları (yetenekleri) arasındaki ilişkiyi açıklar. Bir diyagramın temel amacı, müşteriler, geliştiriciler ve son kullanıcılar için bir sistemi, yeteneklerini ve davranışını işbirliği içinde tartışmak için tek durak noktası olmaktır.
  3. Durum diyagramı bir varlığın dinamik davranışını betimler ve bu varlığın kendi yapısına bağlı olarak nasıl olduğunu gösterir. şu anki durumçeşitli olaylara tepki verir. Bu aslında atom teorisinden bir durum diyagramıdır.
  4. iletişim şeması(v önceki versiyonlar işbirliği diyagramı) bileşik yapının parçaları arasındaki etkileşimleri ve işbirliğinin rollerini gösterir. Diyagram, öğeler (nesneler) arasındaki ilişkiyi açıkça gösterir.
  5. Sıra diyagramı bir dizi nesne etkileşimini görselleştirmek için kullanılır. Belirli bir nesnenin yaşam döngüsünü ve bir kullanım durumu içindeki aktörlerin (aktörlerin) etkileşimini, değiş tokuş ettikleri mesajların sırasını gösterir.
  6. Etkileşime genel bakış tablosu dizi diyagramının bir bölümünü ve kontrol akışı yapılarını içerir. Nesnelerin etkileşimini farklı bakış açılarından değerlendirmeye yardımcı olur.
  7. senkronizasyon şeması- zamanlama konusunda uzmanlaşmış, etkileşim diyagramlarının ayrı bir alt türü. Bu tür diyagramlar, nesnelerin belirli bir süre içindeki davranışlarını incelemek için kullanılır.

UML diyagramı, çeşitli yazılımların geliştirilmesinde nesne modelleme için tasarlanmış özel bir grafik tanımlama dilidir. Bu dil geniş bir profile sahiptir ve sistemin soyut bir modelini oluşturmak için çeşitli grafik gösterimleri kullanan açık bir standarttır. UML, her türlü yazılım sisteminin tanımını, görselleştirilmesini, dokümantasyonunu ve tasarımını sağlamak için oluşturulmuştur. UML diyagramının kendisinin bir programlama dili olmadığını, ancak buna dayalı olarak ayrı kod üretme olasılığını sağladığını belirtmekte fayda var.

Neden gerekli?

UML her türlü yazılımın modellenmesi ile bitmiyor. Ayrıca, bu dil günümüzde çeşitli iş süreçlerini modellemek, sistem tasarımı yapmak ve organizasyon yapılarını görüntülemek için aktif olarak kullanılmaktadır.

UML'yi kullanarak yazılım geliştiriciler, bileşen, genelleme, sınıf, davranış ve toplama gibi ortak kavramları temsil etmek için kullanılan grafiksel gösterimde eksiksiz bir kural sağlayabilir. Bu, mimariye ve tasarıma daha fazla odaklanmayı sağlar.

Ayrıca, bu tür diyagramların birkaç türü olduğunu belirtmekte fayda var.

Sınıf diyagramı

UML sınıf diyagramı, bir sistemin yapısını tanımlamanın yanı sıra birkaç farklı sınıf arasındaki öznitelikleri, yöntemleri ve bağımlılıkları göstermek için tasarlanmış statik bir yapısal diyagramdır.

Nasıl kullanılacağına bağlı olarak, bu tür diyagramların inşası hakkında birkaç bakış açısı olduğu gerçeğine dikkat etmek önemlidir:

  • Kavramsal. Bu durumda, UML sınıf diyagramı belirli bir etki alanının modelini tanımlar ve içinde yalnızca uygulanan nesne sınıfları sağlanır.
  • Özel. Diyagram, çeşitli bilgi sistemlerinin tasarım sürecinde kullanılır.
  • uygulama. Sınıf diyagramı, doğrudan program kodunda kullanılan her türlü sınıfı içerir.

bileşen diyagramı

Bir UML Bileşen Şeması, tamamen statik bir yapısal diyagramdır. Belli bir bölünmeyi göstermek için tasarlanmıştır. yazılım sistemiçeşitli yapısal bileşenlerin yanı sıra bunlar arasındaki bağlantılar üzerinde. UML bileşen diyagramı, her türlü modeli, kütüphaneyi, dosyayı, paketi kullanabilir, yürütülebilir dosyalar ve diğer birçok unsur.

Kompozit / Kompozit Yapı Şeması

UML Composite/Composite Structure Diagram da statik bir yapı diyagramıdır ancak sınıfların iç yapısını göstermek için kullanılır. Mümkünse bu diyagram, sınıfın iç yapısında bulunan öğelerin etkileşimini de gösterebilir.

Bunların bir alt türü, işbirliği sınırları içindeki çeşitli sınıfların etkileşiminin yanı sıra rolleri göstermek için kullanılan UML işbirliği diyagramıdır. Tasarım kalıplarını modellemeniz gerektiğinde oldukça kullanışlıdırlar.

UML sınıf diyagram türleri ve kompozit yapı türlerinin aynı anda kullanılabileceğini belirtmekte fayda var.

Dağıtım şeması

Bu diyagram, çalışan düğümlerin yanı sıra onlara dağıtılan her türlü yapıyı simüle etmek için kullanılır. UML 2, yapıtları çeşitli düğümlere dağıtırken, ilk sürüm yalnızca bileşenleri dağıtır. Bu nedenle, UML dağıtım şeması öncelikle ikinci sürüm için kullanılır.

Yapıt ile uyguladığı bileşen arasında açık bir bağımlılık oluşur.

nesne diyagramı

Bu görünüm, tam veya kısmi bir görüntü görmenizi sağlar. oluşturulan sistem zaman içinde belirli bir noktada. Belirli bir sistemin tüm sınıf örneklerini, parametrelerinin mevcut değerlerini ve aralarındaki bağlantıları gösteren tamamen görüntüler.

Paket şeması

Bu diyagram doğası gereği yapısaldır ve ana içeriği her türlü paket ve bunların arasındaki ilişkidir. Bu durumda, yok zor bölüm birkaç yapısal diyagram arasında, bunun bir sonucu olarak, kullanımları çoğunlukla yalnızca kolaylık sağlamak için bulunur ve herhangi bir anlamsal anlam taşımaz. Farklı öğelerin başka UML diyagramları sağlayabileceğini belirtmekte fayda var (örnekler: paketler ve paket diyagramlarının kendileri).

Kullanımları, yapıyı basitleştirmek ve ayrıca bu sistem modeliyle çalışmayı organize etmek için çeşitli unsurların belirli bir özelliğe göre gruplar halinde düzenlenmesini sağlamak için gerçekleştirilir.

Etkinlik şeması

Bir UML aktivite diyagramı, belirli bir aktivitenin birkaç bileşen parçasına ayrışmasını gösterir. Bu durumda, "etkinlik" kavramı, paralel biçimde belirli bir yürütülebilir davranışın belirtilmesinin yanı sıra çeşitli alt öğelerin koordineli sıralı yürütülmesi - iç içe faaliyet türleri ve çeşitli eylemler, kaynaktan gelen iş parçacıkları tarafından birleştirilir. belirli bir düğümün çıktılarını başka bir düğümün girdilerine

UML aktivite diyagramları genellikle çeşitli iş süreçlerini, paralel ve sıralı hesaplamaları modellemek için kullanılır. Diğer şeylerin yanı sıra, her türlü teknolojik prosedürü simüle ederler.

Otomat diyagramı

Bu görünüm aynı zamanda biraz farklı bir UML durum diyagramı olarak da adlandırılır. Basit ve bileşik durumlar ve geçişler ile sunulan bir durum makinesine sahiptir.

Sonlu durum makinesi, belirli bir nesnenin içinden geçtiği farklı durumlar dizisinin veya yaşamındaki bazı olaylara yanıt olarak etkileşimin yanı sıra nesnenin bu tür olaylara verdiği yanıtların bir özelliğidir. Bir UML durum çizelgesi kullanan bir durum makinesi, kaynak öğeye eklenir ve örneklerinin davranışını tanımlamak için kullanılır.

Sözde ejderha şemaları, bu tür diyagramların analogları olarak kullanılabilir.

Durum diyagramlarını kullanın

UML kullanım durumu diyagramı, aktörler arasında ortaya çıkan tüm ilişkileri ve çeşitli kullanım durumlarını gösterir. Ana görevi, müşterinin, son kullanıcının veya bazı geliştiricilerin belirli bir sistemin davranışını ve işlevselliğini ortaklaşa tartışabileceği tam teşekküllü bir araç olarak kendisini sağlamaktır.

Bir sistemi modelleme sürecinde bir UML kullanım durumu diyagramı kullanılıyorsa, analist şunları yapacaktır:

  • Simüle edilen sistemi çevresinden açıkça ayırın.
  • Aktörleri, bu sistemle etkileşim yollarını ve beklenen işlevselliğini belirleyin.
  • Bu sistemin işlevselliğinin ayrıntılı bir açıklamasıyla ilgili çeşitli kavramları konu alanı olarak sözlükte ayarlayın.

UML'de bir kullanım şeması geliştirilirse, prosedür, bir müşteriyle çalışırken elde edilen metinsel bir açıklama ile başlar. Aynı zamanda, bir kullanım durumu modelinin hazırlanması sürecinde çeşitli işlevsel olmayan gereksinimlerin tamamen atlandığı ve onlar için ayrı bir belge oluşturulacağı gerçeğine dikkat etmek önemlidir.

iletişim

Bir iletişim diyagramı tıpkı bir UML dizi diyagramı gibi geçişlidir, yani etkileşimi kendi içinde ifade eder ama aynı zamanda bunu gösterir. Farklı yollar ve gerekirse istenen doğruluk derecesi ile birini diğerine dönüştürebilirsiniz.

İletişim şeması, kompozit yapının çeşitli unsurları arasında meydana gelen etkileşimleri ve işbirliğinin rollerini tasvir eder. Sıra diyagramından temel farkı, birkaç öğe arasındaki ilişkiyi açıkça göstermesi ve zamanın ayrı bir boyut olarak kullanılmamasıdır.

Bu tür, bir nesne diyagramında olduğu gibi birkaç nesne ve bağlantı sipariş etmek için tamamen ücretsiz bir format ile ayırt edilir. Bu ücretsiz formatta mesajların sırasını koruma ihtiyacı varsa, bunlar kronolojik olarak numaralandırılır. Bu diyagramın okunması orijinal mesaj 1.0 ile başlar ve daha sonra mesajların bir nesneden diğerine geçtiği yönde devam eder.

Bu diyagramların çoğu, bir dizi diyagramının bize sağladığı bilgilerin tam olarak aynısını gösterir, ancak bilgi sunmanın farklı bir yolunu kullandığından, bir diyagramdaki belirli şeylerin tanımlanması diğerinden çok daha kolay hale gelir. Ayrıca, iletişim şemasının, her birinin hangi öğelerle etkileşime girdiğini daha açık bir şekilde gösterdiğini belirtmekte fayda var. ayrı eleman, dizi diyagramı etkileşimlerin hangi sırayla gerçekleştiğini daha açık bir şekilde gösterir.

Sıra diyagramı

Bir UML dizi diyagramı, oluşum zamanlarına göre sıralanmış birden çok nesne arasındaki etkileşimleri gösterir. Bu diyagram, birkaç nesne arasındaki zaman sıralı etkileşimi gösterir. Özellikle, etkileşimde yer alan tüm nesneleri ve bunlar tarafından değiştirilen mesajların tam sırasını görüntüler.

Bu durumda ana unsurlar, çeşitli nesnelerin tanımlarının yanı sıra, belirli bir nesnenin etkinliğini veya herhangi bir işlevin yerine getirilmesini sağlayan zamanın ve dikdörtgenlerin geçişini gösteren dikey çizgilerdir.

İşbirliği diyagramı

Bu tür diyagramlar, yayın mesajlarının dizisinden soyutlayarak birkaç nesne arasındaki etkileşimleri göstermenize izin verir. Kompakt bir biçimdeki bu tür diyagramlar, belirli bir nesnenin iletilen ve alınan tüm mesajlarını ve bu mesajların biçimlerini kesinlikle görüntüler.

Sıra diyagramları ve iletişim diyagramlarının aynı prosedürlerin farklı görünümleri olması nedeniyle, Rational Rose bir dizi diyagramından bir iletişim şeması oluşturma veya tam tersi bir iletişim şeması oluşturma yeteneği sağlar ve ayrıca tam otomatik senkronizasyonunu gerçekleştirir.

Etkileşime genel bakış çizelgeleri

Bunlar, hem Sıra öğelerini hem de kontrol akışı yapılarını içeren etkinlik diyagramlarının bir alt kümesi olan UML diyagramlarıdır.

Şu gerçeği belirtmekte fayda var bu biçim Oluşturulan sistemdeki çeşitli nesneler arasındaki etkileşimi düşünmek için farklı bakış açılarından bir fırsat sağlayan İşbirliği ve Sıra diyagramını birleştirir.

senkronizasyon şeması

Temsil etmek Alternatif seçenek belirli bir zaman çizelgesi ile yaşam hattındaki durumdaki değişikliği açıkça gösteren bir dizi diyagramı. Çeşitli gerçek zamanlı uygulamalarda oldukça faydalı olabilir.

Faydaları nelerdir?

UML kullanım diyagramını ve diğerlerini ayıran birkaç avantajı belirtmekte fayda var:

  • Dil nesne yönelimlidir, bunun sonucunda gerçekleştirilen analiz ve tasarımın sonuçlarını tanımlamaya yönelik teknolojiler, modern tipteki her türlü nesne yönelimli dilde programlama yöntemlerine anlamsal olarak yakındır.
  • Bu dili kullanarak, sistem neredeyse tüm olası bakış açılarından tanımlanabilir ve aynı şekilde davranışının çeşitli yönleri de açıklanabilir.
  • Sözdizimi ile nispeten hızlı bir aşinalıktan sonra bile, tüm diyagramların okunması nispeten kolaydır.
  • UML, yalnızca yazılım mühendisliğinde değil, kullanımına katkıda bulunan kendi grafik ve metinsel stereotiplerinizi tanıtmanın yanı sıra genişletmenize de olanak tanır.
  • Dil oldukça yaygınlaştı ve aynı zamanda oldukça aktif bir şekilde gelişiyor.

Dezavantajları

UML diyagramları oluşturmanın birçok avantajı olmasına rağmen, genellikle aşağıdaki eksiklikler nedeniyle eleştirilirler:

  • fazlalık. Vakaların büyük çoğunluğunda, eleştirmenler UML'nin çok büyük ve karmaşık olduğunu ve çoğu zaman bunun haksız olduğunu söylüyor. Çok fazla gereksiz veya pratik olarak işe yaramaz yapı ve diyagramlar içerir ve çoğu zaman bu tür eleştiriler ilk versiyona değil ikinci versiyona gider, çünkü daha yeni revizyonlar şunları içerir: büyük miktar"komite tarafından geliştirilen" uzlaşmalar.
  • Çeşitli anlamsal yanlışlıklar. UML, kendisinin, İngilizce ve OCL'nin bir kombinasyonu ile tanımlandığından, resmi açıklama tekniği ile kesin olarak tanımlanmış dillerde bulunan katılıktan yoksundur. Bazı durumlarda, OCL, UML ve İngilizce'nin soyut sözdizimi birbiriyle çelişmeye başlarken, diğer durumlarda eksiktir. Dilin kendisinin yanlış tanımlanması, hem kullanıcıları hem de araç sağlayıcıları etkiler, bu da farklı spesifikasyonları yorumlamanın benzersiz yolu nedeniyle nihayetinde araçların uyumsuzluğuna yol açar.
  • Uygulama ve çalışma sürecindeki sorunlar. Yukarıdaki sorunların tümü, UML'yi tanıtma ve öğrenme sürecinde belirli zorluklar yaratır ve bu, özellikle, liderlik mühendisleri önceden becerilere sahip değilken, onu zorla kullanmaya zorladığında geçerlidir.
  • Kod, kodu yansıtır. Bir diğer görüş ise önemli olanın güzel ve çekici modeller değil, çalışan sistemlerin kendisi yani kod proje olduğudur. Bu görüşe göre daha fazla gelişmeye ihtiyaç vardır. etkili yöntem yazılım yazma. UML, yürütülebilir dosyaları yeniden oluşturmak için modelleri derleyen yaklaşımlar için takdir edilmektedir. kaynak kodu... Ancak gerçekte bu yeterli olmayabilir, çünkü dil, Turing eksiksizlik özelliklerinden yoksundur ve oluşturulan her kod, nihayetinde bir UML yorumlayıcı aracının üstlenebileceği veya tanımlayabileceğiyle sınırlı olacaktır.
  • Yük uyuşmazlığı. Bu terim, belirli bir sistemin girdisinin bir başkasının çıktısını algılayamamasını belirlemek için sistem analizi teorisinden gelir. herhangi birinde olduğu gibi standart sistemler UML, bazı sistemleri diğerlerinden daha verimli ve özlü bir şekilde temsil edebilir. Böylece geliştirici, diğer programlama dillerinin yanı sıra UML'nin tüm güçlü yanlarını dokumak için daha rahat olan çözümlere daha yatkındır. Bu sorun, geliştirme dilinin nesne yönelimli ortodoks doktrinin temel ilkelerine uymaması, yani OOP ilkelerine uygun çalışmaya çalışmaması durumunda daha belirgindir.
  • Çok yönlü olmaya çalışır. UML, günümüzde mevcut olan herhangi bir işleme diliyle uyumlu olmayı amaçlayan genel amaçlı bir modelleme dilidir. Belirli bir proje bağlamında, tasarım ekibinin nihai hedefe ulaşabilmesi için o dilin uygulanabilir yeteneklerini seçmesi gerekir. Ek olarak, belirli bir alanda UML kullanımının kapsamını sınırlamanın olası yolları, tam olarak formüle edilmemiş, ancak kendisi bir eleştiri konusu olan bir formalizmden geçer.

Bu nedenle, bu dilin kullanımı her durumda alakalı değildir.

UML Modeli(UML modeli), başlıca varlıklar ve aralarındaki ilişkiler olan sonlu bir dil yapıları kümesidir.

Modelin varlıkları ve ilişkileri, metamodelin meta-sınıflarının örnekleridir.

Düşünen UML modeli En genel bakış açısından, bunun köşelerin ve kenarların ek bilgilerle yüklendiği ve karmaşık bir iç yapıya sahip olabileceği bir grafik (daha doğrusu yüklü bir çoklu-sözde-hiper-digraf) olduğunu söyleyebiliriz. Bu grafiğin köşelerine varlık denir ve kenarlar ilişkilerdir.... Bölümün geri kalanı bir üstünkörü (ön) içerir, ancak tam genel bakış mevcut varlık türleri ve ilişkiler. Neyse ki, onlardan çok fazla yok. Kitabın ilerleyen bölümlerinde tüm varlıklar ve ilişkiler yeniden, daha detaylı ve örneklerle ele alınmaktadır.

1.4.1. varlıklar

Görüntüleme kolaylığı için UML'deki varlıklar dört gruba ayrılabilir:

  • yapısal;
  • davranışsal;
  • gruplama;
  • açıklamalı.

Yapısal varlıklar, tahmin edebileceğiniz gibi, yapıyı tanımlamak içindir. Tipik olarak, yapısal varlıklar aşağıdakileri içerir.

Bir obje(nesne) 1, benzersiz olan ve durumu ve davranışı kapsayan bir varlıktır.

Sınıf(sınıf) 2 - durumu belirleyen ortak özelliklere sahip bir dizi nesnenin tanımı ve davranışı belirleyen işlemler.

Arayüz(arayüz) 3, bir tüketici tarafından talep edilebilecek ve bir hizmet sağlayıcı tarafından sağlanabilecek bir dizi hizmeti tanımlayan, adlandırılmış bir işlemler dizisidir.

İşbirliği(işbirliği) 4 - bir hedefe ulaşmak için etkileşime giren nesneler topluluğu.

Aktör(aktör) 5, modellenen sistemin dışında olan ve onunla doğrudan etkileşime giren bir varlıktır.

∇ Şekilde ifade edilen böyle bir ilişki kesinlikle mevcuttur. UML 1 için diyagram türü hiyerarşisi rafine bir klişe ile bir bağımlılık ilişkisi şeklinde.

∇∇ UML 1'de, bir işbirliği diyagramı ile aynı adı taşıyan bir varlık arasında tamamen doğru olmayan ve bazen yanıltıcı olan istemsiz bir ilişki ortaya çıktı.

∇∇∇ UML 2'de durum diyagramının sözdizimsel ve anlamsal yükü o kadar değişmiştir ki isim artık içeriği yansıtmamaktadır.

Bu kitapta kullanılan yeni çizelgelerin ve adlarının bir listesi aşağıda gösterilmiştir.

  • Diyagram iç yapı(Kompozit Yapı şeması)
  • Paket şeması
  • Durum makinesi diyagramı
  • iletişim şeması
  • Etkileşime Genel Bakış diyagramı
  • zamanlama diyagramı

İncirde. UML 2 için Diyagram Türü Hiyerarşisi (Bölüm 1 ve 2) UML 2'deki diyagramların ilişkisini gösteren bir sınıf diyagramıdır.

Bu bölümün ilerleyen kısımlarında, daha sonraki sunumlar için belirli bir bağlam ve kelime dağarcığına sahip olmak için on üç kanonik diyagramın hepsini çok kısaca açıklayacağız. Ayrıntılar kitabın geri kalan bölümlerinde belirtilmiştir.

Ancak bir sonraki bölüme geçmeden önce, standardın diyagramların nasıl biçimlendirilmesi gerektiğine dair küçük bir ara verelim. Genel grafik sunum şablonu aşağıda gösterilmiştir.

İki ana tasarım öğesi vardır: bir dış çerçeve ve diyagramın adını içeren bir etiket. Çerçeve ile her şey basitse - bu, diyagram öğelerinin yerleştirilmesi gereken alanı sınırlayan bir dikdörtgendir, o zaman diyagramın adı, Şek. Grafikler için notasyon.

Sekmenin belirtilen karmaşık şekli tüm araçlar tarafından desteklenmez. Ancak, anlambilim birincil ve gösterim ikincil olduğu için bu gerekli değildir. Bundan sonra her yerde diyagram için etiket olarak dikdörtgen kullanacağız ve bu karışıklığa neden olmamalıdır.

Grafikler için olası etiketler (türler) aşağıdaki tabloda gösterilmiştir. Standardın sunduğu etiketler ikinci sütuna yazılır. Ancak, uygulamanın gösterdiği gibi, standart tarafından önerilen kurallar her zaman uygun ve mantıklı değildir, bu nedenle tablonun üçüncü sütunu bize göre makul bir alternatif içerir.

Sekme. Grafik türleri ve etiketleri

Grafik başlığı Etiket (standart) Etiket (önerilen)
kullanım şeması kullanım durumu veya uc kullanım durumu
Sınıf diyagramı sınıf sınıf
Otomat diyagramı durum makinesi veya stm durum makinesi
Etkinlik şeması aktivite veya davranmak aktivite
Sıra diyagramı etkileşim veya SD SD
iletişim şeması etkileşim veya SD iletişim
bileşen diyagramı bileşen veya cmp bileşen
Yerleşim şeması tanımsız dağıtım
nesne diyagramı tanımsız nesne
İç yapı şeması sınıf sınıf veya bileşen
Etkileşime genel bakış diyagramı etkileşim veya SD etkileşim
senkronizasyon şeması etkileşim veya SD zamanlama
Paket şeması paket veya pkg paket
11.1. Birleşik Modelleme Dilinin Yapısı

Birleştirilmiş Modelleme Dili (UML) içinde şu anda nesne yönelimli sistemlerin tasarım ve geliştirme sonuçlarının tanımlanması (belgelenmesi) için fiili standarttır. UML geliştirmesi, Rational Software'den Grady Booch ve James Rambeau tarafından 1994 yılında başladı. 1995 sonbaharında, Ivar Jacobson onlara katıldı ve aynı yılın Ekim ayında, Birleşik Yöntemin 0.8 ön sürümü yayınlandı. O zamandan beri, ikisi uluslararası standart statüsüne sahip olan UML spesifikasyonunun birkaç versiyonu yayınlandı:

UML 1.4.2 - "ISO / IEC 19501: 2005. Bilgi teknolojisi. Açık dağıtılmış işleme. Birleşik modelleme dili (UML). Sürüm 1.4.2" (İng. "Bilgi teknolojisi. Açık dağıtılmış işleme. Birleştirilmiş modelleme dili (UML). Sürüm 1.4.2 ");

UML 2.4.1 - "ISO / IEC 19505-1: 2012. Bilgi teknolojisi. OMG UML. Bölüm 1. Altyapı" (İng. "Bilgi teknolojisi - Nesne Yönetim Grubu Birleşik Modelleme Dili ( OMG UML) - Bölüm 1: Altyapı ") ve" ISO / IEC 19505-2: 2012. Bilgi teknolojisi. Birleşik Nesne Yönetimi Grubu Modelleme Dili (OMG UML). Bölüm 2. Üstyapı "(İng." Bilgi teknolojisi - Nesne Yönetim Grubu Birleşik Modelleme Dili (OMG UML) - Bölüm 2 : Üstyapı ").

En son resmi dil spesifikasyonu www.omg.org adresinde bulunabilir.

UML'nin genel yapısı aşağıdaki şekilde gösterilmiştir.

Pirinç. 11.1. UML yapısı

11.2. UML anlambilimi ve sözdizimi

anlambilim - dil birimlerinin anlamını, özellikle de kelimelerini ve kelime öbeklerini inceleyen bir dilbilim bölümü.

Sözdizimi - kelimeleri ve formlarını deyimler ve cümleler halinde birleştirme yolları, cümleleri karmaşık cümleler halinde birleştirme, metnin bir parçası olarak ifadeler oluşturma yolları.

Bu nedenle, UML'ye uygulandığında anlambilim ve sözdizimi, temsil etmek için doğal ve biçimsel dilleri birleştiren bir sunum stili (model oluşturma) tanımlar. temel konseptler(model elemanları) ve genişlemeleri için mekanizmalar.

11.3. UML gösterimi

Notasyon, görsel sunumu için anlambilimin grafiksel bir yorumudur.

UML üç tanımlar varlık türü :

Yapısal - kavramsal veya fiziksel bir nesnenin yansıması olan bir soyutlama;

Gruplama - diyagram öğelerinin bazı anlamsal birleşimi için kullanılan bir öğe;

Açıklayıcı (açıklama) - bir diyagram öğesine bir yorum.

Aşağıdaki tablo, grafik gösterimde kullanılan ana varlıkların kısa bir tanımını ve bunları göstermenin ana yollarını sağlar.

Tablo 11.1. varlıklar

Bir çeşit İsim atama Tanım (anlambilim)
Yapısal
(sınıf)
sahip olan nesneler kümesi Genel yapı ve davranış

(nesne)
Açıkça tanımlanmış kavramsal sınırları, bireyselliği (kimliği), durumu ve davranışı olan gerçek veya hayali bir varlığın soyutlaması. UML perspektifinden, nesneler sınıf örnekleridir (varlık örnekleri)

(aktör)

Mühendis
yol hizmetleri
Sistemle etkileşime giren ve onu kullanan sistemin dışında kalan bir varlık işlevsellik belirli hedeflere ulaşmak veya belirli sorunları çözmek için. Böylece aktör, dış kaynak veya bilgi alıcısı

(kullanım durumu)
Aktör için önemli bir sonuca yol açan sistem tarafından gerçekleştirilen eylemlerin açıklaması

(durum)
Bir varlığın yaşamında belirli bir koşulu yerine getirdiği, bir faaliyette bulunduğu veya bir olayın gerçekleşmesini beklediği anın tanımı
İşbirliği
(işbirliği)
Belirli bir sorunu çözme sürecinde bir dizi aktör, nesne ve etkileşimlerinin tanımı

(bileşen)
Tutarlı bir arabirimler kümesinin uygulanmasını sağlayan sistem modülleri dahil, sistemin (dosya) fiziksel kısmı

(arayüz)

iHesaplama
Bir sınıf veya bileşen tarafından sağlanan bir hizmeti (hizmetler kümesini) tanımlayan bir dizi işlem

(düğüm)
Sorunu çözmek için kaynaklar sağlayan sistemin fiziksel kısmı (bilgisayar, yazıcı vb.)
gruplama
(paket)
Elemanları gruplamak için genel mekanizma.
Bir bileşenin aksine, paket tamamen kavramsal (soyut) bir kavramdır. Paketin özel durumları sistem ve modeldir.

(parça)
Aktör ve nesne örnekleri arasındaki belirli etkileşim alanı

(etkinlik bölümü)
Bir varlık (aktör, nesne, bileşen, düğüm vb.) tarafından gerçekleştirilen bir grup operasyon (sorumluluk alanı)

(kesilebilir etkinlik bölgesi)
Standart olmayan bir durumun başlamasının bir sonucu olarak normal dizisi kesintiye uğrayabilecek bir grup operasyon
açıklama Not
(Yorum)
Öğe yorumu. Kesikli bir çizgi ile yorum yapılan öğeye eklenir

Bazı kaynaklarda, özellikle [,], davranışsal varlıklar da ayırt edilir. etkileşimler ve sonlu durum makineleri, ancak mantıksal bir bakış açısından, diyagramlar olarak sınıflandırılmalıdırlar.

Bunları ima etmek için yukarıdaki varlıklardan bazıları Detaylı Açıklama Ayrışma diyagramları üzerinde. diyagramda Üst düzeyözel bir simge veya etiketle işaretlenirler.

Aşağıdaki tablo, tüm türlerin bir açıklamasını sağlar ilişkiler Varlıklar arasındaki ilişkileri belirtmek için diyagramlarda kullanılan UML.

Tablo 11.3. İlişki

İsim atama Tanım (anlambilim)
bağlantı İki veya daha fazla varlık arasındaki anlamlı ilişkiyi tanımlayan bir ilişki. Çoğu Genel form ilişki
Toplama "Parça"nın "bütün"den ayrı olarak var olabileceği "parça" - "bütün" ilişkisini tanımlayan bir ilişkilendirme alt türü. Eşkenar dörtgen "bütün" tarafından gösterilir. İlişki yalnızca aynı türdeki varlıklar arasında gösterilir
Kompozisyon "Parçaların" "bütün"den ayrı olarak var olamayacağı bir kümeleme alt türü. Kural olarak, "parçalar", "bütün" ile aynı anda yaratılır ve yok edilir.
Bağımlılık Bir varlıktaki (bağımsız) bir değişikliğin başka bir varlığın (bağımlı) durumunu veya davranışını etkileyebileceği iki varlık arasındaki ilişki. Okun yanında bağımsız bir varlık gösterilir
genelleme Genel bir varlık (ata, ebeveyn) ile özel bir varlık (alt, alt) arasındaki ilişki. Üçgen ebeveyn tarafından gösterilir. İlişki yalnızca aynı türdeki varlıklar arasında gösterilir
gerçekleştirme Bir varlığın diğerinin gerçekleştirmeyi taahhüt ettiği bir eylemi tanımladığı, varlıklar arasındaki bir ilişki. İlişkiler iki durumda kullanılır: arayüzler ve sınıflar (veya bileşenler) arasında, kullanım durumları ve işbirlikleri arasında. Ok tarafı, eylemi tanımlayan varlığı gösterir (arayüz veya kullanım durumu)

İlişkilendirme için toplama ve kompozisyon belirtilebilir çokluk (ingilizce çokluk), ilişkiye katılan varlık örneklerinin toplam sayısını karakterize eder. Genellikle ilgili varlığın yanında ilişkinin her iki tarafında belirtilir. Çokluk aşağıdaki şekillerde belirtilebilir:

- * - hiçbiri dahil olmak üzere herhangi bir sayıda kopya;

Negatif olmayan tam sayı - çokluk kesinlikle sabittir ve belirtilen sayıya eşittir (örneğin: 1, 2 veya 5);

Negatif olmayan tam sayıların aralığı "birinci sayı .. ikinci sayı" (örneğin: 1..5, 2..10 veya 0..5);

Belirli bir başlangıç ​​değerinden keyfi bir son "ilk sayı .. *" ye kadar bir sayı aralığı (örneğin: 1 .. *, 5 .. * veya 0 .. *);

Negatif olmayan tam sayıların ve virgülle ayrılmış aralıkların numaralandırılması (örneğin: 1, 3,5, 10, 15 .. *).

Çokluk belirtilmemişse, değeri 1 olarak kabul edilir. Bağımlılığa, genellemeye ve uygulamaya katılan varlıkların örneklerinin çokluğu her zaman 1 olarak kabul edilir.

Aşağıdaki tabloda açıklanmaktadır genişletmek için mekanizmalar varlıkların ve ilişkilerin anlamını netleştirmek için kullanılır. Genel olarak, uzatma mekanizması, parantez veya tırnak içine alınmış bir metin dizisidir.

Tablo 11.4. Uzatma mekanizmaları

İsim atama Tanım (anlambilim)
klişe
(klişe)
« » Bir gösterim öğesinin semantiğini belirten bir adlandırma (örneğin: "include" stereotipiyle bir bağımlılık, bir dahil etme ilişkisi olarak kabul edilir ve "sınır" stereotipiyle bir sınıf, bir sınır sınıfıdır)
bekçi durumu
(koruma durumu)
Boole koşulu (örneğin: veya [tanımlama tamamlandı])
sınırlama
(kısıtlama)
{ } Model öğesinin anlamını sınırlayan kural (örneğin, (yürütme süresi 10 ms'den az))
etiketli değer
(etiketli değer)
{ } Bir gösterim öğesinin yeni veya niteleyici özelliği (örneğin: (sürüm = 3.2))

Tırnak içinde metin dizisi olarak gösterilen kalıp yargılara ek olarak, çizelgelerde grafik kalıp yargılar kullanılabilir. Aşağıdaki şekil, standart ve basmakalıp gösterim örneklerini göstermektedir.

a) standart atama b) standart atama
metin klişesi ile
c) grafik klişe

Pirinç. 11.2. Standart ve kalıplaşmış sınıf gösterimi örnekleri

Diyagram bazı yönlerini temsil etmek için notasyon öğelerinin bir gruplandırılmasıdır. bilgi sistemi... Diyagramlar genellikle varlıkların köşeler ve ilişkilerin yaylar olduğu bağlantılı bir grafiktir. Aşağıdaki tablo verir kısa bir açıklaması UML diyagramları.

Tablo 11.5. diyagramlar

Diyagram Randevu
fiziksel gerçekleşme derecesine göre dinamikleri görüntüleyerek görüntülenen açıdan

(kullanım durumu)
Sistem işlevlerini, aktörler ve işlevler arasındaki etkileşimi görüntüler Mantıklı Statik fonksiyonel

(sınıf)
Bir dizi sınıfı, arabirimi ve aralarındaki ilişkileri görüntüler Mantıksal veya
fiziksel
Statik İşlevsel ve bilgilendirici

(paket)
Bir dizi paketi ve aralarındaki ilişkileri görüntüler Mantıksal veya
fiziksel
Statik Bileşen
davranışlar
(davranış)

(durum makinesi)
Bir varlığın durumlarını ve yaşam döngüsü boyunca aralarındaki geçişleri görüntüler Mantıklı Dinamik Davranışsal

(aktivite)
Sistemdeki iş süreçlerini görüntüler (davranış algoritmalarının açıklaması)
Etkileşimler
(etkileşim)

(sıra)
Nesneler ve aktörler arasında geçen mesajların sırasını görüntüler

(iletişim)
Sıra diyagramına benzer, ancak vurgu, nesneler arasındaki etkileşimlerin yapısı üzerindedir.
uygulama
(uygulama)

(bileşen)
Sistem bileşenlerini (programlar, kitaplıklar, tablolar vb.) ve bunlar arasındaki bağlantıları görüntüler. Fiziksel Statik Bileşen

(dağıtım)
Bileşenlerin ana bilgisayarlara göre yerleşimini ve yapılandırmasını görüntüler

UML 2.x standardı ayrıca ek, oldukça özel diyagramlar tanımlar:

Nesne diyagramı benzerdir, ancak sınıflar yerine nesneler görüntülenir;

Zamanlama diyagramı - bir nesnenin zaman içindeki durumunu tanımlar;

Bileşik yapı şeması - diğer sınıflarla etkileşim için bir sınıfın bağlantı noktalarını (arayüzler dahil) tanımlar;

Profil şeması - bunlara dahil olan sınıfların açıklamasına benzer;

Etkileşime genel bakış diyagramı benzerdir, ancak gizli etkileşim parçalarına sahiptir (ref etiketli parçalar). Bu, öğeleri ayrı ayrışım diyagramlarında somutlaştırılacak olan bağlamsal (kavramsal) bir öğedir.

Sistemin iç mimarisinin genişletilmiş bir kavramsal temsili amacıyla, yapının çoğu, sözde için yerleşik grafik stereotiplerin kullanımına izin verir. Böyle bir diyagram 1 olarak adlandırılır, ancak UML standardı tarafından tanımlanan diyagram listesine ait değildir.

Sistemin ayrı bir modelini geliştirirken, birkaç tür diyagram oluşturulur. Ayrıca, karmaşık bir sistemin bir modelini geliştirirken, kural olarak, aynı türden birkaç diyagram oluşturulur. Aynı zamanda, gerekli değilse, ayrı diyagram türleri oluşturmamak da mümkündür. Örneğin, diyagramlar ve birbirleriyle değiştirilebilirler; yalnızca karmaşık davranışa sahip nesneler için oluşturulurlar. Aşağıdaki tablo, sistem modeline göre diyagramlar geliştirme (iyileştirme) ihtiyacı hakkında rehberlik sağlar.

Tablo 11.6. Modelleri ve Diyagramları Bağlama

Tablo, test modelini göstermez, çünkü yapısı çerçevesinde diyagramlar geliştirilmez, ancak eksiksizlik ve tutarlılık açısından kontrol edilir (test edilir).

Şemaların inşasından sonraki bir kısmı, aşağıdaki modelin geliştirilmesinin bir parçası olarak geliştirme ve iyileştirme gerektirir ( teknolojik süreç). Bu nedenle, örneğin, geliştirme sırasında açıklığa kavuşturulmalıdır. Modellerde.

4. "" kavramına bir tanım verin.

UML, OO sistemlerini tanımlamak, görselleştirmek, tasarlamak ve belgelemek için birleşik bir grafik modelleme dilidir. UML, OO yaklaşımına dayalı olarak yazılım sistemlerinin modellenmesi sürecini desteklemek, kavramsal ve yazılım kavramları arasındaki ilişkiyi düzenlemek, karmaşık sistemleri ölçekleme problemlerini yansıtmak için tasarlanmıştır. UML'deki modeller, iş analizinden sistem bakımına kadar yazılım sistemi yaşam döngüsünün tüm aşamalarında kullanılır. Farklı kuruluşlar, sorun alanlarına ve kullanılan teknolojilere bağlı olarak UML'yi uygun gördükleri şekilde uygulayabilirler.

UML'nin kısa bir tarihi

90'ların ortalarında, çeşitli yazarlar tarafından, her biri kendi grafik gösterimini kullanan birkaç düzine OO modelleme yöntemi önerildi. Aynı zamanda, bu yöntemlerden herhangi birinin güçlü yönleri vardı, ancak "her taraftan", yani gerekli tüm projeksiyonları gösteren yeterince eksiksiz bir PS modeli oluşturmaya izin vermedi (bkz. Madde 1). Ek olarak, bir OO modelleme standardının olmaması, geliştiricilerin en uygun yöntemi seçmesini zorlaştırdı ve bu da OO yaklaşımının yazılım geliştirmede yaygın olarak kullanılmasını engelledi.

Nesne teknolojileri ve veritabanları alanındaki standartların benimsenmesinden sorumlu kuruluş olan Nesne Yönetim Grubu'nun (OMG) talebi üzerine, acil birleştirme ve standardizasyon sorunu, en popüler üç OO yönteminin yazarları tarafından çözüldü - G Buch, D. Rambo ve A. Jacobson, OMG tarafından 1997 yılında bir standart olarak onaylanan UML 1.1'i oluşturdu.

UML bir dildir

Herhangi bir dil, anlamlı yapılar elde etmek için kelimeleri birleştirmek için bir kelime dağarcığı ve kurallardan oluşur. Bu nedenle, özellikle programlama dilleri düzenlenmiştir, UML gibi. Ayırt edici özelliği, dil sözlüğünün grafik öğelerden oluşmasıdır. Her grafik sembolün belirli bir anlamı vardır, bu nedenle bir geliştirici tarafından oluşturulan bir model başka bir geliştirici tarafından açık bir şekilde anlaşılabilir ve ayrıca yazılım aracı UML'nin yorumlanması. Bundan özellikle, UML'de sunulan bir PS modelinin, UML'yi destekleyen iyi bir görsel modelleme aracı varsa, otomatik olarak bir OO programlama diline (Java, C ++, VisualBasic gibi) çevrilebileceğini izler. , modeli oluştururken, bu modele karşılık gelen program kodunun bir hazırlığını alacağız.

UML'nin bir metot değil bir dil olduğu vurgulanmalıdır. Hangi öğelerden model oluşturulacağını ve bunların nasıl okunacağını açıklar, ancak hangi modellerin ve hangi durumlarda geliştirilmesi gerektiği hakkında hiçbir şey söylemez. UML'ye dayalı bir yöntem oluşturmak için, onu yazılım geliştirme sürecinin bir açıklamasıyla desteklemek gerekir. Böyle bir sürecin bir örneği, sonraki makalelerde tartışılacak olan Rasyonel Birleşik Süreç'tir.

UML kelime dağarcığı

Model, diyagramlarda gösterilen varlıklar ve aralarındaki ilişkiler şeklinde temsil edilir.

varlıklar Modellerin ana unsurları olan soyutlamalardır. Dört tür varlık vardır - yapısal (sınıf, arayüz, bileşen, kullanım durumu, işbirliği, düğüm), davranışsal (etkileşim, durum), gruplama (paketler) ve açıklama (yorumlar). Her varlık türünün kendi grafiksel temsil... Diyagramlar incelenirken varlıklar ayrıntılı olarak tartışılacaktır.

İlişki varlıklar arasında çeşitli ilişkiler gösterir. UML, aşağıdaki ilişki türlerini tanımlar:

  • Bağımlılık iki varlık arasında böyle bir bağlantı gösterir, birini değiştirirken - bağımsız - diğerinin anlamını etkileyebilir - bağımlı. Bağımlılık, bağımlı varlıktan bağımsız varlığa işaret eden kesikli bir okla gösterilir.
  • bağlantı Bir varlıktaki nesnelerin başka bir varlıktaki nesnelerle ilişkili olduğunu gösteren yapısal bir ilişkidir. Bir ilişki, bağlantılı varlıkları birbirine bağlayan bir çizgi olarak grafiksel olarak gösterilir. İlişkilendirmeler nesneler arasında gezinmek için kullanılır. Örneğin, "Sipariş" ve "Ürün" sınıfları arasındaki ilişki, bir yandan belirli bir siparişte belirtilen tüm malları bulmak için, diğer yandan belirli bir ürünün bulunduğu tüm siparişleri bulmak için kullanılabilir. . İlgili programların bu tür navigasyon için bir mekanizma uygulaması gerektiği açıktır. Gezinmek için yalnızca bir yön gerekiyorsa, ilişkilendirmenin sonunda bir okla gösterilir. Bir birlikteliğin özel bir durumu, toplamadır - "bütün" - "parça" biçimindeki bir ilişki. Grafik olarak, varlık-bütünün yanında, sonunda bir elmas ile vurgulanır.
  • genelleme Bir üst varlık ile bir alt varlık arasındaki ilişkidir. Esasen bu ilişki, sınıflar ve nesneler için kalıtım özelliğini yansıtır. Genelleme, ebeveyn varlığı gösteren bir üçgen ile biten bir çizgi olarak gösterilir. Çocuk, ebeveynin yapısını (niteliklerini) ve davranışını (yöntemlerini) devralır, ancak aynı zamanda yeni yapı üyelerine ve yeni yöntemlere sahip olabilir. UML, bir varlık birden fazla üst varlıkla ilişkilendirildiğinde birden çok kalıtıma izin verir.
  • uygulama- davranışın belirtimini (arayüz) tanımlayan varlık ile bu davranışın uygulamasını tanımlayan varlık (sınıf, bileşen) arasındaki ilişki. Bu ilişki, bileşen modellemede yaygın olarak kullanılır ve sonraki makalelerde daha ayrıntılı olarak açıklanacaktır.

Diyagramlar. UML aşağıdaki diyagramları sağlar:

  • Sistem davranışını açıklayan diyagramlar:
    • Durum diyagramları,
    • Aktivite diyagramları,
    • Nesne diyagramları,
    • Sıra diyagramları,
    • İşbirliği diyagramları
  • Sistemin fiziksel uygulamasını açıklayan diyagramlar:
    • Bileşen diyagramları
    • Dağıtım şemaları

Model kontrol görünümü. Paketler.

Modelin bir kişi tarafından iyi anlaşılması için, hiyerarşinin her seviyesinde az sayıda varlık bırakarak hiyerarşik olarak organize edilmesi gerektiğini zaten söylemiştik. UML, bir modelin hiyerarşik bir temsilini organize etmenin bir yolunu içerir - paketler. Herhangi bir model, sınıfları, kullanım durumlarını ve diğer varlıkları ve diyagramları içerebilen bir dizi paketten oluşur. Bir paket, hiyerarşiler oluşturmak için başka paketler içerebilir. UML'de ayrı paket diyagramları yoktur, ancak diğer diyagramlarda görünebilirler. Paket, sekmeli bir dikdörtgen olarak görüntülenir.

UML'nin sağladıkları.

  • paketleri tahsis ederek karmaşık bir sistemin hiyerarşik bir açıklaması;
  • kullanım durumları aparatını kullanarak sistem için fonksiyonel gereksinimlerin resmileştirilmesi;
  • faaliyet ve senaryo şemaları oluşturarak sistem gereksinimlerinin detaylandırılması;
  • veri sınıflarını vurgulama ve sınıf diyagramları şeklinde kavramsal bir veri modeli oluşturma;
  • kullanıcı arayüzünü tanımlayan sınıfların vurgulanması ve bir ekran navigasyon şeması oluşturulması;
  • sistem işlevlerini yerine getirirken nesnelerin etkileşim süreçlerinin açıklaması;
  • nesnelerin davranışlarının aktivite ve durum diyagramları şeklinde tanımlanması;
  • yazılım bileşenlerinin tanımı ve arayüzler aracılığıyla etkileşimleri;
  • sistemin fiziksel mimarisinin bir açıklaması.

Ve son...

UML'nin tüm çekiciliğine rağmen, görsel modelleme araçları olmadan gerçek yazılım modellemesinde kullanmak zor olacaktır. Bu tür araçlar, diyagramları ekranda hızlı bir şekilde sunmanıza, bunları belgelemenize, çeşitli OO programlama dillerinde boş program kodları oluşturmanıza ve veritabanı şemaları oluşturmanıza olanak tanır. Bunların çoğu, program kodlarını yeniden yapılandırma olasılığını içerir - modelin ve kodların tutarlılığını sağlamak için çok önemli olan programların kaynak kodlarını otomatik olarak analiz ederek SS modelinin belirli projeksiyonlarını geri yüklemek ve öncekinin işlevselliğini devralan sistemler tasarlarken sistemler.