UML Nedir? UML Diyagram Tipleri Nelerdir?

UML, yazılım sistemlerinin yapılarını belirtmek, görselleştirmek, oluşturmak ve belgelemek için kullanılan bir standart dildir.

UML, Object Management Group (Nesne Yönetim Grubu) (OMG) tarafından oluşturuldu ve Ocak 1997’de UML 1.0 taslağı ile duyuruldu ve OMG, o günden günümüze kadar yazılım sistemleri üzerine bir endüstri standardı geliştirmektedir.

  • UML, Birleşik Modelleme Dili (Unified Modeling Language) anlamına gelir.
  • UML, C++, Java, COBOL gibi diğer yaygın programlama dilli değildir. Bir standarttır.
  • UML, yazılım planları yapmak için kullanılan görsel bir dildir.
  • UML, yazılım sistemini görselleştirmek, belirlemek, oluşturmak ve belgelemek için genel amaçlı bir görsel modelleme dili olarak tanımlanabilir.
  • UML genellikle yazılım sistemlerini modellemek için kullanılsa da sadece yazılım alanıyla sınırlı değildir. Ayrıca yazılım dışı sistemleri modellemek için de kullanılır. Örneğin, bir üretim birimindeki süreç akışı gibi.

UML Diyagram’ın Hedefleri

UML geliştirmenin en önemli hedefi, tüm modelleyicilerin kullanabileceği genel amaçlı modelleme dili tanımlamak ve geliştirilecek olan yazılımın anlaşılmasını ve kullanılmasını basit hale getirmektir.

UML diyagramları yalnızca geliştiriciler için değil, aynı zamanda iş kullanıcıları, sıradan insanlar ve sistemi anlamak isteyen herkes için tasarlanmaktadır.

Sonuç olarak, UML’nin amacı, günümüzün karmaşık ortamında olası tüm pratik sistemleri modellemek için basit bir modelleme mekanizması olarak tanımlanabilir.

UML Diyagram – Nesne Yönelimli (Object-Oriented) Kavramlar

UML, nesne yönelimli programlamanın (OOP) analiz ve tasarımın gerçekleştiren yapı olarak tanımlanabilir. UML ile encapsulation, inheritance, abstraction ve polymorphism gibi tüm temel kavramlar temsil edilebilir. Ayrıca sınıflar, üzerinde ki tüm ilişkilendirmeler gösterilebilir.

Kısacası UML, nesne yönelimli analiz ve tasarımda var olan tüm kavramları temsil edebilir bir yapıdadır.

UML Diyagram Tipler

UML modeli arasında ayrım yapmak çok önemlidir. Farklı UML modelleme tipleri için farklı diyagramlar kullanılır. Üç önemli UML modelleme türü vardır.

Yapısal (Structural) Diyagram Tipleri

Yapısal modelleme, bir sistemin statik özelliklerini temsil eder. Sistemin dinamik davranışını tanımlamaz. Class (Sınıf) diyagramı en yaygın kullanılan yapısal diyagramdır.

  • Class diyagram
  • Object diyagram
  • Deployment diyagram
  • Package diyagram
  • Composite structure diyagram
  • Component diyagram

Davranışsal (Behavioral) Diyagram Tipleri

Davranış modeli, sistemdeki etkileşimi tanımlar. Yapısal diyagramlar arasındaki etkileşimi temsil eder. Davranışsal modelleme, sistemin dinamik öğelerini gösterir.

  • Activity diyagram
  • Interaction diyagram
  • Sequence diyagram
  • State diyagram
  • Communication diyagram
  • Interaction overview diyagram
  • Timing diyagram
  • Use case diyagram

Mimari (Architectural) Diyagram Tipleri

Mimari model, sistemin genel çerçevesini temsil eder. Sistemin hem yapısal hem de davranışsal unsurlarını içerir. Mimari model, tüm sistemin planı olarak tanımlanabilir. Paket (Package) diyagramı, mimari modelleme kapsamındadır.

Class Diyagram

Sınıf diyagramı, bir sınıfın özelliklerini ve operasyonlarını ve ayrıca sisteme uygulanan kısıtlamaları açıklar. Sınıf diyagramları, doğrudan nesne yönelimli dillerle eşlenebilen tek UML diyagramı olduklarından, nesne yönelimli sistemlerin modellenmesinde yaygın olarak kullanılmaktadır.

Package Diyagram

Paket diyagramları, sınıf diyagramlarının bir alt kümesidir. Paket diyagramları, paketler arasındaki bağımlılıkları en aza indirmek için bir sistemin öğelerini ilgili gruplar halinde düzenler.

Object Diyagram

Object (Nesne) diyagramları, bir sistemin belirli bir andaki statik yapısını tanımlar. Sınıf diyagramlarının doğruluğunu test etmek için kullanılabilirler.

Composite Structure Diyagram

Composite Structure (Bileşik yapı diyagramları), bir sınıfın iç kısmını gösterir.

Use Case Diyagram

Use Case (Kullanım durumu) diyagramları, aktörleri ve kullanım durumlarını kullanarak bir sistemin işlevselliğini modeller.

Activity Diyagram

Aktivite diyagramları, aktiviteden aktiviteye kontrol akışını modelleyerek bir sistemin dinamik doğasını gösterir. Bir etkinlik, sistemdeki bazı sınıflar üzerinde, sistemin durumunda bir değişiklikle sonuçlanan bir işlemi temsil eder. Tipik olarak, aktivite diyagramları iş akışını veya iş süreçlerini ve dahili operasyonu modellemek için kullanılır.

Sequence Diyagram

Dizi diyagramları, sınıflar arasındaki etkileşimleri zaman içinde mesaj alışverişi açısından tanımlar.

Interaction Overview Diyagram

Etkileşime genel bakış diyagramları, aktivite ve dizi diyagramlarının bir kombinasyonudur. Bir dizi eylemi modellerler ve daha karmaşık etkileşimleri yönetilebilir oluşumlara dönüştürmenize izin verirler.

Timing Diyagram

Zamanlama diyagramı, belirli bir zaman diliminde gerçekleşen süreçlere odaklanan bir tür davranışsal veya etkileşimli UML diyagramıdır.

Communication Diyagram

İletişim diyagramları, sırayla nesneler arasındaki etkileşimleri modeller. Bir sistemin hem statik yapısını hem de dinamik davranışını tanımlarlar.

State Diyagram

Durum diyagramları olarak bilinen durum çizelgesi diyagramları, bir sistemin dış uyaranlara yanıt olarak dinamik davranışını tanımlar.

Component Diyagram

Bileşen diyagramları, kaynak kodu, çalışma zamanı (ikili) kodu ve yürütülebilir dosyalar dahil olmak üzere fiziksel yazılım bileşenlerinin organizasyonunu tanımlar.

Deployment Diyagram

Dağıtım şemaları, düğümler, bileşenler ve bağlantılar dahil olmak üzere bir sistemdeki fiziksel kaynakları gösterir.