ETKİLEŞİMLİ TASARIM SÜRECİ VE TASARIM
DİLLERİ
2009638014 Cihat Dumandağ 2009638504 Nuran Kon
ETKİLEŞİMLİ TASARIM NEDİR?
Etkileşimli tasarım sadece arayüz tasarlama yada bilgisayar programlama değildir. Aynı zamanda insanların işlerini nasıl ve ne kadar etkileyeceği ile de ilgilenir. Etkileşimli sistemler sadece tasarımla ilgilenmemeli, bununla birlikte programın kullanımı ile ilgili bilgilerde vermelidir.
G
ELENEKSELYAZıLıMTASARıMıILEKARŞıLAŞTıRıLDıĞıNDA
E
TKILEŞIMTASARıMıNıN FARKıNEDIR?
Etkilkeşim tasarımı kullanıcı odaklıdır ve ürünü geliştirme yaklaşımlıdır.Yani bu demek oluyorki kullanıcının endişesi ürünü geliştirmek değil teknik sorunlardır.
E
TKILEŞIMT
ASARıMıNıND
ÖRTT
EMELF
AALIYETLERIGereksinimleri Belirlemek(Establishing requirements)
Alternatif Çözümleri Tasarlamak(Designing alternatives)
Prototip Oluşturmak(Prototyping)
Değerlendirme Yapmak (Evaluating)
G
EREKSINIMLERIB
ELIRLEMEK(E
STABLISHINGREQUIREMENTS)
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.
G
EREKSINIMT
ÜRLERIFunctional(Fonsiyonel)
Unfunctional(Fonksiyonel olmayan)
User(Kişisel)
Environmental(Çevresel)
Usability(Kullanılışlık)
G
EREKSINIMLERN
ASıLB
ELIRLENIR?
Görev Tanımlama Senaryolar
Use Case Diyagramları Essantial Use Case Diyagramları
Görev Analizi
Hierarchical Task Analysis (HTA)
G
ÖREVT
ANıMLAMAS
ENARYOLARSenaryolar tasarım yapmak için oluşturulan hikayelerdir.
G
ÖREVT
ANıMLAMAU
SEC
ASED
IYAGRAMLARıSistemin işlevselliğini açıklamak amacıyla kullanılır.
G
ÖREVT
ANıMLAMAE
SSENTIALU
SEC
ASED
IYAGRAMLARı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
G
ÖREVA
NALIZIH
IERARCHICALT
ASKA
NALYSIS(HTA) A
LTERNATIFT
ASARıMLARG
ELIŞTIRMEKTasarımın temel faaliyeti;
Gereksinimleri karşılamak için fikirler önermektir.İki çeşit tasarım bulunur:
Kavramsal(Conceptual) Tasarım
Fiziksel(Physical) Tasarım
K
AVRAMSAL(C
ONCEPTUAL) T
ASARıMTasarlanan, 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.
F
IZIKSEL(P
HYSICAL) T
ASARıMArayü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.
A
LTERNATIFLERN
ASıLO
RTAYAÇ
ıKAR?
Tasarımcının yaratıcılığıyla ve yetenekleriyle:
Araştırma,sentez
İlham alarak: Benzer tasarımlara bakarak inceleyerek.
A
LTERNATIFLERA
RASıNDANS
EÇIMIN
ASıLY
APARı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.E
TKILEŞIMLIT
ASARıMİ
ÇINP
ROTOTIPLEMEPrototip küçük ölçekli bir modeldir.
E
TKILEŞIMLIT
ASARıMDAN
ELERP
ROTOTIPO
LARAKK
ULLANı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.
4.D
EĞERLENDIRME(E
VULATION)
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.
E
TKILEŞIMLIT
ASARıMıNÜ
ÇT
EMELA
NAHTARı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.
E
TKILEŞIMLIT
ASARıMıNÜ
ÇT
EMELA
NAHTARı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.
E
TKILEŞIMLIT
ASARıMıNÜ
ÇT
EMELA
NAHTARı
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.
A
NAHTARS
ORULARKullanıcılar kimlerdir?
İhtiyaçlara göre neler yapmalıyız?
Nasıl alternatif tasarımlar oluşturulur?
Alternatifler arasından nasıl seçim yapılır?
K
ULLANıCıLARKIMLERDIR?
Üç tip kullanıcı vardır (Eason, 1987):
Birincil
İkincil
Üçüncü derecede
Paydaşlar
Uygulanan sistemin etkisinde olacak anahtar kişiler.
YAŞAM DÖNGÜSÜ (LIFECYCLE) MODELLERİ
Faaliyetlerinin nasıl ilişkilendirildiğini gösterirler.
Yaşam döngüsü modelleri:
Yönetim araçları
Gerçekliğin basitleştirilmiş versiyonu Pek çok yaşam modeli örneği bulunmaktadır:
Yazılım mühendisliği : şelale, spiral,JAD /RAD,Microsoft HCI:Star(Yıldız) Modeli ,Kullanılabilirlik
B
ASITB
IRY
AŞAMD
ÖNGÜSÜ;
İ
TERATIFT
ASARıMS
ÜRECI1.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.
İ
TERATIFT
ASARıMS
ÜRECI3.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
Geliştirilen yazılımın, üretim aşaması ve kullanım süreci boyunca geçirdiği tüm aşamalar "Yazılım Geliştirme Yaşam Döngüsü" olarak tanımlanır.
Ş
ELALE(W
ATERFALL) M
ODELI Geleneksel yazılım geliştirme modeli olarak da bilinir.Şelale modelinde yazılım, aşamalar en az birer kez tekrarlanarak geliştirilir.
G
ENELÖ
ZELLIKLERIArdışı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.
A
VANTAJLARıEn eski model,yaygın kullanımda
İyi tanımlanmış adımlar
Kısa ömürlü projelere uygundur.
D
EZAVANTAJLARı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.
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 .
H
ELEZONIK(S
PIRAL) M
ODELS
PIRALM
ODELG
ENELÖ
ZELLIKLERSpiral 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.
S
PIRALMODELINAVANTAJLARı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.
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.
HıZLı UYGULAMA GELIŞTIRME RAD:( RAPID APPLICATION DEVELOPMENT )
Kısa geliştirme çevrimleri üzerinde duran artımsal bir model.
H
ıZLıU
YGULAMAG
ELIŞTIRMERAD 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.
H
ıZLıU
YGULAMAG
ELIŞTIRMEİ
KIA
NAHTARÖ
ZELLIĞIUygulamanı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ıU
YGULAMAG
ELIŞTIRMEDezavantajlar:
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.
Avantajlar:
Artan Hız
Artan Kalite Sonuç:
Prototip geliştirmede kullanılması veya ana fikirlerinin diğer süreçlere uygulanması yerinde olacaktır.
HCI V
EY
AŞAMD
Ö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
S
TARL
IFECYCLEM
ODELAktivitelerin 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,prototipleme
W
EBS
ITEG
ELIŞTIRMES
ÜRECIWEB 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
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
WEB SITE GELIŞTIRME SÜRECI
4.Üretim(Production):
Tümüyle etkileşimli prototip oluşturulur.
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.
T
ASARıMD
ILLERIV
EU
YGULAMAD
ESTEĞIUygulama 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
İ
NSANB
ILGISAYARE
TKILEŞIMIP
ROGRAMCıYıNASıLE
TKILER?
Programlama koddaki gelişmelere açık olmalıdır.
Belirli Donanımlar -Belirli etkileşim ve teknikler
G
ELIŞTIRMEA
RAÇLARıNıNK
ATMANLARıPencereleme Sistemleri
Etkileşim Aracı
Kullanıcı Arayüzü Yönetim Sistemleri
P
ENCERELEMES
ISTEMLERININÖ
ĞELERIAygıt Bağımsızlığı
Pixels
PostScript (MacOS X, NextStep)
Graphical Kernel System (GKS)
Programmers’ Hierechical Interface to Graphics(PHIGS)
Kaynak Paylaşımı
Kullanıcı görevleri eşzamanlılık sağlanmasını
Pencereleme sistemi bağımsız işlemleri
Bireysel uygulamalar izolasyonunu sağlar.
P
ENCERELEMES
ISTEMININM
IMARISIOlası 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?
P
ENCERELEMES
ISTEMININM
IMARISI1.Her Uygulama Tüm işlevleri Yönetir Senkronizasyon hakkında sorunlar Uygulama taşınabilirliğini azaltır
2.Yönetim rolü çekirdek işletim sistemi içindedir.
Uygulamalar işletim sistemine bağlıdır.
3.Ayrı uygulamadaki yönetim rolü Maksimum taşınabilirlik sağlar.
C
LIENT– S
ERVERM
IMARISIX P
ENCEREM
IMARISIX P
ENCEREM
IMARISINedir?
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 P
ENCEREM
IMARISIX protokolü server-client iletişimini belirler
Farklı Pencerelerin yöneticisi giriş-çıkış koşullarını denetler(uygular).
Girdiler nasıl değişecek
Inter-Client veri transferi
Kim Buldu?
X-Pencere başlangıçta MIT projesi olarak geliştirildi ve o zamandan beri bilgisayar üreticileri tarafından kabul edildi.
O
KUMA-D
EĞERLENDIRMED
Ö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
J
AVAN
EDIR?
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.
J
AVAS
WINGK
ÜTÜPHANESISwing, 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.
J
AVAA
RAYÜZÜjava sınıfları buton,menü vs. destekler
Bildiri(uyarı)tabanları şunlardır:
AWT 1.0 ana alt sınıf araçlarına ihtiyaç duyar.
AWT 1.1 ve sonraki versiyonlar nesneleri geri çağırır
Swing araç kiti
AWT nin en üst katmanından geliştirilmiştir
Üst düzey sürümleri var.
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
Kavramsal mimari
Uygulama Teknikleri
Altyapı desteklemesi
K
AVRAMSALM
IMARIO
LARAKUIMS
Geliştirilebilir:
Taşınabilirdir, yani farklı sistemlerde çalışabilir
Yeniden kullanılabilirdir, yani bileşenler tekrar kullanılarak maliyet azaltılabilir
Çok arayüzü aynı özelliğe erişebilir
İsteğe göre uyarlanabilirlik, yani tasarımcı ve kullanıcı tarafından uyarlanabilir
TEŞEKKÜRLER
K
AYNAKLARhttp://www.bimetri.com/urunler/yazilim/ozel/yazil im-gelistirme-metodolojilerimiz/
http://sulc3.com/model.html
http://www.bby.hacettepe.edu.tr/e-
bulten/dosyalar/file/bulten_aralik2010/taskin_U NAK2010(1)(sunum).pdf
http://ceng.gazi.edu.tr/~hkaracan/BM515_H1.pdf
http://www.kmyo.duzce.edu.tr/kmyo/myos/pdf/M YO_OS_9005.pdf