17.12.2012 ETKİLEŞİMLİ TASARIM SÜRECİ VE TASARIM DİLLERİ ETKİLEŞİMLİ TASARIM NEDİR? GELENEKSEL YAZıLıM TASARıMı ILE

Benzer belgeler
Etkileşimli Tasarım Nedir?

9.DERS Yazılım Geliştirme Modelleri

SİSTEM VE YAZILIM. o Bilgisayar sistemleri donanım, yazılım ve bunları işletmek üzere gerekli işlemlerden oluşur.

Yazılım Mühendisliği Bölüm - 2 Yazılım Geliştirme Yaşam Döngüsü. Cengiz GÖK

Bir yazılım geliştirme metodolojisi aşağıdaki adımlardan meydana gelir; Yazılım geliştirme sürecine destek verecek araçlar, modeller ve yöntemler.

Yazılım Mühendisliği 1

Sistem ve Yazılım Nedir?

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı

Mobil Kullanılabilirlik ve Kullanıcı Deneyimi Eğitimi

Android e Giriş. Öğr.Gör. Utku SOBUTAY

Y I L D I Z T E K N I K Ü N İ V E R S İ T E S İ MÜHENDİSLİĞİ

1.Yazılım Geliştirme Metotları 1

Sistem Geliştirme Yaşam Döngüsü (The Systems Development Life Cycle) (SDLC)

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

Kurumsal Kullanılabilirlik Eğitimi

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 10. Yrd.Doç.Dr.Hacer Karacan

Chapter 8 Yazılım Testi. Lecture 1. Chapter 8 Software testing

Fırat Üniversitesi Teknoloji Fakültesi Yazılım Mühendisliği. YAZILIM MÜHENDİSLİĞİNİN TEMELLERİ-Hafta 2

BENZERSİZ SORUNLARA BENZERSİZ ÇÖZÜMLER

Varlık davranış modeli: Bu aşama her entity ye etki eden durumların tanımlandığı, modellendiği ve dokümante edildiği süreçtir.

YZM 2108 Yazılım Mimarisi ve Tasarımı

BİL 542 Paralel Hesaplama. Dersi Projesi. MPJ Express Java Paralel Programlama

BİLİŞİM SİSTEMLERİNİN PRENSİPLERİ

CENG 302 Yazılım Mühendisliği Yazılım Mimarisi - Devam. Alper UĞUR

Kullanılabilirlik ve Kullanıcı Deneyimi Tasarımı Eğitimi

Yaz.Müh.Ders Notları #1 1

Elbistan Meslek Yüksek Okulu Güz Yarıyılı

Yazılım Süreçleri Software Processes

Bölüm 2 Yazılım Süreçleri. Ders 1

IBM CLM Çözümleriyle Çevik Yazılım Süreçleri. Canberk Akduygu & Koray Okşar

Giriş: Temel Adımlar YAZILIM GELİŞTİRME YAŞAM DÖNGÜSÜ. Belirtim Yöntemleri. Belirtim Yöntemleri

Mobil Cihazlardan Web Servis Sunumu

08225 AĞ TEMELLERĠ. Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. 20 EKi Salı, Çarşamba

İnsan Bilgisayar Etkileşimi (IBE) nedir? İnsan Bilgisayar Etkileşimi Araştırma ve Uygulama Labaratuvarı

BİLİŞİM SİSTEMLERİNİN PRENSİPLERİ

Tasarım Raporu. - Projemizde detaylı bir şekilde ulaşmak istediğimiz amaçların belirlenmesi,

Eylül 2007 de v1.0 ı yayınlanan SysML sayesinde endüstri mühendislerinin de ihtiyacı karşılanmış oldu.

Yazılım Nedir? Yazılım Mühendisi. Yazılım Mühendisliği. ACM/IEEE Etik Kodu. Etik Kural için Önsöz BIL 304 YAZILIM MÜHENDİSLİĞİ

SİSTEM ANALİZİ VE TASARIMI

Arayüz Nedir? Arayüz Çeşitleri Arayüz Tasarım Yöntemleri Arayüz Tasarım Hataları. Ömer Faruk MIZIKACI

Yaz.Müh.Ders Notları #6 1

BENZERSİZ SORUNLARA BENZERSİZ ÇÖZÜMLER

Bilgisayar Mühendisliği. Bilgisayar Mühendisliğine Giriş 1

PROGRAMLAMA TEMELLERİ

BMH-405 YAZILIM MÜHENDİSLİĞİ

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, kabuk ve diğer temel kavramlar) Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu

Yazılım Mühendisliğine Giriş 2018 GÜZ

ÖZGÜR YAZILIMLAR İLE J2EE

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) Varlık Bağıntı Modeli

Türk Standartlari Enstitüsü'nün tanımladığı

Bilgisayar Sistemleri; donanım, yazılım ve kullanıcılardan oluşur. Yazılım sadece belirli bir işlemi yapan bir program değildir. Yazılım belirli bir

Kemalettin YıldY KADIR HAS UNIVERSITY. UNIX SYSTEM ADMINISTRATOR

Kullanılabilirlik Staj Programı

Bilişim Teknolojileri Temelleri 2011

İstemci Yönetimi ve Genel Yazdırma Çözümleri

Yazılım Geliştirme Modeli ve Mimariler. Bilgisayar Programcılığı Ön Lisans Programı YAZILIM MİMARİLERİ. Öğr. Gör. Yüksel KARAMAN

YAZILIM MODELLEME VE TASARIM

BLG Sistem Analizi ve Tasarımı. Öğr. Grv. Aybike ŞİMŞEK

Açık Kaynak Öğrenme Yönetim Sistemleri (Learning Management Systems) Ceren Çalıcı

Java Temel Özellikleri

İŞLETİM SİSTEMLERİ. (Operating Systems)

Etkileşimli Tasarım Temelleri. Etkileşimler ve Müdahaleler. Tasarım Nedir? Tasarımın Altın Kuralları. Tasarımın Altın Kuralları.

TÜMLEŞİK MODELLEME DİLİ. UML (Unified Modeling Language)

USE IMPROVE EVANGELIZE. OpenSolaris. Afşin TAŞKIRAN EnderUNIX Yazılım Geliştirme Ekibi Türkiye OpenSolaris Kullanıcıları Grubu afsin ~ enderunix.

EYLÜL 2012 İŞLETİM SİSTEMLERİ. Enformatik Bölümü

Yazılım Mühendisliği Bölüm - 3 Planlama. Cengiz GÖK

Yazılım profesyonelleri için önemli olan yetkinlikler anketi Survey

BİT in Temel Bileşenleri (Yazılım-1)

DGridSim Gerçek Zamanlı Veri Grid Simülatörü. Yazılım Tasarımı Dokümanı v Mustafa Atanak Sefai Tandoğan Doç. Dr.

NESNEYE YÖNELİK PROGRAMLAMA Unified Modelling Language (UML) Bütünleşik Modelleme Dili

Su Jeti Kesiminde Bilgisayar Kontrolü. Kontrol Sistemleri Mühendisliği... KÖMBE

design)1980li ve 1990lıyıllar Birleştirilmiş Modelleme Dili (Unified Modeling Language-(UML) yazılım geliştirme araçlarının temelidir.

Basit Mimari, Katmanlı Mimari ve doğrudan çalıştırma olarak üçe ayrılır.

Veritabanı Yönetimi Bilgisayarların. Keşfi Hedefler. Veritabanı, Veri ve Bilgi. Veritabanı, Veri ve Bilgi. Veritabanı, Veri ve Bilgi

Bilgisayarda Programlama. Temel Kavramlar

IENG 227 Modern Üretim Yaklaşımları

Yönetim Sistemleri Kurulumu

Chapter 6 Mimari Tasarım. Lecture 1. Chapter 6 Architectural design

Yazılım Mühendisliği Bölüm - 3 Planlama

Kullanım Durumu Diyagramları (Use-case Diyagramları)

WINDESKCONCENTO. sıgnum. Kurumsal İş Süreçleri Uygulamaları. windesk.com.tr

YAZILIM MÜHENDİSLİĞİNE GİRİŞ

Tasarım Aşaması. Eksiksiz Fonksiyonel Tanımlamalar

I. Oturum: GNU/LINUX A GİRİŞ

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

İstemci Yönetimi ve Mobil Yazdırma Çözümleri

Bilgisayar İşletim Sistemleri BLG 312

Odak noktamız 7/24 uzaktan erişim ve kamera kontrolüdür. Dynamic Transcoding

Hızlı Uygulama Geliştirme (Rapid Application Development - Rad Model)

1.1 Metodolojiyi Gerçeklemek Üzere Geliştirilen Altyapı

Bilgi sistemlerinin geliştirilmesi için izlenen sürece, Sistem Geliştirme Yaşam Döngüsü (SGYD) denir.

EKAHAU RTLS ÇÖZÜMLERİ

Kullanıcılar için EGEE ve TR-Grid araçları

Nagios XI Günümüzün talep gören kurumsal gereksinimleri için en güçlü BT altyapısı gözetim ve uyarı çözümüdür.

Büyük Ölçekli Bir Sistem Projesinde IBM Rational Jazz Platformu Kullanarak Çevik Süreçlerin Uygulanması. Serap Bozbey

İşletim Sistemleri; İÇERİK. Yazılım BİLGİ TEKNOLOJİLERİ VE UYGULAMALARI Yazılım Türleri

UNICASE.... kapsamlı bir CASE* aracı. *

Client Server Database

Veritabanı. Ders 2 VERİTABANI

Yazılım Mühendisliğine Giriş 5. Hafta 2016 GÜZ

Transkript:

ETKİLEŞİMLİ TASARIM NEDİR? ETKİLEŞİMLİ TASARIM SÜRECİ VE TASARIM DİLLERİ 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. 2009638014 Cihat Dumandağ 2009638504 Nuran Kon 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) GEREKSINIM TÜRLERI 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. Functional(Fonsiyonel) Unfunctional(Fonksiyonel olmayan) User(Kişisel) Environmental(Çevresel) Usability(Kullanılışlık) 1

GEREKSINIMLER NASıL BELIRLENIR? Görev Tanımlama Senaryolar Use Case Diyagramları Essantial Use Case Diyagramları GÖREV TANıMLAMA SENARYOLAR Senaryolar tasarım yapmak için oluşturulan hikayelerdir. Görev Analizi Hierarchical Task Analysis (HTA) 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.iki çeşit tasarım bulunur: Kavramsal(Conceptual) Tasarım Fiziksel(Physical) Tasarım 2

KAVRAMSAL(CONCEPTUAL) TASARıM FIZIKSEL(PHYSICAL) 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. 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 ETKILEŞIMLI TASARıMDA NELER PROTOTIP OLARAK KULLANıLABILIR? Prototip küçük ölçekli bir modeldir. 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. 3

4.DEĞERLENDIRME(EVULATION) ETKILEŞIMLI TASARıMıN ÜÇ TEMEL ANAHTARı 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. 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ı ETKILEŞIMLI TASARıMıN ÜÇ TEMEL ANAHTARı 2.Belirli Kullanılabilirlik Kuralları 3.İterasyon(Tekrarlama) 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. İ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. 4

YAŞAM DÖNGÜSÜ (LIFECYCLE) MODELLERİ BASIT BIR YAŞAM DÖNGÜSÜ; 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 İTERATIF TASARıM SÜRECI İ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. 3.Değerlendirme Adımı: Tasarımcılar prototiplerin istenen hedefleri karşılayıp karşılamadıklarını test ederler. 2.Prototipleme Adımı: Senaryolar,Storyboardlar ortaya koyulur,amaç tüm sistemin hareket noktasını oluşturma,gereksinimleri refine etmektir. 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. 5

GENEL ÖZELLIKLERI AVANTAJLARı 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. En eski model,yaygın kullanımda İyi tanımlanmış adımlar Kısa ömürlü projelere uygundur. DEZAVANTAJLARı HELEZONIK (SPIRAL) MODEL 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. SPIRAL MODEL GENEL ÖZELLIKLER SPIRAL MODELIN AVANTAJLARı 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. 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. 6

HıZLı UYGULAMA GELIŞTIRME RAD:( RAPID APPLICATION DEVELOPMENT ) HıZLı UYGULAMA GELIŞTIRME Kısa geliştirme çevrimleri üzerinde duran artımsal bir model. 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 STAR LIFECYCLE MODEL İ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: 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. Star(Yıldız)Modeli Kullanılabilirlik Mühendisliği Modeli 7

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 Uygulama Desteği Programlama Araçları DESTEĞI 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. 8

İNSAN BILGISAYAR ETKILEŞIMI PROGRAMCıYı NASıL ETKILER? GELIŞTIRME ARAÇLARıNıN KATMANLARı Programlama koddaki gelişmelere açık olmalıdır. Belirli Donanımlar -Belirli etkileşim ve teknikler 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 CLIENT SERVER MIMARISI 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. 9

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 OKUMA-DEĞERLENDIRME DÖNGÜSÜ 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. 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 SWING KÜTÜPHANESI 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. 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. 10

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/ebulten/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 11