Menü
ücretsiz
kayıt
ev  /  bellenim/uml diyagramı. UML Diyagramlarının Türleri

UML diyagramı. UML Diyagramlarının Türleri

UML (Birleşik Modelleme Dili - birleşik modelleme dili) - yazılım geliştirme alanında nesne modelleme için bir grafik tanımlama dili. UML genel bir dildir, UML modeli adı verilen bir sistemin soyut bir modelini oluşturmak için grafik gösterimi kullanan açık bir standarttır. UML, çoğunlukla 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 modellerini yorumlanmış kod olarak yürütmek için araçlarda kod üretimi mümkündür. Vikipedi

Ticari Ürünler

Microsoft Visio

Tür: ticari yazılım

Popüler yazılım UML dahil olmak üzere zengin diyagramlar çizmenize izin veren Microsoft'tan:

2010 sürümünden itibaren, 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 adresinden 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% %81D0%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%81%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%20Microsoft%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-%20Modelleme,%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%81D1%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%20Sıra%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%20 vaka%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%20and%20Modelleme%20Özellik%20Paket%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 %B8%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%20diyagramlar
  • %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 %B6%D0%BD%D0%BE%20%D0%BF%D0%BE%20%D1%81%D1%%D1%8B%D0%BB%D0%BA%D0%B5:%20 http://msdn.microsoft.com/en-us/vstudio/ff655021%28en-us%29.aspx.

IBM Rasyonel Gül

Fırsatlar:

  • Durum diyagramını kullanın (önceki şemalar);
  • Dağıtım şeması (topoloji şemaları);
  • Durum diyagramı (durum diyagramları);
  • Aktivite diyagramı (aktivite diyagramları);
  • Etkileşim diyagramı (etkileşim diyagramları);
  • Sıra diyagramı (eylem sıralarının diyagramları);
  • İşbirliği diyagramı (işbirliği diyagramları);
  • Sınıf diyagramı (sınıf diyagramları);
  • Bileşen diyagramı (bileşen diyagramları).

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 C/C++, Java gibi diğer dillerdeki bileşenleri de ekleyebilirsiniz. Visual Basic, Delphi, JScript, VBScript, C#, VB.NET. Aşağıda bazı ekran görüntüleri bulunmaktadır.

Sınıf diyagramı:

Durum şemasını kullanın:

ArgoUML

Desteklenen grafikler:

  • sınıf
  • Belirtmek, bildirmek
  • kullanım durumları
  • 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ü:

Bir nesnenin ömrü boyunca, nesnenin yaratılmasından yok edilmesine kadar olan davranışını gösterin. Her durum diyagramı bazı otomatları temsil eder.

Hareket planı

Açıklama bölümünde, diyagramları okuyabilmek için gereken temel durum çizelgesi karakter kümesi hakkında bilgi edinin.

Diğer bölümleri ("Örnek", "Kullanım") okuduktan sonra, kendi başınıza durum diyagramları oluşturmayı deneyebilirsiniz.

Notlar (açıklama)

İşte ana karakter seti durum diyagramları diyagramı okuyabilmek için gereklidir. Diğer bölümleri ("Örnek", "Uygulama") okuduktan sonra, oluşturabileceksiniz. durum diyagramları kendi başına!

Terim resim Tanım
İlk sözde durum Sistemin ilk durumu
Geçiş Geçiş, bir durumdan diğerine geçmek anlamına gelir.
Belirtmek, bildirmek Sistem tarafından gerçekleştirilen eylemleri gösterir (içerebilir olası seçenekler) aktörler tarafından gözlemlenen sonuçlara yol açar.
Belirtmek, bildirmek
aktivite durumu
Bir kullanım durumundaki zor bir adım, başka bir kullanım durumu ile temsil edilebilir.
UML terimleriyle, birinci kullanım durumunun ikinciyi içerdiğini söylüyoruz.
bitiş durumu Sistemlerin veya alt sistemlerin sınırlarını belirlemenizi sağlar.
Dahili faaliyetler Devletlerin geçiş yapmadan olaylara tepki verebildiği durum, bu durumda olay, bekçi ve aktivite durum dikdörtgeninin içine yerleştirilir.
girdi etkinliği Giriş etkinliği, duruma her girdiğinizde yürütülür.
çıktı etkinliği Çıkış etkinliği - eyaletten her ayrıldığınızda yürütülür.
süper devlet
Çoğu durumda, birkaç devletin ortak geçişleri ve dahili faaliyetleri vardır. Bu gibi durumlarda, bunları alt durumlara (alt durumlar) dönüştürebilir ve genel davranışı bir üst duruma (üst duruma) aktarabilirsiniz.
paralel devletler
Durumlar, aynı anda çalışan birden fazla eşzamanlı duruma bölünebilir.

Yaratıcılık tekniği nasıl uygulanır

UML durum diyagramları, birden çok kullanım durumunda tek bir nesnenin davranışını açıklamak için iyidir. Ancak birçok nesnenin etkileşimi ile karakterize edilen davranışı tanımlamak için pek uygun değildirler. Bu nedenle, durum diyagramları ile birlikte diğer teknolojileri kullanmak mantıklıdır. Örneğin, etkileşim diyagramları (Bölüm 4), tek bir kullanım durumunda birden çok nesnenin davranışını açıklamakta harikayken, UML etkinlik diyagramları birkaç kullanım durumunda birkaç nesnenin ana eylem sırasını göstermek için iyidir.

Herkes durum diyagramlarının doğal olduğunu düşünmez. Uzmanların onlarla nasıl çalıştığını izleyin. Ekip üyelerinizin durum çizelgelerinin kendi çalışma biçimleri için doğru olmadığını düşünmeleri mümkündür. Bu en büyük zorluk değil; farklı çalışma yöntemlerini paylaşmayı unutmamalısınız.

Durum çizelgeleri kullanıyorsanız, sistemdeki her sınıf için bunları çizmeye çalışmayın. Bu yaklaşım genellikle resmi olarak titiz bir bütünlük uğruna kullanılır, ancak neredeyse her zaman bir çaba kaybıdır. Durum çizelgelerini yalnızca ilginç davranışlar sergileyen sınıflar için kullanın, burada durum çizelgesini çizmenin işlerin nasıl gittiğini anlamanıza yardımcı olması.

Birçok uzman buna inanıyor UI düzenleyicisi ve kontrol nesneleri, bir durum çizelgesi ile görüntülendiğinde yararlı işlevselliğe sahiptir.

Nasıl ögrenilir

Burada öğrenmenin en kolay yolunu sağlamaya çalıştık UML durum diyagramları.

Diğer birçok dilde olduğu gibi, tanımlamak için bir dizi karakter kullanır. Bu sembollerin anlamı "Notlar (açıklama)" bölümündeki tabloda bulunabilir. Her işaretin kendi adı (terimi) ve yazımı vardır. Ayrıca, her terimin ana özünü hızlı bir şekilde anlamak için kısa bir açıklama sağlanır.

Ardından, "Örnekler" bölümüne gitmenizi öneririz durum diyagramları Elinizi farklı çizelgeleri okumada denemek için. O zaman "Kullanım" bölümünü çalışmalısınız, çünkü UML'deki diyagram türlerinin sayısı az olsa da, yalnızca kullanım amacına uygun diyagramları kullanırsanız bunları kullanmaktan maksimum fayda elde edebilirsiniz.

kullanım örneği

Durum makinesi diyagramları bir sistemin davranışını açıklamak için iyi bilinen bir tekniktir. Durum diyagramları 1960'lardan beri şu ya da bu şekilde olmuştur ve nesne yönelimli programlamanın ilk günlerinde bir sistemin davranışını temsil etmek için kullanılmıştır. Nesne yönelimli yaklaşımlarda, tek bir nesnenin ömrü boyunca davranışını göstermek için tek bir sınıfın durum diyagramını çizersiniz.

Sonlu durum makineleri hakkında yazıldığında, hız kontrol sistemleri veya otomatlar kaçınılmaz olarak örnek olarak gösterilir.
Gothic Castle'daki gizli kontrol panelinin kumandasını kullanmaya karar verdik. Bu şatoda, bulunmaları zor olsun diye hazinelerimizi saklamak istiyoruz. Kasanın kilidine erişmek için şamdandan stratejik bir mum çıkarmalıyız, ancak kilit yalnızca kapı kapalıysa görünecektir. Kilit göründükten sonra anahtarı içine sokabilir ve kasayı açabiliriz. Daha fazla güvenlik için, kasanın ancak mum çıkarıldıktan sonra açılabilmesini sağladık. Hırsız bu önlemi almazsa, hırsızı yutacak korkunç bir canavarı serbest bırakırız.

Şek. 10.1 gösteriliyor durum diyagramı olağandışı güvenlik sistemimi yöneten denetleyici sınıfı. Durum diyagramı, oluşturulan denetleyici nesnesinin durumuyla başlar: durumlar Beklemek. Bu, şemada ile gösterilir ilk sözde durum, bir durum değildir, ancak ilk durumu gösteren bir ok vardır.
Diyagram, denetleyicinin üç durumdan birinde olabileceğini gösterir: Bekle (Bekliyor), Kilitle (Kilitle) ve Aç (Açıldı). Diyagram ayrıca, denetleyicinin bir durumdan diğerine geçişine göre kuralları gösterir. Bu kurallar geçişler olarak temsil edilir - durumları birbirine bağlayan çizgiler.

Geçiş, bir durumdan diğerine geçmek anlamına gelir. Her geçişin üç bölümden oluşan kendi etiketi vardır:
tetikleyici-tanımlayıcı [koruma]/etkinlik (tetikleyici-imza /etkinlik). Hepsi isteğe bağlıdır. Genelde, tetik kimliği durum değişikliğine neden olabilecek tek olaydır.

Bekçi, belirtilmişse, geçişin gerçekleşmesi için karşılanması gereken mantıksal bir koşuldur. Aktivite, geçiş sırasında sistemin bazı davranışlarıdır. Herhangi bir davranışsal ifade olabilir. Bir kimlik tetikleyicisinin tam biçimi, birden çok olay ve parametre içerebilir. Bekle durumundan (Şekil 10.1) başka bir duruma geçiş “Bekle durumunda mum çıkarılırsa bir kilit görür ve Kilit durumuna geçersiniz” şeklinde okunabilir.

Geçiş açıklamasının üç bölümü de isteğe bağlıdır. Aktiviteyi atlama, geçiş sırasında hiçbir şey olmadığı anlamına gelir. Korumaları atlama, tetikleyici olay meydana gelirse geçişin her zaman yürütüldüğü anlamına gelir. Tetikleyici tanımlayıcı nadiren kaybolur, ancak olur. Bu, esas olarak aktif durumlarda gözlemlenebilen geçişin hemen gerçekleştiği anlamına gelir.

Belirli bir durumda bir olay meydana geldiğinde, bu durumdan yalnızca bir geçiş yapılabilir, örneğin Kilit durumunda (Şekil 10.1), korumalar karşılıklı olarak dışlanmalıdır. Bir olay meydana gelirse ve izin verilen geçişler yoksa (örneğin, Bekleme durumunda bir kasanın kapatılması veya kapı açıkken bir mumun çıkarılması) olay yok sayılır.

Bitiş durumu ( son durum) durum makinesinin çalışmayı bitirdiği ve bu da denetleyici nesnesinin silinmesine neden olduğu anlamına gelir. Bu yüzden, tuzağa düşmek için yeterince dikkatli olmayanlarınız için, denetleyici nesnesinin varlığı sona erdiğinde, tavşanı kafesine geri koymaya, zemini paspaslamaya ve sistemi yeniden başlatmaya zorlanıyoruz.

Durum makinelerinin yalnızca doğrudan gözlemlenen veya üzerinde işlem yapılan nesneleri gösterebileceğini unutmayın. Bu nedenle, kapı açıkken kasaya bir şey koymamızı veya kasadan bir şey çıkarmamızı beklerken, kontrol cihazı bize bunun hakkında hiçbir şey söyleyemeyeceği için bunu şemada işaretlemedik.

Geliştiriciler nesneler hakkında konuştuğunda, genellikle nesnelerin durumuna atıfta bulunurlar, yani nesnenin alanlarında bulunan tüm verilerin bir birleşimi anlamına gelir. Ancak, durum makinesi diyagramındaki durum, daha soyut bir durum kavramıdır; Sonuç olarak, farklı devletlerin ima ettiği çeşitli yollar olaylara tepkiler.

Durum haritasındaki dahili faaliyetler

Devletler bir geçiş yapmadan olaylara tepki verebilir. iç faaliyetler (iç faaliyetler), bu durumda olay, koruma ve etkinlik durum dikdörtgeninin içine yerleştirilir.

Şek. Şekil 10.2, editörün metin alanlarında gözlemleyebileceğiniz dahili sembol aktiviteleri ve yardım sistemi olayları ile durumu gösterir. kullanıcı arayüzü. Bir iç aktivite, kendi kendine geçiş gibidir - aynı duruma geri dönen bir geçiş. Dahili etkinliklerin sözdizimi aynı temel üzerine kuruludur. mantık şeması olaylar, korumalar ve prosedürler.

Şek. 10.2 ayrıca özel etkinlikleri de gösterir: girdi ve çıktı faaliyetleri. girdi etkinliği duruma her girdiğinizde yürütülür; çıktı etkinliği- eyaletten her ayrıldığınızda. Ancak, iç faaliyetler başlamaz. girdi ve çıktı etkinliği; arasındaki fark budur iç faaliyetler vekendi kendine geçişler .

Durum çizelgesindeki aktivite durumları

Buraya kadar tanımladığımız durumlarda nesne sessizdir ve herhangi bir şey yapmadan önce bir sonraki olayı bekler. Bununla birlikte, nesnenin bir miktar aktivite sergilediği durumlar mümkündür.

Belirtmek, bildirmek Aranıyor incirde. 10.3 böyle bir durum aktivite durumu: devam eden aktivite sembolü ile gösterilir yapmak/; dolayısıyla terim aktivite yapmak (aktif ol). Arama tamamlandıktan sonra yeni ekipmanların gösterilmesi gibi herhangi bir aktivite içermeyen geçişler yapılır. (Yeni Donanımı Görüntüle). Aktivite sırasında bir iptal olayı meydana gelirse ( İptal et), o zamanlar aktivite yapmak basitçe kesintiye uğradı ve duruma geri döndük Donanım Penceresini Güncelle.

Hem do-aktiviteleri hem de normal aktiviteler, bazı davranışların tezahürünü temsil eder. İkisi arasındaki en önemli fark, düzenli faaliyetlerin "anında" gerçekleşmesi ve düzenli olaylar tarafından kesintiye uğratılamamasıdır, ancak do faaliyetleri, Şekil 2'de gösterildiği gibi sınırlı bir süre için çalışabilir ve kesintiye uğrayabilir. 10.3. Farklı sistemler için anlıklık farklı yorumlanır; gerçek zamanlı sistemler için bu, birkaç makine talimatı gerektirebilir ve masaüstü yazılımı için birkaç saniye sürebilir.

AT UML 1 olağan faaliyetler terimi ile ifade edildi eylem(eylem) ve terim aktivite(aktivite) sadece Faaliyet yapmak.

süper devletler

Çoğu durumda, birkaç devletin ortak geçişleri ve dahili faaliyetleri vardır. Bu gibi durumlarda, bunları alt durumlara (alt durumlar) dönüştürebilir ve genel davranışı Şekil 2'de gösterildiği gibi bir üst duruma (üst duruma) aktarabilirsiniz. 10.4. Süper devlet olmasaydı, geçişi çizmek zorunda kalırdık İptal et(iptal) bir eyalet içindeki her üç eyalet için Bağlantı Ayrıntılarını Girin.

paralel devletler

Durumlar, aynı anda çalışan birden fazla eşzamanlı duruma bölünebilir. Şek. Şekil 10.5, CD'yi veya radyoyu çalıştırabilen ve geçerli saati veya sinyal saatini gösterebilen basit bir çalar saati gösterir.

CD/radyo seçenekleri ve geçerli saat/alarm saati paraleldir. Bunu paralel olmayan bir durum diyagramı ile göstermek isteseydiniz, durumların eklenmesi gerektiğinden dağınık bir diyagram elde edersiniz. İki davranışı iki durum diyagramına bölmek, onu çok daha net hale getirir.

Pirinç. 10.5 ayrıca içerir tarih öncesi durum(tarih sözde durumu). Bu, saat açıldığında, radyo/CD seçeneğinin saatin kapatıldığı andaki durumuna geçtiği anlamına gelir. Tarihten çıkan bir ok, tarih yokken hangi devletin başlangıçta var olduğunu gösterir.

Durum çizelgelerinin uygulanması

Bir durum diyagramı üç ana yolla uygulanabilir: yuvalanmış bir anahtar ifadesi, Durum modeli ve bir durum tablosu kullanarak. Durum çizelgeleriyle çalışmaya en doğrudan yaklaşım, Şekil 1'deki gibi iç içe bir anahtar ifadesidir. 10.6.

Bu yöntem direkt olsa da bunun için bile çok uzun. basit durum. Ek olarak, bu yaklaşımla kontrolü kaybetmek çok kolaydır, bu nedenle temel durumlarda bile kullanılmasını önermiyoruz.
Durum modeli, durum davranışını işlemek için bir durum sınıfları hiyerarşisini temsil eder. Durum haritasındaki her durum, kendi durum alt sınıfına sahiptir. Denetleyici, her olay için yalnızca durum sınıfına yeniden yönlendiren yöntemlere sahiptir. Şekil l'de gösterilen durum diyagramı. 10.1, Şekil 2'de gösterilen sınıflar kullanılarak uygulanabilir. 10.7.

Hiyerarşinin en üstünde, olayları işleyen, ancak uygulama içermeyen tüm yöntemlerin açıklamasını içeren soyut bir sınıf bulunur.
Her belirli durum için, durumdan geçişi başlatan belirli bir olayın işleyici yöntemini yeniden yazmak yeterlidir.
Durum tablosu, durum diyagramını veri olarak temsil eder.

Yani, Şek. 10.1 tablo şeklinde sunulabilir. 10.1.
Ardından, program yürütme sırasında durum tablosunu kullanan bir yorumlayıcı veya bu tabloya dayalı olarak sınıflar üreten bir kod üreteci oluştururuz.

Açıkçası, durum tablosundaki çalışmaların çoğu bir kez yapılır, ancak daha sonra durumla ilgili bir sorunu çözmeniz gerektiğinde kullanılabilir. Çalışma zamanı durum tablosu, yeniden derleme yapılmadan değiştirilebilir, bu da biraz uygundur. Durum şablonunun montajı daha kolaydır ve her durum ayrı bir sınıf gerektirse de yazılması gereken kod miktarı oldukça azdır.

Verilen uygulamalar neredeyse minimal düzeyde ancak nasıl uygulanacağı konusunda fikir veriyor. durum diyagramları. Her durumda, durum modellerinin uygulanması oldukça basmakalıp bir programla sonuçlanır, bu nedenle bunun için bir tür kod üretimi kullanmak genellikle daha iyidir.

Site haberlerine abone olun, abonelik formunu sitenin sağ sütununda bulabilirsiniz.

Profesyonel olarak nasıl serbest çalışacağınızı öğrenmek istiyorsanız, sizi "" kursuna davet ediyoruz.

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ı PS modelleme sürecini desteklemek, kavramsal ve program kavramları arasındaki ilişkiyi düzenlemek ve karmaşık sistemleri ölçekleme sorunlarını yansıtmak için tasarlanmıştır. UML modelleri, iş analizinden sistem bakımına kadar yazılım 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 kendi yöntemleriyle kullanabilir.

UML'nin Kısa Tarihi

1990'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 kendi güçlü, ancak "her taraftan", yani gerekli tüm projeksiyonları göstermek için 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 yazılım geliştirmede OO yaklaşımının yaygın olarak kullanılmasını engelledi.

Nesne teknolojileri ve veritabanları alanında standartları benimsemekten sorumlu bir 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. Booch , Efforts'u birleştiren D. Rambo ve A. Jacobson, 1997'de OMG tarafından standart olarak onaylanan UML sürüm 1.1'i oluşturdu.

UML bir dildir

Herhangi bir dil, bir sözlükten ve anlamlı yapılar oluşturmak için kelimeleri birleştirme kurallarından oluşur. Bu nedenle, özellikle programlama dilleri düzenlenmiştir, UML gibi. Ayırt edici özelliği, dilin söz varlığının grafik öğelerden oluşmasıdır. Her grafik sembolü belirli bir anlambilime karşılık gelir, bu nedenle bir geliştirici tarafından oluşturulan bir model, bir başkası tarafından açık bir şekilde anlaşılabilir ve ayrıca yazılım aracı UML'yi yorumlamak. Bundan, özellikle, UML'de sunulan bir PS modelinin, otomatik olarak bir OO programlama diline (Java, C ++, VisualBasic gibi), yani UML'yi destekleyen iyi bir görsel modelleme aracıyla çevrilebileceği sonucu çıkar. bir model oluştururken, bu modele karşılık gelen program kodunun bir boşluğunu da 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 PS geliştirme sürecinin bir açıklamasıyla desteklemek gerekir. Böyle bir sürecin bir örneği, daha 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.

özler 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çıklamalı (yorumlar). Her varlık türünün kendi grafik gösterimi vardır. Diyagramlar incelenirken varlıklar ayrıntılı olarak tartışılacaktır.

ilişkiler varlıklar arasında farklı ilişkiler gösterir. UML'de aşağıdaki ilişki türleri tanımlanmıştır:

  • Bağımlılık iki varlık arasındaki böyle bir ilişkiyi gösterir, bunlardan birinde - bağımsız - bir değişiklik diğerinin - bağımlı - anlamını etkileyebilir. Bir bağımlılık, bağımlı varlıktan bağımsız varlığa işaret eden noktalı bir okla temsil edilir.
  • Dernek bir varlığın nesnelerinin diğerinin nesneleriyle ilişkili olduğunu gösteren yapısal bir ilişkidir. Grafiksel olarak bir ilişkilendirme, ilgili varlıkları birbirine bağlayan bir çizgi 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 ürünleri bulmak veya diğer yandan bu ürünü içeren tüm siparişleri bulmak için kullanılabilir. Karşılık gelen programların bu tür navigasyonu sağlayan bir mekanizma uygulaması gerektiği açıktır. Yalnızca bir yönde navigasyon gerekliyse, ilişkilendirmenin sonunda bir okla belirtilir. Özel bir ilişki durumu, toplamadır - "bütün" - "parça" biçimindeki bir ilişki. Grafiksel olarak, varlık-bütününün yanında, sonunda bir eşkenar dörtgen ile vurgulanır.
  • genelleme bir ana 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ın ö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ı öğelerine ve yeni yöntemlere sahip olabilir. UML, bir varlık birden fazla ana varlıkla ilişkili olduğunda, 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:

  • Sistemin davranışını açıklayan diyagramlar:
    • Durum 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şturmanıza izin veren başka paketleri içerebilir. UML ayrı paket diyagramları sağlamaz, ancak diğer diyagramlarda görünebilirler. Paket, sekmeli bir dikdörtgen olarak görüntülenir.

UML'nin sağladığı şey.

  • paketleri vurgulayarak karmaşık bir sistemin hiyerarşik 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ın seçimi ve sınıf diyagramları şeklinde kavramsal bir veri modelinin oluşturulması;
  • tanımlayan sınıfların seçimi Kullanıcı arayüzü ve bir ekran gezinme şeması oluşturma;
  • sistem işlevlerinin performansında nesnelerin etkileşim süreçlerinin tanımı;
  • 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 tanımı.

Ve son…

UML'nin tüm çekiciliğine rağmen, görsel modelleme araçları olmadan gerçek PS modellemede kullanmak zor olurdu. Bu tür araçlar, diyagramları ekranda hızlı bir şekilde sunmanıza, bunları belgelemenize, çeşitli OO programlama dillerinde program kodlarının boşluklarını 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 eşleşmesini sağlamak için ve önceki sistemlerin işlevselliğini devralan sistemler tasarlarken çok önemli olan programların kaynak kodlarını otomatik olarak analiz ederek PS modelinin belirli projeksiyonlarını geri yükleme. .

Dipnot: Bu dersin konusu UML - Birleşik Modelleme Dilidir. Bir önceki dersimizde UML'nin ne olduğundan, tarihçesinden, amacından, dili kullanma şekillerinden, tanımının yapısından, terminolojisinden ve notasyonundan bahsetmiştik. Bir UML modelinin bir dizi diyagram olduğu not edilmiştir. Bu derste şu soruları ele alacağız: neden birkaç tür diyagrama ihtiyacımız var; diyagram türleri; OOP ve sıra diyagramı

Bu dersin ana materyalinin tartışmasına geçmeden önce, neden herhangi bir diyagram oluşturduğunu konuşalım. Herhangi bir sistemin (yalnızca yazılımın değil) modelinin geliştirilmesi, her zaman oluşturulmasından veya güncellenmesinden önce gelir. Bu, en azından sorunun çözülmekte olduğunu daha net bir şekilde hayal etmek için gereklidir. Düşünceli modeller, hem geliştirme ekibi içindeki etkileşim için hem de müşteri ile karşılıklı anlayış için çok önemlidir. Sonuçta, kodda uygulanmadan önce projenin "mimari olarak tutarlı" olduğundan emin olmanızı sağlar.

Karmaşık sistemlerin modellerini oluşturuyoruz çünkü onları tam olarak tanımlayamayız, "bir bakışta onlara bir göz atın". Bu nedenle, yalnızca gerekli olanları vurgularız. Özel görev sistemin özellikleri ve bu özellikleri gösteren modelini oluşturun. Nesneye yönelik analiz yöntemi, gerçek karmaşık sistemleri en uygun şekilde tanımlamayı mümkün kılar. Ancak sistemler daha karmaşık hale geldikçe, iyi bir simülasyon teknolojisine ihtiyaç duyulmaktadır. Bir önceki derste söylediğimiz gibi, "standart" bir teknoloji olarak birleşik bir sistem kullanılır. modelleme dili(Birleşik Modelleme Dili, UML), sistemlerin belirtimi, görselleştirilmesi, tasarımı ve belgelenmesi için bir grafik dildir. UML kullanarak detaylı bir model geliştirebilirsiniz. oluşturulan sistem sadece konseptini değil, aynı zamanda belirli uygulama özelliklerini de yansıtan . UML modeli çerçevesinde sistemle ilgili tüm temsiller diyagram adı verilen özel grafik yapılar şeklinde sabitlenir.

Not. Hepsini değil, sadece bazı grafik türlerini ele alacağız. Örneğin, bileşen diyagramı bu derste ele alınmamıştır, bu yalnızca genel bakış grafik türleri. için grafik türlerinin sayısı belirli model uygulamalar hiçbir şekilde sınırlı değildir. İçin basit uygulamalar istisnasız her türden diyagram oluşturmaya gerek yoktur. Bazıları basitçe eksik olabilir ve bu gerçek bir hata olarak kabul edilmeyecektir. Belirli bir türdeki diyagramların mevcudiyetinin belirli bir projenin özelliklerine bağlı olduğunu anlamak önemlidir. Diğer (burada tartışılmayan) diyagram türleri hakkında bilgiler UML standardında bulunabilir.

Neden Birden Fazla Grafik Türüne İhtiyacınız Var?

Önce terminolojiyi tanımlayalım. Bu dersin önsözünde sistem, model ve diyagram kavramlarını tekrar tekrar kullandık. Yazar, her birimizin bu kavramların anlamını sezgisel olarak anladığımızdan emindir, ancak bunu tamamen açıklığa kavuşturmak için sözlüğe tekrar bakalım ve aşağıdakileri okuyalım:

sistem- ortak bir işleyiş amacı ile birleştirilmiş bir dizi birbirine bağlı kontrollü alt sistem.

Evet, çok bilgilendirici değil. O zaman alt sistem nedir? Durumu netleştirmek için klasiklere dönelim:

sistem Belirli bir amaca ulaşmak için düzenlenen ve muhtemelen farklı bakış açılarından bir dizi model kullanılarak tanımlanan bir dizi alt sistem olarak adlandırılır.

Eh, yapabileceğiniz bir şey yok, bir alt sistemin tanımını aramanız gerekiyor. orada da yazıyor alt sistem bazıları diğer öğelerin davranışını belirleyen bir dizi öğedir. Ian Sommerville kavramı şu şekilde açıklıyor:

alt sistem işleyişi diğer alt sistemlerin hizmetlerine bağlı olmayan bir sistemdir. Yazılım sistemi, bir dizi nispeten bağımsız alt sistem olarak yapılandırılmıştır. Alt sistemler arasındaki etkileşimler de tanımlanır.

Ayrıca çok net değil, ama daha iyi. "İnsan" dilinde konuşan sistem, nispeten kendi kendine yeterli olan bir dizi daha basit varlık olarak temsil edilir. Bu, bir program geliştirme sürecinde nasıl inşa ettiğimizle karşılaştırılabilir. GUI standart "küplerden" - görsel bileşenlerden veya programın metninin, işlevsel bir özelliğe göre birleştirilen alt rutinler içeren modüllere nasıl bölündüğü ve aşağıdaki programlarda yeniden kullanılabilirler.

Sistem kavramını anlayın. Tasarım sürecinde sistem göz önünde bulundurulur. farklı bakış açılarındançeşitli temsilleri diyagramlar şeklinde görünen modeller yardımıyla. Yine, okuyucunun kavramların anlamı hakkında soruları olabilir. modeller ve diyagramlar. Güzel ama çok net olmayan bir tanım düşünüyoruz anlamsal olarak kapalı bir sistem soyutlaması olarak modeller durumu açıklığa kavuşturmak pek mümkün değil, o yüzden "kendi kelimelerimizle" açıklamaya çalışalım.

modeli- bu, bu görev için sistemin yalnızca en önemli özelliklerini gösteren belirli bir (maddi veya değil) nesnedir. Modeller farklıdır - somut ve soyut, yapay ve doğal, dekoratif ve matematiksel...

Birkaç örnek verelim. Hepimizin aşina olduğu, çocukluğumuzda büyük bir tutkuyla oynadığımız plastik oyuncak arabalar, malzeme yapay dekoratif gerçek araba modeli Tabii ki, böyle bir "arabada" motor yok, deposunu benzinle doldurmuyoruz, şanzıman çalışmıyor (ayrıca hiç yok), ancak bir model olarak bu oyuncak işlevlerini tam olarak yerine getiriyor: Çocuğa araba hakkında bir fikir verir, çünkü dört tekerleğin, bir gövdenin, kapıların, pencerelerin, araba kullanma yeteneğinin vb. varlığı karakteristik özelliklerini gösterir.

Tıbbi araştırmalarda, hayvanlar üzerinde yapılan testler genellikle insanlarda ilaçların klinik denemelerinden önce gelir. Bu durumda, hayvan gibi davranır. malzeme doğal insan modelleri.

Yukarıda gösterilen denklem de bir modeldir, ancak bu matematiksel bir modeldir ve maddesel bir noktanın yerçekimi etkisi altındaki hareketini tanımlar.

Sadece bir diyagramın ne olduğunu söylemek için kalır. Diyagram bir dizi öğenin grafiksel bir temsilidir. Genellikle köşeleri (varlıklar) ve kenarları (ilişkileri) olan bir grafik olarak gösterilir. Birçok diyagram örneği vardır. Bu, okul yıllarından hepimizin aşina olduğu bir blok şema ve kullanım kılavuzlarında görebildiğimiz çeşitli ekipmanların kurulum şemaları ve çalıştırarak görebileceğimiz diskteki bir dosya ve dizin ağacıdır. Windows konsolları ağaç komutu ve çok daha fazlası. AT Günlük yaşam diyagramlar bizi her yönden kuşatır, çünkü resim bizim tarafımızdan metinden daha kolay algılanır...

Ancak yazılım tasarımına geri dönelim (ve sadece değil). beri bu sektörde diyagramları kullanarak sistemi farklı bakış açılarından görselleştirebilirsiniz.. Örneğin diyagramlardan biri, kullanıcının sistemle etkileşimini, diğeri - sistemin çalışması sırasında sistemin durumlarındaki değişimi, üçüncüsü - sistemin öğeleri arasındaki etkileşimi vb. Tanımlayabilir. Bir karmaşık sistem bir dizi küçük ve neredeyse bağımsız model - diyagramlar olarak temsil edilebilir ve gösterilmelidir ve bunların hiçbiri sistemi tanımlamak ve sistemin tam bir resmini elde etmek için yeterli değildir, çünkü her biri sistemin işleyişinin belirli bir yönüne odaklanmaktadır. sistem ve farklı bir ifade soyutlama seviyesi. Başka bir deyişle, her model, tasarlanan sistemle ilgili belirli, belirli bir bakış açısına karşılık gelir.

Bir önceki paragrafta model kavramı konusunda çok gevşek olmamıza rağmen, yukarıdaki tanımlar bağlamında şunun anlaşılması gerekir. tek bir diyagram bir model değildir. Diyagramlar sadece modeli görselleştirmenin bir yoludur ve ikisi birbirinden ayrılmalıdır. Bir tek bir dizi diyagram bir sistem modeli oluşturur ve onu en eksiksiz şekilde açıklar, ancak bağlamdan çıkarılmış bir diyagram değildir.

Grafik türleri

UML 1.5 tanımlı on iki tür çizelgeüç gruba ayrılır:

  • dört tür diyagram uygulamanın statik yapısını temsil eder;
  • beşi sistemin davranışsal yönlerini temsil eder;
  • üçü sistem çalışmasının fiziksel yönlerini temsil eder (uygulama şemaları).

UML 2.1'in mevcut sürümü çok fazla değişiklik yapmadı. Diyagramların görünümü biraz değişti (çerçeveler ve diğer görsel iyileştirmeler ortaya çıktı), gösterim biraz iyileşti, bazı diyagramlar yeni isimler aldı.

Ancak tam sayı kanonik diyagramlar bu bizim için kesinlikle önemsizdir, çünkü hepsini değil sadece bazılarını ele alacağız - çünkü belirli bir uygulamanın belirli bir modeli için diyagram türlerinin sayısı kesin olarak sabit değildir. Basit uygulamalar için istisnasız tüm diyagramları oluşturmaya gerek yoktur. Örneğin, yerel bir uygulama için bir dağıtım şeması oluşturmak gerekli değildir. Diyagram listesinin geliştirilmekte olan projenin özelliklerine bağlı olduğunu ve geliştiricinin kendisi tarafından belirlendiğini anlamak önemlidir. Meraklı okuyucu hala tüm UML diyagramları hakkında bilgi edinmek istiyorsa, onu UML standardına yönlendireceğiz (http://www.omg.org/technology/documents/modeling_spec_catalog.htm#UML). Bu kursun amacının kesinlikle UML'nin tüm olanaklarını anlatmak değil, sadece bu dili tanıtmak, bu teknoloji hakkında bir ön fikir vermek olduğunu hatırlayın.

Bu nedenle, aşağıdaki gibi çizelge türlerine kısaca bakacağız:

  • durum şemasını kullan;
  • sınıf diyagramı;
  • nesne diyagramı;
  • dizi diyagramı;
  • etkileşim diyagramı;
  • durum diyagramı;
  • etkinlik şeması;
  • dağıtım şeması.

Sonraki derslerde bu diyagramlardan bazıları hakkında daha ayrıntılı olarak konuşacağız. Şimdilik ayrıntılara odaklanmayacağız, ancak okuyucuya ana diyagram türlerinin amacı hakkında ilk fikir vermek için en azından diyagram türlerini görsel olarak ayırt etmeyi öğretme hedefini belirledik. Öyleyse başlayalım.

Vaka Şemasını Kullan

Herhangi bir (yazılım dahil) sistem, çalışmaları sırasında insanlar tarafından kullanılacağı ve / veya diğer sistemlerle etkileşime gireceği gerçeği dikkate alınarak tasarlanır. Sistemin çalışması sırasında etkileşimde bulunduğu varlıklara denir. aktörler ve her aktör sistemin kesin olarak tanımlanmış, öngörülebilir bir şekilde davranmasını bekler. Bir ektörün daha kesin bir tanımını vermeye çalışalım. Bunu yapmak için UML için harika bir görsel kelime hazinesi kullanıyoruz Zicom Mentor:

Hektor (oyuncu)- bu, emsaller veya varlıklar (sistem, alt sistem veya sınıf) ile etkileşime girerken gerçekleştirilen mantıksal olarak ilişkili roller kümesidir. Bir aktör, varlığın dışında bir şeyi temsil eden bir kişi veya başka bir sistem, alt sistem veya sınıf olabilir.

Grafiksel olarak, vektör ya " küçük adam ", benzer konularçocuklukta çizdiğimiz, ailemizin üyelerini tasvir eden veya karşılık gelen klişe ile sınıf sembolü, resimde gösterildiği gibi. Her iki sunum biçimi de aynı anlama sahiptir ve diyagramlarda kullanılabilir. "Stereotipleştirilmiş" form daha çok sistem aktörlerini temsil etmek için veya aktörün gösterilmesi gereken özelliklere sahip olduğu durumlarda kullanılır (Şekil 2.1).

Dikkatli okuyucu hemen şu soruyu sorabilir: Hector neden oyuncu değil de?? Katılıyoruz, "ektor" kelimesi bir Rus insanının kulağını biraz keser. Bunu söylememizin nedeni basit - ector kelimesinden oluşuyor eylem, yani çeviride eylem. "Ektor" kelimesinin gerçek çevirisi - aktör- çok uzun ve kullanımı rahatsız edici. Bu nedenle, söylemeye devam edeceğiz.


Pirinç. 2.1.

Aynı dikkatli okuyucu, ector tanımında "emsal" kelimesinin parladığını fark edebilir. Bu ne? Şimdi bahsettiğimizi hatırlarsak, bu soru bizi daha da ilgilendirecektir. durum şemasını kullan. Böyle,

Emsal (kullanım durumu)- kullanıcının bakış açısından sistem davranışının belirli bir yönünün açıklaması (Butch).

Tanım oldukça anlaşılır ve kapsamlıdır, ancak aynı tanım kullanılarak daha da geliştirilebilir. Zicom Mentor"öm:

kullanım durumu- aktör tarafından gözlemlenen sonuca yol açan sistem tarafından gerçekleştirilen ardışık olaylar dizisinin (varyantlar dahil) tanımı. Kullanım durumu, aktörler ve sistem arasındaki etkileşimi tanımlayarak bir varlığın davranışını temsil eder. Bir emsal, belirli bir sonucun "nasıl" elde edildiğini değil, sadece "ne" olduğunu gösterir.

Emsaller çok basit bir şekilde belirtilir - içinde adının belirtildiği bir elips şeklinde. Kullanım durumları ve aktörler çizgilerle birbirine bağlıdır. Genellikle satırın bir ucunda pirinç tasvir edilir. 2.3

  • oluşum Genel Gereksinimler tasarlanan sistemin davranışına;
  • sonraki detaylandırma için sistemin kavramsal bir modelinin geliştirilmesi;
  • müşteriler ve sistem kullanıcıları ile etkileşim için belgelerin hazırlanması.
  • UML, yazılım sistemlerinin geliştirilmesinde oluşturulan tüm eserlerin belirtimi, görselleştirilmesi, tasarımı ve belgelenmesi için genel amaçlı bir grafik modelleme dilidir.

    UML hakkında ayrıntılı bilgi veren (hatta bazen çok ayrıntılı) birçok iyi kitap var, hızlı hatırlama için diyagramlar, varlıklar ve aralarındaki ilişkilerle ilgili 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 Eğitimi.

    Editörle başlayalım. Linux altında farklı UML editörleri denedim, en çok UMLet'i sevdim, Java ile yazılmış olmasına rağmen çok hızlı hareket ediyor ve çoğu varlık boşlukları 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.

    durdum UMlet, altına kurun Arch Linux ve ubuntu:

    # Arch Linux yaourt -S umlet altında # Ubuntu sudo apt-get install umlet altında

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

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

    UML, dört ana ilişki türü kullanır:

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

    Dernek- bir varlık bir başkasıyla (veya başkalarıyla) doğrudan ilişkiliyse gerçekleşir - ilişkilendirme yalnızca ikili olmayabilir. Grafik olarak, bir ilişki, ilgili varlıkları birbirine bağlayan çeşitli eklemelerle düz bir çizgi olarak tasvir edilir.

    genelleme biri diğerinin özel (uzmanlaşmış) bir 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 içi doldurulmamış bir ok bulunan bir çizgi olarak gösterilir.

    Uygulamalar- uygulama ilişkisi, bir varlığın diğerinin uygulaması olduğunu gösterir. Grafik olarak, uygulama, uygulayıcı varlıktan uygulanana yönlendirilen, sonunda üçgen içi doldurulmamış bir ok bulunan noktalı bir çizgi olarak tasvir edilir.

    AT 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 eğimli) olan bir çerçeve olmalıdır.

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

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

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

    • Senkronizasyon şeması (etkileşim şeması, etiket zamanlama);
    • Aktivite diyagramı (aktivite diyagramı, etiket aktivite);
    • sıra diyagramı (sıra diyagramı, etiket SD);
    • İletişim şeması (iletişim şeması, etiket iletişim);
    • Otomat diyagramı (durum makine diyagramı, etiket durum makinesi);
    • Etkileşime genel bakış diyagramı, etiket etkileşim);

    Grafikler öne çıkıyor:

    • Vaka diyagramını kullanın (vaka diyagramını kullanın, vaka etiketini kullanın);
    • Paket diyagramı (paket diyagramı, 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 ele aldığımızda, 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 eylemlerin sırasını 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ırda ek olabilir sözleşmeler, isim ve çokluk gibi.

    Uzatma ilişkisi- özellikleri bu örneklerin bir araya getirilme şekline göre belirlenen daha genel bir kullanım durumu ile tek bir kullanım durumunun örneklerinin ilişkisini tanımlar. Bu nedenle, 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 tamamlanabileceğ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ı bazı kullanım durumları A'nın, durum B'yi kullanmak için genelleştirilebileceğini göstermeye hizmet eder. Bu durumda, kullanım durumu A, kullanım durumu B'nin bir uzmanlığı olacaktır. Bu durumda, B'ye A'nın atası veya ebeveyni denir ve kullanım durumu A, V'nin kullanım senaryosu kullanımının soyundan gelmektedir.

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

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

    içerme ilişkisi iki kullanım durumu arasında, bir kullanım durumu için belirli bir davranışın, başka bir kullanım durumunun davranış dizisinde bir bileşen olarak dahil edildiğini gösterir.

    Kullanım durumu A'dan kullanım durumu B'ye kadar bir dahil etme ilişkisi, kullanım durumu A'nın her örneğinin kullanım durumu B için belirtilen işlevsel özellikleri 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 varyantı) noktalı bir çizgi ile temsil edilir.

    sınıf diyagramı

    sınıf diyagramı(sınıf diyagramı) - sistemin statik yapısını tanımlamanın ana yolu.

    Sınıf diyagramı bir ana varlık türü kullanır: sınıflar (sınıfların çok sayıda özel durumu dahil: arayüzler, ilkel türler, ilişki sınıfları, vb.), aralarında aşağıdaki ana ilişki türleri kurulur: bağımlılıklar, ilişkiler, 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. Bir model öğesindeki bir değişikliğin başka bir bağımlı model öğesinde bir değişiklik gerektirebileceği bir durumda bir bağımlılık ilişkisi kullanılır.

    Bir bağımlılık ilişkisi, bir ucunda bir ok bulunan karşılık gelen öğeler arasındaki kesikli bir çizgi ile grafiksel olarak temsil edilir ve ok, bağımlılığın istemci sınıfından bağımsız veya kaynak sınıfa işaret eder.

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

    • "erişim" - istemci sınıfları için kaynak sınıfın genel özniteliklerinin ve işlemlerinin kullanılabilirliğini belirtmeye yarar;
    • "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" - istemci sınıfının, tarihsel nedenlerle kaynak sınıfın iyileştirilmesi olarak hizmet ettiğini belirtir. ek bilgi proje süresince.

    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 sembollere sahip düz bir çizgi ile gösterilir. ek olarak özel karakterler derneğin adı ve derneğin rol sınıflarının adları ve çokluğu kullanılabilir. Bir derneğin adı, atamasının isteğe bağlı bir öğesidir.

    Toplama ilişkisi sınıflardan birinin aşağıdakileri içeren bir varlık olması durumunda, birkaç sınıf arasında gerçekleşir. oluşturan parçalar diğer varlıklar. "Parça-bütün" türündeki sistem ilişkilerini temsil etmek için kullanılır.

    kompozisyon ilişkisi toplama ilişkisinin özel bir durumudur. Bu ilişki, kurucu parçaların bir anlamda bütün içinde olduğu parça-bütün ilişkisinin özel bir biçimini vurgulamaya hizmet eder. 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 yok edilmesiyle, onu oluşturan tüm parçalar da yok olur.

    genelleme bağıntısı daha fazla arasındaki ilişkidir ortak eleman(ebeveyn veya ata) ve daha özel veya özel bir öğe (alt veya torun). 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. Bu, soyundan gelen sınıfın, ata sınıfın tüm özelliklerine ve davranışına sahip olduğunu ve ayrıca ata sınıfında bulunmayan kendi özelliklerine ve davranışlarına sahip olduğunu varsayar.

    otomat şeması

    otomat şeması(durum makine şeması) veya durum diyagramı UML 1'de (durum grafiği diyagramı), davranışı UML'de 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 şeması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 durumlar ve ek tanımlamalar tanımlanır. Otomat, simüle edilmiş 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 içermeyen bir devletin özel bir halidir. ev içi eylem(sözde durumlar). Nesne, zamanın ilk anında varsayılan olarak bu durumdadır. Durum değiştirme sürecinin başladığı grafik alanın durum diyagramını göstermeye yarar.

    Final (son) durum, aynı zamanda herhangi bir dahili eylem (sözde durumlar) içermeyen bir durumun özel bir durumudur. Otomatın tamamlanmasından sonra nesne varsayılan olarak bu durumda olacaktır. son an zaman.

    etkinlik şeması

    Tasarlanan veya analiz edilen bir sistemin davranışını modellerken, yalnızca durumlarını değiştirme sürecini sunmak 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ı), bir algoritmanın eski güzel bir 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). Ayrıca çatal, birleşme, bağlantı, dallanma gibi yapılar da kullanılır. İsim olarak tavsiye edilir basit eylem açıklayıcı kelimelerle bir fiil kullanın.

    sıra diyagramı

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

    Aslında, bir dizi diyagramı, sistemin belirli bir oturumunun protokolünün (veya böyle bir protokolün bir parçasının) bir kaydıdır. Nesne yönelimli programlamada, çalışma zamanındaki en önemli şey, işbirliği yapan nesneler arasında mesajların iletilmesidir. 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 (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):

    İletişim Şeması

    İletişim Şeması(iletişim şeması) - bir dizi şemasına anlamsal olarak eşdeğer davranışı tanımlamanın bir yolu. Aslında, bu, sınıflandırıcıların etkileşimli örneklerinin mesaj alışverişi dizisinin aynı açıklamasıdır, yalnızca diğer grafik araçlarla 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 ilişkilerin yapısı üzerindedir.

    Bileşen Şeması

    Bileşen Şeması(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 ayrıca bileşenler arasındaki ilişkinin gösterildiği arabirimlerdir. Bileşen diyagramında aşağıdaki ilişkiler geçerlidir:

    • bileşenler ve arayüzler arasındaki uygulamalar (bileşen 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, yürütme sırasında bilgi işlem kaynaklarına fiziksel olarak nasıl yerleştirildiklerini gösterir.

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

    nesne diyagramı

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

    Nesne diyagramı, bir ana varlık türü kullanı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 çalışmasında belirli bir anda hangi nesnelerin var 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 bir sınıflandırıcı, en üstte sınıflandırıcının adı ile bir dikdörtgen olarak gösterilir. İçeride parçalar var. Birkaç bölüm olabilir. Parçalar birbirleriyle etkileşime girebilir. Bu, çeşitli türlerdeki konektörlerle gösterilir. Konektörün takıldığı parçanın dış kenarındaki yere port denir. Bağlantı noktaları ayrıca yapısal sınıflandırıcının dış sınırında bulunur.

    Etkileşime Genel Bakış Şeması(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şimlere bağlantılar (etkileşim kullanımı), bir genel bakış etkileşim diyagramının öğeleri olarak işlev görebilir.

    zaman çizelgesi

    zaman çizelgesi(zamanlama diyagramı), çeşitli sınıflandırıcı örneklerinin durumlarındaki değişikliğe ve bunların zaman senkronizasyonuna özel dikkat gösterilen bir dizi diyagramının özel bir şeklidir.

    Paket şeması

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

    Notasyonun ana unsurları, çeşitli stereotiplere sahip paketler ve bağımlılıklardır.

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

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

    Varlık-ilişki modeli (ER-modeli), konu 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ı vurgulayabilir ve bu varlıklar arasında kurulabilecek ilişkileri belirleyebilirsiniz. wikipedia

    Konu alanının herhangi bir parçası, aralarında bazı ilişkilerin olduğu 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ürden (aynı özelliklere sahip) bir varlık kümesi.

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

    Alan adı(etki alanı) - özelliğin değer kümesi (etki alanı).

    Üç 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ğiyle ilişkilendirilir, örneğin, EMPLOYEE - PROJECT;
    • UML'deki temel kavramlar sözlüğü

      nesne- benzersizliği olan ve durumu ve davranışı kapsayan bir varlık.

      sınıf- durumu tanımlayan ortak niteliklere ve davranışı tanımlayan işlemlere sahip bir dizi nesnenin tanımı.

      arayüz- tüketici tarafından talep edilebilecek ve 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 unsuru. 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 yerleştirildiği 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ş varlığın davranışını sonlu sayıda durum ve geçiş içeren ayrı bir uzay olarak temsil etmek için gerekli bir dizi kavramı tanımlayan bir pakettir.

      sınıflandırıcı aynı türden bir dizi nesne için bir tanımlayıcıdır.

      Ekstra okuma

      • Fowler M. UML. Temel Bilgiler, 3. baskı
      • Butch G., Rambo D., Jacobson I. UML dili. Kullanici rehberi