Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

İNSAN BİLGİSAYAR ETKİLEŞİMİ YAZILIM SÜRECİNDE İNSAN BİLGİSAYAR ETKİLEŞİMİ Murat ÇINAR.

Benzer bir sunumlar


... konulu sunumlar: "İNSAN BİLGİSAYAR ETKİLEŞİMİ YAZILIM SÜRECİNDE İNSAN BİLGİSAYAR ETKİLEŞİMİ Murat ÇINAR."— Sunum transkripti:

1 İNSAN BİLGİSAYAR ETKİLEŞİMİ YAZILIM SÜRECİNDE İNSAN BİLGİSAYAR ETKİLEŞİMİ Murat ÇINAR

2 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. 2/40

3 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İ 3/40

4 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 SÜRECİNDE İNSAN BİLGİSAYAR ETKİLEŞİMİ 4/40

5 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. YAZILIM YAŞAM DÖNGÜSÜ 5/40

6 1.1. Yazılım yaşam döngüsündeki aktiviteler; Şekil 1: Şelale Modeli Aktiviteleri YAZILIM YAŞAM DÖNGÜSÜ Gereksinimleri belirleme Gereksinimleri belirleme Mimari tasarım Mimari tasarım Detaylı tasarım Detaylı tasarım Kodlama ve Birim testi Kodlama ve Birim testi Tümleştirme ve Sistem testi Kurulum ve Bakım Kurulum ve Bakım 6/40

7 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Ü 7/40

8 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Ü 8/40

9 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. YAZILIM YAŞAM DÖNGÜSÜ 9/40

10 2. Basamak: Mimari Tasarım 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Ü 10/40

11 3. Basamak: Detaylı Tasarım 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. Birçok detay tasarım modeli arasından fonksiyonel olmayan gereksinimleri de karşılayan detay tasarımı seçmek uygun olacaktır. YAZILIM YAŞAM DÖNGÜSÜ 11/40

12 4. Basamak: Kodlama ve Birim Testi 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) YAZILIM YAŞAM DÖNGÜSÜ 12/40

13 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. ISO9241: ofis ortamlarındaki iş istasyonlarının kullanışlılık sertifikası YAZILIM YAŞAM DÖNGÜSÜ 13/40

14 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. YAZILIM YAŞAM DÖNGÜSÜ 14/40

15 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Ü 15/40

16 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Ü 16/40

17 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. YAZILIM YAŞAM DÖNGÜSÜ 17/40

18 Formalite boşluğu 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” YAZILIM YAŞAM DÖNGÜSÜ Gerçek gereksinimler ve kısıtlamalar Formalite boşluğu 18/40

19 Yönetim ve Sözleşme konuları 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Ü 19/40

20 Yönetim ve Sözleşme konuları -Programın bitirileceği zaman, -Ekonomik harcamalar, -Personelin eğitim ihtiyacı, 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Ü 20/40

21 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ı. 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Ü 21/40

22 Etkileşimli Sistemler ve Yazılım Yaşam Döngüsü 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 YAZILIM YAŞAM DÖNGÜSÜ 22/40

23 Etkileşimli Sistemler için Yaşam Döngüsü Bir çok geri bildirim vardır. YAZILIM YAŞAM DÖNGÜSÜ Gereksinimleri belirleme Gereksinimleri belirleme Mimari tasarım Mimari tasarım Detaylı tasarım Detaylı tasarım Kodlama ve Birim testi Kodlama ve Birim testi Tümleştirme ve Sistem testi Kurulum ve Bakım Kurulum ve Bakım 23/40

24 Kullanılabilirlik ???? – Bir uygulamada belirlenen işlerin kullanıcılar tarafından, gerekli eğitimin ve teknik desteğin verilmesinin ardından, uygun çevre koşullarında kolaylıkla ve etkili biçimde kullanılabilmesi olarak tanımlanabilmektedir. KULLANILABİLİRLİK MÜHENDİSLİĞİ 24/40

25 Kullanılabilirlik mühendisliği; – Bir ürünün kullanılabilirliğini değerlendirebilmek için hangi kriterler kullanılacak? sorusuna cevap arar. KULLANILABİLİRLİK MÜHENDİSLİĞİ 25/40

26 Geliştirilecek sistemin kullanılabilirliğini ölçebilmek için, kullanıcı- sistem etkileşimine yoğunlaşan “Kullanılabilirlik Şartnamesi” oluşturulur. Video kaset kaydedici ile Geri alma işleminin örnek kullanılabilirlik özellikleri KULLANILABİLİRLİK MÜHENDİSLİĞİ Ö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 26/40

27 ISO 9241 kullanılabilirlik standartları - Etkinlik: Yapmak istediğini başarabildin mi? - Verim: Yapacağın işlemi boşa çaba sarf etmeden yapabildin mi? - Memnuniyet: Sürecin hoşnutluk düzeyi ne? KULLANILABİLİRLİK MÜHENDİSLİĞİ 27/40

28 ISO 9241 ‘ten bazı metrikler KULLANILABİLİRLİK MÜHENDİSLİĞİ KullanılabilirlikEtkinlikVerimMemnuniyet kriterleriölçümleriölçümleriölçümleri Görev içinAmaçların gerçekleşmeGörevi zamanındaMemnuniyet uygunluğuyüzdesi tamamlamaiçin ölçüt Yetkin personelKullanılan etkiliUzman kullanıcıylaGüç özellikleri için uygunluğuözelliklerin sayısıkarşılaştırıldığında için memnuniyet verimlilik düzeyiölçeği ÖğrenilebilirlikÖğrenilen işlevlerin Öğrenme içinÖğrenme kolaylığı yüzdesigerekli zamaniçin ölçek Hata toleransıHataların başarıyla Hataları düzeltmekHataları düzeltmek düzeltilme yüzdesiiçin harcanan zamaniçin ölçek 28/40

29 Kullanılabilirlik testleri en uygun biçimde İnsan Bilgisayar Etkileşimi araştırmaları için kurulmuş olan laboratuarlarda yapılmalıdır. KULLANILABİLİRLİK MÜHENDİSLİĞİ 29/40

30 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 için çok kısıtlı kullanıcı 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. KULLANILABİLİRLİK MÜHENDİSLİĞİ 30/40

31 Her geçişte son ürünün biraz daha olgunlaşması... Prototiplendirme türleri: – Atılacak (throw away); 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. YİNELEMELİ TASARIM VE PROTOTİPLENDİRME 31/40

32 Prototiplendirme türleri: – 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. YİNELEMELİ TASARIM VE PROTOTİPLENDİRME 32/40

33 Prototiplendirme problemleri: – Yönetici açısından; Zaman kısıtı Planlama güçlüğü Fonksiyonel olmayan özellikler prototiplendirmede genelde göz ardı edilir. Sözleşmeler; prototipleme legal bir sözleşme için temel olamaz. Prototiplendirme sonuçlarının bağlayıcılığı olabilmesi için dökümantasyonu sağlanıp anlaşılması gerekir. YİNELEMELİ TASARIM VE PROTOTİPLENDİRME 33/40

34  Prototiplendirme Teknikleri o Hikaye Kartları Bilgisayar sisteminde olmayabilir. Sistemin akışının yada etkileşim noktalarının hikaye edilmesi o Limitli işleve sahip simülasyonlar Uygulamanın çalışmasını daha iyi gösterebilir. Etkileşim fazladır. o Üst düzey programlama desteği UIMS(UserInterfaceManagementSystem), arka tarafta işleyecek sistem işlevlerinden bağımsız ve sunum tarafının geliştirilmesi. YİNELEMELİ TASARIM VE PROTOTİPLENDİRME 34/40

35 Sistem neden böyle tasarlandı? (yapısal, mimarisel, fonksiyonel ve davranış olarak) Faydaları; – Tasarım ekibinin verilen tasarım kararlarından, sebeplerinden, alternatiflerinden haberi olur. – Bilgi birikimi sağlanır. Bir proje ekibinin karşılaştığı durumlar karşısında aldığı kararlar, bir başka ekibe yol gösterebilir. – Bir tasarımın gerekçeleri ortaya konurken, üzerinde biraz daha düşünülmüş ve irdelenmiş olur. TASARIM MANTIĞI 35/40

36 HCI açısından faydaları; – 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 36/40

37 Tasarım mantığı türleri; Sürece odaklanan; – 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 37/40

38 Tasarım mantığı türleri; Yapıya odaklanan; – 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 MANTIĞI 38/40

39 Tasarım mantığı türleri; Psikolojik; – 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 TASARIM MANTIĞI 39/40

40 TEŞEKKÜRLER 40/40


"İNSAN BİLGİSAYAR ETKİLEŞİMİ YAZILIM SÜRECİNDE İNSAN BİLGİSAYAR ETKİLEŞİMİ Murat ÇINAR." indir ppt

Benzer bir sunumlar


Google Reklamları