Model Tabanlı, ARINC 653 Uyumlu Aviyonik Yazılım Geliştirme ve Bütünleştirme
|
|
- Meryem Baydar
- 8 yıl önce
- İzleme sayısı:
Transkript
1 Model Tabanlı, ARINC 653 Uyumlu Aviyonik Yazılım Geliştirme ve Bütünleştirme Alper Tolga KOCATAŞ Aselsan MGEO, Ankara Ünal DURMUŞ Aselsan MGEO, Ankara Mustafa TUFANER Aselsan MGEO, Ankara Turgay SENLET Department of Computer Science Rutgers, The State University of New Jersey Özet Model tabanlı yazılım geliştirme, geleneksel yazılım geliştirme yöntemlerine göre dokümantasyon, taşınabilirlik, görsel bütünleştirme, üst seviye model test araçları kullanımı gibi çeşitli kolaylıklar ve avantajlar sağlamaktadır. Bu bildirinin amacı, model tabanlı yazılım geliştirme yöntemini Aselsan MGEO 1 grubu bünyesinde geliştirilen emniyet kritik yazılım projelerine uygularken kazanılan deneyimleri paylaşmak ve bu süreçte karşılaşılan problemlerin çözümleri için geliştirilen yöntemleri sunmaktır. Bildiri kapsamında yer alacak olan yöntemlerin başında yazılım birimlerinin modellenmesi ile birlikte bu birimlerin hızlı ve doğru olarak bütünleştirilmesi için geliştirilen yöntemler gelmektedir. Sunulan yöntemler, emniyet kritik yazılım bileşenlerinin bağımsız olarak tasarlanması ve bütünleştirilmesi için izlenmesi gereken yöntemleri tanımlayan ARINC [1] standardını desteklemekle birlikte, bu standartın detaylarından bağımsız olarak model geliştirme konusunda da çözümler sunmaktadır. Abstract Model driven development has advantages over traditional development methods in ease of documentation, portability, graphical integration and usage of high level model test tools. Purpose of this paper is to share the experiences gained and solutions developed to overcome problems that have been faced while applying model driven development in safety critical software projects in Aselsan MGEO division. Methods developed for rapid and correct integration of software components will be the major subject of this study. Besides describing the development of software 1 Mikroelektronik, Güdüm ve Elektro-Optik 2 Aeronautical Radio Inc compatible to ARINC 653 [1] standard, which specifies guidelines for independent design and integration of safety critical software components, methods are also presented on how to design software models independent of the details of ARINC 653 standard. 1. Giriş Model tabanlı yazılım geliştirme, Model Driven Architecture [2] ismiyle bilinen bir yazılım geliştirme yöntemidir ve geleneksel yazılım geliştirme yöntemlerine göre çeşitli avantajlar sağlamaktadır. OMG 3 tanımına göre model, bir içerik kapsamında ve belirli bir bakış açısından bir sisteme ait olan işlev, yapı veya davranışın biçimsel olarak tanımlamasını yapar. Model tabanlı yazılım geliştirme, sistemin dokümantasyonu, analizi, tasarımı, mimarisi, kurulumu ve bakımı gibi işlerde modellerin birincil kaynak olarak kullanıldığı bir yazılım geliştirme yaklaşımına verilen isimdir [3]. Model tabanlı geliştirilen bir projede kullanılan yapısal ve davranışsal diyagramlar, yazılım bileşenlerinin anlaşılabilirliğini artırmakla beraber, doğal bir yoldan, güçlü ve anlaşılır dokümantasyon sağlamaktadır. Farklı bir kod üretim aracı kullanılarak, aynı modelden farklı platformlara yönelik kod üretilebildiği için, model tabanlı geliştirme taşınabilirlik açısından da avantaj sağlamaktadır. Otomatik test kodu ve test dokumanı üretimi de model tabanlı geliştirilen bir projede model üzerinde çalışan araçlar kullanılarak başarılabilir. Yazılım bileşenlerinin bütünleştirmesi söz konusu olduğunda model tabanlı geliştirme, model elemanlarını otomatik olarak birleştirebilen grafiksel araçların kullanımıyla değişikliklerin son ürüne yansıtılmasını hızlandırarak açık bir fayda sağlamaktadır [4][5]. Bunların yanında, model tabanlı yazılım geliştirme 3 OMG: Object Management Group
2 yöntemlerini uygularken dikkat edilmesi gereken bazı önemli noktalar vardır. Zaman zaman, model tabanlı yazılım geliştirme araçlarının verimi artırmaktansa geliştirme sürecini yavaşlattığı düşünülmektedir [5][6]. Model tabanlı geliştirilmemiş ama kullanılması gereken eski projelerin model tabanlı geliştirilen bir projede kullanımı da başlı başına bir sorun teşkil etmektedir. Geleneksel yöntemlerle yazılmış kaynak kodlarından model üretebilen tersine mühendislik araçlarının başarılı olamadığı durumlar olabilir. Bu tip kodlardan tersine mühendislik araçlarıyla tüm kodu kapsayan bir model oluşturmaya çalışmaktansa, sadece arayüzleri modelleyerek ve kodun işlevsel kısımlarını olduğu gibi bırakarak tüm kodu soyut bir bilesen bir kara kutu olarak ana modele dahil etmek daha yararlı olabilmektedir. IBM Telelogic Rhapsody model tabanlı yazılım geliştirme aracı, Aselsan MGEO bünyesinde geliştirilen emniyet kritik yazılım projelerinde model tabanlı yazılım geliştirme ve sistem modellemesi amacıyla uzun bir süredir kullanılmaktadır. Bu bildirinin amacı, model tabanlı yazılım geliştirme yöntemini geliştirilen emniyet kritik yazılım projelerine uygularken kazanılan deneyimleri paylaşmak ve karşılaşılan problemler ile bu problemlerin çözümleri için geliştirilen yöntemleri sunmaktır. Bildiri kapsamında yer alacak olan yöntemlerin başında yazılım birimlerinin modellenmesi ile birlikte, hızlı ve doğru olarak bütünleştirilmesi için geliştirilen yöntemler gelmektedir. Güçlü bir bütünleştirme alt yapısı için modelleme aracı içerisinde sistem bütünleştirme bilgilerini tutma yeteneğine sahip bir bütünleştirme model şablonu oluşturulmuştur. Bu yeni bütünleştirme modelinin modelleme aracındaki gerçekleştirilmesi yazılıma eklenen yeni profiller, tipler ve bütünleştirme için gerekli olan bilgileri tutan model elemanları sayesinde sağlanmıştır. Bütünleştirme modelinde gerekli parametreler sistemin ihtiyaçlarına uygun olarak doldurulduktan sonra model üzerinde koşturulan Oluşturucu ve Oluşturucu otomatik model üretim araçları, model parametrelerini kullanarak var olan yazılım modelinde gereken değişiklikleri yapmakta ve bu sayede yazılım bileşenlerinde yapılan değişikliklerin son ürüne hızlı ve sorunsuz bir şekilde yansıtılmasını sağlamaktadır. Sunulan yöntemler, emniyet kritik yazılım bileşenlerinin bağımsız olarak tasarlanması ve bütünleştirilmesi için izlenmesi gereken yöntemleri tanımlayan ARINC 653 standardını desteklemenin yanı sıra, bu standartın detaylarından bağımsız olarak model geliştirme konusunda da çözümler sunmaktadır. Önerilen yöntemler arasında platformdan bağımsız model geliştirme için uygulanabilecek paket değiştirme tasarım örüntüsü de yer almaktadır. Söz konusu örüntü kullanılarak, platforma özel olan model ayrıntılar, platform bağımsız olan modelden ayrı tutulabilmektedir. Bu yöntemler ve kullanılan otomatik bütünleştirme araçları sayesinde, sistemin tüm bileşenleri yerine, bileşenlerin herhangi bir alt kümesini hedef donanım üzerinde test etmek mümkün olabilmektedir. 2. Aviyonik Yazılımlar ve ARINC 653 Standardı ARINC 653 standardı, tümleşik modüler aviyonik sistemlerde 1 aynı anda farklı emniyet seviyeleri gerektiren birden fazla uygulamanın 2 birbirinden bağımsız ve güvenli olarak koşabilmesi için uygulama yazılımları, işletim sistemi ve bilgisayar kaynakları arasında kurulması gereken iletişimi ve ortak ara yüzleri tanımlamaktadır (Bkz. Şekil 1). Şekil 1 - ARINC 653 uyumlu sistem yapısı ARINC 653 standardının tanımlamış olduğu ortak APEX 3 arayüzü aşağıdaki avantajları sunmaktadır: Taşınabilirlik: APEX arayüzü programlama dilinden, işletim sisteminden ve platformdan bağımsız olduğundan, teorik olarak ARINC 653 uyumlu uygulama yazılımlarının taşınabilirliği oldukça fazladır. Tekrar Kullanılabilirlik ve Modülerlik: Donanımdan bağımsız APEX arayüzü sayesinde tümleşik modüler aviyonik sistemler için yazılmış olan uygulamaların tekrar kullanılabilirliği bu arayüzü desteklemeyen uygulamalara göre daha fazladır. Farklı Kritiklik Seviyesindeki Uygulamaların Tümleşik Çalışması: APEX arayüzünün en önemli amaçlarından birisi de farklı seviyede emniyet 1 Tümleşik modüler aviyonik sistem deyişi, Integrated modular avionics system yerine kullanılmıştır. 2 Burada kullanılan uygulama terimi ARINC 653 kavramlarından bölüt e (partition) karşılık gelir. 3 APEX: APPlication EXecutive, ARINC 653 standardının tanımladığı ortak arayüze verilen isimdir.
3 gereksinimleri olan yazılımların aynı donanım üzerinde koşabilmesidir. APEX arayüzü, sistemin ilklendirilmesi ve uygulamaların sağlıklı bir şekilde çalışabilmesi için ihtiyaç duydukları kaynakları yapılandırma tabloları ile tanımlar. Bu tablolar sistem bütünleştiricisi tarafından XML dili kullanılarak düzenlenir. Burada kullanılan XML dosyasının yapısı, ARINC 653 destekleyen bütün yazılım geliştime ortamları tarafından desteklenmelidir. Sistemde kaç adet uygulamanın olacağı, uygulamaların hangi zaman dilimleri süresince çalışabilecekleri, hangi kanallardan ne türde (örnekleme/kuyruk) haberleşme yapacakları ve hafıza gereksinimleri yapılandırma tablosunda belirtilir. Ayrıca ARINC 653 standardında tanımlanmış olan, sistemde oluşabilecek hata durumlarının hangi seviyede ve hangi eylemlerle ele alınması gerektiğini tanımlayan Health Monitor yapılandırması da yapılandırma tablolarında yer alır. XML XML Yapılandırma XML Yapılandırma Tabloları Yapılandırma Tabloları Tabloları OS OS Yapılandırma Đşletim Yapılandırma Dosyaları Sistemi Dosyaları Yapılandırma Dosyaları Şekil 2 Đşletim sisteminden bağımsız olan ARINC 653 Yapılandırma tabloları işletim sistemine özgü yapılandırma dosyalarına çevrilir. Bahsedilen XML yapılandırma tabloları, kullanılan ARINC 653 uyumlu yazılım geliştirme ortamının sunduğu bir araç tarafından işletim sistemine özel yapılandırma dosyalarına çevrilir. Bu aşamadaki çevrim otomatik olarak yapılabilse de, tümleşik modüler aviyonik sistemlerdeki uygulama sayısı arttıkça XML yapılandırma tablolarının elle oluşturulması da giderek içinden çıkılmaz bir karmaşıklık arz etmeye başlamaktadır. 3. ARINC 653 Uyumlu Yazılım Modeli ARINC 653 uyumlu bir yazılım geliştirmek için model tabanlı bir geliştirme aracı kullanmak şart değildir. Fakat model tabanlı geliştirme araçları kullanmanın, yazılım geliştirme sürecini kolaylaştırmak ve tasarımı anlaşılır kılmakla birlikte, sistemi oluşturan yazılım parçalarının bütünleştirmesi konusunda da birçok avantaj sağladığı görülmüştür [7][8]. ARINC 653 standardında bahsedilen ve birbirini olumsuz olarak etkilemeden aynı işlemci üzerinde çalışabilen uygulamalar farklı kritiklik seviyesine sahip olabilirler. Bu uygulamalar genellikle farklı yazılım grupları tarafından geliştirilir. Geliştirme sırasında paylaşılan bilgi uygulamalar arasında iletişimi yapılacak arayüzler ve tiplerden ibarettir. Uygulama grupları birbirlerinden bağımsız olarak çalışır ve her grup kendi uygulamasını geliştirir. Sistem bütünleştiricisinin görevi ise, geliştirilen uygulamaların aralarında belirledikleri arayüzleri kullanarak birbirleriyle ve sistemin diğer yazılım elemanları ile haberleşmesini sağlamaktır. Bu bağlamda, uygulama geliştiricileri ARINC 653 standartlarından ayrıntılı olarak haberdar olmak zorunda da değildir. Sonuçta ARINC 653 farklı uygulamaların birbirleriyle olan iletişimlerini ve çalışma zamanlarını belirler. Uygulama yazılımcıları kendi tasarımlarını ARINC 653 standardına dayanarak yapmamaya gayret etmelidirler. Bu noktada akla ARINC 653 standardı zaten taşınabilirliği hedeflemektedir; o halde geliştirilen yazılımın ARINC 653 standardına sıkı sıkıya bağlı yazılmasında ne sakınca vardır? sorusu gelebilir Bu sorunun cevabı ARINC 653 olmadan, daha basit ortamlarda yazılım bileşenlerinin kendi aralarındaki bilgi akışının doğrulanması gerektiğinde anlaşılmaktadır. Geliştirilen sistem çok büyük çaplı olabilir ve aralarında sıkı sıkıya iletişim gereksinimleri olan bazı uygulamalar ikili, üçlü olarak bütün sistemden yalıtılarak test edilmek istenilebilir. Hatta bu tip testler uygulamaların işlevsellik gereksinimlerini test etmek için gerçek zamanlı olmayan bir işletim sistemi üzerinde koşturulmak istenilebilir. Bu sebeplerden dolayı, uygulama yazılımlarının ARINC 653 gereksinimlerinden soyutlanarak geliştirilmesinde fayda vardır. Örneğin, Kullanıcı Arayüzü Yönetimi, Seyrüsefer Sistemi Yönetimi, Haberleşme Sistemi Yönetimi, Sistem Kontrol Yazılımı, Grafik Arayüzü Yönetimi ve bunun gibi birçok uygulamadan oluşan bir sistemde, kullanıcı arayüzü yönetimi ve haberleşme sistemi yönetimi uygulamaları sistemden bağımsız olarak aralarında ikili bir test yapmak isteyebilirler. Hatta bu testi gerçek zamanlı bir işletim sisteminin kullanıcı dostu olmayan hata ayıklama araçları yerine standart bir PC kullanarak daha görsel araçlarla yapmak isteyebilirler. Bu durumda, ARINC 653 standardının tanımladığı işlevleri standart PC üzerinde sağlayacak bir alt yapınız yoksa bile, bu iki uygulamayı tek bir uygulamaya indirgeyerek aralarında bir test yapmak mümkün olabilmektedir. Daha ileri giderek, ARINC 653 alt yapısının PC üzerinde yeterince gerçekçi bir şekilde benzetimi yapılabilir ve böylece bu uygulamalar hedef sistemde test edilebilir. 3.1 Sınıfların Kullanımı Uygulama yazılımlarını ARINC 653 alt yapısından soyutlamak için, uygulama yazılımları ve APEX arayüzü arasındaki veri iletişimini sağlayan vekil sınıfları kullanılır. Model tabanlı yazılım geliştirme araçlarının farklı yazılım bileşenlerini birbirinden soyutlamak için
4 kullandığı teknikler zaten mevcuttur. Aselsan MGEO bünyesinde geliştirilmekte olan aviyonik yazılım projelerinde kullanılan Rhapsody model tabanlı geliştirme uygulaması, bu amaç için Kapı (Port) ismi verilen bir tasarım örüntüsü kullanmaktadır. Rhapsody tanımına göre kapı, bir sınıfın, içinde bulunduğu ortamla veya kendi içindeki alt sınıflarla etkileşimde bulunduğu bir noktadır. Kapılar, sınıfların içinde bulunduğu ortamlardan bağımsız olarak tanımlanmasını sağlarlar. Kapılar sayesinde sınıflar kendi içlerindeki detayları ortamlarından tamamen yalıtabilirler [9]. BSnf AKps IletisimAry ASnf ve BSnf, AKps ve BKps üzerinden «flow» IletisimAry arayüzünü kullanarak haberleşir. BKps IletisimAry Şekil 3 - Rhapsody Kapı tasarım örüntüsü ASnf Şekil 3 de Rhapsody Kapı larına bir örnek verilmiştir. Burada BSnf ve ASnf isimli sınıflar aralarındaki bilgi alış verişi IletisimAry isimli bir arayüze dayandırılmaktadır. Bu sayede her iki sınıfın iç detayları diğerinden yalıtılmış olmaktadır. Ayrıca, her iki sınıf da diğerini değiştirmeye gerek kalmaksızın, IletisimAry arayüzünü destekleyen bir kapıya sahip olan bir başka sınıf ile değiştirilebilirler. CSnf CSnf ve DSnf, CSnf'in kendi içinde tuttuğu DSnf göstergeci ile haberleşir. 1 DSnf Şekil 4 - Kapilarin yerine "Association" kullanımı Şekil 4 te de CSnf ve DSnf birbirleri ile haberleşen iki sınıf olsun. Bu örnekte Kapı yerine Birliktelik 1 kullanılmıştır. Đki tasarım da aynı işi görmektedir, fakat Birliktelik kullanılan örnekte, CSnf ve DSnf birbirleriyle daha sıkı bir bağ kurmuş durumdadır. DSnf, başka bir sınıf ile değiştirilmek istenildiğinde, CSnf ı etkilemeden bunu yapmak mümkün değildir. Bu nedenle, yazılım parçalarının tekrar kullanımını kolaylaştırmak için yazlımın parçaları arasındaki ilişkileri Kapı kullanarak tanımlamak idame etmesi ve tekrar kullanımı kolay yazılım birimleri oluşturmaktadır. Çünkü kapılar arasındaki bağlar, sınıflara değil, kapının kontratında belirlenmiş olan arayüzlere dayanmaktadır. arasındaki bağlantıyı koda dönüştürebilmektedir. Ancak farklı ARINC 653 uygulamalarının kapıları arasındaki bağlantıları doğrudan koda dönüştüremezler. Bu iletişim, ARINC 653 veri iletişim kurallarını destekleyen kapılar ile yapılmalıdır. Dolayısı ile farklı uygulamalar arasındaki iletişimi modellemek için model tabanlı geliştirme aracının iletişim modelini özelleştirmek gerekir. Rhapsody aracı, nesneye yönelik yazılım geliştirme kavramlarından kalıt 2 kullanımını kendi içindeki model elemanlarına da aktarmıştır. Bu özellik kullanılarak, gereksinimleri karşılamayan model elemanlarının yerine, var olan model elemanlarından yeni model elemanları türetmek mümkündür. Ayrıca yeni tanımlanan model elemanları kendine özel bilgiler taşıyabilmektedir. Bu da normal kapılara ek olarak, ARINC 653 standardında yer alan örnekleme ve kuyruk kapılarının tanımlanmasına izin vermektedir. Bu kapılar da genel Rhapsody kapıları gibi belirli arayüzlerle uygulamalar arası iletişimi tanımlamakla birlikte, ayrıca ARINC 653 örnekleme ve kuyruk kapılarını tanımlamak için gerekli olan ek bilgileri içerirler. Buna benzer özelleştirme teknikleri kullanılarak, Rhapsody aracında, ARINC 653 standardındaki System, Module, Partition, Sampling/Queuing Port, Process vs.. gibi tanımları destekleyecek yeni model elemanları tanımlanabilir. Bu model elemanları, ARINC 653 ile ilgili yapılandırma bilgilerinin tümünün yazılım modelinde tutulmasına olanak vermektedir. Bu model elemanlarının içerdiği bilgiler işlenerek ARINC 653 işlevlerini kullanan kapılar için kod üretilebilir. Bu amaç için, uygulama yazılımlarını birbirine bağlayan kapılar ve APEX arayüzü arasında bulunması gereken vekil sınıfları otomatik olarak Oluşturucu Aracı ile oluşturulmaktadır. Bu sayede yapılandırmada yapılan değişiklikler otomatik olarak son ürüne yansıtılabilmektedir. Oluşturucu Aracı, vekil sınıflarını oluştururken, ARINC 653 sistemini tanımlamak için gerekli olan XML yapılandırma tablolarını da otomatik olarak oluşturur. Böylece hazırlanması zaman alan ve hata olasılığı yüksek bu süreç de otomatik olarak yapılmış olur. Model tabanlı geliştirme araçlarının sağladığı kapılar aynı uygulama içerisinde çalışan yazılım parçaları 1 Birliktelik: Association 2 Kalıt: Inheritance
5 1 «BilesenNesnesi» Sey SeyBlsSnf SsKaySonucKps KaySeyTusVerisiKAKps ler Arinc653 kapıları arasındaki iletişimi sağlar KaySeyTusVerisiKGKps KayBlsSnf 1 «BilesenNesnesi» Ka SsSonucuKps SsKaNoktaVeriKps yorumlayıcılar Arinc653 kapıları ve bileşenler arasındaki mesajların çevrim işlerini yapar SsNoktaKps SeyKayNoktaVeriOGKps SeyKayNoktaVeriOAKps Şekil 5 - Uygulama yazılımları arasındaki haberleşmeyi sağlayan ve Nesneleri 3.2 Sınıflarının Kullanımı Uygulama yazılımlarının ARINC 653 standartlarını kullanmadan da aralarında haberleşebilmesi için, ARINC 653 detaylarından soyutlanmaları gerekir. APEX arayüzündeki işlevler basit olarak, örnekleme/kuyruk mesajı al/gönder şeklinde tanımlanmıştır. Uygulama yazılımları birbirleri ile olan iletişimlerini daha anlamlı işlev isimleri kullanarak yapmak isteyebilirler. Ayrıca kuyruk mesajı iletimini sağlamakla sorumlu bir ARINC 653 kapısından yollanan mesajlara kimlik numaraları atanarak, kuyruğa gelen her mesajın farklı şekilde yorumlanması sağlanabilir. Örneğin, Kullanıcı Arayüzü Yönetimi uygulamasından Seyrüsefer Sistemi Yönetimi uygulamasına giden periyodik mesajlar, Şekil 5 teki SsSonucuKps kapısının kontratında birden çok işlev kullanılarak tanımlanabilir, SsSonucuKps kontratında WayPointEkle() ve WayPointSil() mesajları içeren WayPointYonetimiAry gibi bir arayüz olsun. Öte yandan, ARINC 653 kapıları GonderAperiyodik() isimli yalnızca bir işlev içeren KuyrukGondericiAry isimli bir arayüz destekliyor olsun. Kullanıcı Arayüzü Yöneyimi uygulaması, SsSonucuKps kapısını kullanarak duruma göre WayPointEkle() veya WayPointSil() mesajını Seyrüsefer Sistemi Yönetimi uygulamasına iletmek isteyebilir. Bu durumda Kullanıcı Arayüzü Yönetimi uygulaması tarafında WayPointYonetimiAry mesajlarını KuyrukGondericiAry mesajlarına, Seyrüsefer Sistemi Yönetimi uygulaması tarafında da tam tersi yönde çevrim yapacak sınıflara ihtiyaç duyulur. Bu sınıflara da mesaj yorumlayıcı sınıfları ismi verilmiştir. sınıfları gibi, mesaj yorumlayıcı sınıfları da geliştirilen bir araç kullanılarak otomatik üretilebilmektedir. yorumlayıcı sınıfları sayesinde uygulamalar birbirleriyle haberleşmek için geliştirdiği arayüzleri APEX arayüzünden bağımsız olarak tanımlayabilirler. 4. Platform Bağımsız Model Geliştirme Tekrar kullanılabilirlik önemlidir ve yazılım geliştirme yöntemleri tekrar kullanılabilirliği artıracak şekilde uygulanmalıdır. Platform bağımsız yazılımların taşınması ve farklı platformlara en az çaba ile uyarlanabilmesi kolay olduğundan, tekrar kullanılabilirliği de fazladır. Ne var ki, gömülü sistemlerde olduğu gibi, geliştirilen yazılımın donanımla sıkı sıkıya bağlı olduğu durumlarda platform bağımsız yazılım üretmek hayli zordur. Gelecekte Java gibi platform bağımsız, sanal makineler üzerinde çalışan dillerin aviyonik yazılım alanında kullanımı yaygınlaştığında platform bağımsız yazılım geliştirmek şimdi olduğundan daha kolay olabilir. Böyle bir avantajın olmadığı durumlarda ise yazılımın platforma bağımlı kısımları, platform bağımsız olarak geliştirilebilecek kısımlardan ayrı tutulmalıdır. Platforma bağımlı kısımlar değişik platformlar için ayrı ayrı geliştirilebilir. Böylece yazılım birden çok platformu desteklemiş olur. Model tabanlı geliştirme araçları kullanılarak bu durumu sağlamak çok daha kolaydır. Bunu başarmak için yapılması gereken, platform bağımlı olan her yazılım bileşenini soyut olarak tanımlamak ve desteklenecek her bir platform için yazılım bileşeninin platforma bağımlı farklı sürümlerini geliştirmektir.
6 Şekil 6 - Platform bağımlı SeriPortYoneticisiSnf sınıfının bir tane genel tanımı ile birlikte üç farklı platform için üç farklı sürümü vardır. Örneğin, Şekil 6 teki SeriPortYoneticisiSnf gibi platforma bağımlı olması gereken bir yazılım parçası için öncelikle SeriPortGenelPkt altında genel bir sınıf tanımlanır. Model içinde SeriPortYoneticisiSnf sınıfını kullanması gereken diğer sınıflar, SeriPortGenelPkt içindeki genel sınıfı kullanırlar. Aslında SeriPortGenelPkt içinde tanımlı olan SeriPortYoneticisiSnf sınıfı tamamen soyut bir sınıftır ve bunun için kod üretilmez Tartışma Model tabanlı yazılım geliştirme araçları kullanılarak yazılım geliştirme gereksinim, tasarım, kodlama ve bütünleştirme süreçleri aynı araç üzerinden yapılmakta ve son ürüne dönüşünceye kadar geliştirmenin bütün aşamaları aynı ortamdan takip edilebilmektedir. Yazılım modelleme araçlarına yapılan eklentiler ve geliştirilen özel araçlar ile yazılımın tamamının tek bir model üzerinden takip edilmesi sağlanmaktadır. Geliştirmenin farklı aşamalarında ihtiyaç duyulan testleri gerçekleştirmek için farklı olanaklar sağlanarak yazılımın çalışacağı son donanım hazır olmadan veya yazılım son halini almadan önce değişik seviyelerde testler gerçekleştirmek üzere alternatif olanaklar sağlanmaktadır. Ayrıca bu yöntemler, uygulama yazılımı geliştiricilerinin alt seviyede kullanılan haberleşme yöntemlerinden bağımsız olarak kodlama yapmalarını sağlamakta ve yazılımın idamesini kolaylaştırmaktadır. Şekil 7 - Platform1 için üretilecek kodlar için kapsam seçiminde Genel paketle birlikte Platform1 için geliştirilen paket dahil edilir. Platform için kullanılacak yapılandırmalar oluşturulurken, Şekil 7 teki gibi, SeriPortGenelPkt ile birlikte Seri Port yazılımının platforma bağımlı paketi de seçilir. Bu yöntemin avantajı, desteklenen platformlar için yapılandırmalar oluşturulurken, yazılımın platform bağımsız kısmının değiştirilmesinin gerekmemesidir. 1 Modelleme aracında bu tip soyut model elemanlarını Use as external gibi özelliklerle tanımlayarak bunkar için kod üretilmemesi sağlanabilir.
7 6. Kaynaklar [1] Aeronautical Radio Inc., Arinc Specification 653-1, Avionics Application Software Standard Interface, 16 Ekim [2] Architecture Board ORMSC, Model Driven Architecture (MDA), Doküman No: ormsc/ , 9 Haziran, [3] Frank Truyen (Cephas Consulting Corp), The Fast Guide to Model Driven Architecture, The Basics of Model Driven Architecture (MDA), (Whitepaper) Ocak [4] Bran Selic, The pragmatics of model-driven development, IEEE Software, [5] B Hailpern, P Tarr, Model-driven development: The good, the bad, and the ugly, IBM Systems Journal, [6] Scott W. Ambler, Agile Model Driven Development Is Good Enough, Point-Counterpoint article in IEEE Software, Eylül/Ekim [7] Pedro de la Camara, Maria del Mar Gallardo, Pedro Merino: Model Extraction for ARINC 653 based Avionics Software, Model Checking Software Springer, [8] Julien Delange, Laurent Pautet, Alain Plantec, Mickael Kerboeuf, Frank Singhoff, Fabrice Kordon: Validate, simulate and implement ARINC653 systems, SIGAda '09: Proceedings of the ACM SIGAda annual international conference on Ada and related technologies, p 31-44, November [9] Telelogic, Rhapsody User Guide, revised for product release 7.2, 2008.
Model Güdümlü Geliştirme ile Gömülü Kaynakların Yönetimi
Model Güdümlü Geliştirme ile Gömülü Kaynakların Yönetimi Can Öz EGE ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ BİLGİSAYAR MÜHENDİSLİĞİ A.B.D. 1 İçerik Kaynak Yönetimi Problemi Kaynak Yönetimi Modellemesinin
Detaylı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ı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ı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ı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ı1.Yazılım Geliştirme Metotları 1
1.Yazılım Geliştirme Metotları 1 1.1 Klasik Çevrim(Waterfall) 1.2 V Modeli 1.3 Prototipleme/Örnekleme 1.4 Spiral Model 1.5 Evrimsel Geliştirme 1.6 Evrimsel Prototipleme 1.7 Artımlı Geliştirme 1.8 Araştırmaya
Detaylı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ıTarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan
BİLGİ TEKNOLOJİLERİ YÖNETİMİ EĞİTİM MODÜLLERİ Tarih Saat Modül Adı Öğretim Üyesi 01/05/2018 Salı Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan Bu dersin amacı, bilgisayar bilimlerinin temel kavramlarını
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 analistlerinin ve kullanıcı faaliyetlerinin spesifik döngüsünün kullanılmasıyla En iyi geliştirilmiş sistemin oluşmasını
DetaylıCENG 302 Yazılım Mühendisliği Yazılım Mimarisi - Devam. Alper UĞUR
CENG 302 Yazılım Mühendisliği Yazılım Mimarisi - Devam Alper UĞUR Yazılım Mimarisi Gereksinim: NE? Mimari : NE+NASIL GEREKSİNİMLER (software architecture) Requirements : WHAT? Architecture : WHAT + HOW?
DetaylıSİSTEM VE YAZILIM. o Bilgisayar sistemleri donanım, yazılım ve bunları işletmek üzere gerekli işlemlerden oluşur.
SİSTEM VE YAZILIM o Bilgisayar sistemleri donanım, yazılım ve bunları işletmek üzere gerekli işlemlerden oluşur. o Yazılım, bilgisayar sistemlerinin bir bileşeni olarak ele alınmalıdır. o Yazılım yalnızca
DetaylıSİSTEM ANALİZİ VE TASARIMI
SİSTEM ANALİZİ VE TASARIMI BİLGİ SİSTEMİ GELİŞTİRME SÜRECİ Sistem Geliştirme Süreci ve Modelleri Sistem Geliştirme Yaşam Döngüsü Bilgi sistemlerinin geliştirilmesi için izlenen sürece Sistem Geliştirme
DetaylıİŞLETİM SİSTEMLERİ. (Operating Systems)
İŞLETİM SİSTEMLERİ (Operating Systems) İşletim Sistemi Tanımı, Görevleri, Bilinen İşletim Sistemleri Çok Kullanıcılı Sistemler, Bellek Yönetim Birimi Linux ve Windows Ailesi, Bilinen İşletim Sistemleri
DetaylıBilgisayar Mühendisliği. Bilgisayar Mühendisliğine Giriş 1
Bilgisayar Mühendisliği Bilgisayar Mühendisliğine Giriş 1 Mühendislik Nedir? Mühendislik, bilim ve matematiğin yararlı cihaz ve sistemlerin üretimine uygulanmasıdır. Örn: Elektrik mühendisleri, elektronik
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 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ı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ı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ı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ı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ı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ı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ı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ıVeritabanı Yönetim Sistemleri (Veritabanı Kavramı) Veri Modelleri
Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) Veri Modelleri Konular Veritabanı Tasarım Aşamaları Veri Modeli Nedir? Veri Modeli Temel Bileşenleri İş Kuralları (Business Rules) İş Kurallarını Veri
DetaylıKablosuz Algılayıcı Ağları İçin TinyOS İle Uygulama Geliştirme
Kablosuz Algılayıcı Ağları İçin TinyOS İle Uygulama Geliştirme Kasım Sinan YILDIRIM AKADEMİK BİLİŞİM 2010 10-12 Şubat 2010 Muğla Üniversitesi, Muğla Ege Üniversitesi Bilgisayar Mühendisliği Bölümü İzmir,
DetaylıSınıf Diyagramları Amaç: Sınıf Diyagramları Nasıl Çizilir?
Sınıf Diyagramları Sınıf diyagramı statik bir diyagramdır. Bir uygulamanın statik görünümünü temsil eder. Sınıf diyagramı sadece bir sistemin farklı yönlerini görselleştirmek, açıklamak ve belgelemek için
Detaylı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ı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ı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ı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 Nesne Yönelimli Programlama BİM-222 2/II 1+0+2 2 3 Dersin Dili
DetaylıPROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.
PROGRAMLAMAYA GİRİŞ Öğr. Gör. Ayhan KOÇ Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay., 2007 Algoritma ve Programlamaya Giriş, Ebubekir YAŞAR, Murathan Yay., 2011
Detaylı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ı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ıDers Adı : Nesne Tabanlı Programlama-I Ders No : Teorik : 3 Pratik : 1 Kredi : 3.5 ECTS : 4. Ders Bilgileri.
Image not found http://bologna.konya.edu.tr/panel/images/pdflogo.png Ders Adı : Nesne Tabanlı Programlama-I Ders No : 0690130114 Teorik : 3 Pratik : 1 Kredi : 3.5 ECTS : 4 Ders Bilgileri Ders Türü Öğretim
DetaylıBir yazılım geliştirme metodolojisi aşağıdaki adımlardan meydana gelir; Yazılım geliştirme sürecine destek verecek araçlar, modeller ve yöntemler.
Yazılım Mühendisliği kapsamındaki Yazılım Geliştirme Metodolojileri, bir bilgi sistemini geliştirme sürecinin yapımını, planlamasını ve kontrolünü sağlayan bir framework tür. Her farklı framework güçlü
DetaylıBİLİŞİM SİSTEMLERİNİN PRENSİPLERİ
BİLİŞİM SİSTEMLERİNİN PRENSİPLERİ Derleyen: Prof. Dr. Güngör BAL Bölüm 4 Yazılım: Sistemler ve uygulama yazılımı Prensipler ve Öğrenme hedefleri Sistemler ve uygulama yazılımı bireylerin ve organizasyonların
DetaylıOMNET++ 4.2.2. Ağ Benzetim Yazılımı (Network Simulation Framework) BİL 372 Bilgisayar Ağları. GYTE - Bilgisayar Mühendisliği Bölümü
Bilgisayar Mühendisliği Bölümü OMNET++ 4.2.2 Ağ Benzetim Yazılımı (Network Simulation Framework) BİL 372 Bilgisayar Ağları OMNET++ OMNET++ (Objective Modular Network Testbed in C++), nesneye yönelik (objectoriented)
DetaylıEylül 2007 de v1.0 ı yayınlanan SysML sayesinde endüstri mühendislerinin de ihtiyacı karşılanmış oldu.
1 Yazılımcıların da endüstri mühendislerinin de en büyük ihtiyaçlarının başında ortak modelleme dili ihtiyacı gelir. UML nin (Unified Modeling Language) Kasım 1997 de OMG tarafından yayınlanmasıyla birlikte
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
Detaylı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ı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ıYMT 505-Yazılım Proje Yönetimi Giriş- Temel Kavramlar
YMT 505-Yazılım Proje Yönetimi Giriş- Temel Kavramlar F ı r a t Ü n i v e r s i t e s i Ya z ı l ı m M ü h e n d i s l i ğ i B ö l ü m ü YMT 505-YAZILIM PROJE YÖNETİMİ 1 Bu Haftaki Konular-Temel Kavramlar
Detaylı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ı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ıÖZGÜR YAZILIMLAR İLE J2EE
ÖZGÜR YAZILIMLAR İLE J2EE Buğra Çakır bugra@ibrahimcakir.com Seminer İçeriği 1. İki ve üç katmanlı yazılım mimarileri 2. Java ve J2EE platformu 3. Özgür yazılımlar ile J2EE 4. Eclipse, Lomboz ve JBoss
DetaylıBİÇİMSEL YÖNTEMLER (FORMAL METHODS) Betül AKTAŞ Suna AKMELEZ
BİÇİMSEL YÖNTEMLER (FORMAL METHODS) Betül AKTAŞ 14011021 Suna AKMELEZ 14011050 Biçimsel Yöntemler Nedir? Nerede Kullanılır? Biçimsel Tasarım Biçimsel Yöntemlerin Yararları Biçimsel Yöntemlerin Zayıf Yönleri
DetaylıED Model Yapıtaşı Haberleşme Altyapısı
ED Model Yapıtaşı Haberleşme Altyapısı Aysun Sancar Yılmaz, Betül Baydemir Çankaya, Hande Doğan Köseoğlu REHİS-EHGYM, Aselsan A.Ş., Ankara {asancar,baydemir,hdogan}@aselsan.com.tr Özet. Elektronik Destek
Detaylı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ıBitirme Ödevi Sunumu PLATFORM BAĞIMSIZ BENZETİM PROGRAMI. Danışman : Yrd.Doç.Dr. D Feza BUZLUCA Gökhan Akın ŞEKER
Bitirme Ödevi Sunumu BERKELEY RISC I işlemcisi İÇİN PLATFORM BAĞIMSIZ BENZETİM PROGRAMI Danışman : Yrd.Doç.Dr. D Feza BUZLUCA 0495 0639 Sunum Planı Ödev konusu hakkında Berkeley RISC I işlemcisi hakkında
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İ 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ıİŞLETİM SİSTEMİ KATMANLARI (Çekirdek, kabuk ve diğer temel kavramlar) Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu
İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, kabuk ve diğer temel kavramlar) Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu bulunmaktadır; 1. Performans: İşletim sistemi, makine
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 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ı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 Bilgisayar Organizasyonu ve Mimarisi BİM-312 3/I 3+0+0 3 4 Dersin
DetaylıVERİ TABANI YÖNETİM SİSTEMLERİ
VERİ TABANI YÖNETİM SİSTEMLERİ Veri Tabanı Nedir? Sistematik erişim imkânı olan, yönetilebilir, güncellenebilir, taşınabilir, birbirleri arasında tanımlı ilişkiler bulunabilen bilgiler kümesidir. Bir kuruluşa
DetaylıGoogle Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi
Google Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi Mehmet Karakoç Akdeniz Üniversitesi Bilgisayar Bilimleri Araştırma ve Uygulama Merkezi 28.11.2014 inet-tr'14 : GWT AUFaculty Project 1 İçerik Giriş
Detaylı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ıSanal Ortamda Nesnelerin Haptic Kol ile Manipülasyonu. Sevcan AYTEKİN Alpaslan DUYSAK
Sanal Ortamda Nesnelerin Haptic Kol ile Manipülasyonu Sevcan AYTEKİN Alpaslan DUYSAK İÇERİK Amaç Sanal Ortam Sanal Ortam Aygıtları Uygulama Alanları Üç Boyutlu Modelleme (3B) OpenGL, 3Dmax Sanal Ortamın
DetaylıDigital Signage ( Elektronik Bilgilendirme Görüntü Sistemi) Digital Signage Nedir?
Digital Signage Nedir? Digital signage, (Elektronik Bilgilendirme Sistemi) tek bir merkezden birden fazla uzak görüntü biriminin yönetilmesidir. Günümüzde kurumsal firmalar, bankalar, oteller, turizm firmaları,
DetaylıEge Üniversitesi Uluslararası Bilgisayar Enstitüsü
Hidayet Burak SARITAŞ Geylani KARDAŞ Ege Üniversitesi Uluslararası Bilgisayar Enstitüsü 4 Kasım 2010 Akıllı kartlar Amaç Model Güdümlü Uygulama Geliştirme Platform Bağımsız Akıllı Kart Modeli Platforma
DetaylıYRD. DOÇ. DR. AGÂH TUĞRUL KORUCU Kernel çeşitleri
YRD. DOÇ. DR. AGÂH TUĞRUL KORUCU agah.korucu@gmail.com Kernel çeşitleri Tek Parçalı Çekirdek (Monolithic Kernel) Mikro Çekirdek (Microkernel) Melez Çekirdek (Hybrid Kernel) Dış Çekirdek (Excokernel) Tek
DetaylıMobil Uygulama Geliştirmeye Giriş (ISE 407) Ders Detayları
Mobil Uygulama Geliştirmeye Giriş (ISE 407) Ders Detayları Ders Adı Ders Dönemi Ders Uygulama Laboratuar Kredi AKTS Kodu Saati Saati Saati Mobil Uygulama Geliştirmeye Giriş ISE 407 Her İkisi 3 0 0 3 5
DetaylıÜst Düzey Programlama
Üst Düzey Programlama XML 1 XML XML (Extensible Markup Language) verileri belirli yapıda tutmak için kullanılan bir işaretleme dilidir. Bu yapı bilindiği için verinin istenildiğinde kullanılmasını, değiştirilmesini
DetaylıYMT 312-Yazılım Tasarım ve Mimarisi Yazılım Mühendisliği ne Giriş
YMT 312-Yazılım Tasarım ve Mimarisi Yazılım Mühendisliği ne Giriş F ı r a t Ü n i v e r s i t e s i Ya z ı l ı m M ü h e n d i s l i ğ i B ö l ü m ü Bu Haftaki Konular Yazılım Nedir?........4 Yazılım Mühendisliği.......15
DetaylıBilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ
Ders 10 LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ LINUX de Programlama LINUX işletim sistemi zengin bir programlama ortamı sağlar. Kullanıcılara sistemi geliştirme olanağı sağlar.
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İ 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ıİŞLETİM SİSTEMLERİNE GİRİŞ - 2. Sistem, sistem kaynaklarını belli bir hiyerarşi içinde kullanıcının hizmetine
İŞLETİM SİSTEMLERİNE GİRİŞ - 2 Kaynakların Paylaşımı (Resource Sharing) Sistem, sistem kaynaklarını belli bir hiyerarşi içinde kullanıcının hizmetine sunar. Bir işletim sisteminde paylaşılan kaynaklar
DetaylıGeleneksel Yazılım Mühendisliğinden Alana Özel Yazılım Mühendisliğine Doğru
Geleneksel Yazılım Mühendisliğinden Alana Özel Yazılım Mühendisliğine Doğru DR. ÇAĞATAY ÇATAL TÜBİTAK-UEKAE Bilişim Teknolojileri Enstitüsü cagatay.catal@bte.mam.gov.tr www.cagataycatal.com İçerik 1. Giriş
DetaylıIBM Analytics Professional Services (IBM Analitik Profesyonel Hizmetleri)
Hizmet Tanımı IBM Analytics Professional Services (IBM Analitik Profesyonel Hizmetleri) Bu Hizmet Tanımında, IBM tarafından Müşteriye sağlanan Bulut Hizmeti açıklanır. Müşteri, sözleşmeyi imzalayan taraf
DetaylıYazılım Mühendisliği Bölüm - 3 Planlama
1 Yazılım Mühendisliği Bölüm - 3 Planlama 2 3 4 Planlama 5 Yazılım geliştirme sürecinin ilk aşaması Başarılı bir proje geliştirebilmek için projenin tüm resminin çıkarılması işlemi Proje planlama aşamasında
Detaylı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ıÖğretim planındaki AKTS Ulusal Kredi
Ders Kodu Teorik Uygulama Lab. Yazılım Gereksinimleri Mühendisliği Ulusal Kredi Öğretim planındaki AKTS 481052000001303 3 0 0 3 5 Dersin Yürütülmesi Hakkında Bu ders gerçek dünya problemlerinin analiz
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 Mustafa Özpınar Aselsan A.Ş. SST-MD-YMM, 06172, Yenimahalle, Ankara mozpinar@aselsan.com.tr Özet. Yazılım ürün hattı, belli
DetaylıModel Tabanlı Geliştirmede Çevik Süreç Uygulanması
Model Tabanlı Geliştirmede Çevik Süreç Uygulanması Model Tabanlı Geliştirme Model nedir? Object Management Group Model Tabanlı Mimari «Herşey modeldir» Model Kaynak kod MDD Avantajları Daha hızlı yazılım
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 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ıPardus Temel Seviye Kullanıcı Eğitimi. Sürüm 1.0 13 Ağustos 2012 Pardus 2011.3K Fatih Akıllı Tahta sürümüne göre hazırlanmıştır.
Pardus Temel Seviye Kullanıcı Eğitimi Sürüm 1.0 13 Ağustos 2012 Pardus 2011.3K Fatih Akıllı Tahta sürümüne göre hazırlanmıştır. Bu bölümde, Pardus projesinin ne şekilde ortaya çıktığı ve amaçları açıklanacaktır.
Detaylı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ı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ı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ıTÜMLEŞİK MODELLEME DİLİ. UML (Unified Modeling Language)
TÜMLEŞİK MODELLEME DİLİ UML (Unified Modeling Language) UML NEDİR? Yazılım ve donanımların bir arada düşünülmesi gereken, Zor ve karmaşık programların, Özellikle birden fazla yazılımcı tarafından kodlanacağı
Detaylı9.DERS Yazılım Geliştirme Modelleri
9.DERS Yazılım Geliştirme Modelleri 1 Yazılım Geliştirme Yaşam Döngüsü ve Modeller Herhangi bir yazılımın, üretim aşaması ve kullanım aşaması birlikte olmak üzere geçirdiği tüm aşamalar olarak tanımlanabilir.
DetaylıYazılım Mühendisliği Bölüm - 2 Yazılım Geliştirme Yaşam Döngüsü. Cengiz GÖK
Yazılım Mühendisliği Bölüm - 2 Yazılım Geliştirme Yaşam Döngüsü Cengiz GÖK 1 Gerçek Hayatta Program Geliştirme Gereksinim Analizi Sistemin İdamesi Sistem Tasarımı Teslim Program Tasarımı Sistem Testi Program
DetaylıSynergi Gas. Gelişmiş Hidrolik Modelleme. Doğalgaz dağıtım şebekeleri için optimizasyon ve simülasyon yazılımı ARCUMSOFT
Synergi Gas Gelişmiş Hidrolik Modelleme Doğalgaz dağıtım şebekeleri için optimizasyon ve simülasyon yazılımı ARCUMSOFT 1 Giriş Doğalgaz dağıtım ve iletim şebekelerinde günlük ve uzun dönemli işletme ihtiyaçlarının
DetaylıTEKNİK ÇÖZÜMLERİ HAZIRLAMA REHBERİ
TEKNİK ÇÖZÜMLERİ HAZIRLAMA REHBERİ Temmuz 2017 1 GİRİŞ 1.1 REHBERİN AMACI ve KAPSAMI Kamu BİT Projeleri Rehberi nin eki olarak hazırlanan bu alt rehber, BİT yatırım projesi teklifi yapan kamu kurum ve
DetaylıVERİ TABANI SİSTEMLERİ
VERİ TABANI SİSTEMLERİ 1- Günümüzde bilgi sistemleri Teknoloji ve bilgi. 2- Bilgi sistemlerinin Geliştirilmesi İşlevsel Gereksinimleri 1.AŞAMA Gereksinim Belirleme ve Analiz Veri Gereksinimleri Gereksinimler
Detaylı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ı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ı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ı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 YAZILIM MÜHENDİSLİĞİ BG-411 4/1 3+0+0 3+0 5 Dersin Dili : TÜRKÇE Dersin Seviyesi
DetaylıYAZILIM MÜHENDİSLİĞİ TEKNOLOJİ FAKÜLTESİ / BİLGİSAYAR MÜHENDİSLİĞİ
YAZILIM MÜHENDİSLİĞİ TEKNOLOJİ FAKÜLTESİ / BİLGİSAYAR MÜHENDİSLİĞİ İÇERİK Yazılım, Yazılım Türleri Yazılım Mühendisliği Yazılım Geliştirmede Süreç Yönetimi Yazılım Geliştirme Süreç Modelleri Yazılım Kalitesi
DetaylıBMH-405 YAZILIM MÜHENDİSLİĞİ
BMH-405 YAZILIM MÜHENDİSLİĞİ Sistem Mühendisliği İşlevleri Dr. Musa ATAŞ Siirt Üniversitesi Bilgisayar Mühendisliği musa.ataş@siirt.edu.tr Ref list: Dr. Erhan SARIDOĞAN İçerik Sistem Mühendisliği nedir?
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 Bilgisayarın Yapısı Donanım (Hardware): Bir bilgisayara genel olarak bakıldığında; Kasa, Ekran, Klavye, Fare, Yazıcı, Hoparlör,
DetaylıEYLÜL 2012 İŞLETİM SİSTEMLERİ. Enformatik Bölümü
EYLÜL 2012 İŞLETİM SİSTEMLERİ İÇERİK 2 2 Yazılım nedir? Yazılım türleri nelerdir? İşletim sistemi nedir? İşletim sisteminin özellikleri İşletim sistemleri Unix Linux Windows Mac OS Android Yazılım Yazılım(Software),
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 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ı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ıMATLAB A GİRİŞ. EE-346 Hafta-1 Dr. Ayşe DEMİRHAN
MATLAB A GİRİŞ EE-346 Hafta-1 Dr. Ayşe DEMİRHAN MATLAB Teknik ve bilimsel hesaplamalar için yazılmış yüksek performanslı bir yazılım geliştirme aracı MATrix LABoratory (MATLAB) Boyutlandırma gerekmeyen
DetaylıBilgi Sistemleri Tasarımı (SE 503) Ders Detayları
Bilgi Sistemleri Tasarımı (SE 503) Ders Detayları Ders Adı Ders Kodu Dönemi Ders Saati Uygulama Saati Laboratuar Saati Kredi AKTS Bilgi Sistemleri Tasarımı SE 503 Her İkisi 3 0 0 3 7.5 Ön Koşul Ders(ler)i
DetaylıMOBIL UYGULAMA GELIŞTIRME
MOBIL UYGULAMA GELIŞTIRME PELIN YILDIRIM FATMA BOZYIĞIT YZM 3214 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Bu Derste Android Nedir ve Uygulama Temelleri Android Uygulama Bileşenleri
DetaylıMobil Uygulama Geliştirmeye Giriş (ISE 407) Ders Detayları
Mobil Uygulama Geliştirmeye Giriş (ISE 407) Ders Detayları Ders Adı Ders Dönemi Ders Uygulama Laboratuar Kredi AKTS Kodu Saati Saati Saati Mobil Uygulama Geliştirmeye Giriş ISE 407 Her İkisi 3 0 0 3 5
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 KONU BAŞLIKLARI 1. Yazılım Mimarisi nedir? 2. Yazılımda Karmaşıklık 3. Üç Katmanlı Mimari nedir? 4. Üç Katmanlı Mimari
Detaylıİşletim Sistemleri; İÇERİK. Yazılım BİLGİ TEKNOLOJİLERİ VE UYGULAMALARI 19.10.2015. 3 Yazılım Türleri
İÇERİK 2 BİLGİ TEKNOLOJİLERİ VE UYGULAMALARI İşletim Sistemleri ÖĞR. GÖR. HASAN ALİ AKYÜREK Yazılım nedir? Yazılım türleri nelerdir? İşletim sistemi nedir? İşletim sisteminin özellikleri İşletim sistemleri
Detaylı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ı