Merhaba bu makalemizde bir ATM makinasının UML diagramları yapısını inceleyip Activity Diagramlar yardımıyla çalışma mekanızmasını projelendireceğiz.
ATM makinaları bilindiği üzere para transferleri ve diğer ödeme işlemleri için müşterilerine bankalara gitmeden birçok işlemi gerçekleştirme fırsatı sunuyor.
Biz bu makalemiz ile basit olarak bir bankamatik sisteminin nasıl çalışacağını ve UML diagramları tasarımında ne gibi yolları izleyebileceğimizi ele alacağız.
Sistem dizaynı bakımından çok detaylara inmeyeceğiz ve genel itibariyle ana hatlarıyla konuyu ele alacağız.
Diagramları çizmek için poseidon ya da argouml programlarından yararlanabilirsiniz.Ben elimde mevcut olan poseidon programı ile çalışmalarımı aktaracağım.
İlk olarak müşterilerin hesaplarının kontrolünü ve hesap dökümünü alabilecekleri yapıyı inceleyelim.Müşterimiz hesap bakiyesini görüntüleyip bir çıktı alacaktır.Diğer işlemleride gelecek derslerimizde inceleyeceğiz.
Genel olarak ATM makinasının yapısını bir Use Case Diagram olarak aşağıdaki yapıdaki biçimde ele alacağız.
USE CASE DIAGRAM

Use Case diagramına bağlı olarak account balance yapısının diagramlarını birlikte inceleyelim.
ACTIVITY DIAGRAM

İlk olarak yaptığımız işlem müşteri kartı ATM makinasına taktığında kartın geçerli olup olmadığını kontrol ettirdik ve kartın geçerli olması durumunda şifreyi sormasını belirttik aksi halde müşteriyi çıkışa yönelttik.
Müşterimizin karşısına şifre girme aşaması çıktıktan sonra müşterimiz şifresini girdi ve şifrenin doğruluk kontrolünü yaptıktan sonra sonraki aşamaya geçmesini belirttik.
Şifrenin hatalı girmesi halinde sistem 3 kez parolayı soracak aksi halde kartına el koyacaktır.
Müşterimiz başarılı bir şekilde sisteme giriş yaptıktan sonra karşısına bir menü çıkacaktır ve buradan hesap bakiyesini görüntülenmesi seçecektir.
Müşterimiz hesap dökümüne ulaşacak ve ana menüye dönerek çıkış işlemini gerçekleştirmesi için talepte bulunacaktır.
Tüm bu işlemlerin ardından başarılı bir şekilde kartı ile bağlantılı olan hesap dökümüne ulaşmış ve bir çıktı almış olacaktır.
Şimdi ise aynı işlem için hazırladığım use case templati inceleyelebilirsiniz.Grafiksel olarak hazırladığım activity diagramın sözel olarak yanstılmış biçimini göreceksiniz.
USE CASE TEMPLATE
Use-Case Name: | Displaying Account Balance |
Use-Case Scenario: | Displaying account balance of the account |
Triggering Events: | Customer requests account balance |
Brief Description: | The customer inserts his card to the system entering the validation code and requests account balance. The machine provides the customer with account balance information. |
Actors: | Customer |
Related Use-Cases: (include-extend) | <includes>: Check account balance |
Precondition: | The customer must have a valid card and an account in the bank. |
Postcondition: | Account balance displayed to the customer, information slip. |
Main Flow of Events: | ACTOR | SYSTEM |
1. Insert card into the machine 2. Insert pin code 3. Select ‘account balance’ option 4. Request for card | 1.1 Check for card validity 1.2 Authorize customer and display login page 2.1 Check for pin code validity 2.2 Authorize customer and display main menu page 3.1 Display account balance 3.2 Display main menu and prompt user to select an action 4.1 Submit card |
Exception Conditions: 1.2 If (Card=Invalid) return card to customer. 2.2 If(Pin Code=Incorrect) display login page and prompt user to reenter pin code 2.3 If(Pin Code Entered=3 times) take card |
Use Case Template yapısı için activity diagramda belirttiğimiz işlemlerin işleyiş biçimlerini yansıttık ve hata kontrolünün aşamalarını ele aldık.
Hesap bakiyesine bağlı olarak ele alacağımız diğer yapılar arasında hesap özeti yer alıyor.
Hesap bakiyesinin bağlı olduğu yapıyıda use case diagramına bağlı olarak önümüzdeki derslerimizde ele alacağız.
Görüşmek üzere ...