Uml açıklaması. UML diyagramları. Durum haritasındaki dahili faaliyetler

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 sorunlarını 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, UML'yi yorumlayan bir yazılım aracının yanı sıra bir başkası tarafından açık bir şekilde anlaşılabilir. 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 grafik temsili vardır. 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.

Bir 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.

UML, yazılım sistemlerinin geliştirilmesinde oluşturulan tüm yapıtları belirtmek, görselleştirmek, tasarlamak ve belgelemek için genel amaçlı bir grafik modelleme dilidir.

UML hakkında ayrıntılı olarak açıklayan birçok iyi kitap var (bazı yerlerde hatta çok ayrıntılı olarak), hızlı hatırlama için diyagramlar, varlıklar ve aralarındaki bağlantılar hakkında temel kavramları tek bir yerde toplamak istiyorum, kopya kağıdı gibi bir şey .

Not, kitaplardan materyaller kullanır: Ivanov D. Yu., Novikov F.A. Birleşik Modelleme Dili UML ve Leonenkov. UML öğreticisi.

Öncelikle editöre karar verelim. Linux altında farklı UML editörleri denedim, en çok UMLet'i beğendim, Java ile yazılmış olmasına rağmen çok hızlı hareket ediyor ve çoğu varlık şablonları içinde. Ayrıca Java ile yazılmış, işlevsel olarak zengin, ancak daha fazla yavaşlayan, platformlar arası bir UML düzenleyicisi olan ArgoUML vardır.

yerleştim UMlet, altına ayarla Arch Linux ve Ubuntu:

# Arch Linux yaourt -S umlet için # Ubuntu için sudo apt-get install umlet

UML'de tüm varlıklar aşağıdaki türlere ayrılabilir:

  • yapısal;
  • davranışsal;
  • gruplama;
  • Dipnot;

UML'de kullanılan dört ana ilişki türü vardır:

Bağımlılık- bağımsız varlığın değiştirilmesinin bir şekilde bağımlı varlığı etkilediğini gösterir. Grafiksel olarak, bir bağımlılık ilişkisi, bağımlı varlıktan bağımsız varlığı gösteren bir ok ile kesikli bir çizgi olarak tasvir edilir.

bağlantı- bir varlık bir başkasıyla (veya başkalarıyla) doğrudan ilişkiliyse gerçekleşir - ilişkilendirme yalnızca ikili olmayabilir. Bir ilişki, ilgili varlıkları birbirine bağlayan çeşitli eklemelerle birlikte düz bir çizgi olarak grafiksel olarak gösterilir.

genelleme biri diğerinin özel (uzmanlaşmış) durumu olan iki varlık arasındaki ilişkidir. Grafiksel olarak, genelleme, sonunda özelden (alt sınıftan) genele (üst sınıfa) yönlendirilen üçgen, gölgesiz bir ok bulunan bir çizgi olarak tasvir edilir.

uygulama- bir uygulama ilişkisi, bir varlığın diğerinin uygulaması olduğunu gösterir. Grafiksel olarak, uygulama, gerçekleştiren varlıktan gerçekleştirilebilir olana yönlendirilen, sonunda üçgen, gölgesiz bir ok bulunan kesikli bir çizgi olarak tasvir edilir.

V UML 2 tanımlanmış 13 grafik türleri. Standartlara göre, her grafiğin sol üst köşesinde grafik kimliğini (etiketini) ve başlığını gösteren bir dikdörtgen (sağ alt köşeye eğimli) olan bir kutu olmalıdır.

Sistemin yapısını gösteren diyagramlar:

  • Bileşen diyagramı (etiket bileşen);
  • Dağıtım şeması (etiket dağıtım);
  • Sınıf diyagramı (sınıf diyagramı, etiket sınıf);
  • Nesne diyagramı (etiket nesne);
  • İç yapı şeması (kompozit yapı şeması, etiket sınıf);

Sistem davranışını gösteren diyagramlar:

  • Etkileşim şeması (etiket zamanlama);
  • Etkinlik diyagramı (etiket aktivite);
  • Sıra diyagramı (etiket SD);
  • İletişim şeması (etiket iletişim);
  • Durum makinesi diyagramı (etiket durum makinesi);
  • Etkileşime genel bakış diyagramı etiketi etkileşim);

Diyagramlar birbirinden ayrılır:

  • Kullanım şeması (durum şemasını kullanın, durum etiketini kullanın);
  • Paket şeması (etiket paket);

kullanım şeması

kullanım şeması(kullanım durumu diyagramı), sistemin işlevsel amacının en genel temsilidir.

Kullanım durumu diyagramını bir sistem modeli olarak düşünürsek, onu bir kara kutu modeliyle ilişkilendirebiliriz. Her bir kullanım durumu, ilgili aktörle etkileşime girdiğinde tasarlanan sistem tarafından gerçekleştirilmesi gereken bir eylemler dizisini tanımlar.

Kullanım diyagramı iki tür temel varlık kullanır: aralarında aşağıdaki temel ilişki türlerinin kurulduğu kullanım durumları ve aktörler.

ilişki ilişkisi- Bu ilişki, bir aktörün bir kullanım senaryosu örneğiyle etkileşime girdiğinde hangi özel rolü oynadığını belirler. Bir ilişki ilişkisi, aktör ve kullanım durumu arasındaki düz bir çizgi ile gösterilir. Bu satır, isim ve çokluk gibi ek sembollere sahip olabilir.

genişleme oranı- belirli bir kullanım durumunun örneklerinin, özellikleri bu örneklerin nasıl bir araya getirildiğine bağlı olarak belirlenen daha genel bir kullanım durumuyla nasıl ilişkili olduğunu tanımlar. Dolayısıyla, kullanım durumu A'dan kullanım durumu B'ye bir uzatma ilişkisi varsa, bu, kullanım durumu B örneğinin özelliklerinin, genişletilmiş kullanım durumu A'daki özelliklerin varlığı nedeniyle artırılabileceği anlamına gelir.

Kullanım durumları arasındaki bir uzatma ilişkisi, orijinal kullanım durumunun bir uzantısı olan kullanım örneğinden uzağa işaret eden bir okla (bağımlılık ilişkisi durumu) kesikli bir çizgi ile gösterilir.

genelleme bağıntısı belirli bir kullanım durumu A'nın, durum B'yi kullanmak için genelleştirilebileceğini göstermeye hizmet eder. Bu durumda, A seçeneği, B seçeneğinin uzmanlaşması olacaktır. Bu durumda, B, A'ya göre bir ata veya ebeveyn olarak adlandırılır ve A seçeneği, V seçeneğinin kullanımına göre bir alt türdür.

Grafik olarak, bu ilişki, ana kullanım durumunu gösteren açık üçgen oklu düz bir çizgi ile gösterilir.

Çocuk kullanım senaryolarının ebeveyn kullanım senaryolarının tüm özelliklerine ve davranışlarına sahip olduğunu belirtmek gerektiğinde, kullanım senaryoları arasında bir genelleme ilişkisi kullanılır.

Dahil etme oranı iki kullanım durumu arasında, bir kullanım durumu için belirli bir davranışın, diğer kullanım durumunun davranış dizisinde bileşik bir bileşen olarak dahil edildiğini gösterir.

Kullanım durumu A'dan kullanım durumu B'ye dahil etme ilişkisi, A seçeneğinin her örneğinin B seçeneği için belirtilen işlevselliği içerdiğini gösterir.

Grafik olarak, bu ilişki, temel kullanım durumundan dahil edilen kullanım durumuna işaret eden bir okla (bağımlılık ilişkisi durumu) kesikli bir çizgi ile gösterilir.

Sınıf diyagramı

Sınıf diyagramı(sınıf diyagramı), bir sistemin statik yapısını tanımlamanın ana yoludur.

Bir sınıf diyagramında, bir ana varlık türü kullanılır: aralarında aşağıdaki temel ilişki türlerinin kurulduğu sınıflar (sayıların çok sayıda özel durumu dahil: arayüzler, ilkel türler, ilişki sınıfları vb.): bağımlılıklar, dernekler, genellemeler , uygulamalar.

bağımlılık ilişkisi genellikle iki model öğesi veya bir ilişkilendirme, genelleme veya uygulama ilişkisi olmayan bu tür öğelerin iki kümesi arasındaki bazı anlamsal ilişkiyi gösterir. Modelin bir öğesindeki bazı değişikliklerin modeldeki başka bir bağımlı öğede değişiklik gerektirebileceği bir durumda bir bağımlılık ilişkisi kullanılır.

Bir bağımlılık ilişkisi, uçlarından birinde bir ok bulunan karşılık gelen öğeler arasında noktalı bir çizgi ile grafik olarak gösterilir ve ok, bağımlılık istemci sınıfından bağımsız veya kaynak sınıfa işaret eder.

Okun üzerinde özel anahtar kelimeler (klişeler) olabilir:

  • "erişim" - istemci sınıfları için kaynak sınıfın genel niteliklerinin ve işlemlerinin erişilebilirliğini göstermeye hizmet eder;
  • "bağlama" - istemci sınıfı, sonraki parametreleştirmesi için bir şablon kullanabilir;
  • "türetme" - müşteri sınıfının nitelikleri, kaynak sınıfın niteliklerinden hesaplanabilir;
  • "import" - kaynak sınıfın genel öznitelikleri ve işlemleri, doğrudan içinde bildirilmiş gibi istemci sınıfın bir parçası haline gelir;
  • "refinine" - proje üzerinde çalışırken ek bilgiler göründüğünde, istemci sınıfının tarihsel nedenlerle kaynak sınıfın iyileştirilmesi olarak hizmet ettiğini belirtir.

ilişki ilişkisi sınıflar arasında bazı ilişkilerin varlığına karşılık gelir. Bu ilişki, belirli bir ilişkinin bireysel özelliklerini karakterize eden ek özel karakterler içeren düz bir çizgi ile gösterilir. Derneğin adı ve dernek rol sınıflarının adları ve çokluğu ek özel karakterler olarak kullanılabilir. Derneğin adı, atamasının isteğe bağlı bir öğesidir.

Toplama oranı sınıflardan birinin, diğer varlıkları kurucu parçalar olarak içeren belirli bir varlık olması durumunda, birkaç sınıf arasında gerçekleşir. Parçadan bütüne sistem ilişkilerini temsil etmek için kullanılır.

kompozisyon ilişkisi toplama ilişkisinin özel bir durumudur. Bu ilişki, "parça-bütün" ilişkisinin özel bir biçimini vurgulamaya hizmet eder; bu ilişkide, oluşturan parçalar bir anlamda bütünün içindedir. Aralarındaki ilişkinin özgüllüğü, parçaların bütünden yalıtılarak hareket edemeyecekleri gerçeğinde yatar, yani bütünün yıkılmasıyla, onu oluşturan tüm parçalar da yok olur.

genelleme bağıntısı daha genel bir öğe (ebeveyn veya ata) ile daha özel veya özel bir öğe (alt veya torun) arasındaki ilişkidir. Bir sınıf diyagramına uygulandığında, bu ilişki sınıfların hiyerarşik yapısını ve özelliklerinin ve davranışlarının kalıtımını tanımlar. Alt sınıfın, ata sınıfın tüm özelliklerine ve davranışlarına sahip olduğu ve ayrıca ata sınıfın sahip olmadığı kendi özelliklerine ve davranışlarına sahip olduğu varsayılır.

Otomat diyagramı

Otomat diyagramı(durum makine şeması) veya durum diyagramı UML 1'de (durum grafiği diyagramı), UML'deki davranışı ayrıntılı olarak tanımlamanın bir yoludur. Özünde, otomat diyagramları, adından da anlaşılacağı gibi, birçok ek ayrıntı ve ayrıntıyla yüklü sonlu bir otomatın durumlarının ve geçişlerinin bir grafiğidir.

Durum diyagramı, yalnızca bir sınıfın veya daha doğrusu belirli bir sınıfın bir örneğinin durumlarını değiştirme sürecini tanımlar, yani belirli bir nesnenin durumundaki tüm olası değişiklikleri modeller. Bu durumda, bir nesnenin durumundaki bir değişiklik, diğer nesnelerden veya dışarıdan gelen dış etkilerden kaynaklanabilir. Durum diyagramlarının kullanıldığı bu tür dış etkilere bir nesnenin tepkisini anlatmaktır.

Otomat diyagramında, bir ana varlık türü kullanılır - durumlar ve bir tür ilişki - geçişler, ancak her ikisi için de birçok çeşit, özel durum ve ek notasyon tanımlanır. Otomat, modellenen sistemin dinamik yönlerini, köşeleri durumlara ve yaylar geçişlere karşılık gelen yönlendirilmiş bir grafik biçiminde temsil eder.

Başlangıç ​​hali herhangi bir iç eylem içermeyen bir durumun özel bir durumudur (sözde durumlar). Varsayılan nesne, zamanın ilk anında bu durumdadır. Durum diyagramında, durum geçiş sürecinin başladığı grafik alanını belirtmeye yarar.

Final (son) durum, aynı zamanda herhangi bir dahili eylem (sözde durumlar) içermeyen bir durumun özel bir durumudur. Otomat son anda işini bitirdikten sonra varsayılan nesne bu durumda olacaktır.

Etkinlik şeması

Tasarlanan veya analiz edilen bir sistemin davranışını modellerken, yalnızca durumlarını değiştirme sürecini temsil etmek değil, aynı zamanda sistem tarafından gerçekleştirilen işlemlerin algoritmik ve mantıksal uygulamasının özelliklerini detaylandırmak da gerekli hale gelir.

Etkinlik şeması(aktivite diyagramı), algoritmanın eski güzel akış şemasına görsel olarak benzeyen davranışı tanımlamanın başka bir yoludur. İşlem gerçekleştirme sürecini simüle etmek için kullanılır.

Etkinlik diyagramlarını kullanmanın ana yönü, yürütülmesi için algoritmalar sunmak gerektiğinde, sınıf işlemlerinin uygulanmasının özelliklerini görselleştirmektir.

Faaliyet diyagramında, bir ana varlık türü kullanılır - eylem ve bir tür ilişki - geçişler (kontrol transferleri). Çatallar, birleştirmeler, birleştirmeler, dallar gibi yapılar da kullanılır. Basit bir eylem adı olarak açıklayıcı kelimeler içeren bir fiil kullanılması önerilir.

Sıra diyagramı

Sıra diyagramı(sıra şeması), sistem davranışını "örneklerle" tanımlamanın bir yoludur.

Aslında, bir dizi diyagramı, sistem çalışmasının belirli bir oturumunun (veya böyle bir protokolün bir parçasının) protokolünün bir kaydıdır. Nesne yönelimli programlamada, en önemli çalışma zamanı, iletişim kuran nesneler arasında mesajların aktarımıdır. Bu şemada görüntülenen mesaj gönderme sırasıdır, dolayısıyla adı.

Sıra diyagramında, bir ana varlık türü kullanılır - etkileşimli sınıflandırıcıların örnekleri (esas olarak sınıflar, bileşenler ve aktörler) ve bir tür ilişki - mesajların değiş tokuş edildiği bağlantılar.

Olası mesaj türleri (resim larin.in'den alınmıştır):

iletişim şeması

iletişim şeması(iletişim şeması) - bir dizi şemasına anlamsal olarak eşdeğer davranışı tanımlamanın bir yolu. Aslında bu, etkileşimli sınıflandırıcı örneklerinin mesaj alışverişi dizisinin aynı açıklamasıdır, sadece diğer grafiksel yollarla ifade edilir.

Bu nedenle, iletişim şemasında ve sıra şemasında, bir ana varlık türü kullanılır - etkileşimli sınıflandırıcıların örnekleri ve bir tür ilişki - bağlantılar. Ancak burada vurgu zamanla değil, belirli örnekler arasındaki bağlantıların yapısı üzerindedir.

bileşen diyagramı

bileşen diyagramı(bileşen diyagramı) - simüle edilmiş sistemi oluşturan modüller (mantıksal veya fiziksel) arasındaki ilişkiyi gösterir.

Bir bileşen diyagramındaki ana varlık türü, bileşenlerin kendileri ve bileşenler arasındaki ilişkinin gösterildiği arabirimlerdir. Bir bileşen diyagramında aşağıdaki ilişkiler geçerlidir:

  • bileşenler ve arayüzler arasındaki uygulamalar (bir bileşen, bir arayüzü uygular);
  • bileşenler ve arayüzler arasındaki bağımlılıklar (bir bileşen bir arayüz kullanır);

Yerleşim şeması

Yerleşim şeması(dağıtım şeması), sistem öğelerinin bileşimini ve ilişkilerini görüntülemenin yanı sıra, çalışma zamanında bilgi işlem kaynaklarında fiziksel olarak nasıl konumlandıklarını gösterir.

Yerleştirme diyagramında, bileşen diyagramına kıyasla, iki tür varlık eklenir: bir bileşenin uygulanması olan bir yapı ve bir düğüm (bir düğümün türünü tanımlayan bir sınıflandırıcı veya belirli bir örnek olabilir). ) ve ayrıca düğümlerin çalışma zamanında fiziksel olarak bağlı olduğunu gösteren düğümler arasındaki bir ilişki ilişkisi.

nesne diyagramı

nesne diyagramı(nesne diyagramı) - bir sınıf diyagramının bir örneğidir.

Nesne diyagramında, bir ana varlık türü kullanılır: aralarında belirli ilişkilerin belirtildiği nesneler (sınıf örnekleri) (çoğunlukla ilişki örnekleri). Nesne diyagramları yardımcı bir yapıya sahiptir - aslında, bunlar, sistemin işleyişinde belirli bir anda nesnelerin ne olduğunu ve aralarındaki bağlantıları gösteren örneklerdir (birileri, bellek dökümleri diyebilir).

İç yapı şeması(bileşik yapı diyagramı), öncelikle sınıflar ve bileşenler olmak üzere yapısal sınıflandırıcıların daha ayrıntılı bir sunumu için kullanılır.

Yapısal sınıflandırıcı, üst kısmında sınıflandırıcının adı olan bir dikdörtgen olarak tasvir edilmiştir. İçinde parçalar var. Birkaç parça olabilir. Parçalar birbirleriyle etkileşime girebilir. Bu, çeşitli türlerde konektörler kullanılarak belirtilir. Konektörün bağlandığı parçanın dış kenarındaki konuma bağlantı noktası adı verilir. Bağlantı noktaları ayrıca yapısal sınıflandırıcının dış kenarında bulunur.

Etkileşime genel bakış diyagramı Etkileşime genel bakış diyagramı, genişletilmiş bir sözdizimine sahip bir tür etkinlik diyagramıdır: sıra diyagramları tarafından tanımlanan etkileşim kullanımı bağlantıları, bir etkileşime genel bakış diyagramının öğeleri olarak işlev görebilir.

senkronizasyon şeması

senkronizasyon şeması(zamanlama diyagramı), farklı sınıflandırıcı örneklerinin durumlarını ve zamanlamalarını değiştirmeye özel dikkat gösterilen özel bir dizi diyagramıdır.

Paket şeması

Paket şeması(paket diyagramı), modelin karmaşıklığını yönetmenize izin veren tek araçtır.

Notasyonun ana unsurları, farklı stereotiplere sahip paketler ve bağımlılıklardır.

Varlık-ilişki modeli (ER-modeli)

Analog sınıf diyagramları(UML) belki acil durum modeli veritabanlarının tasarımında kullanılan (ilişkisel model).

Varlık-ilişki modeli (ER-modeli), etki alanının kavramsal şemalarını tanımlamanıza izin veren bir veri modelidir. ER modeli, üst düzey (kavramsal) veritabanı tasarımında kullanılır. Onun yardımıyla, anahtar varlıkları vurgulamak ve bu varlıklar arasında kurulabilecek bağlantıları belirlemek mümkündür. wikipedia

Konu alanının herhangi bir parçası, aralarında bir dizi bağlantı bulunan bir dizi varlık olarak temsil edilebilir.

Temel konseptler:

öz(varlık), kendisini diğer varlıklardan ayıran bir şekilde tanımlanabilen bir varlıktır, örneğin MÜŞTERİ 777... Bir varlık aslında bir dizi niteliktir.

varlık seti(varlık kümesi) - aynı türde (aynı özelliklere sahip) bir varlık kümesi.

Bağlantı(ilişki) birden çok varlık arasında kurulan bir ilişkidir.

Alan adı(etki alanı) - bir özniteliğin bir dizi değeri (kapsam).

Üç tür ikili bağlantı vardır:

  • bire bir- bir sınıfın varlığının tek bir örneği, başka bir sınıfın varlığının tek bir örneği ile ilişkilendirilir, örneğin, HEAD - DEPARTMENT;
  • 1'den N'ye veya birden çok- bir sınıfın varlığının tek bir örneği, başka bir sınıfın varlığının birçok örneğiyle ilişkilendirilir, örneğin, BÖLÜM - ÇALIŞAN;
  • N'den M'ye veya çoktan çoka- bir sınıfa ait bir varlığın birçok örneği, başka bir sınıfa ait bir varlığın birçok örneği ile ilişkilendirilir, örneğin, EMPLOYEE - PROJECT;
  • Temel UML kavramları sözlüğü

    Nesne- benzersiz olan ve durumu ve davranışı kapsayan bir varlık.

    Sınıf- durumu belirleyen ortak niteliklere sahip bir dizi nesnenin tanımı ve davranışı belirleyen işlemler.

    Arayüz- 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 dizi işlem.

    İşbirliği- bir hedefe ulaşmak için etkileşime giren bir dizi nesne.

    Aktör- modellenen sistemin dışında olan ve onunla doğrudan etkileşime giren bir varlık.

    Bileşen- iyi tanımlanmış bir dizi gerekli ve sağlanan arayüze sahip sistemin modüler bir parçası.

    eser- yazılım geliştirme sürecinde kullanılan veya üretilen bir bilgi öğesi. Başka bir deyişle, yapı, bir model öğesinden (sınıf veya bileşen gibi) türetilen fiziksel bir uygulama birimidir.

    düğüm- eserlerin bulunduğu ve gerekirse yürütüldüğü bir bilgi işlem kaynağı.

    Davranışsal varlıklar, davranışı tanımlamayı amaçlar. Yalnızca iki temel davranışsal varlık vardır: durum ve eylem.

    Belirtmek, bildirmek- bir nesnenin yaşam döngüsünde, nesnenin belirli bir koşulu yerine getirdiği ve kendi etkinliğini gerçekleştirdiği veya bir olayın gerçekleşmesini beklediği bir dönem.

    Eylem- ilkel atomik hesaplama.

    makine modellenmiş bir varlığın davranışını sonlu sayıda durum ve geçişle ayrı bir uzay biçiminde temsil etmek için gerekli bir dizi kavramı tanımlayan bir pakettir.

    sınıflandırıcı aynı türden bir dizi nesnenin tanımlayıcısıdır.

    Ek okuma

    • Fowler M. UML. Temel Bilgiler, 3. Baskı
    • Booch G., Rambeau D., Jacobson I. UML. Kullanici rehberi

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.

UML modeline en genel bakış açısıyla bakıldığında, köşelerin ve kenarların ek bilgilerle yüklendiği ve bir grafik (daha doğrusu yüklü bir çoklu-sözde-hiper-digraf) olduğunu söyleyebiliriz. karmaşık iç yapı. Bu grafiğin köşelerine varlık denir ve kenarlar ilişkilerdir.... Bu bölümün geri kalanı, mevcut varlık türleri ve ilişkiler hakkında hızlı (ön) ancak eksiksiz bir genel bakış sağlar. 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 olarak.

∇∇ 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.

  • Kompozit Yapı diyagramı
  • 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. Şu andan itibaren, diyagram boyunca etiket olarak bir dikdörtgen kullanacağız ve bu herhangi bir karışıklığa neden olmamalıdır.

Grafikler için olası etiketler (türler) aşağıdaki tabloda gösterilmiştir. İkinci sütuna standardın sunduğu etiketler 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

UML (Birleşik Modelleme Dili), yazılım geliştirmede nesne modelleme için bir grafik tanımlama dilidir. UML, UML modeli adı verilen bir sistemin soyut bir modelini oluşturmak için grafik gösterimi kullanan açık bir standart olan geniş tabanlı bir dildir. UML, öncelikle yazılım sistemlerini tanımlamak, görselleştirmek, tasarlamak ve belgelemek için oluşturulmuştur. UML bir programlama dili değildir, ancak UML modellerinin yorumlanmış kod olarak yürütülmesi yoluyla kod üretimi mümkündür. Vikipedi

Ticari Ürünler

Microsoft Visio

Tür: ticari yazılım

UML dahil olmak üzere zengin diyagramlar çizmenize izin veren popüler bir Microsoft yazılım ürünü:

2010 sürümünden başlayarak, diyagramları web'de yayınlamak mümkün hale geldi (SharePoint + Visio Hizmetleri):

Visio Görüntüleyici- önceden oluşturulmuş Visio diyagramlarını görüntülemenizi sağlayan ücretsiz bir program. % D1% %81 D1% %81 D1% 8B% D0% BB% D0% BA% D0% B5% 20 oranında indirebilirsiniz.

% 0A

Microsoft% 20Visual% 20Studio% 202010

% 0A

% D0% A2% D0% B8% D0% BF:% 20% D0% BA% D0% BE% D0% BC% D0% BC% D0% B5% D1% 80% D1% %87 D0% B5% D1% %81 D0% BA% D0% BE% D0% B5% 20% D0% 9F% D0% 9E% 20 (% D0% B5% D1% %81 D1% %82 D1% 8C% 20% D0% B1% D0 % B5% D1%% D0% BF% D0% BB% D0% B0% D1% 82% D0% BD% D0% B0% D1% 8F% 20Express% 20% D0% B2% D0% B5% D1% 80 % D1% %81 D0% B8% D1% 8F).

% 0A

% D0% %92 %20 D0% BF% D0% BE% D1% %81 D0% BB% D0% B5% D0% B4% D0% BD% D0% B5% D0% B9% 20% D0% B2% D0 % B5% D1% %80 D1% %81 D0% B8% D0% B8% 20 Microsoft% 20Visual% 20Studio% 202010% 20% D0% BF% D0% BE% D1% 8F% D0% B2% D0% B8% D0 % BB% D1% %81 D1% 8F 20% D0% BD% D0% BE% D0% B2% D1% 8B% D0% B9% 20% D1% 82% D0% B8% D0% BF% 20% D0 % BF% D1% 80% D0% BE% D0% B5% D0% BA% D1% 82% D0% B0% 20-% 20 Modelleme,% 20% D0% BA% D0% BE% D1% 82% D0 % BE % D1% %80 D1% 8B% D0% B9 20% D0% BF% D0% BE% D0% B7% D0% B2% D0% BE% D0% BB% D1% 8F% D0% B5% D1 % 82 % 20% D1% %80 D0% B8 D1% %81 D0% BE% D0% B2% D0% B0% D1% %82 D1% 8C 20% D1% %80 D0% B0% D0% B7 % D0 % BB% D0% B8% D1% %87 D0% BD% D1% 8B% D0% B5% 20UML% 20% D0% B4% D0% B8% D0% B0% D0% B3% D1% 80% D0 % B0 % D0% BC% D0% BC% D0% B0% 20% D0% B8% 20% D0% BF% D1% %80 D0% BE% D0% B2% D0% B5% D1% 80% D1% 8F % D1 % 82% D1% 8C% 20% D0% BD% D0% B0% D0% BF% D0% B8% D1% %81 D0% B0% D0% BD% D0% BD% D1% 8B% D0% B5 % 20 % D1% %80 D0% B5% D1% %88 D0% B5% D0% BD% D0% B8% D1% 8F% 20% D0% BD% D0% B0% 20% D1% %81 D0% BE % D0 % BE% D1% %82 D0% B2% D0% B5% D1% %82 D1% %81 D1% %82 D0% B2% D0% B8% D0% B5% 20% D1% %81 20% D0 % BD % D0% B5% D0% BE% D0% B1% D1% %85 D0% BE% D0% B4% D0% B8% D0% BC% D0% BE% 20% D0% B0% D1% 80% D1 % 85 % D0% B8% D1% 82% D0% B5% D0% BA% D1% 82% D1% %83 D1% %80 D0% BE% D0% B9.

% 0A

% D0% 9F% D0% BE% D0% B7% D0% B2% D0% BE% D0% BB% D1% 8F% D0% B5% D1% %82 20% D0% B3% D0% B5% D0% BD % D0% B5% D1% %80 D0% B8% D1% 80% D0% BE% D0% B2% D0% B0% D1% 82% D1% 8C% 20 Sekans% 20Diyagram% 20% D0% BD% D0% B0 % 20% D0% BE% D1% %81 D0% BD% D0% BE% D0% B2% D0% B0% D0% BD% D0% B8% D0% B8% 20% D0% BA% D0% BE% D0 % B4% D0% B0,% 20% D0% B2% D0% B8% D0% B7% D1% %83 D0% B0% D0% BB%D0% B8% D0% B7% D0% B8% D1% 80 % D0% BE% D0% B2% D0% B0% D1% 82% D1% 8C% 20% D1% %81 D0% B2% D1% 8F% D0% B7% D0% B8% 20% D0% B2% 20 % D0% BF% D1% %80 D0% BE% D0% B5% D0% BA% D1% 82% D0% B5% 20% D0% BC% D0% B5% D0% B6% D0% B4% D1% 83 % 20% D0% BA% D0% BE% D0% BC% D0% BF% D0% BE% D0% BD% D0% B5% D0% BD% D1% 82% D0% B0% D0% BC% D0% B8 , % 20% D1% %81 D0% B1% D0% BE% D1% %80 D0% BA% D0% B0% D0% BC% D0% B8% 20% D0% B8% 20% D1% %81 D1% %81 D1% 8B%D0% BB%D0%BA%D0%B0%D0% BC%D0% B8% 20%D0%B8% 20%D1% 82.%D0% B4.

% 0A

% D0% 9F% D1% %80 D0% B8% D0% BC% D0% B5% D1% 80% 20Kullanım % 20 Case% 20% D0% B4% D0% B8% D0% B0% D0% B3% D1% 80 % D0% B0% D0% BC% D0% BC% D1% 8B,% 20% D0% BD% D0% B0% D1% %80 D0% B8 D1% %81 D0% BE% D0% B2% D0% B0% D0% BD% D0% BD% D0% BE% D0% B9% 20% D0% B2% 20Visual% 20Studio% 202010:

% 0A% 0A

% D0% 9A% D1% %80 D0% BE% D0% BC% D0% B5% 20% D1% 82% D0% BE% D0% B3% D0% BE,% 20% D0% B4% D0% BE% D1% %81 D1% %82 D1% %83 D0% BF% D0% B5% D0% BD% 20Görselleştirme 20%and% 20Modelleme% 20Feature% 20Pack% 20 (% D0% B4% D0% BB% D1% 8F% 20 % D0% BF% D0% BE% D0% B4% D0% BF% D0% B8% D1% %81 D1% %87 D0% B8% D0% BA% D0% BE% D0% B2% 20MSDN),% 20 % D0% BA% D0% BE% D1% 82% D0% BE% D1% 80% D1% 8B% D0% B9% 20% D0% BF% D0% BE% D0% B7% D0% B2% D0% BE % D0% BB% D1% 8F% D0% B5% D1% 82:

% 0A
  • % D0% B3% D0% B5% D0% BD% D0% B5% D1% 80% D0% B8% D1% 80% D0% BE% D0% B2% D0% B0% D1% 82% D1% 8C% 20 % D0% BA% D0% BE% D0% B4% 20% D0% BD% D0% B0% 20% D0% B1% D0% B0% D0% B7% D0% B5% 20UML% 20% D0% B4% D0 % B% D0% B0% D0% B3% D1% %80 D0% B0% D0% BC% D0% BC% 20% D0% BA% D0% BB% D0% B0% D1% %81 D1% %81 D0 % BE% D0% B2
  • % 0A
  • % D1% %81 D0% BE% D0% B7% D0% B4% D0% B0% D0% B2% D0% B0% D1% 82% D1% 8C% 20UML% 20% D0% B4% D0% B8% D0 % B0% D0% B3% D1% 80% D0% B0% D0% BC% D0% BC% D1% 8B% 20% D0% B8% D0% B7% 20% D0% BA% D0% BE% D0% B4 % D0% B0
  • % 0A
  • % D0% B8% D0% BC% D0% BF% D0% BE% D1% %80 D1% 82% D0% B8% D1% %80 D0% BE% D0% B2% D0% B0% D1% 82% D1 % 8C% 20UML% 20% D0% B4% D0% B8% D0% B0% D0% B3% D1% 80% D0% B0% D0% BC% D0% BC% D1% 8B% 20% D0% BA% D0 % BB% D0% B0% D1% %81 D1% %81 D0% BE% D0% B2,% 20% D0% B4% D0% B8% D0% B0% D0% B3% D1% 80% D0% B0% D0% BC% D0% BC% D1% 8B% 20% D0% BF% D0% BE% D1% %81 D0% BB% D0% B5% D0% B4% D0% BE% D0% B2% D0% B0% D1% 82% D0% B5% D0% BB% D1% 8C% D0% BD% D0% BE% D1% %81 D1% 82% D0% B5% D0% B9,% 20% D0% B4% D0% B8 % D0% B0% D0% B3% D1% 80% D0% B0% D0% BC% D0% BC% D1% 8B% 20% D0% B2% D0% B0% D1% 80% D0% B8% D0% B0 % D0% BD% D1% 82% D0% BE% D0% B2% 20% D0% B8% D1% %81 D0% BF% D0% BE% D0% BB% D1% 8C% D0% B7% D0% BE % D0% B2% D0% B0% D0% BD% D0% B8% D1% 8F 20% D1% %81 20XMI% 202.1
  • % 0A
  • % D1% %81 D0% BE% D0% B7% D0% B4% D0% B0% D0% B2% D0% B0% D1% 82% D1% 8C% 20% D0% B4% D0% B8% D0% B0 % D0% B3% D1% %80 D0% B0% D0% BC% D0% BC% D1% 8B% 20% D0% B7% D0% B0% D0% B2% D0% B8% D1% %81 D0% B8 % D0% BC% D0% BE% D1% 81% D1% 82% D0% B5% D0% B9% 20% D0% B4% D0% BB% D1% 8F% 20ASP.NET,% 20C% 20% D0% B8% 20C ++% 20% D0% BF% D1% 80% D0% BE% D0% B5% D0% BA% D1% 82% D0% BE% D0% B2
  • % 0A
  • % D1% %81 D0% BE% D0% B7% D0% B4% D0% B0% D0% B2% D0% B0% D1% 82% D1% 8C% 20% D0% B8% 20% D0% BF% D1 % 80% D0% BE% D0% B2% D0% B5% D1% 80% D1% 8F% D1% 82% D1% 8C% 20layer% 20diagrams% 20% D0% B4% D0% BB% D1% 8F% 20C % 20% D0% B8% 20C ++% 20% D0% BF% D1% 80% D0% BE% D0% B5% D0% BA% D1% 82% D0% BE% D0% B2
  • % 0A
  • % D0% BF% D0% B8% D1% %81 D0% B0% D1% 82% D1% 8C 20% D1% %81 D0% BE% D0% B1% D1% %81 D1% %82 D0% B2 % D0% B5% D0% BD% D0% BD% D1% 8B% D0% B5% 20% D0% BF% D1% %80 D0% BE% D0% B2% D0% B5% D1% 80% D0% BA % D0% B8% 20% D0% B4% D0% BB% D1% 8F% 20layer% 20diagrams
  • % 0A

% D0% A1% D0% BA% D0% B0% D1% 87% D0% B0% D1% 82% D1% 8C% 20Görselleştirme% 20and% 20Modelleme% 20Özellik% 20Pack% 20% D0% BC% D0% BE% D0 % B% D0% BD% D0% BE% 20% D0% BF% D0% BE% 20% D1% %81 D1% %81 D1% 8B% D0% BB% D0% BA% D0% B5:% 20 http://msdn.microsoft.com/ru-ru/vstudio/ff655021%28en-us%29.aspx.

IBM Rasyonel Gül

Fırsatlar:

  • Kullanım durumu diyagramı
  • Dağıtım şeması (topoloji şemaları);
  • Durum diyagramı;
  • Etkinlik şeması
  • etkileşim diyagramı
  • Sıra diyagramı
  • İşbirliği diyagramı
  • Sınıf diyagramı
  • bileşen diyagramı

Ekran görüntüleri:

Açık kaynak programları

StarUML

Fırsatlar:

  • UML 2.0 desteği
  • MDA (Model Odaklı Mimari)
  • Eklenti Mimarisi (COM uyumlu dillerde yazabilirsiniz: C ++, Delphi, C#, VB, ...)

StarUML esas olarak Delphi'de yazılmıştır, ancak örneğin C / C ++, Java, Visual Basic, Delphi, JScript, VBScript, C #, VB.NET gibi diğer dillerde bileşenler ekleyebilirsiniz. Aşağıda birkaç ekran görüntüsü gösterilmektedir.

Sınıf diyagramı:

Durum şemasını kullanın:

ArgoUML

Desteklenen grafikler:

  • Sınıf
  • Belirtmek, bildirmek
  • kullanım durumu
  • Aktivite
  • İşbirliği
  • dağıtım
  • Sıra

Fırsatlar:

  • Dokuz UML 1.4 diyagramı desteği
  • Platformdan bağımsız (Java 5+)
  • UML 1.4 Standart Metamodel
  • XMI desteği
  • GIF, PNG, PS, EPS, PGML ve SVG'ye aktarın
  • Diller: EN, EN-GB, DE, ES, IT, RU, FR, NB, PT, ZH
  • OCL desteği
  • İleri, Tersine Mühendislik

Ekran görüntüsü:

Tüm UML diyagramları, ilki genel diyagramlar olmak üzere kabaca iki gruba ayrılabilir. Genel diyagramlar pratik olarak modelleme konusuna bağlı değildir ve konu alanı, çözüm alanı vb. gözetilmeksizin herhangi bir yazılım projesinde kullanılabilir.

1.5.1. kullanım şeması

kullanım şeması(kullanım durumu diyagramı), sistemin işlevsel amacının en genel temsilidir.

Kullanım diyagramı, ana modelleme sorusuna cevap vermeyi amaçlamaktadır: sistem dış dünyada ne yapıyor?

Kullanım senaryosu diyagramı, aralarında aşağıdaki temel ilişki türlerinin oluşturulduğu, kullanım senaryoları 1 ve aktörler 2 olmak üzere iki tür temel varlık kullanır:

  • aktör ve kullanım durumu 3 arasındaki ilişki;
  • aktörler arasında genelleme 4;
  • kullanım durumları 5 arasında genelleme;
  • kullanım durumları arasındaki bağımlılıklar (farklı türler) 6.

Kullanım şeması, diğerleri gibi, 7 yorum içerebilir. Ayrıca, diyagramların okunabilirliğini artırmak için bunu yapmanız şiddetle tavsiye edilir.

Kullanım şemasında kullanılan notasyonun temel unsurları aşağıda gösterilmiştir. Ayrıntılı bir açıklama bölüm 2.2'de verilmiştir.

1.5.2. Sınıf diyagramı

Sınıf diyagramı(sınıf diyagramı) bir sistemin yapısını tanımlamanın ana yoludur.

Bu şaşırtıcı değildir, çünkü UML öncelikle nesne yönelimli bir dildir ve sınıflar (tek değilse de) ana yapı taşlarıdır.

Bir sınıf diyagramında, bir ana varlık türü kullanılır: aralarında aşağıdaki temel ilişki türlerinin kurulduğu sınıflar 1 (sınıfların çok sayıda özel durumu dahil: arayüzler, ilkel türler, ilişki sınıfları ve diğerleri):

  • 2. sınıflar arasındaki ilişki (birçok ek ayrıntı ile);
  • 3. sınıflar arasında genelleme;
  • 4 sınıf arasındaki ve sınıflar ve arabirimler arasındaki bağımlılıklar (çeşitli türlerde).

Sınıf diyagramı gösteriminin bazı unsurları aşağıda gösterilmiştir. Ayrıntılı bir açıklama bölüm 3'te verilmiştir.

1.5.3. Otomat diyagramı

Otomat diyagramı(durum makinesi diyagramı), durumları açıkça vurgulamaya ve durumlar arasındaki geçişleri açıklamaya dayalı olarak UML'deki davranışı ayrıntılı olarak tanımlamanın yollarından biridir.

Özünde, otomat diyagramları, adından da anlaşılacağı gibi, birçok ek ayrıntı ve ayrıntıyla yüklü bir durum geçiş grafiğidir (bkz. Bölüm 4).

Otomat şemasında, bir ana varlık türü kullanılır - durum 1 ve bir ilişki türü - geçişler 2, ancak her ikisi için de birçok çeşit, özel durum ve ek tanımlamalar tanımlanır. Hepsini giriş anketinde listelemenin bir anlamı yok.

Otomat şemalarının tüm varyasyonlarının ayrıntılı bir açıklaması bölüm 4.2'de verilmiştir ve aşağıdaki şekil, otomat şemasında kullanılan gösterimin yalnızca temel öğelerini göstermektedir.

1.5.4. Etkinlik şeması

Etkinlik şeması(etkinlik diyagramı) - kontrol akışlarının ve veri akışlarının göstergesine dayalı davranışı tanımlamanın bir yolu.

Bir aktivite diyagramı, görsel olarak eski moda bir akış şemasına benzeyen davranışı tanımlamanın başka bir yoludur. Bununla birlikte, nesne yönelimli yaklaşımla uyumlu modernleştirilmiş gösterim ve en önemlisi, yeni semantik bileşen (Petri ağlarının ücretsiz yorumu) nedeniyle UML etkinlik diyagramı, bir sistemin davranışını tanımlamak için güçlü bir araçtır.

Etkinlik diyagramında, bir ana varlık türü kullanılır - etkinlik 1 ve bir ilişki türü - geçişler 2 (kontrol ve veri aktarımları). Ayrıca varlıklara benzeyen çatallar, birleşimler, birleşimler, dallar 3 gibi yapılar da kullanılır, ancak aslında bunlar değildir, ancak bazı özel çoklu yer ilişkileri durumlarını tasvir etmenin grafiksel bir yolunu temsil eder. Aktivite diyagramı elemanlarının semantiği Bölüm 4'te detaylandırılmıştır. Bir aktivite diyagramında kullanılan temel notasyon öğeleri aşağıda gösterilmiştir.

1.5.5. Sıra diyagramı

Sıra diyagramı(sıra şeması), iletilen mesajların sırasının bir göstergesine dayalı olarak bir sistemin davranışını tanımlamanın bir yoludur.

Aslında, bir dizi diyagramı, sistem çalışmasının belirli bir oturumunun (veya böyle bir protokolün bir parçasının) protokolünün bir kaydıdır. Nesne yönelimli programlamada, en önemli çalışma zamanı, iletişim kuran nesneler arasında mesajların aktarımıdır. Bu şemada görüntülenen mesaj gönderme sırasıdır, dolayısıyla adı.

Sıra şemasında, bir ana varlık türü kullanılır - etkileşimli sınıflandırıcıların örnekleri 1 (esas olarak sınıflar, bileşenler ve aktörler) ve bir tür ilişki - mesajların değiş tokuş edildiği bağlantılar 2 3. Mesaj göndermenin, grafik gösterimde ilişkiye karşılık gelen ok türüyle ayırt edilen birkaç yolu vardır.

Dizi diyagramının önemli bir yönü, zamanın geçişinin açık bir şekilde gösterilmesidir. Diğer diyagram tiplerinden farklı olarak, belki de senkronizasyon diyagramları dışında, bir dizi diyagramında, önemli olan sadece elemanlar arasındaki grafik ilişkilerin varlığı değil, aynı zamanda elemanların diyagramdaki göreli konumudur. Yani varsayılan olarak yukarıdan aşağıya doğru yönlendirilmiş (görünmez) bir zaman ekseni olduğu varsayılır ve daha sonra gönderilen mesaj aşağıya çizilir.

Zaman ekseni yatay olarak yönlendirilebilir, bu durumda zamanın soldan sağa aktığı kabul edilir.

Aşağıdaki çizim, bir dizi diyagramında kullanılan gösterimin temel öğelerini göstermektedir. Etkileşen nesnelerin kendilerini belirtmek için standart gösterim kullanılır - sınıflandırıcı örneğinin adıyla bir dikdörtgen. Ondan uzanan noktalı çizgiye yaşam çizgisi 4 denir. Bu, modeldeki bir ilişkinin tanımı değil, okuyucunun gözünü doğru yöne yönlendirmek için tasarlanmış grafik bir yorumdur. Yaşam çizgisi üzerine bindirilmiş dar şeritler şeklindeki figürler de modellenen varlıkların görüntüleri değildir. Bu, nesnenin yürütme oluşumuna 5 sahip olduğu veya başka bir deyişle nesne aktivasyonunun gerçekleştiği zaman aralıklarını gösteren grafik bir yorumdur. Kombine Fragman Adımları 6, bir etkileşim protokolünün algoritmik yönlerini yansıtmak için bir dizi diyagramına izin verir. Dizi diyagramı gösterimi hakkında daha fazla ayrıntı için Bölüm 4'e bakın.

1.5.6. iletişim şeması

iletişim şeması(iletişim şeması) - bir dizi şemasına anlamsal olarak eşdeğer davranışı tanımlamanın bir yolu.

Aslında bu, etkileşimli sınıflandırıcı örneklerinin mesaj alışverişi dizisinin aynı açıklamasıdır, sadece diğer grafiksel yollarla ifade edilir. Ayrıca, çoğu araç dizi diyagramlarını otomatik olarak iletişim diyagramlarına veya tam tersi şekilde dönüştürebilir.

Bu nedenle, iletişim şemasında ve sıra şemasında, bir ana varlık türü kullanılır - etkileşimli sınıflandırıcı örnekleri 1 ve bir tür ilişki - bağlantılar 2. Ancak burada vurgu zamanla değil, belirli örnekler arasındaki bağlantıların yapısı üzerindedir.

Şekil, bir iletişim şemasında kullanılan temel gösterim öğelerini göstermektedir. Etkileşen nesnelerin kendilerini belirtmek için standart gösterim kullanılır - sınıflandırıcı örneğinin adıyla bir dikdörtgen. Öğelerin işbirliği diyagramındaki göreli konumu önemli değildir - yalnızca mesajların iletildiği bağlantılar (çoğunlukla ilişkilendirme örnekleri) önemlidir. Mesajların zaman içindeki sırasını görüntülemek için hiyerarşik ondalık numaralandırma kullanılır.

1.5.7. bileşen diyagramı

bileşen diyagramı(bileşen diyagramı) - simüle edilmiş sistemi oluşturan modüller (mantıksal veya fiziksel) arasındaki ilişkiyi gösterir.

Bileşen diyagramındaki ana varlık türü, bileşenler 1'in kendileri ve bileşenler arasındaki ilişkinin gösterildiği arabirimler 2'dir. Bir bileşen diyagramında aşağıdaki ilişkiler geçerlidir:

  • bileşenler ve arayüzler arasındaki uygulamalar (bir bileşen, bir arayüzü uygular);
  • bileşenler ve arayüzler arasındaki bağımlılıklar (bileşen bir arayüz kullanır) 3.

Şekil, bir bileşen diyagramında kullanılan gösterimin temel öğelerini göstermektedir. Ayrıntılı bir açıklama bölüm 3'te verilmiştir.

1.5.8. Yerleşim şeması

Yerleşim şeması(dağıtım şeması), sistem öğelerinin bileşimini ve ilişkilerini görüntülemenin yanı sıra, çalışma zamanında bilgi işlem kaynaklarında fiziksel olarak nasıl konumlandıklarını gösterir.

Böylece, yerleştirme şemasına bileşen diyagramına kıyasla iki tür varlık eklenir: bileşen 2 ve düğüm 3'ün uygulaması olan yapı 1 (bir düğümün türünü tanımlayan bir sınıflandırıcı veya bir belirli bir örnek) ve ayrıca düğümlerin çalışma zamanında fiziksel olarak bağlı olduğunu gösteren Düğümler 4 arasındaki bir ilişki ilişkisi.

Şekil, yerleştirme şemasında kullanılan gösterimin temel öğelerini göstermektedir. Bir varlığın diğerinin parçası olduğunu göstermek için, ya "dağıtım" bağımlılık ilişkisi 5 uygulanır ya da bir varlığın şekli başka bir varlığın 6 şeklinin içine yerleştirilir. Diyagramın ayrıntılı bir açıklaması 3. bölümde verilmiştir.

Konunun devamı:
akıllı telefon

Kayıt olmadan WhatsApp'ı bir dizüstü bilgisayara ücretsiz olarak Rusça olarak nasıl indireceğinizi arıyorsanız, programın orijinal olarak oluşturulduğunu bilmeniz gerekir ...