music magazine contents page...2. kullanıcı deneyimi (user experience goals) cevap verebilen...

23
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ü?

Upload: others

Post on 20-May-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Music magazine contents page...2. Kullanıcı Deneyimi (User experience goals) Cevap verebilen Eğlenceli Yaratıcılığı destekleyici,faydalı Yararlı Yeterli,Doyurucu Motive edebilen

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ü?

Page 2: Music magazine contents page...2. Kullanıcı Deneyimi (User experience goals) Cevap verebilen Eğlenceli Yaratıcılığı destekleyici,faydalı Yararlı Yeterli,Doyurucu Motive edebilen

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

Page 3: Music magazine contents page...2. Kullanıcı Deneyimi (User experience goals) Cevap verebilen Eğlenceli Yaratıcılığı destekleyici,faydalı Yararlı Yeterli,Doyurucu Motive edebilen

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

Page 4: Music magazine contents page...2. Kullanıcı Deneyimi (User experience goals) Cevap verebilen Eğlenceli Yaratıcılığı destekleyici,faydalı Yararlı Yeterli,Doyurucu Motive edebilen

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.”

Page 5: Music magazine contents page...2. Kullanıcı Deneyimi (User experience goals) Cevap verebilen Eğlenceli Yaratıcılığı destekleyici,faydalı Yararlı Yeterli,Doyurucu Motive edebilen

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…”

Page 6: Music magazine contents page...2. Kullanıcı Deneyimi (User experience goals) Cevap verebilen Eğlenceli Yaratıcılığı destekleyici,faydalı Yararlı Yeterli,Doyurucu Motive edebilen

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

Page 7: Music magazine contents page...2. Kullanıcı Deneyimi (User experience goals) Cevap verebilen Eğlenceli Yaratıcılığı destekleyici,faydalı Yararlı Yeterli,Doyurucu Motive edebilen

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.

Page 8: Music magazine contents page...2. Kullanıcı Deneyimi (User experience goals) Cevap verebilen Eğlenceli Yaratıcılığı destekleyici,faydalı Yararlı Yeterli,Doyurucu Motive edebilen

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.

Page 9: Music magazine contents page...2. Kullanıcı Deneyimi (User experience goals) Cevap verebilen Eğlenceli Yaratıcılığı destekleyici,faydalı Yararlı Yeterli,Doyurucu Motive edebilen

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.

Page 10: Music magazine contents page...2. Kullanıcı Deneyimi (User experience goals) Cevap verebilen Eğlenceli Yaratıcılığı destekleyici,faydalı Yararlı Yeterli,Doyurucu Motive edebilen

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.”

Page 11: Music magazine contents page...2. Kullanıcı Deneyimi (User experience goals) Cevap verebilen Eğlenceli Yaratıcılığı destekleyici,faydalı Yararlı Yeterli,Doyurucu Motive edebilen

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.

Page 12: Music magazine contents page...2. Kullanıcı Deneyimi (User experience goals) Cevap verebilen Eğlenceli Yaratıcılığı destekleyici,faydalı Yararlı Yeterli,Doyurucu Motive edebilen

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

Page 13: Music magazine contents page...2. Kullanıcı Deneyimi (User experience goals) Cevap verebilen Eğlenceli Yaratıcılığı destekleyici,faydalı Yararlı Yeterli,Doyurucu Motive edebilen

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.

Page 14: Music magazine contents page...2. Kullanıcı Deneyimi (User experience goals) Cevap verebilen Eğlenceli Yaratıcılığı destekleyici,faydalı Yararlı Yeterli,Doyurucu Motive edebilen

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ı.

Page 15: Music magazine contents page...2. Kullanıcı Deneyimi (User experience goals) Cevap verebilen Eğlenceli Yaratıcılığı destekleyici,faydalı Yararlı Yeterli,Doyurucu Motive edebilen

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.

Page 16: Music magazine contents page...2. Kullanıcı Deneyimi (User experience goals) Cevap verebilen Eğlenceli Yaratıcılığı destekleyici,faydalı Yararlı Yeterli,Doyurucu Motive edebilen

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

Page 17: Music magazine contents page...2. Kullanıcı Deneyimi (User experience goals) Cevap verebilen Eğlenceli Yaratıcılığı destekleyici,faydalı Yararlı Yeterli,Doyurucu Motive edebilen

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.

Page 18: Music magazine contents page...2. Kullanıcı Deneyimi (User experience goals) Cevap verebilen Eğlenceli Yaratıcılığı destekleyici,faydalı Yararlı Yeterli,Doyurucu Motive edebilen

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.

Page 19: Music magazine contents page...2. Kullanıcı Deneyimi (User experience goals) Cevap verebilen Eğlenceli Yaratıcılığı destekleyici,faydalı Yararlı Yeterli,Doyurucu Motive edebilen

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?

Page 20: Music magazine contents page...2. Kullanıcı Deneyimi (User experience goals) Cevap verebilen Eğlenceli Yaratıcılığı destekleyici,faydalı Yararlı Yeterli,Doyurucu Motive edebilen

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.

Page 21: Music magazine contents page...2. Kullanıcı Deneyimi (User experience goals) Cevap verebilen Eğlenceli Yaratıcılığı destekleyici,faydalı Yararlı Yeterli,Doyurucu Motive edebilen

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.

Page 22: Music magazine contents page...2. Kullanıcı Deneyimi (User experience goals) Cevap verebilen Eğlenceli Yaratıcılığı destekleyici,faydalı Yararlı Yeterli,Doyurucu Motive edebilen

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.

Page 23: Music magazine contents page...2. Kullanıcı Deneyimi (User experience goals) Cevap verebilen Eğlenceli Yaratıcılığı destekleyici,faydalı Yararlı Yeterli,Doyurucu Motive edebilen

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