Birleştirilmiş Modelleme Dili - Unified Modeling Language
Unified Modeling Language ( UML ) genel amaçlı, gelişimsel olduğu modelleme dil alanında yazılım mühendisliği bir sistemin tasarımını görselleştirmek için standart bir yol sağlamak üzere tasarlanmıştır.
UML'nin yaratılması, başlangıçta, farklı gösterim sistemlerini ve yazılım tasarımına yaklaşımları standartlaştırma arzusuyla motive edildi. Hiç de geliştirildi Akılcı Software 1996 ile onlara önderlik daha da geliştirilmesi ile, 1994-1995 yılları arasında.
1997 yılında UML, Object Management Group (OMG) tarafından bir standart olarak kabul edildi ve o zamandan beri bu organizasyon tarafından yönetiliyor. 2005 yılında UML, Uluslararası Standardizasyon Örgütü (ISO) tarafından da onaylanmış bir ISO standardı olarak yayınlanmıştır. O zamandan beri standart, UML'nin en son revizyonunu kapsayacak şekilde periyodik olarak revize edilmiştir. Yazılım mühendisliğinde çoğu uygulayıcı UML kullanmaz, bunun yerine resmi olmayan elle çizilmiş diyagramlar üretir; Ancak bu diyagramlar genellikle UML'den öğeler içerir.
Tarih
UML 1.0'dan önce
UML 1990'ların ikinci yarısından beri gelişmektedir ve kökleri 1980'lerin sonunda ve 1990'ların başında geliştirilen nesne yönelimli programlama yöntemlerine dayanmaktadır . Zaman çizelgesi (resme bakın), nesne yönelimli modelleme yöntemleri ve gösterim tarihinin önemli noktalarını gösterir.
Orijinal olarak Booch yöntemi , nesne modelleme tekniği (OMT) ve tek bir dile entegre ettiği nesne yönelimli yazılım mühendisliği (OOSE) notasyonlarına dayanmaktadır .
Rational Software Corporation , 1994 yılında General Electric'ten James Rumbaugh'u işe aldı ve bundan sonra şirket, günün en popüler nesne yönelimli modelleme yaklaşımlarından ikisinin kaynağı oldu: Rumbaugh'un nesne modelleme tekniği (OMT) ve Grady Booch'un yöntemi. Kısa bir süre sonra çabalarında , 1995 yılında Rational'de onlara katılan nesne yönelimli yazılım mühendisliği (OOSE) yönteminin yaratıcısı Ivar Jacobson tarafından desteklendiler .
UML 1.x
Bu üçünün (Rumbaugh, Jacobson ve Booch) teknik liderliği altında, Unified Modeling Language (UML) spesifikasyonunu tamamlamak ve standardizasyon için Object Management Group'a (OMG) önermek için 1996 yılında UML Partners adlı bir konsorsiyum düzenlendi . Ortaklık ayrıca ilgili diğer tarafları da içeriyordu (örneğin, HP , DEC , IBM ve Microsoft ). UML Partners'ın UML 1.0 taslağı, Ocak 1997'de konsorsiyum tarafından OMG'ye önerildi. Aynı ay içinde UML Ortakları , spesifikasyonu tamamlamak ve diğer standardizasyon çabalarıyla bütünleştirmek için, Cris Kobryn başkanlığında ve Ed Eykholt tarafından yönetilen dil yapılarının tam anlamını tanımlamak üzere tasarlanmış bir grup oluşturdu . Bu çalışmanın sonucu olan UML 1.1, Ağustos 1997'de OMG'ye sunulmuş ve Kasım 1997'de OMG tarafından kabul edilmiştir.
İlk sürümden sonra, dili geliştirmek için 1.3, 1.4 ve 1.5 gibi birkaç küçük revizyon yayınlayan bir görev gücü oluşturuldu.
Ürettiği standartlar (ve orijinal standart) belirsiz ve tutarsız olarak kaydedilmiştir.
kardinalite gösterimi
Veritabanı Chen, Bachman ve ISO ER diyagramlarında olduğu gibi , bazı yazarlar ( diğerlerinin yanı sıra Merise , Elmasri & Navathe) roller için aynı tarafı veya "buraya bak"ı tercih etse de , sınıf modelleri "karşıya bakma" kardinalitelerini kullanacak şekilde belirtilir. ve hem minimum hem de maksimum kardinaliteler. Son zamanlardaki araştırmacılar (Feinerer, Dullea ve diğerleri), UML ve ER diyagramları tarafından kullanılan "karşıya bakma" tekniğinin kesinlikle 2'den büyük n- ary ilişkilere uygulandığında daha az etkili ve daha az tutarlı olduğunu göstermiştir.
Feinerer şöyle diyor: "UML ilişkilendirmeleri için kullanılan bakış açısı semantiği altında çalışırsak sorunlar ortaya çıkar. Hartmann bu durumu araştırır ve farklı dönüşümlerin nasıl ve neden başarısız olduğunu gösterir." ve: "İlerideki birkaç sayfada göreceğimiz gibi, karşılıklı bakış yorumlaması, basit mekanizmaların ikili ilişkilerden n -ary ilişkilere genişletilmesini engelleyen çeşitli zorluklar ortaya çıkarır."
UML 2
UML 2.0 ana revizyonu, 2005'te, dilin özelliklerinin kullanımıyla ilgili yeni deneyimi yansıtacak şekilde daha da geliştirmek için genişletilmiş bir konsorsiyum ile geliştirilen sürüm 1.5'in yerini aldı.
UML 2.1 hiçbir zaman resmi bir belirtim olarak yayımlanmamasına rağmen, 2.1.1 ve 2.1.2 sürümleri 2007'de çıktı, ardından UML 2.2 Şubat 2009'da yayınlandı. UML 2.3 resmi olarak Mayıs 2010'da yayımlandı. UML 2.4.1 resmi olarak Ağustos 2011'de yayımlandı. UML 2.5 Ekim 2012'de "Devam ediyor" versiyonu olarak yayınlandı ve resmi olarak Haziran 2015'te yayınlandı. Resmi sürüm 2.5.1 Aralık 2017'de kabul edildi.
UML 2.x belirtiminde dört bölüm vardır:
- Diyagramlar ve bunların model elemanları için gösterimi ve semantiği tanımlayan Üstyapı
- Üstyapının dayandığı çekirdek üst modeli tanımlayan Altyapı
- Nesne Kısıtlama Dil modeli elemanları için kurallar tanımlamak için (OCL)
- UML 2 diyagram düzenlerinin nasıl değiş tokuş edildiğini tanımlayan UML Diyagram Değişimi
UML 2.4.1'e kadar bu standartların en son sürümleri şunlardı:
- UML Üstyapı sürüm 2.4.1
- UML Altyapısı sürüm 2.4.1
- OCL sürüm 2.3.1
- UML Diyagram Değişimi sürüm 1.0.
2.5 sürümünden bu yana, UML Spesifikasyonu basitleştirilmiştir (Üstyapı ve Altyapı olmadan) ve bu standartların en son sürümleri şu anda:
- UML Spesifikasyonu 2.5.1
- OCL sürüm 2.4
Dille ilgili sorunları çözen revizyon görev gücü tarafından güncellenmeye ve geliştirilmeye devam ediyor.
Tasarım
UML, bir sistemin mimari planlarını bir diyagramda görselleştirmenin bir yolunu sunar, bunlara aşağıdakiler gibi unsurlar dahildir:
- herhangi bir faaliyet (iş);
- sistemin bireysel bileşenleri ;
- ve diğer yazılım bileşenleriyle nasıl etkileşime girebilecekleri ;
- sistemin nasıl çalışacağı;
- varlıkların başkalarıyla nasıl etkileşime girdiği (bileşenler ve arayüzler);
- harici kullanıcı arayüzü .
Başlangıçta nesne yönelimli tasarım dokümantasyonu için tasarlanmış olmasına rağmen, UML daha geniş bir tasarım dokümantasyon setine (yukarıda listelendiği gibi) genişletilmiştir ve birçok bağlamda faydalı bulunmuştur.
Yazılım geliştirme yöntemleri
UML kendi başına bir geliştirme yöntemi değildir; ancak, OMT , Booch yöntemi , Objectory ve özellikle Rational Software'de çalışmaya başladığında kullanılması amaçlanan RUP gibi zamanının önde gelen nesne yönelimli yazılım geliştirme yöntemleriyle uyumlu olacak şekilde tasarlanmıştır .
modelleme
UML modeli ile bir sistemin diyagramları seti arasında ayrım yapmak önemlidir. Diyagram, bir sistem modelinin kısmi grafik temsilidir. Diyagram setinin modeli tamamen kapsaması gerekmez ve bir diyagramın silinmesi modeli değiştirmez. Model, model öğelerini ve diyagramlarını (yazılı kullanım durumları gibi) yönlendiren belgeleri de içerebilir.
UML diyagramları, bir sistem modelinin iki farklı görünümünü temsil eder:
- Statik (veya yapısal ) görünüm: nesneleri, nitelikleri, işlemleri ve ilişkileri kullanarak sistemin statik yapısını vurgular. Bu içerir sınıf diyagramları ve kompozit yapı diyagramları .
- Dinamik (veya davranışsal ) görünüm: nesneler arasındaki işbirliğini ve nesnelerin iç durumlarındaki değişiklikleri göstererek sistemin dinamik davranışını vurgular. Bu görünüm sıra diyagramlarını , aktivite diyagramlarını ve durum makinesi diyagramlarını içerir .
UML modelleri , XML Meta Veri Değişimi (XMI) formatı kullanılarak UML araçları arasında değiştirilebilir .
UML'de davranış modelleme için en önemli araçlardan biri, OOSE'nin neden olduğu kullanım durumu modelidir . Kullanım durumları, bir sistemin gerekli kullanımlarını belirtmenin bir yoludur. Tipik olarak, bir sistemin gereksinimlerini, yani bir sistemin yapması gereken şeyi yakalamak için kullanılırlar.
diyagramlar
UML diyagramı türleri |
---|
Yapısal UML diyagramları |
Davranışsal UML diyagramları |
UML 2, iki kategoriye ayrılan birçok diyagram türüne sahiptir. Bazı türler yapısal bilgileri temsil eder ve geri kalanı , etkileşimlerin farklı yönlerini temsil eden birkaçı da dahil olmak üzere genel davranış türlerini temsil eder . Bu diyagramlar, aşağıdaki sınıf diyagramında gösterildiği gibi hiyerarşik olarak kategorize edilebilir:
Bu diyagramların tümü, kullanım, kısıtlama veya amacı açıklayan yorumlar veya notlar içerebilir.
Yapı diyagramları
Yapı diyagramları sistemin statik yönlerini temsil eder. Modellenen sistemde olması gerekenleri vurgular. Yapı diyagramları yapıyı temsil ettiğinden , yazılım sistemlerinin yazılım mimarisini belgelemede yaygın olarak kullanılırlar . Örneğin, bileşen diyagramı , bir yazılım sisteminin bileşenlere nasıl bölündüğünü açıklar ve bu bileşenler arasındaki bağımlılıkları gösterir.
davranış diyagramları
Davranış diyagramları sistemin dinamik yönünü temsil eder. Modellenen sistemde ne olması gerektiğini vurgular. Davranış diyagramları bir sistemin davranışını gösterdiğinden, yazılım sistemlerinin işlevselliğini tanımlamak için yaygın olarak kullanılırlar. Örnek olarak, etkinlik diyagramı , bir sistemdeki bileşenlerin iş ve operasyonel adım adım faaliyetlerini açıklar.
Etkileşim diyagramları
Davranış diyagramlarının bir alt kümesi olan etkileşim diyagramları, modellenen sistemdeki şeyler arasındaki kontrol ve veri akışını vurgular . Örneğin, sıra diyagramı , nesnelerin bir dizi mesajla ilgili olarak birbirleriyle nasıl iletişim kurduğunu gösterir.
metamodelleme
Nesne Yönetim Grubu (OMG), UML'yi tanımlamak için Meta-Nesne Tesisi adı verilen bir meta modelleme mimarisi geliştirdi . MOF, sağdaki resimde gösterildiği gibi dört katmanlı bir mimari olarak tasarlanmıştır. En üstte M3 katmanı adı verilen bir meta-meta modeli sağlar. Bu M3-modeli, Meta-Object Facility tarafından M2-modelleri adı verilen metamodeller oluşturmak için kullanılan dildir.
Layer 2 Meta-Object Facility modelinin en belirgin örneği, UML'nin kendisini tanımlayan UML metamodelidir. Bu M2 modelleri, M1 katmanının öğelerini ve dolayısıyla M1 modellerini tanımlar. Bunlar, örneğin UML ile yazılmış modeller olabilir. Son katman, M0 katmanı veya veri katmanıdır. Sistemin çalışma zamanı örneklerini tanımlamak için kullanılır.
Meta-model, stereotipleme adı verilen bir mekanizma kullanılarak genişletilebilir . Bu, Brian Henderson-Sellers ve Cesar Gonzalez-Perez tarafından "UML 1.x ve 2.0'da Stereotip Mekanizmasının Kullanımları ve Suistimalleri"nde yetersiz / savunulamaz olarak eleştirildi .
Benimseme
UML birçok bağlam için pazarlanmıştır.
Zaman zaman, sorunlara yol açan bir tasarım gümüş mermisi olarak ele alındı . UML kötüye kullanımı, aşırı kullanımı (gereksiz olan, sistemin her parçasını onunla tasarlamak) ve acemilerin onunla tasarım yapabileceğini varsaymayı içerir.
Birçok yapıya sahip büyük bir dil olarak kabul edilir . Bazı insanlar ( Jacobson dahil ), UML'nin boyutunun onu öğrenmeyi (ve dolayısıyla kullanmayı) engellediğini düşünüyor.
Ayrıca bakınız
- UML uygulamaları
- İş Süreci Modeli ve Notasyonu (BPMN)
- C4 modeli
- Model tabanlı test
- Model odaklı mühendislik
- Nesneye Yönelik Rol Analizi ve Modelleme
- Sistem Modelleme Dili (SysML)
- Birleşik Modelleme Dili araçlarının listesi
- DoDAF
- MODAF Meta Modeli
Referanslar
daha fazla okuma
- Ambler, Scott William (2004). Object Primer: UML 2 ile Çevik Modele Dayalı Geliştirme . Cambridge Üniversitesi Yayınları. ISBN'si 0-521-54018-6.
- Chonoles, Michael Jesse; James A. Schardt (2003). Aptallar için UML 2 . Wiley Yayıncılık. ISBN'si 0-7645-2614-6.
- Fowler, Martin (2004). UML Distile: Standart Nesne Modelleme Dili İçin Kısa Bir Kılavuz (3. baskı). Addison-Wesley. ISBN'si 0-321-19368-7.
- Jacobson, Ivar ; Grady Booch; James Rumbaugh (1998). Birleşik Yazılım Geliştirme Süreci . Addison Wesley Longman. ISBN'si 0-201-57169-2.
- Martin, Robert Cecil (2003). Java Programcıları için UML . Prentice Salonu. ISBN'si 0-13-142848-9.
- Noran, Ovidiu S. "İş Modelleme: UML ve IDEF" (PDF) . Erişim tarihi: 28 Aralık 2005 .
- Horst Kargl. "Ek Örneklerle Etkileşimli UML Meta Modeli" .
- Penker, Magnus; Hans-Erik Eriksson (2000). UML ile İş Modelleme . John Wiley ve Oğulları. ISBN'si 0-471-29551-5.
- Douglass, Bruce Powel. "Bruce Douglass: Gerçek Zamanlı Çevik Sistemler ve Yazılım Geliştirme" (web) . 1 Ocak 2019 alındı .
- Douglass, Bruce (2014). Gerçek Zamanlı UML Atölyesi 2. Baskı . Yeniler. ISBN'si 978-0-471-29551-8.
- Douglass, Bruce (2004). Gerçek Zamanlı UML 3. Baskı . Yeniler. ISBN'si 978-0321160768.
- Douglass, Bruce (2002). Gerçek Zamanlı Tasarım Kalıpları . Addison-Wesley Profesyonel. ISBN'si 978-0201699562.
- Douglass, Bruce (2009). Gerçek Zamanlı Çeviklik . Addison-Wesley Profesyonel. ISBN'si 978-0321545497.
- Douglass, Bruce (2010). C'de Gömülü Sistemler için Tasarım Modelleri . Yeniler. ISBN'si 978-1856177078.