music magazine contents page...2. kullanıcı deneyimi (user experience goals) cevap verebilen...
TRANSCRIPT
08.12.2012
1
Process of Interaction Design and Design Languages
2009639037 Eylül ALPANDİNER
2009639007 Aysun İLHAN
Kaynağın iletisini alıcıdan gelen tepkiye dayanarak değiştirebilmesi ve yeni bir iletiyi karşılıklı olarak oluşturabilmesidir.
Etkileşimin Tanımını Tekrar
Yapalım?
Etkileşimli Tasarım Nedir?
Etkileşimli ürün tasarlamak;İnsanın günlük yaşamında ve iş hayatında iletişimini ve etkileşimini desteklemenin bir yoludur. -Sharp, Rogers and Preece (2011)
Mekanların tasarımı insan iletişimi ve etkileşimi için yapılmalıdır.
-Winograd (1997)
Etkileşimli Tasarım Nedir?
Etkileşimli Tasarımın Hedefleri Nelerdir?
1. Ürünün Kullanışlı Olması(Usability Goals) Etkililik(effectiveness) Verimlilik(efficiency) Güvenli(safety) Faydalı(utility) Öğrenilebilir (learnability) Nasıl kullanıldığının kolay hatırlanabilmesi(memorability)
Etkileşimli Tasarımın Hedefleri Nelerdir?
Hangisi Şampuan ? Hangisi Vücut Jeli?
Bu içecek makinesinin kullanımı neden kötü?
08.12.2012
2
Etkileşimli Tasarımın Hedefleri Nelerdir?
2. Kullanıcı Deneyimi (User experience goals)
Cevap verebilen
Eğlenceli
Yaratıcılığı destekleyici,faydalı
Yararlı
Yeterli,Doyurucu
Motive edebilen
Etkileşimli Tasarımın Hedefleri
Nelerdir?
İyi Bir Tasarım Örneği… Answering Machine
• Tasarımı Bishop’a aittir. (1995)
• Gündelik eşyaların davranışlarını temel almıştır.
• Kullanımı kolay ve eğlencelidir.
• Sadece bir adım temel eylemleri gerçekleştirmek için yeterlidir
Anahtar Kavramlar
• Kullanıcılar Kimdir?
• Kullanıcı Gereksinimi Nedir?
• Paydaşlar Kimlerdir?
“Gereksinimler”
Gereksinim:İstenen ürünün ne yapması gerektiği ve nasıl yapması gerektiği durumlarını belirtilmesidir.
Kullanıcıların yeteneklerini ve karakterlerini anlamak.
Hedef kullanıcıya danışmak gerekir.
Eğer hiçbir şey yoksa geçmiş davranışlarına bakıp gelecekteki davranışlarını tahmin etmeliyiz
Paydaşlar Kimlerdir?
Kasiyerler
Müşteriler
• Tedarikçi
•Mağaza
Sahibi
08.12.2012
3
Etkileşimli Tasarımın Dört Temel Adımı
1. Gereksinimleri Belirlemek(Establishing requirements)
2. Alternatif Çözümleri Tasarlamak(Designing alternatives)
Etkileşimli Tasarımın Dört Temel Adımı
3. Prototip Oluşturmak(Prototyping)
4. Değerlendirme Yapmak (Evaluating)
1.Gereksinimleri Belirlemek
İnsanlar için tasarım yapıyorsak;
• Hedef kullanıcıların kim olduğunu,
• sistemde ne yaptıklarını, ne yapmak istediklerini bilmemiz gerekmektedir.
Ancak bu şekilde etkileşimli tasarım desteklenir.
1.Gereksinimleri Belirlemek
Amacımız Ne? Neden Gereksinimleri Belirlemeliyiz?
•Kalıcı değişmez olarak gereksinimleri belirlemeliyiz. •Bu kalıcı gereksinimleri tasarım oluştururken aktiviteler olarak kullacağız.
Gereksinimler Nasıl Belirlenir?
Gereksinim Türleri
• Functional(Fonsiyonel)
• Unfunctional(Fonksiyonel olmayan)
• User(Kişisel)
• Environmental(Çevresel)
• Usability(Kullanılışlık)
Veri Toplama
1. Soru Sorma
08.12.2012
4
Veri Toplama
2. Röportaj
Veri Toplama
3. Gruplara Atölyelere Odaklanma
Veri Toplama
4.Doğal Gözlem
Veri Toplama
4.Dökümanlarla Çalışma
Gereksinimler Nasıl Belirlenir?
Görev Tanımlama
• Senaryolar
• Use Case Diyagramları
• Essantial Use Case Diyagramları
Görev Analizi
• Hierarchical Task Analysis (HTA)
Görev Tanımlama
Senaryolar
“Görevler,Aktiviteler
Hikayelerle Can Bulur.”
08.12.2012
5
Görev Tanımlama
Use Case Diyagramları
Kütüphane Katalog servisi Use Case Diyagramı
Kütüphane
üyesi
Kütüphane
Çalışanı
Kitap arama
Katolog
Güncelle
Sistem
Görev Tanımlama
Essantial Use Case Diyagramları
Kullanıcı Hedefleri
Kendini sisteme tanıtır Bilinen ayrıntıları sunar Sonuçları not alır
Sistemden çıkar
Sistem Sorumluluğu
Kimliği doğrulamak uygun bilgileri istemek Sonuçları sunmak
Sistemi kapatmak
Kitap Arama- Essential Use Case Diyagramı
Görev Analizi Hierarchical Task
Analysis
Kütüphaneye git
Gerekli Kitabı bul
Raftan Kitabı al
Gişeden Kitabı al
3 2 1 4
0
Kataloğa ulaş
Arama ekranına
ulaş
Arama Kriterlerini
Gir
Gerekli Kitabı
Tanımla
Yeri not al
plan 0: do 1-3-4. Beklediğim rafda değilse, do 2-3-4.
plan 2: do 2.1-2.4-2.5. Kitap tanımlanan yerde yoksa, do 2.2-2.3-2.4-2.5
2.1 2.2 2.3 2.4 2.5
Ödünç kitap Alma
2.Alternatif Tasarımlar Geliştirmek
Tasarımın temel faaliyeti;
Gereksinimleri karşılamak için fikirler
önermektir.İki çeşit tasarım bulunur:
• Kavramsal(Conceptual) Tasarım
• Kullanılacak Etkileşim Türleri
• Kavramsal Modeli Geliştirme
• Fiziksel(Physical) Tasarım
Kavramsal(Conceptual) Tasarım
“Gereksinimlerden İlk Tasarıma Yolculuk…”
08.12.2012
6
Tasarlanan, hayal edilen düşünceler ile
oluşturulan ürünün;
-Görünümünün nasıl olduğu, ne
yapması gerektiği nasıl davranacağı
özellikleri yönünden kullanıcının
anlayacağı şekilde ortaya koymaktır.
Kavramsal(Conceptual) Tasarım
Kavramsal(Conceptual) Tasarım
Kavramsal model ile yapılmak istenenler
Veri toplama aşamasında ortaya çıkar.
Kavramsal model oluşturulurken şu
adımları dikkate almalıyız.
• Her zaman beyni açık tutmalı kullanıcı ve bağlamınını unutmamalıyız.
• Düşünceleri olabildiğince paydaşlarla paylaşmalıyız.
• Düşük kaliteli prototipleri kullanarak hızlı
feedback almayı amaçlamalıyız.
• “İyi bir fikre ulaşmak için, bir çok fikir üretmeliyiz” (Fudd’s Yaratıcılık 1.Kuralı)
Hangi Etkileşim Türü Kullanılmalı?
Hangi etkileşim türünün kullanılması ürün için doğru olur?
İnstruction(Komut):Kullanıcıların işlerini ürüne komut vererek gerçekleştirmesi mesela yazdırma işlemi, mouse ile menüden seçme işlemi.
Conversing(Diyalog): Sistem diyalog partneri gibi çalışır.
Hangi Etkileşim Türü Kullanılmalı?
-Canlandırılmış ajanlar(karakterler)
-Bilet alma işlemi yada bankamatiklerde yönlerdirme yaparken paranızı alınız,evet hayır gibi cavaplar
Hangi Etkileşim Türü Kullanılmalı?
Manipulating and navigating(Manipülasyon ve Gezinme):
Fiziksel hayatta mevcut olan eylemlerin sanal ortamda
gerçekleştirilmesidir.Mesela hareket etmek, kapatmak, açmak,gezinme,
• Direkt Manipülasyon: ekran üzerine yerleştirilen interaktif düğmelere kullanıcının doğru fiziki tepkiler vermesini sağlamaktır
08.12.2012
7
Hangi Etkileşim Türü Kullanılmalı?
Keşfetmek ve Taramak(Exploring And Browsing)
İnsanlar ne zaman kitapçıya, tatile, hastaneye gidecek olsalar hakkında bir şeyler öğrenmek isterler bunun için
Web sayfalarına, portal sayfalarına,e- ticaret sitelerini kullanmak isterler.
Fiziksel(Physical) Tasarım
Arayüz tasarlamayı ifade etmektedir:
-Keypad,masaüstü,hangi ikonlar kullanılacak, menülerin yapısı nasıl olacak?
Kavramsal tasarımla çok kalın bir çizgi ile ayrılmazlar.
Alternatifler Nasıl Ortaya Çıkar? •Tasarımcının yaratıcılığıyla ve yetenekleriyle: Araştırma,sentez
•İlham alarak: Benzer tasarımlara bakarak inceleyerek.
Alternatifler Arasından Seçimi Nasıl Yaparız?
•Kullanıcılar değerlendirme yaparak, Örneğin;prototipleri kullanmak. •Teknik olarak olabilirliğine bakılabilir. •Kalite Eşikleri:Kullanılabilirlik ölçütlerini sık sık kontrol ederek.
3.Etkileşimli Tasarım İçin Prototipleme
Prototip küçük ölçekli bir modeldir:
• Minyatür bir araba
• Minyatür şehir yada
binalar
• Yanda bir prototip
Örneği görebiliriz
3.Etkileşimli Tasarım İçin
Prototipleme
Etkileşimli Tasarımda Neler Prototip Olarak Kullanılabilir?
• Screen Sketches( Sadece bir kare)
• Storyboard( çizgi film gibi)
• Power Point sunumu
• Sistem kullanımını simülasyon eden bir video
• Hedef dilde ya da başka dilde yazılmış olan sınırlı sayıda fonksiyonu gösteren bir kod parçası prototip olabilir.
08.12.2012
8
Neden Prototipleri Kullanmalıyız?
• Tasarım elle tutulur gözle görülür hale geldiği için paydaşların düşüncelerini anlatmalarında yardımcı olur.
• Takım üyeleri için etkili bir iletişim aygıtıdırlar,düşüncelerini tek başına test
etmenin en iyi yoludur.
• Tasarımın tepkisinin ne olacağını gösterir.
• Tasarımcının sorularına cevap vererek, alternatifler arasından seçim yapmasında yardımcı olur.
PROTOTİP TİPLERİ
Düşük Kaliteli Yüksek Kaliteli
PROTOTİP TİPLERİ
Düşük Kaliteli Prototipler(Low-Fidelity)
• Ürünün son haline benzemezler.
• Kullanılan metaryeller ;karton,kağıt
• Kullanımı kolay, çabuk değiştirilebilir ve ucuzdur.
• Araştırma için kullanılırlar asla son ürüne entegre edilmezler.
Örnekler…
Storyboards:
• Bir kullanıcının cihazı kullanarak yaptığı işte ilerlemesini tamamlanana kadar gösteren bir dizi skeçten oluşur.
• Senaryolar ile birlikte kullanılırlar.
• Senaryolara göre daha çok ayrıntının görülmesini sağlarlar
Storyboards Örneği… Sketching…
• Düşük kalite prototiplerin dayanağıdır.
• Senaryolarda kullanılan figurlardır.
• Basit kutularla, çizgilerle pratik yapılabilir.
08.12.2012
9
‘Wizard-of-Oz’ prototip ‘Wizard-of-Oz’ prototip
• Kullanıcı ekran karşısında ürün ile etkileşimde olduğunu sanır ama çıktıları sistemden çok tasarımcı üretir.
• Genellikle kullanıcının ne beklediğini anlamak için ilk başta oluşturulur.
“Bitmiş gibi görünüyor ama
bitmedi…”
Yüksek Kaliteli Prototip Yüksek Kaliteli Prototip
• Son ürünün olmasını istediğimiz metaryeller kullanılır (Mesela elektronik bir ortam)
• Kullanıcılar artık bu son ürün olarak düşünmeleri tehlike yaratır.
• Geliştiricilerde artık bu noktadan sonra bir şeyleri değiştirmekte isteksizdirler.
4.Değerlendirme(Evulation) 4.Değerlendirme(Evulation) Değerlendirme Nedir? Ne Zaman
Yapılır? Neden Yapılır?
Nedir: Tasarımın kullanılabilirliğinin ve kabul edilebilirliğinin belirleme işlemidir. Neden:Kullanıcı ihtiyaçlarını karşılaya bildik mi? Kullanıcı bu ürünü kullanmayı sevdi mi test etmek için. Nezaman:Tasarım boyunca,bitmiş
ürünlerin yeni ürünleri bilgilendirmesi gerektiği zaman.
08.12.2012
10
Değerlendirme Teknikleri
Kullanıcıları gözlemlemek.
Kullanıcılara düşüncelerini sormak.
Uzmanlara görüşlerini sormak.
Kullanıcıların performansını gözlemleyerek.
Etkileşimli Tasarımın Üç Temel Anahtarı
1. Kullanıcıya Odaklanma
Bir süreç, kendi içinde, gelişmeyi garanti edemesede kullanıcıları içerir ve bunun üzerine odaklanarak değerlendirme ve kullanıcı geri bildirimi için teşvik ve fırsatlar sağlayabilir.
Etkileşimli Tasarımın Üç Temel Anahtarı
2. Belirli Kullanılabilirlik Kuralları
• Belirli kullanılabilirlik hedefleri ve kullanıcının tecrübesi,açık bir şekilde tanımlanarak dökümante edilmeli,bu kriterlere proje başlamadan önce karar verilmelidir.
• Bunlar tasarımcıya alternatifler arasından seçim yaparken ve tasarımı kontrol ederken yardımcı olur.
Etkileşimli Tasarımın Üç Temel Anahtarı
3.İterasyon(Tekrarlama)
• İterasyon geri bildirim merkezli
olarak tasarımın rafine edilmesini sağlar.
• Eğer yenilik yapmak istiyorsak iterasyon önemli bir adımdır.
YAŞAM DÖNGÜSÜ (LIFECYCLE) MODELLERİ
“Bu modeller,aktivite grubunu ve nasıl ilişkili olduklarını yakalarlar.”
08.12.2012
11
Yaşam Döngüsü Modelleri
Yazılım (Software)
Mühendisliği HCI
Şelale(Waterfall) Model
Spiral Model
Rad Model
Microsoft
Web Site
Star(Yıldız) Modeli
Kullanılabilirlik Mühendisliği
Basit Bir Yaşam Döngüsü; Etkileşimli Tasarım
Gereksinimleri Belirle
Değerlendir
Etkileşimli Tasarımı Kur
(Re)Tasarım
Son Ürün
Başla
İteratif Tasarım Süreci
1. Tasarım Adımı:Tasarım ekibi ölçülebilir nitelikteki hedeflerini,müşteri hedeflerine ve gelişmekte olan tasarım kavramlarına karar verirler.
2. Prototipleme Adımı: Senaryolar,Storyboardlar ortaya koyulur,amaç tüm sistemin hareket noktasını oluşturma,gereksinimleri refine etmektir.
İteratif Tasarım Süreci
3. Değerlendirme Adımı: Tasarımcılar prototiplerin istenen hedefleri karşılayıp karşılamadıklarını test ederler.
4. Çıkan sonuçlar bir sonraki iterasyonu bilgilendirmede kullanılır bu döngü hedefler karşılanana kadar devam eder.
Yazılım Mühendisliğinde Yaşam Döngüleri
Yazılım yaşam döngüsü temel olarak; yazılımın nasıl geliştirileceğinin karakteristiğinin bir tanımlanması ya da tasvir edilmesi demektir.
Yazılım işlevleri ile ilgili gereksinimler sürekli olarak değiştiği ve genişlediği için, söz konusu aşamalar sürekli bir döngü biçiminde ele alınır.
Yazılım Yaşam Döngüsü Temel Adımları
1. Planlama
Personel ve donanım gereksinimlerinin çıkarıldığı, fizibilite çalışmasının yapıldığı ve proje planının oluşturulduğu aşamadır.
2. Analiz
Sistem gereksinimlerinin ve işlevlerinin ayrıntılı olarak çıkarıldığı aşama. Var olan işler incelenir, temel sorunlar ortaya çıkarılır.
08.12.2012
12
Yazılım Yaşam Döngüsü Temel Adımları
3. Gerçekleştirim Kodlama, test etme ve kurulum
çalışmalarının yapıldığı aşamadır.
4. Bakım Hata giderme ve yeni eklentiler
yapma aşaması (teslimden sonra).
Çağlayan (Şelale) Modeli
Sistem ve Yazılım
Tasarımı
Gereksinimlerin
Tanımlanması
Birleştirme ve
Sistemi test etme
Sistemin Bakım
ve İdamesi
Kodlama ve Modül
test etme
Genel Özellikleri..
Ardışıl Model
Adımlar:
Analiz-Tasarım-Kodlama-Sınama-Bakım
Bir adımın tamamlanmasından sonra diğerine geçilir.
Eksiklikler veya hatalar farkedilirse bir önceki adıma geçilir.
Avantajları
En eski model,yaygın kullanımda
İyi tanımlanmış adımlar
Kısa ömürlü projelere uygundur.
Dezavantajlar?
Gereksinim tanımlamaları çoğu kez net bir şekilde yapılamadığından dolayı, yanlışların düzeltilme ve eksiklerin giderilme maliyetleri yüksektir.
Üst düzey yönetimlerin ürünü görme süresinin uzun oluşu, projenin bitmeyeceği ve sürekli gider merkezi haline geldiği düşüncesini yaygınlaştırmaktadır.
Dezavantajlar?
Bir çok müşteri de gereksinimleri eksiksiz ve kesin belirtmekte zorlanmaktadır.
Son ürünün eldesi uzun süreceğinden müşteri sabırlı olmalıdır
08.12.2012
13
Helezonik(Spiral) Modeli
Risk
Analizi
Risk
Analizi
Risk
Analizi
Risk
Analizi
Proto-
tip 1
Prototip 2 Prototip 3
İşin
Prototipi
Öninceleme
Analizi
İşin
Genel Kavramı
Geliştirme
Planı
Birleştirme ve
Test Planı
Yazılım
Gereksinimi
Gereksinim
onaylama
Ürün
Tasarımı
Tasarımı
test Etme ve
onay
Detaylı
Tasarım
Kodlama
Modül Testi Birleştirme
testi Kabul testi
Servis
Simulasyon ve Modelleme
Amaca,
Alternatiflere ve Sınırlamalara
karar verme
Alternatifleri
değerlendirme ve risk analizi
Bir sonraki fazın
planlanması ve kullanıcı değerlendirmesi
Geliştirme ve bir sonraki
ürünü onaylama
onay ekseni
Planlama Risk Analizi
Üretim Kullanıcı Değerlendirme
Spiral Model Genel Özellikler
Risk Analizi Olgusu ön plana çıkmıştır.
Her döngü bir fazı ifade eder.Doğrudan tanımlama,tasarım,…vs gibi bir faz yoktur.
Yinelemeli artımsal bir yaklaşım vardır.
Prototip yaklaşımı vardır.
Spiral Model Aşamaları
1. Planlama
Üretilecek ara ürün için planlama, amaç belirleme, bir önceki adımda üretilen ara ürün ile bütünleştirme
2. Risk Analizi
Risk seçeneklerinin araştırılması ve risklerin belirlenmesi
Spiral Model Aşamaları
3. Üretim
Ara ürünün üretilmesi
4. Kullanıcı Değerlendirmesi
Ara ürün ile ilgili olarak kullanıcı tarafından yapılan sınama ve değerlendirmeler.
Spiral modelin avantajları
1. Kullanıcı Katkısı Üretim süreci boyunca ara ürün
üretme ve üretilen ara ürünün
kullanıcı tarafından sınanması
temeline dayanır.
Yazılımı kullanacak personelin sürece
erken katılması ileride oluşabilecek
istenmeyen durumları engeller.
Spiral modelin avantajları
2. Yönetici Bakışı Gerek proje sahibi, gerekse
yüklenici tarafındaki yöneticiler,
çalışan yazılımlarla proje boyunca
karşılaştıkları için daha kolay izleme
ve hak ediş planlaması yapılır.
3. Yazılım Geliştirici (Mühendis) Bakışı Yazılımın kodlanması ve sınanması
daha erken başlar.
08.12.2012
14
Hızlı Uygulama Geliştirme RAD:( Rapid Application Development )
Hızlı Uygulama Geliştirme
RAD aslında tek başına kullanılabilen özel bir model veya araç değil bu uygulama geliştirme yöntemini uygulayan araçların tümüne verilen genel bir isimdir.
Scrum,extreme programming(XP),lean software development (LD),joint application development(JAD) bunlardan birkaçı olarak sayılabilir.
Scrum(Sürü)
Bir yazılım geliştirme süreçleri yönetimi
Scrum’da klasik proje geliştirme aşamalarının aksine küçük küçük parçaların bütünselliği söz konusudur.
Yani amaç küçük küçük parçalarla sonuca gitmek
Scrum(Sürü)
Peki başka ne gibi avantajları var?
-Verimli bir kaynak yönetimi avantajı sağlarsınız.
-Proje parçalarının başlangıç ve bitiş zamanlarını çok daha hızlı saptarsınız.
-Takım ruhu oluşur.
-Planlama sadece başlangıçta değil her aşamada olur.
-Projeye adapte olmak kolaylaşır.
Scrum(Sürü)
Adımlar: Görev-listesi->Koşu->İşlev-gösterimi
Görev-listesi=Kullanıcı Öyküleri önceliklendirilmiştir.
Koşu:
Görev listesinin maddelerinden biri seçilir ve önceden belirlenmiş kısa bir süre içerisinde(ör:1-4 hafta) gerçeklenir.
Scrum(Sürü)
Koşu süresince ekibin her gün yaptığı (ör:15dk) toplantılar
Proje lideri yönetir.
Cevaplanmaya çalışılan üç ana soru:
Son toplantıdan bu yana ne yaptınız?
Karşılaştığınız engeller nelerdir?
Yarınki toplantıda neleri başarmayı hedefliyorsunuz?
İşlev Gösterimi: Müşterinin en yeni
işlevi veya o ana dek gerçeklenen tüm işlevlerin sınaması.
08.12.2012
15
XP(Extreme Programming)
XP 4 değer üstüne kuruludur:
-Basitlik: Basit yöntemlerle sonuca hızla ulaşmak ister.Basit çözümlerle oluşturulan programın geliştirilmesi kolaydır.Maliyet düşüktür. Basit çözümler kolay anlatılır ve adapte edilir.
-Geridönüş: Kalite kontrolü çok önemlidir.Bu ancak geridönüşümle sağlanır.
XP(Extreme Programming)
-İletişim: Tüm proje çalışanlarının sürekli iletişim halinde olmaları gerekir.
-Cesaret: Bu saydığımız özellikler bireylerdeki cesaretle mümkündür
LD(Lean Software Development)
İlk olarak Lean düşüncesi nasıl doğdu?
Taiichi Ohno’nun yaptığı Toyota üretim sisteminin geliştirilmesiyle leon düşüncesi ortaya çıkmıştır.Bu sistemin genel prensibi boş harcamaları elemektir.
LD(Lean Software Development)
Leon Yazılım Geliştiriminin 7 temel prensibi:
1-Boş harcamaların elenmesi
2-Kalitenin sağlanması
3-Bilginin yaratılması
4-Kararların Ertelenmesi
5-Hızlı dağıtım yapılması
6-Saygı
7-Tüm döngünün optimize edilmesi
JAD(Joint Application Development)
Kullanıcı katılımını artırmayı,geliştirme sürecini hızlandırmayı ve kaliteyi artırmayı temel alan bir yaklaşımdır.
IT(Information Technologies) çalışanlarıyla business ekiplerin gereksinimlerin belirlenmesi ve gözden geçirilmesi için yaptıkları bazen günler süren çalıştaylardan meydana gelir.
JAD(Joint Application Development)
Avantajları:
Gereksinimlerin belirlenmesi süreci ile maliyet ve zamanda kazanımlar elde edilir. JAD tecrübesi ile firmalar sistem analiz süreçlerini daha dinamik hale
getirebilirler.JAD piyasada ilk ve en bilinen hızlı tasarım tekniği olduğundan implemantasyonu için kullanılan teknikler iyi tanımlanmıştır.
08.12.2012
16
JAD(Joint Application Development)
Dejavantajları:
Çok yönlü hazırlık yapılmadan gerçekleştirilen JAD seansları,uzman kişilerin zamanlarının heba olmasına sebep olur.
JAD katılımcıları sistem için gerekli inputları verebilecek kişilerden oluşmalıdır.Bu sebeple katılımcıların seçilmesi süreci dikkatle yapılmalıdır.
Hızlı Uygulama Geliştirme İki Anahtar Özelliği
Uygulamanın yaklaşık/ortalama 3 aylık bölümlere ayrılabilmesi, Yeterli sayıda bölümün eş zamanlı ilerlemesinin sağlanabilmesi.
Ortak Ürün Geliştirme (Joint Application Development) :Paydaşlar,ilgili çalışanlar,geliştiriciler bir araya gelerek yoğun gereksinim toplama çalışmalarının yapılmasıdır.
Hızlı Uygulama Geliştirme (RAD)
Kısa geliştirme çevrimleri üzerinde duran artımsal bir model.
Eksiler:
Büyük ölçekli çalışmalarda yeterli sayıda bölümü eşzamanlı ilerletebilecek sayıda çalışanın bulunamaması.
Çalışanlar hıza uyum sağlayabilmelidirler.
Yüksek teknik risklere uygun değil.
Artılar:
Artan Hız
Artan Kalite
Sonuç:
Prototip geliştirmede kullanılması veya ana fikirlerinin diğer süreçlere uygulanması yerinde olacaktır.
Hızlı Uygulama Geliştirme (RAD)
HCI Ve Yaşam Döngüleri
İnsan bilgisayar etkileşimi alanında ortaya konmuş yaşam döngüleri yazılım mühendisliği alanındakilere göre daha azdır. Kısaca bahsedeceğimiz modeller ise:
Star(Yıldız)Modeli
Kullanılabilirlik Mühendisliği Modeli
Star Lifecycle Model
08.12.2012
17
Star Lifecycle Model
Aktivitelerin belli bir adımı yoktur.
Merkezinde ise değerlendirme vardır.
Yeni arayüz tasarımı arayan bazı tasarımcıların ampirik çalışmalarından doğmuştur.
Kullanılabilirlik Mühendisliği Yaşam Döngüsü Modeli
Kullanılabilirlik Mühendisliği Modeli Kullanılabilirlik mühendisliğine bütünsel
bir bakış açısı sağlar.
Yazılım mühendisliği yaklaşımına bağlantı
sağlar.
Üç aşamadan oluşur gereksinimleri belirleme,tasarım/test eme/geliştirme,
kurma
Gereksinimleri belirleme üç görevden oluşur;tasarım,değerlendirme,prototiple
me
Web Site Geliştirme Süreci
Web Site Geliştirme Süreci
Tüm aşamaları iteratif tasarım şeklindedir.
7 aşamadan oluşur:
1. Keşfetme(Discovery):
• Hedef kullanıcı kitlesini belirleme
• Hedef kullanıcıların ihtiyaçlarını belirleme
• Yapılacak olan işleri ve ihtiyaçları kavramsallaştırmak
Web Site Geliştirme Süreci
2. Araştırma(Exploring):
• Kabaca ilk örnekler, tasarımlar oluşturulur.
3. Saflaştırma(Refinement):
• Seçilen tasarımın akışını ve düzenini geliştirme
4. Üretim(Production):
• Tümüyle etkileşimli prototip oluşturulur.
08.12.2012
18
Web Site Geliştirme Süreci
5. Uygulama(Implementation):
• Kodlama
• İçerik ve Görüntüleri geliştirme
6. Piyasaya Sürme(Launch):
7. Bakım(Maintanence):
• Varolan sitenin başarısını ölçerek, yeni veriler toplayarak yeniden
dizayna hazırlamak.
Microsoft Ürün Geliştirme Süreci
Girişimlerini küçük ekiplerle yapma anlayışı vardır.
Oluşturulan bu küçük takımlar tasarımlarını geliştirirlerken özgürdürler.
Ama tüm takımların günlük aktiviteleri senkronize ve periyodik olmalıdır.
Microsoft Ürün Geliştirme Süreci Adımları
Planlama Adımı:
Yeni ürün hedefleri ve desteklenecek olan kullanıcı aktiviteleri tanımlanır.
Program menajerleri fonksiyonel özellikleri belirleyerek planlamayı yaparlar,çalışacak olan çalışanları atarlar.
Geliştirme Adımı:
Özellik listesi parçalara ayrılarak takımlara atanır.
Takımlar haftalık ve günlük bazda senkronize ve paralel çalışırlar
Microsoft Ürün Geliştirme Süreci Adımları
Stabilizasyon Adımı:
Süreçte bir parçalara ayrılmış aşamalardan (milestone) biri bittiğinde
tüm hatalar bulunur ve düzeltilir.
Sonraki aşamaya geçilir.
Nihai Ürünler:
Excel, Office, Publisher, Windows 95,
Word,
Tasarım Dilleri Ve Uygulama Desteği
Uygulama Desteği Programlama Araçları
• Programcılar için hizmet düzeyleri
Pencereleme Sistemleri
• Ayrılmış ve eş zamanlı kullanıcı sistem etkinliği için temel çekirdek desteği
sağlamalıdır.
Uygulamaları Programlama ve İletişimi Kontrol Altında Tutma
Etkileşim Araçları
• Kullanıcının Algı Düzeyine göre programlama yapmak
• Programcının kullanıcının algısına göre ,nesnelerin davranışlarını tanımlamasına izin verir.
08.12.2012
19
Giriş
İnsan Bilgisayar Etkileşimi Programcıyı nasıl Etkiler?
•Programlama koddaki gelişmelere açık olmalıdır.
• Belirli Donanımlar Belirli etkileşim ve
teknikler
Giriş
Geliştirme Araçlarının Katmanları
o Pencereleme Sistemleri
o Etkileşim Aracı
o Kullanıcı Arayüzü Yönetim Sistemleri
Pencereleme Sistemlerinin Öğeleri
Aygıt Bağımsızlığı o Pixels
o PostScript (MacOS X, NextStep)
o Graphical Kernel System (GKS)
o Programmers’ Hierechical Interface to Graphics(PHIGS)
Kaynak Paylaşımı o Kullanıcı görevleri eşzamanlılık sağlanmasını
o Pencereleme sistemi bağımsız işlemleri
o Bireysel uygulamalar izolasyonunu sağlar.
Penceleme Sisteminin Rolleri Pencereleme Sisteminin
Mimarisi
Olası 3 Yazılım Mimarisi Vardır…
Farzedelim ki tüm aygıt sürücüleri farklı
Çoklu uygulama yönetimi uygulandığında farklılık nasıl olacak?
08.12.2012
20
Pencereleme Sisteminin Mimarisi
1. Her Uygulama Tüm işlevleri Yönetir
o Senkronizasyon hakkında sorunlar
o Uygulama taşınabilirliğini azaltır
2. Yönetim rolü çekirdek işletim sistemi içindedir.
o Uygulamalar işletim sistemine bağlıdır.
3. Ayrı uygulamadaki yönetim rolü
o Maksimum taşınabilirlik sağlar.
Pencereleme Sisteminin Yapı Taşları
Gui’nin bileşenidir. Grafik arayüzü
kullanır.
Üst üste gelmesine izin verir.
Ebeveynlik uygulamasını destekler.
Client – Server Mimarisi X Pencere Mimarisi
X Pencere Mimarisi Nedir?
o X-Pencere, sistem programları diğer bilgisayarda çalışırken kullanıcının
makinesinde yer alarak, bilgisayar ağları üzerinde çalışmasına olanak sağlayan bir yazılım ürünüdür.
Daha çok GNU/Linux ve Unix benzeri işletim sistemlerinde kullanılan grafik arayüz altyapısıdır.
Bazı işaretleme mekanizması ile pixel görüntüleme modeli vardır.
X Pencere Mimarisi
X protokolü server-client iletişimini belirler
Farklı Pencerelerin yöneticisi giriş-çıkış koşullarını denetler(uygular).
o Girdiler nasıl değişecek
o Inter-Client veri transferi
Kim Buldu?
o X-Pencere başlangıçta MIT projesi olarak
geliştirildi ve o zamandan beri bilgisayar üreticileri tarafından kabul edildi.
08.12.2012
21
Okuma-Değerlendirme Döngüsü
repeat
read-event(myevent)
case myevent.type
type_1:
do type_1 processing
type_2:
do type_2 processing
...
type_n:
do type_n processing
end case
end repeat
Uyarı Tabanlı
Tek Tek Gitme
Sistemin tarzı arayüzleri etkiler o Kalıcı dialog kutusu
Olay döngüleri ile kolay olur Bildirim ile zordur
o Kalıcı olmayan dialog kutusu Olay döngüleri ile zordur Bildirim ile kolaydır
Dikkat!! İyi bir Tasarım Yapılmamışsa, tasarımınızı
uygulamaya koymayın…
Araç kitlerinin Kullanımı
Etkileşim Nesneleri
• Giriş ve Çıkış Bağlantılıdır
Araç Kitlerinin Kullanımı
Araç kitleri bu soyutlama düzeyini sağlar
• Etkileşimli nesnelerle programlama
• Tutarlılığı ve genişletilebilirliği destekleme
• Benzer yolla bak ve hisset
• Nesneye dayalı programlama için
uygun
Java Nedir?
Java, Sun Microsystems mühendislerinden James Gosling tarafından geliştirilmeye başlanmış açık kodlu, nesneye yönelik, zeminden bağımsız, yüksek verimli, çok işlevli, yüksek seviye, adım adım işletilen (yorumlanan-interpreted) bir dildir.
08.12.2012
22
Java Swing Kütüphanesi
Swing, Java Foundation Classes içerisinde bulunan
ve Java uygulamalarına grafiksel arayüz (GUI)
kazandırmak için Sun tarafından geliştirilmiş devasa büyüklükte bir kütüphanedir.
Java Arayüzü
java sınıfları buton,menü vs. destekler
Bildiri(uyarı)tabanları şunlardır:
o AWT 1.0 ana alt sınıf araçlarına ihtiyaç duyar.
o AWT 1.1 ve sonraki versiyonlar nesneleri geri çağırır
Swing araç kiti
o AWT nin en üst katmanından geliştirilmiştir
o Üst düzey sürümleri var
o MVC(model view controller) mimarisini kullanır.
Kullanıcı Arayüzü Yönetim Sistemleri
(User Interface Management Systems -UIMS)
UIMS için dikkat edilmesi gerekenler
o Kavramsal mimari
o Uygulama Teknikleri
o Altyapı desteklemesi
UIMS olmayan terimler:
o Kullanıcı arayüzü geliştirme sistemleri (UIDS)
o Kullanıcı arayüzü geliştirme Ortamı (UIDE)
Örneğin; Visual Basic
Kullanıcı Arayüzü Yönetim Sistemleri
(User Interface Management Systems -UIMS)
Geliştirilebilir:
o Taşınabilirdir, yani farklı sistemlerde çalışabilir
o Yeniden kullanılabilirdir, yani bileşenler tekrar kullanılarak maliyet azaltılabilir
o Çok arayüzü aynı özelliğe erişebilir
o İsteğe göre uyarlanabilirlik, yani tasarımcı ve kullanıcı tarafından uyarlanabilir
Kavramsal Mimari Olarak UIMS
Katılımınız için
teşekkür ederiz.
08.12.2012
23
KAYNAKÇA http://web.deu.edu.tr/doc/lis/lis-12.html
http://hci.cah.ucf.edu/courses/dig3811_fall2012/Session_3_1_ID_p2.pdf
http://ccit333.wikispaces.com/file/view/Chapter1.pdf
http://geekswithblogs.net/MarkPearl/archive/2011/11/05/inf
3720-ndash-interaction-design-chapter-9-summary.aspx
http://www.softdevteam.com/Spiral-lifecycle.asp
http://www.ics.uci.edu/~kobsa/courses/INF231/07F/ch9.pdf
http://www.situatedgaming.com/CISHCIExam/preece.html#ch6
http://yildiz.edu.tr/~wwwilet/blogs/ozcan/category/etkilesim/
http://www.kurumsaljava.com/2009/02/26/yazilimda-selale-waterfall-yontemi/
http://www.bilisim-kulubu.com/makale/makale.php?e=Microsoft+Product+Cycl
e+Model+%28Microsoft+%DCr%FCn+Geli%FEtirme+S%FCre%E7leri%29&mid=4590
http://www.yazgelistir.com/makale/yazilim-metodolojileri-i
https://sites.google.com/site/bzeren/Home/rad
http://www.belgeler.com/blg/87o/client-and-server
KAYNAKÇA