BLG4146 - Sistem Analizi ve Tasarımı Öğr. Grv. Aybike ŞİMŞEK
Kullanıcı Arayüz Tasarımı Ne kadar mükemmel tasarlanmış ve gerçekleştirilmiş olursa olsun eğer bir sistem kullanıcısına zor anlar yaşatıyorsa tam başarılı sayılamaz. Sistemin insanlarla olan arayüzü Etkin ve kullanışlı Verimliliği artıracak şekilde Kullanıcı dostu 2
İnsan-Bilgisayar Etkileşimi İnsan ile bilgisayar arasındaki etkileşim genellikle görsel, işitsel ve dokunmatik olarak gerçekleşir. Ekran, mikrofon, hoparlör, klavye, fare vs. bütün bunlara insan-makine arayüzü (Human Machine Interface, HMI) adı verilir. Etkileşimin daha çok bilgisayarla yapıldığı durumlarda bu isim insan-bilgisayar arayüzü (Human-Computer Interface, HCI) adını alır. Bu şekilde insan bilgisayardan çeşitli bilgileri alabilir, kendi belleğinde saklayabilir, neden-sonuç ilişkilerini değerlendirebilir ve kendisi yeni bilgiler girebilir. 3
Bilgisayar kullanıcıları üçe ayrılır: Deneyimsiz: Sistem hakkında hiç bilgisi olmayan ancak bir miktar bilgisayar kullanabilen kişilerdir. Az Deneyimli: Sistem hakkında bir miktar bilgisi olan ancak az miktarda kullanım pratiğine sahip kişilerdir. Çok Deneyimli: Hem sistemi hem de kullanımını iyi bilen, hatta daha hızlı kullanabilmek için kestirmeler arayan kişilerdir. 4
İnsan-Bilgisayar Arayüz Tasarımı Grafiksel sergileme olmadan önce komut satırı kullanılıyordu. Öğrenmesi zor Hata yapma olasılığı yüksek Günümüzde grafiksel arayüze sahip uygulamalar geliştiriliyor. 5
Herhangi bir etkileşimli yazılım iki öğeden oluşur. Kullanıcı: Yazılıma girdi sağlayan ve çıktıları değerlendiren işletmendir. Bilgi işleme ve çözüm üretici: Kendisine ulaştırılan gerçeklenmiş bilgilerin işlendiği ve eldeki problemin çözülmesi için gereken bilgilerin üretildiği öğedir. 6
Etkileşimli yazılım sistemlerinde kullanıcı arayüzü kullanıcı ile bilgi alışverişini sağlayan öğedir. Arayüz kendi içinde ön ve arka arayüz olmak üzere ikiye ayrılır. Ön arayüz kullanıcının yazılıma bilgi girişi yaptığı kısımdır. Örn. Gün-ay-yıl olarak girilen tarih verisini sayısal hale getirerek çözüm üreticisine ulaştırır. Arka arayüz çözüm üreticisi tarafından üretilen işlenmiş veriyi kullanıcının görmek ya da anlamak istediği biçime çeviren kısımdır. Sistemin ürettiği kayan nokta tipindeki zaman bilgisi arka arayüz tarafından saat-dakika ve saniye gösterimine çevrilerek sunulur. 7
Arayüz Yazılım Mimarisi Bir uygulama yazılımı tek bir yürütülebilir yazılım biriminden yani programdan oluşabileceği gibi birden fazla birimden de oluşabilir. Tek birimden oluşan yazılımlarda bilgi işleme birimleri ile arayüz birimleri aynı bağlam (contex) içinde yer alırlar. Birleşik mimari tek işlemciye sahip bilgisayarlar için uygundur. Birleşik mimari 8
Birden fazla işlemcisi olan bilgisayarlarda veya tamamen dağıtık mimaride çalışabilmek üzere ayrık mimari kullanılır. Ayrık mimarinin faydası bilgiyi işleme ile arayüz birimlerini birbirinden ayırarak hem geliştirme hem de yürütme bağımsızlığını sağlamasıdır. Özellikle yüksek başarım gerektiren uygulamalarda bilgi işleme yeteneğinin arayüz ile kısıtlanmaması istenir. Yeterli iletişim altyapısı bulunduğu takdirde bilgi işleme ile arayüz yazılımları farklı işlemcilerde hatta farklı bilgisayarlarda çalıştırılarak hem bağımsızlık hem de verim artışı sağlanabilir. Örn. Süperbilgisayarlar web sunucu - kullanıcı 9
Ayrık mimari 10
Arayüz Yazılım Birimleri Kullanıcı arayüz yazılımlarının bir kısmı kullanıcı tarafından fark edilmez. En çok fark edileni ekran üzerinden çıkış, klavye ve işaretçi ile giriş olanağı sağlayan grafiksel arayüz yazılımlarıdır. Grafiksel arayüz yazılımlarının tasarımına mutlaka özel dikkat gösterilmelidir. Uygulama alanının gereksinimleri dikkate alınarak kullanıcı ile en hızlı bir şekilde iletişim kurulması sağlanmalıdır. Örn. Hava trafik kontrol merkezi Sistemin kullanıcı arayüz yazılımları grafik özellikleri daha uygun olan ayrı bilgisayarlar üzerinde çalıştırılabileceği gibi, sistem tasarımına ve yazılım mimarisine bağlı olarak ana sistemle beraber aynı bilgisayar üzerinde de çalışabilirler. 11
Arayüz Tasarım İlkeleri Yüksek nitelik Kullanıcı dostu Güvenilirlik Yardımlar Hatalar ve uyarılar Yapısal Özellikler 12
Kullanıcı Arayüz Geliştirme Süreçleri Çözümleme Tasarım Gerçekleştirim Test 13
Kullanıcı Arayüz Geliştirme Süreçleri ÇÖZÜMLEME (Analiz) Manuel yapılan işlerin otomasyonu ne derecede olacak İşletmenler hangi düzeyde devreye girecek Sistem girdi ve çıktıları ne olacak Kullanıcı arayüz isterleri nelerdir Sistemin temel amaçları ve işlevleri belirlenir. Bu aşama sonunda sistemin arayüz tanımlaması ortaya çıkar. Sistem arayüzünün karmaşıklığı aynı zamanda sistemin karmaşıklığını da ortaya koyar. 14
Kullanıcı Arayüz Geliştirme Süreçleri TASARIM Kullanıcıya ne tür arayüzler sunulacağı Giriş ve çıkışların hangi aygıtlarla ne şekilde yapılacağı Hata ve uyarı iletilerinin nasıl verileceği Belirlenir. Grafiksel kullanıcı arayüzünü geliştirmeden önce bir prototip (ilk örnek) oluşturup kullanıcı ile etkileşimde bulunmak önemlidir. Kullanıcı dostu olması adına tüm uygulamaların aynı standart şablon üzerinde olması önemlidir. 15
Kullanıcı Arayüz Geliştirme Süreçleri GERÇEKLEŞTİRİM Arayüz tasarımı çeşitli çizim araçlarıyla veya doğrudan kullanılan yazılım geliştirme aracı ile yapılabilir. Arayüzün oluşturulduğu, kodlandığı aşamadır. 16
Kullanıcı Arayüz Geliştirme Süreçleri TEST Arayüz testleri prototip testlerinden ayrılmalıdır. Arayüz ile beraber yapılan işlevsel testler aslında tüm sistemin testi demektir. Kullanıcının hiç basmayacağı bir tuş kombinasyonu sistemi çökertebilir. 17
Veritabanı Uygulamaları Tasarımı Mimari 18
Veritabanı Uygulamaları Tasarımı Sınıflandırma Kullanıcı Sayısına Göre Tek kullanıcılı Çok kullanıcılı Bulundukları Konumlara Göre Merkezi Dağıtık Amaçlarına Göre Genel Amaçlı Özel Amaçlı Yapılarına ve Kullandıkları Veri Modellerine Göre İlişkisel Ağ Sıradüzensel Nesne Yönelimli 19
Dağıtık VTYS (VeriTabanı Yönetim Sistemi) 20
Veritabanı Uygulamaları Tasarımı Sistem Yaşam Süreci Sistem Tanımı VTS (VeriTabanı Sistemi) nin kapsamı, kullanıcıları ve uygulamaları tanımlanır. Tasarım VTS nin mantıksal ve fiziksel tasarımı yapılır. Gerçekleştirim Sisteme ait kavramsal tanımlamalar yapılır, içsel ve dışsal veri tanımlamaları yapılır. Boş veritabanı dosyaları oluşturulur. Yazılım modülleri geliştirilir. Veri Yükleme VTS ne büyük miktarda veriler ya manuel veya daha önceki verilerin gerekli çevrimler yapılmasıyla yüklenir. Test Oluşturulan sistem kullanıcı isteklerine göre sınanır, doğrulama ve geçerleme işlemleri yürütülür. Kullanım Sistem kullanıma sunulur. İzleme Sistemin büyüyen veri miktarı sürekli izlenir, fiziksel sınırlar göz önüne alınarak düzenlemeler, kaydırmalar, yedeklemeler yapılır. Bakım Sistem üzerinde zaman içinde değişen isterlere göre değişiklikler uygulanır. 21
Veritabanı Uygulamaları Tasarımı Tasarım İsterlerin Belirlenmesi Veritabanı Tasarımı Verilerin yapıları, anlamları, ilişkileri, bağımlılıkları ve kısıtlamalar modellenir. Varlık ilişki modelleri oluşturulur Veritabanı Yönetim Sistemi Seçimi Mantıksal Tasarım Daha önce oluşturulmuş veri modelleri, seçilen VTYS ne göre kavramsal modellere dönüştürülür. Fiziksel Tasarım Veritabanının fiziksel olarak saklandığı dosyalar, klasörler hazır olarak kullanılan VTYS nin önerdiği şekilde ya da başka nedenlerle daha iyi başarım elde etmek üzere tasarlanır. Hedefler: En iyi erişim zamanı, en düşük saklama alanı, en yüksek veri debisi Gerçekleştirim 22
İnternet Uygulamaları Tasarımı Her türlü internet yazılımının tasarımı üç hedef gözetilerek yapılmalıdır: Amaç En fazla 30 sn, 3 adım, özet bilgi-alt sayfalara dallanma Arayüz Açık, anlaşılır, kullanıcı dikkatini istenen yerde toplayan Güvenlik SSL Kullanıcı adı, şifresi, ek güvenlik önlemleri, şifrelerin dağıtılması yöntemi (sms) 23
İnternet Uygulamaları Tasarımı Tasarım Önerileri Tamamen pasif bir web sitesi tasarlarken basit ve amaca uygun olmasına dikkat edin. Site girişlerine büyük resim veya uzun zaman alan animasyonlar koymayın. Sayfalar arasında atlama yapmak için birbirinin tekrarı gibi olan farklı sayfalar kullanmayın. Onun yerine paylaşılır sayfa düzenini seçip yalnızca yeni bilgilerin görüntülenmesini sağlayın. Kullanıcı arayüz ve menü başlıkları içerik hakkında bilgi verici olmalıdır. Resimler küçük boyutlu olmalı, eğer kullanıcı isterse ayrıntılı resmi alabilmelidir. Gereksiz yere arkaplan resimleri kullanmayın. Sayfalardaki veri miktarını kontrol edip aktarma sürelerini kontrol edin. 5-10 sn lik sayfa yükleme süreleri normal sayılır. Kullanıcının yapmak istediğine ulaşabilmesi için en az sayıda işlem gerektirecek şekilde bir düzen kurun. bir siteye bilgi almak için giren kişi genellikle en fazla üç linki inceler, umduğunu bulamazsa siteden ayrılır. Güvenlik gerektiren noktalarda güvenilirliği kanıtlanmış yöntemler veya özel geliştirilmiş güvenlik paketleri kullanın. (SSL, Secure Socket Layer gibi) Sayfalarda yalnızca amaçlanan bilgilerin bulunmasına dikkat edin. Sitenizde yer alan bilgileri gereken sıklıkta güncelleyin. Etkileşimli yazılımlar geliştirilirken yürütülmekte olan bir işlemin internet bağlantısının kesilmesi durumunda işlemin oturumla beraber güvenli bir şekilde sonlandırılması gerekir. 24
Tasarım Aşamasında Dikkate Alınması Gereken Önemli RİSKLER Seçilen tasarım tekniğinin zorluğu İşlevsel gereksinimlere tam uygun bir tasarım çözümünün bulunamaması İç ve dış arayüzlerin iyi tanımlanmamış olması Uygun başarım düzeyinin elde edilememesi Donanım kısıtlarının tasarımı zorlaştırması Eski veya hazır yazılımlardan kaynaklanan sorunlar Tasarım hataları 25
SORULARINIZ 26