Not : UML yazısında diğer diagramlar var.
Class Diagram
Class diagram tasarımın (problem domain) static bir görüntüsünü verir. İşin nasıl yapıldığını anlatmaz sadece sınıfların yapısını belirtir.
Class diagram, diğer UML diagramlarına göre nesneye yönelik tasarıma göbekten bağlıdır. Başka bir iş için bence kullanılamaz. Örneğin Functional Programming için Class Diagram kullanılabileceğini hayal bile edemiyorum.
Diğer UML diagramları - mesela Component Diagram, Deployment Diagram - nesneye yönelik tasarım ile bu kadar yakinen ilişkili değildirler.
Class Alan ve Metodları
Class alan metodları + (public) , # (protected) , - (private) karakterleri ile başlar.
Class StereoType
Sınıflara da ilişkilerde olduğu gibi stereotype verilebilir.
İlişkiler
Class diagramda temel olarak kullanılan 4 çeşit ilişki vardır. Bunlar zayıftan kuvvetliye doğru olarak Dependency, Association, Aggregation ve Composition ilişkileridir. Aşağıdaki şekilde bazı ilişkiler görülebilir.
Not : UML standardında bir sınıfın property ve operation'ları yerine feature kelimesini kullanıyor.
1. Dependency - Bağımlılık
UML'de Class Diagram Connector ile belirtilir.
İki sınıftan birisi diğerini member variable olarak değil, local variable veya parametre olarak kullanıyorsa aralarında bağımlılık vardır denilir. Tüm UML ilişkileri arasında en zayıf olanıdır.
Dependency'lere stereotype verilebilir. <<call>>, <<create>>,<<instantiate>>,<<send>> kullanılabilecek bazı standart stereotype örnekleri. Eğer istersek kendi stereotype'larımızı da yaratabiliriz. Örnekte <<throws>> gösteriliyor.
2. Association - Bağıntı
UML'de Class Diagram Connector ile belirtilir.
İki sınıf birbirini sınıf değişkeni (member variable) olarak kullanıyorsa aralarında association (bağıntı) var denilir. Düz çizgi ile gösterilir. Bağıntının adı ve çokluğu (multiplicity) olabilir.
Örnek'ğe bakarak Class A nesnesini, Class B tipinden bir değişken içerdiğini söyleyebiliriz.
Bu örnekte ise association görülebilir ayrıca multiplicity de eklenmiş.
İlşkinin sahibi varsa küçük bir yuvarlak ile gösterilir.
Class Diagram
Class diagram tasarımın (problem domain) static bir görüntüsünü verir. İşin nasıl yapıldığını anlatmaz sadece sınıfların yapısını belirtir.
Class diagram, diğer UML diagramlarına göre nesneye yönelik tasarıma göbekten bağlıdır. Başka bir iş için bence kullanılamaz. Örneğin Functional Programming için Class Diagram kullanılabileceğini hayal bile edemiyorum.
Diğer UML diagramları - mesela Component Diagram, Deployment Diagram - nesneye yönelik tasarım ile bu kadar yakinen ilişkili değildirler.
Class Alan ve Metodları
Class alan metodları + (public) , # (protected) , - (private) karakterleri ile başlar.
Class StereoType
Sınıflara da ilişkilerde olduğu gibi stereotype verilebilir.
Class diagramda temel olarak kullanılan 4 çeşit ilişki vardır. Bunlar zayıftan kuvvetliye doğru olarak Dependency, Association, Aggregation ve Composition ilişkileridir. Aşağıdaki şekilde bazı ilişkiler görülebilir.
1. Dependency - Bağımlılık
UML'de Class Diagram Connector ile belirtilir.
İki sınıftan birisi diğerini member variable olarak değil, local variable veya parametre olarak kullanıyorsa aralarında bağımlılık vardır denilir. Tüm UML ilişkileri arasında en zayıf olanıdır.
One class depends on another if the independent class is a parameter variable or local variable of a method of the dependent class.
class a {
void foo(){
b object= new b();
object.baar();
}
}
class b {
void baar(){
}
}
Kesikli düz çizgi ile gösterilir.Dependency'lere stereotype verilebilir. <<call>>, <<create>>,<<instantiate>>,<<send>> kullanılabilecek bazı standart stereotype örnekleri. Eğer istersek kendi stereotype'larımızı da yaratabiliriz. Örnekte <<throws>> gösteriliyor.
2. Association - Bağıntı
UML'de Class Diagram Connector ile belirtilir.
İki sınıf birbirini sınıf değişkeni (member variable) olarak kullanıyorsa aralarında association (bağıntı) var denilir. Düz çizgi ile gösterilir. Bağıntının adı ve çokluğu (multiplicity) olabilir.
Basitten biraz daha karmaşığa giden bir kaç örneğe bakalım.An association almost always implies that one object has the other object as a field/property/attribute (terminology differs).
Örnek'ğe bakarak Class A nesnesini, Class B tipinden bir değişken içerdiğini söyleyebiliriz.
Bu örnekte ise association görülebilir ayrıca multiplicity de eklenmiş.
İlşkinin sahibi varsa küçük bir yuvarlak ile gösterilir.
3. Parça Bütün İlişkileri - Aggregation ve Composition
Yani Parent/Child ilişkileri . UML'de Class Diagram Connector ile belirtilirler. Düz çizgi ile gösterilirler. Bir ucu içi boş veya dolu elmas şeklindedir. Çizgiye bir isim (name) verilebilir. Kaynak ve Hedef sınıf arasında nicelik (multiplicity) tanımlanabilir.
Yani Parent/Child ilişkileri . UML'de Class Diagram Connector ile belirtilirler. Düz çizgi ile gösterilirler. Bir ucu içi boş veya dolu elmas şeklindedir. Çizgiye bir isim (name) verilebilir. Kaynak ve Hedef sınıf arasında nicelik (multiplicity) tanımlanabilir.
Aggregation içerme olarak çevrilir. İçerme olduğu için parçalar birbirlerinden ayrılabilirler. Açıklaması şöyle.
İçi boş elmas ile gösterilir. Class B'nin başka sınıflar ile paylaşılabileceği (shared) ima edilir.An aggregation describes a relationship in which one object belongs to another object, but they are still potentially independent. The first object does not control the lifecycle of the second.
3.2 Composition - Not-Shared Association
UML'de Class Diagram Connector ile belirtilir.
Bir arayüzün gerçekleştirilmesi. Kesikli çizgi ve ok ile gösterilir. Örnek:
Generalization - Genelleme
UML'de Class Diagram Connector ile belirtilir.
Sınıflar arası kalıtım. Düz çizgi ve ok ile gösterilir. Örnek:
Hiç yorum yok:
Yorum Gönder