Minik Bir Yazılım Projesi Simülasyonu -3
Eğer yazının ilk bölümünü okumadıysanız mutlaka buraya tıklayarak okuyun.
***
Minik yazılım projesi simülasyonumuzda “Bil Bakalım Kaç” oyunumuzun şu ana kadar analiz çalışmalarında epey yol aldık. Kapsamı belirledik, kapsam metnini ve mesajlar tablosunu oluşturduk. Şimdi algoritma oluşturma aşamasındayız.
***
Algoritma Oluşturma
Oyunun mantığını oluşturan algoritmanın akış diyagramını çizmek önemlidir. Bu oyun çok basit olduğu için algoritma belki metinle de ifade edilebilir ama daha karmaşık örneklerde bir diyagram yapılacak işin mantığını çok daha yalın ve herkesçe aynı şekilde anlaşılacak şekilde anlatacaktır.
Diyagramı oluştururken önce aktiviteleri belirleyelim ve yapabiliyorsak metinsel bir algoritma oluşturmayı deneyelim:
- (Adım 1) Oyun başladığında kullanıcıya karşılama mesajı gösterilecek (mesaj 1).
- (Adım 2) Rastgele sayı tutulacak.
- (Adım 3) Kullanıcıdan sayı girmesi istenecek (mesaj 2).
- (Adım 4) Kullanıcı sayı girecek.
- (Adım 5) Sistem yapılan girişin hatalı olup olmadığını kontrol edecek.
- (Adım 5.1.) Giriş hatalıysa sistem 3 no’lu mesajı gösterecek ve adım 4'ten devam edecek.
- (Adım 5.2.) Giriş hatalı değilse sistem adım 6 ile devam edecek.
- (Adım 6) Sistem girilen sayıyı tutulan sayıyla karşılaştıracak.
- (Adım 6.1.) Sayılar aynıysa 4 numaralı mesaj gösterilecek oyun sonlandırılacak.
- (Adım 6.2.) Girilen sayı tutulandan küçükse 5 no’lu mesaj gösterilecek ve adım 4'ten devam edilecek.
- (Adım 6.3.) Girilen sayı tutulandan küçükse 6 no’lu mesaj gösterilecek ve adım 4'ten devam edilecek.
Yukarıda algoritmanın metinsel ifadesini görüyorsunuz. Aşağıda da aynı algoritmanın akış diyagramı halini veriyorum. Bunları kendi yaptıklarınızla karşılaştırın.
Paydaşlarla Analizin Üzerinden Geçme
Şu ana kadar epey iyi bir iş çıkarttık.
- Gereksinimleri belirledik ve netleştirdik. (Kapsam metnindeki kapsama dahil olanlar başlığında.)
- Mesajlar tablosunu oluşturduk.
- Algoritma diyagramını çıkarttık.
Şimdi istenileni doğru anlamış mıyız diye paydaşlara doğrulatmaya geldi. Yaptığımız bir toplantıda paydaşlarla kapsamın üzerinden bir daha geçtiğimizi düşünelim. Mesaj metinlerine yeniden göz attık ve mesaj metin tablosuyla karşılaştırmalı olarak algoritma diyagramını inceledik.
Tam bu sırada fark ettik ki yazılım “Sayı tutma oyununa hoş geldiniz! 1'den 100'e rastgele bir sayı tutuyorum. Bakalım tahmin edebilecek misiniz?” mesajını gösterdikten hemen sonra “Lütfen tahmininizi aşağıdaki kutuya giriniz (1–100)” mesajını görüntülüyor. Şimdi bu size doğru gibi görünebilir ama bir bilgisayarın saniyede milyarlarca komut satırı işlem yapabildiğini düşünürseniz siz daha ilk mesajı göremeden ikinci mesajı görüntülenmiş ve ardından kullanıcıdan tahminini girme aşamasına gelinmiş olur.
Bu durumu paydaşlarla konuşuyorsunuz ve mesajlara bir bekleme süresi koyulması gerektiğine karar veriyorsunuz. Sonra hangi mesajdan sonra ne kadar bekleneceğini sorup, öğreniyorsunuz.
Bu bekleme sürelerini analiz belgenize 3 şekilde yansıtabilirsiniz:
- Bekleme sürelerini mesaj tablosuna yazabilirsiniz.
- Bekleme sürelerini algoritmaya ekleyebilirsiniz.
- İkisini birden yapabilirsiniz.
Paydaşlarla da görüşerek bekleme sürelerini tabloya yazmayı kararlaştırdığınızı varsayalım.
Şimdi yin bir önceki yazıya geçmeden önce tablo güncellemeyi kendinizin denemenizi istiyorum. Süreleri oyunun mantığı çerçevesinde belirlemeye çalışın. Çalışmayı tamamladıktan sonra bir sonraki bölüme göz atarak benim hazırladığımla karşılaştırabilirsiniz.
Originally published at https://www.linkedin.com.