Professional Documents
Culture Documents
Kriterleri göz önünde bulundurularak satıcı firma seçimi yapılır. Sadece fiyat karşılaştırması
yapmaktan ibaret değildir. Üretici firmanın güvenilir olması firmayı belirlemede göz önünde
bulundurulmalıdır. Satın alma şeklinin belirlenmesi: Satın alma, Kiralama, Leasing
yöntemlerinden biri tercih edilmelidir. Bu üç seçiminde kendine göre avantajları ve
dezavantajları bulunmaktadır.
Genel olarak seçim yapılırken kullanılacak donanım veya sistemin kullanım süresi dikkate
alınıp hesaplama yapılır.
Sistem Mimarisi
Mimari tasarımda programın ana yapısal öğeleri arasındaki ilişkiler belirlenmektedir. Amaç
modüler bir program geliştirmek ve modüller arası ilişkilerin denetimini göstermektir. Sistem
mimarisi yapı diyagramı ile açıklanabilir. İyi bir yapısal diyagram için; Ön tasarım ayrıntılarıyla
tanımlanmalı, mimari tasarım ayrıntılarıyla tanımlanmalı, ayrıntılı tasarım tüm detayları ile
tanımlanmalıdır. Tasarım notasyonlarından biri olan HIPO diyagramı sistemdeki her
fonksiyonun birbiriyle olan ilişkisini belirlemek amacıyla kullanılır. Görsel bir yöntem olan
HIPO diyagramı ile sistem fonksiyonları daha kolay anlaşılır. HIPO yönteminde 3 temel
diyagram vardır;
1. Görsel içerik tablosu
2. Genel IPO Diyagramı
3. Ayrıntılı IPO Diyagramı
Ayrıntılı Tasarım: Ayrıntılı tasarım kapsamında; çıktı, girdi, veri tabanı, program ve ana birim
tasarımı yapılır.
Çıktı Tasarımı: Çıktı, bilgi sisteminin aldıkları veriler ile kullanıcıya verdikleri bilgidir. Çıktı
tasarımında;
Belirlenen amaca hizmet etme
Kullanıcı için anlamlı olma
Uygun miktarda olma
Çıktının dağıtılacağı kullanıcıları doğru belirleme
Çıktının zamanında sağlanması
Doğru çıktı yönteminin seçilmesi
Çıktıların kullanıcıları etkileyecek şekilde yönlendirilmesi;
Bilgilerin alfabetik, kronolojik veya maliyete göre sıralanması
Kabul edilebilir sınırların belirlenmesi
Grafik tipi – rengi ve ölçeğinin ayarlanması
Özellikle grafiklerde bazı renklerin anlamları vardır kırmızı renk bütçede problemi belirtir.
Ayrıca grafik seçiminde bir bütünün oranlarını ortaya çıkarmak için pasta grafiği, birden fazla
veri grubunu göstermek için çubuk grafik tipi kullanılması daha doğru olacaktır.
Girdi Tasarımı: Girilen verinin kalitesi çıktı olarak elde edilen bilginin kalitesini belirler.
“Hatalı veri girerseniz hatalı bilgi alırsınız.” Kuralı geçerlidir. İyi tasarlanan girdiler için;
Etkinlik, Doğruluk, Kullanım Kolaylığı, Uyumluluk, Basitlik, Çekicilik önemlidir. Tasarım
aşamasında karar verilmesi gereken önemli kavramlardan biri de kodlamadır.
Kodlama mümkün olduğunca kısa olması gerekir.
Kodlama kolay değişmeyecek şekilde olmalıdır.
Tekrarlanmamalı, tekil olmalıdır.
Kodlamada birbiri ile karışabilecek simgeler kullanılmamalı “I”, “1” gibi
Kodlamada kısaltmalar varsa anlamlı olmalıdır.
Araya eleman eklemeye izin verecek şekilde değişikliğe açık olabilmeli.
Ekran Tasarımında Renk Kullanımı: zemin ve kalem renklerinin doğru belirlenmesi bilgi
girişini kolaylaştıran etmenlerdendir. Fazla parlak ve koyu renklerin kullanımından kaçınarak
zemin ve kalem rengi zıt renk olmalıdır. Zemin ve kalem renklerinde en uyumlu renkler; Sarı
üzerine siyah, beyaz üzerine yeşil, beyaz üzerine mavi, mavi üzerine beyaz, siyah üzerine beyaz
olarak sıralanabilir. Zemin ve kalem renklerinde en zor okunanlar; yeşil üzerine kırmızı, kırmızı
üzerine mavi olarak sıralanabilir. Doğru veri girişi birimi tasarımının gerçekleştirilmesi için;
Etkin kodlama
Etkin ve verimli veri girişi
Doğruluk ve geçerlilik testleri ile kalitenin sağlanması.
Veri Yapısı Tasarımı: veri tasarımı veri yapısının tamamlanması olarak adlandırılabilir.
Sistemin tasarlanmasında ilk olarak ele alınan en önemli görevdir. Veri tasarımı sistemin
kalitesini önemli ölçüde belirler. Veri tasarımında ilk iş gereksinim analizi ve özelleştirme
aşamasında tanımlanmış veri yapılarını mantıksal gösteriminin seçilmesidir. Veri tasarımı
yapısında amaçlanan;
Verinin kullanıcının istediği anda kullanılabilir olması
Doğru ve uyumlu olması ve veri bütünlüğünü sağlanması
Güncelleştirmenin etkin yapılabilmesi
Bilgi geri çağırmanın amaca uygun ve etkin gerçekleştirilmesi
Saklanan veriden elde edilen bilginin yönetim, planlama, kontrol ve karar vermede
yararlı olacak şekilde
Kullanıcı Arabirim Tasarımı: kullanıcı arabirimi, sistemin kullanıcı ile iletişim kuran
elemanıdır. Arabirimler; doğal dil arabirimleri, soru – cevap sorgulamaları, menüler, girdi/çıktı
formları, komut dili şeklinde olabilir.
Bilgisayarın girdiyi kabul edip etmediği
Doğru formda olup olmadığını
İşlemde gecikme olacağını
İşlem veya isteğin tamamlanıp tamamlanmadığını bildirecek şekilde olmalıdır.
Arabirim tasarımcısının görevi insan yetenekleri ve bilgisayar gücünün birbirini
tamamlayacak şekilde çalışması.
Etkinlik (gereksinimlere uygun olarak sisteme erişim sağlanabilmeli)
Verimlilik (hataları azaltma veri giriş hızını arttırma)
Kullanıcı görüşlerinin alınabilmesi (işlem sırasında oluşan eksik ve hatayı geri
bildirim yapabilmesi) • Ergonomik olması (kolay kullanılabilir işlevsel) Bir
kullanıcı arabirimini bir defada doğru olarak tasarlanmasının genellikle mümkün
olmaması nedeniyle prototip oluşturma, test etme tekrarlı tasarım kullanarak
değişikliği planlamak gerekmektedir. Arabirim tasarımında etkileşim arttıkça
arabirim kullanılabilirliği artmaktadır.
Mühendislik Modeli: sistemi tanıyan kişilerin sistemin tüm işlevlerine ulaşabilmek ve tam
denetim altında tutabilmek için kullanacakları arabirimlerin geliştirmek amacıyla kullanılır.
Kullanıcı Görev Modeli: kullanıcıların gerçekleştirmesi gereken işlevler için kolay
erişilebilirlik sağlayan hata yapmayı önleyen ve hızlı öğrenilen arabirimlerdir.
Arabirimlerde Oluşan Problemlerden Bazıları:
Bilginin düzensiz ve yığınlar şeklinde olması
Kullanıcının yapması gereken çeşitli ekran geçişlerinin uyumlu olmaması
Ekran üzerindeki komutlardaki kelimelerin karmaşık olması
Hata mesajlarının açıklayıcı olmaması
Kullanma kılavuzlarının anlaşılmaz derecede karmaşık olması
Kodlama
Tasarım aşamasında yazılım fiziksel olarak tanımlanıp diyagramlar ile gösterildikten sonra
makine tarafından okunabilecek bir program halinde düzenlenmektedir. Kodlama test ve bakım
aşamaları için büyük önemdedir. Kodlama yapılırken belli bir düzen olmalıdır bir düzeni
olmayan kodlamalarda sonradan müdahale güç olur. Kodlama aşamasına geçilmeden önce
programlama dili seçimi ve geliştirme platformu belirlenmesi gerekir. Programlama dili
seçilirken yazılımın amaç ve görevlerine uygun olmalıdır.
Programlama Dili Seçimi
Büyük projelerde tek bir programlama dili gereksinimleri karşılamaya yetmeyebilir bu
durumda gereksinimleri karşılayabilecek diller liste halinde belirlenmelidir. Kullanılacak
programlama dili seçiminde dikkat edilecekler:
Genel uygulama alanı
Algoritma, bilgi işlem ve veri yapısı açısından karmaşıklık derecesi
Yazılımın kullanılacağı ortam
Uygulama Koşulları
Yazılımı geliştirmede görevli personelin bilgi düzeyi
Programlama dili seçiminde özellikler dışında belirli bir programlama diline yapılan yatırımlar,
tecrübesi fazla olan personel gibi diğer etmenler de dikkate alınmalıdır.
Yapısal Kodlama: Programın uygulaması aşamasında düzenli bir kontrol akışının
sağlanmasıdır. Bir girişi ve bir çıkışı bulunan yapısal programlama ile sağlanabilir.
Kodlama Biçimi: Programcının işlemleri kod olarak ifade şekline denir. Kodlama biçiminde
genel bir standart olmasa da proje ekibi tarafından kodlama düzeni ortaya konmalıdır.
Açıklama Satırları: Programdaki kodun anlaşılabilir olması için gereklidir. Denetim yapılarının
öncesinde veya sonrasında ne yapıldığını açıklamak amacı ile kullanılır.
Kod Yazım Düzeni: Programının anlaşılabilir olması ve kodların okunabilirliğini
kolaylaştırmak için düzenli bir şekilde kod yazmak gerekmektedir. Kodlama yapılırken anlamlı
isimlendirme yapılmalı anlamayı güçleştirecek aşırı kısaltmalardan uzak durulmalı
Yazılım Kalite ve Test Teknikleri
Yazılım Kalitesi Faktörleri
Doğruluk
Güvenilirlik
Verimlilik
Güvenlik
Kullanışlılık
Hata Bulma Kolaylığı
Esneklik
Sınama Kolaylığı
Taşınabilirlik
Tekrar Kullanılabilirlik
Bağlana bilirlik
Sınama Yöntemleri
Saydam Kutu Testi: Modül düzeyinde uygulanmakta ve programın iç yapısı denetlenmektedir.
Koşul ve döngü durumları çalıştırılarak mantıksal yollar sınanmaktadır. Tasarlanan ve beklenen
yapıda olup olmadığı sınanmak için değişik noktalarda incelemeler yapılır. Bu Test ile:
Bir modüldeki bütün bağımsız yolların en az bir defa test edileceği garanti edilir.
Bütün mantıksal kararların “doğru” ve “yanlış” durumları denenmiş olmakta
Bütün döngülerin kendi içinde ve çevresinde işlerliği sağlanmakta
İç veri yapıları denenerek geçerliliği güvence altına alınmaktadır. Bu testler yapılırken:
1. Temel Yollar Testi: İşlemsel tasarımın mantıksal karmaşıklığını ölçmek için yapılır.
2. Döngü Testi: Döngü içerisindeki başlama hatalarının, indeksleme ve artırma
hatalarının, döngüyü sınırlama hatalarının bulunması amacındadır.
Kara Kutu Testi: Yazılımın bütünlenmesi sırasında yazılım arabirimi üzerinde yapılan bir
sınamadır. Bu sınama ile yazılım işlemlerini yerine getirdiği, girdilerin kabul edildiği, çıktıların
doğru olarak üretildiği ve dış bilişim bütünlüğünün sağlandığı gösterilmektedir. Temel sistemin
modeli denenmiş olmaktadır.
Hatalı ve eksik olan işlevler
Arabirim hataları
Veri yapılarında ve veri tabanı erişimindeki hatalar
Performans Hataları
Başlama ve bitirme hataları.
Kara kutu testi son aşamada ve programın bütünü için uygulanmaktadır. Bir dizi test
programı oluşturulmaktadır.
1. Eşdeğerli Bütünleme: programın girdi alanı, test programları oluşturabilecek veri
sınıflarına bölünmektedir. Böylece her test programı belli bir bölümdeki hatayı
ortaya çıkarmaktadır.
2. Sınır Değer Analizi: Dayanıklılık testi adı verilen bu analizde en büyük ve en küçük
değerdeki parametreler ile test yapılmaktadır.
3. Veri Onaylama Testi: Kullanıcı tarafından türetilen özel komutların doğruluğunun
onaylanması için • Yanlış söz dizimi komutları • Sırasız ya da zamansız komut
girişleri • Çok sayıda niteleyici veri gerektirmesi • Komut giriş halinde sistemin
kesilmesi
4. Neden Sonuç Graf Çizimi: Mantıksal durumlar ve durumları ile ilgili işlemlerin özlü
olarak gösterimi • Modüle ait girdi koşullarının ve sonuçların liste halinde
getirilmesi ve tanıtıcılara atanması • Bir neden-sonuç grafının geliştirilmesi • Grafın
bir karar tablosuna dönüştürülmesi • Karar tablosu kurallarının test programlarına
dönüştürülmesi
Kaynak
Sistem Analizi ve Tasarımı, Nurettin Dönmez.