UYGULAMA DESTEĞİ - PowerPoint PPT Presentation

uygulama deste n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
UYGULAMA DESTEĞİ PowerPoint Presentation
Download Presentation
UYGULAMA DESTEĞİ

play fullscreen
1 / 50
Download Presentation
UYGULAMA DESTEĞİ
237 Views
debbie
Download Presentation

UYGULAMA DESTEĞİ

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

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

  2. Uygulama Desteği • Programlama Araçları • Programcılar için hizmet düzeyler • Pencereleme Sistemleri • Ayrılmışveeşzamanlıkullanıcısistemetkinliğiiçintemelçekirdek desteğisağ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) • GraphicalKernelSystem (GKS) • Programmers’ HierechicalInterfaceto Graphics(PHIGS) • Kaynak Paylaşımı • Kullanıcı görevleri eşzamanlılık sağlanmasını • Pencerelemesistemi bağımsız işlemleri • Bireysel uygulamalar izolasyonunu sağlar.

  6. Penceleme Sisteminin Rolleri

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

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

  9. Client – Server Mimarisi

  10. X Pencere Mimarisi

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

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

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

  14. Programlama Uygulaması - 1Okuma-Değerlendirme Döngüsü repeat read-event(myevent) casemyevent.type type_1: do type_1 processing type_2: do type_2 processing ... type_n: do type_n processing end case end repeat

  15. Programlama Uygulaması – 1Uyarı Tabanlı

  16. 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…

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

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

  19. Java Nedir? • Java, Sun Microsystems mühendislerindenJames 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) birdildir.

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

  21. Java Arayüzü • java sınıflarıbuton,menü vs. destekler • Bildiri(uyarı)tabanlarışunlardır: • AWT 1.0 ana alt sınıfaraçlarınaihtiyaçduyar. • AWT 1.1 vesonraki versiyonlarnesnelerigeriçağırır • Swing araçkiti • AWT nin en üst katmanından geliştirilmiştir • Üstdüzeysürümlerivar • MVC(model view controller) mimarisinikullanır.

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

  23. KullanıcıArayüzüYönetimSistemleri(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

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

  25. UIMSGeleneği-ArayüzKatmanları/MantıksalBileşenler • Dilsel : sözcüksel/sözdizimsel/anlamsal (lexical/syntactic/semantic) • Seeheim 3. Arc/Slinky modeli

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

  27. Kavramsal Uygulamalar Seeheim • Asıldesteğikavramsaldır • Kullanıcıarayüzünün normal birkonseptidir. • … seeheim den dolayıfarklıdüşünebiliriz(tasarımiçin)… e.g. alt kutu,switch • uygulanmasıiçingerekli • amakavramsaldeğil

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

  29. Semantic(Anlamsal) Geribildirim • Farklıgeribildirimtürlerivardır.: • Lexical(sözcüksel)yani farenin hareketi • Syntactic(sözdizimsel)yani menü olayları • Semantic(anlamsal)yanisayılarıntoplamınındeğişimi • Anlamsalgeribildirimgenellikleyavaştır • Hızlısözcüksel/sözdizimselmenükullanılmalıdır • Ancakanlamsalgeribeslemegerekebilir • Serbestçizim • Dosya sürüklendiğinde çöp tenekesi ya da klasörünün vurgulanması parlaması.

  30. Bu nedir?

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

  32. Daha çok katman !

  33. Arch/Slinky • Daha fazlakatmanvardır. Yanisözcükselvefizikselayrımyapar • Farklı sistemlerde farklı katmanlara ulaşabilmek önemlidir.

  34. Tek Parça ve Bileşenler • Seeheimbüyükbileşenleresahiptir. • Küçük parçaları kullanmak daha kolaydır • nesneyeyönelikaraçkitikullanıyorsanız • Smalltalk(Program Arayüzü)Mvckullanır. • Model – bileşenlerinmantıksaldurumu • View – ekrandanasılgörüntülenir • Controller – kullanıcınıngirişişlemleri

  35. MVCModel-View-Controller view model controller

  36. MVCModel-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.

  37. 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 sonrakiyegeçmesi için düzenlenmiş bilgi akış yönteminin adıdır.

  38. MVC’nin Sorunları • Grafikarayüzünde • Girişinçıkışilebağlantılıolduğundaanlamıvardır. • Örnekfareyetıklatma • Tıklatıldığınıbilmekgerek • Kontrolör ne içintıklatıldığınakararvermelidir • View in nerede ne görüntü vermesini bilmesi gerekir. • Pratikte controller view ilekonuşur. • Ayrımtamamlanmışdeğil

  39. PAC ModeliPresentation–Abstraction(soyutlama)–Control • PACmodeliSeeheimilebenzerdir • Soyutlama– bileşenlerin mantıksal durumu • Tanıtım– giriş ve çıkışların yönetimi • Kontrol– buikisiarasındabağlatıkurar • Hiyerarşikveçoklugörüntüleriyönetir • PACnesnelerininiletişimkısmınıkontroleder • PACbirçokyöndendahaiyidir. • FakatpratikteMVCdahaçokkullanılır. Örnek:java swing

  40. A A A A P P P P C C C C PACSunum- Soyutlama- Kontrol abstraction presentation control

  41. UIMS Uygulaması • Diyalogkontrolüiçinteknikler • menüağları • durum geçişdiyagramları • gramernotasyonları • durum dilleri • dillerinbildirimi • kısıtlamalar • grafiközellikleri • (bunlarınayrıntısı 16. bölümdegöreceğiz)

  42. Grafik Özellikleri • Nedir? • Ekrandabileşenleriçizmek • Scriptveya program bağlantılarıolaneylemleriayarlamak • Kullanımı • En popülerteknik ham programlamatekniği • ör:visualbasic,dreamweaver,flash • Local vs. global • Ekrandaneyingörüneceğineodaklan

  43. DiyalogKontrolününAmaçları • İç kontrol • ör:okuma-değerlendirmedöngüsü • Haricikontrol • Sunumveyaanlamsaluygulamalardanbağımsızdır • Sunumkontrolü • ör:grafiközellikleri

  44. Özet Programlamanındüzeyiaraçları(tools) desteklemelidir • Pencerelemesistemleri • aygıttanbağımsızdır • çoklugörevleriyapar • Uygulamalarıprogramlamakiçinparadigmalar • okuma-değerlendirmedöngüsü • Uyarı tabanlıdır • Araçlar • etkileşimlinesneleriprogramlama • UIMS • conceptual architectures for separation • diyaloglarıifadeetmekiçintekniklervardır.

  45. Referanslarımız… • http://www.hcibook.com/e3/chapters/ch8 • http://tr.wikipedia.org/wiki/X_Pencere_Sistemi • http://tr.wikipedia.org/wiki/Java_(programlama_dili) • http://www.java.net/