UML dilinin genel özellikleri. Temel UML diyagramları uml diyagramlarında çizgi türleri kullanılır

  • 21.06.2021

UML, 1997 sonbaharında Nesne Yönetim Grubu (OMG) tarafından kabul edilen ve birçok nesne yönelimli CASE ürünü tarafından desteklenen yazılım sistemlerinin görsel modellemesi için standart gösterimdir.

UML standardı, modelleme için aşağıdaki diyagram setini sunar:

· Kullanım durumu diyagramı - bir organizasyonun veya işletmenin iş süreçlerini modellemek ve oluşturulan bilgi sistemi için gereksinimleri belirlemek için;

· Sınıf diyagramı (sınıf diyagramı) - sistemin sınıflarının statik yapısını ve aralarındaki bağlantıları modellemek için;

davranış diyagramları

· Etkileşim diyagramları;

· Sıra diyagramları - tek bir kullanım durumunda nesneler arasında mesaj alışverişi sürecini simüle etmek için;

· İşbirliği diyagramı - bir kullanım durumunda nesneler arasındaki mesaj alışverişi sürecini modellemek için;

· Durum çizelgesi diyagramı - bir durumdan diğerine geçiş sırasında sistem nesnelerinin davranışını modellemek için;

· Aktivite diyagramı - farklı kullanım durumlarında bir sistemin davranışını modellemek veya aktiviteleri modellemek;

Uygulama şemaları:

Bileşen diyagramları - bir bilgi sisteminin bileşenlerinin (alt sistemlerin) hiyerarşisini modellemek için;

· Dağıtım şeması - tasarlanan bilgi sisteminin fiziksel mimarisini modellemek için.

İncirde. 1.1, bu ders projesinde geliştirilmesi gereken temel diyagramlar da dahil olmak üzere, bilgi sisteminin entegre bir modelini sunar.

Pirinç. 1. UML dilinin gösteriminde bir bilgi sisteminin entegre modeli

4.2. Kullanım durumu diyagramı

Kullanım durumu, bazı harici nesneler (aktör) tarafından tetiklenen bir olaya yanıt olarak sistem tarafından gerçekleştirilen eylemler dizisidir. Bir kullanım durumu, bir kullanıcı ile bir sistem arasındaki tipik bir etkileşimi tanımlar. En basit durumda, kullanım durumu, kullanıcı ile belirli bir bilgi sisteminde uygulamak istediği işlevleri tartışarak belirlenir. UML'de bir kullanım durumu şu şekilde gösterilmektedir:

incir. 2. Kullanım durumu

Aktör, kullanıcının sistemle ilgili olarak oynadığı roldür. Aktörler, belirli kişileri veya iş unvanlarını değil, rolleri temsil eder. Kullanım durumu diyagramlarında stilize edilmiş insan figürleri olarak gösterilseler de, aktör, sistemden bazı bilgilere ihtiyaç duyan harici bir bilgi sistemi de olabilir. Aktörleri yalnızca bazı kullanım durumlarına gerçekten ihtiyaç duyduklarında diyagramda gösterin. UML'de aktörler şekiller olarak temsil edilir:



Şekil 3. Oyuncu (oyuncu)

Aktörler üç ana türe ayrılır:

· Kullanıcılar;

· Sistemler;

· Bununla etkileşime giren diğer sistemler;

Sistemdeki herhangi bir olayın başlaması buna bağlıysa, zaman bir aktör haline gelir.

4.2.1. Kullanım Durumları ve Aktörler Arasındaki İlişkiler

UML'de kullanım durumu diyagramları, diyagram öğeleri arasındaki çeşitli ilişki türlerini destekler:

İletişim,

Dahil etme (dahil),

Uzatma (uzatma),

genelleme.

İletişim linki Kullanım durumu ve aktör arasındaki ilişkidir. UML'de iletişim bağlantıları tek yönlü bir ilişki (düz çizgi) kullanılarak gösterilir.

4. İletişim bağlantısı örneği

Dahil etme bağlantısı birden fazla kullanım durumunda tekrarlanan bir sistem davranışının olduğu durumlarda geçerlidir. Bu bağlantılar genellikle yeniden kullanılabilir bir işlevi modellemek için kullanılır.

Uzantı bağlantısı Bir sistemin normal davranışındaki değişiklikleri tanımlamak için kullanılır. Bir kullanım durumunun, gerektiğinde başka bir kullanım durumunun işlevselliğini kullanmasına izin verir.

Şekil 5. Dahil etme ve genişletme bağlantısı örneği

genelleme bağlantısı birkaç aktörün veya sınıfın ortak özelliklere sahip olduğunu gösterir.

Şekil 6. Genelleme bağlantısı örneği

4.3.



Etkileşim diyagramları Etkileşen nesne gruplarının davranışını tanımlar. Tipik olarak, bir etkileşim diyagramı, nesnelerin davranışını yalnızca bir kullanım durumu içinde kapsar. Böyle bir diyagram, bir dizi nesneyi ve birbirleriyle değiş tokuş ettikleri mesajları görüntüler.

İleti Gönderici nesnenin, alıcı nesneden işlemlerinden birini gerçekleştirmesini isteme yöntemidir.

bilgilendirici mesaj Alıcıya durumunu güncellemesi için bazı bilgiler sağlayan bir mesajdır.

İstek mesajı (soru) Alıcı nesne hakkında bazı bilgilerin verilmesini isteyen bir mesajdır.

zorunlu mesaj Alıcıdan bir işlem yapmasını isteyen bir mesajdır.

İki tür etkileşim diyagramı vardır: sıra diyagramları ve işbirliği diyagramları.

4.3.1. Sıra diyagramları

Sıra diyagramı tek bir kullanım durumunda meydana gelen olayların akışını yansıtır.

Belirli bir senaryoda (kullanım durumu) yer alan tüm aktörler (aktörler, sınıflar veya nesneler) diyagramın üst kısmında gösterilir. Oklar, bir aktör ile bir nesne arasında veya gerekli işlevleri gerçekleştirmek için nesneler arasında iletilen mesajlara karşılık gelir.

Bir dizi diyagramında, bir nesne, kesikli dikey bir çizgi aşağı doğru çizilen bir dikdörtgen olarak çizilir. Bu hat denir bir nesnenin yaşam çizgisi ... Etkileşim sürecindeki bir nesnenin yaşam döngüsünün bir parçasıdır.

Her mesaj, iki nesnenin yaşam çizgileri arasında bir ok olarak temsil edilir. Mesajlar, sayfada yukarıdan aşağıya doğru gösterilen sırada görünür. Her mesaj, en azından mesaj adıyla etiketlenir. İsteğe bağlı olarak, argümanlar ve bazı kontrol bilgileri de ekleyebilirsiniz. Kendi kendine yetkilendirmeyi gösterebilirsiniz - mesajın oku aynı yaşam çizgisini gösterecek şekilde bir nesnenin kendisine gönderdiği bir mesaj.

Pirinç. 7. Sıra diyagramı örneği

4.3.2. İşbirliği diyagramı

İşbirliği diyagramları belirli bir senaryoda (kullanım durumu) olayların akışını görüntüleyin. İletiler zamana göre sıralanır, ancak işbirliği diyagramları daha çok nesneler arasındaki ilişkilere odaklanır. Bir işbirliği diyagramı, bir dizi diyagramının içerdiği tüm bilgileri temsil eder, ancak bir işbirliği diyagramı, olayların akışını farklı şekilde tanımlar. Nesneler arasında var olan bağlantıları anlamayı kolaylaştırır.

Bir işbirliği diyagramında, bir dizi diyagramında olduğu gibi, oklar, belirli bir kullanım durumu içinde değiş tokuş edilen mesajları gösterir. Bunların zaman sırası, mesajların numaralandırılmasıyla gösterilir.

Pirinç. 8. İşbirliği diyagramı örneği

4.4. Sınıf diyagramı

4.4.1. Genel bilgi

Sınıf diyagramı Sistemin sınıf türlerini ve bunlar arasında var olan çeşitli statik bağlantı türlerini tanımlar. Sınıf diyagramları ayrıca sınıf niteliklerini, sınıf işlemlerini ve sınıflar arasındaki ilişkilere uygulanan kısıtlamaları gösterir.

UML'deki bir sınıf diyagramı, düğümleri bir projenin statik yapısının (sınıflar, arayüzler) öğeleri olan bir grafiktir ve yaylar, düğümler arasındaki ilişkilerdir (ilişkiler, kalıtım, bağımlılıklar).

Sınıf diyagramı aşağıdaki öğeleri gösterir:

· Paket (paket) - modelin mantıksal olarak birbiriyle ilişkili bir dizi öğesi;

· Sınıf (sınıf) - bir grup benzer nesnenin genel özelliklerinin açıklaması;

· Arayüz, bu arayüzle ilişkilendirilmiş rastgele bir sınıfın nesnesinin diğer nesnelere sağladığı bir dizi işlemi tanımlayan soyut bir sınıftır.

4.4.2. Sınıf

Sınıf benzer özelliklere, yani veri ve davranışa sahip bir grup varlıktır (nesneler). Bir sınıfın bireysel temsilcisine sınıf nesnesi veya basitçe nesne denir.

Bir nesnenin UML'deki davranışı, bir nesnenin dış dünyayla ve nesnenin kendi verileriyle etkileşimi için herhangi bir kural olarak anlaşılır.

Diyagramlarda sınıf, yatay çizgilerle 3 bölüme ayrılmış, düz kenarlı bir dikdörtgen olarak gösterilmektedir:

Üst kısım (isim bölümü) sınıf adını ve diğer genel özellikleri (özellikle stereotipi) içerir.

Orta bölüm, özelliklerin bir listesini içerir

En altta, davranışını (sınıf tarafından gerçekleştirilen eylemler) yansıtan sınıf işlemlerinin bir listesi bulunur.

Niteliklerin ve işlemlerin herhangi bir bölümü görüntülenemeyebilir (hem de aynı anda). Eksik bir bölüm için, bir bölme çizgisi çizmenize ve bir şekilde içindeki öğelerin varlığını veya yokluğunu belirtmenize gerek yoktur.

İstisnalar gibi ek bölümler, belirli bir uygulamanın takdirine bağlı olarak eklenebilir.

Pirinç. 9. Örnek sınıf diyagramı

4.4.2.1.Sınıf stereotipleri

Sınıf stereotipleri, sınıfları kategorize etmek için bir mekanizmadır.

UML'de tanımlanan üç ana sınıf stereotipi vardır:

Sınır

varlık

Kontrol.

4.4.2.2.Sınır Sınıfları

Sınır sınıfları, sistemin ve tüm ortamın sınırında bulunan sınıflardır. Bunlar ekranlar, raporlar, donanımla (yazıcılar veya tarayıcılar gibi) arabirimler ve diğer sistemlerle arabirimlerdir.

Sınır sınıflarını bulmak için kullanım durumu diyagramlarını incelemeniz gerekir. Bir aktör ve bir kullanım durumu arasındaki her etkileşim için en az bir sınır sınıfı olmalıdır. Oyuncunun sistemle etkileşime girmesini sağlayan bu sınıftır.

4.4.2.3.varlık sınıfları

Varlık sınıfları depolanmış bilgileri içerir. Kullanıcı için büyük önem taşırlar ve bu nedenle adlarında konu alanındaki terimleri sıklıkla kullanırlar. Tipik olarak, her varlık sınıfı için veritabanında bir tablo oluşturulur.

4.4.2.4.Kontrol Sınıfları

Kontrol sınıfları, diğer sınıfların eylemlerini koordine etmekten sorumludur. Tipik olarak, her bir kullanım senaryosu, o kullanım senaryosu için olayların sırasını kontrol eden bir kontrol sınıfına sahiptir. Kontrol sınıfı koordinasyondan sorumludur, ancak diğer sınıflar kendisine çok fazla mesaj göndermediğinden herhangi bir işlevsellik taşımaz. Bunun yerine, kendisi birçok mesaj gönderir. Yönetici sınıfı, sorumluluğu diğer sınıflara devreder, bu nedenle genellikle yönetici sınıfı olarak adlandırılır.

Sistemde çoklu kullanım durumlarında ortak olan başka kontrol sınıfları olabilir. Örneğin, güvenlik olaylarını izlemekten sorumlu bir SecurityManager sınıfı olabilir. TransactionManager sınıfı, veritabanı işlemleriyle ilgili mesajları koordine etmekten sorumludur. Kaynak paylaşımı, dağıtılmış veri işleme veya hata işleme gibi sistemin işleyişinin diğer öğeleriyle ilgilenecek başka yöneticiler olabilir.

Yukarıda belirtilen stereotiplere ek olarak, kendinizinkini de oluşturabilirsiniz.

4.4.2.5.Öznitellikler

Nitelik, bir sınıfla ilişkili bir bilgi parçasıdır. Nitelikler, kapsüllenmiş sınıf verilerini depolar.

Nitelikler sınıf içinde yer aldığından diğer sınıflardan gizlenirler. Bu nedenle, hangi sınıfların nitelikleri okumasına ve değiştirmesine izin verildiğini belirtmeniz gerekebilir. Bu özelliğe öznitelik görünürlüğü denir.

Bir öznitelik, bu parametre için dört olası değere sahip olabilir:

Kamu (genel, açık). Bu görünürlük değeri, özniteliğin diğer tüm sınıflar tarafından görülebileceğini varsayar. Herhangi bir sınıf, özniteliğin değerini görüntüleyebilir veya değiştirebilir. UML notasyonunda ortak özelliğin önünde bir "+" işareti bulunur.

Özel (kapalı, gizli). Karşılık gelen öznitelik başka hiçbir sınıf tarafından görülmez. Özel bir öznitelik, UML gösterimine göre "-" ile gösterilir.

Korumalı Böyle bir nitelik yalnızca sınıfın kendisi ve onun soyundan gelenler tarafından kullanılabilir. Korumalı bir özniteliğin UML gösterimi "#" işaretidir.

Paket veya Uygulama Bu özniteliğin genel olduğunu, ancak yalnızca paketinin içinde olduğunu varsayar. Bu görünürlük türü herhangi bir özel simgeyle gösterilmez.

Kapalılık veya güvenlik yardımıyla, bir özniteliğin değerinin sistemin tüm sınıfları tarafından değiştirildiği bir durumdan kaçınmak mümkündür. Bunun yerine, bir özniteliği değiştirme mantığı, özniteliğin kendisiyle aynı sınıfa sarılacaktır. Ayarladığınız görünürlük parametreleri, oluşturulan kodu etkiler.

4.4.2.6.Operasyonlar

İşlemler sınıfla ilgili davranışı uygular. Bir işlemin üç bölümü vardır - ad, parametreler ve dönüş türü.

Parametreler, "giriş" işlemi tarafından alınan argümanlardır. Dönüş türü, işlemin eyleminin sonucunu ifade eder.

Bir sınıf diyagramında, hem işlemlerin adlarını hem de işlemlerin adlarını parametreleri ve dönüş türüyle birlikte gösterebilirsiniz. Diyagramın iş yükünü azaltmak için, bazılarında yalnızca işlemlerin adlarını, bazılarında ise tam imzalarını göstermek yararlıdır.

UML'de işlemler aşağıdaki gösterime sahiptir:

İşlem Adı (argüman: argümanın veri tipi, argüman2: argüman2'nin veri tipi, ...): dönüş tipi

Dikkate alınması gereken dört farklı işlem türü vardır:

Uygulama işlemleri;

Kontrol işlemleri;

Erişim işlemleri;

Yardımcı işlemler.

Uygulama işlemleri

Uygulayıcı operasyonları bazı iş fonksiyonlarını uygular. Bu tür işlemler, etkileşim diyagramları incelenerek bulunabilir. Bu tür diyagramlar iş işlevlerine odaklanır ve diyagramdaki her mesaj büyük olasılıkla bir uygulama işlemiyle ilişkilendirilebilir.

Her uygulama adımı, ilgili gereksinime göre kolayca izlenebilir olmalıdır. Bu, simülasyonun çeşitli aşamalarında elde edilir. Bir etkinlik, bir etkileşim diyagramındaki bir mesajdan türetilir, mesajlar, bir kullanım durumuna dayalı olarak oluşturulan bir olay akışının ayrıntılı bir açıklamasından türetilir ve ikincisi, gereksinimlerden türetilir. Bu zincirin tamamını izleme yeteneği, her gereksinimin kodda uygulanmasını ve her kod parçasının bir gereksinimi gerçekleştirmesini sağlar.

Kontrol işlemleri

Yönetici işlemleri, nesnelerin oluşturulmasını ve yok edilmesini kontrol eder. Sınıf oluşturucular ve yıkıcılar bu kategoriye girer.

Erişim işlemleri

Nitelikler genellikle özel veya korumalıdır. Ancak, diğer sınıfların bazen değerlerini görüntülemesi veya değiştirmesi gerekir. Bunun için erişim işlemleri vardır. Bu yaklaşım, öznitelikleri bir sınıf içinde güvenli bir şekilde kapsüllemeyi mümkün kılar, onları diğer sınıflardan korur, ancak yine de bunlara kontrollü erişime izin verir. Her sınıf özniteliği için Get ve Set işlemleri oluşturmak standart bir uygulamadır.

yardımcı işlemler

Yardımcı işlemler, bir sınıfın sorumluluklarını yerine getirmesi için gerekli olan, ancak diğer sınıfların hakkında hiçbir şey bilmemesi gereken işlemlerdir. Bunlar, sınıfın özel ve korumalı işlemleridir.

İşlemleri tanımlamak için şu adımları izleyin:

1. Sıra diyagramlarını ve ortak diyagramları keşfedin. Bu diyagramlardaki mesajların çoğu uygulama faaliyetleridir. Yansıtıcı mesajlar yardımcı işlemler olacaktır.

2. Kontrol işlemlerini düşünün. Yapıcılar ve yıkıcılar eklemeniz gerekebilir.

3. Erişim işlemlerini düşünün. Diğer sınıfların birlikte çalışması gereken her sınıf özelliği için Get ve Set işlemleri oluşturmanız gerekir.

4.4.2.7.Bağlantılar

İlişki, sınıflar arasındaki anlamsal bir ilişkidir. Bir sınıfın başka bir sınıfın nitelikleri, işlemleri ve ilişkileri hakkında bilgi edinmesini sağlar. Başka bir deyişle, bir sınıfın bir dizi diyagramında veya bir işbirliği diyagramında diğerine mesaj gönderebilmesi için ikisi arasında bir ilişki olmalıdır.

Sınıflar arasında kurulabilecek dört tür ilişki vardır: dernekler, bağımlılıklar, toplamalar ve genellemeler.

iletişim derneği

Dernek, sınıflar arasında anlamsal bir bağlantıdır. Sınıf diyagramında sıradan bir çizgi olarak çizilirler.

Pirinç. 10. İletişim derneği

İlişkilendirmeler, örnekte olduğu gibi çift yönlü veya tek yönlü olabilir. UML'de çift yönlü ilişkiler, oklar olmadan veya her iki tarafta oklarla basit bir çizgi olarak çizilir. Tek yönlü bir ilişkide, yönünü gösteren yalnızca bir ok gösterilir.

İlişkinin yönü, dizi diyagramları ve işbirliği diyagramları incelenerek belirlenebilir. Onlara tüm mesajlar yalnızca bir sınıf tarafından gönderiliyor ve yalnızca başka bir sınıf tarafından alınıyorsa, tersi değil, bu sınıflar arasında tek yönlü bir ilişki oluşur. En az bir mesaj ters yönde gönderilirse, ilişkilendirme çift yönlü olmalıdır.

Dernekler yansıtıcı olabilir. Yansımalı ilişkilendirme, bir sınıfın bir örneğinin aynı sınıfın diğer örnekleriyle etkileşime girdiğini varsayar.

iletişim bağımlılığı

Bağımlılık ilişkileri de sınıflar arasındaki ilişkiyi yansıtır, ancak her zaman tek yönlüdür ve bir sınıfın diğerinde yapılan tanımlara bağlı olduğunu gösterir. Örneğin, A sınıfı, B sınıfının yöntemlerini kullanır. Ardından, B sınıfı değiştiğinde, A sınıfında karşılık gelen değişiklikleri yapmanız gerekir.

Bağımlılık, iki grafik öğesi arasında kesikli bir çizgi ile gösterilir ve bir okun sonuna sabitlenen öğenin, o okun başına sabitlenen öğeye bağlı olduğu kabul edilir.

Pirinç. 11. İletişim bağımlılığı

Bu sınıflar için kod oluştururken bunlara yeni nitelikler eklenmez. Ancak, iletişimi desteklemek için gereken dile özgü ifadeler oluşturulacaktır.

Bağlantı toplama

Toplamalar daha sıkı bir ilişkilendirme biçimidir. Toplama, bir bütün ile onun bir parçası arasındaki bağlantıdır. Örneğin, Araba için bir sınıfınız, ayrıca Motor, Lastikler ve arabanın diğer parçaları için sınıflarınız olabilir. Sonuç olarak, Car sınıfının bir nesnesi Engine sınıfının bir nesnesinden, dört Lastik nesnesinden vb. oluşacaktır. Toplamalar, bir bütün olan bir sınıf için elmaslı bir çizgi olarak görselleştirilir:

Pirinç. 11. İletişim toplama

Basit toplamaya ek olarak, UML, kompozisyon adı verilen daha güçlü bir toplama biçimi sunar. Kompozisyona göre, bir nesne parçası yalnızca tek bir bütüne ait olabilir ve ayrıca, kural olarak, parçaların yaşam döngüsü bütünün döngüsüyle çakışır: onunla yaşar ve ölürler. Bütünün herhangi bir şekilde çıkarılması, parçalarına kadar uzanır.

Bu basamaklı silme, genellikle toplama tanımının bir parçası olarak görülür, ancak rollerin çokluğu 1..1 olduğunda her zaman ima edilir; örneğin, bir Müşterinin silinmesi gerekiyorsa, bu silme işlemi Siparişler için (ve sırayla Sipariş Satırları için) geçerli olmalıdır.

Tüm UML diyagramları, ilki genel diyagramlar olmak üzere kabaca iki gruba ayrılabilir. Genel diyagramlar modelleme konusundan pratik olarak bağımsızdır 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 kurulduğu iki tür temel varlık kullanır: 1. kullanım senaryosu ve 2. aktörler:

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

Kullanım diyagramı, diğerleri gibi, yorumlar içerebilir 7. 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 şeması) - sistemin yapısını tanımlamanın ana yolu.

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ında kullanılan bazı gösterim elemanları aşağıda gösterilmiştir. Bölüm 3'te ayrıntılı bir açıklama 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 - durumlar 1 ve bir tür ilişkiler - 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ı ve veri akışlarını belirlemeye 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ştirmeler, birleşimler, dallar 3 gibi yapılar da kullanılır, ancak bunlar aslında değillerdir, ancak bazı özel çoklu yer ilişkileri durumlarını tasvir etmenin grafiksel bir yolunu temsil ederler. Etkinlik diyagramı öğelerinin anlamı Bölüm 4'te ayrıntılı olarak ele alınmıştır. Aktivite diyagramında kullanılan notasyonun temel unsurları 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 1 (esas olarak sınıflar, bileşenler ve aktörler) örnekleri 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, sadece elemanlar arasındaki grafik ilişkilerin varlığı değil, aynı zamanda elemanların diyagram üzerindeki göreceli konumu da önemlidir. 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 mesajlaşma dizisinin aynı açıklamasıdır, yalnızca 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 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. İşbirliği diyagramındaki öğelerin göreceli konumu önemli değildir - yalnızca mesajların iletildiği bağlantılar (çoğunlukla çağrışım ö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 temel gösterim öğelerini göstermektedir. Bölüm 3'te ayrıntılı bir açıklama 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 şeklinin 6 içine yerleştirilir. Diyagramın ayrıntılı bir açıklaması 3. bölümde verilmiştir.

11.1. Birleşik Modelleme Dilinin Yapısı

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

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

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

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

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

Pirinç. 11.1. UML yapısı

11.2. UML anlambilimi ve sözdizimi

anlambilim - dil birimlerinin anlamını, öncelikle sözcükleri ve tümcelerini inceleyen bir dilbilim bölümü.

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

Bu nedenle, UML'ye uygulandığı gibi, anlambilim ve sözdizimi, doğal ve biçimsel dilleri temel kavramları (model öğeleri) ve bunların uzantısı için mekanizmaları temsil etmek üzere birleştiren bir sunum stili (model oluşturma) tanımlar.

11.3. UML gösterimi

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

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

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

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

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

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

Tablo 11.1. varlıklar

Bir çeşit İsim atama Tanım (anlambilim)
Yapısal
(sınıf)
Ortak bir yapı ve davranışa sahip birçok nesne

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

(aktör)

Mühendis
yol hizmetleri
Sistemle etkileşime giren ve işlevselliğini belirli hedeflere ulaşmak veya belirli sorunları çözmek için kullanan, sistemin dışında kalan bir varlık. Dolayısıyla aktör, harici bir bilgi kaynağı veya alıcısıdır.

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

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

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

(arayüz)

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

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

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

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

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

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

Yukarıdaki varlıkların bazıları, dolaylı olarak, ayrıştırma diyagramlarında ayrıntılı olarak açıklanmaktadır. Üst düzey diyagramda, özel bir simge veya etiketle işaretlenirler.

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

Tablo 11.3. İlişki

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

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

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

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

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

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

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

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

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

Tablo 11.4. Uzatma mekanizmaları

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

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

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

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

Diyagram geliştirilmekte olan bilgi sisteminin bazı yönlerini temsil etmek için notasyon öğelerinin bir grubudur. Diyagramlar genellikle varlıkların köşeler ve ilişkilerin yaylar olduğu bağlantılı bir grafiktir. Aşağıdaki tablo, UML diyagramlarının kısa bir açıklamasını sağlar.

Tablo 11.5. diyagramlar

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

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

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

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

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

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

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

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

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

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

UML 2.x standardı ayrıca ek, son derece özel diyagramlar tanımlar:

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

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

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

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

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

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

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

Tablo 11.6. Modelleri ve Diyagramları Bağlama

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

Yapımlarından sonraki diyagramların bir kısmı, bir sonraki modelin (teknolojik süreç) geliştirilmesi çerçevesinde geliştirme ve iyileştirme gerektirir. Bu nedenle, örneğin, geliştirme sırasında açıklığa kavuşturulmalıdır. Modellerde.

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

10.4. UML ŞEMALARI

10.4.1. UML görsel diyagramlarının türleri

UML, birkaç tür görsel diyagram oluşturmanıza olanak tanır:

Durum diyagramlarını kullanın

Sıra diyagramları;

Kooperatif çizelgeleri;

sınıf diyagramları

Durum diyagramları;

Bileşen diyagramları;

Yerleşim şemaları.

Diyagramlar sistemin çeşitli yönlerini göstermektedir. Örneğin, bir işbirliği diyagramı, sistemin bazı işlevlerini uygulamak için nesnelerin nasıl etkileşime girmesi gerektiğini gösterir. Her diyagramın kendi amacı vardır.

10.4.2. Durum diyagramlarını kullanın

Kullanım durumu diyagramları, bir sistemin işlevlerini temsil eden kullanım durumları ile bu sisteme bilgi alan veya ileten insanları veya sistemleri temsil eden aktörler arasındaki etkileşimleri gösterir. Bir ATM için bir kullanım durumu şeması örneği Şekil 2'de gösterilmektedir. 10.1.

Pirinç. 10.1. Kullanım durumu diyagramı

Diyagram, kullanım durumları ve aktörler arasındaki etkileşimi gösterir. Kullanıcının bakış açısından sistem gereksinimlerini yansıtır. Bu nedenle, kullanım durumları sistem tarafından gerçekleştirilen işlevlerdir ve aktörler, inşa edilen sistemle ilgili paydaşlardır. Diyagramlar, hangi aktörlerin kullanım senaryolarını başlattığını gösterir. Ayrıca, aktörün kullanım örneğinden ne zaman bilgi aldığını da gösterirler. Özünde, bir kullanım durumu diyagramı sistem gereksinimlerini gösterebilir. Örneğimizde, banka müşterisi çeşitli kullanım durumları başlatır: "Hesaptan para çek", "Para aktar", "Hesaba para ekle", "Bakiyeyi göster", "Kimlik numarasını değiştir", "Ödeme yap". Banka memuru, Kimlik Numarasını Değiştir kullanım durumunu başlatabilir. "Ödeme Yap" kullanım örneğinden Kredi Sistemine bir ok vardır. Harici sistemler de aktör olabilir, bu durumda Kredi sistemi tam olarak bir aktör olarak gösterilir - ATM sisteminin dışındadır. Kullanım durumundan aktöre işaret eden bir ok, kullanım durumunun aktöre bazı bilgiler sağladığını gösterir. Bu durumda, "Ödeme Yap" kullanım örneği, Kredi Sistemine bir kredi kartı ödemesi hakkında bilgi sağlar.

Kullanım durumu diyagramlarından sistem hakkında birçok bilgi alınabilir. Bu tür diyagram, sistemin genel işlevselliğini açıklar. Kullanıcılar, proje yöneticileri, analistler, geliştiriciler, QA uzmanları ve bir bütün olarak sistemle ilgilenen herkes, sistemin ne yapması gerektiğini anlamak için kullanım durumu diyagramlarını inceleyebilir.

10.4.3. Sıra diyagramları

Sıra diyagramları, bir kullanım senaryosu içinde meydana gelen olayların akışını gösterir. Örneğin, "Para çekme" kullanım durumu birkaç olası sıra sağlar: para çekme, hesapta yeterli para yoksa para çekmeye çalışma, yanlış kimlik numarasını kullanarak para çekmeye çalışma ve diğerleri. Bir hesaptan 20 ABD doları çekmek için normal bir senaryo (yanlış bir kimlik numarası veya hesapta yetersiz para gibi sorunların olmaması durumunda) Şekil 2'de gösterilmektedir. 10.2.

Şekil 10.2. Müşteri Joe'nun hesabından 20 $ çekmesi için sıra şeması

Diyagramın üst kısmı, Para Çekme kullanım senaryosunu yerine getirmek için sistemin ihtiyaç duyduğu tüm aktörleri ve nesneleri gösterir. Oklar, aktör ve nesne arasında veya gerekli işlevleri yerine getirmek için nesneler arasında iletilen mesajlara karşılık gelir. Ayrıca sıra diyagramının sınıfları değil nesneleri gösterdiğine dikkat edilmelidir. Sınıflar nesne türleridir. Nesneler özeldir; sınıf yerine Müşteri sıra diyagramı belirli bir müşteri Joe'yu temsil eder.

Kullanım durumu, müşteri kartını okuyucuya taktığında başlar - bu nesne, diyagramın üst kısmındaki dikdörtgende gösterilir. Kart numarasını okur, Joe Hesabı nesnesini açar ve ATM ekranını başlatır. Ekran Joe'dan kayıt numarasını ister. Müşteri 1234 numarasını girer. Ekran, Joe'nun Hesabı nesnesindeki numarayı kontrol eder ve doğru olduğunu keşfeder. Ekran daha sonra Joe'ya bir seçim menüsü sunar ve Joe "Parayı Çek" seçeneğini seçer. Ekranda ne kadar para çekmek istediğini soruyor ve Joe 20 doları gösteriyor. Ekran, hesaptan parayı kaldırır. Bunu yaparken, Joe'nun Hesabı nesnesi tarafından gerçekleştirilen bir dizi işlemi başlatır. Aynı zamanda bu hesapta en az 20$ olup olmadığı kontrol edilir ve gerekli tutar hesaptan düşülür. Yazar kasaya daha sonra "bir çek ve nakit olarak 20 dolar vermesi" talimatı verilir. Son olarak, aynı Joe'nun Hesabı nesnesi, kart okuyucuya kartı iade etmesi talimatını verir.

Bu nedenle, bu sıra şeması, Müşteri Joe'nun 20 ABD doları çekmesine ilişkin belirli bir örnek kullanarak Para Çekme kullanım senaryosunun akışını göstermektedir. Kullanıcılar bu şemaya bakarak yaptıkları işin özelliklerine aşina olurlar. Analistler, eylemlerin sırasını (akışını) görür, geliştiriciler, oluşturulacak nesneleri ve işlemlerini görür. Kalite kontrol uzmanları, sürecin ayrıntılarını anlayacak ve bunları doğrulamak için testler tasarlayabilecektir. Bu nedenle, dizi diyagramları projede yer alan herkes için faydalıdır.

10.4.4. Kooperatif çizelgeleri

Kooperatif diyagramları, dizi diyagramlarıyla aynı bilgileri görüntüler. Ancak, bunu farklı bir şekilde ve farklı amaçlar için yaparlar. Şek. 10.2 dizi diyagramı, Şek. 10.3 işbirlikçi bir diyagram olarak.

Daha önce olduğu gibi, nesneler dikdörtgenler ve karakterler şekiller olarak tasvir edilmiştir. Sıra diyagramı, aktörler ve nesneler arasındaki zaman içindeki etkileşimleri gösterirken, işbirlikçi bir diyagramda zamanla hiçbir ilişki yoktur. Böylece kart okuyucunun "Joe hesabı" açma talimatı verdiği ve "Joe hesabı"nın kart okuyucunun kartı sahibine iade etmesine neden olduğu görülmektedir. Doğrudan etkileşen nesneler çizgilerle birbirine bağlanır. Örneğin, bir kart okuyucu doğrudan bir ATM ekranıyla iletişim kuruyorsa, aralarında bir çizgi çizin. Bir çizginin olmaması, nesneler arasında doğrudan bir iletişim olmadığı anlamına gelir.

Pirinç. 10.3. Bir hesaptan para çekme sürecini açıklayan işbirlikçi diyagram

Bu nedenle, bir işbirlikçi diyagram, bir dizi diyagramı ile aynı bilgiyi gösterir, ancak başka amaçlar için gereklidir. Kalite kontrol uzmanları ve sistem mimarları, süreçlerin siteler arasındaki dağılımını anlayabileceklerdir. Diyelim ki, birkaç nesnenin tek bir merkezi nesneyle ilişkilendirildiği bir tür işbirlikçi diyagram bir yıldıza benziyor. Sistem mimarı, sistemin merkezi tesise fazla bağımlı olduğu ve süreçleri daha eşit dağıtmak için yeniden tasarlanması gerektiği sonucuna varabilir. Bir dizi diyagramında, bu tür bir etkileşimi görmek zor olurdu.

10.4.5. sınıf diyagramları

Sınıf diyagramları, bir sistemdeki sınıflar arasındaki etkileşimleri yansıtır. Örneğin, "Can'ın hesabı" bir nesnedir. Böyle bir nesnenin türü genel olarak bir hesap olarak kabul edilebilir, yani "Hesap" bir sınıftır. Sınıflar, bu verileri etkileyen verileri ve davranışları (eylemleri) içerir. Örneğin, Hesap sınıfı, müşterinin kimlik numarasını ve bunu doğrulayan eylemleri içerir. Bir sınıf diyagramında, sıra diyagramlarından veya Kooperatif diyagramlarından her nesne türü için bir sınıf oluşturulur. Para Çekme kullanım durumu için sınıf diyagramı Şekil 1'de gösterilmektedir. 10.4.

Diyagram, Para Çekme kullanım senaryosunu uygulayan sınıflar arasındaki ilişkileri gösterir. Bu sürece dahil olan dört sınıf vardır: Kart Okuyucu, Hesap, ATM (ATM ekranı) ve Bankamatik. Sınıf diyagramındaki her sınıf, üç parçaya bölünmüş bir dikdörtgen olarak tasvir edilmiştir. İlk bölüm sınıfın adını belirtir, ikincisi - onun Öznitellikler. Nitelik, bir sınıfı karakterize eden bazı bilgilerdir. Örneğin, Hesap sınıfının üç özelliği vardır: Hesap Numarası, PIN ve Bakiye. Son kısım, onu yansıtan sınıfın işlemlerini içerir. davranış(sınıf tarafından gerçekleştirilen eylemler). Sınıflar arasındaki bağlantı çizgileri, sınıflar arasındaki etkileşimi gösterir.

Pirinç. 10.4. Sınıf diyagramı

Geliştiriciler, gerçekten sınıflar oluşturmak için sınıf diyagramlarını kullanır. Rose gibi araçlar, programcıların seçtikleri dilde ayrıntılarla doldurdukları sınıflar için bir kod tabanı oluşturur. Bu diyagramlarla analistler sistemin detaylarını gösterebilir ve mimarlar tasarımı anlayabilir. Örneğin, bir sınıf çok fazla işlevsel yük taşıyorsa, bu, sınıf diyagramında görülebilir ve mimar bunu diğer sınıflar arasında yeniden dağıtabilir. Diyagramı, iletişim sınıfları arasında hiçbir ilişkinin tanımlanmadığı durumları belirlemek için de kullanabilirsiniz. Her kullanım durumunda etkileşimli sınıfları göstermek için sınıf diyagramları oluşturulmalıdır. Ayrıca tüm sistemleri veya alt sistemleri kapsayan daha genel diyagramlar oluşturabilirsiniz.

10.4.6. durum diyagramları

Durum diyagramları, bir nesnenin içinde olabileceği çeşitli durumları modellemek için tasarlanmıştır. Sınıf diyagramları sınıfların ve ilişkilerinin statik bir resmini gösterirken, durum diyagramları bir sistemin davranışının dinamiklerini tanımlamak için kullanılır.

Durum diyagramları bir nesnenin davranışını gösterir. Bu nedenle, bir banka hesabının birkaç farklı durumu olabilir. Açılabilir, kapatılabilir veya kredisi aşılabilir. Hesabın davranışı, bulunduğu duruma göre değişir. Bu bilgi durum diyagramında gösterilir. İncirde. 10.5, bir banka hesabı için bir durum diyagramı örneğini gösterir.

Pirinç. 10.5. Hesap sınıfı için durum diyagramı

Bu diyagram, olası hesap durumlarının yanı sıra bir durumdan diğerine hesap geçiş sürecini gösterir. Örneğin, bir müşteri açık bir hesabı kapatmak isterse, hesap "Kapalı" durumuna geçer. Müşterinin ihtiyacı denir Etkinlik, bir halden diğerine geçişi sağlayan olaylardır.

Bir müşteri açık bir hesaptan para çektiğinde, hesap "Fazla kredi" durumuna geçebilir. Bu, grafiğimizdeki [negatif bakiye] koşulunun yansıttığı gibi, yalnızca hesap bakiyesi sıfırdan küçükse gerçekleşir. Köşeli parantez içine alınmış şart Bir durumdan diğerine geçişin ne zaman gerçekleşip gerçekleşmeyebileceğini belirler.

Şemada iki özel durum vardır - ilk ve son.İlk durum siyah bir nokta ile vurgulanır: nesnenin oluşturulduğu andaki durumuna karşılık gelir. Son durum, beyaz bir daire içinde siyah bir nokta ile belirtilir: nesnenin yok edilmeden hemen önceki durumuna karşılık gelir. Bir durum çizelgesinde bir ve yalnızca bir başlangıç ​​durumu olabilir. Aynı zamanda, ihtiyaç duyduğunuz kadar son durum olabilir veya hiç olmayabilir.

Bir nesne belirli bir durumdayken, belirli işlemler yürütülebilir. Örneğimizde, kredi aşıldığında müşteriye ilgili bir mesaj gönderilir. Bir nesne belirli bir durumdayken meydana gelen işlemlere denir. hareketler.

Durum diyagramlarının her sınıf için oluşturulmasına gerek yoktur, sadece çok karmaşık durumlarda uygulanırlar. Bir sınıfın bir nesnesi birkaç durumda var olabilir ve her birinde farklı davranabiliyorsa, muhtemelen böyle bir diyagrama ihtiyacı olacaktır. Ancak, birçok projede hiç kullanılmazlar. Durum diyagramları hala oluşturulmuşsa, geliştiriciler bunları sınıf oluştururken kullanabilir.

Durum diyagramlarına esas olarak dokümantasyon amacıyla ihtiyaç duyulur.

10.4.7. Bileşen diyagramları

Bileşen diyagramları, modelin fiziksel katmanda nasıl göründüğünü gösterir. Sisteminizin yazılım bileşenlerini ve bunlar arasındaki bağlantıları gösterir. Aynı zamanda, iki tür bileşen ayırt edilir: yürütülebilir bileşenler ve kod kitaplıkları.

İncirde. 10.6, bir ATM sistemi için bileşen diyagramlarından birini gösterir. Bu şema, bir ATM sistemi istemcisinin bileşenlerini gösterir. Bu durumda, geliştirme ekibi sistemi C++ dilini kullanarak oluşturmaya karar verdi. Her sınıfın kendi başlık dosyası ve uzantılı dosyası vardır. CPP, böylece her sınıf diyagramda kendi bileşenlerine eşlenir. Vurgulanan koyu bileşen denir paket özellikleri ve ATM sınıfının C++ gövde dosyasına karşılık gelir (.CPP uzantılı dosya). Seçilmemiş bir bileşene paket belirtimi de denir, ancak bu, C ++ sınıfı başlık dosyasına (.H uzantılı dosya) karşılık gelir. ATM bileşeni. exe bir görev için bir belirtimdir ve bilgi işleme akışını temsil eder. Bu durumda, bir iş parçacığı yürütülebilir bir programdır.

Bileşenler, aralarındaki bağımlılıkları gösteren kesikli bir çizgi ile bağlanır. Bir sistem, alt sistem veya yürütülebilir dosya sayısına bağlı olarak birden çok bileşen diyagramına sahip olabilir. Her alt sistem bir bileşen paketidir.

Bileşen diyagramları, sistemin derlenmesinden sorumlu olan proje katılımcıları tarafından kullanılır. Bileşen şeması, bileşenlerin derlenmesi gereken sıranın yanı sıra sistem tarafından hangi yürütülebilir bileşenlerin oluşturulacağı hakkında bir fikir verir. Diyagram, sınıfların uygulanan bileşenlere uygunluğunu gösterir. Bu nedenle, kod üretiminin başladığı yere ihtiyaç vardır.

Pirinç. 10.6. bileşen diyagramı

10.4.8. Yerleşim şemaları

Yerleşim şemaları, bir ağdaki çeşitli sistem bileşenlerinin fiziksel konumlarını gösterir. Örneğimizde, ATM sistemi, ayrı fiziksel aygıtlar veya düğümler üzerinde çalışan çok sayıda alt sistemden oluşmaktadır. ATM sisteminin yerleşim şeması Şekil 2'de gösterilmektedir. 10.7.

Bu şemadan sistemin fiziksel konumu hakkında bilgi edinebilirsiniz. ATM istemci programları, farklı sitelerde birden çok yerde çalışacaktır. Müşteriler, kapalı ağlar aracılığıyla bölgesel ATM sunucusuyla iletişim kuracaktır. ATM sunucu yazılımını çalıştıracaktır. Buna karşılık, yerel ağ aracılığıyla, bölgesel sunucu, Oracle çalıştıran bankacılık veritabanı sunucusuyla etkileşime girecektir. Son olarak, bölgesel ATM sunucusuna bir yazıcı bağlanır.

Yani bu diyagram sistemin fiziksel konumunu gösterir. Örneğin, ATM sistemimiz, birinci katman veritabanını, ikinci katman bölgesel sunucuyu ve üçüncü katman istemciyi içeren üç katmanlı bir mimariyi takip eder.

10.7. Yerleşim şeması

Yerleşim şeması proje yöneticisi, kullanıcılar, sistem mimarı ve operasyon personeli tarafından sistemin fiziksel yerleşimini ve bireysel alt sistemlerinin konumunu belirlemek için kullanılır. Proje yöneticisi, kullanıcılara bitmiş ürünün nasıl görüneceğini açıklayacaktır. İşletme personeli, sistemin kurulum işini planlayabilecektir.

Microsoft Office kitabından yazar Leontiev Vitaly Petrovich

Diyagramlar Tablodaki sayılar sizin için en uygun şekilde sıralanmış olsalar bile her zaman tam bir izlenim vermezler. Microsoft Excel'de bulunan grafik şablonlarını kullanarak, elektronik tablo verilerinizin görsel bir resmini elde edebilirsiniz.

Bilgisayar 100 kitabından. Windows Vista'ya Başlarken yazar Zozulya Yuri

Diyagramlar Diyagramlar, bilgilerin netliğini önemli ölçüde artırabilen, çeşitli parametrelerin oranını veya değişim dinamiklerini gösteren tablo verilerini grafik biçiminde sunmak için kullanılır. Word'de grafikler eklemek için araçları kullanın

Etkili Ofis Çalışması kitabından yazar Ptashinsky Vladimir Sergeevich

Grafikler Excel'in en görsel özelliği, hesaplama sonuçlarının veya birikmiş verilerin grafikler (tablolar) şeklinde sunulmasıdır: bazen en etkileyici sayılar, basit grafikler kullanılarak bile nasıl yapılabileceğine ikna edemez. Excel'in sahip olduğu

Bir Excel çalışma kitabından. multimedya kursu yazar Medinov Oleg

Bölüm 8 Grafikler Excel genellikle çeşitli istatistiksel ve analitik raporları temsil eden belgeler oluşturmak için kullanılır. Bunlar satış raporları, hava sıcaklığı ölçüm tabloları, kamuoyu yoklamalarından alınan veriler vb. olabilir. Rakamlar her zaman aynı değildir.

Word 2007 Popüler öğretici kitabından yazar Krainsky I

Bir diyagram oluşturma İlk örnek için, Şekil 2'de gösterilen tabloyu oluşturmanız gerekecektir. 8.1. Pirinç. 8.1. Sıcaklık Ölçüm Tablosu Bu tablodaki verilere dayanarak basit bir sıcaklık grafiği oluşturacağız. Tablodan doldurulmuş aralığı seçin. git

Bilgisayarda çalışmak için kendi kendine çalışma kılavuzu kitabından yazar Kolisnichenko Denis Nikolaevich

6.6. Grafikler Grafik dosyalarına ek olarak, Word belgelerine grafikler ekleyebilirsiniz. Diyagramların yardımıyla sayısal verileri görselleştirebilir, örneğin verilerin nasıl değiştiğini izleyebilir, dinamikte bir projenin gelişimini görebilirsiniz. Diyagramlar benzer dönüyor

C++ Uygulama Örnekleri ile Nesneye Yönelik Analiz ve Tasarım kitabından yazar Butch Grady

14.9. Çizelgeler Belki de kuru sayıları grafiğe dönüştürerek tablomuzu daha güzel ve bilgilendirici hale getirmenin zamanı gelmiştir? Bunun için diyagramlar kullanılır. İstediğinizi söyleyin, ancak bir grafik tablodan daha iyi algılanır.Bir grafik oluşturmak için hangi değerleri seçmeniz gerekir?

Programlama Teknolojileri kitabından yazar Kamaev VA

5.2. Sınıf Diyagramları Temel: Sınıflar ve Aralarındaki İlişki Bir sınıf diyagramı sınıfları ve onların ilişkilerini gösterir, böylece bir projenin mantıksal yönünü temsil eder. Ayrı bir sınıf diyagramı, sınıf yapısının belirli bir görünümünü sağlar. Analiz aşamasında biz

BPwin 4.0 ile İş Süreçlerini Modelleme kitabından yazar Maklakov Sergey Vladimirovich

5.4. Nesne Diyagramları Temel: Nesneler ve İlişkileri Bir nesne diyagramı, sistemin mantıksal tasarımındaki mevcut nesneleri ve bunların ilişkilerini gösterir. Başka bir deyişle, bir nesne diyagramı, bazı konfigürasyonlardaki olayların akışının bir anlık görüntüsüdür.

OrCAD PSpice kitabından. Elektrik devresi analizi tarafından Keown J.

5.7. Süreç diyagramları. Temel: İşlemciler, Aygıtlar ve Bağlantılar İşlem diyagramları, bir sistemin fiziksel tasarımındaki işlemlerin işlemciler arasındaki dağılımını göstermek için kullanılır. Ayrı süreç diyagramı, süreç yapısının bir görünümünü gösterir

Aptallar için VBA kitabından yazar Cummings Steve

10.4. UML ŞEMALARI 10.4.1. Görsel diyagram türleri UMLUML, çeşitli görsel diyagram türleri oluşturmanıza olanak tanır: durum diyagramlarını kullanın; dizi diyagramları; işbirlikçi çizelgeler; sınıf diyagramları; durum diyagramları; çizelgeler

Macintosh için Eğitim kitabından yazar Skrylina Sophia

1.2.6. Tel kafes diyagramı 1.2.26, tel kafes diyagramı olarak adlandırılan, sınırlayıcı kutular içeren bir ayrıştırma diyagramının tipik bir örneğini göstermektedir. Pirinç. 1.2.26. Tel Çerçeveli Bir Ayrıştırma Şeması Örneği Bir tel kafes, bir başlık (çerçevenin üstü) ve bir alt bilgi (alt) içerir.

Yazarın kitabından

Zamanlama Diyagramları Giriş ve çıkış voltajlarının zamanlama diyagramlarını elde etmek için giriş dosyasını biraz değiştirmeniz gerekir. Önceki örnekte olduğu gibi, sinüzoidal bir giriş voltajı kullanılacaktır: Vi 1 0 sin (0 0,5V 5kHz) Geçici analiz ile birlikte

Yazarın kitabından

Çizelgeler ve grafikler Sonsuz sayı dizisinin ardındaki anlamı yalnızca bir uzman ayırt edebilir, ancak herkes bir histogramı veya pasta grafiği anlayabilir (veya en azından anladığını beyan edebilir). VBA'nın yerleşik grafik araçları yoktur, ancak

Yazarın kitabından

5.1.14. Grafikler Grafikler, bir tablodaki sayısal verilerin grafiksel bir temsilidir. Sayfalar çeşitli grafik türleri sunar: Sütun, Yığılmış Sütun, Çubuk, Yığılmış Çubuk, Çizgi, Alan, Yığılmış Alan

Yazarın kitabından

5.2.8. Grafikler Grafik, seçilen bir aralıktaki verilerin grafiksel bir temsilidir. Bir grafik oluşturmak için aşağıdaki algoritmayı izleyin: 1. Hesaplanan değerler tablosu oluşturun. Gerekli aralığı seçin (bitişik olmayan dikdörtgen biçimlerden oluşabilir)

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 koy 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. İlişkilendirme, 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, özelden (alt sınıftan) genele (üst sınıfa) yönlendirilen, sonunda üçgen, açık 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 boyanmamış bir ok bulunan kesikli bir çizgi olarak tasvir edilmiştir.

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 kullanım durumu, ilgili aktörle etkileşime girdiğinde tasarlanan sistem tarafından gerçekleştirilmesi gereken bir dizi eylemi tanımlar.

Kullanım senaryosu diyagramı iki tür temel varlık kullanır: aralarında aşağıdaki temel ilişki türlerinin kurulduğu kullanım senaryoları 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'nın özelliklerinden dolayı 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 ok (bağımlılık ilişkisi durumu) içeren 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 öğedir.

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 niteliklerine 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, başka bir kullanım durumunun davranış dizisinde bileşik 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. Bir model öğesindeki bazı değişikliklerin başka bir bağımlı model öğesinde 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 kesikli bir çizgi olarak grafiksel olarak gösterilir; 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 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" - 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 çoklukları 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 ayrı hareket edememesi, yani bütünün yıkılmasıyla onu oluşturan tüm parçaların yok edilmesi gerçeğinde yatmaktadır.

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. 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ın sahip olmadığı kendi özelliklerine ve davranışına sahip olduğunu varsayar.

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 ş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 durum ve ek tanımlamalar 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 (final) durum, aynı zamanda herhangi bir iç 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, sadece 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 protokolünün (veya böyle bir protokolün bir parçası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ı.

Dizi 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 (larin.in'den alınan resim):

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) , düğümlerin çalışma zamanında fiziksel olarak bağlı olduğunu gösteren düğümler arasındaki bir ilişki ilişkisinin yanı sıra.

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. İçeride 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.

İhtisas(etki alanı) - bir özelliğ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- belirli 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.

    Durum- 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şe sahip 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 nesne için bir tanımlayıcıdır.

    Ek okuma

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