UML Diyagramları: Özellikleri, Diyagramı ve Türleri

⚡ Akıllı Özet

UML diyagramları, yazılım sistemlerini modellemek için standartlaştırılmış bir görsel dil sağlar, yardımcı olur.ping Geliştirme ekipleri, nesne yönelimli tasarımları belgelendirir, karmaşık mimari kararlarını net bir şekilde iletir ve uygulama başlamadan önce tüm proje paydaşlarını aynı doğrultuya getirir.

  • 📐 Temel Tanım: Birleşik Modelleme Dili (UML), yazılım sistemlerinin nesne yönelimli tasarımlarını, yapılarını ve davranışlarını temsil etmek için resimsel diyagramlar kullanan, ISO tarafından tanınan bir standarttır.
  • 🏛️ İki Kategori: UML diyagramları yapısal diyagramlar (bileşenlerin statik görünümü) ve davranışsal diyagramlar (etkileşimlerin ve iş akışlarının dinamik görünümü) olmak üzere ikiye ayrılır.
  • 🗂️ Yapısal Diyagramlar: Sınıf, nesne, paket, bileşen ve dağıtım diyagramları, sistem elemanları arasındaki statik mimariyi ve ilişkileri temsil eder.
  • Davranış Diyagramları: Aktivite, kullanım senaryosu ve durum makinesi diyagramları, sistem akışlarını, kullanıcı etkileşimlerini ve zaman içindeki durum geçişlerini gösterir.
  • Araçlar ve Yapay Zeka: Gibi araçlar StarUMLVisio ve Lucidchart UML diyagramlarını görsel olarak oluşturun; yapay zeka destekli araçlar artık düz metin açıklamalarından veya kaynak koddan otomatik olarak doğru diyagramlar üretebiliyor.
  • 📅 Sürüm Geçmişi: UML, 1.1 sürümünden (1997) 2.5.1 sürümüne (2017) kadar evrim geçirmiş olup, her sürümde diyagram türleri eklenmiş, anlambilim geliştirilmiş ve şartname basitleştirilmiştir.

UML Diyagramları

Yazılım sistemleri hızla karmaşıklaşır ve mimariyi görselleştiremeyen ekipler tasarım kararlarını iletmekte zorlanırlar. UML, herhangi bir kod yazılmadan önce ortak bir görsel gösterim sağlar.

Neden UML'yi kullanmalısınız? Tam Geçmiş

1990'lar nesne yönelimli dillerin geliştirildiği dönemdi. C++Bu nesne yönelimli diller karmaşık ama ilgi çekici sistemler yaratmak için kullanıldı.

Geliştirilen sistemlerin anlaşılmasının karmaşık olması, sistemin devreye alınmasından sonra karşılaşılan tasarım ve analiz sorunlarına yol açmıştır. Sistemi başkalarına anlatmak zordu.

UML tanıtılır tanıtılmaz, sistemi analiz etme gibi zor görevleri basitleştirmek için oyunun kurallarını değiştiren birçok deney ve yaklaşım yapıldı.

UML, nesne yönelimli bir birleşik modelleme dilidir. 1994 ve 1995 yıllarında Rational yazılımından parlak yazılım mühendisleri Grady Booch, Ivar Jacobson ve James Rumbaugh tarafından icat edildi. 1996 yılına kadar geliştirilme aşamasındaydı.

UML'nin mucitlerinin her biri, yani Grady Booch, Ivar Jacobson ve James Rumbaugh, karmaşıklığı azaltacak bir dil tasarlamak için harika bir fikre sahipti.

  • Booch'un yöntemi, nesnelerin tasarımı ve inşası sırasında çalışmak için çok esnekti.
  • Jacobson'un yöntemi, kullanım senaryolarını çözmek için harika bir yol sağladı. Aynı zamanda üst düzey tasarım için güçlü bir yaklaşıma sahiptir.
  • Rumbaugh'un yönteminin hassas sistemlerle ilgilenirken çok faydalı olduğu ortaya çıktı.

Later Daha sonra David Harel tarafından icat edilen davranışsal modeller ve durum çizelgeleri UML'ye dahil edildi.

UML, 1997 yılında Object Management Group (OMG) tarafından bir standart olarak kabul edilmiştir. Object Management Group, standart olarak benimsendiği günden bu yana UML'nin yönetilmesinden sorumludur.

2005 yılında Uluslararası Standardizasyon Örgütü UML'yi bir ISO standardı olarak onayladı. Nesneye yönelik modeller oluşturmak için çeşitli endüstrilerde kullanılır.

En son UML sürümü Aralık 2.5.1'de yayımlanan 2017'dir.

UML Sürümleri

Tarih Sürümü Hakkımızda
Kasım 1997 1.1 UML, Object Management Group tarafından benimsendi. Bu UML'nin ilk versiyonuydu.
Mart 2000 1.3 Mevcut modelde anlambilimde dikkate değer değişikliklerle küçük bir yükseltme yapıldı. gösterimlerve UML'nin meta modelleri.
Eylül 2001 1.4 Bu, UML'deki büyük güncellemenin yapıldığı dönemdi. Çeşitli uzantılar sağlayarak UML'yi ölçeklendirdi. Diyagramlarda görünürlük, yapaylık ve stereotipler tanıtıldı.
Mart 2003 1.5 UML'ye prosedürler, veri akış mekanizması gibi özellikler eklendi.
Ocak 2005 1.4.2 UML, ISO tarafından standart olarak kabul edildi.
Ağustos 2005 2.0 UML'ye nesne, paket, zamanlama, etkileşim gibi yeni diyagramlar eklendi. Etkinlik ve sıra diyagramlarına yeni özellikler eklendi. İşbirliği diyagramı iletişim diyagramı olarak yeniden adlandırıldı. Mevcut diyagramlara birçok özellik ve değişiklik getirildi.
Nisan 2006 2.1 UML 2.0'da düzeltmeler yapıldı.
Şubat 2007 2.1.1 UpgradeUML 2.1'de tanıtıldı.
Kasım 2007 2.1.2 UML 2.1.1 yeniden tanımlandı.
Şubat 2009 2.2 UML 2.1.2 hataları düzeltildi.
Mayıs 2010 2.3 UML 2.2 revize edildi ve bileşen diyagramlarında küçük değişiklikler yapıldı.
Ağustos 2011 2.4.1 Sınıflar, paketler ve stereotiplerde değişiklikler yapıldı. UML 2.3, geliştirme özellikleriyle revize edildi.
2015 Haziran 2.5 UML 2.4.1, küçük değişikliklerle revize edildi. UML, önceki haline göre daha basit hale getirildi. Hızlı işleyiş ve daha etkili modeller oluşturma özelliği getirildi. Eskimiş özellikler kaldırıldı. Modeller ve şablonlar yardımcı yapılar olarak ortadan kaldırıldı.

UML'nin özellikleri

  1. Genelleştirilmiş bir modelleme dilidir.
  2. gibi yazılım programlama dillerinden farklıdır. Python, C, C++, vb.
  3. Güçlü modelleme elemanları oluşturmak için kullanılabilecek resimsel bir dildir.
  4. Nesneye yönelik tasarımlar ve analizlerle ilgilidir.
  5. Yazılım sektörü dışında dahi sınırsız uygulamaya sahiptir. Bir fabrikanın iş akışını görselleştirmek için kullanılabilir.

Kavramsal model

UML kavramına başlamadan önce kavramsal modelin temelleri anlaşılmalıdır.

Kavramsal bir model birbiriyle ilişkili çeşitli kavramlardan oluşur. anlamamıza yardımcı olur

  • Nesneler nelerdir?
  • Bir süreci yürütmek için etkileşim nasıl gerçekleşir?

UML'de kavramsal bir model gereklidir. Sistemi modellemeden önce varlıkları ve aralarındaki ilişkileri anlamalısınız.

UML'ye başlamak için aşağıdaki nesne yönelimli kavramlara ihtiyaç vardır:

  • nesne: Gerçek dünyada var olan bir varlıktır. Tek bir sistem içinde birden fazla nesne bulunur. UML'nin temel yapı taşlarından biridir.
  • SınıfBir sınıf, nesnelerin ve aralarındaki ilişkilerin saklandığı bir kaptan başka bir şey değildir.
  • Abstracyon: Bir varlığın uygulama ayrıntılarını göstermeden temsil edilmesi mekanizmasıdır. Bir nesnenin davranışını görselleştirmek için kullanılır.
  • miras: Mevcut bir sınıfın yeni bir sınıf oluşturacak şekilde genişletilmesine yönelik bir mekanizmadır.
  • Polimorfizm: Bir nesnenin farklı amaçlarla kullanılan birden çok biçime sahip olarak temsil edilmesi mekanizmasıdır.
  • Encapsulation: Nesne ve verinin tek bir birim halinde birbirine bağlanması yöntemidir. Nesne ile veri arasında sıkı bir bağlantı sağlar.

Yukarıdakiler aynı zamanda şu şekilde de adlandırılır: temel yapı taşları bir UML'nin.

UML Diyagramı Nedir?

UML Diyagramları Birleşik Modelleme Dilinin çıktısıdır. Sınıfların, nesnelerin ve bunlar arasındaki ilişkilerin resimli bir temsilidir. UML diyagramı bir sistemin bir bölümünü tanımlayan bir modeldir. Bir sistemin işlevselliğini veya tasarımını tanımlamak için kullanılır. Diyagramın izleyicinin kolayca anlayabilmesi için açık ve kısa olması gerekir.

UML diyagramları üç farklı kategoriye ayrılır:

  • Yapısal diyagram
  • Davranış diyagramı
  • Etkileşim diyagramı

UML'de yapısal diyagramlar

Yapısal diyagramlar bir sistemin statik görünümünü temsil etmek için kullanılır. Bir sistemin yapısını oluşturan sistemin bir bölümünü temsil eder. Yapısal diyagram sistem içindeki çeşitli nesneleri gösterir.

Aşağıda UML'deki çeşitli yapısal diyagramlar gösterilmektedir:

  • Sınıf diyagramı
  • Nesne diyagramı
  • Paket diyagramı
  • Bileşen diyagramı
  • Dağıtım şeması

UML'deki davranış diyagramları

Herhangi bir gerçek dünya sistemi statik formda veya dinamik formda temsil edilebilir. Bir sistemin hem statik hem de dinamik yollarla ifade edilmesi durumunda tam olduğu söylenir. Davranış şeması bir sistemin işleyişini temsil eder.

Bir sistemin statik kısmıyla ilgilenen UML diyagramlarına yapısal diyagramlar denir. Sistemin hareketli veya dinamik kısımlarıyla ilgilenen UML diyagramlarına davranış diyagramları denir.

Aşağıda UML'deki çeşitli davranış diyagramları gösterilmektedir:

  • Etkinlik şeması
  • Kullanım senaryosu diyagramı
  • Durum makinesi diyagramı

UML'deki etkileşim diyagramları

Etkileşim diyagramı, davranış diyagramlarının bir alt kümesinden başka bir şey değildir. Bir sistemin çeşitli kullanım durumu elemanları arasındaki akışı görselleştirmek için kullanılır. Etkileşim diyagramları, iki varlık arasındaki etkileşimi ve verilerin bunların içinde nasıl aktığını göstermek için kullanılır.

Aşağıda UML'deki çeşitli etkileşim diyagramları gösterilmektedir:

  • zamanlama diyagramı
  • Sıra diyagramı
  • İşbirliği diyagramı

Yukarıdaki diyagramların ayrıntılı açıklaması sonraki eğitimlerde açıklanmaktadır.

Yapısal ve Davranışsal UML Diyagramları

Aşağıdaki tablo, ekiplerin doğru türü seçmelerine yardımcı olmak için iki UML diyagram kategorisini karşılaştırmaktadır.

özellik Yapısal Diyagramlar Davranış Diyagramları
Görüntüle Statik Hareketlilik
odak Bileşenler ve aralarındaki ilişkiler Sistem eylemleri ve etkileşimleri
Örnekler Sınıf, Nesne, Paket, Bileşen, Dağıtım Aktivite, Kullanım Senaryosu, Durum Makinesi
Birincil kullanım Archimimari ve veritabanı tasarımı İş akışı, kullanıcı yolculukları, durum geçişleri
Oluşturulduğu zaman Sistem yapısını önceden tanımlamak Çalışma zamanı davranışını ve iş mantığını modelleme

UML Araçları

Piyasada UML diyagramları oluşturmak için birçok araç mevcuttur. Bazıları masaüstü tabanlıyken diğerleri çevrimiçi kullanılabilir. Aşağıda UML modelleri oluşturmak için kullanılabilecek araçların düzenlenmiş bir listesi bulunmaktadır:

Kullanacağız StarUML UML diyagramları oluşturmak için kullanılan uygulama.

Kurulum adımları: Bağlantıyı açın: http://staruml.io/download

Bilgisayarınızın özelliklerine göre. Uygulamanın herhangi bir sürümünü indirin. Burada Windows seçeneğini seçeceğiz.

StarUML Montaj

Uygulama indirildikten sonra, tüm varsayılan seçeneklerle yükleyin. Kurulumdan sonra başlatın StarUML PC'nizdeki uygulama.

Aşağıdaki pencereyi göreceksiniz,

StarUML Montaj

Artık UML diyagramları oluşturmaya başlayabilirsiniz.

SSS

📊 UML 2.x, iki ana gruba ayrılmış 14 resmi diyagram türü tanımlar: 7 yapısal diyagram (sınıf, nesne, bileşen, dağıtım, paket, bileşik yapı, profil) ve 7 davranışsal diyagram (kullanım durumu, aktivite, durum makinesi, sıra, iletişim, zamanlama, etkileşim genel görünümü).

🗄️ UML diyagramları, nesne yönelimli yazılım sistemlerini modeller ve hem yapıyı hem de davranışı kapsar. Varlık-İlişki (ER) diyagramları yalnızca veritabanı şemasına ve veri varlıkları arasındaki ilişkilere odaklanır. UML sınıf diyagramları veritabanı tablolarını temsil edebilir, ancak ER diyagramlarında bulunmayan ek nesne yönelimli anlamlar taşır.

🏢 Evet. UML, kurumsal mimari, gömülü sistemler ve finans ve sağlık gibi düzenlemeye tabi sektörlerde yaygın olarak kullanılmaya devam etmektedir. Çevik ekipler genellikle daha hafif alt kümeleri (en sık sınıf ve sıralama diyagramları) kullanırken, tam UML paketleri büyük ölçekli sistem tasarımı ve devlet projelerinde yaygın olarak kullanılmaktadır.

🤖 Evet. ChatGPT ve GitHub Copilot gibi yapay zeka modelleri üretebilir. PlantUML veya düz metin açıklamalarından veya kaynak kodundan Mermaid sözdizimini çıkarmak için kullanılan araçlar. Lucidchart Visio artık, doğal dil komutlarından saniyeler içinde sınıf, sıralama ve kullanım senaryosu diyagramları çizen yapay zeka asistanlarını bünyesinde barındırıyor.

🛠️ Önde gelen yapay zeka destekli UML araçları şunlardır: Lucidchart'ın yapay zeka diyagram oluşturucusu, Microsoft Visio ChatGPT eklentileriyle birlikte Copilot, Eraser.io ve Draw.io. PlantUML Büyük bir dil modeliyle birleştirildiğinde, geliştiricilerin diyagramları kod olarak yazmasına olanak tanırken, GitLab ve GitHub Copilot mevcut depolardan sınıf diyagramlarını tersine mühendislik yoluyla oluşturabilir.

⭐ Sınıf diyagramları ve sıralama diyagramları en yaygın kullanılanlardır. Sınıf diyagramları statik yapıyı ve kod mimarisini modellerken, sıralama diyagramları nesnelerin zaman içinde nasıl etkileşimde bulunduğunu gösterir; bu nedenle her ikisi de çevik ve kurumsal ekiplerde tasarım dokümantasyonu için popülerdir.

🔍 Bir sınıf diyagramı, bir sistemin temel yapısını (sınıflar, öznitelikler, metotlar ve ilişkiler) tanımlar. Bir nesne diyagramı ise, belirli bir anda bu sınıfların gerçek örneklerinin anlık görüntüsünü, gerçek değerleriyle göstererek yapının çalışma zamanında nasıl göründüğünü ortaya koyar.

🎓 Hayır. UML, bir programlama dili değil, görsel bir modelleme gösterimidir; bu nedenle yeni başlayanlar kodlama becerisine ihtiyaç duymadan öğrenebilirler. Nesneler, sınıflar ve ilişkiler gibi temel nesne yönelimli kavramları anlamak, basit UML diyagramları oluşturmaya başlamak için yeterlidir.

Bu yazıyı şu şekilde özetleyin: