OOAD - UML Analiz Modeli

Birleşik Modelleme Dili (UML), bir yazılım sisteminin planını yazmak için standart bir yol sunan OOAD için bir grafik dilidir. Nesne yönelimli bir sistemin yapıtlarını görselleştirmeye, belirlemeye, inşa etmeye ve belgelemeye yardımcı olur. Karmaşık bir sistemdeki yapıları ve ilişkileri tasvir etmek için kullanılır.

Kısa Tarih

1990'larda, Grady Booch tarafından OOAD tekniği, James Rumbaugh tarafından OMT (Nesne Modelleme Tekniği) ve Ivar Jacobson tarafından OOSE (Nesne Yönelimli Yazılım Mühendisliği) olmak üzere çeşitli tekniklerin bir karışımı olarak geliştirilmiştir. UML, OOAD'ın anlamsal modellerini, sözdizimsel gösterimleri ve diyagramlarını standartlaştırmaya çalıştı.

UML'deki Sistemler ve Modeller

System- Belirli hedeflere ulaşmak için organize edilmiş bir dizi unsur bir sistem oluşturur. Sistemler genellikle alt sistemlere bölünür ve bir dizi modelle açıklanır.

Model - Model, sistemin daha iyi anlaşılması için oluşturulan basitleştirilmiş, eksiksiz ve tutarlı bir sistem soyutlamasıdır.

View - Görünüm, bir sistem modelinin belirli bir perspektiften izdüşümüdür.

UML'nin Kavramsal Modeli

UML'nin Kavramsal Modeli, üç ana unsuru kapsar -

  • Temel yapı taşları
  • Rules
  • Ortak mekanizmalar

Temel Yapı Taşları

UML'nin üç yapı taşı şunlardır:

  • Things
  • Relationships
  • Diagrams

Bir şeyler

UML'de dört tür şey vardır:

  • Structural Things- Bunlar, fiziksel veya kavramsal olabilecek statik öğeleri temsil eden UML modellerinin isimleridir. Yapısal şeyler; sınıf, arayüz, işbirliği, kullanım durumu, aktif sınıf, bileşenler ve düğümlerdir.

  • Behavioral Things- Bunlar, UML modellerinin zaman ve mekândaki dinamik davranışı temsil eden fiilleridir. İki tür davranışsal şey etkileşim ve durum makinesidir.

  • Grouping Things- UML modellerinin organizasyonel kısımlarını oluştururlar. Yalnızca bir tür gruplama olayı vardır, yani paket.

  • Annotational Things - Bunlar, öğeleri tanımlamak için uygulanan yorumları temsil eden UML modellerindeki açıklamalardır.

İlişkiler

İlişkiler, şeyler arasındaki bağlantıdır. UML'de temsil edilebilecek dört tür ilişki şunlardır:

  • Dependency- Bu, iki şey arasındaki anlamsal bir ilişkidir, öyle ki bir şeydeki bir değişiklik diğerinde bir değişiklik getirir. İlki bağımsız şey, ikincisi bağımlı şeydir.

  • Association - Bu, ortak yapıya ve ortak davranışa sahip bir grup bağlantıyı temsil eden yapısal bir ilişkidir.

  • Generalization - Bu, alt sınıfların yapı ve davranışı süper sınıflardan devraldığı bir genelleme / uzmanlaşma ilişkisini temsil eder.

  • Realization - Bu, iki veya daha fazla sınıflandırıcı arasındaki anlamsal bir ilişkidir, öyle ki bir sınıflandırıcı, diğer sınıflandırıcıların uymayı garantilediği bir sözleşme yapar.

Diyagramlar

Diyagram, bir sistemin grafik temsilidir. Genellikle bir grafik biçiminde bir grup unsurdan oluşur. UML toplamda dokuz diyagram içerir, yani -

  • Sınıf diyagramı
  • Nesne Diyagramı
  • Kullanım Şeması
  • Sıra Diyagramı
  • İşbirliği Şeması
  • Durum Grafik Diyagramı
  • Etkinlik şeması
  • Bileşen Şeması
  • Dağıtım Şeması

Kurallar

UML, modellerin anlamsal olarak kendi kendine tutarlı olması ve sistemdeki diğer modellerle uyumlu bir şekilde ilişkilendirilmesi için bir dizi kurala sahiptir. UML, aşağıdakiler için anlamsal kurallara sahiptir -

  • Names
  • Scope
  • Visibility
  • Integrity
  • Execution

Ortak Mekanizmalar

UML'nin dört ortak mekanizması vardır -

  • Specifications
  • Adornments
  • Ortak Bölümler
  • Genişletilebilirlik Mekanizmaları

Teknik Özellikler

UML'de, her grafik gösterimin arkasında, sözdizimini ve anlambilimini belirten bir metinsel ifade vardır. Bunlar özelliklerdir. Spesifikasyonlar, bir sistemin tüm parçalarını ve farklı yollar arasındaki ilişkiyi içeren anlamsal bir arka plan sağlar.

Süslemeler

UML'deki her öğenin benzersiz bir grafiksel gösterimi vardır. Ayrıca, bir unsurun isim, kapsam, görünürlük gibi önemli yönlerini temsil eden gösterimler de vardır.

Ortak Bölümler

Nesneye yönelik sistemler birçok şekilde bölünebilir. Bölmenin iki yaygın yolu şunlardır:

  • Division of classes and objects- Sınıf, bir grup benzer nesnenin soyutlamasıdır. Nesne, sistemde fiili varlığa sahip olan somut örnektir.

  • Division of Interface and Implementation- Bir arayüz, etkileşim kurallarını tanımlar. Uygulama, arayüzde tanımlanan kuralların somut olarak gerçekleştirilmesidir.

Genişletilebilirlik Mekanizmaları

UML, açık uçlu bir dildir. Bir sistemin gereksinimlerine uyacak şekilde UML'nin yeteneklerini kontrollü bir şekilde genişletmek mümkündür. Genişletilebilirlik mekanizmaları -

  • Stereotypes - Mevcut olanlardan yeni yapı bloklarının oluşturulabileceği UML'nin kelime dağarcığını genişletir.

  • Tagged Values - UML yapı taşlarının özelliklerini genişletir.

  • Constraints - UML yapı taşlarının anlamlarını genişletir.