Bu Blogda Ara

21.05.2008

Yazılımı Tasarlamak

bir önceki makalenin devamı olarak gelen bu makalede eğer hah işte şimdi kodlama kısmı gelecek diyorsanız yanılıyorsunuz. çünkü hala yapacak çok işimiz var.

Yazılımda Tasarım

Bir önceki Yazılım Geliştirme ve Analiz (Yazılım , sadece kodlardan mı oluşur ? ) yazısını okumadıysanız mutlaka okumanızı öneririm. Çünkü bu yazı tamamen orada oluşturduğumuz zemin üzerine bir yazı olacaktır.

Yazılım geliştirmede analiz süreciyle yapılan şey “problemi tanımlamak”tır. Sonrasında gelecek olan adımsa, analizden ve müşterinin performans beklentisi, teknolojiye yakınlığı, bütçesi, fiziksel şartları vb. koşullara bakılarak en uygun çözümün belirlenmesidir. Bu aşama, müşterinin isteklerinin hangi tür donanım, işletim sistemi, ağ sistemi, yazılım dil ve teknolojileri kullanarak yapılacağını belirleyeceğimiz aşama olacaktır. Şimdi yavaş yavaş başlayalım tasarımımıza…

İlk olarak analizden müşterinin yazılım hakkındaki beklentilerini toparlamaya çalışalım.
1. Uygulama bir web uygulaması olacaktır.
2. Uygulamanın arka tarafında verileri saklamak için bir veritabanı kullanılacaktır.
3. Uygulama bir SMS servisi aracılığıyla mesaj gönderecektir.

Uygulama bir web uygulaması olacaksa, yazılımımız ve veritabanı bir web sunucusu üzerine yüklenecek demektir. Bu durumda diyetisyen ve sekreteri de aynı web uygulaması üzerinden sisteme erişerek işlevlerini yürütmek durumundadırlar. Toplamda bir önceki girdide proje şartnamesi için çıkarttığımız listedeki tüm işlevleri bir web uygulamasıyla yerine getirmek mümkündür. Bu durumda analizimizin doğruluğunu sınamış olduk ve tasarım aşamasında konsepti çatısını da belirledik:
“Önde bir web arayüzüyle arka tarafta ilişkisel veritabanıyla çalışacak olan bir sistem geliştirilecektir.”

Şimdi kullanılacak teknoloji ve araçları belirleyelim. İlk olarak müşterinin mevcut bir web hostingi olduğu için buradaki teknolojiyi öğrenmemiz gerekir. Diyelim ki müşterinin web sitesi Asp.Net ve MS Sql destekliyor. O zaman yapmamız gereken web uygulamasını Asp.Net ile kodlayıp veritabanı olarak da MS Sql üzerine tablolarımızı oluşturmak olmalıdır. Bu arada eğer müşterinin özellikle bir teknoloji talebi varsa bunu da dikkate almanız gerekecektir. Örneğin bizim diyetisyen amatör olarak Visual Basic ile ilgileniyor ve kodlamada dil olarak Visual Basic’i tercih etmemizi istiyor olabilir.

Evet, sonuç olarak teknoloji ve araç seçimimizi listeleyecek olursak:
1. Web uygulama tarafı Asp.Net kullanılarak geliştirilecektir.
2. Veritabanı MS Sql 2005 olacaktır.
3. Programlama dili olarak Visual Basic 9 kullanılacaktır.

Yukarıdaki maddeler için müşterinin onayını aldıktan sonraki adım tasarımı detaylandırma aşamasıdır. Teknoloji belli olduğuna göre şimdi analizi önümüze alıp arayüzleri kâğıt üzerinde karalamak (taslak olarak) , önemli fonksiyonları belirlemek ve veritabanı tablo ve tablolar arası ilişkileri belirlemek olacaktır. Bu aşama hem analizimizi detaylı olarak doğrulamamızı sağlar hem de yazılımı geliştirmeye başlamadan önce yazılım bitince ortaya ne çıkacağı yönünde hem müşteriye hem de bize ipucu verir.

Tasarımı detaylandırırken ilk olarak hastaların sisteme güvenli girişini atladığımız fark ediyoruz. Hastalar randevu alırken bazı bilgiler giriyorlar ama öncesinde sisteme güvenli girişleri atlanmış durumda. Yani şu an benim cep telefonu numaramı bilen herkes benim randevu durumumu görebilir ya da benim yerime gidip randevumu iptal edebilir. Diyetisyen ve sekreter için bir giriş paneli var ama hastalar için yok. Hemen bir çözüm iletip diyetisyene sunuyoruz…
Hastalarınız için sisteme güvenli bir giriş ortamı sağlamamız gerekiyor. Bunun için çözüme 4 ekran daha eklememiz gerekiyor. Bunların üçü hastalar için; hasta ilk kayıt ekranı, hasta giriş ekranı ve hasta parola değiştirme ekranı. Bir tanesi de sizin tarafınızdan yönetilecek (sekreter de olabilir) hasta parola sıfırlama ekranı. Hastalar parolalarını unutursalar diye…

Diyetisyenimiz önerimizi onayladı. Şimdi son eksiği tamamlayalım: listeler ve raporlar…
Diyetisyenin, sekreterin ve hastaların sistemden bekledikleri liste ve raporları bilmemiz gerekiyor. Liste ve raporları hem liste ve rapor ekranlarını tasarlamak için hem de tablo ve tablo alanlarımızın doğruluğunu kontrol ederken kullanacağız. Bu noktada liste ve raporların neler olacağını, bunların hangi bilgileri içereceğini ve bilgileri nasıl, hangi biçimde göstermesi gerektiğini sekreter ve diyetisyenden isteyeceğiz. Onlar bu bilgileri hazırlarken biz de elimizdeki bilgilerle web arayüzlerini ve tablo tasarımlarını oluşturmaya başlayacağız.
İlk olarak ekranları tasarlayalım. Her bir ekran için öncelikle ekranı taslak olarak çizip (bir A4 kağıdına kurşun kalemle bile olabilir) ekranı kimlerin kullanacağını, ekranda işleyişin nasıl olacağını, ekran kullanılırken oluşacak istisnai durumlar için neler yapılacağını belirten bir doküman hazırlamalıyız.

tasarı için gerekli resimler ve devamı için kaynak: http://www.chip.com.tr/blog/kadircamoglu/Yazilimda-Tasarim_950.html

not: demekki ne yapıyormuşuz " dereyi görmeden paçaları sıvamıyor muşuz" . daha ne yapacağımızı bilmeden nereye öyle kod yazıyoruz dimi ya ....

Hiç yorum yok: