Örneklerle Açıklanan UML Sınıf Diyagramı İlişkileri
Yayınlanan: 2012-03-01Sınıf diyagramları, nesne yönelimli modellemenin ana yapı taşlarıdır, bu nedenle çeşitli sınıf diyagramı ilişkilerini ve bunların çözümünüzü nasıl etkilediğini anlamanız önemlidir. Bunları aşağıda örneklerle listeledik.
Bağlama dayalı mantıksal ilişkiyi göstererek sınıf diyagramları oluşturmayı basitleştirir.
Sınıf Diyagramı İlişkileri
Sınıflar belirli şekillerde birbirleriyle ilişkilidir. Özellikle, sınıf diyagramlarındaki ilişkiler, farklı mantıksal bağlantı türlerini içerir. Aşağıdakiler, UML'de mümkün olan bu tür mantıksal bağlantılardır:
- Dernek
- Yönetilen Dernek
- refleksif dernek
- çokluk
- Toplama
- Kompozisyon
- Kalıtım/Genelleme
- gerçekleştirme
Dernek
sınıflar arasındaki hemen hemen her türlü mantıksal bağlantıyı veya ilişkiyi kapsayan geniş bir terimdir. Örneğin yolcu ve havayolu yukarıdaki gibi bağlantılı olabilir.
Yönetilen Dernek
ok uçlu bir çizgi ile temsil edilen yönlü bir ilişkiyi ifade eder. Ok başı, kap içeren yönlü bir akışı gösterir.
refleksif dernek
Bu, bir sınıfın birden fazla işlevi veya sorumluluğu olduğunda ortaya çıkar. Örneğin, bir havaalanında çalışan bir personel pilot, havacılık mühendisi, bilet memuru, bekçi veya bakım ekibi üyesi olabilir. Bakım ekibi üyesi havacılık mühendisi tarafından yönetiliyorsa, aynı sınıfın iki örneğinde bir ilişkiyle yönetilen olabilir.
çokluk
bir sınıfın diğerine göre kardinalitesi tasvir edilirken aktif mantıksal ilişkilendirmedir. Örneğin, bir filo birden fazla uçak içerebilirken, bir ticari uçak sıfır ila birçok yolcu içerebilir. Diyagramdaki 0..* gösterimi “sıfırdan çoğa” anlamına gelir.
Toplama
bir sınıfın bir araya getirilmesi veya bir koleksiyon olarak oluşturulması sonucunda belirli bir sınıfın oluşumunu ifade eder. Örneğin, "kütüphane" sınıfı, diğer materyallerin yanı sıra bir veya daha fazla kitaptan oluşur. Toplamada, kapsanan sınıflar, kapsayıcının yaşam döngüsüne büyük ölçüde bağımlı değildir. Aynı örnekte, kitaplık kapatılsa bile kitaplar öyle kalacaktır. Toplama işlemini bir diyagramda göstermek için, üst sınıftan alt sınıfa, üst sınıfın yanında baklava şeklinde bir çizgi çizin.
Toplama işlemini bir diyagramda göstermek için, üst sınıftan alt sınıfa, üst sınıfın yanında baklava şeklinde bir çizgi çizin.
Kompozisyon
Kompozisyon ilişkisi, toplama ilişkisine çok benzer. tek fark, içerilen sınıfın konteyner sınıfının yaşam döngüsüne bağımlılığını vurgulamanın temel amacıdır. Yani, kapsayıcı sınıfı yok edildiğinde kapsanan sınıf silinecektir. Örneğin, omuz çantası yok edildiğinde bir omuz çantasının yan cebi de ortadan kalkacaktır.
Bir UML diyagramında bir bileşim ilişkisini göstermek için, kap sınıfına bitişik doldurulmuş bir elmas şekli ve kapsanan sınıfa yön oku ile iki sınıfı birbirine bağlayan bir yönlü çizgi kullanın.
Kalıtım / Genelleme
üst sınıfın aynı işlevselliklerini üstlenmesi nedeniyle ilişkili bir sınıfın diğerinin çocuğu olduğu bir ilişki tipine atıfta bulunur. Başka bir deyişle, alt sınıf, ana sınıfın belirli bir türüdür. Bir UML diyagramında kalıtımı göstermek için, doldurulmamış bir ok ucu kullanılarak alt sınıftan üst sınıfa düz bir çizgi çizilir.
gerçekleştirme
bir sınıfta tanımlanan işlevselliğin başka bir sınıf tarafından uygulanmasını ifade eder. UML'deki ilişkiyi göstermek için, işlevi uygulayan sınıfın işlevselliğini tanımlayan sınıftan içi doldurulmamış düz bir ok başı olan kesik bir çizgi çizilir. Örnekte, yazıcı kurulum arayüzü kullanılarak ayarlanan yazdırma tercihleri yazıcı tarafından uygulanmaktadır.
Creately kullanarak sınıf diyagramları çizme
Sınıf diyagramı oluşturma araçlarımızı oluştururken ilişkiler üzerinde çok düşündük. Bağlayıcılarımız bağlama göre ayarlanır ve sınıfları bağlarken yalnızca en mantıklı ilişkileri gösterir. Bu, hata yapma şansınızı önemli ölçüde azalttı.
Bir sınıf diyagramı oluşturun >>
Sıfırdan çizim yapmak zahmetli olabilir. Profesyonelce tasarlanmış sınıf diyagramlarımızı kullanmaya hemen başlayabilirsiniz. Sınıf diyagramı örneklerimize göz atın ve sisteminizle yakından ilgili olanı seçin.
Sınıf Diyagramları nelerdir?
Sınıf diyagramları, nesne yönelimli modellemede ana yapı taşıdır. Bir sistemdeki farklı nesneleri, niteliklerini, işlemlerini ve aralarındaki ilişkileri göstermek için kullanılırlar.
Aşağıdaki şekil basit bir sınıf örneğidir:
Örnekte “kredi hesabı” adlı bir sınıf gösterilmektedir. Sınıf diyagramlarındaki sınıflar, üçe bölünmüş kutularla temsil edilir:
- Üst bölüm, sınıfın adını içerir.
- Orta kısım, sınıfın özelliklerini içerir.
- Alt bölüm, sınıfla ilişkili olası işlemleri gösterir.
Örnek, bir sınıfın belirli bir nesnenin tüm ilgili verilerini çok sistematik ve net bir şekilde nasıl kapsülleyebileceğini gösterir. Sınıf diyagramı, yukarıdakine benzer bir sınıflar topluluğudur.
Sınıf diyagramı ilişkileri hakkında başka sorunuz var mı?
Umarım sınıf diyagramları arasındaki çeşitli ilişkileri açıkça anlatabilmişimdir. Düşündüğünüz kadar karmaşık değiller ve biraz pratikle öğrenilebilirler. Ve aracımızı kullanarak, sınıf diyagramları oluşturmakta herhangi bir sorun yaşamamalısınız. Daha fazla sorunuz varsa, yorumlar bölümünde sormaktan çekinmeyin. Ayrıca, daha fazla okumak için Örneklerle UML Diyagramı Türlerine yönelik bu kılavuza bakın.
Referanslar:
1. UML temelleri: Sınıf diyagramı Donald Bell tarafından UML 2'deki yapı diyagramlarına giriş
2. Wikipedia web sitesinde yayınlanan sınıf şeması
3. Developer.com web sitesinde yayınlanan UML Sınıf Şeması Bölüm 1
4. Visual Case Tool'dan Sınıf Diyagramı – Visual Case web sitesinde yayınlanan UML Eğitimi
5. Sybase web sitesinde yayınlanan dernekler