UML(Unified Modelling Language) Genel Bakış

Sansasyonel bir blog yazısından sonra size biraz güzel şeylerden bahsetmek istiyorum. Çoook uzun bir yazı dizisiniz ilk yazısı olacak bu. Yazılarımı yazarken hep söylediğim gibi öğreniyorum ve yazıyorum. Bir şeyleri keşfetmiyorum. Yazılarıma Aykut TAŞDELEN hocamızın, Uml ve Dizayn Paternleri kitabından çalışarak yazmaya çalışacağım. Tabi telif olmaması için kendi yorumlamamla yazacağım. Ayrıca Fırat Üniversitesi Yazılım Mühendisliği bölümünde UML ile ilgili çok sayıda ders var. Tercih yapacaklara duyurulur. Okurken söylenebilirsiniz ama çok yararlı dersler. Haydi başlayalım 🙂

UML

Bir yazılım geliştirirken en önemli olay bence planlanan iş gücü ve zamanda bitirmektir. Yazılımda ön görme olayı bazı modellemeler ile ortaya çıkıyor bunlardan birisi UML dediğimiz, yazılım geliştirme yöntem bilimidir. Elinizde bir döküman var ve bütün ayrıntıları ile  geliştirici olarak size ne yapmanız gerektiğini söylüyor. Size sadece yazmak kalıyor. Böylece sizin iş yükünüzü bölmüş oluyoruz.

UML MODEL VE İLİŞKİLİ DİYAGRAMLAR

  1. FONKSİYONEL MODELLEME: Use Case Diyagramları
  2. YAPISAL MODELLEME: Object, Class,Deployment, Composite, Component Diyagramları
  3. DAVRANIŞSAL MODELLEME: State, Timing, Activity, Communication, Sequence Diyagramları

Use Case konusunu bu yazıda diğer diyagramları serinin 2. yazısında anlatacağım.

USE CASE  (FONKSİYONEL SENARYOLAR)

Bu diyagrama fonksiyonel dememizin sebebi kullanıcı tiplerinin sistemde neleri kullandığını, nelerle ilişkili olduğunu yani sistemin kullanıcılara neler sunduğunu anlatan diyagramdır. Aktivite diyagramları kullanılarak çizilirler. Çizim için Microsoft Visio Kullanabilirsiniz. Sistemi kimler nasıl kullanıyor sorusuna cevap ararken bize yardım edecek aktörler vardır. Bu aktörler sistem parçalarıdır. (Kullanıcı, veritabanı vb)

Aktörler

1.Gerçek Aktörler: Sistemin ana fonksiyonlarını doğrudan kullananlar.

2.İkincil Aktörler:İkincil düzeydeki işlemleri geliştirenler.

3.Harici Donanımlar

4.Diğer Sistemler:Modellenen sistemle etkileşim içerisinde olan sistemler.

USE CASE DİYAGRAMLARININ ÇİZİMİ

Adından da anlayacağınız gibi şekiller ile ifade yöntemini anlattığım konu başlığına hoş geldiniz 🙂 Use case ‘ler bize yazılımın akışı hakkında çok önemli açıklamalar verir. Galiba bu diyagramlar olmasa ve biz yazılı okuyarak anlamaya çalışsak daha uzun sürelerde anlayacaktık. Size use case diyagramlarını çizerken oluşturduğumuz bazı şekiller ve anlamlarından bahsetmek istiyorum.

 

Müşteri: Bağlılıklarının gösterdiği bütün durumları yapmaya hakkı vardır. Bu diyagram bize diyor ki;

Müşteri, alışveriş yapar, ödeme yapar.

Kasiyer, alışveriş yapar, ödeme yapar, ödeme alır.

Burada Müşteri ve Kasiyer birer aktördür. Yani bizim tasarladığımız sisteme dahil olmuşlardır. Sırada bu şemayı anlatmak var. Use-Case mantığı size teknik konulara girmeden sistemin aktörlerinin, sistemde nasıl işler yaptıklarını anlatır. Bu diyagram için bir anlatım yapalım hadi.

  • Müşteri üzerinde barkodu olan ürünü kasaya getirir.
  • Müşterinin ödeme yapmak için iki seçeneği vardır; Kredi Kartı ve Peşin.
  • Kredi kartı ile öderse kredi kartının şifresini girer.
  • Kasiyer üzerinde barkodu olan ürünü sisteme okutup işlem sonundaki tutarı tahsil eder.
  • İlgili ürünün stok bilgileri güncellenir, ilgili alışverişin kaydı veritabanında ilgili alanlara atılır.

Basitçe bir anlatım yapmaya çalıştım. Dikkat etmeniz gereken konu burada size veri tiplerinden, tablonun sütunlarından ya da başka teknik bilgilerden bahsetmedim.

USE CASE TEMEL UNSURLAR

Pre – Condition : Use case diyagramlarında bazı işlemlerin gerçekleşmesi için bazı ön koşullar sağlanmalıdır. İşte bu sağlanan koşullar Pre – Condition olarak geçer. Türkçe anlamı ön koşuldur.

Assumption: Anlatım yapılırken gerçekleşecek bir olay için varsayım yapılarak anlatım yapılması işlemidir. Örnek olarak, bir ürün satılırken ürünün stokta olduğunu varsayarak anlatırız.

Prosess: Adından da anlaşılacağı gibi adım adım işlemleri tanımlayan başlıktır.

Post – Condition: Diyagram olay akışının sonlandırmasını tetikleyen olaydır.

Ana, Alternatif ve Kestirme Akışlar: Önemli olan akışlara Ana akış adını veririz. Alternatif akış ise daha çok istisnai durumlarda gerçekleşir. Kestirme akışlar bazı durumlarda akış düzeninin bozulup birden fazla adımı es geçip akışın sonuca bağlandığı durumdur.

Ben önemli gördüğüm başlıkları yorumladım. Hepsi için Kitabı almanızı öneririm KitapLinki .

AKTÖR TÜRETME

Bir aktörün 10 tane farklı use case ile ilişkisi olduğunu düşünün. Bu aktör bir kasiyer. Pekiii bir kasiyer şefi var desek ve bu şef 11 tane farklı use case ile ilişkiliyse ve bu 11 tane use case’den 10 tanesi zaten kasiyerin bağlı olduğu case’ler ise? İşte o zaman aktör türetiyoruz. Yani kasiyerden türetilen yeni bir aktörümüz var ve kasiyerin bütün yetkilerine sahip. Ekstra 1 tane use case ile ilişkili ve sadece bu case ile bağlamamız yeterli olacak. Alttaki grafiği incelerseniz anlattıklarım daha net olacaktır.

Burada bakarsak Yukarıdaki ( Türettiğimiz Aktör ) aktör -> x ve y case lerine sahip iken alttaki ( Türetilen Aktör ) x,y ve z caselerine sahiptir.

Bir yazının daha sonuna geldik. Eğer ilgi olursa bu seriye devam etmek istiyorum. Çok ayrıntılı anlatım için tekrar ediyorum kitabı alınız. Korsana hayır! 😉

Bir Cevap Yazın