uygulama desteĞİ

50
UYGULAMA DESTEĞİ 2008638032 Öner Çetin 2009638402 Mesut Yücel

Upload: debbie

Post on 21-Jan-2016

80 views

Category:

Documents


0 download

DESCRIPTION

UYGULAMA DESTEĞİ. 2008638032 Öner Çetin 2009638402 Mesut Yücel. Uygulama Desteği. Programlama Araçları Programcılar için hizmet düzeyler Pencereleme Sistemleri A yrılmış ve eşzamanlı kullanıcı sistem etkinliği için temel çekirdek deste ği sağlamalıdır . - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: UYGULAMA DESTEĞİ

UYGULAMA DESTEĞİ

2008638032 Öner Çetin2009638402 Mesut Yücel

Page 2: UYGULAMA DESTEĞİ

Uygulama DesteğiProgramlama Araçları

o Programcılar için hizmet düzeyler

Pencereleme Sistemlerio Ayrılmış ve eşzamanlı kullanıcı sistem etkinliği için

temel çekirdek desteği sağlamalıdır.İletişim Kontrollü ve Uygulama Programlama

Etkileşim Araçlarıo Kullanıcının Algı Düzeyine göre programlama

yapmako Programcının kullanıcının algısına göre ,nesnelerin

davranışlarını tanımlamasına izin verir.

Page 3: UYGULAMA DESTEĞİ

Uygulama DesteğiKullanıcı Arayüzü Yönetim Sistemleri

o Sunum ve işlevsellik arasındaki ilişki kontrollerini sağlar.

o Programlama toollarını destekleyen son düzeydir.

o Mevcut uygulama içerisindeki aynı fonksiyonel mantığa sahip olan nesneler arasında ki ilişkiyi kontrol etmemizi sağlar.

Page 4: UYGULAMA DESTEĞİ

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

Geliştirme Araçlarının Katmanlarıo Pencereleme Sistemlerio Etkileşim Aracıo Kullanıcı Arayüzü Yönetim Sistemleri

Page 5: UYGULAMA DESTEĞİ

Pencereleme Sistemlerinin ÖğeleriAygıt Bağımsızlığı

o Pixelso 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şlemlerio Bireysel uygulamalar izolasyonunu sağlar.

Page 6: UYGULAMA DESTEĞİ
Page 7: UYGULAMA DESTEĞİ

Penceleme Sisteminin Rolleri

Page 8: UYGULAMA DESTEĞİ

Pencereleme Sisteminin MimarisiOlası 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?

1. Her Uygulama Tüm işlevleri Yönetiro Senkronizasyon hakkında sorunlaro 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.

Page 9: UYGULAMA DESTEĞİ

Pencereleme Sisteminin Yapı TaşlarıGui’nin bileşenidir. Grafik arayüzü kullanır.Üst üste gelmesine izin verir. Ebeveynlik

uygulamasını destekler.

Page 10: UYGULAMA DESTEĞİ
Page 11: UYGULAMA DESTEĞİ

Client – Server Mimarisi

Page 12: UYGULAMA DESTEĞİ

X Pencere Mimarisi

Page 13: UYGULAMA DESTEĞİ

X Pencere MimarisiNedir?

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.

Page 14: UYGULAMA DESTEĞİ

X Pencere MimarisiDaha ç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 protokolü server-client iletişimini belirler

Page 15: UYGULAMA DESTEĞİ

X Pencere MimarisiFarklı Pencerelerin yöneticisi giriş-çıkış

koşullarını denetler(uygular).o Girdiler nasıl değişeceko 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 16: UYGULAMA DESTEĞİ

Programlama Uygulaması - 1

Okuma-Değerlendirme Döngüsürepeat

read-event(myevent)case myevent.type

type_1:do type_1

processingtype_2:

do type_2 processing

...type_n:

do type_n processing

end caseend repeat

Page 17: UYGULAMA DESTEĞİ

Programlama Uygulaması – 1 Uyarı Tabanlı

Page 18: UYGULAMA DESTEĞİ

Tek Tek GitmeSistemin 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…

Page 19: UYGULAMA DESTEĞİ

Araç kitlerinin KullanımıEtkileşim Nesneleri

• Giriş ve Çıkış Bağlantılıdır

Page 20: UYGULAMA DESTEĞİ

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

Page 21: UYGULAMA DESTEĞİ

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: UYGULAMA DESTEĞİ

Java Swing Kü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.

Page 23: UYGULAMA DESTEĞİ

Java Arayüzüjava sınıfları buton,menü vs. desteklerBildiri(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ç kitio AWT nin en üst katmanından geliştirilmiştiro Üst düzey sürümleri varo MVC(model view controller) mimarisini kullanır.

Page 24: UYGULAMA DESTEĞİ

Kullanıcı Arayüzü Yönetim Sistemleri(User Interface Management Systems -UIMS)UIMS için dikkat edilmesi gerekenler

o Kavramsal mimario Uygulama Tekniklerio Altyapı desteklemesi

Page 25: UYGULAMA DESTEĞİ

Kullanıcı Arayüzü Yönetim Sistemleri(User Interface Management Systems -UIMS)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

Page 26: UYGULAMA DESTEĞİ

Kavramsal Mimari Olarak UIMSGeliştirilebilir:

o Taşınabilirdir, yani farklı sistemlerde çalışabiliro Yeniden kullanılabilirdir, yani bileşenler tekrar

kullanılarak maliyet azaltılabiliro Çok arayüzü aynı özelliğe erişebiliro İsteğe göre uyarlanabilirlik, yani tasarımcı ve

kullanıcı tarafından uyarlanabilir

Page 27: UYGULAMA DESTEĞİ

UIMS Geleneği-Arayüz Katmanları/Mantıksal Bileşenler1. Dilsel : sözcüksel/sözdizimsel/anlamsal

(lexical/syntactic/semantic)

2. Seeheim

3. Arc/Slinky modeli

presentation dialogue application

dialogue

lexical

physicalfunctional

core

func. core adaptor

Page 28: UYGULAMA DESTEĞİ

Seeheim model

PresentationDialogueControl

Functionality(applicationinterface)

USERUSER APPLICATION

switch

lexical syntactic semantic

Page 29: UYGULAMA DESTEĞİ

Kavramsal UygulamalarSeeheim

• Asıl desteği kavramsaldır• Kullanıcı arayüzünün normal bir konseptidir.

… seeheim den dolayı farklı düşünebiliriz(tasarım için)…

e.g. alt kutu,switcho uygulanması için gereklio ama kavramsal değil

presentation dialogue application

Page 30: UYGULAMA DESTEĞİ

GeriBildirimGönderilen bilgi veya talimatın alıcıda yaptığı

etkiye ilişkin edinilen bilgi, dönüt.

Page 31: UYGULAMA DESTEĞİ

Semantic(Anlamsal) GeribildirimFarklı geribildirim türleri vardır.:

o Lexical(sözcüksel) yani farenin hareketio Syntactic(sözdizimsel) yani menü olaylarıo Semantic(anlamsal) yani sayıların toplamının değişimi

Anlamsal geribildirim genellikle yavaştıro Hızlı sözcüksel/sözdizimsel menü kullanılmalıdır

Ancak anlamsal geri besleme gerekebiliro Serbest çizimo Dosya sürüklendiğinde çöp tenekesi ya da klasörünün

vurgulanması parlaması.

Page 32: UYGULAMA DESTEĞİ

Bu nedir?

USER

Lexical Syntactic Semantic

APPLICATIONApplicationInterfaceModel

DialogueControl

Presentation

Page 33: UYGULAMA DESTEĞİ

SwitchUSER

Lexical Syntactic Semantic

APPLICATIONApplicationInterfaceModel

DialogueControl

Presentation

Diyalog kontrolcü

tarafından düzenlenir.

Uygulama ve sunum arasında

doğrudan iletişimi sağlar

Hızlı Anlamsal Geribildirim

Page 34: UYGULAMA DESTEĞİ

Daha çok katman ! dialogue

lexical

physicalfunctional

core

func. core adaptor

Page 35: UYGULAMA DESTEĞİ

Arch/SlinkyDaha fazla katman vardır. Yani sözcüksel ve

fiziksel ayrım yaparFarklı sistemlerde farklı katmanlara

ulaşabilmek önemlidir. dialogue

lexical

physicalfunctional

core

func. core adaptor

Page 36: UYGULAMA DESTEĞİ

Tek Parça ve BileşenlerSeeheim büyük bileşenlere sahiptir.Küçük parçaları kullanmak daha kolaydır

o nesneye yönelik araç kiti kullanıyorsanız

Smalltalk(Program Arayüzü) Mvc kullanır.o Model – bileşenlerin mantıksal durumuo View – ekranda nasıl görüntüleniro Controller – kullanıcının giriş işlemleri

Page 37: UYGULAMA DESTEĞİ

MVCModel-View-Controller

model

view

controller

Page 38: UYGULAMA DESTEĞİ

MVCModel-View-ControllerModel Nedir?

o Controller'den gelen değerleri işler ve geriye döndürür.

View Nedir?o Uygulamanın kullanıcıya gösterilen arayüzünün

bulunduğu katmandır.Controller Nedir?

o Uygulamanın karar mekanizmasıdır.

Page 39: UYGULAMA DESTEĞİ
Page 40: UYGULAMA DESTEĞİ
Page 41: UYGULAMA DESTEĞİ

MVC’nin SorunlarıMVC büyük ölçüde boru hattı(pipeline)

modelini kullanır.input control model view output

Pipeline: Bilginin, ardışık düzenin bir aşamasından sonrakiye geçmesi için düzenlenmiş bilgi akış yönteminin adıdır.

Page 42: UYGULAMA DESTEĞİ

MVC’nin SorunlarıGrafik arayüzünde

o Girişin çıkış ile bağlantılı olduğunda anlamı vardır. Örnek fareye tıklatma

o Tıklatıldığını bilmek gereko Kontrolör ne için tıklatıldığına karar vermelidiro View in nerede ne görüntü vermesini bilmesi gerekir.

Pratikte controller view ile konuşur.o Ayrım tamamlanmış değil

Page 43: UYGULAMA DESTEĞİ

PAC ModeliPresentation–Abstraction(soyutlama)–ControlPAC modeli Seeheim ile benzerdir

o Soyutlama– bileşenlerin mantıksal durumuo Tanıtım– giriş ve çıkışların yönetimio Kontrol – bu ikisi arasında bağlatı kurar

Hiyerarşik ve çoklu görüntüleri yönetiro PAC nesnelerinin iletişim kısmını kontrol eder

PAC birçok yönden daha iyidir.Fakat pratikte MVC daha çok kullanılır.

Örnek: java swing

Page 44: UYGULAMA DESTEĞİ

PACSunum- Soyutlama- Kontrol

abstraction presentation

control

A P

CA P

C

A P

C A P

C

Page 45: UYGULAMA DESTEĞİ

UIMS UygulamasıDiyalog kontrolü için teknikler

• menü ağları • durum geçiş diyagramları• gramer notasyonları • durum dilleri• dillerin bildirimi • kısıtlamalar• grafik özellikleri

(bunların ayrıntısı 16. bölümde göreceğiz)

Page 46: UYGULAMA DESTEĞİ

Grafik ÖzellikleriNedir?

o Ekranda bileşenleri çizmeko Script veya program bağlantıları olan eylemleri

ayarlamakKullanımı

o En popüler teknik ham programlama tekniğio ör:visual basic,dreamweaver,flash

Local vs. globalo Ekranda neyin görüneceğine odaklan

Page 47: UYGULAMA DESTEĞİ
Page 48: UYGULAMA DESTEĞİ

Diyalog Kontrolünün Amaçlarıİç kontrol

o ör:okuma-değerlendirme döngüsü

Harici kontrolo Sunum veya anlamsal uygulamalardan

bağımsızdır

Sunum kontrolüo ör:grafik özellikleri

Page 49: UYGULAMA DESTEĞİ

ÖzetProgramlamanın düzeyi araçları(tools)

desteklemelidirPencereleme sistemleri

o aygıttan bağımsızdıro çoklu görevleri yapar

Uygulamaları programlamak için paradigmalaro okuma-değerlendirme döngüsüo Uyarı tabanlıdır

Araçlaro etkileşimli nesneleri programlama

UIMSo conceptual architectures for separationo diyalogları ifade etmek için teknikler vardır.