Upload
debbie
View
80
Download
0
Embed Size (px)
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
Citation preview
UYGULAMA DESTEĞİ
2008638032 Öner Çetin2009638402 Mesut Yücel
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.
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.
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
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.
Penceleme Sisteminin Rolleri
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.
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 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.
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
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.
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
Programlama Uygulaması – 1 Uyarı Tabanlı
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…
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.
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.
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.
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
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
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
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
Seeheim model
PresentationDialogueControl
Functionality(applicationinterface)
USERUSER APPLICATION
switch
lexical syntactic semantic
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
GeriBildirimGönderilen bilgi veya talimatın alıcıda yaptığı
etkiye ilişkin edinilen bilgi, dönüt.
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ı.
Bu nedir?
USER
Lexical Syntactic Semantic
APPLICATIONApplicationInterfaceModel
DialogueControl
Presentation
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
Daha çok katman ! dialogue
lexical
physicalfunctional
core
func. core adaptor
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
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
MVCModel-View-Controller
model
view
controller
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.
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.
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
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
PACSunum- Soyutlama- Kontrol
abstraction presentation
control
A P
CA P
C
A P
C A P
C
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)
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
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
Ö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.
Referanslarımız…http://www.hcibook.com/e3/chapters/ch8http://
tr.wikipedia.org/wiki/X_Pencere_Sistemihttp://tr.wikipedia.org/wiki/Java_(
programlama_dili)http://www.java.net/