Silah Sistemleri İçin Yeniden Yapılandırılabilir Bileşenler Yoluyla Platform Bağımsız Katmanlı Mimari Tasarımı

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Silah Sistemleri İçin Yeniden Yapılandırılabilir Bileşenler Yoluyla Platform Bağımsız Katmanlı Mimari Tasarımı"

Transkript

1 Silah Sistemleri İçin Yeniden Yapılandırılabilir Bileşenler Yoluyla Platform Bağımsız Katmanlı Mimari Tasarımı Soner Çınar 1 Volkan Şirin 2 1,2 Aselsan A.Ş. Savunma Sistem Teknolojileri Grubu, Ankara 1 e-posta: 2 e-posta: Özetçe Katmanlı mimari, işletim sistemi, donanım ve iletişim birimlerinin sağladığı alt seviye işlevleri, üst seviyelerden soyutlayarak yazılımdaki modülerliği artırmayı adresler. Gerçek zamanlı gömülü sistemler için yazılım geliştirirken soyutlanmış bileşenler yaratmak ve platformdan bağımsız katmanlar inşa etmek yazılım geliştirme sürecindeki verimliliği artıracak ve maliyetleri düşürecektir. Bu bildiride, sayılan hususlar kapsamında, ASELSAN A.Ş. SST Grubu bünyesinde yapılan araştırmalar, kullanılan yöntemler ve varılan sonuçlar aktarılmıştır. Bileşen tabanlı, platformdan bağımsız ve konfigüre edilebilir yazılım geliştirme hedeflerine aynı anda ulaşabilmek için ihtiyaç duyulan değişik bileşen entegrasyon yöntemlerinden bahsedilmiş ve tasarlanan referans mimari anlatılmıştır. 1. Giriş Belli bir zaman kısıtı içerisinde çıktı vermesi gereken sistemlere gerçek zamanlı denir. Gerçek zamanlı sistemler gevşek ve katı gerçek zamanlı olmak üzere ikiye ayrılır. Gevşek gerçek zamanlı sistemlerde zaman kısıtlarına ara sıra uyulmaması belli hata payları çerçevesinde kabul edilebilir. Katı gerçek zamanlı sistemlerde ise bir zaman kısıtının bile kaçırılması tüm sistemin kullanım dışı kalmasına sebep olabilir[1]. Silah Sistemleri (SS) katı gerçek zamanlı gömülü sistemlerdir. ASELSAN SST Grubu bünyesinde KMS, KMS-Hollanda, STAMP, STOP, IGLA gibi çeşitli savunma sistemleri geliştirilmiştir[2]. Gelecekte de benzer silah sistemlerinin geliştirilmesi gündemdedir. Farklı Silah Sistemleri birçok ortak birim ve özellik içerir. Bununla birlikte birçok defa yazılımın üzerinde koşacağı işlemci kartı, kullanacağı birimler ve yazılımdan beklenen yetenekler değişebilmektedir. Geçmişte farklı projeler için yazılan kodların yeni projelerde kullanılmasında güçlükler yaşanmıştır. Örneğin yeni bir projede ihtiyaç duyulan yetenekler geçmişte geliştirilen farklı projelerde ayrı ayrı bulunmasına rağmen hazırlanan yazılım büyük ölçüde baştan geliştirilmek durumunda kalınmıştır. Yazılımın baştan yazılması ilgili dokümantasyon sürecinin de tekrar edilmesine sebep olmuştur. Bu sorunların temel sebebinin yazılımların üzerinde koşacağı işlemci kartı, işletim sistemi, geliştirme ortamı ve sistem yeteneklerini gerçekleyen harici birimlere sıkıca bağlı geliştirilmesi olduğu görülmüştür. Ayrıca, bileşenlerin birbirine olan bağımlılığının tekrar kullanılabilirliği zorlaştırdığı tecrübe edilmiştir. Gömülü sistemde koşacak yazılımların test edilmesi masaüstü yazılımlarına göre zorluklar taşımaktadır. Masaüstü yazılımların geliştiriminde kullanılan hata ayıklayıcı (Debugger) gibi araçlar gömülü sistemler için büyük çaplı projelerde kullanılacak olgunlukta değildir. Bu açıdan gömülü sistemde koşacak kodların masaüstü bilgisayarlarda geliştirilip test edilebilmesi büyük kolaylık sağlayacaktır. Bu amaçla yazılım projelerinin üzerinde koştuğu işletim sisteminden soyutlayacak bir katman üzerinde geliştirilmesi önem kazanmaktadır. Böylece gömülü işletim sisteminde koşacak örneğin kamera, servo vs. gibi birim kodlarının aynısının masaüstü işletim sistemlerinde de koşturulabilmesi mümkün olacaktır. Bu yeteneğin faydalarından biri de gömülü sistem projesinde çalışan mühendislerin büyük bir kısmının gerçek sistem yerine kendi masaüstü bilgisayarlarında yazılım geliştirebilmesidir. Gerçek sistem sayısının kısıtlı olduğu düşünüldüğünde bu hususun önemi daha iyi anlaşılacaktır. Çoğu zaman yazılımın gerçek zamanlı olarak çalışması gereken ufak bir yüzdesinin gerçek gömülü sistemde test edilmesi yeterli olacaktır. Bu sebeplerle, hem değişen platformlara uyum sağlayabilecek hem de ortak işlevler için yeniden kullanılabilirliğe imkân verecek bir mimariye ihtiyaç duyulmaktadır. Yazılım ürün hatlarında farklı konfigürasyonlar ve uyumlu bileşenler kullanılarak aynı ürün ailesine yönelik yeni yazılım projelerinin hızlıca gerçeklenebildiği bilinmektedir[3]. Yazılım konfigürasyonu için seçilen yöntemin SS yazılımlarının performans kısıtlarına uyum sağlayacak biçimde olması gerekmektedir. Gerçek zamanlı gömülü sistemlerin kısıtları masaüstünde yaygın olarak kullanılan konfigürasyon ve bileşen entegrasyonu yöntemlerine imkan vermemektedir. Tarafımızdan gerçek zamanlı gömülü sistemler için geliştirilen konfigürasyon çözümü Bölüm 5.3 te anlatılmaktadır. Bildirinin bir sonraki bölümünde yeniden yapılandırılabilirlik kavramı detaylandırıldıktan sonra, üçüncü bölümde geliştirilen katmanlı mimari, dördüncü bölümde başta bu mimari olmak üzere farklı mimarilere yapıtaşı olabilecek bileşen tasarımı anlatılmıştır. Beşinci bölümde bileşen entegrasyon yöntemlerinden bahsedilmiş, son iki bölüm ise anlatılan tasarımın getirdiği kazanımlar ve sonuçlara ayrılmıştır. 2. Yeniden Yapılandırılabilirlik Yazılım sistemleri birçok farklı bileşenden oluşur. Çoğu zaman bu bileşenler de aynı bileşen ara yüzünü gerçekleyen farklı alt-bileşenlerden oluşur. Eldeki tüm alt-bileşenler bir kod havuzunu meydana getirirler. Farklı son ürünler üretilebilmesine imkân veren ortak kod havuzuna yeniden yapılandırılabilir yazılım sistemi denir[4]. Böylece daha önce farklı projeler kapsamında geliştirilen bileşenler daha sonra 197

2 yeni projelerde kullanılabilmekte ve yeni kod yazmadan farklı ürünler çıkarabilmek mümkün olabilmektedir. Yeniden yapılandırılabilir yazılım geliştirme geleneksel yazılım geliştirme tekniklerine kıyasla önemli avantajlara sahiptir. Bunlar arasında, hızlı geliştirme, yürütme esnasında yazılımı değiştirebilme, evrimsel tasarıma uygunluk, yazılım ürün hatlarına uygunluk, yazılım idamesinin kolaylaşması sayılabilir[5]. Yazılımın yürütme zamanında yapılandırılmasına dinamik, önceden yapılandırılmasına ise statik konfigürasyon denir. Tarafımızdan geliştirilen Silah Sistemleri referans mimarisinde her iki konfigürasyon yöntemi de kullanılmıştır. Bölüm 5.1 ve 5.2 de anlatılan entegrasyon yöntemi statik konfigürasyona, 5.3 teki yöntem ise dinamik konfigürasyona karşılık gelmektedir. 3. Platform Bağımsız Katmanlı Mimari Katmanlı mimari bir sistemi soyutlama seviyesine göre katmanlara ayırır. Her bir katman, sunduğu servislerle tanımlanmış bir makine diline sahip soyut bir makine gibi düşünülebilir[6]. Bu mimarinin en bilindik örneği OSI ağ modelidir. Bu mimaride her bir katman sadece kendi altındaki katmanın sunduğu servisler üzerinden gerçeklenir. Katmanların iç işleyişleri hiçbir şekilde üst katmanlara gösterilmez. Bu sayede katmanlar değiştirilebilir ve taşınabilir olur. Bir katmanın ara yüzü değişse bile sadece bir üstündeki katmanın bundan etkilenme olasılığı vardır[6]. Başta platform bağımsızlık olmak üzere, girişte anlatılan hedeflere ulaşabilmek için katmanlı modelin referans mimari için uygun olduğu değerlendirilmiştir. Bu modele uygun olarak tasarlanan Silah Sistemi referans mimarisinin katmanları Şekil 1 de gösterilmiştir. Devam eden bölümlerde bu mimarideki katmanlar ve bu katmanların özelliklerinden bahsedilecektir. Şekil 1: Referans Mimari 3.1. İşletim Sistemi ve İşlemci Kartından Bağımsız Çalışmayı Sağlayan Katman SST-YMM bünyesindeki silah sistemlerinde gerçek zamanlı gömülü işletim sistemleri kullanılmaktadır. Bu işletim sistemlerinin farklı sürümleri arasında dahi önemli farklılıklar bulunabilmektedir. Bununla birlikte yazılımların geliştirilmesi masaüstü bilgisayarlarda yapılmaktadır. Masaüstü bilgisayarlarda geliştirilen yazılım daha sonra gömülü sisteme aktarılıp test edilmektedir. Yazılım geliştirme sürecinin her aşamasındaki testlerin gerçek gömülü sistem üzerinde yapılması pratikte oldukça zordur. Birçok defa yazılım geliştirme sürecinin başlarında gömülü sistem donanımları hazır durumda değildir. Hazır olsa dahi gömülü sistemde test ve hata bulma süreçleri masaüstü sisteme göre daha zordur. Gömülü sistemler için mevcut olan hata ayıklama araçları masaüstü bilgisayarlardaki karşılıkları kadar olgunlaşmış değildir. Bu sebeplerle yazılan kodların ilk testlerinin de yine masaüstü bilgisayarlarda yapılabilmesi geliştirme sürecinin verimliliği ve sürati açısından oldukça önemlidir. Bu değerlendirmeler sonucu, referans mimarinin en alt katmanının değişik işletim sistemlerinden soyutlayan bir katman olmasına karar verilmiştir. Bu katmanda her bir işlev için değişik işletim sistemleri ve işlemci kartları ile gerçeklenecek ortak bir ara yüz tanımlanmıştır. Örneğin Şekil 3 te ISocket ara yüzünün iki farklı işletim sistemi için ayrı ayrı gerçeklendiği görülmektedir Farklı Donanım Birimlerinden Bağımsız Çalışmayı Sağlayan Katman Benzer genel yapıya sahip olsa da silah sistemleri farklı donanım birimleri kullanabilmektedir. Örneğin farklı SS projelerinde farklı marka ve modeldeki kameralar kullanılabilmektedir. Kullanılan birim tam olarak aynı olmasa da birimleri kontrol eden yazılım işlevleri büyük ölçüde aynı olabilmektedir. Daha soyut olan senaryosal yazılımın tekrar kullanılabilmesi için farklı donanımlara özgü yazılımlar bir katman ile soyutlanmıştır. Bu katman farklı donanım çeşitlerinin destekleyeceği ortak bir ara yüz sunar. Örneğin Şekil 10 da ICamera ara yüzünün farklı kamera türleri için ayrı ayrı gerçeklendiği görülmektedir Geliştirme Ortamından Bağımsız Çalışabilmek Gömülü yazılım geliştirme sürecinde bir UML geliştirme aracından faydalanılmaktadır. Bu araç geliştirilen yazılımın paket/sınıf/fonksiyon hiyerarşisini yönetmeyi kolaylaştırmaktadır. Ayrıca, UML diyagramlarına karşılık gelen durum makinesi (statechart) gibi çeşitli yetenekler de yine araç tarafından sağlanmaktadır. Bu yetenekler daha kolay yazılım geliştirmeyi sağlasa da ortaya çıkan kodların taşınabilirliği açısından dikkatli olunmalıdır. Bu bağlamda tarafımızdan benimsenen kural şu şekildedir: Hazırlanan bileşenlerin ara yüz tanımlarında ANSI standardında olmayan yapılar kullanılmamalıdır. Bu kurala uyulduğunda UML geliştirme aracı ile geliştirilen bileşenler bu aracın kurulu olmadığı ortamlarda da kolaylıkla kullanılabilmektedir. Geçmişte bu aracın sunduğu sınıflar kullanılarak tarafımızdan geliştirilen çeşitli bileşenler, başlık ve kütüphane dosyalarını taşımak yoluyla (MATLAB, Visual Studio gibi) farklı geliştirme ortamlarına entegre edilerek kullanılabilmiştir Dikey Bileşen Hiyerarşileri ve Köprü Tasarım Örüntüsü Silah Sistemi mimarisindeki ilişki halindeki birçok sınıf hiyerarşisi birbirine dikeydir (orthogonal). Örneğin donanım birimlerine karşılık gelen bileşenler iletişim bileşenlerini kullanmaktadır. Burada hem birim hem de iletişim bileşeni bağımsız sınıf hiyerarşilerine sahiptir. Mimarinin değişik projelerde değişik konfigürasyonlar ile kullanılabilmesi için herhangi bir birimin herhangi bir iletişim bileşeni ile 198

3 çalışabilmesi sağlanmalıdır. Naif bir yaklaşımla bunu sağlamak için birim çeşidi sayısı çarpı iletişim çeşidi sayısı kadar sınıf gerçeklenmesi gerekir. Köprü Tasarım Örüntüsü (Bridge Pattern) bu meseleyi zarif bir şekilde çözmektedir. Köprü Tasarım Örüntüsü, bir soyutlamayı, uygulamasından (implementation) ayırmak için kullanılır. Böylece her ikisi de birbirinden bağımsız bir şekilde değiştirilebilecektir[7]. Şekil 3 te daha derin bir bileşen hiyerarşisi gösterilmiştir. İletişim bileşenin değişik iletişim alt-bileşenlerinden oluştuğu görülmektedir. Bileşen Hiyerarşisi her seviyede yeniden yapılandırılabilirliğe izin vermelidir. İleriki bölümlerde anlatılacak olan bileşen tasarımımız buna imkân verecek şekilde düşünülmüştür. 5. bölümde ise farklı seviyelerdeki entegrasyon metotları anlatılmaktadır. İletişim sınıfları hiyerarşisi ile donanımdan bağımsız olmayı sağlayan birim hiyerarşisi köprü tasarım örüntüsü kullanılarak birbirinden bağımsız kılınabilir. Şekil 2 de örnek bir UML şeması verilmiştir. Burada uygulama sınıfları, örneğin CameraType1 sınıfı, hangi iletişim sınıfını kullandığını bilmemektedir. Bu uygulama sınıflarına iletişim yöntemi ve dolayısıyla iletişim donanımı hakkında bir soyutlama sağlamaktadır. Şekil 3: İletişim Sınıfları Hiyerarşisi Şekil 2: Köprü Tasarım Örüntüsü Örnek Uygulaması Köprü örüntüsünü doğru bileşen tasarımı ile otomatik olarak gerçeklemek mümkündür. SS Referans Mimarisinde bölüm 5 te anlatılan bileşen entegrasyon metotları uygulanarak farklı bileşen hiyerarşileri doğal olarak birbirinden soyutlanmıştır. Örneğin donanım birimlerine karşılık gelen sınıf hiyerarşisi konfigürasyon ile çözülür ve doğru köprü yürütme zamanında kurulur. 4. Yazılım Bileşenleri Yazılımda belli ara yüzleri gerçekleyen doğrudan kullanılabilir, değiştirilebilir parçalara bileşen denir[8]. Bileşenler birbirleri ile işbirliği yaparak yazılım mimarisinin temel taşlarını oluşturur. Bileşen tasarımı ve özellikleri, mümkün kılacağı yazılım mimarileri açısından oldukça önemlidir. Bu bölümde gerçek zamanlı gömülü sistem yazılımlarında esneklikle kullanılabilecek bir bileşen tasarımı anlatılacaktır Bileşen Hiyerarşileri Silah Sistemleri için birden fazla seviyede bileşen tanımlamak mümkündür. Örneğin Şekil 10 da CamController sınıfı ICamera bileşenini kontrol eden bir üst bileşendir. Dikkat edilmesi gereken nokta CamController sınıfının ne tür bir kamera kullandığını bilmemesidir. Burada da görüldüğü üzere çoğu zaman bileşenler de alt bileşenler üzerinden gerçeklenir Yeniden Kullanılabilirlik Bir bileşenin farklı yazılımlarda tekrar kullanılabilmesi (reusability) gerekir. Bu amaçla bileşenlerin sundukları işlevlerde soyutlama (abstraction) üst seviyede tutulmalıdır. Bileşenler işlevlerini alt seviye detayları saklayacak şekilde soyutlamalıdır. Soyutlama bileşen hiyerarşisinde üst seviyeye çıktıkça artmalıdır[9]. Örneğin Şekil 3 teki sınıf hiyerarşisinde ISocket sınıfında soket iletişim yöntemine özel yordam tanımları bulunurken, IComm sınıfında sadece en temel iletişim yordamları vardır. Her bir bileşen tek bir yeteneğe odaklanmalıdır. (cohesion) Ara yüzlerde yetenek gruplarına göre ayrım yapılması bütünlüklü bileşen tasarımı açısından önemlidir. (Interface Segregation Principle [10]) Tasarımımızda işlevlere karşılık gelen ara yüzler mümkün olduğu kadar ayrı tutulmuştur. Böylece ara yüzleri gerçekleyen sınıflar kendileriyle ilintisiz işlevleri gerçeklemek durumunda kalmazlar. Aynı fiziksel birimde de olsa farklı işlevler farklı ara yüzler üzerinden gerçeklenir. Bu Silah Sistemleri için aynı fiziksel birimi birden fazla rol ile kullanabilmek anlamına gelir. Somut örnek olarak Silah Sistemlerinde sıklıkla yer alan Pan-Tilt Kamera Birimi gösterilebilir. Bu donanım tek bir iletişim kanalı üzerinden hem kamera hem de servo sistemi yeteneklerini sunmaktadır. Bu iki yetenek için iki farklı ara yüz tanımlanması bileşenin yapılandırılabilirliğini ve tekrar kullanılabilirliğini artırmaktadır. İlgili UML şeması Şekil 4 te gösterilmiştir. Bileşenlerin yeniden kullanılabilirliği bağlamında genişletilebilirlik (Extensibility) kavramı da önemlidir. Genişletilebilirlik bir bileşene ek yetenekler kazandırabilme kolaylığı ile ilişkilidir. Bileşen ara yüzleri genişletilirken kapalı-açık prensibine (Open Closed Principle [11]) dikkat edilmelidir. Bu prensibe göre ara yüzde hali hazırda bulunan 199

4 yordam tanımları değişime kapalıdır. Ama bu ara yüzü sağlayan yeni alt-bileşenler eklenebilir. Bu sayede bileşenlerin kolaylıkla genişlemesi sağlanırken eski yazılımların çalışabilirliği de garanti altına alınmış olunur. Her bir bileşenin konfigürasyona imkân vermesi. (Bkz: Bölüm 2) Bileşen yaratma sürecinin fabrika tasarım örüntüsü ile kullanıcıdan saklanması. (Bkz: Bölüm 5.3.2) Bileşenlerin farklı işletim sistemlerinde (masaüstü/gömülü) çalışabilir olması. (Bkz: Bölüm 3.1) Donanım birimlerine karşılık gelen bileşenlerin simülasyon versiyonunun olması. (Bkz: Bölüm 3.2) Her bir bileşenin yürütme zamanında uzaktan erişime açık birer harici portu olması. (Bkz: Bölüm 5.4) 4.3. Modülerlik Şekil 4: Ara yüzlerin Ayrılması Bileşenlerin modüler olabilmesi, karşılıklı bağımlılıklarıyla ters orantılıdır. Bağımlılık Enjeksiyonu (Dependency Injection) bileşenlerde bağımlılığı en aza indirmek (low coupling) için kullanılan yöntemlerden biridir. Bu yöntemde kullanıcı sınıf kullandığı sınıfın objesini doğrudan yaratmak yerine bir ara yüz sınıfı kullanarak ihtiyacını belirtir. Bu ara yüzü gerçekleyen herhangi bir sınıf daha sonra yürütme zamanında kullanıcı sınıfa sunulur[12]. Karşılıklı bağımlılığı en aza indirebilmek için kullanılan bir başka yöntem de fabrika tasarım örüntüsüdür. Bu yöntemin bileşen entegrasyonunda kullanımına dair detaylar Bölüm de verilmiştir. Modülerliği sağlamak için Liskov Yerine Koyma Prensibi ne (Liskov Substitution Principle [13]) uyulmalıdır. Buna göre belirli bir sınıfa ait bir obje bekleyen bir yordama o sınıftan türetilmiş bir başka obje geçilmesi halinde ilgili yordamın bunu fark etmeden doğru çalışması gerekir. Bir diğer deyişle yordam ara yüz sınıfının nasıl gerçeklendiği ile ilgili herhangi bir şey varsaymamalıdır Bileşenlerin Test Edilmesi Farklı alt-bileşenler ortak bir bileşen ara yüzü sağlar. Her bir bileşene yönelik ortak bileşen ara yüzü için yazılmış test sınıfları yazılır. Bu test kodu yeni eklenen alt-bileşenlerin birim testleri (unit testing) için de kullanılabilmektedir. Aynı bileşenin ara yüzünün farklı uygulamaları farklı yazılım projelerinde kullanılabilmektedir. Bu da test için harcanan iş gücünü önemli ölçüde düşürmüştür Bileşen Tasarımı Önceki bölümlerde sayılan özellikleri gerçekleyebilmek amacıyla SS yazılım geliştirme süreci için ortak bir bileşen tasarımı ortaya koyulmuştur. Tasarımın temel ilkeleri aşağıda listelenmiştir: Her bir bileşenin alt seviye uygulama detaylarını saklayan, ANSI standardına uygun girdi/çıktı ara yüzleri olması. (Bkz: Bölüm 3.3) 5. Bileşenlerin Entegrasyonu Bileşen adaptasyonu derleme zamanında, bağlanma zamanında ya da yürütme zamanında yapılabilir[14]. Her bir zamanlamanın avantajları ve dezavantajları vardır. Referans bileşen tasarımımız ve kurulan bileşen hiyerarşileri her üç zamanda da çeşitli seviyelerde entegrasyonu sağlamaktadır Derleme Zamanında Otomatik Entegrasyon Denetleyici seviyesindeki bileşenler, bir diğer deyişle bileşendenetleyiciler, bir silah seviyesindeki en üst seviye yazılım parçalarıdır. Silah Sisteminin hangi bileşen-denetleyicilere ihtiyaç duyacağı ve her bir bileşen denetleyicinin nasıl yapılandırılacağına göre farklı ürün ve ürün aileleri çıkarmak mümkündür. Bileşen denetleyicilerin yapılandırılması ileriki bölümlerde anlatılmaktadır. Kullanılacak bileşen denetleyiciler seçildikten ve konfigüre edildikten sonra sıra bunların birbirine bağlanmasına gelir. Yazılımın performansı ve derleme zamanındaki kod üretiminin getireceği esneklikler göz önüne alınarak bileşendenetleyicilerin derleme zamanında otomatik kod üretimi ile bağlanması uygun görülmüştür. Denetleyici seviyesindeki bileşenler, sundukları servisleri UML Portu üzerinden sağlarlar. UML Portu bileşenler arasındaki bağlantı noktasını gösterir. UML geliştirme aracının bu UML özelliğini doğrudan desteklemesi sayesinde, bu seviyedeki entegrasyon, geliştirme aracının uygulama ara yüzünü kullanan bir betik (script) ile gerçekleştirilebilmektedir. Her bir bileşen UML portunda hangi servisleri sunduğunu ve hangi servislere ihtiyaç duyduğunu bir ara yüz sınıfı tanımlayarak ilan eder[1]. Örnek UML şeması Şekil 5 te gösterilmiştir. Şekil 5: UML'de Port Gösterimi 200

5 Fonksiyon isimleri farklı servisler için tekil bir tanımlayıcı olarak kabul edilmiştir. Bu sayede, yazılan betik aynı isme sahip sunulan ve ihtiyaç duyulan servisleri SystemBus sınıfı üzerinden otomatik olarak bağlamaktadır. Şekil 7 deki şemada uyumlu bileşenlerin karşılıklı portlarının bağlanması görülebilir. Yöntem, yayımcı-abone (Publish - Subscribe) tasarım örüntüsüne benzer bir bileşen iletişim şekli ortaya koymuştur. Şekil 7 deki DevController_B sınıfının ihtiyaç duyduğu servis ara yüzü ile DevController_A sınıfının sunduğu servis ara yüzü Şekil 6 da gösterilmiştir. Bu iki arayüzde de msgupdated_a yordamı bulunduğu için, kod üretici betik bu iki sınıfı bağlayacaktır. Bir diğer deyişle msgupdated_a fonksiyonunun taşıdığı mesaj SystemBus sınıfı üzerinden DevController_B sınıfına iletilecektir. Derleme zamanında bileşen entegrasyonunun bir diğer avantajı da entegrasyon kodlarının yanına başka amaçlara hizmet eden bir takım yardımcı kodların da eklenebilmesidir. Örneğin iki bileşen arasında gidip gelen mesajların dökümünü almaya yarayan kodların da aynı betik ile üretilmesi mümkündür Bağlanma Zamanında Kütüphane Seçimi Yoluyla Entegrasyon İşletim sistemi ve işlemci kartından bağımsızlığı sağlayacak katmanı oluşturan alt-bileşenlerin önemli bir kısmının her bir platforma özel bir şekilde gerçeklenmesi gerekmektedir. Şekil 6: Servis Paylaşımı Örneği Şekil 7 de gösterildiği gibi alt seviye işlevleri farklı platformlar için gerçekleyen sınıflar aynı isimlendirilmektedir. Bir üst katmandaki sınıflar bu ortak ismi kullanır, fakat son üründe hangi alt sınıfın koşacağı bağlanma aşamasında yazılım geliştirme aracı kullanılarak seçilir. Dolayısıyla üretilecek yazılımın hangi platformda koşacağı bağlanma zamanında belirlenmektedir. Şekil 8 de gösterildiği gibi farklı platformlar için farklı bileşen kütüphaneleri (OSType1 ve OSType2 kütüphaneleri) yaratılır. Bu sayede son yazılım ürünü çıkarılırken doğru kütüphanenin bağlanması doğru bileşenlerin entegrasyonu için yeterli olmaktadır. Bazı sınıfların farklı platformlar için ortak yazılması mümkündür. Bu sınıflar ayrı bir pakette (Şekil 8 deki Common_Impl Paketi gibi) toplanır ve birden fazla kütüphaneye eklenir. Şekil 7: Yazılım mimarisinden bir kesit 201

6 Şekil 8: Bağlanma zamanında bileşen seçiminin kütüphane seçimi yoluyla yapılması. Bu aşamada yazılımın üzerinde koşacağı işletim sistemi ve işlemci kartı seçilmiş olunur Yürütme Zamanında Konfigürasyon Yoluyla Entegrasyon Derleme zamanında yazılım mimarisi somutlaştırılmış, bağlanma zamanında ise platform seçimi yapılmıştır. Aynı mimarinin aynı işletim sistemi ve işlemci üzerinde farklı silah sistemlerini çalıştırması ya da aynı silah sistemi üzerinde farklı işlevleri yerine getirmesi olasıdır. Bu sebeple bu seviyedeki bileşen entegrasyonunun konfigürasyon dosyaları kullanılarak yürütme zamanında yapılması değerlendirilmiştir. Böylece aynı yazılım farklı konfigürasyon dosyaları ile farklı rollerde kullanılabilmektedir. Ayrıca, sisteme birden fazla konfigürasyon dosyası yüklendiğinde sistem açılışında sistemin hangi rolde çalışacağını seçmek mümkün olabilmektedir. Bu yaklaşımla, kullanıcı ara yüzünün hangi dilde gösterileceği, hangi birimlerin kullanılacağı, birimlerin simülasyon ya da gerçek olması gibi pek çok ayar hazırda bulundurulabilmektedir. Örneğin fuar gibi kimi durumlarda sistemin son halinde hangi birimlerin kullanılacağı önceden net olmayabilmektedir. Mimarimiz sayesinde farklı olasılıklar için farklı konfigürasyon dosyaları önceden sisteme yüklenip, çalışma anında istenen konfigürasyon seçilerek bu tür zorlukların üstesinden gelinebilmektedir. Şekil 9 da silah sistemlerinin konfigürasyon seçiminin yapıldığı menü ekranı gösterilmiştir Konfigürasyon Yöntemleri Masaüstü yazılımlarında konfigürasyon dosyası olarak genellikle yazı dosyaları kullanılmaktadır. XML bu yazı dosyalarında en çok kullanılan standarttır. Bu yazı dosyalarını oluşturmak ve çözümlemek için hazırlanan yazımlar masaüstü ortamı için kolaylıkla bulunabilmektedir. Gerçek zamanlı gömülü sistemlerde ise bu dosyaların kullanılması daha zordur. Ayrıca yazı dosyalarının çözümlenmesinin ek zaman alacağı da değerlendirilmiştir. Bu sebeplerden dolayı tasarladığımız SS mimarisinde konfigürasyon C++ objeleri üzerinden yapılmaktadır. Konfigürasyon objeleri bu amaçla geliştirilmiş bir araçla (Bkz: 5.3.3) yaratılıp, sayısal olarak kaydedilmektedir. Şekil 10: Fabrika Tasarım Örüntüsü Şekil 9: Sistem açılışında konfigürasyon seçimi örneği Fabrika Tasarım Örüntüsü ve Konfigürasyon Objeleri ile Dinamik Konfigürasyon Bölüm 4.1 de anlatılan bileşen hiyerarşileri sayesinde yazılım ürününde farklı özelliklere sahip bileşenler kullanmak mümkündür. Fabrika Tasarım Örüntüsü (Factory Method Pattern) doğru objenin yaratılması sorumluluğunu kullanıcıdan soyutlar. Bu yöntemde bir obje yaratma ara yüzü 202

7 sunulur ve hangi objenin yaratılacağı sorumluluğu alt sınıflara devredilir[7]. Tasarım Örüntüsünü gösteren UML şeması Şekil 10 da verilmiştir. Fabrika Tasarım Örüntüsü sayesinde kullanıcılar her özelliği sürekli bir koşul ifadesi ile kontrol etmek zorunda kalmazlar. Kullanıcı sınıfın kullandığı sınıfın objesini doğrudan yaratması yerine konfigürasyon objesi ile ifade edilen özellik kümesine uygun bileşen, yürütme zamanında fabrika tarafından otomatik olarak yaratılır. Örneğin Şekil 7 de görülen iletişim (IComm) sınıflarından hangisinin seçileceği, bir diğer deyişle ne tür bir iletişim objesinin yaratılacağı iletişim bileşenini üreten bir fabrika yordamı tarafından kararlaştırılır. Tasarımımızda fabrika tasarım örüntüsü gerçeklenirken sorumluluk zinciri (chain of responsibility) yaklaşımı kullanılmıştır. Sorumluluk zincirinde objeler kendilerine verilen görevleri diğer objelere iletirler[7]. Her bir bileşen bir fabrika yordamı sunar. Böylece fabrika yordamları kendisi ile ilgili özellikleri tanımladıktan sonra işi alt-bileşenlerin fabrika yordamlarına devredebilirler. Bu sayede her seviyedeki kullanıcının sadece kendilerini doğrudan ilgilendiren özellikleri belirtmesi yeterli olmaktadır Ürün konfigürasyon Aracı Farklı ürünler için farklı konfigürasyon objeleri hazırlanması gerekmektedir. Silah sistemlerinde konfigüre edilebilecek özellik sayısı oldukça fazla olduğu için tarafımızdan konfigürasyon objelerini otomatik olarak üretecek bir yazılım geliştirilmiştir. Şekil 11 de gösterilen Ürün Konfigürasyon Aracı C/C++ yapılarını konfigürasyon objesi olarak kullanacak herhangi bir yazılım projesiyle çalışabilecek şekilde hazırlanmıştır. Program gösterilen başlık dosyasını analiz eder ve konfigürasyon ağacını çıkarır. Kullanıcı konfigürasyon objelerindeki değişkenlerin hangi değerleri alacağını grafik ara yüz üzerinden seçer. Programın çıktısı konfigürasyon objesinin ikilik (binary) halidir. Bu dosya, silah sistemi yazılımı tarafından doğru tipe dönüştürülmek (cast) suretiyle doğrudan kullanılabilir. Bu yöntemin en büyük avantajı konfigürasyon dosyasının işlenip çözülmesine (parsing) gerek kalmamasıdır Yürütme Zamanında Uzaktan Erişim Yoluyla Entegrasyon Bileşenlerin ağ üzerinden servis verebilmeleri, değişik yazılımlar ile entegrasyonunu kolaylaştırmaktadır. Örneğin farklı bir yazılıma ağ üzerinden iletişim bileşeni fabrika metoduna erişimi sağlandığında, SS yazılımının tüm iletişim yetenekleri harici bir yazılımın kullanımına sunulabilmiştir. Bu yetenek farklı sistemlerin işbirliği yapabilmesini kolaylaştırmakta, dolayısıyla da toplam karmaşıklığı ve maliyeti azaltmaktadır. Şekil 11: Proje Yapılandırma Aracı 203

8 6. Kazanımlar Anlatılan mimari ve bileşen çalışmaları sayesinde birbirinden farklı donanım özelliklerine sahip SS yazılımlarının hızlıca ve az hata oranı ile geliştirilmesi mümkün olmuştur. Ayrıca, bileşen ve mimari tasarımımız silah sistemleri gömülü eğitmen yazılımının kolaylıkla geliştirilmesine imkân vermiştir. SS yazılımına kullanıcıların eğitimi amacıyla eklenmiş yazılım parçasına gömülü eğitmen denir. Gömülü eğitmende sistemdeki gerçek birimler yerine simule birimler kullanılabilmektedir. Örneğin eğitmeni kullanan öğrencinin kullanımına gerçek silah sistemi değil silah simülasyonu sunulmaktadır. Konfigüre edilebilir bileşen tasarımı ve buna dayanan mimari sayesinde bu bileşenleri kullanan yazılımda hiçbir değişikliğe gidilmeden gömülü eğitmenin gerektirdiği bileşenler sisteme anında entegre edilebilmiştir. İletişim yöntemlerinin konfigüre edilebilmesi birçok çalışma kolaylığı sağlamıştır. Örneğin masaüstünde yazılım geliştirirken gerçek sistemde CAN, 1533, Seri Kanal gibi haberleşme protokolleri ile kurulan bir iletişimi soket olarak yeniden yapılandırmak mümkündür. Bu sayede masaüstü PC de yazılım geliştirirken ek bir donanım ve kablaja ihtiyaç duyulmamaktadır. Buraya kadar anlatılan prensipler dahilinde geliştirilen Hava Savunma Silah sisteminin davranışı kod derlemeden ve yeni kod yüklemeden yürütme zamanında değiştirilebilir durumdadır. Örneğin yürütme zamanında gerçek kamera, simule kamera ile değiştirilebilmekte ve fiziksel anlamda kamera olmasa bile sistem test edilebilmektedir. Şekil 12 de bazı donanım bileşenlerinin gerçek mi simülasyon mu olacağının seçildiği menü gösterilmektedir. Bu ekran görüntüsü sistem masaüstü bilgisayarda koşarken alınmıştır. Şekil 12: Yürütme Zamanında Bileşen Seçimi Örneği Konfigüre edilebilir gömülü sistem tasarımı özellikle test edilebilirlik açısından büyük kolaylıklar sağlamıştır. Yürütme zamanında, her hangi bir birim farklı bir uygulama (farklı bir fiziksel birim ya da benzetim) ile değiştirilebilir olması hataların kolaylıkla izole edilebilmesini sağlamaktadır. Yeniden yapılandırılabilir bileşen kütüphaneleri kullanmak yazılım geliştirme sürecindeki verimliliği arttırmış ve yazılım geliştirme süresini azaltmıştır. Anlatılan tasarım, çalışmanın başarısını doğrulamak amacıyla, geçmiş yıllardaki bileşen tabanlı olmayan yazılımlarla geliştirilmiş projelere uygulanmıştır. Örneğin eski projelerden birine, eldeki bileşen kütüphanesi yardımıyla, önceki geliştirme süresinin 1/20 si zamanda mimarinin uyarlanabildiği görülmüştür. Bileşen kütüphanesi ve konfigürasyon odaklı bu mimari aynı zamanda dokümantasyona harcanan zamanı da düşürmüştür. Bu yaklaşımda bir bileşenin bir defa raporlanması yeterlidir. 7. Sonuçlar Bu bildiride, Aselsan A.Ş. SST Grubunda silah sistemi projeleri için bir referans mimari ve bileşen tasarımı geliştirme amacıyla yapılan araştırmalar, kullanılan yöntemler ve elde edilen kazanımlar anlatılmıştır. Referans mimaride katmanlar aracılığıyla SS yazılımı platformdan soyutlanmıştır. Bu yaklaşımın yazılım geliştirmeyi kolaylaştırdığı ve hata olasılığını azalttığı görülmüştür. Bileşen tasarımında yeniden kullanılabilirlik, modülerlik, tutarlılık ve genişletilebilirlik gibi prensiplere dikkat edilmesi gerektiği görülmüştür. Bileşenlerin yeniden yapılandırılabilmesi yeniden kullanılabilirliği artıran bir özelliktir. Bu özellik sayesinde aynı bileşen değişik amaçlarla kullanılabilmekte ve yürütme zamanında davranış değiştirilebilmektedir. Bileşen entegrasyonunun yapılabildiği her üç zamanlamanın da (derleme, bağlanma, yürütme) kendine has avantajları olduğu görülmüş ve çeşitli seviyelerde kullanılmıştır. Köprü ve Fabrika gibi tasarım örüntülerinin sınıflar arasındaki ilişkileri düzenlemede oldukça işe yaradığı, sınıflar arasındaki bağımlılığı azalttığı ve modülerliği arttırdığı gözlenmiştir. 8. Kaynakça [1] Douglass, Bruce Powel, Real Time UML, [2] [3] Gomma, E., Designing Software Product Lines With UML, [4] Tillmann, N. and De Halleux, J., White-Box Approaches for Improved Testing and Analysis of Configurable Software Systems, Proceedings of the 2nd International Conference on Tests and Proofs, [5] Stewart, D. B. and Arora, G., Dynamically Reconfigurable Embedded Systems Does it Make Sense?, Proc of Real Time Application Workshop, [6] Sommerville, Ian, Software Engineering, 8 inci sürüm, [7] Gamma E., Helm R., Johnson R., Vlissides J., Design Patterns: Elements of Reusable Object Oriented Software, Addison Wesley Professional, Indianapolis, [8] OMG Unified Modeling Specification, Object Management Group, sürüm 1.4, Eylül [9] Pressman, Roger S., Software Engineering, [10] Martin, Robert, Agile Software Development: Principles, Patterns and Practices. Pearson Education, 2002 [11] Martin, R.C., The Open-Closed Principle, C++ Report, Haziran [12] Fowler, M., Inversion of control containers and the dependency injection pattern, [13] Martin, R.C., The Liskov Substitution Principle, C++ Report, Mart [14] Kniesel, G., Type-safe delegation for run-time component adaptation, ECOOP'99 Object-Oriented Programming, Springer,

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ı

İçindekiler. Okuma lisansı info acar, için verilmiştir. Çoğaltılması ve dağıtılması yasaktır.

İçindekiler. Okuma lisansı info acar, için verilmiştir. Çoğaltılması ve dağıtılması yasaktır. 18 İçindekiler Lütfen Dikkatle Okuyunuz! Yasal Uyarı Bölüm Başlıkları Önsöz Kitabın İçeriği Nedir? Kitabın İçeriği Ne Degildir? Kitap Kim İçin Yazıldı? Yazar Hakkında Kitap Nasıl Okunmalı? Yazar İle İletişim

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ı

YZM 2108 Yazılım Mimarisi ve Tasarımı

YZM 2108 Yazılım Mimarisi ve Tasarımı YZM 2108 Yazılım Mimarisi ve Tasarımı Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 1 Yazılım Tasarımına Giriş Bu bölümde;

Detaylı

PR362009 24 Kasım 2009 Yazılım, PC-tabanlı kontrol Sayfa 1 / 5

PR362009 24 Kasım 2009 Yazılım, PC-tabanlı kontrol Sayfa 1 / 5 Yazılım, PC-tabanlı kontrol Sayfa 1 / 5 IT standartları otomasyonu geliştiriyor: Microsoft Visual Studio entegrasyonlu TwinCAT programlama ortamı TwinCAT 3 extended Automation Beckhoff, otomasyon dünyasını

Detaylı

GÖMÜLÜ YAZILIMLARDA ÇOK AMAÇLI GRAFİK ARAYÜZÜ: VISION GDI

GÖMÜLÜ YAZILIMLARDA ÇOK AMAÇLI GRAFİK ARAYÜZÜ: VISION GDI GÖMÜLÜ YAZILIMLARDA ÇOK AMAÇLI GRAFİK ARAYÜZÜ: VISION GDI Soner ÇINAR 1,Merve Özkardeş 1, Recep Bora ÇALIŞKANBAŞ 1, Burak ÜNALTAY 1 1 Gömülü ve Gerçek Zamanlı Yazılım Tasarım Müdürlüğü, SST Sektör Bşk.

Detaylı

BİLİŞİM SİSTEMLERİ GÜVENLİĞİNDE YENİ EĞİLİMLER

BİLİŞİM SİSTEMLERİ GÜVENLİĞİNDE YENİ EĞİLİMLER BİLİŞİM SİSTEMLERİ GÜVENLİĞİNDE YENİ EĞİLİMLER Dr. Hayrettin Bahşi bahsi@uekae.tubitak.gov.tr 11 Mart 2010 Gündem Bulut Hesaplama Sistemleri ve Bilgi Güvenliği Güvenli Yazılım Geliştirme Hayat Döngüsü

Detaylı

PAZARTESİ SALI 2015-2016 Ders Programı 1. Öğretim 09.00-09.50 10.00-10.50 11.00-11.50 12.00-12.50 HRT4291 WEB TABANLI CBS GR:11 Ü.GÜMÜŞAY EZ-121 ; D1-129 HRT4291 WEB TABANLI CBS GR:22 Ü.GÜMÜŞAY EZ-121

Detaylı

PROGRAMLAMA TEMELLERİ

PROGRAMLAMA TEMELLERİ PROGRAMLAMA TEMELLERİ 2.HAFTA Yazılım Yazılım, elektronik aygıtların belirli bir işi yapmasını sağlayan programların tümüne verilen isimdir. Bir başka deyişle var olan bir problemi çözmek amacıyla bilgisayar

Detaylı

Pardus. S.Çağlar Onur, caglar@pardus.org.tr. 21 Aralık 2006. Pardus Projesi [TÜBİTAK / UEKAE] Linux Kullanıcıları Derneği

Pardus. S.Çağlar Onur, caglar@pardus.org.tr. 21 Aralık 2006. Pardus Projesi [TÜBİTAK / UEKAE] Linux Kullanıcıları Derneği Yenilikleri Projesi [TÜBİTAK / UEKAE] Linux Kullanıcıları Derneği 21 Aralık 2006 Yenilikleri İçerik 1 Neden? Nasıl? 2 Yenilikleri man 3 Yenilikleri Neden? Nasıl? 1 Neden? Nasıl? 2 Yenilikleri man 3 Yenilikleri

Detaylı

FARKLI PROJELERDE GELİŞTİRİLEN GÖMÜLÜ YAZILIMLARIN TEST OTOMASYONU İÇİN DONANIM SİSTEMİ SİMÜLASYONU GELİŞTİRME DENEYİMİ

FARKLI PROJELERDE GELİŞTİRİLEN GÖMÜLÜ YAZILIMLARIN TEST OTOMASYONU İÇİN DONANIM SİSTEMİ SİMÜLASYONU GELİŞTİRME DENEYİMİ FARKLI PROJELERDE GELİŞTİRİLEN GÖMÜLÜ YAZILIMLARIN TEST OTOMASYONU İÇİN DONANIM SİSTEMİ SİMÜLASYONU GELİŞTİRME DENEYİMİ Ömer Faruk MORALIOĞLU 1 Önder CEZAYİRLİ 2 Murat YILMAZ 3 1,2,3 Radar Elektronik Harp

Detaylı

Bilgisayarda Programlama. Temel Kavramlar

Bilgisayarda Programlama. Temel Kavramlar Bilgisayarda Programlama Temel Kavramlar KAVRAMLAR Programlama, yaşadığımız gerçek dünyadaki problemlere ilişkin çözümlerin bilgisayarın anlayabileceği bir biçime dönüştürülmesi / ifade edilmesidir. Bunu

Detaylı

Yazılım Destek Hizmeti

Yazılım Destek Hizmeti Veri sayfası Yazılım Destek Hizmeti HP Care Hizmetleri kapsamında Care Pack ve Sözleşmeli Hizmetler Hizmetin sağladığı avantajlar Sorun çözme amacıyla HP teknik kaynaklarına Yazılım güncellemelerini ayrı

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ı

YAZILIM ÜRÜN HATTI DEĞĐŞKENLĐĞĐNĐN DENETĐM ÇEVRĐMĐ ĐLE ELE ALINMASI

YAZILIM ÜRÜN HATTI DEĞĐŞKENLĐĞĐNĐN DENETĐM ÇEVRĐMĐ ĐLE ELE ALINMASI YAZILIM ÜRÜN HATTI DEĞĐŞKENLĐĞĐNĐN DENETĐM ÇEVRĐMĐ ĐLE ELE ALINMASI Emra AŞKAROĞLU ASELSAN A. Ş. 1 ĐÇERĐK Yazılım Ürün Hattı nedir? Yazılım Ürün Hattı Değişkenliği Ürün Özellik Ağacı Oluşturma Uygulama

Detaylı

YAZILIM ÜRÜN HATTINDA YETENEK MODELİNDEN ÜRÜN KONFİGÜRASYONUNUN OLUŞTURULMASI

YAZILIM ÜRÜN HATTINDA YETENEK MODELİNDEN ÜRÜN KONFİGÜRASYONUNUN OLUŞTURULMASI YAZILIM ÜRÜN HATTINDA YETENEK MODELİNDEN ÜRÜN KONFİGÜRASYONUNUN OLUŞTURULMASI Mustafa Özpınar Aselsan A.Ş. SST-MD-YMM, 06172, Yenimahalle, Ankara mozpinar@aselsan.com.tr Özet. Yazılım ürün hattı, belli

Detaylı

Elbistan Meslek Yüksek Okulu Güz Yarıyılı

Elbistan Meslek Yüksek Okulu Güz Yarıyılı HAFTA III Bilgi iletişim sistemi : Bilgi iletişim sistemi, dağıtık sistem içerisinde düğümler arasındaki iletişimi desteklemekle yükümlüdür. İletişim sistemi, iletişim ağı ile bağlanmış herhangi bir düğümün,

Detaylı

08225 AĞ TEMELLERĠ. Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. 20 EKi Salı, Çarşamba

08225 AĞ TEMELLERĠ. Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. 20 EKi Salı, Çarşamba 08225 AĞ TEMELLERĠ Elbistan Meslek Yüksek Okulu 2014 2015 GÜZ Yarıyılı 20 EKi. 2014 Salı, Çarşamba Öğr. Gör. Murat KEÇECĠOĞLU Bilgi iletişim sistemi, dağıtık sistem içerisinde düğümler arasındaki iletişimi

Detaylı

(Fabrika Şablonu) Factory Pattern. Tasarım şablonlarının Creational (Yaratıcı) Sınıflandırmasına aittir. Fabrika(Factory) Şablonu

(Fabrika Şablonu) Factory Pattern. Tasarım şablonlarının Creational (Yaratıcı) Sınıflandırmasına aittir. Fabrika(Factory) Şablonu 1 Aşağıda açıklanan iki şablon (Factory patten and Abstract Factory pattern) Creational Tasarım şablonu sınıfındadır. Structural Tasarım şablonu sınıflandırmasındaki Bridge Şablonu olması mümkün değildir.

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ı

Pardus. A. Murat Eren, 25 Mart Pardus Geliştiricisi. Pardus Yenilikleri Sık Sorulan Sorular

Pardus. A. Murat Eren, 25 Mart Pardus Geliştiricisi. Pardus Yenilikleri Sık Sorulan Sorular Pardus A. Murat Eren, meren@pardus.org.tr Pardus Geliştiricisi 25 Mart 2007 İçerik 1 Neden? Nasıl? 2 3 Neden? Nasıl? 1 Neden? Nasıl? 2 3 Neden? Nasıl? Neden? Ana sözleşme Pardus, UEKAE tarafından, bilişim

Detaylı

UZAKTAN EĞİTİM MERKEZİ

UZAKTAN EĞİTİM MERKEZİ ÜNİTE 2 VERİ TABANI İÇİNDEKİLER Veri Tabanı Veri Tabanı İle İlgili Temel Kavramlar Tablo Alan Sorgu Veri Tabanı Yapısı BAYBURT ÜNİVERSİTESİ UZAKTAN EĞİTİM MERKEZİ BİLGİSAYAR II HEDEFLER Veri tabanı kavramını

Detaylı

BLG4146 - Sistem Analizi ve Tasarımı. Öğr. Grv. Aybike ŞİMŞEK

BLG4146 - Sistem Analizi ve Tasarımı. Öğr. Grv. Aybike ŞİMŞEK BLG4146 - Sistem Analizi ve Tasarımı Öğr. Grv. Aybike ŞİMŞEK Tasarım Evresi Analiz evresinde sorulan NE sorusuyla elde edilen bilgilerin NASIL yapılacağı, NASIL gerçekleştirileceğinin ortaya konulduğu

Detaylı

emon: Gerçek Zamanlı Gömülü Sistemlerin Çalışma Zamanı Görselleştirilmesi İçin Monitör Yazılımı

emon: Gerçek Zamanlı Gömülü Sistemlerin Çalışma Zamanı Görselleştirilmesi İçin Monitör Yazılımı emon: Gerçek Zamanlı Gömülü Sistemlerin Çalışma Zamanı Görselleştirilmesi İçin Monitör Yazılımı 1 Berkant AKIN Mehmet GÖKÇAY, Kaan DOĞAN TUBİTAK-SAGE Ulusal Yazılım Mimarisi Konferansı Ankara, 2010 Neden

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ı

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ı

BENZERSİZ SORUNLARA BENZERSİZ ÇÖZÜMLER

BENZERSİZ SORUNLARA BENZERSİZ ÇÖZÜMLER BENZERSİZ SORUNLARA BENZERSİZ ÇÖZÜMLER HAKKIMIZDA Promod Ar-Ge Yazılım, dinamik sistem simülasyonu, prototiplemesi, kontrol tasarımı ve gerçeklenmesi alanlarında hizmet veren bir Ar-Ge ve Yazılım kuruluşudur.

Detaylı

Akademik Bilişim 2002. Linux Çekirdeği. Berk Demir <berk@linux.org.tr>

Akademik Bilişim 2002. Linux Çekirdeği. Berk Demir <berk@linux.org.tr> Akademik Bilişim 2002 Linux Çekirdeği Berk Demir Çekirdek Nedir? Yazılım ve donanım arasında aracı olarak çalışan ve genel organizasyonu sağlayan program. Görevleri : Süreç kontrolü

Detaylı

Olay Tabanlı Bir Yazılım Mimarisinde Bağımlılık İletimi ve Bileşen Gerçekleştirimi

Olay Tabanlı Bir Yazılım Mimarisinde Bağımlılık İletimi ve Bileşen Gerçekleştirimi Olay Tabanlı Bir Yazılım Mimarisinde Bağımlılık İletimi ve Bileşen Gerçekleştirimi Orçun Dayıbaş 1, Serdar Doğan 2 Aselsan A.Ş. SST-MD-YMM, P.K. 1 06172, Yenimahalle, Ankara odayibas@aselsan.com.tr1 serdardogan@aselsan.com.tr2

Detaylı

Dr. Organizer Diş. Ver. 4.5. 1992 den beri. Program özellikleri, sistem gereksinimleri

Dr. Organizer Diş. Ver. 4.5. 1992 den beri. Program özellikleri, sistem gereksinimleri 1992 den beri Dr. Organizer Diş Ver. 4.5 Program özellikleri, sistem gereksinimleri Alp Bilişim&Danışmanlık Halitağa cad. 42/7Tınaz iş merkezi Kadıköy İstanbul (216) 418 60 44 (216) 418 60 37 (532) 246

Detaylı

Gerçek Zamanlı Gömülü Sistemlerde Yeniden Kullanılabilir ve Yapılandırılabilir Yazılımların Kaliteye Etkisi: Radar Projeleri Destek Kütüphaneleri

Gerçek Zamanlı Gömülü Sistemlerde Yeniden Kullanılabilir ve Yapılandırılabilir Yazılımların Kaliteye Etkisi: Radar Projeleri Destek Kütüphaneleri Gerçek Zamanlı Gömülü Sistemlerde Yeniden Kullanılabilir ve Yapılandırılabilir Yazılımların Kaliteye Etkisi: Radar Projeleri Destek Kütüphaneleri Deniz AKDUR 1,2, Çağatay ÖZDEMİR 1,3 1 ASELSAN A.Ş., REHİS-TTD

Detaylı

3.2.2. Gömülü Yazılım Mimarisi ve Yazılım Tasarımı. 3.2.1. Gömülü Yazılım Ön Tasarımı KONTROL KATMANI FONKSİYON KATMANI BİRİM KATMANI DONANIM KATMANI

3.2.2. Gömülü Yazılım Mimarisi ve Yazılım Tasarımı. 3.2.1. Gömülü Yazılım Ön Tasarımı KONTROL KATMANI FONKSİYON KATMANI BİRİM KATMANI DONANIM KATMANI Gerçek Zamanlı Gömülü Sistem ve Yazılım Tasarımı nda ASELSAN Yaklaşımı Evrim Kahraman 1 Vedat Ünal 2 1,2 ASELSAN A.Ş Mikrodalga ve Sistem Teknolojileri Grubu 1 e-posta: ekahraman@aselsan.com.tr 2 e-posta:

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ı

.. YILI BİLGİSAYAR SİSTEM KURULUM BAKIM ONARIM VE ARIZA GİDERME KURS PLANI MODÜL SÜRESİ

.. YILI BİLGİSAYAR SİSTEM KURULUM BAKIM ONARIM VE ARIZA GİDERME KURS PLANI MODÜL SÜRESİ .... YILI BİLGİSAYAR KURULUM BAKIM ONARIM VE ARIZA KURS PLANI KURS MERKEZİNİN ADI ALAN ADI KURSUN ADI. TOPLAM SÜRE BAŞLAMA TARİHİ BİTİŞ TARİHİ BİLİŞİM TEKNOLOJİLERİ 352 SAAT.. /.. /... /.. /. BİLGİSAYAR

Detaylı

Elbistan Meslek Yüksek Okulu Güz Yarıyılı

Elbistan Meslek Yüksek Okulu Güz Yarıyılı HAFTA IV Elbistan Meslek Yüksek Okulu 2016 2017 Güz Yarıyılı Open System Interconnection (OSI) OSI modeli sıradüzensel 7 katmandan oluşur. OSI modeli hala geliştirilmekte olmasına rağmen satıcılar ve standart

Detaylı

Farklı Mobil Platformlar Üzerinde Servis Tabanlı Mimari(SOA) Yaklaşımı: Elektronik Uçuş Çantası Vaka Çalışması

Farklı Mobil Platformlar Üzerinde Servis Tabanlı Mimari(SOA) Yaklaşımı: Elektronik Uçuş Çantası Vaka Çalışması Farklı Mobil Platformlar Üzerinde Servis Tabanlı Mimari(SOA) Yaklaşımı: Elektronik Uçuş Çantası Vaka Çalışması Emre Barış Aksu, STM A.Ş eaksu@stm.com.tr Cem Gündüz, STM A.Ş cgunduz@stm.com.tr Emrah Ayanoğlu,

Detaylı

.. YILI BİLGİSAYAR SİSTEM KURULUM BAKIM ONARIM VE ARIZA GİDERME KURS PLANI MODÜL SÜRESİ

.. YILI BİLGİSAYAR SİSTEM KURULUM BAKIM ONARIM VE ARIZA GİDERME KURS PLANI MODÜL SÜRESİ .... YILI BİLGİSAYAR SİSTEM KURULUM BAKIM ONARIM VE ARIZA KURS PLANI KURS MERKEZİNİN ADI ALAN ADI KURSUN ADI. TOPLAM SÜRE BAŞLAMA TARİHİ BİTİŞ TARİHİ BİLİŞİM TEKNOLOJİLERİ 352 SAAT.. /.. /... /.. /. BİLGİSAYAR

Detaylı

BEDEN EĞİTİMİ I: Haftalık ders 1 saattir (T-0 ) (U-l) (K-0).

BEDEN EĞİTİMİ I: Haftalık ders 1 saattir (T-0 ) (U-l) (K-0). I.SINIF-1.YARIYIL TÜRK DİLİ I : Haftalık ders 2 saattir (T-2 ) (U-0) (K-2). Ders İçeriği; % 10 Dil, Diller ve Türk Dili, % 15 Dil Bilgisi, Sözcük ve Cümle % 25 Kelime Türleri % 25 Anlatım Öğeleri ve Anlatım

Detaylı

5. PROGRAMLA DİLLERİ. 5.1 Giriş

5. PROGRAMLA DİLLERİ. 5.1 Giriş 5. PROGRAMLA DİLLERİ 8.1 Giriş 8.2 Yazılım Geliştirme Süreci 8.3 Yazılım Geliştirme Sürecinde Programlama Dilinin Önemi 8.4 Programlama Dillerinin Tarihçesi 8.5 Programlama Dillerinin Sınıflandırılması

Detaylı

Elbistan Meslek Yüksek Okulu Güz Yarıyılı EKi Salı, Perşembe Öğr. Gör. Murat KEÇECĠOĞLU

Elbistan Meslek Yüksek Okulu Güz Yarıyılı EKi Salı, Perşembe Öğr. Gör. Murat KEÇECĠOĞLU Elbistan Meslek Yüksek Okulu 2015 2016 Güz Yarıyılı 22-23 EKi. 2015 Salı, Perşembe Öğr. Gör. Murat KEÇECĠOĞLU OSI modeli sıradüzensel 7 katmandan oluşur. OSI modeli hala geliştirilmekte olmasına rağmen

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ı

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ı

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ı

ANKARA ÜNİVERSİTESİ ELMADAĞ MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS İÇERİKLERİ

ANKARA ÜNİVERSİTESİ ELMADAĞ MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS İÇERİKLERİ ANKARA ÜNİVERSİTESİ ELMADAĞ MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS İÇERİKLERİ TDİ111 TÜRKDİLİ 1 1. Dil, diller ve Türk dili 2. Dil bilgisi, sözcük, cümle 3. Kelime Türleri 4. Anlatımın

Detaylı

Mobil Cihazlardan Web Servis Sunumu

Mobil Cihazlardan Web Servis Sunumu Mobil Cihazlardan Web Servis Sunumu Özlem Özgöbek Ege Üniversitesi Bilgisayar Mühendisliği Bölümü 2010 İnternet erişiminin yaygınlaşması ve artık mobil cihazlar üzerinden bile yüksek hızlı veri iletişimine

Detaylı

Görünümler ve Ötesi Yaklaşımıyla Radar Yazılım Mimarisi Dokümantasyonu Tecrübeleri. Ali Özzeybek M. Devrim Tokcan Murat Tuncer

Görünümler ve Ötesi Yaklaşımıyla Radar Yazılım Mimarisi Dokümantasyonu Tecrübeleri. Ali Özzeybek M. Devrim Tokcan Murat Tuncer Görünümler ve Ötesi Yaklaşımıyla Radar Yazılım Mimarisi Dokümantasyonu Tecrübeleri Ali Özzeybek M. Devrim Tokcan Murat Tuncer Görünümler ve Ötesi Yaklaşımıyla Radar Yazılım Mimarisi Dokümantasyonu Tecrübeleri

Detaylı

Öğr. Gör. Serkan AKSU http://www.serkanaksu.net. http://www.serkanaksu.net/ 1

Öğr. Gör. Serkan AKSU http://www.serkanaksu.net. http://www.serkanaksu.net/ 1 Öğr. Gör. Serkan AKSU http://www.serkanaksu.net http://www.serkanaksu.net/ 1 JavaScript JavaScript Nedir? Nestcape firması tarafından C dilinden esinlenerek yazılmış, Netscape Navigator 2.0 ile birlikte

Detaylı

Askeri bir gömülü yazılımın bileşen tabanlı bir mimari kullanılarak refaktör edilmesi

Askeri bir gömülü yazılımın bileşen tabanlı bir mimari kullanılarak refaktör edilmesi Askeri bir gömülü yazılımın bileşen tabanlı bir mimari kullanılarak refaktör edilmesi Berkhan Deniz 1, Gökhan Öztaş 1, Soner Çınar 1 1 Gömülü ve Gerçek Zamanlı Yazılım Tasarım Müdürlüğü, SST Sektör Bşk.

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ı

YAZILIM MODELLEME VE TASARIM

YAZILIM MODELLEME VE TASARIM YAZILIM MODELLEME VE TASARIM «Tasarım Modelinin Oluşturulması» Özer Çelik Matematik-Bilgisayar Bölümü Tasarım Modelinin Oluşturulması Bu aşamada, nesneye dayalı yönteme göre problemin mantıksal çözümü

Detaylı

Simülasyona Dayalı Ağ Temelleri Dersi Eğitimi

Simülasyona Dayalı Ağ Temelleri Dersi Eğitimi Simülasyona Dayalı Ağ Temelleri Dersi Eğitimi HEDEF Bilgisayar Programcılığı bölümünde yürütülen Ağ Temelleri dersi içeriğini incelemek Bilgisayar Ağları öğretiminde Simülasyon/emülasyon kullanımı hakkında

Detaylı

Bir bölgede başka bir bölgeye karşılıklı olarak, veri veya haberin gönderilmesini sağlayan.sistemlerdir.

Bir bölgede başka bir bölgeye karşılıklı olarak, veri veya haberin gönderilmesini sağlayan.sistemlerdir. 1.1.3. Scada Yazılımından Beklenenler Hızlı ve kolay uygulama tasarımı Dinamik grafik çizim araçları Çizim kütüphaneleri Alarm yönetimi Tarih bilgilerinin toplanması Rapor üretimi 1.1.4. Scada Sistemleri

Detaylı

MESLEKİ TERMİNOLOJİ I 1. HAFTA YAZILIM MÜH. TEMEL KAVRAMLAR

MESLEKİ TERMİNOLOJİ I 1. HAFTA YAZILIM MÜH. TEMEL KAVRAMLAR YAZILIM: SOFTWARE Yazılım (Software): Yazılım sadece bir bilgisayar programı değildir. Basılı veya elektronik ortamdaki her tür dokümanı da içeren ürün. Dokümanlar yazılım mühendislerine ve son kullanıcıya

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ı

Tracking and süreçlerinin. Sterilizasyon. managing. yönetimi

Tracking and süreçlerinin. Sterilizasyon. managing. yönetimi Sterilizasyon Tracking and süreçlerinin managing takibi individual ve medikal aletlerin medical devices yönetimi ŞİRKET PROFİLİ son yıllarda sağlık yazılımı sektörüne adım atmış öncü bir markadır. Lazer

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ı

COĞRAFİ BİLGİ SİSTEMLERİ SERVER MİMARİSİ SERVER UYGULAMA GELİŞTİRME EĞİTİMİ

COĞRAFİ BİLGİ SİSTEMLERİ SERVER MİMARİSİ SERVER UYGULAMA GELİŞTİRME EĞİTİMİ COĞRAFİ BİLGİ SİSTEMLERİ SERVER MİMARİSİ SERVER UYGULAMA GELİŞTİRME EĞİTİMİ http://facebook.com/esriturkey https://twitter.com/esriturkiye egitim@esriturkey.com.tr Kursun Süresi: 5 Gün 30 Saat COĞRAFİ

Detaylı

Akıllı Ortamlarda Sensör Kontrolüne Etmen Tabanlı Bir Yaklaşım: Bir Jadex Uygulaması

Akıllı Ortamlarda Sensör Kontrolüne Etmen Tabanlı Bir Yaklaşım: Bir Jadex Uygulaması Akıllı Ortamlarda Sensör Kontrolüne Etmen Tabanlı Bir Yaklaşım: Bir Jadex Uygulaması Özlem Özgöbek ozlem.ozgobek@ege.edu.tr Ege Üniversitesi Bilgisayar Mühendisliği Bölümü İZMİR Sunum Planı - Giriş - Benzer

Detaylı

Malzeme İhtiyaç Planlaması (MRP-Material Requirement Planning)

Malzeme İhtiyaç Planlaması (MRP-Material Requirement Planning) PAU ENDÜSTRİ MÜHENDİSLİĞİ IENG 318 - Üretim Planlama ve Kontrolü 1 Malzeme İhtiyaç Planlaması (MRP-Material Requirement Planning) Sipariş verme sistemleri Stok kontrolüne dayalı sipariş verme sistemleri

Detaylı

İşletim Sistemi. BTEP205 - İşletim Sistemleri

İşletim Sistemi. BTEP205 - İşletim Sistemleri İşletim Sistemi 2 İşletim sistemi (Operating System-OS), bilgisayar kullanıcısı ile bilgisayarı oluşturan donanım arasındaki iletişimi sağlayan ve uygulama programlarını çalıştırmaktan sorumlu olan sistem

Detaylı

Mekânsal Vatandaşlık (Spatial Citizenship-SPACIT) Yeterlilik Modeli

Mekânsal Vatandaşlık (Spatial Citizenship-SPACIT) Yeterlilik Modeli (Spatial Citizenship-SPACIT) Yeterlilik Modeli eğitimi ile öğrencilerin sahip olmaları beklenen temel bilgi, beceri ve tutumları göstermek üzere bir model geliştirilmiştir. Yeterlilik Modeli olarak adlandırılan

Detaylı

YZM 2108 Yazılım Mimarisi ve Tasarımı

YZM 2108 Yazılım Mimarisi ve Tasarımı YZM 2108 Yazılım Mimarisi ve Tasarımı Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 3 Tasarım Prensipleri Bu bölümde; Tasarım

Detaylı

BÖLÜM 1 YAZILIM TASARIMINA GİRİŞ YZM211 YAZILIM TASARIMI. Yrd. Doç. Dr. Volkan TUNALI Mühendislik ve Doğa Bilimleri Fakültesi / Maltepe Üniversitesi

BÖLÜM 1 YAZILIM TASARIMINA GİRİŞ YZM211 YAZILIM TASARIMI. Yrd. Doç. Dr. Volkan TUNALI Mühendislik ve Doğa Bilimleri Fakültesi / Maltepe Üniversitesi BÖLÜM 1 YAZILIM TASARIMINA GİRİŞ YZM211 YAZILIM TASARIMI Yrd. Doç. Dr. Volkan TUNALI Mühendislik ve Doğa Bilimleri Fakültesi / Maltepe Üniversitesi Amaçlar 2 Tasarımın ne olduğunu ve çeşitli tasarım türlerinin

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ı

Büyük Ölçekli bir Gömülü Yazılımın Geliştirme ve Otomatik Test Deneyimi

Büyük Ölçekli bir Gömülü Yazılımın Geliştirme ve Otomatik Test Deneyimi Büyük Ölçekli bir Gömülü Yazılımın Geliştirme ve Otomatik Test Deneyimi Eda Gürler 1 Murat Yılmaz 2 1, 2 Radar Elektronik Harp ve İstihbarat Sistemleri (REHİS) Grubu, ASELSAN A.Ş. Ankara 1 tverdi@aselsan.com.tr,

Detaylı

İŞLETİM SİSTEMLERİNE GİRİŞ. Modern bilgisayar çalışma prensipleri, Von Neumann ın 1945 de geliştirdiği

İŞLETİM SİSTEMLERİNE GİRİŞ. Modern bilgisayar çalışma prensipleri, Von Neumann ın 1945 de geliştirdiği İŞLETİM SİSTEMLERİNE GİRİŞ Von Neumann Mimarisi Modern bilgisayar çalışma prensipleri, Von Neumann ın 1945 de geliştirdiği mimariyi temel almaktadır. Merkezi İşlem Birimi Aritmetik ve Mantık Birimi Kontrol

Detaylı

*egis: Gömülü Sistemler İçin Tasarım Desenleri Tabanlı, Nesneye Yönelik ve Gerçek Zamanlı Bir Mikroçekirdek

*egis: Gömülü Sistemler İçin Tasarım Desenleri Tabanlı, Nesneye Yönelik ve Gerçek Zamanlı Bir Mikroçekirdek *egis: Gömülü Sistemler İçin Tasarım Desenleri Tabanlı, Nesneye Yönelik ve Gerçek Zamanlı Bir Mikroçekirdek K. Sinan YILDIRIM Aylin Kantarcı Bilgisayar Mühendisliği Bölümü, Ege Üniversitesi, 35100, Bornova,

Detaylı

OPC Data Access (DA) Temelleri

OPC Data Access (DA) Temelleri OPC Data Access (DA) Temelleri Hazırlayan Kepware Technologies Türkçe Meal Salih GÖK Anket Data Access nedir? Data Access in getirileri OPC DA e giriş (Data Access) OPC DA Özelliklerine bakış Hızlı bir

Detaylı

2. hafta Bulut Bilişime Giriş

2. hafta Bulut Bilişime Giriş 1 2. hafta Bulut Bilişime Giriş 3. Bulut Bilişime Duyulan İhtiyaç Son yıllarda veri kullanımında görülen artışlar sayesinde verinin elde edilmesi ve üzerinde analizler yapılarak genel değerlendirmelerde

Detaylı

Sade ve tam ekran masaüstü kullanımının temel çıkış noktası, aranılan özelliğe çabuk erişimi sağlayan yenilikçi kullanıcı deneyimidir.

Sade ve tam ekran masaüstü kullanımının temel çıkış noktası, aranılan özelliğe çabuk erişimi sağlayan yenilikçi kullanıcı deneyimidir. Netsis 3 Netsis 3 Netsis 3, Netsis ERP ürün ailesinin 3. Boyuta taşınmış yeni arayüz ve işlevleriyle karşımıza çıkan yeni yüzüdür. 3. Boyut, Logo ürün ailesi için ortak bir hedefi işaret eder, çünkü yapılan

Detaylı

VERĠ HABERLEġMESĠ OSI REFERANS MODELĠ

VERĠ HABERLEġMESĠ OSI REFERANS MODELĠ VERĠ HABERLEġMESĠ OSI REFERANS MODELĠ Bölüm-2 Resul DAġ rdas@firat.edu.tr VERİ HABERLEŞMESİ TEMELLERİ Veri İletişimi İletişimin Genel Modeli OSI Referans Modeli OSI Modeli ile TCP/IP Modelinin Karşılaştırılması

Detaylı

MATRİKS E-BROKER ELEKTRONİK İŞLEM PLATFORMU MATRİKS TRADER VE JAVA MATRİKS ENTEGRASYONLARI

MATRİKS E-BROKER ELEKTRONİK İŞLEM PLATFORMU MATRİKS TRADER VE JAVA MATRİKS ENTEGRASYONLARI MATRİKS E-BROKER ELEKTRONİK İŞLEM PLATFORMU MATRİKS TRADER VE JAVA MATRİKS ENTEGRASYONLARI İMKB ve VOB Emir İletim ve Yönetim Platformu MATRİKS E-BROKER ELEKTRONİK İŞLEM PLATFORMU NEDİR? E-Broker programı,

Detaylı

Özgür Yazılım Eğitim Yönetim Sistemleri

Özgür Yazılım Eğitim Yönetim Sistemleri Özgür Yazılım Eğitim Yönetim Sistemleri Özgür Yazılım A.Ş. merve.yalcin@ozguryazilim.com.tr, adil.akbas@ozguryazilim.com.tr Özet: Bilgi ve iletişim teknolojilerindeki gelişmelerle birlikte öğrenme ortamlarının

Detaylı

Dünya CBS Günü 2015. 19 Kasım 2015, Ankara

Dünya CBS Günü 2015. 19 Kasım 2015, Ankara Dünya CBS Günü 2015 19 Kasım 2015, Ankara Amaç Projenin amacı; kentsel analiz, planlama, tasarım ve karar destek süreçlerinin iyileşmesine katkı sağlamak amacıyla 3 Boyutlu Kent Veri Modelinin ve örnek

Detaylı

KURUMSAL YÖNETĐM KOMĐTESĐ ÇALIŞMA ESASLARI

KURUMSAL YÖNETĐM KOMĐTESĐ ÇALIŞMA ESASLARI KURUMSAL YÖNETĐM KOMĐTESĐ ÇALIŞMA ESASLARI 1. KURULUŞ Şirketimizin 26.04.2012 tarihli Yönetim Kurulu toplantısında, Sermaye Piyasası Kurulu Kurumsal Yönetim Đlkeleri nde yer alan hükümler kapsamında, Şirketimizin

Detaylı

TS EN ISO 9241-151 EŞLEŞTİRME LİSTESİ

TS EN ISO 9241-151 EŞLEŞTİRME LİSTESİ Kriter No Kriter Başlığı Rehber İlke Başlığı A 6. Üst Düzey Tasarım Kararları ve Tasarım Stratejisi 6.1 Genel özellikler 6.2 Web uygulamasının amacının belirginliği 3.10.1. Kurumsal Bilgiler 1.3.2. Kullanıcıların

Detaylı

Video Management Software. ÜrünBilgileri

Video Management Software. ÜrünBilgileri Video Management Software Ürün ÜrünBilgileri Broşürü Esnek, Güçlü ve Akıllı Video Management Software, kullanıcıya kullanımı kolay, güçlü ve gelişmiş bir video gözetleme yazılımı sunar. Bu benzersiz özellikler,

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ı

Doç. Dr. Cüneyt BAYILMIŞ

Doç. Dr. Cüneyt BAYILMIŞ BSM 460 KABLOSUZ ALGILAYICI AĞLAR 1 BSM 460 KABLOSUZ ALGILAYICI AĞLAR 1. Hafta NESNELERİN İNTERNETİ (Internet of Things, IoT) 2 Giriş İletişim teknolojilerinde ve mikroelektronik devrelerde yaşanan gelişmeler

Detaylı

EKLER EK 12UY0106-5/A4-1:

EKLER EK 12UY0106-5/A4-1: Yayın Tarihi: 26/12/2012 Rev. :01 EKLER EK 12UY0106-5/A4-1: nin Kazandırılması için Tavsiye Edilen Eğitime İlişkin Bilgiler Bu birimin kazandırılması için aşağıda tanımlanan içeriğe sahip bir eğitim programının

Detaylı

O P C S T A N D A R D I

O P C S T A N D A R D I O P C S T A N D A R D I ASP OTOMASYON LTD. Sadık ŞENOL İsmail YAKIN 12/08/2008 OPC Standardı İnsan gücüne dayalı üretimden otomasyona dayalı, daha kontrollü bir üretime geçiş endüstride üretim hızını ve

Detaylı

Bilgisayar İşletim Sistemleri BLG 312

Bilgisayar İşletim Sistemleri BLG 312 Giriş Bilgisayar İşletim Sistemleri BLG 312 İplikler geleneksel işletim sistemlerinde her prosesin özel adres uzayı ve tek akış kontrolü vardır bazı durumlarda, aynı adres uzayında birden fazla akış kontrolü

Detaylı

JAVA RMI ve Hibernate teknolojileri kullanılarak çok amaçlı bir yazılım altyapısı hazırlanması

JAVA RMI ve Hibernate teknolojileri kullanılarak çok amaçlı bir yazılım altyapısı hazırlanması JAVA RMI ve Hibernate teknolojileri kullanılarak çok amaçlı bir yazılım altyapısı hazırlanması Hakan ALBAĞ Tahsin Barış AKAN Bitirme Projesi 05.06.2006 Giriş Ticari yazılımlarda ortak ihtiyaçlar Birden

Detaylı

Üniversite Yerleşkelerinde İletişim Gereksinimi ve Bir Çözüm Önerisi

Üniversite Yerleşkelerinde İletişim Gereksinimi ve Bir Çözüm Önerisi inet-tr 06 - XI. "Türkiye'de İnternet" Konferansı Bildirileri 21-23 Aralık 2006 TOBB Ekonomi ve Teknoloji Üniversitesi, Ankara Üniversite Yerleşkelerinde İletişim Gereksinimi ve Bir Çözüm Önerisi Ondokuz

Detaylı

Spring Ekosisteminde Kurumsal Yazılım Geliştirme. Kenan Sevindik Harezmi Bilişim Çözümleri A.Ş.

Spring Ekosisteminde Kurumsal Yazılım Geliştirme. Kenan Sevindik Harezmi Bilişim Çözümleri A.Ş. Ekosisteminde Kurumsal Yazılım Geliştirme Kenan Sevindik Harezmi Bilişim Çözümleri A.Ş. Hakkımızda Harezmi Bilişim Çözümleri 2011 yılında kuruldu Uzmanlık alanlarımız Kurumsal uygulama geliştirme Java

Detaylı

Bilişim Teknolojilerine Giriş

Bilişim Teknolojilerine Giriş Bilişim Teknolojilerine Giriş Bilginin toplanması, işlenmesi, saklanması ve iletilmesini sağlayan teknolojilerin bütününe bilişim teknolojileri denir. Bilişim Teknolojisi Girilen verileri saklayan, işleyen,

Detaylı

Çekirdek Nedir? Ne yapar?

Çekirdek Nedir? Ne yapar? Çekirdek Nedir? Ne yapar? Erkan Esmer Nisan, 2014 İçindekiler 1 Giriş.................................................... 2 2 Çekirdek Tipleri.............................................. 3 2.1 Mikrokernel............................................

Detaylı

Yönlendiriciler ve Yönlendirme Temelleri

Yönlendiriciler ve Yönlendirme Temelleri Yönlendiriciler ve Yönlendirme Temelleri 2/66 Yönlendiricilerin çalışma prensibini öğrenmek. Yönlendirici temellerini tanımlamak. Yönlendirici tablolarını tanımlamak ve kullanımını öğrenmek. 2 1 3/66 Yönlendirme,

Detaylı

T.C. KIRIKKALE ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ YAPAY SİNİR AĞLARI. Doç.Dr. Necaattin BARIŞÇI FİNAL PROJESİ

T.C. KIRIKKALE ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ YAPAY SİNİR AĞLARI. Doç.Dr. Necaattin BARIŞÇI FİNAL PROJESİ T.C. KIRIKKALE ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ YAPAY SİNİR AĞLARI Doç.Dr. Necaattin BARIŞÇI YAPAY SİNİR AĞLARI İLE KORONER ARTER HASTALIĞI RİSK Öğrenci : SİNEM ÖZDER Numarası : 118229001004

Detaylı

HSE RADAR. İş Sağlığı ve Güvenliği Yönetimi Uygulama, Denetim, Eğitim ve Takip HSE GLOBAL YAZILIM A.Ş. 11 Mart 2016

HSE RADAR. İş Sağlığı ve Güvenliği Yönetimi Uygulama, Denetim, Eğitim ve Takip HSE GLOBAL YAZILIM A.Ş. 11 Mart 2016 HSE RADAR İş Sağlığı ve Güvenliği Yönetimi Uygulama, Denetim, Eğitim ve Takip HSE GLOBAL YAZILIM A.Ş. 11 Mart 2016 Copyright 2016 İçerik 1. HSE RADAR NEDİR? 2. HSE RADAR IN UYGULAMA ALANLARI 3. HSE RADAR

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ı

YAZILIM MÜHENDİSLİĞİ Şubat 2012 Yrd.Doç.Dr. Yunus Emre SELÇUK GENEL BİLGİLER

YAZILIM MÜHENDİSLİĞİ Şubat 2012 Yrd.Doç.Dr. Yunus Emre SELÇUK GENEL BİLGİLER YAZILIM MÜHENDİSLİĞİ Şubat 2012 Yrd.Doç.Dr. Yunus Emre SELÇUK GENEL BİLGİLER BAŞARIM DEĞERLENDİRME Sınav tarihleri: Daha sonra duyurulacak 1. Ara sınav yazılı, 2. Ara sınav: test, Final sınavı: yazılı

Detaylı

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN Bilgisayar Mühendisliğine Giriş Yrd.Doç.Dr.Hacer KARACAN İçerik Dosya Organizasyonu (File Organization) Veritabanı Sistemleri (Database Systems) BM307 Dosya Organizasyonu (File Organization) İçerik Dosya

Detaylı

Öğr.Gör. Gökhan TURAN www.gokhanturan.com.tr. Gölhisar Meslek Yüksekokulu

Öğr.Gör. Gökhan TURAN www.gokhanturan.com.tr. Gölhisar Meslek Yüksekokulu Öğr.Gör. Gökhan TURAN www.gokhanturan.com.tr Gölhisar Meslek Yüksekokulu Bilgisayarın Yapısı Donanım (Hardware): Bir bilgisayara genel olarak bakıldığında; Kasa, Ekran, Klavye, Fare, Yazıcı, Hoparlör,

Detaylı

Sistem Geliştirme Yaşam Döngüsü (The Systems Development Life Cycle) (SDLC)

Sistem Geliştirme Yaşam Döngüsü (The Systems Development Life Cycle) (SDLC) Sistem Geliştirme Yaşam Döngüsü (The Systems Development Life Cycle) (SDLC) Sistem analistlerinin ve kullanıcı faaliyetlerinin spesifik döngüsünün kullanılmasıyla En iyi geliştirilmiş sistemin oluşmasını

Detaylı

Autodesk Robot Structural Analysis Professional İnşaat Müh. için Yapısal Modelleme, Analiz ve Tasarım çözümü

Autodesk Robot Structural Analysis Professional İnşaat Müh. için Yapısal Modelleme, Analiz ve Tasarım çözümü Autodesk Robot Structural Analysis Professional İnşaat Müh. için Yapısal Modelleme, Analiz ve Tasarım çözümü İnş. Yük. Müh. Burçin ŞAHİNALP PROTA BİLGİSAYAR A.Ş. Autodesk Robot Structural Analysis Professional

Detaylı

Veritabanı. Ders 2 VERİTABANI

Veritabanı. Ders 2 VERİTABANI Veritabanı Veritabanı Nedir? Birbiri ile ilişkili verilerin bir arada uzun süreli bulundurulmasıdır. Veritabanı bazen Veritabanı Yönetim sistemi veya Veritabanı Sistemi yerine de kullanılır. Gerçek dünyanın

Detaylı

Bilgisayar Ağları ve Türleri

Bilgisayar Ağları ve Türleri Bilgisayar Ağları ve Türleri Bilgisayar ağı, birbirlerine bağlı ve birbirleri arasında metin, ses, sabit ve hareketli görüntü aktarımı yapabilen bilgisayarların oluşturduğu yapıdır. Ağlar sadece bilgisayarlardan

Detaylı

KARİYER PLANLAMA Amaç ve Fayda Yayın Tarihi Kategori Ürün Grubu Modül Versiyon Önkoşulu Yükleme ve Gereken Dosyalar Yükleme Sonrası

KARİYER PLANLAMA Amaç ve Fayda Yayın Tarihi Kategori Ürün Grubu Modül Versiyon Önkoşulu Yükleme ve Gereken Dosyalar Yükleme Sonrası KARİYER PLANLAMA Amaç ve Fayda Yayın Tarihi Kategori Ürün Grubu Modül Versiyon Önkoşulu Yükleme ve Gereken Dosyalar Yükleme Sonrası İşlemler Bu doküman ile Netsis İnsan Kaynakları paketinde bulunan Kariyer

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ı