ScholarGate
Asistan

Yazılım Modelleme ve UML

Yazılım modelleme, bir sistemi yapısını ve davranışını yakalayan soyutlamalar aracılığıyla temsil etmektedir ve Birleşik Modelleme Dili (UML), bu tür modelleri ifade etmek için standart grafiksel gösterimdir.

PaperMind ile konu bulYakındaMakale ve konu bul
Tools & resources
Slaytları indir
Learn & explore
VideoYakında

Tanım

Yazılım modelleme, bir yazılım sistemini analiz etmek, tasarlamak ve iletmek amacıyla soyut temsillerin oluşturulmasıdır ve UML, bu temsiller için birleşik bir diyagram türleri kümesi sağlayan standartlaştırılmış genel amaçlı bir modelleme dilidir.

Kapsam

Bu konu, sınıf, bileşen ve dağıtım diyagramları gibi yapısal modelleri; kullanım durumu, sıra, aktivite ve durum makinesi diyagramları gibi davranışsal modelleri; modellerin analiz, tasarım ve iletişimdeki rolünü; model odaklı mühendisliği ve kod üretimini; ve belirli bir proje için uygun modelleme titizliği seviyesini kapsamaktadır.

Temel sorular

  • Bir sistemin hangi yönleri yapısal modellere karşı davranışsal modellerle yakalanmaktadır?
  • Ana UML diyagram türleri bir tasarımı nasıl temsil etmektedir?
  • Belirli bir proje için ne kadar modelleme titizliği uygundur?
  • Modellerden otomatik kod üretimi ne zaman değerlidir?

Temel kuramlar

Bir sistemin çoklu görünümleri
Bir sistem, tamamlayıcı bakış açılarından — statik yapı, etkileşimler, durum davranışı ve dağıtım — modellenmektedir; her biri uygun diyagram türleriyle yakalanmaktadır, çünkü hiçbir tek görünüm tüm ilgili tasarım bilgilerini iletmemektedir.
Model odaklı mühendislik
Modeller, uygulamaların kısmen veya tamamen dönüşümler aracılığıyla üretildiği birincil geliştirme artefaktları olarak hizmet edebilmektedir, bu da soyutlama seviyesini yükseltmekte ve tasarımı doğrudan koda bağlamaktadır.

Klinik önem

Modeller, tasarım niyetini açıkça ortaya koymakta, kod mevcut olmadan önce analizi desteklemekte ve bir ekip içinde ortak bir dil sağlamaktadır; değerleri, doğru miktarda modelleme kullanılmasına bağlıdır, zira aşırı veya güncel olmayan modeller fayda sağlamadan maliyet getirmektedir.

Kanıt ve kılavuzlar

OMG UML spesifikasyonu, standart gösterimi ve semantiği tanımlamaktadır ve SysML ve MOF gibi ilgili OMG standartları, modellemeyi sistem mühendisliği ve metamodellemeye genişletmektedir.

Tarihçe

UML, 1990'ların ortalarında Booch, OMT ve Objectory yöntemlerinin birleşmesinden ortaya çıkmıştır, 1997'de bir OMG standardı olarak kabul edilmiştir ve UML 2 aracılığıyla evrilmiştir; model odaklı yaklaşımlar ve hafif eskizleme, ne kadar resmi modellemenin faydalı olduğu konusundaki tartışmalarla bir arada bulunmaktadır.

Tartışmalar

Ağır model odaklı geliştirme ile hafif eskizleme karşılaştırması
Modellerin kod üretimini yönlendiren yetkili artefaktlar mı yoksa iletişim için gayri resmi eskizler mi olması gerektiği tartışılmaktadır; program olarak model vizyonu tutarlılık vaat ederken, eskiz odaklı kullanım düşük ek yük ve uyarlanabilirliği değerli bulmaktadır.

Öne çıkan isimler

  • Grady Booch
  • James Rumbaugh
  • Ivar Jacobson
  • Martin Fowler

İlgili konular

Temel eserler

  • booch2005
  • omg2017uml
  • fowler2003

Sıkça sorulan sorular

UML çevik geliştirmede hala geçerli midir?
Evet, ancak genellikle daha hafif bir şekilde kullanılmaktadır. Çevik ekipler, UML diyagramlarını kapsamlı spesifikasyonlar yerine, tasarımı iletmek ve üzerinde düşünmek için gayri resmi eskizler olarak kullanma eğilimindedir, mevcut sorunu açıklığa kavuşturmak için yeterli modellemeyi uygulamaktadırlar.
Modelleme UML gerektirmekte midir?
Hayır. UML en yaygın olarak standartlaştırılmış gösterimdir, ancak modelleme başka gösterimler veya alana özgü diller kullanabilmektedir; temel fikir, yapı ve davranışın soyutlanmasıdır ve UML bunun için iyi desteklenen bir seçenektir.

Bu kavram için yöntemler

İlgili kavramlar