MVVM TASARIM DESENİ TEMELLİ HİYERARŞİK KULLANICI ARAYÜZÜ GEÇERLEME ALTYAPISI

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "MVVM TASARIM DESENİ TEMELLİ HİYERARŞİK KULLANICI ARAYÜZÜ GEÇERLEME ALTYAPISI"

Transkript

1 MVVM TASARIM DESENİ TEMELLİ HİYERARŞİK KULLANICI ARAYÜZÜ GEÇERLEME ALTYAPISI Hakan Bağcı (a), Ahmet Can Bulut (b), Ahmet Kara (c) (a) (b) (c) TÜBİTAK BİLGEM İLTAREN, Ankara ÖZ Simülasyon projelerinde kullanıcı arayüzlerinde girilen verilerin belirli kurallara göre geçerlenmesi ve gerekli hata ve uyarı bildirimlerinin kullanıcıya gösterilmesi ihtiyaç olagelmiştir. Modellerin doğru çalışabilmesi için öncelikli ihtiyaç ilklendirme parametrelerinin geçerli olarak sağlanmasıdır. Geçerleme kuralları sadece bir parametre ile ilgili olabildiği gibi karmaşık arayüzlerde birçok parametreyle de ilgili olabilmektedir. Ayrıca bu parametreler belirli gruplara ayrılarak bu gruplar arasında hiyerarşi oluşturulduğunda üst grupların geçerliliği alt gruplara bağlı olabilmektedir. Bu durumda geçerlemelerin hiyerarşik olarak yapılıp üst gruplara bildirilmesi gerekmektedir. Simülasyon projelerinde kullanıcıların senaryo tanımlaması için uyması gereken birçok karmaşık kural tanımlanmaktadır. Bu makalede bu tür ihtiyaçları karşılamak için MVVM (Model-View-ViewModel) tasarım deseni temel alınarak geliştirilmiş hiyerarşik kullanıcı arayüzü geçerleme altyapısı (Hier-MVVM) önerilmektedir. Hier-MVVM, MVVM tasarım deseninin temel öğelerinden biri olan görüntü modellerini geçerlenebilir kılmaktadır. Bu görüntü modelleri arasında ilişkiler kurarak geçerlemelerin hiyerarşik bir biçimde üst görüntü modellerine aktarılmasına olanak sağlamaktadır. Hier-MVVM sadece gerekli yerlerde ve gerektiği zaman geçerlemelerin yapılmasını sağlar. Ayrıca liste geçerlemelerini daha verimli hale getirmek için çözümler sunar. Hier-MVVM in geçerleme sisteminde dikkate aldığı bu iki temel husus onu çok parametreli karmaşık sistemlerde hiyerarşik geçerleme için iyi bir aday haline getirmektedir. Anahtar Kelimeler: Hiyerarşik Geçerleme, MVVM, Simülasyon, Veri Geçerleme, Yazılım Altyapısı 200

2 HIERARCHICAL USER INTERFACE VERIFICATION FRAMEWORK BASED ON MVVM DESIGN PATTERN ABSTRACT Verification of input parameters and user notification with warning and error messages is a major need in simulation software projects. Verified initialization parameters are the first step of valid model execution. Verification rules may depend on a single parameter, but sometimes may depend on multiple parameters on complex user interfaces. Hierarchically grouping of parameters let verification done based on sub-groups. Lots of complex rules exist to define a scenario in simulation software projects. To overcome these needs we propose a hierarchical user interface verification framework (Hier- MVVM) that is based on MVVM (Model-View-ViewModel) design pattern. Hier- MVVM lets ViewModels of MVVM verifiable. It manages relationships between ViewModels to reflect verification results hierarchically in parent ViewModels. Hier- MVVM lets verification done only in required ViewModels at required times. It also supports list verifications done efficiently. These two design concerns of Hier-MVVM let it to be a good candidate in simulation software with multiple parameters and hierarchical verification. Keywords: Data Verification, Hierarchical Verification, MVVM, Simulation, Software Framework 1. GİRİŞ Günümüzde yazılım sistemlerinin karmaşık hale gelmesiyle beraber bu sistemleri yönetmek için kullanılan kullanıcı arayüzleri de karmaşık hale gelmeye başlamıştır. Özellikle girilen verilerin tanımlanmış kurallara göre geçerlenmesinin gerektiği durumlarda kullanıcı dostu arayüzler geliştirmek zor bir problem halini almıştır. Bu verilerin hiyerarşik olması ve farklı seviyelerdeki parametre gruplarındaki hata/uyarıların diğer seviyeleri de etkilemesi gibi durumlar ortaya çıktığında bu problem daha da zor hale gelmektedir. Bu nedenle bu problemi jenerik bir şekilde çözen altyapıların geliştirilmesi son zamanlarda büyük önem kazanmıştır. Simülasyon projeleri gibi kullanıcıların senaryo tanımlaması için uyması gereken birçok karmaşık kuralın bulunduğu yazılımlarda bu tür durumlarla çok sık karşılaşılmaktadır [6]. Bu problemin çözümüne yönelik araştırma grubumuz tarafından yakın geçmişte farklı çözümler de geliştirilmiştir [7,8]. Kullanıcı arayüzü geliştirirken belirli bir tasarım deseni kullanmak geliştirme sürecini daha kolay hale getirmektedir. Buradan yola çıkarak MVP (Model-View-Presenter) ve MVC (Model-View-Controller) gibi tasarım desenleri oluşturulmuştur yılında 201

3 Martin Fowler MVP tasarım desenine benzeyen PM (Presentation Model) desenini tanıtmıştır [1] yılında Microsoft WPF kütüphanesinin tasarımcılarından olan John Gossman MVVM (Model-View-ViewModel) tasarım deseninden ilk defa bahsetmiştir [2]. MVVM tasarım deseni PM deseninin WPF kullanarak özelleştirilmiş hali olarak kabul edilebilir. MVVM ve PM tasarım desenini MVP ve MVC den ayıran temel özellik görüntü modelinin (ViewModel) görüntü bileşeninin (View) referansına ihtiyaç duymamasıdır. MVVM in JavaScript için geliştirilmiş versiyonu olan KnockoutJS [3] gibi diğer bazı diller için de geliştirilmiş versiyonları bulunmaktadır. Bu makalede hiyerarşik kullanıcı arayüzlerini geçerleme problemini çözmek için geliştirilen MVVM tasarım deseni temelli altyapı anlatılmaktadır. Bu altyapı kısaca Hier-MVVM (Hiyerarşik MVVM) olarak isimlendirilmiştir. Hier-MVVM görüntü modelleri arasında hiyerarşi kurulmasına olanak sağlar. Geçerleme sonuçları hiyerarşik olarak üst kısımlara aktarılır. Her görüntü modeli kendisi ve altındaki görüntü modellerinden sorumludur. Hier-MVVM in temel hedefi geçerlemeleri gerektiği yerde ve gerektiği zaman yaparak verimli bir geçerleme altyapısı sunmaktır. Bu makalede MVVM deseninde bulunan Model, View ve ViewModel terimlerinin Türkçe karşılıkları sırasıyla Model, Görüntü Bileşeni ve Görüntü Modeli olarak kullanılmıştır. Bu makalede örnekler basit bir çalışan bilgi sistemi üzerinden anlatılacaktır. Bu bilgi sistemi çalışanları listeler ve her çalışan hakkında bilgiler tutar. Makalenin kalan kısmında önce MVVM hakkında kısa bilgilendirme yapılıp daha sonra Hier-MVVM altyapısı tanıtılacaktır. Sonuç bölümünde ise Hier-MVVM hakkında genel bir değerlendirme yapılacaktır. 2. MVVM Hier-MVVM altyapısını tanıtmadan önce MVVM tasarım deseninin temel öğeleri olan Model, Görüntü Bileşeni ve Görüntü Modeli nden bahsetmek faydalı olacaktır. MVVM in temel öğeleri ve bu öğeler arasındaki ilişkiler Şekil 1 deki diyagramda gösterilmiştir. MVVM in temel hedefi görüntü bileşenleri geliştirme sürecini işleyiş mantığı ve veri modelleri geliştirme sürecinden ayırmaktır [4]. WPF Binding mekanizması bu süreleri ayırmayı mümkün kılmıştır. Görüntü bileşeni geliştirenler WPF kütüphanesi tarafından sunulan XML tabanlı XAML dilini kullanarak kullanıcı arayüzlerini oluştururlar. İşleyiş mantığı geliştiricileri ise görüntü modelleri oluşturarak veri modellerini yönetirler. Görüntü modelleri ve görüntü bileşenleri (XAML ile geliştirilen bileşenler) arasındaki ilişki ise WPF Binding mekanizması kullanılarak yapılır [5]. Binding aracılığıyla görüntü modelindeki elemanlar kullanıcı arayüz elemanlarına bağlanmış olur. Model, kullanıcı arayüzü kullanarak yönetilmek istenen verilerin tutulduğu sınıflara verilen genel isimdir. Çalışan bilgi sisteminde bir çalışanın bilgisini tutan Employee 202

4 sınıfı bir çalışan için modeli temsil eder. Bu çalışanları listeleyen bir üst model ise çalışan listesi modeli olarak tanımlanabilir. Aynı şekilde bir çalışan modeli altında alınan eğitimleri tutan bir eğitim listesi modeli bulunabilir. Bir başka deyişle modeller hiyerarşik olarak tanımlanabilirler. Şekil. 1. MVVM Tasarım Deseni Görüntü Bileşeni, verilerin kullanıcıya gösterildiği bileşenlerdir. Bu bileşenler ızgara, liste, açılır kutu, metin kutusu gibi temel öğeler olabileceği gibi bunların bir araya getirilmesiyle oluşturulan karmaşık görüntü bileşenleri de olabilirler. Örneğin çalışan bilgi sisteminde bir çalışan verisini kullanıcıya göstermek için bir EmployeeView görüntü bileşeni oluşturulabilir. Görüntü Modeli, model ile görüntü bileşeni arasında bulunur. Temel görevi model verilerinin arayüze yüklenmesi ve arayüzde yapılan değişikliklerin modele yansıtılmasıdır. Bu sayede model ve görüntü bileşeni direkt olarak etkileşim içinde olmazlar. Bütün değişiklikler görüntü modeli aracılığıyla yapılır. Görüntü modeli, görüntü bileşeninin referansına ihtiyaç duymaz. Bunun yerine WPF kütüphanesinde sunulan Binding mekanizması ve INotifyPropertyChanged arayüzleri kullanılarak görüntü modelleri ve görüntü bileşenleri haberleşirler. Kullanıcının arayüzden tetiklediği komutları görüntü modellerinde temsil eden komutlar da MVVM in öğeleri arasında sayılabilir. Örneğin kullanıcının arayüzde bir düğmeye basması komutu için ilgili görüntü modelinde bir komut tanımlanmalıdır. Bu komutlar WPF in sağladığı ICommand arayüzü kullanılarak oluşturulmaktadır. 3. HIER-MVVM 3.1. Geçerleme hiyerarşisi oluşturma Hier-MVVM, MVVM tasarım desenini temel alarak geliştirilen hiyerarşik kullanıcı arayüzü geçerleme altyapısıdır. Hier-MVVM, MVVM tasarım desenine ek olarak 203

5 görüntü modellerini geçerlenebilir hale getirmektedir. Hier-MVVM altyapısında bulunan temel sınıflar arasındaki ilişkiler Şekil 2 deki sınıf diyagramında gösterilmiştir. Şekil 2 de gösterilen ViewModelBase sınıfı görüntü modellerinin türediği soyut sınıftır. Bu sınıf INotifyPropertyChanged arayüzünü gerçeklediği için görüntü modeli içinde yapılan değişikliklerin kullanıcı arayüzüne bildirilmesini sağlar. ValidatingViewModelBase sınıfı ise yine bir soyut sınıf olmakla birlikte geçerlemeye olanak sağlar. Şekil. 2. Görüntü Modeli Sınıfları Liste geçerlemeleri için ListItemViewModel ve ListViewModel olmak üzere iki jenerik sınıf tanımlanmıştır. ListViewModel listeye eleman ekleme, listeden eleman çıkarma, liste elemanlarını aşağı/yukarı hareket ettirme gibi temel liste komutlarını hazır olarak sunmaktadır. Buna ek olarak liste üzerinde özel komutlar tanımlanmasına da izin vermektedir. ListItemViewModel sınıfı, ValidatingViewModelBase sınıfından türetilmiştir. ValidatingViewModelBase sınıfına ek olarak liste elemanının liste içindeki sırasını tutar. Jenerik ListViewModel<TViewModel, TModel> sınıfı kullanarak nesneler tanımlanırken TViewModel tipi ListItemViewModel<TModel> olmalıdır. 204

6 Şekil. 3. Özellik (Parametre) Sınıfları Şekil 3 te özellik (parametre) sınıfları gösterilmiştir. İki farklı tipte özellik sınıfı vardır. Bunlar ValueProperty ve RefProperty sınıflarıdır. ValueProperty double, integer gibi null değeri alamayan ilkel veri tipleri için tasarlanmış sınıftır. RefProperty ise referans tipleri için tanımlanmış özellik sınıfıdır. Örneğin bir çalışanın yaşını ValueProperty<int> olarak tanımlarken, ismini RefProperty<string> tipinde tanımlayabiliriz. ValidatingViewModelBase sınıfından türetilmiş bir sınıf birçok UIProperty içerebilir. Örneğin EmployeeViewModel sınıfı ValueProperty<int> Age ve RefProperty<string> Name özelliklerini içerir. Burada Age özelliği ilgili veri modelindeki çalışana ait yaşı, Name özelliği çalışan ismini yönetmektedir. Geçerleme hiyerarşisini oluşturmak için ValidatingViewModelBase sınıfının sunduğu Register metodu kullanılır. Register metodu parametre olarak geçerlenebilir bir nesne almaktadır. Hier-MVVM de geçerlenebilir nesneler görüntü modelleri, özellikler ve liste görüntü modelleridir. Özellikler Register metodu kullanarak ilgili görüntü modeline bağlanırlar. Aynı şekilde alt görüntü modelleri bir üst görüntü modeline bağlanırlar. Liste görüntü modellerinde de her bir liste elemanının görüntü modeli liste görüntü modeline bağlanır. Bu şekilde geçerleme hiyerarşisi oluşturulmuş olur. Her bir görüntü modeli kendisine bağlı alt özellik ve görüntü modellerinin geçerleme sonuçlarını toplamaktan sorumludur. Şekil 4 te örnek bir hiyerarşi gösterilmiştir. Bu örnekte EmployeeListViewModel sınıfı birden fazla EmployeeViewModel görüntü modelini içeren bir ListViewModel sınıfıdır. Bir çalışanın yaşının geçerlenmesi sonrasında ortaya çıkan hata ilgili EmployeeViewModel nesnesini, o da EmployeeListViewModel nesnesini etkilemektedir. Hiyerarşideki her bir görüntü modeli ve özellik kendisinden talep edildiğinde geçerleme sonuçlarını döner. 205

7 3.2. Geçerleme kuralları tanımlama Şekil. 4. Örnek Hiyerarşi Hiyerarşinin nasıl tanımladığını açıkladıktan sonra geçerleme kurallarının nasıl tanımladığından bahsetmemiz gerekir. Hier-MVVM altyapısı geçerleme kuralları tanımlamak için Şekil 5 teki temel sınıfları tanımlamıştır. Şekil. 5. Geçerleme Kuralı Sınıfları ValidatorBase sınıfı bütün geçerleme kurallarının türemesi gerektiği soyut ata sınıftır. ListValidatorBase sınıfı ise listelerin geçerlenmesi için kullanılan özelleştirilmiş bir sınıftır. ValidatorBase sınıfı geçerlemeleri yapan Validate isimli bir metot içerir. Bu sınıftan türetilen geçerleme kuralı sınıfları bu metodun içeriğini sağlarlar. Şekil 6 da örnek bir geçerleme kuralı tanımlanmıştır. Bu kural arayüzde bulunan ve zorunlu olarak girilmesi gereken bir alanın değerinin olup olmadığını kontrol eder. Eğer zorunlu olan alan bir değere sahip değilse ilgili özelliğe hata mesajı atanır. 206

8 Şekil. 6. Geçerleme Kuralı Örneği Bir özelliğe bağlanmış olan geçerleme kuralı özelliğin değeri değiştiğinde çalıştırılır. Bir özelliğin değeri değiştiğinde bu özelliğin değerinden başka bir özellik etkileniyorsa etkilenen özelliğin geçerleme kuralları da çalıştırılır. Geçerleme kuralları sadece etkilenen özelliklerde çalıştırıldığı ve hiyerarşideki bütün geçerlemelerin tekrar yapılmasına gerek bırakılmadığı için geçerleme verimli bir şekilde yapılmış olur. Bu özellik çok parametreli karmaşık arayüzlerde bile Hier-MVVM altyapısını kullanılabilir kılmaktadır. Hier-MVVM altyapısında liste geçerlemelerini daha verimli hale getirmek için ListValidatorBase sınıfı tanımlanmıştır. Bu sınıf geçerlemelerin listede hangi değişiklik yapıldığında tetiklenmesini belirlemeye izin verir. Örneğin listedeki eleman sayısını geçerleyen bir kuralın sadece listeye eleman eklendiğinde veya çıkarıldığında tetiklenmesi yeterli olacaktır. Bu geçerleme için listedeki bir elemanın değerinin değişmesi geçerleme kuralının tetiklenmesine sebep olmayacaktır. Liste geçerlemeleri için yapılan bu iyileştirme çok sayıda eleman içeren listelerin hızlı bir şekilde geçerlenebilmesinde Hier-MVVM kullanılmasına olanak sağlamıştır. Hier-MVVM, geçerleme kuralları sonuçlarını 3 farklı tipte sınıflandırır. Bunlar bilgi, uyarı ve hata mesajlarıdır. Geçerleme kuralları sadece hataları belirlemek için kullanılmaz. Uyarı ve bilgi mesajları üretmek için de geçerleme kuralları kullanılabilir. Hiyerarşinin herhangi bir yerinde bulunan bir elemanın geçerlilik seviyesi hesaplanırken alt elemanlardaki sonuçların tipi dikkate alınır. Öncelik sırası hata, uyarı ve bilgi şeklindedir. Hata olmadığı sürece görüntü modeli geçersiz olarak nitelendirilmez Geçerleme sonuçlarının gösterimi Geçerlenebilir öğeler olan görüntü modelleri, özellikler ve liste görüntü modelleri IValidating arayüzünü gerçeklemektedir. IValidating arayüzü Şekil 7 de gösterilmiştir. IValidating arayüzü elemanları kullanıcı arayüzündeki görüntü bileşenlerinin durumunu 207

9 tanımlayan özellikler içerir. Geçerleme kurallarıyla hata mesajı ataması yapabileceğimiz gibi, görüntü bileşenlerinin salt okunur, görünür, seçilebilir kılınmış olup olmadığı gibi durumlarını da atayabiliriz. IValidating arayüzü tarafından sunulan bu özellikler ilgili görüntü bileşenlerine WPF in Binding mekanizması kullanılarak bağlanabilir. Şekil. 7. IValidating Arayüzü Geçerleme sonuçlarının gösterimi için WPF kütüphanesinin sağladığı veri kalıpları (DataTemplate) kullanılarak hata verilerinin nasıl gösterileceği tanımlanabilir. Şekil 8 de çalışan isim alanının en az 3 harfli olmasını denetleyen bir geçerleme kuralının çalıştırılması sonucunda bulunan hatanın nasıl gösterildiği örneklenmiştir. 4. SONUÇLAR Şekil. 8. Örnek Hata Gösterimi Kullanıcıların doğru veri girişini sağlayabilmesi için kullanıcı arayüzleri için geçerleme kuralları tanımlanmaktadır. Bu geçerleme kurallarını tanımlamak ve kullanıcı arayüzüne yansıtmak karmaşık sistemlerde büyük bir problem olagelmiştir. Özellikle günümüzde kullanıcılar tarafından sağlanması gereken verilerin büyümesi ve daha da karmaşık hale gelmesi ile birlikte sistemleri yönetmek zorlaşmıştır. Bu tip sistemlerde veriler çoğu zaman hiyerarşik olarak tanımlanmaktadır. Bu durum geçerlemelerin hiyerarşik olarak yapılması gerekliliğini ortaya çıkarmaktadır. Hier-MVVM altyapısı karmaşık sistemlerin kullanıcı arayüzlerini daha kullanışlı hale getirmek, geçerlemeleri kolay yöntemlerle tanımlayabilmek ve tanımlanan geçerlemeleri en verimli şekilde çalıştırmak için tasarlanmış bir kütüphanedir. 208

10 HierMVVM görüntü modelleri arasında kurduğu hiyerarşi sayesinde geçerlemelerin hiyerarşik olarak üst görüntü modellerine aktarılmasını sağlar. Geçerlemeler sadece ilgili yerlerde ve gerektiği zaman yapılır. Buna ek olarak listeler için özel tasarlanmış sınıfları kullanarak tanımlanan geçerlemeler, birçok sistemde performans problemleri oluşturan liste geçerlemelerinin de verimli bir şekilde yapılmasına olanak sağlamıştır. Hier-MVVM, yukarıda sayılan özellikleri göz önüne alındığında çok parametreli karmaşık sistemlerde hiyerarşik geçerleme için kullanılabilecek bir altyapı olduğunu göstermektedir. Araştırma grubumuz içerisinde de pek çok simülasyon projesi içerisinde kullanılarak olgunluğunu ispatlamıştır. 5. KAYNAKÇA [1] M. Fowler, Presentation Model, [Son Ziyaret: 15 Nisan 2014]. [2] J. Gossman, Tales from the Smart Client: Introduction to Model/View/ViewModel pattern for building WPF apps, [Son Ziyaret: 15 Nisan 2014]. [3] S. Sanderson, KnockoutJS, [Son Ziyaret: 15 Nisan 2014]. [4] Model View ViewModel, [Son Ziyaret: 15 Nisan 2014] [5] S. Wildermuth, Windows Presentation Foundation Data Binding: Part 1, microsoft.com/en-us/library/aa aspx, [Son Ziyaret: 15 Nisan 2014]. [6] Balcı, O., Verification, Validation, and Testing,in Handbook of Simulation, Eds. Jerry Banks, John Wiley & Sons, 1998 [7] Demir, İ., Tezcan, Z., & Alpdemir, M. N. KABAN: Simülasyon Verileri Geçerleme ve Otomatik Kullanıcı Arabirimi Oluşturma Altyapısı. USMOS [8] Şimşek, A., Demir, İ., & Tezcan, Z.. KABAN-2: Kullanıcı Ara Birimi ve Geçerleme Altyapısı, UYMS

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

1.1 Metodolojiyi Gerçeklemek Üzere Geliştirilen Altyapı 1.1 Metodolojiyi Gerçeklemek Üzere Geliştirilen Altyapı Metodolojisi üzerinde durduğumuz çalışman Eğitim altyapısını gerçekleştirmek: Proje iki ana parçadan oluşacaktır. Merkezi Altyapı Kullanıcı Arabirimi

Detaylı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama Struts Framework Üst Düzey Programlama-ders08/ 1 JSP MODEL 1 ve MODEL 2 Mimarileri Bu mimariler bir web uygulaması geliştirilirken kullanılan yöntemlerdir. Bu yöntemler arasındaki

Detaylı

Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015

Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015 Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015 KONU BAŞLIKLARI 1. Yazılım Mimarisi nedir? 2. Yazılımda Karmaşıklık 3. Üç Katmanlı Mimari nedir? 4. Üç Katmanlı Mimari

Detaylı

GEÇERLİLİK KONTROLLERİ VALİDATİON CONTROLS. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

GEÇERLİLİK KONTROLLERİ VALİDATİON CONTROLS. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu GEÇERLİLİK KONTROLLERİ VALİDATİON CONTROLS Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu Giriş Kullanıcı bilgilerinin istenilen kriterlere uygun olup olmadığını denetlemek

Detaylı

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

Android e Giriş. Öğr.Gör. Utku SOBUTAY Android e Giriş Öğr.Gör. Utku SOBUTAY Android İşletim Sistemi Hakkında 2 Google tarafından geliştirilmiştir. Dünyada en çok kullanılan mobil işletim sistemidir. 2018 itibariyle Dünyada Android; %78.65,

Detaylı

Yazılım Mimari Tasarımından Yazılım Geliştirme Çatısının Üretilmesinde Model Güdümlü Bir Yaklaşım

Yazılım Mimari Tasarımından Yazılım Geliştirme Çatısının Üretilmesinde Model Güdümlü Bir Yaklaşım Yazılım Mimari Tasarımından Yazılım Geliştirme Çatısının Üretilmesinde Model Güdümlü Bir Yaklaşım İbrahim Onuralp Yiğit 1, Nafiye Kübra Turhan 2, Ahmet Erdinç Yılmaz 3, Bülent Durak 4 1,2,3,4 ASELSAN A.Ş.

Detaylı

BM208- Nesneye Dayalı Analiz ve Tasarım. Sunum 7

BM208- Nesneye Dayalı Analiz ve Tasarım. Sunum 7 BM208- Nesneye Dayalı Analiz ve Tasarım Sunum 7 Component(Bileşen) Diyagramları Sistemin fiziksel yapısını modellemede kullanılır. Bu fiziksel yapıdan kasıt gömülü kontroller, portlar, arayüzlerin yanı

Detaylı

IPACK LADDER. Arayüz Dökümantasyonu

IPACK LADDER. Arayüz Dökümantasyonu IPACK LADDER Arayüz Dökümantasyonu I. Giriş Bu dökümantasyon IPack Ladder yazılımının arayüz kullanımını, kullanılan model ile ilişkilerini ve işlevsel açıklamaları kapsamak üzere hazırlanmıştır. II. Dökümantasyon

Detaylı

Bilişim Sistemleri. Modelleme, Analiz ve Tasarım. Yrd. Doç. Dr. Alper GÖKSU

Bilişim Sistemleri. Modelleme, Analiz ve Tasarım. Yrd. Doç. Dr. Alper GÖKSU Bilişim Sistemleri Modelleme, Analiz ve Tasarım Yrd. Doç. Dr. Alper GÖKSU Ders Akışı Hafta 10-11. Nesneye Yönelik Sistem Tasarımı Haftanın Amacı Bilişim sistemleri geliştirmede nesneye yönelik sistem tasarımı

Detaylı

MUHASEBELEŞTĐRME SIRASINDA OTOMATĐK KATEGORĐ

MUHASEBELEŞTĐRME SIRASINDA OTOMATĐK KATEGORĐ MUHASEBELEŞTĐRME SIRASINDA OTOMATĐK KATEGORĐ Versiyon : 3.6.6.x Đlgili Programlar : Yakamoz ve Üstü Ticari Paketler Tarih : 10.02.2009 Doküman Seviyesi (1 5) : 3 (Tecrübeli Kullanıcı) GĐRĐŞ taksitli kredi

Detaylı

FTR 331 Ergonomi. yrd. doç. dr. emin ulaş erdem

FTR 331 Ergonomi. yrd. doç. dr. emin ulaş erdem FTR 331 Ergonomi yrd. doç. dr. emin ulaş erdem ERGONOMİDE KULLANILAN MODELLER Modelleme, farklı öğeler arasındaki ilişkilerin tanımlanmasında kullanılan bir yöntemdir. Modeller, kullanıldıkları alanlara

Detaylı

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

Chapter 8 Yazılım Testi. Lecture 1. Chapter 8 Software testing Chapter 8 Yazılım Testi Lecture 1 1 Konular Geliştirme testi Test tabanlı geliştirme Sürüm testi Kullanıcı testi 2 Programı test etmek Test etmek, bir programın yapması gereken şeyi yaptığını doğrulamak

Detaylı

YAZILIM MÜHENDİSLİĞİNİN TEMELLERİ 9.Hafta. Bakım

YAZILIM MÜHENDİSLİĞİNİN TEMELLERİ 9.Hafta. Bakım YAZILIM MÜHENDİSLİĞİNİN TEMELLERİ 9.Hafta Bakım Bölüm Hedefi Geliştirilen yazılımın uygulamaya alınabilmesi için gerekli yöntemler ve yazılımın çalışması sırasında yapılması gereken bakım işlemleri bu

Detaylı

Client Server Database

Client Server Database Java Server Faces Ahmet Demirelli Sabancı Üniversitesi 2007 Ajanda Model-1 Mimari Model-2 Mimari MVC Framework Java Server Faces Örnek Uygulama Model 1 Mimari 1 2 3 6 JSP (View) 5 JavaBeans (Model) 4 Client

Detaylı

Yazılım Mühendisliği 1

Yazılım Mühendisliği 1 Yazılım Mühendisliği 1 HEDEFLER Yazılım, program ve algoritma kavramları anlar. Yazılım ve donanım maliyetlerinin zamansal değişimlerini ve nedenleri hakkında yorum yapar. Yazılım mühendisliği ile Bilgisayar

Detaylı

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

DGridSim Gerçek Zamanlı Veri Grid Simülatörü. Yazılım Tasarımı Dokümanı v 1.0.1 01.08.2011. Mustafa Atanak Sefai Tandoğan Doç. Dr. DGridSim Gerçek Zamanlı Veri Grid Simülatörü Yazılım Tasarımı Dokümanı v 1.0.1 01.08.2011 Mustafa Atanak Sefai Tandoğan Doç. Dr. Atakan Doğan 1. Sistem Mimarisi DGridSim katmanlı bir yapı göz önünde bulundurularak

Detaylı

Balon & Banka Teslim tarihi: 17 Kasım 2008

Balon & Banka Teslim tarihi: 17 Kasım 2008 Balon & Banka Ege Üniversitesi Bilgisayar Mühendisliği Veri Yapıları Proje-2 Hüseyin YAŞAR 05-06-7657 Didem KAYALI 05-06-7669 Umut BENZER 05-06-7670 http://www.ubenzer.com/ Özlem GÜRSES 05-07-8496 Teslim

Detaylı

Veri Yapıları Laboratuvarı

Veri Yapıları Laboratuvarı 2013 2014 Veri Yapıları Laboratuvarı Ders Sorumlusu: Yrd. Doç. Dr. Hakan KUTUCU Lab. Sorumlusu: Arş. Gör. Caner ÖZCAN İÇİNDEKİLER Uygulama 1: Diziler ve İşaretçiler, Dinamik Bellek Ayırma... 4 1.1. Amaç

Detaylı

İLİŞKİSEL VERİTABANLARI

İLİŞKİSEL VERİTABANLARI İLİŞKİSEL VERİTABANLARI Veritabanı Nedir? Veritabanı (database) en basit şekliyle verilerin belirli bir düzene göre tutulduğu, depolandığı bir sistemdir. İlişkisel Veritabanı Nedir? İlişkisel veritabanlarındaki

Detaylı

Aktarımı Çalıştırmak/Geri Almak 146 Alan Seçenekleri 148 Veri Tabanı Şeması 150 Veri Tabanı ile İlgili Bazı Rake Görevleri 162 Modeller 164

Aktarımı Çalıştırmak/Geri Almak 146 Alan Seçenekleri 148 Veri Tabanı Şeması 150 Veri Tabanı ile İlgili Bazı Rake Görevleri 162 Modeller 164 xi Ruby on Rails Nedir? 2 Rails Neden Farklıdır? 2 Başlamadan Önce Bilinmesi Gerekenler 4 İnternet Nasıl Çalışır? 4 İstemci-Web Sunucu İlişkisi 5 HTTP Protokolü 6 URL-Kaynak Konumlandırma Adresleri 7 HTTP

Detaylı

BSM 532 KABLOSUZ AĞLARIN MODELLEMESİ VE ANALİZİ OPNET MODELER

BSM 532 KABLOSUZ AĞLARIN MODELLEMESİ VE ANALİZİ OPNET MODELER BSM 532 KABLOSUZ AĞLARIN MODELLEMESİ VE ANALİZİ OPNET MODELER Yazılımı ve Genel Özellikleri Doç.Dr. Cüneyt BAYILMIŞ Kablosuz Ağların Modellemesi ve Analizi 1 OPNET OPNET Modeler, iletişim sistemleri ve

Detaylı

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

BİT in Temel Bileşenleri (Yazılım-1) Ders 4 BİT in Temel Bileşenleri (Yazılım-1) BİLGİ & İLETİŞİM TEKNOLOJİLERİ 1 Yazılım, değişik ve çeşitli görevler yapma amaçlı tasarlanmış elektronik araçların, birbirleriyle haberleşebilmesini ve uyumunu

Detaylı

BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi KULLANICI ARAYÜZ. BLM401 Dr.Refik SAMET

BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi KULLANICI ARAYÜZ. BLM401 Dr.Refik SAMET BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi KULLANICI ARAYÜZ BİLEŞENLERİ 1 GİRİŞ (1/6) Arayüz bileşenleri kullanıcı ile uygulama arasındaki etkileşimleri gerçekleştirmektedir. Arayüz bileşenleri

Detaylı

Görsel Programlama DERS 07. Görsel Programlama - Ders07/ 1

Görsel Programlama DERS 07. Görsel Programlama - Ders07/ 1 Görsel Programlama DERS 07 Görsel Programlama - Ders07/ 1 KULLANICI ARAYÜZÜ GELİŞTİRME Kullanıcı arayüzleri (GUI-Graphical User Interface) kullanıcının işletim sisteminin pencere yöneticisinde görebildiği,

Detaylı

FAN SELECTOR FAN SELECTOR FAN SEÇİM YAZILIMI.

FAN SELECTOR FAN SELECTOR FAN SEÇİM YAZILIMI. FAN SELECTOR FAN SEÇİM YAZILIMI YAZILIM TANIMI Fan Selector yazılımı havalandırma ve iklimlendirme sistemlerinde kullanılan fanların performans hesaplamalarının yapılması ve çalışma şartlarına en uygun

Detaylı

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

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Kodlarına Yorum Satırı Eklemek Java Paket Kavramı Java Kütüphane Kavramı Konsoldan Veri Çıkışı ve JOPtionPane Kütüphanesi JOptionPane Kütüphanesi Kullanarak

Detaylı

BÖLÜM 04. Çalışma Unsurları

BÖLÜM 04. Çalışma Unsurları BÖLÜM 04 Çalışma Unsurları Autodesk Inventor 2008 Tanıtma ve Kullanma Kılavuzu SAYISAL GRAFİK Çalışma Unsurları Parça ya da montaj tasarımı sırasında, örneğin bir eskiz düzlemi tanımlarken, parçanın düzlemlerinden

Detaylı

BİL-142 Bilgisayar Programlama II

BİL-142 Bilgisayar Programlama II BİL-142 Bilgisayar Programlama II (C/C++) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş math Kütüphane Fonksiyonları Çok Parametreyle Fonksiyon Tanımı Fonksiyon

Detaylı

Java EE web uygulamaları geliştirmek için kullanılan açık kaynak web uygulama framework üdür.

Java EE web uygulamaları geliştirmek için kullanılan açık kaynak web uygulama framework üdür. 1 Apache Struts Java EE web uygulamaları geliştirmek için kullanılan açık kaynak web uygulama framework üdür. Kullanıcılara MVC mimarisini benimsetmek için Java Servlet API sini kullanıyor. Model-View-Controller

Detaylı

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

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Diziler Dizi Tanımlama ve İlk Değer Atama Dizi Elemanlarının Kullanılması Dizi İşlemleri Java da Diziler JAVA DA DİZİLER 4 Dizi; tek bir veri tipinde,

Detaylı

JavaServerFaces. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4 ahmetdemirelli@sabanciuniv.edu

JavaServerFaces. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4 ahmetdemirelli@sabanciuniv.edu JavaServerFaces Ahmet Demirelli SCJP 5.0, SCWCD 1.4 ahmetdemirelli@sabanciuniv.edu Sabancı Üniversitesi Bilişim Teknolojileri Yüksek Lisans Programı Seminerleri 2008 Hakkımızda SabancıÜniversitesi BT Yüksek

Detaylı

NX Motion Simulation:

NX Motion Simulation: NX Motion Simulation: Mekanizma Hareket Analizi UNIGRAPHICS NX yazılımının modüllerinden biri olan NX Motion Simulation, NX Dijital Ürün Tasarımı ailesinin mühendislik bileşenlerinden birisidir. Motion

Detaylı

Yaşanmış Tecrübe Paylaşımı Önce Test Et Sonra Kodla XP Pratiği

Yaşanmış Tecrübe Paylaşımı Önce Test Et Sonra Kodla XP Pratiği TBD 21. Ulusal Bilişim Kurultayı Sunumu Yaşanmış Tecrübe Paylaşımı Önce Test Et Sonra Kodla XP Pratiği Hasan ÖZKESER Bimar Bilgi İşlem Hizmetleri Aş. 5 Ekim 2004 ODTÜ Kültür ve Kongre Merkezi, Ankara 2004

Detaylı

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

Yaz.Müh.Ders Notları #6 1 YAZILIM MÜHENDİSLİĞİ Prof.Dr. Oya Kalıpsız GİRİŞ 1 YAZILIM YETERLİLİK OLGUNLUK MODELİ Olgunluk Seviyeleri: Düzey 1. Başlangıç düzeyi: Yazılım gelişimi ile ilişkili süreçlerin tanımlanması için hiçbir sistematik

Detaylı

FIRAT ÜNİVERSİTESİ BİLGİSAYAR MÜH.

FIRAT ÜNİVERSİTESİ BİLGİSAYAR MÜH. FIRAT ÜNİVERSİTESİ BİLGİSAYAR MÜH. WSDL-SOAP MURAT TEZGİDER Web Servisi Nedir? web servisi :standart formatları kullanarak programlama dili, işletim sistemi ve platformdan bağımsız olarak bilgiyi paylaşan

Detaylı

4. Bölüm Programlamaya Giriş

4. Bölüm Programlamaya Giriş 4. Bölüm Programlamaya Giriş Algoritma ve Programlamaya Giriş Dr. Serkan DİŞLİTAŞ 4.1. C# ile Program Geliştirme Net Framework, Microsoft firması tarafından açık internet protokolleri ve standartları

Detaylı

1. VERİ TABANI ARAÇLARI

1. VERİ TABANI ARAÇLARI 1.1. Veri Tabanı Yazılımı 1. VERİ TABANI ARAÇLARI Veri tabanı yazılımı veri tabanının bilgiyi verimli bir şekilde düzenleyebilmesini, gerektiği zaman bilgiye ulaşılabilmesini sağlayan, birden çok kullanıcıya

Detaylı

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü Konular Giriş math Kütüphane Fonksiyonları Çok Parametreyle Fonksiyon

Detaylı

Software Design Document

Software Design Document Software Design Document Version 2.0 Date: 25-12-2012 Project Team Table of Contents 1. Introduction 1.1. Purpose 1.2. Scope 1.3. Overview 1.4. References 2. System Overview 3. System Architecture 3.1.

Detaylı

CJ-CP1H-CP1L PLCLERĐNDE FONKSĐYON BLOĞU OLUŞTURMA

CJ-CP1H-CP1L PLCLERĐNDE FONKSĐYON BLOĞU OLUŞTURMA CJ-CP1H-CP1L PLCLERĐNDE FONKSĐYON BLOĞU OLUŞTURMA ĐÇĐNDEKĐLER Fonksiyon Bloğu Oluşturma Input ve Outputların Tanıtılması Programın Yazılması Programın Çalıştırılması Fonksiyon Bloğu Oluşturma Öncelikle

Detaylı

Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır.

Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır. Ders İçeriği An introduction to Object-oriented programming with Java Third Edition Update Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır. Nesneye Yönelik Öğr.

Detaylı

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1 Görsel Programlama DERS 03 Görsel Programlama - Ders03/ 1 Java Dili, Veri Tipleri ve Operatörleri İlkel(primitive) Veri Tipleri İLKEL TİP boolean byte short int long float double char void BOYUTU 1 bit

Detaylı

Diziler İndisli Değişkenler

Diziler İndisli Değişkenler Diziler İndisli Değişkenler Aynı tür bilgileri (öğrenci isimleri, şehir isimleri, kapı numaraları, fakülteler vbg.) bellekte tutmak için kullanabileceğimiz listelere dizi adı verilir. Dizi kullanmanın

Detaylı

Mekanları mahal olarak tanımlayabilmek için aracın Bilgi Kutusu nda üç yapılanma metodu bulunur:

Mekanları mahal olarak tanımlayabilmek için aracın Bilgi Kutusu nda üç yapılanma metodu bulunur: 23. Mahal Aracı Bu Konuda Öğrenilecekler: Mahal oluşturmak Mahal geçerli ayarlarıyla çalışmak Mahalleri düzenlemek Bir mahal listesi hazırlamak Mahaller bir projeye ait bir ya da daha fazla mekanı içerebilen

Detaylı

Internet Programming II. Elbistan Meslek Yüksek Okulu 2014 2015 Bahar Yarıyılı

Internet Programming II. Elbistan Meslek Yüksek Okulu 2014 2015 Bahar Yarıyılı Internet Programming II Elbistan Meslek Yüksek Okulu 2014 2015 Bahar Yarıyılı Öğr. Gör. Murat KEÇECĠOĞLU 11-14 May. 2014 Form Form İşlemleri Tarayıcıdan bilgi alarak işlem gerçekleştirme FORM elemanları

Detaylı

YZM 2105 Nesneye Yönelik Programlama

YZM 2105 Nesneye Yönelik Programlama YZM 2105 Nesneye Yönelik Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 5 Nesneye Yönelik Programlamaya Giriş Bu

Detaylı

XAML Dili Microsoft Blend. Tasarım ve Kodlamanın. Birbirinden Ayrılması

XAML Dili Microsoft Blend. Tasarım ve Kodlamanın. Birbirinden Ayrılması Giriş WPF Nedir? Tasarım ve Kodlamanın Birbirinden Ayrılması XBAP Nedir? Silverlight Nedir? Sunum Katmanları Neydi? Sunum Katmanları İle Neler Yapılabiliyordu Neden Microsoft? VCL Application, FireMonkey

Detaylı

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

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı Ders 7 LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ 1 LINUX Yapısı LINUX işletim sisteminin diğer işletim sistemleri gibi kendine özgü bir yapısı vardır. LINUX yapısı ve bileşenleri aşağıdaki

Detaylı

TÜİK e-vt Teknik Kılavuz

TÜİK e-vt Teknik Kılavuz TÜİK e-vt Teknik Kılavuz Genel Açıklamalar Mayıs 2015 ANKARA Versiyon: 1.1 1/6 Versiyon Yayım Tarihi Eklenen/Silinen/Değişen Bölüm Açıklama 1.0 20.02.2014 ---- Kılavuzun ilk sürümü. 1.1 04.05.2015 Sayfa

Detaylı

16. Kesit ve Cephe Aracı

16. Kesit ve Cephe Aracı 16. Kesit ve Cephe Aracı Bu Konuda Öğrenilecekler: Kesit/cephe bilgi kutusu ile çalışmak Kesit/cephe oluşturmak Kesit/cephe geçerli ayarlarıyla çalışmak Kesit/cephelere erişmek ve değiştirmek Kesit/cephelerin

Detaylı

Sinirsel Benzetim ve NSL. İlker Kalaycı 06, 2008

Sinirsel Benzetim ve NSL. İlker Kalaycı 06, 2008 Sinirsel Benzetim ve NSL İlker Kalaycı 06, 2008 Gündem Yapay Sinir Ağları Benzetim Benzetim Dilleri Sinirsel Benzetim Dilleri NEURON, GENESIS,NEST Gündem Neural Simulation Language (NSL) Tarihçe Genel

Detaylı

Görsel Programlama DERS 02. Görsel Programlama - Ders02/ 1

Görsel Programlama DERS 02. Görsel Programlama - Ders02/ 1 Görsel Programlama DERS 02 Görsel Programlama - Ders02/ 1 Kodun Tekrar Kullanımı ve Kalıtım(Inheritance) Nesneye yönelik programlamanın diğer programlama paradigmalarına karşı bir avantajı kodun yeniden

Detaylı

Javascript Geliştiricileri İçin Xaml Ve Microsoft Silverlight

Javascript Geliştiricileri İçin Xaml Ve Microsoft Silverlight Wpf tabanlı (windows presentation foundation) browser eklentisi hakkında bir sunum Nedir? Genel Bakış Uyumluluk Moonlight Lisans XAML Elementler Animasyon Scripting Sonuç 1 Nedir?, web (browser) uygulamaları

Detaylı

Kepware Veritabanı Ürünleri. Teknolojiye Genel Bir Bakış

Kepware Veritabanı Ürünleri. Teknolojiye Genel Bir Bakış Kepware Veritabanı Ürünleri Teknolojiye Genel Bir Bakış Gündem Veritabanı Client API teknolojisinin gözden geçirilmesi ODBC istemci sürücüsü- bir KEPServerEX Plug-In Haberleşme Sürücüsüdür. DataLogger-

Detaylı

MVP, Observer ve Mediator Örüntüleri ile Yeniden Kullanılabilir Uygulama Bileşenleri Geliştirme

MVP, Observer ve Mediator Örüntüleri ile Yeniden Kullanılabilir Uygulama Bileşenleri Geliştirme MVP, Observer ve Mediator Örüntüleri ile Yeniden Kullanılabilir Uygulama Bileşenleri Geliştirme Kenan Sevindik Kimdir? 1999 ODTÜ Bilgisayar Müh. mezunu 15 yılın üzerinde kurumsal uygulama geliştirme deneyimi

Detaylı

MVC Kul anıcı Doğrulama ve Yetkilendirme MVC Filtreler Action Filter FilterAttribute IActionFilter FilterAttribute IActionFilter

MVC Kul anıcı Doğrulama ve Yetkilendirme MVC Filtreler Action Filter FilterAttribute IActionFilter FilterAttribute  IActionFilter MVC Kullanıcı Doğrulama ve Yetkilendirme MVC projesinde kullanıcıların oturum açmasının sağlanması ve sadece yetkili oldukları action metotlara erişebilmelerini anlatan bir örnek uygulama gerçekleştirilecektir.

Detaylı

ARDIŞIL DİYAGRAM YAPI DİYAGRAMI. Sistem Analizi ve Tasarımı Dersi

ARDIŞIL DİYAGRAM YAPI DİYAGRAMI. Sistem Analizi ve Tasarımı Dersi ARDIŞIL DİYAGRAM YAPI DİYAGRAMI Sistem Analizi ve Tasarımı Dersi İçindekiler Ardışıl Diyagram Nedir ve Neden Kullanılır... 3 Ardışıl Diyagram Elemanları... 3 MS Visio ile Ardışıl Diyagram Çizimi... 5 Violet

Detaylı

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ Dersin Adı Kodu Sınıf/Y.Y. Ders Saati (T+U+L) Kredi AKTS Programlama Dillerinin Prensipleri BİM-323 3/II 3+0+0 3 4 Dersin

Detaylı

Yazılım Örüntüleri (SE 461) Ders Detayları

Yazılım Örüntüleri (SE 461) Ders Detayları Yazılım Örüntüleri (SE 461) Ders Detayları Ders Adı Ders Kodu Dönemi Ders Saati Uygulama Saati Laboratuar Saati Kredi AKTS Yazılım Örüntüleri SE 461 Bahar 3 0 0 3 5 Ön Koşul Ders(ler)i Dersin Dili Dersin

Detaylı

BİL-142 Bilgisayar Programlama II

BİL-142 Bilgisayar Programlama II BİL-142 Bilgisayar Programlama II (C/C++) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Sınıflar, Nesneler, Fonksiyon ve Veri Üyeleri Sınıf ve Fonksiyon Üyeleri

Detaylı

BİLGİSAYAR DESTEKLİ TASARIM HAFTA 6 COSMOSWORKS İLE ANALİZ

BİLGİSAYAR DESTEKLİ TASARIM HAFTA 6 COSMOSWORKS İLE ANALİZ BİLGİSAYAR DESTEKLİ TASARIM HAFTA 6 COSMOSWORKS İLE ANALİZ Makine parçalarının ve/veya eş çalışan makine parçalarından oluşan mekanizma veya sistemlerin tasarımlarında önemli bir aşama olan ve tasarıma

Detaylı

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

Kullanım Durumu Diyagramları (Use-case Diyagramları) Kullanım Durumu Diyagramları (Use-case Diyagramları) Analiz aşaması projeler için hayati önem taşır. İyi bir analizden geçmemiş projelerin başarı şansı azdır. Analiz ile birlikte kendimize Ne? sorusunu

Detaylı

Süreklilik Göstergesi. Kavram Haritaları. Etkileşim Göstergesi. Problem/Çözüm Göstergesi Karşılaştırma Matrisi. (Anlam Çözümleme Tablosu)

Süreklilik Göstergesi. Kavram Haritaları. Etkileşim Göstergesi. Problem/Çözüm Göstergesi Karşılaştırma Matrisi. (Anlam Çözümleme Tablosu) Kavram Haritaları Hiyerarşik KH Hiyerarşik Olmayan KH ( Ağ, Örümcek Harita) Zincir KH Sınıflandırma Haritası Vee Diyagramları Neden-Sonuç Diyagramları Balık Kılçığı Döngü Göstergesi Olay Zinciri Dizileri

Detaylı

C# nedir,.net Framework nedir?

C# nedir,.net Framework nedir? 1 C# nedir,.net Framework nedir? C# nedir? C#, C/C++ ve Java dillerinde türetilmiş,bu dillerin dezavantajlarının elenip iyi yönlerinin alındığı, güçlü basit, esnek, tip-güvenli(typesafe,tür dönüşümlerindeki

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları DİZİLER Bellekte ard arda yer alan aynı türden nesneler kümesine dizi (array) denilir. Bir dizi içerisindeki bütün elemanlara aynı isimle ulaşılır. Yani dizideki bütün elemanların isimleri ortaktır. Elemanlar

Detaylı

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ Dersin Adı Kodu Sınıf / Y.Y. Ders Saati (T+U+L) Kredi AKTS PROGRAMLAMA DİLLERİ BG-324 3/2 3+0+0 3+0 4 Dersin Dili : TÜRKÇE Dersin Seviyesi

Detaylı

SAĞLIK TEKNOLOJİ DEĞERLENDİRME (STD) İÇİN MODELLEME VE BENZETİM. Dr. Murat Günal

SAĞLIK TEKNOLOJİ DEĞERLENDİRME (STD) İÇİN MODELLEME VE BENZETİM. Dr. Murat Günal 1 SAĞLIK TEKNOLOJİ DEĞERLENDİRME (STD) İÇİN MODELLEME VE BENZETİM Dr. Murat Günal SAĞLIK TEKNOLOJİ DEĞERLENDİRME (STD) Sekröte sunulacak Yeni Ürün (veya Teknoloji) Mevcut ve gelecekteki demografik durum

Detaylı

GĐRĐŞ. 1 Nisan 2009 tarihinde BDP programının yeni bir sürümü yayınlanmış ve bu sürümde yapılan değişikliklere

GĐRĐŞ. 1 Nisan 2009 tarihinde BDP programının yeni bir sürümü yayınlanmış ve bu sürümde yapılan değişikliklere e-bildirge Versiyon : Yakamoz 3.6.7.7 ve Genel Muhasebe 3.6.7.8 İlgili Programlar : Yakamoz ve üstü ticari paketler & Genel Muhasebe Tarih : 02.04.2009 Doküman Seviyesi (1 5) : 3 (Tecrübeli Kullanıcı)

Detaylı

MVP ve Mediator ile Loose Coupled, Modüler UI Geliştirme

MVP ve Mediator ile Loose Coupled, Modüler UI Geliştirme MVP ve Mediator ile Loose Coupled, Modüler UI Geliştirme Hakkımızda Kenan Sevindik, 1999 ODTÜ mezunu 15 yıllık kurumsal uygulama geliştirme tecrübesine sahip Uzmanlık ve ilgi alanları Kurumsal uygulama

Detaylı

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı Internet Programming II Elbistan Meslek Yüksek Okulu 2013 2014 Bahar Yarıyılı Öğr. Gör. Murat KEÇECĠOĞLU 26 May. 2014 Form Form İşlemleri Tarayıcıdan bilgi alarak işlem gerçekleştirme FORM elemanları yardımıyla

Detaylı

Java Dersi. Altuğ Bilgin Altıntaş

Java Dersi. Altuğ Bilgin Altıntaş Java Dersi Altuğ Bilgin Altıntaş Bu Dönem Hakkında Corba Servlet RMI Temel Kısım EJB JSP XML 2 JDBC JNI Çalışma Evreleri 6 Çalışma Evreleri 7 Java dosyasının hali 7 İlk Java uygulaması 7 Ciddi bir uygulama

Detaylı

Örnek bir kullanım ve bilgisayar ağlarını oluşturan bileşenlerin özeti

Örnek bir kullanım ve bilgisayar ağlarını oluşturan bileşenlerin özeti Bu sayfaları okuduğunuza göre bir şekilde bilgisayarlar ve bilgisayar ağlarıyla ilişkiniz olduğunu biliyorum. Ancak yine de en başta niçin bilgisayar ağı kullanıyoruz sorusunun cevabını vermekle işe başlayabiliriz.

Detaylı

Bilişim Sistemleri. Modelleme, Analiz ve Tasarım. Yrd. Doç. Dr. Alper GÖKSU

Bilişim Sistemleri. Modelleme, Analiz ve Tasarım. Yrd. Doç. Dr. Alper GÖKSU Bilişim Sistemleri Modelleme, Analiz ve Tasarım Yrd. Doç. Dr. Alper GÖKSU Ders Akışı Hafta 5. İhtiyaç Analizi ve Modelleme II Haftanın Amacı Bilişim sistemleri ihtiyaç analizinin modeli oluşturulmasında,

Detaylı

12. Kat Oluşturma. Bu konuda mevcut bir katın bilgilerini kullanarak nasıl yeni katlar oluşturulabileceği incelenecektir.

12. Kat Oluşturma. Bu konuda mevcut bir katın bilgilerini kullanarak nasıl yeni katlar oluşturulabileceği incelenecektir. 12. Kat Oluşturma Bu Konuda Öğrenilecekler: Yeni bir kat yaratmak Yaratılan katlara ulaşmak Kat ayarlarında değişiklik yapmak Bu konuda mevcut bir katın bilgilerini kullanarak nasıl yeni katlar oluşturulabileceği

Detaylı

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) İş Kuralları ve Veri Modelleri

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) İş Kuralları ve Veri Modelleri Celal Çeken Veysel Harun Şahin Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) İş Kuralları ve Veri Modelleri Konular Veritabanı Tasarımı Yaşam Döngüsü Veri Modeli Nedir? Veri Modeli Temel Bileşenleri

Detaylı

NESNEYE YÖNELİK TASARIM SÜRECİ

NESNEYE YÖNELİK TASARIM SÜRECİ NESNEYE YÖNELİK TASARIM SÜRECİ GİRİŞ Nasıl? sorusuna yanıt aranır. Nesne modeli: Analizden tasarıma. Doğrudan problem alanı ile ilgili nesnelerden oluşan model, yardımcı nesnelerle zenginleştirilir. Ana

Detaylı

Veri Erişim ve Yönetim Kütüphanesinin Servis Tabanlı Mimari ile Tasarlanması H. Doğan Köseoğlu, S.Bozbey

Veri Erişim ve Yönetim Kütüphanesinin Servis Tabanlı Mimari ile Tasarlanması H. Doğan Köseoğlu, S.Bozbey Veri Erişim ve Yönetim Kütüphanesinin Servis Tabanlı Mimari ile Tasarlanması H. Doğan Köseoğlu, S.Bozbey Hande DOĞAN KÖSEOĞLU 04.11.2010 Kapsam Veri Erişim ve Yönetim Kütüphanesi Bileşen Tabanlı Mimari

Detaylı

BİLGİSAYAR PROGRAMLARININ TASARIMLARINDAKİ VE KODLARINDAKİ SORUNLARIN BELİRLENMESİ ALPER FİLİZ MEHMET ALİ SERT

BİLGİSAYAR PROGRAMLARININ TASARIMLARINDAKİ VE KODLARINDAKİ SORUNLARIN BELİRLENMESİ ALPER FİLİZ MEHMET ALİ SERT BİLGİSAYAR PROGRAMLARININ TASARIMLARINDAKİ VE KODLARINDAKİ SORUNLARIN BELİRLENMESİ ALPER FİLİZ 040080202 MEHMET ALİ SERT 040090521 SUNUM İÇERİĞİ Problem Tanımı Tespit Edilen Sorunlar Problemin Sonuçları

Detaylı

Kurulum ve Başlangıç Kılavuzu. DataPage+ 2013 için

Kurulum ve Başlangıç Kılavuzu. DataPage+ 2013 için DataPage+ 2013 için En Son Güncellenme Tarihi: 25 Temmuz 2013 İçindekiler Tablosu Önkoşul Olan Bileşenleri Yükleme... 1 Genel Bakış... 1 Adım 1: Setup.exe'yi Çalıştırın ve Sihirbazı Başlatın... 1 Adım

Detaylı

GİRDİALIMI. Sistemin işleyişinde gereksinim duyulan verilerin sisteme girişinin yapılabilmesi için öncelikle toplanmaları gerekmektedir.

GİRDİALIMI. Sistemin işleyişinde gereksinim duyulan verilerin sisteme girişinin yapılabilmesi için öncelikle toplanmaları gerekmektedir. GİRDİ TASARIMI GİRDİ TASARIMI Geliştirilenyazılımın güvenilir ve geçerli bir yazılım olabilmesi iyi bir girdi tasarımı ile olanaklıdır. Diğer taraftan geliştirilen yazılımlar için kullanışlılık sahip olunması

Detaylı

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

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 10. Yrd.Doç.Dr.Hacer Karacan NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 10 Yrd.Doç.Dr.Hacer Karacan İçerik Grafik Kullanıcı Arayüzü Uygulamaları AWT, Swing Arayüz Yerleşim Düzeni Temel GKA Bileşenleri Olay Yönetimi Olay Dinleyiciler Olay

Detaylı

BÖLÜM 11. Çizim elemanlarına tarama işlemleri yapar.

BÖLÜM 11. Çizim elemanlarına tarama işlemleri yapar. BÖLÜM 11 11. TARAMA İŞLEMLERİ 11.1. BHATCH Çizim elemanlarına tarama işlemleri yapar. BHATCH komutu, çizimde bir nesnenin oluşturduğu kapalı alanı farklı desenlerle taramak için kullanılır. Farklı nesnelerden

Detaylı

LST 0036 - TIPON KURULUM KILAVUZU

LST 0036 - TIPON KURULUM KILAVUZU Sayfa : 1/17 LST 0036 - TIPON Sayfa : 2/17 İMZA SAYFASI HAZIRLAYAN/LAR İsim Unvan İmza Tarih Hunain Durrani Takım Lideri 16.07.2012 GÖZDEN GEÇİREN/LER İsim Unvan İmza Tarih Türkay Yoldar Kalite Mühendisi

Detaylı

Bölüm 2 Varlık-İlişki Veri Modeli: Araçlar ve Teknikler. Fundamentals, Design, and Implementation, 9/e

Bölüm 2 Varlık-İlişki Veri Modeli: Araçlar ve Teknikler. Fundamentals, Design, and Implementation, 9/e Bölüm 2 Varlık-İlişki Veri Modeli: Araçlar ve Teknikler Fundamentals, Design, and Implementation, 9/e Üç Şema Modeli Üç şema modeli 1975 de ANSI/SPARC tarafından geliştirildi Veri modellemeninç ve rolünü

Detaylı

MOBİL UYGULAMA GELİŞTİRME

MOBİL UYGULAMA GELİŞTİRME MOBİL UYGULAMA GELİŞTİRME Hedefler Bu üniteyi çalıştıktan sonra; Android projesi oluşturabilir, Android projesini çalıştırabilir, Android projesi genel yapısını açıklayabilir, Activity kavramını açıklayabilir,

Detaylı

e-yazışma Projesi TBD Kamu-BİB Aylık Bilgilendirme Toplantısı

e-yazışma Projesi TBD Kamu-BİB Aylık Bilgilendirme Toplantısı e-yazışma Projesi TBD Kamu-BİB Aylık Bilgilendirme Toplantısı 19 Ocak 2012 Gündem e-yazışma Projesinin Amacı ve Kapsamı Projenin Çıktıları Projeye Katkı Sağlayanlar e-yazışma Paketi Önümüzdeki Dönemde

Detaylı

ANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF

ANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Kalıtım Kavramı Java da Çok Biçimlilik Kavramı Fonksiyonların Çok Biçimliliği Yapıcı Fonksiyonun Çok Biçimliliği Java da Kalıtım Kavramı 4 Kalıtım;

Detaylı

BİLGİSAYAR DESTEKLİ TASARIM HAFTA 6 COSMOSWORKS İLE ANALİZ

BİLGİSAYAR DESTEKLİ TASARIM HAFTA 6 COSMOSWORKS İLE ANALİZ BİLGİSAYAR DESTEKLİ TASARIM HAFTA 6 COSMOSWORKS İLE ANALİZ Makine parçalarının ve/veya eş çalışan makine parçalarından oluşan mekanizma veya sistemlerin tasarımlarında önemli bir aşama olan ve tasarıma

Detaylı

ELN1001 BİLGİSAYAR PROGRAMLAMA I

ELN1001 BİLGİSAYAR PROGRAMLAMA I ELN1001 BİLGİSAYAR PROGRAMLAMA I DEPOLAMA SINIFLARI DEĞİŞKEN MENZİLLERİ YİNELEMELİ FONKSİYONLAR Depolama Sınıfları Tanıtıcılar için şu ana kadar görülmüş olan özellikler: Ad Tip Boyut Değer Bunlara ilave

Detaylı

Yenilikleri; Edgecam 2011 R2. Programın Yardım kısmında (Help) What s New bölümü eklendi

Yenilikleri; Edgecam 2011 R2. Programın Yardım kısmında (Help) What s New bölümü eklendi Yenilikleri; Edgecam 2011 R2 Programın Yardım kısmında (Help) What s New bölümü eklendi Diğer Alt Programların programların Yardım kısmına da What s New eklendi. Planit Global Customer Support Portal Yenilendi

Detaylı

VERİ TABANI UYGULAMALARI

VERİ TABANI UYGULAMALARI V. Ünite VERİ TABANI UYGULAMALARI A. BAŞLANGIÇ B. BİR VERİ TABANI YARATMA C. FORMLARIN KULLANIMI D. BİLGİYE ERİŞİM E. RAPORLAMA 127 A BAŞLANGIÇ Konuya Hazırlık 1. Veri tabanı programları hangi amaç için

Detaylı

Java Temel Özellikleri

Java Temel Özellikleri Java Temel Özellikleri Java Programlama Dili Java programlama dili şu anda dünyadaki en popüler programlama dillerinden biri haline gelmiştir. Java SUN bilgisayar şirketince elektrikli ev aletlerinin birbiriyle

Detaylı

Sistem kavramı ile ilgili literatürde birçok tanım vardır. Bu tanımlara göre sistem; Aralarında karşılıklı ilişkiler olan elemanlar kümesidir.

Sistem kavramı ile ilgili literatürde birçok tanım vardır. Bu tanımlara göre sistem; Aralarında karşılıklı ilişkiler olan elemanlar kümesidir. 1 Sistem kavramı ile ilgili literatürde birçok tanım vardır. Bu tanımlara göre sistem; Aralarında karşılıklı ilişkiler olan elemanlar kümesidir. Birbirleri ile etkileşimli elemanların oluşturduğu topluluktur.

Detaylı

BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi GÜVENLİK VE İZİNLER. BLM401 Dr.Refik SAMET

BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi GÜVENLİK VE İZİNLER. BLM401 Dr.Refik SAMET BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi GÜVENLİK VE İZİNLER BLM401 Dr.Refik SAMET 1 GİRİŞ (1/3) Güvenlik, verilerin veya bilgilerin saklanması, kullanılması ve taşınması esnasında bilgilerin

Detaylı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama Yazılımda Günlükleme (Logging) Üst Düzey Programlama-ders07/ 1 Günlükleme -Logging Tüm büyük çaplı uygulamalarda günlükleme(logging) ihtiyaçları bulunmaktadır. Bir uygulamanın hata

Detaylı

Algoritma Geliştirme ve Veri Yapıları 2 Veri Modelleri. Mustafa Kemal Üniversitesi

Algoritma Geliştirme ve Veri Yapıları 2 Veri Modelleri. Mustafa Kemal Üniversitesi Algoritma Geliştirme ve Veri Yapıları 2 Veri Modelleri Veri modelleri, veriler arasında ilişkisel ve sırasal düzeni gösteren kavramsal tanımlardır. Her program en azından bir veri modeline dayanır. Uygun

Detaylı

Kalıtım (Inheritance)

Kalıtım (Inheritance) Kalıtım (Inheritance) Kocaeli Üniversitesi Kalıtım (Inheritance) Kodların çok kez kullanımı (Software reusability) Mevcut Sınıflardan Yeni Sınıflar Oluşturma Mevcut sınıfın değişken ve fonksiyonları kullanılabilir.

Detaylı

Data Structures Lab 1 2012-Güz

Data Structures Lab 1 2012-Güz Data Structures Lab 1 2012-Güz C# Ortamı Tanıtımı ve Uygulama Geliştirilmesi Visual Studio 2010 Ortamının Temini -NYG'ndan MSDN üyeliği için başvuru dilekçesi alınıp doldurulmalı ve yine NYG'ye teslim

Detaylı

Autodesk Revit Mimari tasarımda parametrik teknoloji

Autodesk Revit Mimari tasarımda parametrik teknoloji Autodesk Revit Mimari tasarımda parametrik teknoloji Autodesk'in yapı tasarımı ve projelendirmeye yönelik yeni yazılımı Autodesk Revit'in, Türkiye'de de satışa sunulduğunu geçen sayımızda duyurmuştuk.

Detaylı