SlideShare una empresa de Scribd logo
1 de 35
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.
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 istekleri belirleyen kişi/grup
Tasarımcı ( Designer); Ürünü geliştirmekle sorumlu kişi/grup
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.
Yazılım Yaşam Döngüsündeki
Aktiviteler
Mimari
Tasarım
Gereksinimleri
Belirleme
Detaylı
Tasarım
Kodlama ve
Birim Saati
Tümleştirme
ve Sistem
Saati
Kurulum ve
Bakım
1. Basamak : Gereksinim 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.
 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.
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.
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.
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)
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ı
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.
 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.
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.
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.
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”
Gerçek
gereksinimler
ve kısıtlamalar
Formalite boşluğu
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 pazarlana
bilirliği, personel eğitimi ve yeterlilik düzeyi gibi yönetimsel
ihtiyaçlar daha geniş bir perspektifte ele alınmalıdır.
-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.
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.
Etkileşim 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ı.
Etkileşim 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
Etkileşimli Sistemler için Yaşam
Döngüsü
Mimari
Tasarım
Gereksinimleri
Belirleme
Detaylı
Tasarım
Kodlama ve
Birim Saati
Tümleştirme
ve Sistem
Saati
Kurulum ve
Bakım
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 .
Kullanılabilirlik Mühendisliği
 Bir ürünün kullanılabilirliğini değerlendirebilmek için hangi
kriterler kullanılacak? sorusuna cevap arar.
 Geliştirilecek sistemin kullanılabilirliğini ölçebilmek için,
kullanıcı-sistem etkileşimine yoğunlaşan “Kullanılabilirlik
Şartnamesi” oluşturulur.
Ö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
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?
ISO 9241 ‘ten bazı metrikler
Kullanılabilirlik Etkinlik Verim
Memnuniyet
kriterleri ölçümleri ölçümleri ölçümleri
Görev için Amaçların gerçekleşme Görevi zamanında Memnuniyet
uygunluğu yüzdesi tamamlama için ölçüt
Yetkin personel Kullanılan etkili Uzman kullanıcıyla Güç ö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üzdesi gerekli zaman için ölçek
Hata toleransı Hataların başarıyla Hataları düzeltmek Hataları düzeltmek
düzeltilme yüzdesi için harcanan zaman için ölçek
 Kullanılabilirlik testleri en uygun biçimde İnsan Bilgisayar
Etkileşimi araştırmaları için kurulmuş olan laboratuvarlarda
yapılmalıdır.
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.
 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.
Prototiplendirme türleri:
 – Evrimsel (Evolutionary);
• Prototip atılmaz, sonraki itarasyon bunun üzerine inşa
edilir. Son ürün, her itarasyonda 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
Prototiplendirme problemleri:
 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.
Prototiplendirme teknikleri:
 Hikaye Kartları
• Bilgisayar sisteminde olmayabilir. Sistemin akışının yada
etkileşim noktalarının hikaye edilmesi
 Limitli işleve sahip simülasyonlar
• Uygulamanın çalışmasını daha iyi gösterebilir. Etkileşim
fazladır.
 Ü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.
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
• 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.
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.
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)
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

Más contenido relacionado

La actualidad más candente

Sistem analizi ve yönetim bilgi sistemleri
Sistem analizi ve yönetim bilgi sistemleriSistem analizi ve yönetim bilgi sistemleri
Sistem analizi ve yönetim bilgi sistemleri
Gokhan Gokkurt
 
Yazilim mi̇mari̇leri̇(aoy)
Yazilim mi̇mari̇leri̇(aoy)Yazilim mi̇mari̇leri̇(aoy)
Yazilim mi̇mari̇leri̇(aoy)
Ahmet Yanik
 
Si̇stem anali̇zi̇ ve tasarimi sunu(aoy)
Si̇stem anali̇zi̇ ve tasarimi sunu(aoy)Si̇stem anali̇zi̇ ve tasarimi sunu(aoy)
Si̇stem anali̇zi̇ ve tasarimi sunu(aoy)
Ahmet Yanik
 

La actualidad más candente (13)

Sistem analizi ve yönetim bilgi sistemleri
Sistem analizi ve yönetim bilgi sistemleriSistem analizi ve yönetim bilgi sistemleri
Sistem analizi ve yönetim bilgi sistemleri
 
Srs Ornek
Srs OrnekSrs Ornek
Srs Ornek
 
Yazilim mi̇mari̇leri̇(aoy)
Yazilim mi̇mari̇leri̇(aoy)Yazilim mi̇mari̇leri̇(aoy)
Yazilim mi̇mari̇leri̇(aoy)
 
Gereksinim Analizi Dokümanı Hazırlama
Gereksinim Analizi Dokümanı HazırlamaGereksinim Analizi Dokümanı Hazırlama
Gereksinim Analizi Dokümanı Hazırlama
 
Yazılım Mimarileri - Yazılım Geliştirme Modelleri
Yazılım Mimarileri - Yazılım Geliştirme ModelleriYazılım Mimarileri - Yazılım Geliştirme Modelleri
Yazılım Mimarileri - Yazılım Geliştirme Modelleri
 
Yazılım projeleri süreç performans ölçümü
Yazılım projeleri süreç performans ölçümüYazılım projeleri süreç performans ölçümü
Yazılım projeleri süreç performans ölçümü
 
CBÜ - Yazılım Mimarisi ve Tasarımı Ders Notları
CBÜ - Yazılım Mimarisi ve Tasarımı Ders NotlarıCBÜ - Yazılım Mimarisi ve Tasarımı Ders Notları
CBÜ - Yazılım Mimarisi ve Tasarımı Ders Notları
 
e-kütüphane projesi
e-kütüphane projesie-kütüphane projesi
e-kütüphane projesi
 
Si̇stem anali̇zi̇ ve tasarimi sunu(aoy)
Si̇stem anali̇zi̇ ve tasarimi sunu(aoy)Si̇stem anali̇zi̇ ve tasarimi sunu(aoy)
Si̇stem anali̇zi̇ ve tasarimi sunu(aoy)
 
Kfg
KfgKfg
Kfg
 
ERP Seçim Rehberi
ERP Seçim RehberiERP Seçim Rehberi
ERP Seçim Rehberi
 
YAZILIM SÜREÇ İYİLEŞTİRME ÇALIŞMALARINDA YETENEK OLGUNLUK MODELİ ENTEGRASYONU...
YAZILIM SÜREÇ İYİLEŞTİRME ÇALIŞMALARINDA YETENEK OLGUNLUK MODELİ ENTEGRASYONU...YAZILIM SÜREÇ İYİLEŞTİRME ÇALIŞMALARINDA YETENEK OLGUNLUK MODELİ ENTEGRASYONU...
YAZILIM SÜREÇ İYİLEŞTİRME ÇALIŞMALARINDA YETENEK OLGUNLUK MODELİ ENTEGRASYONU...
 
Gartner EEE - Yazılım Geliştirme - SoftTech Deneyimleri
Gartner EEE - Yazılım Geliştirme - SoftTech DeneyimleriGartner EEE - Yazılım Geliştirme - SoftTech Deneyimleri
Gartner EEE - Yazılım Geliştirme - SoftTech Deneyimleri
 

Similar a Yazılım mühendisliğinde i̇nsan bilgisayar etkileşimi

Analist Eğitimi - Tüm Bölümler - [535 Slides]
Analist Eğitimi - Tüm Bölümler -  [535 Slides]Analist Eğitimi - Tüm Bölümler -  [535 Slides]
Analist Eğitimi - Tüm Bölümler - [535 Slides]
Erol Bozkurt
 
Sunucu işletim sistemi 4
Sunucu işletim sistemi 4Sunucu işletim sistemi 4
Sunucu işletim sistemi 4
Erol Dizdar
 
Mustafa Değerli - 2016 - UYMS 2016 - Makale - Bir Süreç Uyarlama Yaklaşımı Ör...
Mustafa Değerli - 2016 - UYMS 2016 - Makale - Bir Süreç Uyarlama Yaklaşımı Ör...Mustafa Değerli - 2016 - UYMS 2016 - Makale - Bir Süreç Uyarlama Yaklaşımı Ör...
Mustafa Değerli - 2016 - UYMS 2016 - Makale - Bir Süreç Uyarlama Yaklaşımı Ör...
Dr. Mustafa Değerli
 

Similar a Yazılım mühendisliğinde i̇nsan bilgisayar etkileşimi (20)

Cevik Yaklasim, Scrum ve XP Pratikleri
Cevik Yaklasim, Scrum ve XP PratikleriCevik Yaklasim, Scrum ve XP Pratikleri
Cevik Yaklasim, Scrum ve XP Pratikleri
 
Implementation.pptx
Implementation.pptxImplementation.pptx
Implementation.pptx
 
Yazılım Projelerine Scrum Yazılım Geliştirme Modelinin Uygulanması ve Scrum Y...
Yazılım Projelerine Scrum Yazılım Geliştirme Modelinin Uygulanması ve Scrum Y...Yazılım Projelerine Scrum Yazılım Geliştirme Modelinin Uygulanması ve Scrum Y...
Yazılım Projelerine Scrum Yazılım Geliştirme Modelinin Uygulanması ve Scrum Y...
 
Yazılım Gereksinim Mühendisliği Semineri
Yazılım Gereksinim Mühendisliği SemineriYazılım Gereksinim Mühendisliği Semineri
Yazılım Gereksinim Mühendisliği Semineri
 
Analist Eğitimi - Tüm Bölümler - [535 Slides]
Analist Eğitimi - Tüm Bölümler -  [535 Slides]Analist Eğitimi - Tüm Bölümler -  [535 Slides]
Analist Eğitimi - Tüm Bölümler - [535 Slides]
 
Yazılım Mühendisliği
Yazılım MühendisliğiYazılım Mühendisliği
Yazılım Mühendisliği
 
Sistem i̇sterlerinin tespiti ve modellenmesi
Sistem i̇sterlerinin tespiti ve modellenmesiSistem i̇sterlerinin tespiti ve modellenmesi
Sistem i̇sterlerinin tespiti ve modellenmesi
 
Yönetici Denetçi ve Son Kullanıcı Bilişim Akademisi
Yönetici Denetçi ve Son Kullanıcı Bilişim AkademisiYönetici Denetçi ve Son Kullanıcı Bilişim Akademisi
Yönetici Denetçi ve Son Kullanıcı Bilişim Akademisi
 
Çevik Yaklaşım, Scrum ve XP
Çevik Yaklaşım, Scrum ve XPÇevik Yaklaşım, Scrum ve XP
Çevik Yaklaşım, Scrum ve XP
 
Sunucu işletim sistemi 4
Sunucu işletim sistemi 4Sunucu işletim sistemi 4
Sunucu işletim sistemi 4
 
Tanıtım
TanıtımTanıtım
Tanıtım
 
Bilgi sis..
Bilgi sis..Bilgi sis..
Bilgi sis..
 
Insights Quarterly - Ekim 2017
Insights Quarterly - Ekim 2017Insights Quarterly - Ekim 2017
Insights Quarterly - Ekim 2017
 
Web KullanılabilirliliğIi
Web KullanılabilirliliğIiWeb KullanılabilirliliğIi
Web KullanılabilirliliğIi
 
Sunum tdd
Sunum tddSunum tdd
Sunum tdd
 
8 adımda doğru ERP çözümü
8 adımda doğru ERP çözümü8 adımda doğru ERP çözümü
8 adımda doğru ERP çözümü
 
Bir Süreç Uyarlama Yaklaşımı Örneği: Süreç Uyarlama Matrisi (SUM), Deneyimler...
Bir Süreç Uyarlama Yaklaşımı Örneği: Süreç Uyarlama Matrisi (SUM), Deneyimler...Bir Süreç Uyarlama Yaklaşımı Örneği: Süreç Uyarlama Matrisi (SUM), Deneyimler...
Bir Süreç Uyarlama Yaklaşımı Örneği: Süreç Uyarlama Matrisi (SUM), Deneyimler...
 
BTRisk Yazılım Güvenliği Yönetimi Eğitimi
BTRisk Yazılım Güvenliği Yönetimi EğitimiBTRisk Yazılım Güvenliği Yönetimi Eğitimi
BTRisk Yazılım Güvenliği Yönetimi Eğitimi
 
Mustafa Değerli - 2016 - UYMS 2016 - Makale - Bir Süreç Uyarlama Yaklaşımı Ör...
Mustafa Değerli - 2016 - UYMS 2016 - Makale - Bir Süreç Uyarlama Yaklaşımı Ör...Mustafa Değerli - 2016 - UYMS 2016 - Makale - Bir Süreç Uyarlama Yaklaşımı Ör...
Mustafa Değerli - 2016 - UYMS 2016 - Makale - Bir Süreç Uyarlama Yaklaşımı Ör...
 
E-ticarette Yazılım ve Altyapı
E-ticarette Yazılım ve AltyapıE-ticarette Yazılım ve Altyapı
E-ticarette Yazılım ve Altyapı
 

Más de Betul Kesimal (9)

Sosyal medyanın öğrenci başarısı üzerine etkisi
Sosyal medyanın öğrenci başarısı üzerine etkisiSosyal medyanın öğrenci başarısı üzerine etkisi
Sosyal medyanın öğrenci başarısı üzerine etkisi
 
Bakım Onarımda Risklerin Azaltılması ve Uygulamaları
Bakım Onarımda Risklerin Azaltılması ve UygulamalarıBakım Onarımda Risklerin Azaltılması ve Uygulamaları
Bakım Onarımda Risklerin Azaltılması ve Uygulamaları
 
İnovasyon ve proje yöneti̇mi̇
İnovasyon ve proje yöneti̇mi̇İnovasyon ve proje yöneti̇mi̇
İnovasyon ve proje yöneti̇mi̇
 
Mantıksal programlama
Mantıksal programlama Mantıksal programlama
Mantıksal programlama
 
Mantıksal programlama
Mantıksal programlamaMantıksal programlama
Mantıksal programlama
 
Görüntü i̇şleme
Görüntü i̇şleme Görüntü i̇şleme
Görüntü i̇şleme
 
toyotanın tedarik zinciri
toyotanın tedarik zinciritoyotanın tedarik zinciri
toyotanın tedarik zinciri
 
tedarik zinciri
tedarik zinciritedarik zinciri
tedarik zinciri
 
Tasarım kuralları
Tasarım kurallarıTasarım kuralları
Tasarım kuralları
 

Yazılım mühendisliğinde i̇nsan bilgisayar etkileşimi

  • 2. 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.
  • 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 istekleri belirleyen kişi/grup Tasarımcı ( Designer); Ürünü geliştirmekle sorumlu kişi/grup
  • 4. 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.
  • 6. 1. Basamak : Gereksinim 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.  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.
  • 7. 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.
  • 8. 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.
  • 9. 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)
  • 10. 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ı
  • 11. 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.  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.
  • 12. 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.
  • 13. 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.
  • 14. 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” Gerçek gereksinimler ve kısıtlamalar Formalite boşluğu
  • 15. 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 pazarlana bilirliği, personel eğitimi ve yeterlilik düzeyi gibi yönetimsel ihtiyaçlar daha geniş bir perspektifte ele alınmalıdır. -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.
  • 16. 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.
  • 17. Etkileşim 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ı.
  • 18. Etkileşim 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
  • 19. Etkileşimli Sistemler için Yaşam Döngüsü Mimari Tasarım Gereksinimleri Belirleme Detaylı Tasarım Kodlama ve Birim Saati Tümleştirme ve Sistem Saati Kurulum ve Bakım
  • 20. 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 .
  • 21. Kullanılabilirlik Mühendisliği  Bir ürünün kullanılabilirliğini değerlendirebilmek için hangi kriterler kullanılacak? sorusuna cevap arar.
  • 22.  Geliştirilecek sistemin kullanılabilirliğini ölçebilmek için, kullanıcı-sistem etkileşimine yoğunlaşan “Kullanılabilirlik Şartnamesi” oluşturulur. Ö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
  • 23. 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?
  • 24. ISO 9241 ‘ten bazı metrikler Kullanılabilirlik Etkinlik Verim Memnuniyet kriterleri ölçümleri ölçümleri ölçümleri Görev için Amaçların gerçekleşme Görevi zamanında Memnuniyet uygunluğu yüzdesi tamamlama için ölçüt Yetkin personel Kullanılan etkili Uzman kullanıcıyla Güç ö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üzdesi gerekli zaman için ölçek Hata toleransı Hataların başarıyla Hataları düzeltmek Hataları düzeltmek düzeltilme yüzdesi için harcanan zaman için ölçek
  • 25.  Kullanılabilirlik testleri en uygun biçimde İnsan Bilgisayar Etkileşimi araştırmaları için kurulmuş olan laboratuvarlarda yapılmalıdır.
  • 26. 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.
  • 27.  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.
  • 28. Prototiplendirme türleri:  – Evrimsel (Evolutionary); • Prototip atılmaz, sonraki itarasyon bunun üzerine inşa edilir. Son ürün, her itarasyonda 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
  • 29. Prototiplendirme problemleri:  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.
  • 30. Prototiplendirme teknikleri:  Hikaye Kartları • Bilgisayar sisteminde olmayabilir. Sistemin akışının yada etkileşim noktalarının hikaye edilmesi  Limitli işleve sahip simülasyonlar • Uygulamanın çalışmasını daha iyi gösterebilir. Etkileşim fazladır.  Ü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.
  • 31. 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
  • 32. • 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.
  • 33. 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.
  • 34. 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)
  • 35. 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