UML İlişkisi nedir?
UML'deki ilişkiler, yapısal, davranışsal veya gruplayıcı şeyler arasındaki bir bağlantıyı temsil etmek için kullanılır. Bir sistemin yürütülmesi sırasında iki veya daha fazla şeyin birbiriyle nasıl ilişkili olabileceğini açıklayan bir bağlantı da denir. UML İlişkisinin Türü İlişkilendirme, Bağımlılık, Genelleme ve Gerçekleştirmedir.
Onları detaylı olarak inceleyelim
- bağlantı
UML modelinin öğelerini birbirine bağlayan bir dizi bağlantıdır. Ayrıca bu ilişkide kaç nesnenin yer aldığını da tanımlar.
- Bağımlılık
Bir bağımlılık ilişkisinde, adından da anlaşılacağı gibi, iki veya daha fazla öğe birbirine bağımlıdır. Bu tür bir ilişkide, belirli bir öğede değişiklik yaparsak, diğer tüm öğelerin de değişiklikten etkilenmesi olasıdır.
- Genelleme
Aynı zamanda ebeveyn-çocuk ilişkisi olarak da adlandırılır. Genel olarak, bir öğe, başka bir genel bileşenin uzmanlaşmasıdır. Onun yerine ikame edilebilir. Çoğunlukla mirası temsil etmek için kullanılır.
- Gerçekleşme
UML'nin gerçekleştirme ilişkisinde, bir varlık kendi başına uygulanmayan bazı sorumlulukları ve bunları uygulayan diğer varlıkları ifade eder. Bu ilişki çoğunlukla arayüzler durumunda bulunur .
Bu UML eğitiminde şunları öğreneceksiniz:
- bağlantı
- Bağımlılık
- Genelleme
- Gerçekleşme
- Kompozisyon
- Toplama
bağlantı
Nesnelerin sistem içindeki başka bir nesneyle bağlanabileceğini veya ilişkilendirilebileceğini temsil eden yapısal bir ilişkidir. İlişkilendirme ilişkisine aşağıdaki kısıtlamalar uygulanabilir.
- {örtük} - Örtük kısıtlamalar, ilişkinin açık olmadığını belirtir; bir konsepte dayalıdır.
- {sıralı} - Sıralı sınırlamalar, bir ilişkilendirmenin bir ucundaki nesne kümesinin belirli bir şekilde olduğunu belirtir.
- {değiştirilebilir} - Değiştirilebilir kısıtlama, sistemdeki çeşitli nesneler arasındaki bağlantının ihtiyaca göre eklenebileceğini, kaldırılabileceğini ve değiştirilebileceğini belirtir.
- {addOnly} - Yeni bağlantıların diğer ucunda bir ilişkilendirme bulunan bir nesneden eklenebileceğini belirtir.
- {frozen} - İki nesne arasına bir bağlantı eklendiğinde, donmuş kısıtlama verilen bağlantıda veya bir bağlantıda etkinken değiştirilemeyeceğini belirtir.
İlişkilendirme özelliklerine sahip bir sınıf da oluşturabiliriz; ilişkilendirme sınıfı olarak adlandırılır.
Dönüşlü ilişki
Dönüşlü ilişki, UML'deki bir ilişki ilişkisinin alt türüdür. Dönüşlü bir ilişkilendirmede, aynı sınıfın örnekleri birbiriyle ilişkilendirilebilir. Bir sınıf örneğinin de bir nesne olduğu söylenir.
Dönüşlü ilişkilendirme, aynı sınıftaki nesneler içinde bir bağlantı veya bağlantı olabileceğini belirtir.
Sınıf meyvesine bir örnek verelim. Meyve sınıfının mango ve elma gibi iki örneği vardır. Dönüşlü ilişki, mango ve elma arasında bir bağın, meyve gibi aynı sınıfın örnekleri oldukları için mevcut olabileceğini belirtir.
Yönlendirilmiş ilişkilendirme
Adından da anlaşılacağı gibi, yönlendirilmiş ilişkilendirme, ilişkilendirme sınıfları içindeki akış yönüyle ilgilidir.
Yönlendirilmiş bir ilişkilendirmede akış yönlendirilir. Bir sınıftan diğerine ilişki yalnızca tek bir yönde akar.
Ok ucu olan düz bir çizgi kullanılarak gösterilir.
Misal:
Bir sunucu ile bir istemci arasında yönlendirilmiş bir ilişki ilişkisi olduğunu söyleyebilirsiniz. Bir sunucu, bir istemcinin isteklerini işleyebilir. Bu akış tek yönlüdür ve yalnızca sunucudan istemciye akar. Dolayısıyla, bir sistemin sunucuları ve istemcileri içinde yönlendirilmiş bir ilişki ilişkisi mevcut olabilir.
Bağımlılık
UML'de bir bağımlılık ilişkisi kullanarak, belirli bir sistem içindeki çeşitli şeylerin birbirine nasıl bağlı olduğu ilişkilendirilebilir. Bağımlılık, UML'de birbirine bağımlı olan çeşitli öğeler arasındaki ilişkiyi tanımlamak için kullanılır.
Stereotipler
- « Bağlama » - Bağlama, kaynağın, sağlanan parametreleri veya değerleri kullanarak şablonu bir hedef konumda başlatabileceğini belirten bir kısıtlamadır.
- «Derive» - Bir kaynak nesnenin konumunun hedef nesneden hesaplanabileceğini gösterir.
- «Arkadaş» - Kaynağın hedef nesnede benzersiz görünürlüğe sahip olduğunu belirtir.
- «İnstanceOf» - Hedef sınıflandırıcı örneğinin kaynak nesne olduğunu belirtir.
- «Örnekleme» - Kaynak nesnenin, bir hedef nesnenin örneklerini oluşturabildiğini belirtir.
- «İyileştirme» - Kaynak nesnenin, hedef nesneden daha istisnai bir soyutlamaya sahip olduğunu belirtir.
- «Kullan» - UML'de paketler oluşturulduğunda kullanılır. Kullanım stereotipi, bir kaynak paketin öğelerinin hedef paket içinde de mevcut olabileceğini açıklar. Kaynak paketin bir hedef paketin bazı öğelerini kullandığını açıklar.
- «Yedek» - müşterinin çalışma zamanında tedarikçinin yerine geçebileceğini belirtir.
- «Erişim» - Kaynak paketin , özel birleştirme olarak da adlandırılan hedef paketin öğelerine eriştiğini belirtir .
- «İçe aktarma» - Hedefin, genel birleştirme olarak da adlandırılan hedef içinde tanımlandığı gibi bir kaynak paketin öğesini içe aktarabileceğini belirtir .
- «İzin» - tedarikçinin beyan edilen görünürlüğü ne olursa olsun kaynak öğenin tedarikçi öğesine erişimi olduğunu belirtir.
- «Genişletme» - Hedefin kaynak öğenin davranışını genişletebileceğini belirlemenize yardımcı olur.
- « Dahil et » - Belirli bir konumda başka bir öğenin davranışına dahil edilebilecek kaynak öğeyi belirlemenizi sağlar. (c / c ++ 'daki bir işlev çağrısıyla aynı)
- «Ol» - Hedefin farklı değer ve rollere sahip kaynağa benzer olduğunu belirtir.
- «Çağrı» - Kaynağın bir hedef nesne yöntemini çağırabileceğini belirtir.
- «Kopya» - Hedef nesnenin bağımsız olduğunu, bir kaynak nesnenin kopyası olduğunu belirtir.
- «Parametre» - tedarikçi, müşteri işlemlerinin bir parametresidir .
- «Gönder» - müşteri, tedarikçiye bazı belirtilmemiş hedefler gönderen bir işlemdir.
Durum makinesi arasındaki stereotipler
- «Gönder» - Kaynak işlemin hedef olayı gönderdiğini belirtir.
Genelleme
Genel bir varlık ile sistemin içinde bulunan benzersiz bir varlık arasındaki bir ilişkidir.
Bir genelleme ilişkisinde, kalıtım adı verilen nesne yönelimli kavram uygulanabilir. Varlıklar veya nesneler olarak da adlandırılan iki nesne arasında bir genelleme ilişkisi vardır. Bir genelleme ilişkisinde, bir varlık ebeveyndir ve diğerinin çocuk olduğu söylenir. Bu varlıklar, miras yoluyla temsil edilebilir.
Kalıtımda, herhangi bir ebeveynin alt öğesi, üst nesne içinde belirtilen işlevselliğe erişebilir, bunları güncelleyebilir veya devralabilir. Bir alt nesne, işlevselliğini kendisine ekleyebileceği gibi, bir üst nesnenin yapısını ve davranışını da miras alabilir.
Toplu olarak genelleme ilişkisi olarak bilinen bu tür bir ilişki.
Stereotipler ve kısıtlamaları
- «Uygulama» - Bu stereotip, alt varlığın, bir üst nesnenin yapısını ve davranışını kuralları ihlal etmeden miras alarak üst varlık tarafından uygulandığını temsil etmek için kullanılır. Not Bu klişe, tek bir kalıtımda yaygın olarak kullanılıyorsa .
Genelleme ilişkisi, tüm alt varlıkların ilişkiye dahil edilip edilmediğini kontrol etmek için tam, eksik gibi kısıtlamalar içerir.
Gerçekleşme
UML'nin gerçekleştirme ilişkisinde, bir varlık kendi başına uygulanmayan bazı sorumlulukları ve bunları uygulayan diğer varlıkları ifade eder. Bu ilişki çoğunlukla arayüzler durumunda bulunur .
Gerçekleşme iki şekilde temsil edilebilir:
- Kanonik bir form kullanma
- Sınırlı bir form kullanma
Yukarıdaki diyagramda, hesap iş kuralları IRuleAgent arayüzünü gerçekleştirir.
Gerçekleşme türleri:
- Kanonik form
UML'nin bir gerçekleştirme ilişkisinde, kanonik form, sistem genelinde arayüzleri gerçekleştirmek için kullanılır. Bir arabirim oluşturmak için bir arabirim klişesi kullanır ve belirli arabirimi gerçekleştirmek için gerçekleştirme ilişkisi kullanılır.
Kanonik bir formda, gerçekleştirme ilişkisi, oldukça büyük bir açık ok ucu ile kesikli yönlendirilmiş çizgi kullanılarak belirtilir.
Yukarıdaki diyagramda, Iruleagent arayüzü, Account Business Rules olarak adlandırılan bir nesne kullanılarak gerçekleştirilir.
- Elided form
UML sınıf diyagramında gerçekleştirme, elided form kullanılarak da gösterilebilir. Seçili bir biçimde, arayüz, lolipop notasyonu olarak da adlandırılan bir daire kullanılarak gösterilir.
Bu arayüz, sistemin içinde bulunan herhangi bir şey kullanılarak gerçekleştirildiğinde, elid bir yapı oluşturur.
Yukarıdaki diyagramda, Iruleagent arayüzü, acctrule.dll tarafından gerçekleştirilen bir elided form kullanılarak belirtilmiştir.
Kompozisyon
Standart bir UML ilişkisi değildir, ancak yine de çeşitli uygulamalarda kullanılmaktadır.
Bileşik toplama, aşağıdaki özelliklerle bir toplama ilişkisi alt türüdür:
- nesneler arasında iki yönlü bir ilişkidir.
- Bu tam / kısmi bir ilişkidir.
- Bir kompozit silinirse, onunla ilişkili tüm diğer parçalar da silinir.
Kompozit toplama, toplam (tam) ucunda dolgulu siyah elmasla süslenmiş ikili bir ilişki olarak tanımlanır.
Bir klasör, içinde n sayıda dosya barındıran bir yapıdır. İçindeki dosyaları saklamak için bir klasör kullanılır. Her klasör herhangi bir sayıda dosyayla ilişkilendirilebilir. Bir bilgisayar sisteminde, her bir dosya, dosya organizasyon sistemi içindeki en az bir klasörün parçasıdır. Aynı dosya başka bir klasörün parçası da olabilir, ancak zorunlu değildir. Klasörden bir dosya her kaldırıldığında, klasör etkilenmeden kalır ve o dosyayla ilgili veriler yok edilir. Klasör üzerinde bir silme işlemi yapılırsa, klasörün içinde bulunan tüm dosyaları da etkiler. Klasör sistemden kaldırıldıktan sonra klasörle ilişkili tüm dosyalar otomatik olarak yok edilir.
UML'deki bu tür bir ilişki, bileşik toplama ilişkisi ile bilinir.
Toplama
Bir toplama, UML'deki bir ilişkilendirme ilişkisinin bir alt türüdür. Toplama ve kompozisyon, UML'deki ilişkilendirme ilişkisinin her ikisidir. Bir toplama ilişkisi, "bir sınıfın bir nesnesi başka bir sınıfın nesnelerine sahip olabilir veya bunlara erişebilir" şeklinde basit bir şekilde tanımlanabilir.
Bir toplama ilişkisinde, bağımlı nesne, kaynak nesne yok edildiğinde bile bir ilişki kapsamında kalır.
Bir araba ve bir tekerlek örneğini ele alalım. Bir arabanın doğru çalışması için bir tekerleğe ihtiyacı vardır, ancak bir tekerleğin her zaman bir arabaya ihtiyacı yoktur. Bisiklet, bisiklet veya diğer araçlarla da kullanılabilir, ancak belirli bir otomobille kullanılamaz. Burada tekerlek nesnesi, araba nesnesi olmadan da anlamlıdır. Bu tür bir ilişki, bir toplama ilişkisi olarak adlandırılır.
Özet
- UML'deki ilişki, bir şeyin sistem içindeki diğer şeylerle ilişki kurmasına izin verir.
- Bir ilişki, bağımlılık, genelleme ve gerçekleştirme ilişkileri UML tarafından tanımlanır.
- Bileşim ilişkisi, bu nesnenin aynı anda yalnızca bir bileşiğin parçası olabileceğini göstermek için de kullanılabilir.
- İlişkilendirme, bir nesnenin başka bir nesneyle ilişkilendirilebileceğini açıklamak için kullanılır.
- Bağımlılık, nesnelerin birbirine bağımlı olabileceğini ifade eder.
- Gerçekleşme, sınıflandırıcılar arasındaki anlamlı bir ilişkidir.
- Genelleme aynı zamanda ebeveyn-çocuk ilişkisi olarak da adlandırılır.