• Sonuç bulunamadı

Etkileşimli Tasarım Nedir?

N/A
N/A
Protected

Academic year: 2022

Share "Etkileşimli Tasarım Nedir?"

Copied!
23
0
0

Yükleniyor.... (view fulltext now)

Tam metin

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

(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

(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

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

(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üpha

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

(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

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

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

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

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

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

(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

(13)

Helezonik(Spiral) Modeli

Risk Analiz i

Risk Analiz i

Risk Analiz i

Risk Analiz i

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.

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

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

(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

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

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

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

oPencereleme Sistemleri

oEtkileşim Aracı

oKullanı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?

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

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

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

(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/etkilesi m/

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%FC re%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

Referanslar

Benzer Belgeler

 Yöresel düzeyde geliĢimsel rehberlik ve psikolojik danıĢma programının genel amaçları, yeterlikleri ve uygulama ilkeleri3.  GeliĢimsel rehberlik ve psikolojik

 Kariyer planlama sürecini yaşayan kişi karar verme Kariyer planlama sürecini yaşayan kişi karar verme durumunda olan, bir meslek seçme işlemini yapmakta durumunda olan,

• Program amaçları ve öğrenme hedeflerine uygun olmalı.. • Katılımcıların hazır bulunuşluk düzeyine

(1996) ekip tasarım çalışması içinde ürün bilgisinin geliştirilmesi ve karar verme sürecini araştırmışlardır.. Ürünün iki fiziksel alt parçasının birbirleriyle ilişkileri

Thorndike (1982) iyi bir test planı için; testin amacının açıkça belirtilmesini, testte ölçülecek hedeflerin işevuruk tanımlarının yapılmasını, test

• Web grafik tasarımı, grafik tasarım alanı ile yakın ilişkili bir konu olarak ele alınabilir ama kendi içerisinde ayrı bir dal olarak çok geniş bir alanı işgal

• İyi bir yaratıcı strateji geliştirme ve bunu hayata geçirme çoğu zaman bir reklam kampanyasının başarısında en önemli öğe olarak görülür.. • İyi bir pazarlama

Salingaros, mimari ve kentleşme alanında, disiplinli bilimsel analizle içgüdüsel deneyimin bir bileşkesi olarak tanımlanabilecek, insanın ihtiyaçları ve beklentilerine daha