Yazılım Sürecinde İnsan Bilgisayar Etkileşimi

Slides:



Advertisements
Benzer bir sunumlar
Test Geliştirme ve Madde Analizi
Advertisements

YAZILIM GELİŞTİRME SÜRECİ
Sistem Analizi ve Planlama
GETTİNG THE GAMEPLAY WORKİNG (Oyun Mekaniğinin Hayata Geçirilmesi)
İSİM UZAYLARI.
Bilgi Teknolojisinin Temel Kavramları
Maltepe Üniversitesi Mühendislik Fakültesi
Yazılım Mühendisliği Bölüm - 7 Yazılım Doğrulama ve Geçerleme
BELGELEME Ian Sommerville, “Software Documentation”,
Burcu Musaoğlu Data Sistem A.Ş..
ÖĞRETİM PROGRAMLARINDA ÖLÇME VE DEĞERLENDİRME YÖNTEM VE TEKNİKLERİ
İÇERİK İhtiyaç Amaç Yazılım Emniyeti Yaşam Döngüsü Süreçleri Sonuç
Yazılım Test Süreci. Yazılım test süreci Test Hazırlık Adımında Neler Yapılmalıdır? Test edilecek yazılıma ait analiz ve teknik tasarım aşamaları ile.
Yazılım Proje Yönetimi
Nesneye Dayalı Programlama
Afyon Kocatepe Üniversitesi
Web Tasarımı Nedir?.
BİLGİSAYAR DESTEKLİ TASARIM
END3061 SİSTEM ANALİZİ VE MÜHENDİSLİĞİ
Yapılandırmacı yaklaşımın dayandığı ilkeler
İNSAN BİLGİSAYAR ETKİLEŞİMİ
GÖKAY GÖKTAŞ.  Hollywood, iyi belirlenmiş hedeflerle birlikte iyi bir sisteme sahiptir. Film yapımcısı filmin nasıl yapılacağını bilir. Film yapım aşamasındayken.
SİSTEM ANALİZİ VE TASARIMI
Chapter 1: Giriş.
YONT 172 BİLGİ TEKNOLOJİLERİNE GİRİŞ II
İNSAN BİLGİSAYAR ETKİLEŞİMİ
END3061 SİSTEM ANALİZİ VE MÜHENDİSLİĞİ
END3061 SİSTEM ANALİZİ VE MÜHENDİSLİĞİ
SABPO METODOLOJİSİ KULLANILARAK FIPA UYUMLU ÇOK-ETMENLİ BİR OTEL REZERVASYON SİSTEMİNİN TASARIMI VE GERÇEKLEŞTİRİLMESİ Ayşegül Alaybeyoğlu, Geylani Kardaş,
Grup üyeleri: Selen ERGÜ Galip Kaya Nazgül BARPİEVA
ALİ FINDIK Galatasaray Ünİversİtesİ 2015
İnsan Bilgisayar Etkileşimi
SQL’ e Giriş Uzm. Murat YAZICI.
Şahin BAYZAN Kocaeli Üniversitesi Teknik Eğitim Fakültesi
Veri Tabanı Programcılığı
Karar Bilimi 1. Bölüm.
ISO ÇEVRE YÖNETİM SİSTEMİ TEMEL EĞİTİMİ
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
KALİTE YÖNETİM SİSTEMİ
Eğitim Psikolojisi -Eğitim Psikolojisinin Kapsamı-
SİSTEM VE YAZILIM Bilgisayar sistemleri donanım, yazılım ve bunları işletmek üzere gerekli işlemlerden oluşur. Yazılım, bilgisayar sistemlerinin bir bileşeni.
PROJENİN ADI “Doğrusal Konumlandırıcılar” için Profesyonel Kontrol Ara yüz Tasarımı ve İmalatı.
YAPIM KUŞAĞI ÜRETİYORUM.
 Projeler üç nedenle sona erdirilirler. 1. Proje amaçlarına ulaşılmış ve başarılı olarak tamamlanmıştır. 2. Projenin durdurulması gerekmektedir. 3. Proje.
İNSAN-BİLGİSAYAR ETKİLEŞİMİ. İnsan Bilgisayar Etkileşimi (İBE) alanındaki pratik ve teorik çalışmalar, bilgi ve iletişim teknolojilerinin insana ve insan.
İNSAN-BİLGİSAYAR ETKİLEŞİMİ. Bağlam Arayüz Görev Kullanıcı İBE Ana Bileşenleri.
NOT: Bu slayt üzerindeki resmi değiştirmek için resmi seçin ve silin. Ardından, kendi resminizi eklemek için yer tutucudaki Resimler simgesini tıklatın.
BÖLÜM 11 DEĞERLENDİRME. BÖLÜM 11 DEĞERLENDİRME.
Bilgisayar Mühendisliğindeki Yeri
Yazılım Mühendisliği YYurtaY. Ekip çalışması
Sistem Analizi ve Tasarımı
MAKİNE ELEMANLARI Prof.Dr.Mehmet Tunç ÖZCAN. TASARIM.
Programlı Öğretim.
YONT 172 BİLGİ TEKNOLOJİLERİNE GİRİŞ II
Oyun, Sanal Dünya ve Simülasyonların Eğitimde Kullanımı
Yazılım Mühendisliği Standartları
SİSTEM ANALİZİ VE TASARIMI
Optimizasyon Teknikleri
Adler’in Yaklaşımı Temel Kavramlar Aile bütünlüğü:
BİYOLOJİDE ÖZEL KONULAR
Problem Çözme Yaklaşımları
MBLOCK ile Arduino ve Robotik Kodlama
ONTOLOJİ GELİŞTİRME ALANINDA ÇEVİK YAKLAŞIMLAR
İnsan Bilgisayar Etkileşimi Teoriler ve Yaklaşımlar – 2
AES S Kutusuna Benzer S Kutuları Üreten Simulatör
Bölüm 6: Kullanıcı Tanımlı Fonksiyonlar I
Dereceli Puanlama Anahtarı Hazırlama
Yazılım Sürecinde İnsan Bilgisayar Etkileşimi BTÖ711 – İnsan Bilgisayar Etkileşimi Bahar Recep BAŞARICI.
YONT 172 BİLGİ TEKNOLOJİLERİNE GİRİŞ II
Web Tasarımı Nedir?.
Sunum transkripti:

Yazılım Sürecinde İnsan Bilgisayar Etkileşimi Bölüm 6 Yazılım Sürecinde İnsan Bilgisayar Etkileşimi

Konu Başlıkları Yazılım mühendisliği ve etkileşimli sistemler için tasarım süreci Usability engineering Iterative design and prototyping Design rationale

Yazılımın Yaşam Döngüsü Tasarımın başlıca amacı etkileşimli sistemlerin başarılı ve kullanılabilir olarak tasarlanabilmesi için güvenilir teknikler geliştirmektir. Yazılım mühendisliği, yazılımın tasarım sürecini ya da yaşam döngüsünü anlamayı sağlayan bir disiplindir. Bir sistemin kullanılabilirlik (usability) için tasarlanması yaşam döngüsünün belli bir evresi yerine tüm evrelerini içerir.

Yazılımın Yaşam Döngüsü Bir sistemin tasarımında iki ana taraf vardır. Bunlardan birisi kullanıcı diğeri ise tasarımcıdır. Tasarım sürecinde her iki tarafın üstlendiği roller farklıdır. Genellikle her iki tarafı farklı kişiler temsil eder.

The waterfall model Requirements specification Architectural design Detailed design Coding and unit testing Integration and testing Operation and maintenance

Yaşam Döngüsünün Aşamaları Gerekenlerin Belirlenmesi Tasarımcı ile kullanıcı tasarımı yapılacak sistem ile ilgili beklentileri kararlaştırırlar.Beklentiler sadece sistem ile ilgili değil aynı zamanda çalışacağı ortam ile ilgilidir. Beklentilerin kararlaştırılması kullanıcının dilinde yapılır. Tasarım sırasında ise matematiksel dil yapısında olan yazılım diline çevrilir. Bu çevirim başarılı tasarımın anahtarıdır. Mimarisel Tasarım Sistem için gerekli olan servisler, bileşenler, fonksiyonel ve fonksiyonel olmayan ihtiyaçlar belirlenir. Bu kısım yazılım mühendisliği alanına girmektedir. Detaylandırılmış Tasarım Mimarisel bileşenler ve bileşenler arası ilişkiler gözden geçirilerek geliştirilir. Mimarisel bileşenlerin geliştirilmesinde birden çok seçenek vardır. Bunlar arasıdan en iyisinin seçilmesi sistemin fonksiyonel olmayan gerekliliklerinin sağlanmasıyla mümkündür.

Yaşam Döngüsünün Aşamaları Kodlama ve Bileşenlerin Test Edilmesi Detaylandırılmış tasarımdan sonra şimdiye kadar yapılanlar programlama diliyle ifade edilir. Çalıştırılabilir programlama diline çevrilir. Buna kodlama denir. Kodlamadan sonra bileşenlerin doğru ve istenildiği kriterlerde çalışıp çalışmadığı test edilir. Bütünleştirme ve Test Edilmesi Bileşenler kodlandıktan ve test edildikten sonra mimarisel tasarımla bütünleştirilmesi gerekir. Bu aşamadan sonra bileşen istenildiği gibi çalışıp çalışmadığı ve kabul edilebilir olup olmadığı açısından test edilir. Düzeltme 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. Düzeltme aşaması yaşam döngüsündeki diğer aşamalara geri besleme (feedback) sağlamaktadır.

Verification and validation Real-world requirements and constraints The formality gap Yaşam döngüsü boyunca sistemin hem kullanıcının isteklerine cevap vermesi hem de tamamlanmış ve içsel tutarlığı sağlıyor olması gerekir. Bu şartların kontrolü verification ve validation ile sağlanır. Verification Ürünün doğru ve düzgün olarak tasarlanmasıdır. Genellikle tek yaşam döngüsünde veya ardışık iki aktivite arasında meydana gelir.Ö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. Validation Ürünün kabul edilebilir olarak tasarlanmasıdır. Validation verification’a göre daha özneldir. Validation’ın ispatı iki dilin birbirine dönüşümünü kapsar. Validation’ın temelinde kullanıcının gerçek dünya ile ilgili gereklilikleri vardır. Bu gereklilikler matematiksel dünya da bulunmamaktadır. Bu nedenle gerçek dünyanın informal durumları tam olarak formal hale dönüştürülememektedir. Bu durum The formality gap olarak isimlendirilir. The formality gap validation’ın ispatının nesnel olarak belli bir ölçüde yapılmasına dayanır.  

Yönetimsel ve Anlaşımsal (contractual) Sonuçlar Programın bitirileceği zaman, Ekonomik harcamalar, Personelin eğitim ihtiyacı, Kullanıcı ile tasarımcı arasında imzalanan anlaşmayı 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 esneklik açısından zorluk yaşanmasına neden olabilir.

Etkileşimli Sistemler için Yaşam Döngüsü The waterfall modelindeki gibi aktivite sırasında lineer bir akış beklenmemelidir. İterative’dir. Bir aşama diğerini etkiler. Bir çok geri besleme (feedback) vardır. Requirements specification Architectural design Detailed design Coding and unit testing Integration and testing Operation and maintenance

Usability engineering Mühendislik kodlama, amaçları gerçekleştirme ve memnun edici bir şekilde sistemi nasıl tamamlayacağına karar vermektir. Usability mühendisliği ürünün tasarımında usability için hangi kriterlerin uygulanacağının bilinmesidir. Ürünün usability testi tamamen kullanıcının tecrübesinin ölçümüne dayanmaktadır. Yazılımsal yaşam döngüsü usability mühendisliğine, usability spesifikasyonlarının, gerekliliklerin ve sistemin usability’sine katkı da bulunmak için kullanıcı-sistem etkileşiminin özeliklerinin belirlenmesinde katkı da bulunur.

Usability specification measuring concept: Backward recoverability tanımlanmıştır. measuring method: Attribute’ın nasıl ölçüleceği ile ilgilidir. Bu durumda kullanıcıların hangi programlama sırasında olduklarına bakılmadan dışarıdan bir çok kullanıcının işlemini iptal etmesinin gerekliliğin içerir. now level: Bilgisayar tabanlı olsun ya da olmasın var olan sistemin ölçülen değeridir. worst case: Bir görev için ölçülen kabul edilebilir en düşük değerdir. Son üründe neyin kabul edilip neyin edilemeyeceği ile ilgili net bir ayırım yapılmasını sağlar. planned level: Tasarım için hedeflenendir. best case: Geliştirilen araçlar ve teknoloji için ölçülen en iyi değerdir.

part of a usability specification for a VCR Attribute: Backward recoverability Measuring concept: Undo an erroneous programming sequence Measuring method: Number of explicit user actions to undo current program Now level: No current product allows such an undo Worst case: As many actions as it takes to program-in mistake Planned level: A maximum of two explicit user actions Best case: One explicit cancel action

ISO usability standard 9241 Genel olarak kullanılan usabilty kategorileri: effectiveness Yapmak istediğini başarabildin mi? efficiency Yapacağın işlemi boşa çaba sarf etmeden yapabildin mi? satisfaction Süreçten eğlendin mi?

some metrics from ISO 9241 Usability Effectiveness Efficiency Satisfaction objective measures measures measures Suitability Percentage of Time to Rating scale for the task goals achieved complete a task for satisfaction Appropriate for Number of power Relative efficiency Rating scale for trained users features used compared with satisfaction with an expert user power features Learnability Percentage of Time to learn Rating scale for functions learned criterion ease of learning Error tolerance Percentage of Time spent on Rating scale for errors corrected correcting errors error handling successfully

Usability Mühendisliği İle İlgili Problemler Usability metrics, çok belirgin durumlarda çok belirgin kullanıcı aktivitelerini ölçer. Tasarımcı ne zaman hangi eylem ya da durumun olacağını bildiği zaman, amaçlarını gözlemlerine göre belirler.

Iterative design and prototyping Iterative tasarım, tamamlanmayan gerekliliklerden doğan mirassal problemlerin üstesinden gelmektedir. Iterative tasarım prototype kullanımı ile sağlanır. Prototypes: Sistem ile ilgili bazı özellikleri görselleştirir. Çeşitleri: throw-away: Bu prototype oluşturup ve test eder. Son ürünü oluşturduktan sonra gerçek prototype’ı yok ediyor. Final requirements’a gelindiğinde tasarım sürecinin kalınına devam ediliyor. Incremental:Son ürün ayrı bir bileşen olarak oluşturulmuş. Son sistem için bileşenlerin birbirinden bağımsız ve küçük olduğu ayrıntılı tasarım yapılmış. Evolutionary:Bu prototype’da yok etme bulunmamaktadır. Her bir aşama tasarımın diğer iterasyonları için temel oluşturur.

Management issues Zaman: Prototype oluşturmak zaman almaktadır ve eğer prototype olarak thow away kullanılırsa real design task’a kadar bir çok değerli zaman boşa harcanmış olur. Prototype’in değeri hızlı olmasına bağlıdır. Protoype’ın hızlı oluşturulması yanlış ve hatalı durumlara yol açmamalıdır. Planlama: Çoğu proje yöneticisinin prototype’ı da içeren tasarım süreci ile ilgili planlama ve ödemeler konusunda tecrübesi bulunmamaktadır. Fonksiyonel olmayan özellikler: Güvenlik ve güvenirlik gibi fonksiyonel olmayan özellikler genellikle prototype hazırlanırken göz ardı edilir. Prototype’ın özelliklerinin kullanılabilirliği değerlendirilirken ürünün kabulü ile ilgili problem çıkabilmektedir. Contracts: Tasarım sürecinin bütünü için kullanıcı ile tasarımcı anlaşma imzalanmaktadır. Fakat prototype için böyle bir anlaşma imzalanmamaktadır. Anlaşma olmadığı için küçük değişiklikler prototype’larda çok hızlı değiştirilebilirken aynı durum tasarımın geneline uygulanamamaktadır.

Techniques for prototyping Storyboards Prototype hazırlanmasında kullanılan en basit tekniktir. Oluşturulmasında bilgisayarın kullanılması gerekmemektedir. Storyboard’ların temelinde film endüstrisi bulunmaktadır. Storyboardlar etkileşimli sistemlerin tasarımında etkileşimi artırmak amacıyla ara yüzde kullanılabilmektedir. Gelişen teknoloji ile storyboard’lar el yerine bilgisayar kullanılarak tasarlanabilmektedir. Limited functionality simulations Hyper Card sistem için grafiklerin oluşturulduğu animasyon araçlarıdır. Aynı zamanda HyperTalk Programlama ile yazılan script’leri birleştirerek etkileşim oluşturabilmektedir. Simülasyon için diğer bir teknikte Wizard of Oz’dur. Bu teknikten yararlanarak tasarımcılar sınırlı sayıda fonksiyonlara sahip prototype’lar oluşturabilir.

Techniques for prototyping High Level Programming Hyper talk özel amaçlar için kullanılan yüksek seviyeli programlama dilidir.Tasarımcı bu dili kullanarak cevap hızını ve boşluk etkinliği gibi özellikleri kolaylıkla programlayabilir. Etkileşimli sistem tasarımının zor taraflarından bir tanesi donanımın kontrol edilmesidir. Yüksek seviyeli programlama dilleri kullanıcıya bu açıdan kolaylık sağlar. Kullanıcı arayüzü yönetim sistemi (UIMS) yüksek seviyeli programlamayı destekler.

Iterative Tasarım ile İlgili Uyarılar Iterative tasarımda proje teslim zamanını aşmadan hızlı prototype tasarlanması, değerlendirilmesi ve modifiye edilmesi ideal olandır. Fakat iki problem ile karşılaşabiliriz: Prototype sürecinin çok başında tasarım kararının alınması yanlıştır. Değerlendirme sürecinde tasarımın kullanımı ile ilgili bir sorun çıkarsa, önemli olan bu sorunun kaynağını anlamaktır.

Design rationale Design rationale bilgisayar sisteminin tasarım için neden bir yol olduğunun bilgisidir. Yapısal, mimarisel, fonksiyonel veya davranışsal desciption’ları içerir.Design rational yaşam döngüsü boyunca oluşan yansıma ve dokümantasyon ile ilişkilidir.Design rationale çok büyük ve tasarım alanının zaman içerisindeki değişimini açıklayan kompleks bir sistemdir. Design rationale’ın faydaları: Yaşam döngüsü yoluyla iletişimi sağlar Ürünler arası bilginin tasarım için tekrar kullanımını sağlar. Tasarım için kararların daha dikkatli verilmesi için tasarımcıları zorlar. Alternatiflerin değerlendirilmesinin doğr biçimde yapılmasını sağlar. Geniş tasarım alanlarını organize eder. İçeriksel bilgiyi yakalar.

Design rationale Design Rational çeşitleri: Process-oriented Dağıtım ve karar verme sırasını muhafaza eder (preserve). Structure-oriented Düşünülen tasarım alternatiflerinin post hoc yapısını vurgular. Örnek: Issue-based information system (IBIS) Design space analysis

Issue-based information system (IBIS) Design rationale’da yapılan çoğu işin temelinde IBIS(Issue Based Information System) vardır. Temel elemanları: issues – Bir kök issue ile ilgili hiyerarşik yapıdır. positions – Bir issue’nın potansiyel çözümleridir. arguments Pozisyonlar ile issues arasındaki ilişkinin modifiye edilmesidir. gIBIS grafiksel versiyonudur.

structure of gIBIS Sub-issue Issue Position Argument supports responds to objects to supports questions generalizes specializes

Design space analysis QOC – hierarchical structure: MacLean ve meslektaşı tarafından space tasarım alternatiflerinin post hoc yapısının vurguladığı sorular, seçenekler ve kriterlere dayalı bir yaklaşımdır. QOC – hierarchical structure: questions (and sub-questions) – Tasarımın büyük issue’larını temsil eder. options – Sorulara alternatif çözümler sağlar. criteria – Seçim yapmak için seçeneklerin değerlendirilmesi anlamına gelir. Decision Representation Language (DRL) – QOC benzer yapıdadır fakat daha geniş ve daha formal semantic yapıda bir dildir.

the QOC notation Criterion Option Question Option Criterion Option … Consequent Question … Question

Psychological design rationale Kullanıcılar için hangi işlemi gerçekleştireceğini anlayan dışsal bir tasarım yapmayı amaçlar. Psychological design rationale’ı ilk aşaması sistemin önerdiği ve kullanıcının cevaplarını doğru bir şekilde vermeye çalıştığı sorularla karakterize ettiği task’ın belirlenmesidir. scenarios task’ın test edilmesini önerir. Kullanıcılar sistem üzerinde gözlemlenirler. Sistem psikolojik ideaları explicit olarak yapar. Tasarımın olumsuz tarafları tasarımın diğer bir versiyonunu geliştirmek için kullanılır.