UML sınıf diyagramlarında, Sınır Sınıfları, Kontrol Sınıfları ve Varlık Sınıfları nelerdir?


85

Şimdi IDE seçimim olarak NetBeans kullanıyorum ve UML modellemesi için bir eklentisi var. Sınıf diyagramı olarak, orada olarak bilinen model elemanları Boundary Class, Control Classve Entity Class. Ancak bunların iyi bir tanımını bulamıyorum, ancak bu siteyi UML Sınıf Diyagramlarında buldum .

Yanıtlar:


202

Sağlamlık diyagramları kullanım durumlarından sonra ve sınıf diyagramlarından önce yazılır. Kullanım durumu adımlarının rollerini belirlemeye yardımcı olurlar. Bunları, kullanım senaryolarınızın, oluşturduğunuz sistemin kullanım gereksinimlerini temsil edecek kadar sağlam olmasını sağlamak için kullanabilirsiniz .

İçerirler:

  1. Aktörler
  2. Kullanım Durumları
  3. Varlıklar
  4. Sınırlar
  5. Kontroller

Oysa Model-View-Controller desen kullanıcı arayüzleri için kullanılan ve Taraf Control Sınır Desen (ECB) sistemler için kullanılır. AMB'nin aşağıdaki yönleri, yararlı olması durumunda MVC'nin soyut bir sürümüne benzetilebilir:

UML notasyonu

Varlıklar (model)
Genellikle etki alanı modelinden gelen sistem verilerini temsil eden nesneler.

Sınırlar (ortak çalışanı görüntüle / hizmet ver)
Sistem aktörleriyle arayüz oluşturan nesneler (örneğin, bir kullanıcı veya harici hizmet ). Pencereler, ekranlar ve menüler, kullanıcılarla arayüz oluşturan sınırların örnekleridir.

Kontroller (denetleyici)
Sınırlar ve varlıklar arasında aracılık eden nesneler. Bunlar, çeşitli unsurları ve bunların etkileşimlerini yönetmek için gerekli mantığı uygulayarak, sınır unsurları ile varlık unsurları arasında tutkal görevi görür. Denetleyicileri tasarımınızda nesnelerden başka bir şey olarak uygulamaya karar verebileceğinizi anlamak önemlidir - birçok denetleyici, örneğin bir varlık veya sınır sınıfı yöntemi olarak uygulanacak kadar basittir.

İletişimleri için dört kural geçerlidir:

  1. Oyuncular yalnızca sınır nesneleriyle konuşabilir.
  2. Sınır nesneleri yalnızca denetleyiciler ve aktörlerle konuşabilir.
  3. Varlık nesneleri yalnızca denetleyicilerle konuşabilir.
  4. Denetleyiciler, sınır nesneler ve varlık nesneleriyle ve diğer denetleyicilerle konuşabilir, ancak aktörlerle konuşamaz

İletişime izin verildi:

         Entity    Boundary   Control
Entity     X                     X
Boundary                         X
Control    X          X          X

14
Yorumlara bakılırsa, bu cevap insanların "Varlık Sınır Kontrolü" ile MVC arasındaki farkı anlamalarına yardımcı olmuyor. Bunlardan biri, Sınırın Görüş olmamasıdır; o alan ne olursa olsun, tasarım altındaki alanın dışındaki unsurlarla iletişimi yöneten sistemin bir unsurudur. Örneğin, sisteminizin içindeki bir PayPal REST API cephesi bir sınır öğesi olabilir. Dahası, alt sistemlerinizin kendi sınırları olabilir. Bunu, her zaman herhangi bir perspektiften bir Görünüm olan ve her zaman kullanıcıya dönük olan bir Görünüm ile karşılaştırın.
DavidS

2
Bu cevap aynı şeyi söylemeyi içerir, gerçekten: "Sınır: Sistem aktörleriyle arayüz oluşturan nesneler (örneğin bir kullanıcı veya harici hizmet )". Her neyse, benim açımdan farklı oldukları: ECB, MVC'nin bir "basitleştirmesi" değil.
DavidS

Bir nokta, bu stereotipler UML spesifikasyonunda tanımlanmıyor gibi görünüyor ...
granier

23

Genellikle OOAD ve iş modellemesinin bir parçası olarak / ile birlikte kullanılır. Neil'in tanımı doğrudur, ancak temelde MVC ile aynıdır, ancak sadece iş için soyutlanmıştır. "İyi özet" iyi hazırlanmış, bu yüzden benim işim olmadığı, daha ayrıntılı olduğu için Neil'in madde işaretleriyle aynı hizada olduğu için onu buraya kopyalamayacağım.

İyi özet - Conceito: Varlık-Kontrol-Sınır Modeli

OOAD


3
Ancak MVC yalnızca görünüm katmanı içindir.
Alex78191

2
Cevap bilgi içermeli ve sadece ona bağlantı içermemelidir. Maalesef bağlantı kesildi.
Johan

2
@ ted-johnson Güncellenmiş bir bağlantı için bir şansınız var mı? Teşekkürler!
Narshe

İçeriği olan benzer siteye bağlantı güncellendi.
Ted Johnson

16

Bunlar analizde kullanılan sınıf stereotipleridir.

  • sınır sınıfları, sistemin sınırında bulunanlardır - sizin veya diğer sistemlerin etkileşime girdiği sınıflar

  • varlık sınıfları sınıfları, "kişi" ve "banka hesabı" gibi tipik ticari varlıklardır

  • kontrol sınıfları bazı iş mantığını veya diğerlerini uygular


5

Sınır Kontrolü Varlık modelinin iki versiyonu vardır:
- 127'de açıklanan eski yapısal (bir veri modeli öğeleri olarak varlık, bir işlev olarak kontrol, bir uygulama arayüzü olarak sınır)
- yeni nesne modeli


Bir nesne modeli olarak:
- Sınır, "için bir arayüzdür" diğer dünya "
- Herhangi bir dahili mantıkta kontrol (DDD modelindeki bir hizmet gibi)
- Varlık, nesneler için bir kalıcılık serwisidir (DDD modelindeki bir depo gibi).
Tüm sınıfların işlemleri vardır (bkz. Fowler anemik etki alanı modeli anti-model)
Hepsi MVC modelinde bir Model bileşenidir. Kurallar:
- Yalnızca Sınır "öteki dünya" için hizmet sağlar
- Sınır yalnızca
Kontrol'ü arayabilir - Kontrol herhangi birini arayabilir
- Varlık kimseyi arayamaz (!), Sadece aranabilir.

jz


4

Aslında, Sağlamlık Diyagramları (veya bazen adlandırıldıkları şekliyle Analiz Diyagramları) sadece özelleştirilmiş Sınıf Diyagramlarıdır. UML'nin bir parçasıdırlar ve baştan beri varlar (Jacobson'ın Birleşik Yazılım Geliştirme Süreci adlı kitabına bakın - "Üç Kafadar" kitap serisinin bir parçası). Sözü geçen kitap, 183-185. Sayfalarda bu üç sınıfın iyi bir tanımına sahiptir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.