UML'de Durum Makinesi Diyagramı ve Durum Grafiği Diyagramı
Durum Makinesi Diyagramı Nedir?
Durum diyagramı Bir yazılım sisteminin davranışını yakalamak için kullanılır. UML Durum makine diyagramları bir sınıfın, bir alt sistemin, bir paketin ve hatta tüm sistemin davranışını modellemek için kullanılabilir. Aynı zamanda Durum Grafiği veya Durum Geçiş diyagramı olarak da adlandırılır.
Durum Şeması Diyagramı Nedir?
Durum şeması diyagramları bize dış varlıklar ve bir sistem içinde meydana gelen etkileşimleri veya iletişimi modellemek için etkili bir yol sağlar. Bu diyagramlar olaya dayalı sistemi modellemek için kullanılır. Bir nesnenin durumu bir olay yardımıyla kontrol edilir. Durum şeması diyagramları, uygulama sistemi içindeki bir varlığın çeşitli durumlarını tanımlamak için kullanılır.
UML'de toplam iki tür durum makinesi diyagramı vardır:
1. Davranışsal Durum Makinesi Şeması
- Sistemde bulunan bir varlığın davranışını yakalar.
- Bir öğenin spesifik uygulamasını temsil etmek için kullanılır.
- Bir sistemin davranışı, OOAD'deki davranışsal durum makine diyagramı kullanılarak modellenebilir.
2. Protokol Durumu Makine Şeması
- Bu diyagramlar bir protokolün davranışını yakalamak için kullanılır.
- Olayla ilgili protokol durumunun nasıl değiştiğini temsil eder. Aynı zamanda sistemdeki ilgili değişiklikleri de temsil eder.
- Bir öğenin spesifik uygulamasını temsil etmezler.
Neden Durum Makinesi Diyagramı?
Durum şeması diyagramı bir sistemin dinamik yönünü yakalamak için kullanılır. Durum makinesi diyagramları bir uygulamanın davranışını temsil etmek için kullanılır. Bir nesne ömrü boyunca çeşitli durumlardan geçer. Bir nesnenin ömrü, program sonlandırılana kadar devam eder. Nesne, nesne içinde meydana gelen olaya bağlı olarak birden fazla durumdan geçer. Her durum, nesne hakkında bazı benzersiz bilgileri temsil eder.
Durum şeması diyagramları, iç veya dış olaylara yanıt veren etkileşimli sistemler tasarlamak için kullanılır. UML'deki durum şeması diyagramı, bir nesnenin bir durumundan diğer durumuna yürütme akışını görselleştirir.
Bir nesnenin yaratılmasından, nesnenin yok edilmesine veya sonlandırılmasına kadar geçen süreyi temsil eder.
Durum şeması diyagramının temel amacı etkileşimli sistemleri modellemek ve bir nesnenin her bir durumunu tanımlamaktır. Durum şeması diyagramları, bir uygulama sisteminin dinamik davranışını yakalamak için tasarlanmıştır. Bu diyagramlar bir sistemin çeşitli durumlarını ve sistem içindeki varlıkları temsil etmek için kullanılır.
Durum Makinesi Diyagramı Gösterimi ve Sembolü (Durum Tablosu Diyagramı)
Aşağıda eyalet çizelgesi diyagramı boyunca kullanılan çeşitli notasyonlar yer almaktadır. Tüm bu notasyonlar birleştirildiğinde tek bir diyagram oluşturur.
Başlangıç hali
Başlangıç durum sembolü, durum makinesi diyagramının başlangıcını belirtmek için kullanılır.
Son durum
Bu sembol, durum makinesi diyagramının sonunu belirtmek için kullanılır.
Karar kutusu
Bir koşul içerir. Değerlendirilen koruma koşulunun sonucuna bağlı olarak programın yürütülmesi için yeni bir yol izlenir.
Geçiş
Geçiş, bir olay nedeniyle meydana gelen bir durumdan başka bir duruma geçiştir. Geçiş, bir nesnenin durumunda bir değişikliğe neden olur.
Devlet kutusu
Bir nesnenin ömründeki belirli bir andır. Sınıflandırıcı gövdesindeki bir koşul veya ifade kullanılarak tanımlanır. Statik ve dinamik durumları temsil etmek için kullanılır.
Yuvarlak köşeli bir dikdörtgen kullanılarak gösterilir. Yuvarlatılmış dikdörtgenin içine bir devletin adı yazılır.
Bir durumun adı dikdörtgenin dışına da yerleştirilebilir. Bu, bileşik veya alt makine durumları durumunda yapılabilir. Bir durumun adı dikdörtgenin içine veya dikdörtgenin dışına bir tablo kutusunda yerleştirilebilir. Her ikisi de aynı anda gerçekleştirilemez.
Bir durum aktif veya pasif olabilir. Bir durum çalışma modundayken aktiftir, çalışmayı bırakıp başka bir duruma geçtiği anda önceki durum pasif hale gelir ve mevcut durum aktif hale gelir.
Devlet Türleri
Birleşik Modelleme Dili üç tür durumu tanımlar:
- Basit durum
- Herhangi bir alt durumları yoktur.
- Bileşik durum
- Bu tür durumların bir veya daha fazla alt durumu olabilir.
- İki veya daha fazla alt durum içeren bileşik duruma ortogonal durum adı verilir.
- Hafif makine durumu
- Bu durumlar anlamsal olarak bileşik durumlara eşittir.
- Bileşik durumdan farklı olarak alt makine durumlarını yeniden kullanabiliriz.
Durum Grafiği diyagramı nasıl çizilir?
Durum şeması diyagramları bir nesnenin içinden geçtiği çeşitli durumları tanımlamak için kullanılır. Bir durumdan başka bir duruma geçiş, tetiklenen bazı olaylar nedeniyle meydana gelir. Durum şeması çizmek için UMLHerhangi bir varlığın olası tüm durumları belirlenmelidir.
Bunların amacı UML diyagramları bir sistemin durumlarını temsil etmektir. Devletler, durum geçiş diyagramlarında hayati bir rol oynar. Diyagramı uygulamadan önce, tüm temel nesneler, durumlar ve durumlar içinde değişikliklere neden olan olaylar analiz edilmelidir.
Durum grafiği diyagramı çizilirken aşağıdaki kurallara dikkat edilmelidir:
- Durum geçişinin adı benzersiz olmalıdır.
- Bir devletin adı kolay anlaşılır olmalı ve bir durumun davranışını anlatmalıdır.
- Birden fazla nesne varsa yalnızca temel nesneler uygulanmalıdır.
- Her geçişe ve olaya uygun isimler verilmelidir.
Durum Makinesi Diyagramı ne zaman kullanılır?
Durum diyagramları, gerçek hayattaki çalışma modellerini ve nesne yönelimli sistemleri derinlemesine uygulamak için kullanılır. Bu diyagramlar, bir sistemin dinamik davranışını yakalayarak sistemin dinamik ve statik yapısını karşılaştırmak için kullanılır.
Durum şeması diyagramları, sistemin çeşitli varlıklarındaki değişiklikleri baştan sona yakalamak için kullanılır. Bir olayın, sistemin birden fazla durumunda değişimi nasıl tetikleyebileceğini analiz etmek için kullanılırlar.
Durum karakter diyagramları kullanılır:
- Bir sistemin nesnelerini modellemek.
- Etkileşimli sistemleri modellemek ve uygulamak.
- Durumlar içindeki değişiklikleri tetikleyen olayları görüntülemek için.
Durum Makinesi Örneği
Aşağıdaki durum diyagramı örnek grafiği kullanıcı kimlik doğrulama sürecini göstermektedir.
Toplamda iki durum vardır ve ilk durum, OTP'nin önce girilmesi gerektiğini belirtir. Bundan sonra, karar kutusunda OTP kontrol edilir, doğruysa, yalnızca durum geçişi gerçekleşir ve kullanıcı doğrulanır. OTP yanlışsa, geçiş gerçekleşmez ve kullanıcı yukarıdaki durum makinesi diyagramı örneğinde gösterildiği gibi doğru OTP'yi girene kadar tekrar başlangıç durumuna geri döner.
Durum Makinesi Diyagramı ve Akış Şeması
Aşağıda Statechart Diyagramı ile Akış Şeması arasındaki temel farklar yer almaktadır
Durum Makinesi Diyagramı | Akış Şeması |
---|---|
Bir sistemin çeşitli durumlarını temsil eder. | Akış Şeması program yürütme akışını gösterir. |
Durum makinesinin bir WAIT konsepti vardır, yani bir eylemi veya olayı bekleyin. | Akış Şeması bir konsepti beklemekle ilgilenmez. |
Canlı çalışan bir sistem için durum makineleri kullanılır. | Akış şeması bir sistemin dallanma dizilerini görselleştirir. |
Durum makinesi bir modelleme diyagramıdır. | Bir akış şeması bir sıra akışı veya bir DFD diyagramıdır. |
Durum makinesi bir sistemin çeşitli durumlarını keşfedebilir. | Akış şeması yollar ve kontrol akışıyla ilgilenir. |
ÖZET
- Durum şeması diyagramlarına durum makinesi diyagramları da denir.
- Bu diyagramlar olaya dayalı sistemi modellemek için kullanılır.
- Bir varlığın durumu bir olay yardımıyla kontrol edilir.
- Toplamda iki tür durum makinesi diyagramı vardır: 1) Davranışsal Durum Makinesi Diyagramı 2) Protokol Durum Makinesi Diyagramı
- Durum şeması diyagramı bir sistemin dinamik yönünü yakalamak için kullanılır.
- Durum, bir nesnenin ömründeki belirli bir andır.