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.