UML (Unified Modeling Language, Ortak Modelleme Dili)

Yazan : Şadi Evren ŞEKER

Bilgisayar bilimlerinin, yazılım mühendisliği bölümünde yazılım modellemesi sırasında kullanılan gösterim şekilleri standartlaştırılmış ve ortak bir modelleme şekli oluşturulmuştur.  Bu modelleme şekli UML yaygınlaşmadan önce her yazılım modelleme sisteminde farklı şekillerde yapılmaktaydı ve her yazılım firması kendi standartlarını belirleme çalışmasındaydı. UML ile birlikte bu rekabet ortadan kalkmış ve ortak bir standart üzerinden modelleme işlemleri yapılmaya başlanmıştır.

UML’in temel olarak 3 çeşidi bulunur:

  • Yapısal modeller (Strucutred Diagrams)
  • Davranışsal modeller (Behavioral Diagrams)
  • Etkileşimli modeller (Interactive Diagrams)

Yukarıdaki bu üç çeşit modelleme şekillerinin de alt sınıfları bulunur. Örneğin çok sık kullanılan Sınıf diyagramları (Class diagrams) ve Yayılma diyagramları (Deployment Diagrams) birer yapısal model örneğidir. Veya Kullanıcı Durum Diyagramları (Use Case Diagrams) bir davranışsal model örneğidir.

Yorumlar

  1. kursat

    Hocam Merhaba,
    UML grafiklerinde kullanmak için sınıflar arası ilişki türleri hakkında bir kaç sorum olacaktı.
    Bir class’ın genişletilerek başka bir class elde edilmesi olayı. Örneğin araç classının genişletilerek Araba, Kamyon gibi classlar elde edersem, Araç class’ı ile Araba class’ı arasındaki ilişki ne olur? Örnek C# kodu aşağıdaki gibi.

    public class Arac                    
    {                                    
       // Arac metotları ve değişkenleri 
    }                                    
                                         
    public class Kamyon : Arac           
    {                                    
       // Kamyon metotlar ve değişkenleri
    }                                    
    

    Bir class’ı Data Type olarak başka bir class içinde kullanmak veya bir class ı parametre olarak başka bir class ın metotlarından birine vermek. Örneğin;

    public class FileManager
    {
       File dosya;
       
       public void DosyayiSil(File dosya)
       {
          // Burda dosyayı silme işlemini yapan komutlar
       }
    }
    

    Burdaki File ile FileManager arasındaki ilişki ne olur?

    Bir abstract classın genişletilerek başka bir class oluşturulması olayı. Örneğin abstract class olan Hayvan classının genişletilerek Omurgalı adında abstract olmayan class oluşturulursa Hayvan ile Omurgalı adlı classlar arasında nasıl bir ilişki olur?

    Diyagram çizerken Visual Paradigm 8.3 kullanıyoruz. Classlar arasındaki ilişkiyi tanımlayabileceğimiz şu yollar var:
    Generalization
    Realization
    Usage
    Aggregation
    Association
    Composition
    Dependency
    Binding Dependency
    Permission
    Access
    Import
    Merge
    Instantiation
    Substitution
    Abstraction
    Derive
    Refine
    Trace
    Anchor
    Constraint
    Containment

  2. Şadi Evren ŞEKER Article Author

    Bahsettiğiniz ilişki türleri, farklı kaynaklarda farklı isimlerle geçebiliyor. Örneğin ilk örnekte anlattığınız ilişki tipi, bir miras (inheritance) ilişkisidir ve bazı kaynaklarda ISA olarak geçmektedir. Ne yazık ki sizin verdiğiniz listede bu iki isim de kullanılmıyor. Bunun sebebi kaynaklardaki farklılık. Yani bu ilişki tipini bir kaç farklı tipte göstermeye çalışıyorlar. Sizin bahsettiğniz ortamda (visual paradigm) ilişki tiplerini bilmeniz, bu ilişkileri sağlıklı kurmanızı sağlar. Bunun için aşağıdaki kaynağa bakmanızda yarar var :
    http://www.visual-paradigm.com/VPGallery/diagrams/Class.html

    başarılar

kursat için bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir