Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
17.12.2012
1
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.
GELENEKSEL YAZıLıM TASARıMı ILE
KARŞıLAŞTıRıLDıĞıNDA ETKILEŞIM TASARı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.
ETKILEŞIM TASARıMıNıN DÖRT TEMEL
FAALIYETLERI
Gereksinimleri Belirlemek(Establishing requirements)
Alternatif Çözümleri Tasarlamak(Designing alternatives)
Prototip Oluşturmak(Prototyping)
Değerlendirme Yapmak (Evaluating)
GEREKSINIMLERI BELIRLEMEK(ESTABLISHING REQUIREMENTS)
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.
GEREKSINIM TÜRLERI
Functional(Fonsiyonel) Unfunctional(Fonksiyonel olmayan) User(Kişisel) Environmental(Çevresel) Usability(Kullanılışlık)
17.12.2012
2
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
Senaryolar tasarım yapmak için oluşturulan hikayelerdir.
GÖREV TANıMLAMA
USE CASE DIYAGRAMLARı
Sistemin işlevselliğini açıklamak amacıyla kullanılır.
GÖREV TANıMLAMA ESSENTIAL 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
GÖREV ANALIZI
HIERARCHICAL TASK ANALYSIS (HTA)
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 Fiziksel(Physical) Tasarım
17.12.2012
3
KAVRAMSAL(CONCEPTUAL) TASARıM
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.
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.
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.
17.12.2012
4
4.DEĞERLENDIRME(EVULATION)
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.
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.
ANAHTAR SORULAR
Kullanı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?
KULLANıCıLAR KIMLERDIR?
Üç tip kullanıcı vardır (Eason, 1987): Birincil İkincil Üçüncü derecede
Paydaşlar
Uygulanan sistemin etkisinde olacak anahtar kişiler.
17.12.2012
5
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
BASIT BIR YAŞAM DÖNGÜSÜ;
İ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
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 (WATERFALL) MODELI
Geleneksel yazılım geliştirme modeli olarak da bilinir. Şelale modelinde yazılım, aşamalar en az birer kez tekrarlanarak geliştirilir.
17.12.2012
6
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.
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 .
HELEZONIK (SPIRAL) MODEL
SPIRAL MODEL GENEL ÖZELLIKLER
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 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. 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.
17.12.2012
7
HıZLı UYGULAMA GELIŞTIRME RAD:( RAPID
APPLICATION DEVELOPMENT )
Kısa geliştirme çevrimleri üzerinde duran artımsal bir model.
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.
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
Dezavantajlar: 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 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
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.
17.12.2012
8
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
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 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.
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.
17.12.2012
9
İ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
GELIŞTIRME ARAÇLARıNıN KATMANLARı
Pencereleme Sistemleri
Etkileşim Aracı
Kullanıcı Arayüzü Yönetim Sistemleri
PENCERELEME SISTEMLERININ ÖĞELERI
Aygı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.
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?
PENCERELEME SISTEMININ MIMARISI
1.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.
CLIENT – SERVER MIMARISI
17.12.2012
10
X PENCERE MIMARISI
X PENCERE MIMARISI
Nedir? 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). 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.
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
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.
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.
17.12.2012
11
JAVA ARAYÜ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
KAVRAMSAL MIMARI OLARAK UIMS
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
KAYNAKLAR
http://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
http://ocw.metu.edu.tr/mod/resource/view.php?id
=703