Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

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

Benzer bir sunumlar


... konulu sunumlar: "UYGULAMA DESTEĞİ 2008638032 Öner Çetin 2009638402 Mesut Yücel."— Sunum transkripti:

1 UYGULAMA DESTEĞİ Öner Çetin Mesut Yücel

2 Uygulama Desteği Programlama Araçları Pencereleme Sistemleri
Programcılar için hizmet düzeyler Pencereleme Sistemleri 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ı 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.

3 Uygulama Desteği Kullanıcı Arayüzü Yönetim Sistemleri
Sunum ve işlevsellik arasındaki ilişki kontrollerini sağlar. Programlama toollarını destekleyen son düzeydir. Mevcut uygulama içerisindeki aynı fonksiyonel mantığa sahip olan nesneler arasında ki ilişkiyi kontrol etmemizi sağlar.

4 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ı Pencereleme Sistemleri Etkileşim Aracı Kullanıcı Arayüzü Yönetim Sistemleri

5 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.

6

7 Penceleme Sisteminin Rolleri

8 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? Her Uygulama Tüm işlevleri Yönetir Senkronizasyon hakkında sorunlar Uygulama taşınabilirliğini azaltır Yönetim rolü çekirdek işletim sistemi içindedir. Uygulamalar işletim sistemine bağlıdır. Ayrı uygulamadaki yönetim rolü Maksimum taşınabilirlik sağlar.

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

10

11 Client – Server Mimarisi

12 X Pencere Mimarisi

13 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. TeamViewer

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

15 X Pencere Mimarisi 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.

16 Programlama Uygulaması - 1 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

17 Programlama Uygulaması – 1 Uyarı Tabanlı

18 İyi bir Tasarım Yapılmamışsa, tasarımınızı uygulamaya koymayın…
Tek Tek Gitme Sistemin tarzı arayüzleri etkiler Kalıcı dialog kutusu Olay döngüleri ile kolay olur Bildirim ile zordur 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…

19 Araç kitlerinin Kullanımı
Etkileşim Nesneleri Giriş ve Çıkış Bağlantılıdır

20 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

21 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.

22 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.

23 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.

24 Kullanıcı Arayüzü Yönetim Sistemleri (User Interface Management Systems -UIMS)
UIMS için dikkat edilmesi gerekenler Kavramsal mimari Uygulama Teknikleri Altyapı desteklemesi

25 Kullanıcı Arayüzü Yönetim Sistemleri (User Interface Management Systems -UIMS)
UIMS olmayan terimler: Kullanıcı arayüzü geliştirme sistemleri (UIDS) Kullanıcı arayüzü geliştirme Ortamı (UIDE) Örneğin; Visual Basic Ortam Visual Studio Sistem Windows Pencere sistemleri---Telefon aygıt sistemleri

26 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

27 UIMS Geleneği-Arayüz Katmanları/Mantıksal Bileşenler
Dilsel : sözcüksel/sözdizimsel/anlamsal (lexical/syntactic/semantic) Seeheim 3. Arc/Slinky modeli

28 Seeheim model Presentation Dialogue Control Functionality (application
interface) USER APPLICATION switch lexical syntactic semantic

29 Kavramsal Uygulamalar
Seeheim 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,switch uygulanması için gerekli ama kavramsal değil

30 GeriBildirim Gönderilen bilgi veya talimatın alıcıda yaptığı etkiye ilişkin edinilen bilgi, dönüt.

31 Semantic(Anlamsal) Geribildirim
Farklı geribildirim türleri vardır.: Lexical(sözcüksel) yani farenin hareketi Syntactic(sözdizimsel) yani menü olayları Semantic(anlamsal) yani sayıların toplamının değişimi Anlamsal geribildirim genellikle yavaştır Hızlı sözcüksel/sözdizimsel menü kullanılmalıdır Ancak anlamsal geri besleme gerekebilir Serbest çizim Dosya sürüklendiğinde çöp tenekesi ya da klasörünün vurgulanması parlaması.

32 Bu nedir?

33 Hızlı Anlamsal Geribildirim
Switch Diyalog kontrolcü tarafından düzenlenir. Uygulama ve sunum arasında doğrudan iletişimi sağlar Hızlı Anlamsal Geribildirim

34 Daha çok katman !

35 Arch/Slinky Daha fazla katman vardır. Yani sözcüksel ve fiziksel ayrım yapar Farklı sistemlerde farklı katmanlara ulaşabilmek önemlidir.

36 Tek Parça ve Bileşenler
Seeheim büyük bileşenlere sahiptir. Küçük parçaları kullanmak daha kolaydır nesneye yönelik araç kiti kullanıyorsanız Smalltalk(Program Arayüzü) Mvc kullanır. Model – bileşenlerin mantıksal durumu View – ekranda nasıl görüntülenir Controller – kullanıcının giriş işlemleri

37 MVC Model-View-Controller

38 MVC Model-View-Controller
Model Nedir? Controller'den gelen değerleri işler ve geriye döndürür. View Nedir? Uygulamanın kullanıcıya gösterilen arayüzünün bulunduğu katmandır. Controller Nedir? Uygulamanın karar mekanizmasıdır. Model katmanında herhangi bir output işlemi yapılmaz. Viwe örnek: Css, Javascript vb. bu katmanda bulunur. Bu bölümde minumum php kodunun yazılması hedeflenmektedir. for, foreach, while vb. döngüler ile birlikte, dinamik değerleri ekrana yazdırmak için output komutları sıklıkla kullanılır. Controller: Model ile View arasında köprü görevi görür. View katmanından gelen istekleri(request) model'e gönderir ve Model katmanından aldığı verileri view'e aktarır.

39

40

41 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.

42 MVC’nin Sorunları Grafik arayüzünde
Girişin çıkış ile bağlantılı olduğunda anlamı vardır. Örnek fareye tıklatma Tıklatıldığını bilmek gerek Kontrolör ne için tıklatıldığına karar vermelidir View in nerede ne görüntü vermesini bilmesi gerekir. Pratikte controller view ile konuşur. Ayrım tamamlanmış değil

43 PAC Modeli Presentation–Abstraction(soyutlama)–Control
PAC modeli Seeheim ile benzerdir Soyutlama– bileşenlerin mantıksal durumu Tanıtım– giriş ve çıkışların yönetimi Kontrol – bu ikisi arasında bağlatı kurar Hiyerarşik ve çoklu görüntüleri yönetir 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 Java Swing kütüphanesi aygıt bağımsız heryerde kullanıyo. Giriş çıkış yönetimi. MVC den daha üstün pac

44 PAC Sunum- Soyutlama- Kontrol
abstraction presentation control

45 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)

46 Grafik Özellikleri Nedir? Kullanımı Local vs. global
Ekranda bileşenleri çizmek Script veya program bağlantıları olan eylemleri ayarlamak Kullanımı En popüler teknik ham programlama tekniği ör:visual basic,dreamweaver,flash Local vs. global Ekranda neyin görüneceğine odaklan

47

48 Diyalog Kontrolünün Amaçları
İç kontrol ör:okuma-değerlendirme döngüsü Harici kontrol Sunum veya anlamsal uygulamalardan bağımsızdır Sunum kontrolü ör:grafik özellikleri

49 Özet Programlamanın düzeyi araçları(tools) desteklemelidir
Pencereleme sistemleri aygıttan bağımsızdır çoklu görevleri yapar Uygulamaları programlamak için paradigmalar okuma-değerlendirme döngüsü Uyarı tabanlıdır Araçlar etkileşimli nesneleri programlama UIMS conceptual architectures for separation diyalogları ifade etmek için teknikler vardır.

50 Referanslarımız… http://www.hcibook.com/e3/chapters/ch8


"UYGULAMA DESTEĞİ 2008638032 Öner Çetin 2009638402 Mesut Yücel." indir ppt

Benzer bir sunumlar


Google Reklamları