22 Kasım 2015 Pazar

Sınıflar Arasında Kullanım İlişkileri

"UML Distilled" kitabında sınıf ilişkilerini gösteren ilk örnek daha önceki bir paylaşımda uyarladığımız "Sipariş" sınıf tanımıyla, onun özelliklerinin türleri arasındaki ilişkileri gösteriyor:


Bu şema parçasında, "Sipariş" adlı sınıfın "Date" (Tarih bilgilerini saklayacak tür) sınıfı araşında bir kullanım ilişkisi olduğunu gösteriyor. "Sipariş" sınıfının "Date" türünden bir özelliği var.

Yeri gelmişken bu tür bir ilişkinin Visual Paradigm ile çizilmesini gösterelim:


Bu kez başlangıç sınıfı kullanan sınıf olacaktır, yani diğer sınıf türünden bir özelliği olan "Sipariş" sınıfı. Bu sınıfı temsil eden kutuyu seçip kuracağınız ilişki türlerinden "Association" seçin.


İlişkinin hedef sınıfı kullanılan türü temsil eden sınıf olacaktır. Bu sınıf için henüz bir kutu koymamışsanız, "New Class" seçenğini kabul edip adı konmamış yeni bir sınıf ekletin.

Yeni sınıf belki düz bir çizgiyle, belki bazı etiketlerle, ve belki de buradaki gibi iki yönlü oklarıyla gözükecektir:


Bu ilişki göstermindeki oklar erişlebilirliği, daha doğrusu kullanım ilişkisinin yönünü göstermek içindir. "Sipariş" sınıfından "Ürün" sınıfa giden ok başına bakarak,  "Sipariş" türünden bir nesnenin "Ürün" türü özelliği veya özellikleri olduğunu anlıyoruz.  Her "Sipariş" sınıfı örneği "Ürün" sınıfından bir veya daha fazla örnek kullanıyor demektir bu. "Ürün" sınıfından "Sipariş" sınıfına giden ok ise "Ürün" örneğinin "Sipariş" türünden bir özelliği olması demektir. Yani "Ürün" türü bir örneğin hangi "Sipariş" örneğine ait olduğunu biliyor demektir. Bu da tabi ki mantıklı değildir.

Belki sizin yarattığınız ilişkide hiç ok başı yoktu. Bunun nedeni Visual Paradigm'ın varsayılan tercihleri nedeniyle kullanım ilişkisinin her özelliğini göstermemesi olabilir. Oklar ya da diğer özellikler var ya da yok, onların ilişki çizgisi üzerinde gösterilmesi için ayarlaı şöyle yaparsınız:

Şemanın kısayol menüsünden "Presentation Options" (Sunum Ayarları) --> "Association Didplsy Options" (İlişki Görünüm Ayarları) --> "Configure Association Presentation Option" (İlişki Sunumu Ayarlarını Belirle) seçeneklerini tercih edin.


Karşınıza gelecek formda şemadaki tüm ilişki gösterimlerinde hangi özelliklerin görüneceğini belirleyebilirsiniz:


Hangi onay kutusunu tıklamışsanız, onun neyin gözükmesini sağlayacağını sağdaki küçük şema örneğinde göreceksiniz.

Yaptığınız tercihler soınrasında bile bir şey gözükmeyebilir; belki de yeni yarattığınız ilişkinin görüntülenecek özellikleri belirlenmemiştir. Bunları belirlemek için de ilişki çizgisi üzerinde kısayol menüsü açın. "Association End To" kısmı ilişkinin hedefi olan kullanılan tür (bu örnekte "Ürün" sınıfı) ile ilgilidir.


Bu form üzerinde "Role;" etiketli kutuya "Ürün" türü nesnelerin "Sipariş" sınıfının hangi özelliğinde gözüktüğünü yazacaksınız. Bunun için "Ürünler" adını seçtik. Sipariş kapsamında birden fazla ürün alınacağına göre ürün çokluğu da (Multiplicity) * ile, birdehn fazla, gösterilecektir.

Hiç yorum yok:

Yorum Gönder