1.09.2009

Durum diyagramı

Durum diyagramları bir sistemin davranışlarını modeller ve bir olay gerçekleştiğinde olası tüm durumları tanımlar. Her bir diyagram bir sınıfın tek bir nesnesini ele alır ve sistem içerisindeki farklı durumlarını irdeler. Bir durum diyagramı aşağıdaki elemanlardan oluşur:
Durum makinesi (State machine): Bir nesnenin bütün durumlarını bir şema halinde gösteren yapıdır.
Durum (State): Tek bir nesnenin herhangi bir durumuna verilen addır.
Olay (Event): Nesnenin durumları arasında geçişini sağlayan yordama olay denir.
Eylem (Action): Nesnenin bir durumdan diğer bir duruma geçtiğinde yaptığı işlere eylem denir. Eylem, çalışıtırılabilir herhangi bir durum olabilir.
Geçiş (Transition): Nesnenin durumları arasındaki, geçişin gösterilmesine geçiş denir. Bir nesnenin her durumu arasında bir ilişki olmayabileceğinden dolayı iki durum arasında bir geçiş olmak zorunda değildir. Bir geçişte 4 yapı vardır. Bu yapılardan ikisi hedef (target) ve kaynak (source)’tır. Geçişler daima kaynak durumdan hedefv duruma doğru yapılır. Üçüncü yapı, kaynak durumdan hedef duruma geçişi sağlayan olay ateşleyicisi (event trigger)’dir. Son yapı da nesnenin geçiş sonrası ne şekilde davranacağını belirleyen eylem (action)’dir.
Özgeçiş (Self transaction): Bazen bir nesnenin gçişleri iki farklı durum arasında olmayıp, kendi üzerine döner. Daha net söylersek; geçişin kaynak ve hedef durumu aynı olur. Bu durum özgeçiş olarak adlandırılır.
İlk durum (Initial state): Programtaik olarak bir koda karşılık geşmese de ilk durum bir nesnenin ilk geçişinden hemen önceki durumunu temsil eder ve geçeceği ilk duruma geçişi sağlamak için bir ilk nokta teşkil eder ve durum kutusunda farklı olarak içi dolu daire olarak gösterilir.
Son durum (Final state): Nesnenin ömrü bittiğinde aldığı son durumu ifade etmek için kullanılan semboldür. Bir nesne birden fazla son duruma sahip olabilir.
Durum diyagramları nasıl çizilir:
Durum diyagramları çok az sayıda eleman içerir. Temel elemanlar, nesnenin durumunu temsil eden kutular ve bir sonraki duruma geçişi temsil eden oklardır. Durum sembolünün eylem kısmı nesnenin o durumda ne yapacağını betimler.
Tüm durum diyagramları, nesnenin ilk durumu ile başlar. Bu durum nesnenin ilk yaratıldığı andaki durumudur. İlk durumu takiben nesne durum değiştirmeye başlar. Eylemlerin koşuluna göre nesnenin geçeceği bir sonraki durum çeşitlenir.
Aşağıda sipariş örneğine uygun bir durum diyagramı görülmektedir. Nesne “Denetleniyor” durumuna geçtiğinde “ürün denetle” eylemini gerçekleştirir. Eylem tamamlandıktan sonra bir sonraki geçilecek durum “ürün mevcut” ve “ürün yok” koşullarına göre belirlenir. Eğer ürün mevcut değilse sipariş iptal edilir. Eğer ürün stoklarda mevcut ise ürün gönderilir. Nesne “Gönderiliyor” durumuna geçtiğinde ise “göndermeyi başlat” eylemi gerçekleşir ve nesne “Gönderildi” durumuna geçer.
Durum diyagramları aynı zamanda bir nesnenin üst durumunu da gösterebilir. Üst durum, pek çok geçişin belirli bir duruma gittiği zamanlarda kullanılır. Son duruma kadar olan ara geçişleri göstermek yerine tek bir üst durum içerisinde durumlar tanımlanıp, son duruma geçiş üst durum üzerinden gösterilebilir. Bu, durum diyagramını okumayı kolaylaştırır.
Aşağıdaki diyagramda bir üst durum görülmektedir. “Denetleniyor” ve “Gönderiliyor” durumları “İptal edildi” durumuna geçebileceğinden geçiş sadece bir üst durum olan “Aktif” durumundan “İptal edildi” durumuna gösterilmiştir. Bunun tam tersine “Gönderildi” durumuna sadece “Gönderiliyor” durumundan geçilebileceği için “Gönderildi” durumuna gelen ok sadece “Gönderiliyor” durumundan çıkarılır.

Hiç yorum yok:

Yorum Gönder