20.10.2012 YAZILIM SÜRECİNDE İNSAN BİLGİSAYAR ETKİLEŞİMİ YAZILIM SÜRECİNDE İNSAN BİLGİSAYAR ETKİLEŞİMİ Genel Kavramlar; Yazılım mühendisliği, tasarım sürecinin yapısının anlaşılmasını ve bu tasarım sürecinin etkileşimli sistem tasarımı içerisindeki etkinliğini belirlemeye çalışır. Kullanılabilirlik mühendisliği, genel olarak insan bilgisayar etkileşimi, özel olarak yüksek kullanılabilirliğe sahip kullanıcı dostu insan bilgisayar ara yüzlerinin tasarımında baz alınacak kriterlerin belirlenmesiyle ilgilenen bir alandır. 2009638502 – MEHMET GÖYNER 2006638002 – AHMET FARUK SÖNMEZ YAZILIM SÜRECİNDE İNSAN BİLGİSAYAR ETKİLEŞİMİ Genel Kavramlar; Tasarım mantığı ; tasarım mantığı, bilgisayar sistemi tasarımında yapısal ya da mimarisel ve işlevsel ya da davranışsal olarak neden böyle bir yol izlendiğinin bilgisidir. Müşteri (Customer) ; Ürünle ilgili isterleri belirleyen kişi/grup Tasarımcı (Designer); Ürünü geliştirmekle sorumlu kişi/grup YAZILIM SÜRECİNDE İNSAN BİLGİSAYAR ETKİLEŞİMİ Konu Başlıkları; 1. Yazılım Yaşam Döngüsü 2. Kullanılabilirlik Mühendisliği 3. Yinelemeli Tasarım ve Prototiplendirme 4. Tasarım Mantığı YAZILIM YAŞAM DÖNGÜSÜ YAZILIM YAŞAM DÖNGÜSÜ Yazılım yaşam döngüsü, yazılım geliştirme sürecindeki aktiviteleri belirleme girişimidir. Bir yazılım ürünün gelişimde; ürün ile ilgili gereksinimleri belirleyen müşteri ve ürünü tedarik eden tasarımcı olmak üzeri 2 temel öğe vardır. Ayrıca, tasarım şirketinden ürünü talep eden müşteri ile ürünün nihai kullanıcısı olan müşterinin ayrımını yapmak çok önemlidir. 1.1. Yazılım yaşam döngüsündeki aktiviteler; Gereksinimleri belirleme Mimari tasarım Detaylı tasarım Kodlama ve Birim testi Tümleştirme ve Sistem testi Kurulum ve Bakım Şekil 1: Şelale Modeli Aktiviteleri 1 20.10.2012 YAZILIM YAŞAM DÖNGÜSÜ 1. Basamak: Gereksinimleri Belirleme Gereksinimlerinin belirlenmesi aşamasında, tasarımcı ve müşteri nihai sistemden ne beklenildiği ile ilgili bir açıklama yakalamaya çalışır. Bu daha sonraki aktivitelerde belirlenecek olan sistemin beklenen hizmetleri nasıl karşılayacağından sorusundan farklıdır. YAZILIM YAŞAM DÖNGÜSÜ YAZILIM YAŞAM DÖNGÜSÜ 1. Basamak: Gereksinimleri Belirleme Bu aşama; müşteriden nihai ürünün faaliyet göstereceği iş çevresi ya da alanı bilgisinin çıkarılmasını içerir Beklentilerin kararlaştırılması kullanıcının dilinde yapılır. Tasarım sırasında ise sistematik olarak yazılım diline çevrilir. Bu çevrim başarılı tasarımın anahtarıdır. YAZILIM YAŞAM DÖNGÜSÜ 2. Basamak: Mimari Tasarım 2. Basamak: Mimari Tasarım Mimari tasarımda sistemden beklenen görevlerin nasıl yerine getirileceği üzerinde durulur. Bu aşamadaki ilk aktivite sistemin yüksek bir seviyede bileşenlerine ayrıştırılmasıdır. Bu ayrıştırmada, sistem bileşenlerinin sağladığı hizmetler gibi işlevsel gereksinimler kadar sistemin çalışacağı ortamdan kaynaklanan etkinlik, güvenirlik, süre kısıtlamaları gibi işlevsel olmayan gereksinimleri de dikkate almak gerekir. Mimari tasarımda sadece sistem bileşenlerinin hangi hizmetleri sunacağı değil, ayrıca ayrı bileşenler arasındaki etkileşimler ve paylaşılacak kaynaklar da belirlenir. YAZILIM YAŞAM DÖNGÜSÜ YAZILIM YAŞAM DÖNGÜSÜ 3. Basamak: Detaylı Tasarım 4. Basamak: Kodlama ve Birim Testi Mimari tasarımda belirlenen bileşenlerin gerçekleştireceği görevlerin detaylandırılmasıdır. Detaylı tasarımda sistem bileşenlerin özellikleri bir programlama dilinde tasarlanacak kadar detaylandırılmalıdır. Sistemin bileşenlerinin detaylı tasarımının ardından sonra bileşenlerin gerçekleştirdiği görevler işletilebilir programlama dilinde ifade edilir buna kodlama denir. Kodlamanın ardından mimari tasarımda belirlenen test ölçütlerine göre bileşenin üstlendiği görevi doğru olarak yerine getirip getirmediği test edilir. (Birim Testi) Birçok detay tasarım modeli arasından fonksiyonel olmayan gereksinimleri de karşılayan detay tasarımı seçmek uygun olacaktır. 2 20.10.2012 YAZILIM YAŞAM DÖNGÜSÜ 5. Basamak: Bütünleştirme ve Sistem Testi Her bir bileşen test edilip kendisinden beklenen görevi yeterli olarak yerine getirdiğinden emin olunduktan sonra tüm bileşenler mimari tasarımda belirtildiği gibi birleştirilir. Bir sonraki test, sistemin doğru olarak çalıştığını ve kaynakların uygun olarak paylaşıldığını anlamak için yapılır. Son sistemin bazı otoritelerce sertifikasyonu gerekebilir. YAZILIM YAŞAM DÖNGÜSÜ 6. Basamak: Kurulum ve Bakım Sistemin kabul testlerini geçişinden sonra gerçek ortama kurulumu ve anlaşmalar çerçevesinde bakım aşamasına geçişi başlar. Ürünün teslim edilmesinden sonra, tasarımcıdan sistemin yeni bir versiyonun tasarlanması istenene ya da ürünün kullanımdan kademeli olarak çekilmesine kadar sistem ile ilgili tüm işler bakım kategorisi altında düşünülür. ISO9241: ofis ortamlarındaki iş istasyonlarının kullanışlılık sertifikası YAZILIM YAŞAM DÖNGÜSÜ 6. Basamak: Kurulum ve Bakım Bu aşamada sistemde var olan ve şimdiye kadar yapılan aşamalarda gözden kaçan hatalar düzeltilir. Sistem ve bileşenlerinin revizyonu yapılır. Yaşam döngüsünün büyük bölümü bakımdan oluşur. YAZILIM YAŞAM DÖNGÜSÜ YAZILIM YAŞAM DÖNGÜSÜ 1.2. Geçerlilik ve Doğrulama Yaşam döngüsü boyunca tasarımın hem kullanıcının isteklerine cevap vermesi hem de tamamlanmış ve içsel tutarlığı sağlıyor olması gerekir. Bu kontroller sırasıyla geçerlilik ve doğrulama olarak adlandırılır. Boehm, geçerlilik ve doğrulama arasındaki farkı kullanışlı bir tarifle özetlemiştir. Geçerlilik doğru şeyin tasarlanması; Doğrulama ise bir şeyin doğru tasarlanmasıdır. YAZILIM YAŞAM DÖNGÜSÜ Formalite boşluğu 1.2. Geçerlilik ve Doğrulama Doğrulama, genellikle tek yaşam döngüsünde veya ardışık iki aktivite arasında meydana gelir. Ürünün doğru ve düzgün olarak tasarlanmasıdır. Doğrulamanın ispatı matematiksel dilin yapısına ve anlamına dayandığı için formal olarak yapılmaktadır. Geçerlilik, ürünün kabul edilebilir olarak tasarlanmasıdır. Geçerlilik doğrulamaya göre daha özneldir. Geçerliliğin temelinde kullanıcının gerçek dünya ile ilgili gereklilikleri vardır. Örnek olarak detaylandırılmış tasarım aşamasında tasarımcının algoritmada ki bir yanlışlığı düzeltmesi gibi. Verification’nın ispatı matematiksel dilin yapısına ve semantic’ine dayandığı için formal olarak yapılabilmektedir. Doğal dilde ifade edilen gereksinimlerin karşılanıp karşılanmadığını objektif olarak kontrol etmek çok zordur. Sonuç olarak, doğal dile özgü durumlarla, net ve planlanmış geliştirme süreci sonucunda oluşacak gerçek durumlar arasında mutlaka bir kayma olacaktır. = “formalite boşluğu” Gerçek gereksinimler ve kısıtlamalar Formalite boşluğu 3 20.10.2012 YAZILIM YAŞAM DÖNGÜSÜ YAZILIM YAŞAM DÖNGÜSÜ Yönetim ve Sözleşme konuları Yönetim ve Sözleşme konuları -Programın bitirileceği zaman, -Ekonomik harcamalar, -Personelin eğitim ihtiyacı, Yazılım yaşam döngüsü daha çok yazılımın teknik konularıyla ilgilenirken, zaman kısıtlamaları, ekonomiklik gibi tasarımın yönetimsel konuları bu süreç içerisinde çok da önemli değildir. Sistemin gelişimsel faaliyetleri dışında sistemin pazarlanabilirliği, personel eğitimi ve yeterlilik düzeyi gibi yönetimsel ihtiyaçlar daha geniş bir perspektifte ele alınmalıdır. YAZILIM YAŞAM DÖNGÜSÜ gibi kullanıcı ile tasarımcı arasında imzalanan anlaşma kapsamındaki konuları içerir. Kullanıcı ile tasarımcı arasında anlaşma imzalanması hukuki açıdan yarar sağlasa da etkileşimli sistemlerin tasarımında zorluk yaşanmaması için anlaşma konularında esneklik sağlanması fayda sağlar. YAZILIM YAŞAM DÖNGÜSÜ Etkileşimli Sistemler ve Yazılım Yaşam Döngüsü Etkileşimli Sistemler ve Yazılım Yaşam Döngüsü Geleneksel yazılım mühendisliği yaşam döngüsü büyük yazılım sistemlerine bir zemin oluşturmak için 1960’larda ve 1970’lerde ortaya çıktı. Tasarımların kullanışlılığının artırılması için; Sistem devingen geliştirilmeli ve kullanıcıların etkileşimi gözlemlenip değerlendirilmeli. Bu deneme ortamları gerçek ortama olabildiğince yakın olmalı. John Carroll: sistemin çok ince bir detayı kullanışlılığını etkileyebilir. Bu yüzden, kaba tahminlerin gerçek ortamda çalışacak sistemin kullanışlılığına katkısı olmayacaktır 1970'lerin sonlarında kişisel bilgisayarın çıkması, geniş bir kitle tarafından kabul görmesi ve ardından gelen büyük ticari başarısıyla ; bugün herhangi bir sistemin başarısı için hayati önem taşıyan kolay kullanımlı daha modern ve daha etkileşimli sistemler geliştirilmeye başlandı. YAZILIM YAŞAM DÖNGÜSÜ KULLANILABİLİRLİK MÜHENDİSLİĞİ Etkileşimli Sistemler için Yaşam Döngüsü Gereksinimleri belirleme Kullanılabilirlik mühendisliği; Mimari tasarım Bir ürünün kullanılabilirliğini değerlendirebilmek için hangi kriterler kullanılacak? sorusuna cevap arar. Detaylı tasarım Kodlama ve Birim testi Bir çok geri bildirim vardır. Tümleştirme ve Sistem testi Kurulum ve Bakım 4 20.10.2012 KULLANILABİLİRLİK MÜHENDİSLİĞİ Geliştirilecek sistemin kullanılabilirliğini ölçebilmek için, kullanıcı-sistem etkileşimine yoğunlaşan “Kullanılabilirlik Şartnamesi” oluşturulur. KULLANILABİLİRLİK MÜHENDİSLİĞİ - Etkinlik: Yapmak istediğini başarabildin mi? Video kaset kaydedici ile Geri alma işleminin örnek kullanılabilirlik özellikleri - Verim: Yapacağın işlemi boşa çaba sarf etmeden yapabildin mi? Özellik: Geriye dönük hata kurtarımı Ölçülen davranış: Hatalı bir program akışını geri alma Ölçüm metodu: Hatalı program durumunu geri alabilmek için gerekli kullanıcı eylemi sayısı Şu anki düzey: Şu anda bu işleve sahip bir ürün yok En kötü durum: Hatadan kurtulabilmek için kaç adım gerekiyorsa Planlanan düzey: En fazla 2 eylem En iyi düzey: Tek bir vazgeçme işlemi KULLANILABİLİRLİK MÜHENDİSLİĞİ ISO 9241 ‘ten bazı metrikler Kullanılabilirlik Memnuniyet kriterleri ölçümleri Etkinlik ölçümleri Verim ölçümleri Görev için uygunluğu Amaçların gerçekleşme Görevi zamanında yüzdesi tamamlama Memnuniyet için ölçüt Yetkin personel için uygunluğu Kullanılan etkili özelliklerin sayısı Uzman kullanıcıyla karşılaştırıldığında verimlilik düzeyi Güç özellikleri için memnuniyet ölçeği Öğrenilebilirlik Öğrenilen işlevlerin yüzdesi Öğrenme için gerekli zaman Öğrenme kolaylığı için ölçek Hata toleransı Hataların başarıyla düzeltilme yüzdesi Hataları düzeltmek için harcanan zaman Hataları düzeltmek için ölçek YİNELEMELİ TASARIM VE PROTOTİPLENDİRME Her geçişte son ürünün biraz daha olgunlaşması... Prototiplendirme türleri: - Memnuniyet: Sürecin hoşnutluk düzeyi ne? KULLANILABİLİRLİK MÜHENDİSLİĞİ Kullanılabilirlik Mühendisliği ile ilgili problemler Deneyimler sonucu oluşan ve tasarım sürecinin başında belirlenen metrikler. Gerçek ortamda uygulandığında farklı sonuçlar çıkabilir. Çok kısıtlı durumlar davranışlarına dayanır. Kullanılabilirlik değil, geliştirilen bazı metrikler karşılanıyor aslında tasarımcı ne zaman hangi eylem ya da durumun olacağını kestiremeyebilir. için çok kısıtlı kullanıcı YİNELEMELİ TASARIM VE PROTOTİPLENDİRME Prototiplendirme türleri: Atılacak (throw away); ISO 9241 kullanılabilirlik standartları Geliştirilen bir prototip sonucu elde edilen tasarım bilgilerinden faydalanılır fakat geliştirilen prototip ilerki safhalarda kullanılmaz. Artırımlı (Incremental); Son ürünle ilgili genel bir bakış açısı var. Her yinelemede ayrı bir alt bileşen geliştirilir. Evrimsel (Evolutionary); Prototip atılmaz, sonraki iterasyon bunun üzerine inşa edilir. Son ürün, her iterasyonda biraz daha olgunlaşarak oluşur. Prototiplendirme etkileşimli sistemlerde de gerçek kullanıcının yaklaşımlarını görebilmek açısından önemlidir. 5 20.10.2012 TASARIM MANTIĞI TASARIM MANTIĞI Tasarım mantığı türleri; HCI açısından faydaları; Sürece odaklanan; Tasarım alternatiflerinin karşılaştırılması ve seçim kriterlerinin paylaşılması. Tasarımcının herhangi bir şekilde göremediği çözüm alternatiflerinin ortaya çıkması sağlanabilir. TASARIM MANTIĞI Rittel’in IBIS (issue-based information system) stili temel (tasarım gösterimi & diyalog planlaması) Tasarım toplantılarında, üzerinde durulan konular ve alınan kararların kaydedilmesinde kullanılıyor. Farklı ürünler için kullanılabilecek şekilde tasarım bilgisinin genelleştirilmesinden ziyade, o ürüne özel karar sürecini kaydeder. TASARIM MANTIĞI Tasarım mantığı türleri; Tasarım mantığı türleri; Psikolojik; Yapıya odaklanan; Tasarımcıların sistemin desteklemesi gerektiğine inandıkları görevleri kaydedip, daha sonra bu görevleri yerine getirecek sistemi geliştirmeleri ile işler. Tasarımcılar sistem kullanıcılarının gözlemlenmesinde kullanılacak görevler için bir takım senaryolar önerirler. Kullanıcı gözlemleri, sistemin o versiyonunun gerçek tasarımı için gereken bilgiyi sağlar. Tasarımcının önemli görevlerle ilgili varsayımlarının sonuçları, gerçek kullanıma karşı değerlendirilerek, tasarımı şekillendirme ve geliştirme önerilerinde kullanılır Bir tasarım projesindeki tasarım alternatiflerinin yapısallaştırılmasına vurgu yapar Yapıya odaklandığı için tasarım toplantısında sorulan soruların aynısı kullanılmak zorunda değil Anahtar; doğru soruların oluşturulması ve seçenekleri değerlendirebilmek için gereken doğru kriterlere karar verilmesi.(QOC notasyonu) TASARIM KURALLARI TASARIM KURALLARI (DESIGN RULES) OTORİTE GENELLEME şeklinde iki boyutta ele alınabilir. 6 20.10.2012 OTORITE VE GENELLEME KAVRAMLARı Otorite, tasarım esnasında hangi kural(lar)ın uygulanacağı ya da öneri seviyesinde kalacağıdır. Genelleme ise, kuralın hangi tasarım durumlarında uygulanabileceğini ya da sınırlı uygulama durumlarında uygulanıp uygulanamayacağını belirler. Bazı tasarım kuralları belirli bir donanım platformuna özel ve uygulanabilirken farklı donanım platformlarına uygun olmayabilir (monochrome monitörler ve tek-çift veya üç butonlu fareler gibi). 1. ÖĞRENILEBILIRLIĞI ETKILEYEN ESASLAR Tahmin edilebilirlik: Kullanıcının etkileşim geçmişi onun gelecekte vereceği etkileşim kararlarını etkiler. Sentezlenebilirlik: Kullanıcının daha önce gerçekleştirdiği işlemlerin mevcut durumunu etkilediğini anlayabilme yeteneğidir. Aşinalık: Yeni bir kullanıcının önceki bilgisi ile etkin bir etkileşim için gerekli olan bilgi arasındaki ilişkinin ölçülmesi durumudur. Genellenebilirlik: Kullanıcının özel bir etkileşim bilgisini benzer durum ya da durumlar için kullanabilmesi durumudur. Tutarlılık: Benzer durumlarda ortaya çıkan davranışların arasında benzerlik ve uyumun olmasıdır. 2. ESNEKLIĞI ETKILEYEN ESASLAR Multi-threading: Sistemin, kullanıcının aynı anda birden fazla görev (task) ile etkileşimini destekleyebilme yeteneğidir. Görev Geçişkenliği: Sistem ve kullanıcının görev uygulamalarının kontrolünü birbirlerine devredebilme durumdur (örneğin, acil bir durumda otomatik pilotun devreye sokulması). Yerine Geçebilirlik: Birbirine eşit olan giriş ve çıkış değerlerinin, birbirlerinin yerine geçebilmesi durumudur (çizilen çizgi uzunluğunun program tarafından bulunması ya da koordinatların verilerek çizginin program tarafından çizilmesi). Uyarlanabilirlik: Kullanıcı ara yüzünün kullanıcı tarafından programlama bilgisi dahilinde (adaptability) ya da sistem tarafından (adaptivity) değiştirilebilmesidir. KULLANıLıRLıĞı DESTEKLEYEN ESASLAR Söz konusu esaslar üç ana kategoriye ayrılmıştır: 1. Öğrenilebilirlik (Learnability): Yeni kullanıcıların etkin bir etkileşime girmeleri ve yüksek performans gösterebilme kolaylığıdır. 2. Esneklik (Flexibility): Kullanıcı ve sistemin bilgiyi birbirine transfer edebilecekleri alternatiflerin çokluğudur. 3. Sağlamlık (Robustness): Hedeflerin gerçekleştirilmesi ve değerlendirilmesinde kullanıcıya sağlanan destektir. 2. ESNEKLIĞI ETKILEYEN ESASLAR Diyalog İnisiyatifi: Kullanıcı ile sistem arasındaki iletişimin başlaması esnasında hangisinin diyalogda inisiyatif sahibi olduğudur. - System pre-emptive: Diyalog sistem tarafından başlatılır ve kullanıcının bilgiye ulaşabilmesi için talepte bulunması gerekir. - User pre-emptive: Kullanıcı sistemle istediği herhangi bir şekilde etkileşim içine girebilir. 3. SAĞLAMLıĞı ETKILEYEN ESASLAR Sağlamlık, hedeflerin başarılı bir şekilde gerçekleştirilmesinde ve değerlendirilmesinde kullanıcıya sağlanan destektir. 1. Gözlenebilirlik (Observability) 2. Düzeltilebilirlik (Recoverability) 3. Görev Uyumu (Task Conformance) 4. Yanıt Verme (Responsiveness) 7 20.10.2012 3. SAĞLAMLıĞı ETKILEYEN ESASLAR 3. SAĞLAMLıĞı ETKILEYEN ESASLAR 3.1. Gözlenebilirlik (Observability): Kullanıcıya sistemin iç durumunu değerlendirme izninin verilmesi durumudur. - Dolaşılabilirlik : Sistemin geçerli iç durumunun ara yüzün sınırlılığı ile araştırılma imkanının sağlanmasıdır. - Varsayılan statik/dinamik: Kullanıcının hata yapmasını önlemeye yöneliktir (bir nevi hata önleme mekanizması). - Ulaşılabilirlik: Kullanıcının herhangi bir sistemden diğer bir sisteme geçiş yapabilmesi durumudur. - Kalıcılık : İletişimin etkisinin devamlılığı ve kullanıcının bu etkiyi kullanabilmesidir. - Çalışma Görünürlüğü: Kullanıcının bir sonraki işlemde nasıl bir performans gösterebileceğidir. 3.2. Düzeltilebilirlik (Recoverability): Bir hatanın farkına varıldığında kullanıcıya bunu düzeltebilme imkanının sağlanmasıdır. - İleri-Geri : Metin editörlerinde bir hata durumunda işlemi geri adımlamak için undo komutunu tetikleyen buton kullanabilir. Adımlama ileriye doğru da olabilir. - Ulaşılabilirlik: Düzeltilebilirlik erişilebilirlikle ilgilidir. Kullanıcıya mevcut durumundan hedeflediği bir duruma geçebilmesine imkan tanınmasıdır. 3. SAĞLAMLıĞı ETKILEYEN ESASLAR 3.3. Görev Uyumu (Task Conformance): Sistem hizmetlerinin kullanıcının işlemlerinin tümünü destekleme derecesidir. Görevlerin tamamlanabilmesi için sistem ara yüzlerinin anlaşılır olması gerekir. STANDARTLAR Smith, yazılım ve donanımın karakteristik özelliklerini iki başlık altında toplamıştır: Geliştirilecek Teori altındaYazılımın yatan Türü 3.4. Yanıt Verme (Responsiveness): Kullanıcı ile sistem arasındaki iletişimin (communication) oranıdır. - Cevap verme zamanı: Sistemin kullanıcıya durum değişikliğini bildirene kadar geçen zamandır. - İstikrar: Aynı / Benzer durumlardaki değişmezliğin sürdürülmesidir. Standartlar Geliştirme Değişen Ortamının Özellikleri STANDARTLAR 1. 2. Teori altında yatan: Donanım için kullanılan standartlar ergonomi/insan faktörü ve psikolojiye dayanır, iyi bilinirler ve donanım tasarımına kolayca uyarlanabilirler. Yazılım standartları ise psikolojiye ve bilişsel bilime dayanırlar, nispeten daha az bilinirler ve yazılıma uyarlanmaları kolay değildir. Değişim: Donanımın güncellenmesi yazılıma göre daha pahalı ve daha zordur. Donanım için değişiklik isteği yazılımdaki gibi sıklıkla ortaya çıkmaz. Standartlar nispeten sabit olduklarından dolayı yazılımlardan çok donanımlar için uygundurlar. STANDARTLAR ISO 9241 standardında kullanışlılık kavramı etkililik, yeterlilik, memnuniyet ile kullanıcıların belirli çevrelerde hedeflerini başarmaları şeklinde tanımlanmıştır. Etkililik: Doğru ve tamlık ile kullanıcıların hedeflerini başarmaları Etkinlik: Kaynakların, hedeflerin doğru ve eksiksiz olarak başarılmasına yönelik olarak harcanmasıdır. Memnuniyet: Kullanıcı ve sözkonusu sistemin kullanımından etkilenen insanlar için sistemin konfor ve kabul edilebilirlik düzeyidir. 8 20.10.2012 ARAYÜZ TASARıMıNDA SHNEIDERMAN’ıN 8 ALTıN KURALı YÖNERGELER Etkileşimli sistemler için tasarım kurallarının başında fikir verme ve daha genel esaslar (yönergeler) gelmektedir. Yönergeler otoritede düşük olma eğilimindedirler ve uygulamada daha geneldirler. Yönergeler, tasarıma başlamadan önce tasarımcıya fikir verme amaçlıdırlar. 1. 2. 3. 4. 5. 6. 7. 8. ZOR GÖREVLERIN BASITLEŞTIRILMESI NORMAN’ıN 7 KURALı 1. 2. 3. 4. 5. 6. 7. Tutarlılık için gayret etmek Kullanıcılara sık kullandıkları eylemlere yönelik kısayol / macro / tuş kombinasyonları sağlama ve kullanma imkanı verme Bilgilendirici geri dönütler sunma Bir görevi tamamlayan kullanıcıya bilgilendirici diyaloglar tasarlamak Hataların önlemesi ve basit hataların yönetilmesi Hareketlerin kolayca geri alınmasına izin vermek İç kontrolün desteklenmesi Kısa süreli hafıza yüklemesini azaltmak. IÇIN Kafanızdaki ve çevrenizdeki bilgileri birlikte kullanmak Görevlerdeki yapıyı basitleştirme (Yüksek düzeyli bellek yüklemesinden ya da karmaşık problem çözme becerilerinden kaçınmak için görev yapıları basitleştirilmelidir. Basitleştirme, zihinsel yardım sağlayarak, görevler hakkında daha fazla bilgi ve daha iyi dönütler veren teknolojiden yararlanılarak, görevi yada görevin bir bölümünü otomatikleştirerek ya da görevin doğasını değiştirerek yapılabilir.) Nesneleri görünür yapma (Uygulama ile değerlendirme arasında bağlantı olmalıdır.) Haritalamaları doğru yapma (Kullanıcının hareketleri sistem kontrollerinde ayrıntılarıyla planlanmalıdır. Böylece neyin ne kadar yapıldığı daha açık bir hale gelir.) Hem doğal hem yapay sınırlamaların gücünden yaralanma. Hata için tasarım (Kullanıcıların yapmaları muhtemel hataları önceden tahmin edip, sistem içinde geri almaları da tasarlamak gerekir.) Ara yüzde küçük farklılıklar olabilir ama kritik kontrol öğeleri herkesin alışageldiği şekilde olmalıdır (otomobil örneği). HCI ŞABLONLARı / ÖRÜNTÜLERI Tasarıma başlamanın bir yolu daha önce başarısını kanıtlamış örneklerden yararlanmaktır yani bir sistem ya da paradigmayı başarılı kılan unsurları tekrar kullanmaktır. Örüntü: Belirli bir kurala göre dizilmiş şekil veya sayı dizisidir. Örüntü yaklaşımında, başarılı tasarımların yeni durumlarda tekrar tekrar kullanılabilen temel bilgilerinin özetleri alınarak tekrar kullanılır. Örüntüler, psikolojik teorilerden değil başarılı uygulamaların sonuçlarından üretilirler ve tasarımcıya bir şeylerin nasıl yapılacağını değil, nelerin neden yapılması gerektiğini anlatırlar. KAYNAKLAR hacettepe.edu.tr http://www.hcibook.com/e3/ 9