Çok Çekirdekli Sistemlerin Yazılım Kalitesi Üzerine Etkileri

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

Download "Çok Çekirdekli Sistemlerin Yazılım Kalitesi Üzerine Etkileri"

Transkript

1 Çok Çekirdekli Sistemlerin Yazılım Kalitesi Üzerine Etkileri Effects of MultiCore Systems on Software Quality Tolga, Ovatman Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi, İstanbul Feza, Buzluca Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi, İstanbul Özet Çok çekirdekli işlemcilerin ortaya çıkması ile birlikte paralel yazılımlar, yüksek başarımlı hesaplama alanının yanında uygulama yazılımları alanında da kullanılmaya başlanacaktır. Paralel çalışmayı temel alan donanımların günümüz yazılım mühendisliği ilkeleri ve nesneye dayalı programlama gibi kavramlar temel alınarak üretilen yazılımlarla birlikte kullanılması yeni zorluklar ortaya çıkaracak ve yazılım kalitesi ölçütlerinde de farklılaşmaya neden olacaktır. Bu çalışmada donanımda oluşan bu değişimin yazılım dünyası üzerine etkileri ve bu etkiler karşısında yapılması gerekenler, nesneye dayalı yazılımlar çerçevesinde incelenmiş; günümüz yazılımlarının çok çekirdekli platformlara uyarlanması, çok çekirdekli platformlar için yazılım tasarımında dikkat edilmesi gerekenler ve paralel yazılımların kalite ölçütleri üzerine yapılabilecek çalışmalara değinilmiştir. Abstract With the emergence of multicore processors, parallel software is beginning to be used in the domain of application software in addition to high performance computing software. The use of parallel processing hardware with current software engineering techniques and principles, like object oriented programming, will surely produce new challenges in area and change the way we look at quality criterions. In this work, the effects of this change in hardware and possible practices on dealing with the effects are discussed from the object oriented software perspective. Discussions include adaptation of current software to multicore platforms, important points when designing software for multicore systems and possible research on quality criterions of parallel software. başvurulan konulardan biridir. Paralel bilgi işlemeyi sağlamanın en çok kullanılan yolu birden çok işlemciye sahip bilgisayar sistemlerinin kullanılmasıdır. Birkaç yıl öncesine kadar çok işlemcili sistemler yüksek başarımlı hesaplamada kullanılan, birden fazla fiziksel işlemcinin özel donanımlar ve yazılımlar kullanılarak aynı anda işletilmesine dayanırdı. Çok çekirdekli işlemciler olarak da anılan, kırmık düzeyinde çok işlemcili sistemler (Chip level multiprocessors-cmp), tek bir fiziksel kırmık içerisine birden fazla işlemcinin yerleştirilmesiyle oluşturulmuşlardır. Bu tarz işlemcilerde farklı mimariler kullanılmakla birlikte, Şekil 1 de de görüldüğü gibi kendi cep belleğine(cache memory) ve ortak bir cep belleğe sahip iki işlem biriminin bir arada bulunması son yıllarda tercih edilen bir donanım çeşididir. Çok çekirdekli işlemcilerin en basit haliyle gelişmeye başladığı günümüzde çift çekirdekli işlemciler çok görevli işletim sistemlerinde gerektiği performansı sağladıkları için programlama ortamının değişmesine büyük oranda ihtiyaç duyulmadı. Gelecekte çekirdek sayısının artmasıyla çok görevli işletim sistemlerinde dahi performans eksikliği hissedilmeye başlanacaktır. Bunun nedeni kullanıcının hiçbir zaman elde bulunan işlemci sayısı kadar görev üretemeyecek olmasıdır ve bu durumun sonucu olarak işlemcilerin bir kısmı tam performansla kullanılamayacaktır. MİB Çekirdeği ve 1. Düzey cep bellekler MİB Çekirdeği ve 1. Düzey cep bellekler 1. Giriş Paralel bilgi işleme, bilgisayar teknolojisinin kullanılmaya başlandığı ilk yıllardan itibaren gündemde olan ve yüksek başarımlı hesaplamada en sık Veri yolu arayüzü ve 2. Düzey cep belekler

2 Şekil 1: Tipik bir çift çekirdekli işlemci mimarisi Birçok çekirdekli hesaplama (manycore computing) denilen onlarca çekirdek içeren işlemcilerin kullanıldığı aşamada paralelleştirilebilir programlama öğelerinin günümüzdekinden çok daha etkin biçimde belirlenmesi ve yazılımların yeni platformlara göre tasarlanması gerekmektedir. Microsoft un ManyCore[1] zirvesinde de tartışıldığı üzere bu konuyla ilgili yeterince çalışma yapılmamıştır ve gelecekte önemli sorunlarla karşılaşılması sonucunda programlama sürecinin büyük değişimlere uğraması beklenmektedir. Çok çekirdekli işlemciler kendileriyle birlikte paralel programlamaya yeni modeller getirmemiş, çoğunlukla bu tür işlemcilerde OpenMP ya da MPI gibi bilinen paralel programlama modellerinin kullanılması tavsiye edilmiştir. Çok çekirdekli işlemciler için ortaya atılmış bir programlama modeli bir istisna haricinde henüz literatürde bulunmamaktadır. Ease[2] ismindeki bu programlama modeli, çok çekirdekli sistemlerin ortaya çıkmasından daha önce oluşturulmuş bir modeldir. Bu model, çok çekirdekli işlemciler için tasarlanmış olmaktan ziyade bu ortama uygulanabilir bir modeldir. Görüldüğü üzere donanım dünyasında ortaya çıkan bu değişime yazılım dünyası tarafından henüz tatminkar bir cevap gelmemiştir. Bu nedenle yakın gelecekte yazılım dünyasının donanımdaki bu yeni yönelişe ayak uydurmaya başlaması beklenmektedir. Donanımsal gelişimlerin yazılımı etkilemesi ve bazı yazılım kavramlarının zaman içinde öneminin artması geçmişte eşine rastlanan durumlardır. Örneğin nesneye dayalı ve bileşen tabalı yazılım geliştirme yöntemlerinin önem kazanması, donanım alanında yaşanan gelişmelerle mümkün olmuştur. Programlama sürecinde yaşanacak değişimler daha önceleri ön planda değerlendirilmeyen, yazılımların paralel ortamlardaki kalite ölçütlerinin daha yoğun bir biçimde ele alınmasına neden olacaktır. Günümüzde yaygın biçimde kullanılan nesneye dayalı yazılım mühendisliği prensiplerinin paralel ortamlar için gözden geçirilmesi ve geçerliliklerinin sınanması gerekmektedir. Ayrıca günümüzde kullanılan kalite değerlendirme ölçütlerinin de paralel çalışmayla olan ilişkisi önem kazanacak konulardandır. Bu çalışmada, yukarıda sözü edilen yazılım dünyasında beklenen bu değişimin yazılım kalitesi üzerine etkileri tartışılacak ve bu etkileri en etkin biçimde ele alabilmek için yapılması gereken çalışmalar üzerine fikir yürütülecektir. Çalışmanın bölümleri şu şekilde özetlenebilir. İlk bölümde çok çekirdekli işlemci teknolojisiyle ilgili kısa bir bilgi verilerek bu teknolojinin gelecekte ortaya çıkartacağı problemler hakkında kısaca görüş belirtilmiştir. İkinci bölümde paralel sistemlerde öne çıkacak yazılım kalitesi kıstasları sıralanacaktır. Üçüncü bölüm, paralel yazılımlarda kaliteyi arttırabilmek için yapılması gereken çalışmaları içermektedir. Sonuç bölümünde ise çalışma boyunca yürütülen fikirler üzerine çok çekirdekli sistemler için üretilecek yazılımların kalitesini korumak ve sağlamak amacıyla yapılacak araştırma çalışmaları için bir yol haritası çizilecektir. 2. Çok çekirdekli Sistemlerde Nesneye Dayalı Yazılım Kalitesi Yazılım kalitesi, kavram olarak, terimin kullanıldığı ortamdan ortama değişen farklı tanımlara sahiptir. Bunlar arasında en üretken (generic) yapılmış tanımlardan biri Gerald Weinberg in Kalite bir kişi için katma değer olarak görülebilecek her şeydir tanımıdır[3]. Bu tanım kaliteyi değerlendireceklerin ve bu kişilerin kullanacağı değerlerin belirlenmesi gerekliliğini doğurur. Çok çekirdekli sistemlerin yazılımların üzerinde çalışacağı platform olarak kullanılmaya başlanması birçok yeni değer ortaya çıkartacağı gibi eskiden değer olarak görülen bazı kavramların da değişimine neden olacaktır. ISO 9126 standardına göre[4] 6 temel kalite karakteristiği bulunur: Fonksiyonellik Güvenilirlik Kullanılırlık Verimlilik Bakıma elverişlilik (Maintainability) Taşınırlık (Portability) Çok çekirdekli işlemcilerden önce de paralel yazılımların kalitesi üzerine çalışmalar yapılıyordu. Çok çekirdekli işlemcilerin son kullanıcılar tarafından satın alınabilir hale gelmesiyle önceleri daha çok bilimsel hesaplamaya yönelik, modern yazılım mühendisliği tekniklerini çok fazla kullanmayan çalışmalar, çok çekirdekli platformlar için üretilen uygulama yazılımları için fazla anlam taşımamaktadır. Genel kullanım yazılımlar için paralel yazılım geliştirmenin gelişmesiyle birlikte nesneye dayalı yazılım geliştirme için de kalite kavramının değişeceği açıktır. Bu iki dünyanın birleşmesiyle birlikte güvenilirlik, verimlilik, bakıma elverişlilik ve taşınırlık kalite karakteristikleri öne çıkacaktır. Nesneye dayalı yazılımların paralel donanımlarda kullanımının artmasından en çok etkilenecek kalite karakteristiği güvenilirliktir. Bunun nedeni paralellikle birlikte yazılımların çalışma zamanında önem kazanan

3 zaman alanının ortaya çıkardığı kararsızlık(nondeterminism) durumlarıdır. Yazılımın çalışırken göstereceği alternatif çalışma biçimleri zaman içinde yazılım modüllerin çalıştırılma sıralarına ve eşgüdümlerine bağımlı hale gelecektir. Bunun sonucu olarak yazılımın doğru olarak sonlandığı çalışma zamanı alternatifleri, zaman alanının sürece eklenmesiyle birlikte, geçmişe oranla çok daha karmaşık hale gelecektir. Güvenilirlik, sağlanması oldukça güçleşen bir kalite karakteristiği olmakla birlikte verimlilik paralelleştirme kavramının ana amacı olarak önemini arttıracaktır. Amdahl a göre bütün programlar paralellik kavramını aynı oranda kullanmazlar. Bu noktada paralelleştirmenin amacı eklenen işlem gücüne karşılık en yüksek verimi alabilmektir. Bu noktada yazılım tasarımı sürecinde yazılımın ne kadar parçalandığı ve kullanılan tasarım ilkelerinin paralelliğe etkisinin bilinmesi önem kazanmaktadır. Verimlilik ve güvenilirlik daha çok çalışma zamanı(dolayısıyla kullanıcıya dönük) kalite karakterleri olmakla birlikte, bakıma elverişlilik ve taşınırlık daha çok yazılım geliştirme sürecine yönelik karakteristiklerindendir. Yazılımın geliştirilmesi esnasında zaten yeterince zor kavranan paralelleştirme kavramının bakım sürecinde yeni sorunlar doğurması kaçınılmazdır. Paralelleştirme açısından taşınırlık kavramı çok boyutlu bir kalite karakteristiğidir. Bir yandan taşınabilirlik eski yazılımların etkinliğini koruyacak bir biçimde çok çekirdekli platformlara aktarılabilmesi anlamına gelirken diğer yandan paralel yazılımların farklı işlemci mimarilerinden ve programlama modellerinden bağımsız olarak üretilebilmesi durumu söz konusudur. Nesneye dayalı yazılımların paralel sistemlerde kullanılması konusundaki en eski çabalardan biri paralel yazılım tasarımında kullanılabilecek nesneye dayalı modelleme teknikleri konusundadır. Parse projesi dâhilinde I. Gorton işlem çizgelerine(process graphs) dayalı bir yöntem önermişlerdir[5]. Bu çalışmada ayrıca zamanlı iletişim yollarının ve tampon(buffer) belleklerin sistemlerde kullanımını göstermekte elle çizilen basit çizenekler kullanılmıştır. Bu çalışmadan bir yıl sonra UML geliştirilmeye başlamış ve nesneye dayalı yazılım modellemenin resmi olmayan standardı haline gelmiştir. Bu noktada işlem çizgelerine gerek kalmamış ve benzer çalışmalar UML ile yapılmaya başlanmıştır. Örneğin, Yücesan,E. nin çalışmasında, dağıtılmış ve paralel uygulamalarda performans modellemesine olanak verecek UML eklentileri tasarlanmıştır[6]. Sadece modelleme alanında çalışmalar yapılmamış MPI nın nesneye dayalı paralel ortamlara uygulanması[7] ve yeni programlama modellerin oluşturulması[8] konusunda çalışmalar yapılmıştır. Baudel in çalışmasında Nesneye Dayalı bir SPMD(tek işlem-çok veri) modeli ProActive nesneleri kullanılarak önerilmiştir. Aktif nesneler[9], nesneye dayalı paralel programlamanın en iyi tanımlanmış ve etkileyici örneklerinden biridir. Bu nesnelerde metotların çalıştırılması metot çağrısından ayrılmış, böylece eş zamanlı çalışma yetenekleri geliştirilmiş ve nesnelere erişimde eşgüdüm basitleştirilmiştir. Bu daha çok nesneye dayalı paralel yazılımlarda kullanılabilecek bir tasarım kalıbı olarak görülebilir. Bunun gibi birçok kalıp[10] zaman içinde ortaya çıkmıştır, fakat özellikle paylaşılan bellek kullanan çok çekirdekli işlemcili platformlara özel tasarım kalıplarının oluşturulması gerekmektedir. Nesneye dayalı yazılım mühendisliği ile paralel sistemlerin çok çekirdekli işlemciler perspektifinde bir araya getirilmesinin gerekliliği açıktır. Unutulmaması gereken, nesneye dayalı yazılım geliştirme gibi birçok kavramın, kullanımlarının yaygınlaşmasından çok önceleri bilindiği ve ortaya çıkan donanımsal gelişmeler sonucunda yaygınlaşmasının yaşandığıdır. Bu nedenle bir başka donanımsal evrimin yaşandığı günümüzde elimizde bulunan yazılım kalite ölçütlerinin yeni platformlardaki özelliklerinin incelenmesinde ve gerekli düzenlemelerin yapılmasında yarar vardır. 3. Paralel Sistemlerde Nesneye Dayalı Yazılım Kalitesinin Arttırılması Çok çekirdekli işlemcilerin yaygınlaşmasının ardından yazılıma yönelik üzerinde iyileştirme yapılabilecek alanlar aşağıdaki gibi sıralanabilir: Derleyici ve aracı katman Programlama Dilleri ve Modelleme Aracı yazılımlar ve yazılım kütüphaneleri Yardımcı uygulamalar Bu alanlardan ara katmanlar ve derleyiciler ile yazılım modelleri öne çıkmaktadır. Bu iki alanda çalışılması durumunda çok çekirdekli sistemlerin etkileri daha etkin biçimde ele alınacaktır. Üstelik tasarım alanında yapılacak iyileştirmeler yazılım üretim sürecinde daha erken aşamalarda gerçekleştirilmiş olacaktır. Ara katman ve derleyiciler üzerine yapılacak iyileştirmeler ise yazılım üreticisinden bağımsızlık sağlayacaktır. Bu iki alanın yazılımların çok çekirdekli işlemcilere uyarlanması konusunda en etkili ve önemli rollere sahip olacakları açıktır. Öte yandan yazılımın tasarlanması ve üretilmesi aşamaları birbiriyle iç içedir ve birinde

4 yapılan değişiklik diğerini de tetikleyecektir. Bu nedenle iki konuda yapılan çalışmaların birbiriyle eş zamanlı yürümesi daha verimli olacaktır. Yapılabilecek iyileştirmeler yazılım geliştirici tarafından gerçekleştirilebileceği gibi işletim sistemi, sanal makineler gibi ara katman yazılımları tarafından otomatik olarak da gerçekleştirilebilir. Yazılımcının paralelleştirme kavramıyla gereğinden fazla ilgilenmesi istenmeyen bir durum olsa da gerektiği noktalarda yazılım modeli ve/veya yazılımın kendisi üzerinde yapacağı ek açıklama (annotation)lar ile derleyiciye ve çalışma zamanına yönelik yönlendirmeler yapabilir. Nesneye dayalı yazılımların tasarım aşamasının ardından oluşturduğu karakteristiğin belirlenmesi ile yazılım tasarımcılarının çok çekirdekli sistemlerde koşacak yazılımların tasarımı konusunda, rehberliğinde hareket edebilecekleri bir disiplin oluşturmaları sağlanabilir. Diğer taraftan gerçekleştirilmesi yeğlenecek olan, gerek derleyici gerek ara katmanların derleme ve çalışma zamanında yapacakları tasarım ve yazılım metrikleri ölçümleriyle paralel çalışma hakkında fikir edinmesidir. Yapılan iyileştirmeler paralelleştiren derleyicilerin gerçekleştirdiği sıradüzensel yazılımların paralel hale dönüştürülme işleminden ziyade günümüzde iplik bazında yapılan zamanlama planlarının nesne bazında gerçekleştirilmesini sağlamaktır. Yazılım dünyası paralel platforma kaydıkça yaşayacağı sorunlar aslında çok çekirdekli sistemlerden önce ortaya çıkmaya başlamışlardır. Örneğin yazılım dünyasında büyük etki yaratan Gamma ve arkadaşlarının tasarım kalıpları[12] isimli çalışmasında bulunan tekil sınıf (Singleton) kalıbında paralel erişimle ilgili bir sorunun ortaya çıktığı görülmüştür. Şekil 2 de ortaya çıktığı ilk hali görülen Java dilinde yazılmış tasarım kalıbı, yazılımlarda kullanılan bir sınıftan tek bir nesne üretilebilmesi ve nesneye erişmek isteyen istemcilere getinstance() metodu ile bu tek sınıfın temin edilmesi prensibi ile çalışmaktadır. Fakat zaman içinde tekil nesneye paralel erişim yapıldığında getinstance() metodunun içerisindeki if koşulunun sınanması esnasında çalışmasının kesilmesi durumunda tekil nesnenin çalışması etkilenecek ve günümüz yazılımlarında sıkça kullanılan bu kalıp hatalı çalışarak yazılım kalitesinin düşmesine sebebiyet verecektir. Tekil nesne kalıbındaki bu problem için zaman içinde çözüm üretilmiş ve sorunlu metodun eş zamanlı erişime uygun şekilde kritik bölge olarak tanımlanmasıyla sorunun ortadan kalktığı görülmüştür. Bu çözüm kalıbın içine uyarlanmış ve tasarım kalıbı bu yeni şekliyle kullanılmaya başlanmıştır. class Singleton { private static Singleton instance; private Singleton() { } public static Singleton getinstance() { if (instance == null) instance = new Singleton(); return instance; } } Şekil 2: Tekil nesne örüntüsünü gerçekleyen bir Java programı Yukarıda açıklanan problemden yola çıkarak yapılacak ana çalışma alanı olarak günümüz yazılımlarının paralel ortamlara aktarılmasıyla ortaya çıkabilecek sorunlar, yazılım kalitesi bağlamında incelenmeli, sorunların günümüzde kullanılan yazılım metrikleriyle ölçülebilirliği ve yazılım kalitesine etkileri biçimsel olarak ölçülmelidir. Edinilen kazanımlar doğrultusunda paralel platformlar için sıfırdan tasarlanan yazılımlarda kalite unsurları gözden geçirilmeli ve yeni kalite unsurlarının bulunması yönünde çalışmalar yapılmalıdır Nesneye Dayalı Yazılımların Çok Çekirdekli Sistemlere Taşınması Günümüze kadar yazılımların paralel dünyaya taşınması yolunda yapılan çalışmalar paralelleştiren derleyiciler (paralellizing compiler) tarafından yapılıyordu. Nesneye dayalı olmayan yazılımlar için pek başarılı olmadığı bilinen bu tür yazılımların genelde yaptığı iyileştirmeler loop unrolling denilen döngülerin bölünüp parçalanarak farklı işlemciler tarafından yürütülmesi gibi iyileştirmelerin uygulanmasını öngörüyordu. Nesneye dayalı yazılımlarda ise bu tür iyileştirmeler, yazılımların üretilmesindeki düşünce tarzının ve dolayısıyla kullanılan yapısallığın farklı olması nedeniyle etkinliğini yitirir. Önceki bölümlerde saydığımız nedenlerden dolayı zaman içerisinde paralel sanal makineler gibi paralel çalışmaya dayanan ara katman yazılımlarının yaygınlaşacağı öngörülmektedir. Bu noktada, kullanılan ara katman yazılımlarının nesneye dayalı yazılımları çok çekirdekli sistemlerde çalıştırırken önem verecekleri noktaların belirlenmesi üzerinde durulması gerekir. Dağıtık sistemler için bilinen nesne dağıtımı problemi[11], çok çekirdekli sistemlerdeki çekirdek sayısı arttıkça yeniden karşımıza çıkacaktır. Paylaşımlı bellek kullanımı ve iletişim süresinin çok küçük olması gibi farklar yapılan çalışmaların gözden geçirilmesini gerektirmektedir. Aynı zamanda önceki bölümde belirtildiği gibi iplik düzeyi paralellik(threadlevel parallelism) zamanla etkinliğini yitireceğinden

5 nesne düzeyi paralellik(object-level parallelism) konusu öne çıkacaktır. Mevcut tasarım kalıpları[12] temel alınarak günümüzde kullanılan yazılımların taşıdıkları karakteristiklerin belirlenerek, bu karakteristiklerin paralel ortamlardaki davranışı üzerine yapılacak çalışmalar bu konuda anlam kazanacaktır. Bu amaçla günümüz yazılımlarının ortak karakteristiği olarak görülebilecek tasarım kalıplarının, paralel ortamlardaki davranışları incelenmesi ve tasarım kalıplarındaki sınıfların taşıdıkları sorumluluklara göre gruplandırılıp bu grupların paralel çalışmadaki davranışlarının incelenmesi gerekmektedir. Buradan yola çıkarak günümüzde kullanılan yazılımları oluşturan bileşenlerin görevleri ve sağladıkları temel servisler incelenip, ara katman tasarımcılarının paralel ortamlarda yazılım karakteristiğine uygun iyileştirmeler yapmaları sağlanabilir. Örneğin yukarıda da anılan tekil sınıflar gibi, yazılımlarda bulunan aracı, kontrolcü, önyüz nesneleri gibi farklı yapıların, ara katman tarafından eş zamanlı güdüm konusunda nasıl yönetilmesi ve nesne dağıtımlarının nasıl yapılması gerektiğine yönelik çalışmalar yapılması anlamlı olacaktır Çok Çekirdekli Platformlarda Koşan Nesneye Dayalı Yazılımların Kalite Kriterleri Bölüm 2.1 deki çalışmalar sonucu edinilen genel bilginin biçimsel biçimde ölçülmesine dayalı çalışmalar varılan sonuçların bilimsel tabana oturtulması açısından önemlidir. Bu bağlamda yazılım tasarımlarında günümüzde kullanılan yazılım metriklerinin[13] çok çekirdekli platformlardaki etkilerinin sınanması gerçekleştirilmelidir. Bu metriklerin çok çekirdekli platformlardaki yazılım kalitesi üzerine yapılacak çalışmalarla birlikte Bölüm 2.1 de belirlenen noktaların metriklerle olan ilgisi belirlenerek günümüz yazılım metriklerinin yeterli ve yetersiz kaldığı noktalar ortaya çıkartılmalıdır. Bu sayede yazılımın tasarım safhasında yapılan biçimsel ölçümlerle, çok çekirdekli çalışma ortamında dikkat edilmesi gereken noktalar ortaya çıkartılarak bu ölçütlerin nesne dağılımına ve paralelleştirilmeye etkileri incelenebilir. Örneğin günümüzde çokça kullanılan bağımlılık (coupling) ölçütlerinin nesne dağılımlarında büyük etkisinin olacağı öngörülebilir. Birbirine daha bağımlı sınıfların nesnelerinin aynı işlemcide çalıştırılarak ileti trafiğinin düşürülmesi yapılacak iyileştirmelerden biri olabilir. Bunun gibi, yazılım içerisinde birçok sınıfla bağımlılığı bulunan denetçi gibi nesnelerin metotlarına ayrılarak ya da kopyaları çıkartılarak işlemcilerde dağıtılmış bir şekilde çalışması uygun olabilir. Bu aşamada yapılacak bir başka çalışma ise var olan yetersiz yazılım metriklerinin paralel yazılımlara uyarlanmasıdır. Örneğin döngüsel karmaşıklık[14] (cyclomatic complexity) metriği buyruksal yazılımlar üzerinde kullanılan etkin bir metriktir fakat paralel programlama için gözden geçirilmesi gerekmektedir. Literatürde döngüsel karmaşıklığın nesneye dayalı yazılımlar için gözden geçirilmesi gibi çalışmalar da bulunmaktadır[15]. Özetle bu tarz çalışmalarla Bölüm 2.1 de belirlenen genel ilkelerin yazılım metrikleriyle biçimsel olarak ifade edilmesi gerçekleştirilebilir Paralel Nesneye Dayalı Yazılımların Tasarımlarının Geliştirilmesi Olası bir başka tür çalışma ise var olan yazılımlardan çok paralel ortamlar için yeni baştan geliştirilen yazılımların kalitesi üzerine yapılabilir. Bu noktada ilk iki aşamada edinilen bilgiler ışığında yazılımın daha tasarlanma aşamasında çok işlemcili platforma uygun bir şekilde oluşturulması için başta UML olmak üzere yazılım tasarım araçlarına yapılması gereken eklentiler ve kullanılabilecek yeni metriklerin oluşturulması üzerine çalışmalar yürütülecektir. Paralel tasarımlara özgü yapıların UML ye uyarlanması yönünde daha önceden yapılan çalışmalar vardır fakat bunlar genellikte stereotype lar gibi var olan UML yapıları kullanılarak paralel ortamların ne derece modellenebileceği üzerinedir. Son safhada yapılması düşünülen çalışma yazılım modelinin oluşturulması sırasında tasarımcının öngördüğü çok çekirdekli çalışma ortamında önemli rol oynayacak yapıların belirtilebilmesi üzerinedir. Bu tür yapılar örneğin sınıf çizeneklerinde nesnelerinin özellikle dağıtılması istenen ya da özellikle dağıtılmadan tek bir kaynakta kalması istenen sınıfların belirtilmesi olabilir. Diğer yandan iletişim çizeneklerinde paralel çalışabilecek metot çağrılarının ve senkronize olması gereken çağrıların belirtilmesini sağlayacak yapıların oluşturulması da bir başka örnektir. Yazılım tasarım alanına zaman eklendiğinde oluşabilecek sonsuz farklı işletim seçeneğinin indirgenmesi ve modellerin biçimsel modelleme ile güvenilirliğinin arttırılması da oluşturulacak yeni model öğelerinde bulundurulması tercih edilebilecek seçeneklerdendir. Çalışma sonunda Bölüm 2.1 de yapılan, yazılımın çalışma zamanına yönelik iyileştirmeler ve Bölüm 2.2 de yapılan bu iyileştirmeleri tetikleyecek tasarım özelliklerinin metrikler yardımıyla algılanması yardımıyla saptanan tasarım özelliklerinin modellenebilmesi için gerekli yapılar geliştirilebilir. 4. Sonuç Donanım dünyasında yaşanan gelişmelerle birlikte yazılım dünyası ile donanım dünyası arasında bir farkın oluşmaya başladığı görülmektedir. Yazılım dünyasının,

6 yeni bir mimari ile geliştirilmeye başlayan donanımları en etkin biçimde kullanması için yazılımlarda ve yazılımları süren ara katman üzerinde bir takım değişikliklerin yapılması gerekmektedir. Donanımsal değişikliklerle birlikte ortaya çıkan paralelleşme kavramı, nesneye dayalı yazılımların tasarlanma, geliştirilme ve çalışma zamanları üzerinde etkisini gösterecektir. Bu etkiler yazılım dünyasının, yazılım kalitesini belirleme ölçütleri üzerinde değişiklikler yaratacağı gibi yeni kalite ölçütlerinin oluşmasında da öncü olacaktır. Yapılan incelemelerin sonucunda yazılımın yaşam süreci içinde çeşitli noktalarda kalitenin arttırılmasına yönelik yapılabilecek çeşitli iyileştirmeler üzerine fikir yürütülmüş ve yapılabilecek çalışmalar ortaya konmuştur. Günümüzde kullanılan yazılımların çok çekirdekli sistemler üzerinde davranışının ve günümüzde kullanılan kalite ölçütlerinin bu tip sistemlerdeki belirleyiciliğinin araştırılması çok çekirdekli sistemlerde kullanılacak yazılımların kaliteleri üzerine yapılacak çalışmalarda atılacak ilk adımlardan olacaktır. Bu sayede çok çekirdekli sistemlere geçiş aşamasında, günümüz yazılımlarının karakteristiği ve yazılım ölçütlerinin eksik ve yetersiz kaldığı alanlar belirlenebilir. Bu da sıfırdan üretilen yazılımlar için oluşturulacak nesneye dayalı paralel yazılım geliştirme standartlarının ve disiplinin kalite odaklı bir biçimde oluşturulmasını mümkün kılacaktır. Concurrent Programming. Proc.Pattern Languages of Programs. [10] Mattson, Timothy G., Sanders, Beverly A. and Massingill, Berna L. Patterns for Parallel Programming. s.l. : Addison-Wesley Professional. [11] Caromel, D. and Henrio, Ludovic., A Theory of Distributed Objects. s.l. : Springer. [12] Gamma, Erich, et al., Design Patterns: Elements of Reusable Object-Oriented Software. s.l. : Addison- Wesley Professional. [13] Chidamber, S. and Kemerer, C., A Metrics Suite for Object Oriented Design. IEEE Transactions on Software Engineering, Vol. 20, pp [14] McCabe, Thomas J. 4, December A Complexity Metric. IEEE Transactions on Software Engineering, Vols. SE-2. [15] Swapan Bhattacharya, Ananya Kanjilal: Code Based Analysis for Object-Oriented Systems. J. Comput. Sci. Technol. 21(6): (2006) 5. Kaynaklar [1] ManyCore Computing Wokshop. [Online] p07/default.aspx. [2] Zenith, S. E., Programming in Ease: Semiotic Definition of the language. New Haven, Connecticut : Yale University. [3] Weinberg, Gerald M., Quality Software Management: Systems Thinking. s.l. : Dorset House Publishing Company. [4] ISO STANDARTLARI KATALOĞU. [Çevrim içi] [5] Gorton, I., Gray, J. P. and Jelly, I. 2, Object-based modeling of parallel programs. IEEE Parallel & Distributed Technology: Systems & Applications, Vol. 3, pp [6] Yücesan, E., Pllana, S. and Fahringer, T. December 8-11, UML Based Modeling of Performance Oriented Parallel and Distributed Applications. Proceedings of the 2002 Winter Simulation Conference. [7] Carpenter, B., et al. 11, MPJ: MPI-like message passing for Java. Concurrency: Practice and Experience, Vol. 12, pp [8] Mintchev, S. and Getov, V Towards portable message passing in Java: Binding MPI. Recent Advances in PVM and MPI, ser. LNCS [9] Lavender, R. Greg and Schmidt, Douglas C Active Object: an Object Behavioral Pattern for

BİL 542 Paralel Hesaplama. Dersi Projesi. MPJ Express Java Paralel Programlama

BİL 542 Paralel Hesaplama. Dersi Projesi. MPJ Express Java Paralel Programlama BİL 542 Paralel Hesaplama Dersi Projesi MPJ Express Java Paralel Programlama Recep Ali YILMAZ 131419106 Fen Bilimleri Enstitüsü Bilgisayar Mühendisliği Bölümü Bilgisayar Mühendisliği Yüksek Lisans Programı

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 İŞ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ı

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ı

Küme Bilgisayarlar. Enabling Grids for E-sciencE. Onur Temizsoylu. Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi ODTÜ, Ankara

Küme Bilgisayarlar. Enabling Grids for E-sciencE. Onur Temizsoylu. Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi ODTÜ, Ankara Küme Bilgisayarlar Onur Temizsoylu ODTÜ, Ankara www.eu-egee.org EGEE and glite are registered trademarks İçerik Neden hesaplamada kümeleme? Kümeleme nedir? Yüksek kullanılabilirlik kümeleri Yük dengeleme

Detaylı

Bulut Bilişim. Ege Üniversitesi Bilgisayar Mühendisliği Web Servisleri

Bulut Bilişim. Ege Üniversitesi Bilgisayar Mühendisliği Web Servisleri Bulut Bilişim Ege Üniversitesi Bilgisayar Mühendisliği Web Servisleri Ediz TÜRKOĞLU 05-07-8509 Özlem GÜRSES 05-07-8496 Savaş YILDIZ 05-07-8569 Umut BENZER 05-06-7670 İ çerik İçerik...2 Bulut Bilişim Nedir?...3

Detaylı

MÜFREDAT DERS LİSTESİ

MÜFREDAT DERS LİSTESİ MÜFREDAT DERS LİSTESİ MÜHENDİSLİK FAK. / BİLGİSAYAR MÜHENDİSL / 2010 BİLGİSAYAR MÜHENDİSLİĞİ Müfredatı 0504101 Matematik I Calculus I 1 GÜZ 4 5 Z 0504102 Genel Fizik I General Physics I 1 GÜZ 4 4 Z 0504103

Detaylı

Bilgisayar Ağları ve Dağıtık Programlama

Bilgisayar Ağları ve Dağıtık Programlama KARADENİZ TEKNİK ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR AĞLARI LABORATUARI Bilgisayar Ağları ve Dağıtık Programlama 1. Giriş Bu deneyde paralel programlama standartlarından olan MPI (Message

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ı

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

T. C. KAMU İHALE KURUMU

T. C. KAMU İHALE KURUMU T. C. KAMU İHALE KURUMU Elektronik İhale Dairesi KALİTE YÖNETİM SİSTEMİ BT Strateji Yönetimi BT Hizmet Yönetim Politikası Sürüm No: 6.0 Yayın Tarihi: 26.02.2015 444 0 545 2012 Kamu İhale Kurumu Tüm hakları

Detaylı

1.Yazılım Geliştirme Metotları 1

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ı

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ı

Windows Mobile İşletim Sistemleri İçin Veri Giriş Yazılımı

Windows Mobile İşletim Sistemleri İçin Veri Giriş Yazılımı Windows Mobile İşletim Sistemleri İçin Veri Giriş Yazılımı Yasin Hınıslıoğlu 1 Mehmet Serdar Güzel 2 1 Ahmet Yesevi Üniversitesi Yönetim Bilişim Sistemleri Bölümü, Ankara 2 Ankara Üniversitesi Bilgisayar

Detaylı

Ders - 1. BİL 221 Bilgisayar Yapısı GİRİŞ. Ders Hakkında. Ders İzlencesi

Ders - 1. BİL 221 Bilgisayar Yapısı GİRİŞ. Ders Hakkında. Ders İzlencesi Ders - 1 BİL 221 Bilgisayar Yapısı GİRİŞ Ders Hakkında Ders İzlencesi Bilgisayar Sınıfları Kişisel Bilgisayarlar$ Genel amaçlı, çok çeşitli yazılımlar$ Performans - maliyet ödünleşmesi hedeflenir$ Sunucular$

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ı

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ı

İŞ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ı

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ı

Bilgisayar İşletim Sistemleri BLG 312

Bilgisayar İşletim Sistemleri BLG 312 Bilgisayar İşletim Sistemleri BLG 312 İşletim Sistemlerine Giriş Bilgisayar Sistemi uygulama programları derleyici editör komut yorumlayıcı işletim sistemi makina dilinde programlar mikroprogram (ROM da)

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ı

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ı

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ı

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ı

İŞ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. 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ı

UHeM ve Bulut Bilişim

UHeM ve Bulut Bilişim UHeM ve Bulut Bilişim Özden AKINCI Ulusal Yüksek Başarımlı Hesaplama Merkezi (UHeM) Bilim ve Mühendislik Uygulamalar Müdürü 11.07.2012 UHeM hakkında Vizyon: Yüksek başarımlı hesaplama, bilgi teknolojileri

Detaylı

TCMB Deneyim Raporu. Kurumsal Java Uygulama Platformu. Sacit Uluırmak. Türkiye Cumhuriyet Merkez Bankası Sistem Araştırma ve Planlama Müdürlüğü

TCMB Deneyim Raporu. Kurumsal Java Uygulama Platformu. Sacit Uluırmak. Türkiye Cumhuriyet Merkez Bankası Sistem Araştırma ve Planlama Müdürlüğü TCMB Deneyim Raporu Kurumsal Java Uygulama Platformu Sacit Uluırmak Türkiye Cumhuriyet Merkez Bankası Sistem Araştırma ve Planlama Müdürlüğü 2007 TCMB made available under the EPL v1.0 30.04.2007 Gündem

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ı

Kablosuz Sensör Ağlar ve Eniyileme. Tahir Emre KALAYCI. 21 Mart 2008

Kablosuz Sensör Ağlar ve Eniyileme. Tahir Emre KALAYCI. 21 Mart 2008 Kablosuz Sensör Ağlar ve Eniyileme Tahir Emre KALAYCI 21 Mart 2008 Gündem Genel Bilgi Alınan Dersler Üretilen Yayınlar Yapılması Planlanan Doktora Çalışması Kablosuz Sensör Ağlar Yapay Zeka Teknikleri

Detaylı

TS EN ISO/IEC 9241-151 Kullanılabilir Arayüz Sertifikası Verilmesi Süreci

TS EN ISO/IEC 9241-151 Kullanılabilir Arayüz Sertifikası Verilmesi Süreci TS EN ISO/IEC 9241-151 Kullanılabilir Arayüz Sertifikası Verilmesi Süreci Nihan Ocak 1, Feride Erdal 2, Prof. Dr. Kürşat Çağıltay 3 1 Orta Doğu Teknik Üniversitesi, Bilişim Sistemleri Bölümü, Ankara 2

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ı

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ı

Akıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların

Akıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların Akıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların bilgilerini saklamalarına, program yüklemelerine izin

Detaylı

Çok İşlemcili Yapılarda Sinyal İşleme Yazılımlarının Geliştirilmesi Uygulaması. Sinan Doğan, Esra Beyoğlu

Çok İşlemcili Yapılarda Sinyal İşleme Yazılımlarının Geliştirilmesi Uygulaması. Sinan Doğan, Esra Beyoğlu Çok İşlemcili Yapılarda Sinyal İşleme Yazılımlarının Geliştirilmesi Uygulaması Sinan Doğan, Esra Beyoğlu ASELSAN A.Ş., REHİS Grubu, Ankara 16 Nisan 2009 1 1 İçerik Sinyal İşleme Yazılımları Çok İşlemci

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ı

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ı

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

Hızlı Uygulama Geliştirme (Rapid Application Development - Rad Model)

Hızlı Uygulama Geliştirme (Rapid Application Development - Rad Model) Yazilim Gelistirme Yöntemleri Farklı uygulama geliştirme görevleri genellikle farklı tasarım sorunları yaratır ve buda yaklaşımların ve modellerin birleşimin birlikte kullanılmasını gerektirir. Bu bölümde

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ı

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ı

NESNEYE YÖNELİK PROGRAMLAMA Unified Modelling Language (UML) Bütünleşik Modelleme Dili

NESNEYE YÖNELİK PROGRAMLAMA Unified Modelling Language (UML) Bütünleşik Modelleme Dili Özlem AYDIN NESNEYE YÖNELİK PROGRAMLAMA Unified Modelling Language (UML) Bütünleşik Modelleme Dili Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü MODEL NEDİR? Model, gerçek dünyadaki bir olayın veya

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ı

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi 1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Donanım performans kriterleri Eş zamanlı çalışma Güç tüketimi Yazılım performans kriterleri

Detaylı

Gezgin Etmen Sistemlerinin Başarım Ölçümü: Benzetim Tekniği

Gezgin Etmen Sistemlerinin Başarım Ölçümü: Benzetim Tekniği Gezgin Etmen Sistemlerinin Başarım Ölçümü: Benzetim Tekniği Gürol Erdoğan 1, Mustafa Yıldız 1, Mehmet Erdem Türsem 2, Selahattin Kuru 1 1 Enformatik Uygulama ve Araştırma Merkezi, Işık Üniversitesi, İstanbul

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ı

IDE4DB Veritabanı Geliştirme Platformu Bitirme Projesi Sunumu

IDE4DB Veritabanı Geliştirme Platformu Bitirme Projesi Sunumu IDE4DB Veritabanı Geliştirme Platformu Bitirme Projesi Sunumu Onur EKER 040970627 Danışman: Yrd. Doç Dr. Feza BUZLUCA Sunum İçeriği Projenin Tanımı Projenin Amacı Projenin Analizi Projenin Çözüm Sunduğu

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

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ı

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ı

Fundamentals of Object-Oriented Programming (COMPE 723) Ders Detayları

Fundamentals of Object-Oriented Programming (COMPE 723) Ders Detayları Fundamentals of Object-Oriented Programming (COMPE 723) Ders Detayları Ders Adı Ders Kodu Dönemi Ders Saati Uygulama Saati Laboratuar Kredi AKTS Saati Fundamentals of Object-Oriented Programming COMPE

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ı

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ı

SOLIDWORKS SIMULATION EĞİTİMİ

SOLIDWORKS SIMULATION EĞİTİMİ SOLIDWORKS SIMULATION EĞİTİMİ Kurs süresince SolidWorks Simulation programının işleyişinin yanında FEA teorisi hakkında bilgi verilecektir. Eğitim süresince CAD modelden başlayarak, matematik modelin oluşturulması,

Detaylı

Rapor Hazırlama Kuralları

Rapor Hazırlama Kuralları Temel Bilgiler 1. Temel Bilgiler Rapor Hazırlama Kuralları Bilgisayar programcılıüı öğrencilerinin hazırlayacakları tüm proje ve bitirme projesiraporlarını bu belgede açıklandığı biçimde hazırlamaları

Detaylı

Büyük Ölçekli Paralel Nükleer Kabuk Modeli Hesaplamaları

Büyük Ölçekli Paralel Nükleer Kabuk Modeli Hesaplamaları Büyük Ölçekli Paralel Nükleer Kabuk Modeli Hesaplamaları Yrd. Doç. Dr. Erdal DİKMEN Süleyman Demirel Üniversitesi Fizik Bölümü Araştırma Grubu: Sündüz Korkmaz (Doktora) Oğuz Öztürk (Yüksek Lisans) Hilal

Detaylı

İş Zekası Sistemi Veriyi Stratejik Bilgiye Dönüştürür

İş Zekası Sistemi Veriyi Stratejik Bilgiye Dönüştürür İş Zekası Sistemi İş Zekası Sistemi İş Zekâsı Sistemi kolay kullanılır, zengin raporlama ve çözümleme yeteneklerine sahip, farklı veri kaynaklarını birleştirir, yöneticilere çok boyutlu, kurumsal bir görüş

Detaylı

BİLGİSAYAR DESTEKLİ TASARIM AUTOCAD DERSİ. 1. HAFTA 27.09.2012 Öğr. Gör. Serkan ÖREN

BİLGİSAYAR DESTEKLİ TASARIM AUTOCAD DERSİ. 1. HAFTA 27.09.2012 Öğr. Gör. Serkan ÖREN BİLGİSAYAR DESTEKLİ TASARIM AUTOCAD DERSİ 1. HAFTA 1 AutoCAD, tüm dünyada başta mühendisler ve mimarlar tarafından kullanılan, dünyaca tanınan yazılım firması Autodesktarafından hazırlanan, bilgisayar

Detaylı

Paralel Programlama Ortamları

Paralel Programlama Ortamları Paralel Programlama Ortamları Elis Soylu ESKİŞEHİR OSMANGAZİ ÜNİVERSİTESİ esoylu@ogu.edu.tr Paralel Programlama Ortamları Paralel Programlama Tanımı İş Parçacığı Tabanlı Yöntemler Java Thread ile Paralel

Detaylı

Eskişehir Osmangazi Üniversitesi, Fen Edebiyat Fakültesi Matematik- Bilgisayar Bölümü, Eskişehir 2

Eskişehir Osmangazi Üniversitesi, Fen Edebiyat Fakültesi Matematik- Bilgisayar Bölümü, Eskişehir 2 Paralel Programlama Ortamları Elis Soylu 1, M. Akçay 2 1 Eskişehir Osmangazi Üniversitesi, Fen Edebiyat Fakültesi Matematik- Bilgisayar Bölümü, Eskişehir 2 Dumlupınar Üniversitesi, Mühendislik Fakültesi,

Detaylı

KULLANILABİLİRLİK TESTLERİ VE UYGULAMALARI

KULLANILABİLİRLİK TESTLERİ VE UYGULAMALARI 6 İnternet sitelerinin kullanıcıların ihtiyaç ve beklentilerini karşılayıp karşılamadığının ve sitenin kullanılabilirliğinin ölçülmesi amacıyla kullanılabilirlik testleri uygulanmaktadır. Kullanılabilirlik

Detaylı

Sistem Programlama. (*)Dersimizin amaçları Kullanılan programlama dili: C. Giriş/Cıkış( I/O) Sürücülerinin programlaması

Sistem Programlama. (*)Dersimizin amaçları Kullanılan programlama dili: C. Giriş/Cıkış( I/O) Sürücülerinin programlaması Sistem Programlama Sistem programlama bilgisayar mühendisliğinin bir alanı olup karmaşık sistemlerin ve bu sistemlerin parçalarının ile ilgilenir. İşletim Sistemlerinin Programlaması Giriş/Cıkış( I/O)

Detaylı

Bilgisayar Mühendisliğine Giriş (COMPE 111) Ders Detayları

Bilgisayar Mühendisliğine Giriş (COMPE 111) Ders Detayları Bilgisayar Mühendisliğine Giriş (COMPE 111) Ders Detayları Ders Adı Ders Kodu Dönemi Ders Saati Uygulama Saati Laboratuar Kredi AKTS Saati Bilgisayar Mühendisliğine Giriş COMPE 111 Güz 2 0 2 3 4 Ön Koşul

Detaylı

Hasan ARMUTLU 1 Muammer AKÇAY 2

Hasan ARMUTLU 1 Muammer AKÇAY 2 Hasan ARMUTLU 1 Muammer AKÇAY 2 1 Uşak Üniversitesi, Karahallı MYO, Bilgisayar Teknolojileri Bölümü, Uşak hasan.armutlu@usak.edu.tr 2 Dumlupınar Üniversitesi, Bilgisayar Mühendisliği Bölümü, Kütahya makcay@dpu.edu.tr

Detaylı

N. Tuğbagül ALTAN AKIN XIX. Türkiye'de İnternet Konferansı 27-29 Kasım 2014 Yasar Üniversitesi İzmir

N. Tuğbagül ALTAN AKIN XIX. Türkiye'de İnternet Konferansı 27-29 Kasım 2014 Yasar Üniversitesi İzmir Bulut Bilişim'de Kişisel Verilerin Güvenli Saklanması ve Mahremiyet Nasıl Sağlanabilir? N. Tuğbagül ALTAN AKIN XIX. Türkiye'de İnternet Konferansı 27-29 Kasım 2014 Yasar Üniversitesi İzmir İçindekiler:

Detaylı

ISO 9001:2015 KALİTE YÖNETİM SİSTEMİ GEÇİŞ KILAVUZU

ISO 9001:2015 KALİTE YÖNETİM SİSTEMİ GEÇİŞ KILAVUZU ISO 9001:2015 KALİTE YÖNETİM SİSTEMİ GEÇİŞ KILAVUZU Dünyada en çok kullanılan yönetim sistemi standardı ISO 9001 Kalite Yönetim Sistemi Standardının son revizyonu 15 Eylül 2015 tarihinde yayınlanmıştır.

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ı

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ı

ERP Uygulama Öncesi Değerlendirme

ERP Uygulama Öncesi Değerlendirme ERP Uygulama Öncesi Değerlendirme ERP standartlarını uygulama baskısı, verimli, pratik, güvenli ve uygulanabilir süreçlerin tasarımına engel olabilir. Birçok uygulama projesinde, iş süreçlerindeki verimlilik,

Detaylı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama Tasarım Şablonları Üst Düzey Programlama-ders02/ 1 FAÇADE ŞABLONU Facade bir nesnedir ve çok büyük kodları, karmaşık sınıfları basitleştirerek birleştirmek ve ortak bir arayüz sağlamak

Detaylı

Sistem ve Yazılım Nedir?

Sistem ve Yazılım Nedir? Sistem ve Yazılım Nedir? Bilgisayar Sistemleri; donanım, yazılım ve kullanıcılardan oluşur. Yazılım sadece belirli bir işlemi yapan bir program değildir. Yazılım belirli bir mantık dahilinde insanlar tarafından

Detaylı

Mobil Uygulama Yazılımlarında Yazılım Metriklerinin Kullanılması

Mobil Uygulama Yazılımlarında Yazılım Metriklerinin Kullanılması Mobil Uygulama Yazılımlarında Yazılım Metriklerinin Kullanılması Using Software Metrics in Mobile Applications Software Dr. Aziz Can Yücetürk Vodafone IT Hizmetleri A.Ş. İstanbul aziz.yuceturk@vodafone.com

Detaylı

Yazılım Mühendisliği Bölüm - 3 Planlama. Cengiz GÖK

Yazılım Mühendisliği Bölüm - 3 Planlama. Cengiz GÖK Yazılım Mühendisliği Bölüm - 3 Planlama Cengiz GÖK 1 Planlama 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ı

Hizmet Odaklı Mimariye Dayanan İş Süreçleri Yönetimi Sistemi

Hizmet Odaklı Mimariye Dayanan İş Süreçleri Yönetimi Sistemi Hizmet Odaklı Mimariye Dayanan İş Süreçleri Yönetimi Sistemi 04.11.2010 Mine Berker IBTech A.Ş. Gündem İş Süreçleri Yönetimi (BPM) Modeli Yaşam Döngüsü 1 BPM e Neden İhtiyaç Duyduk? BPM Çözüm Araçlarının

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ı

ÖZGÜR YAZILIMLAR İLE J2EE

Ö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ı

ArcGIS ile Su Yönetimi Eğitimi

ArcGIS ile Su Yönetimi Eğitimi ArcGIS ile Su Yönetimi Eğitimi http://facebook.com/esriturkey https://twitter.com/esriturkiye egitim@esriturkey.com.tr Kursun Süresi: 5 Gün 30 Saat ArcGIS ile Su Yönetimi Genel Bir platform olarak ArcGIS,

Detaylı

Ünite-3 Bilgisayar Yazılımı. www.cengizcetin.net

Ünite-3 Bilgisayar Yazılımı. www.cengizcetin.net Ünite-3 Bilgisayar Yazılımı Yazılım Kavramı Bilgisayarın belirli bir işi gerçekleştirebilmesi için kullanıcı tarafından her adımda ne yapacağı tarif edilmiş olmalıdır. Yani kullanıcı bilgisayara uygun

Detaylı

Küme Bilgisayarlarda PBS Kuyruk Sistemi

Küme Bilgisayarlarda PBS Kuyruk Sistemi Küme Bilgisayarlarda PBS Kuyruk Sistemi Aslı Zengin asli@ulakbim.gov.tr Ankara, Ekim 2007 www.grid.org.tr İÇERİK Küme Bilgisayar Bileşenleri Küme Bilgisayar Kuyruk Sistemi PBS Kuyruk Sistemi Özellikleri

Detaylı

1 Temel Kavramlar. Veritabanı 1

1 Temel Kavramlar. Veritabanı 1 1 Temel Kavramlar Veritabanı 1 Veri Saklama Gerekliliği Bilgisayarların ilk bulunduğu yıllardan itibaren veri saklama tüm kurum ve kuruluşlarda kullanılmaktadır. Veri saklamada kullanılan yöntemler; Geleneksel

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ı

Statik Kod Analizi. Proceedings/Bildiriler Kitabı. SSE-CMM[3], ISO/IEC 15408 [3] gibi standartlarla. gereklidir.

Statik Kod Analizi. Proceedings/Bildiriler Kitabı. SSE-CMM[3], ISO/IEC 15408 [3] gibi standartlarla. gereklidir. Statik Kod Analizi, Özet, teknolojik cihazlardaki son zamanlarda g, tehdit kolay k -YGYD) ve Anahtar Kelimeler Abstract The use of technological devices in developed software has been increasing in recent

Detaylı

Kurumsal İçerik ve Bilgi Yönetimi Kapsamında Web 2.0 Teknolojileri: Enterprise 2.0

Kurumsal İçerik ve Bilgi Yönetimi Kapsamında Web 2.0 Teknolojileri: Enterprise 2.0 Kurumsal İçerik ve Bilgi Yönetimi Kapsamında Web 2.0 Teknolojileri: Enterprise 2.0 Tolga ÇAKMAK Bilgi ve Belge Yönetimi Bölümü tcakmak@hacettepe.edu.tr On Dokuz Mayıs Üniversitesi Samsun, 2010 İçerik Kurumsal

Detaylı

Onur ELMA TÜRKIYE DE AKILLI ŞEBEKELER ALT YAPISINA UYGUN AKILLI EV LABORATUVARI. Yıldız Teknik Üniversitesi Elektrik Mühendisliği

Onur ELMA TÜRKIYE DE AKILLI ŞEBEKELER ALT YAPISINA UYGUN AKILLI EV LABORATUVARI. Yıldız Teknik Üniversitesi Elektrik Mühendisliği 1 TÜRKIYE DE AKILLI ŞEBEKELER ALT YAPISINA UYGUN AKILLI EV LABORATUVARI SMART HOME LABORATORY FOR SMART GRID INFRASTRUCTURE IN TURKEY Yıldız Teknik Üniversitesi Elektrik Mühendisliği Sunan Onur ELMA 2

Detaylı

BİLİŞİM SİSTEMLERİ MÜHENDİSİ

BİLİŞİM SİSTEMLERİ MÜHENDİSİ TANIM Sistem yaklaşımı ile her türlü işletmenin bilgi sisteminin mevcut teknoloji desteği ile tasarlanması ve en iyi koşullarda çalıştırılması ile ilgilenen kişidir. A- GÖREVLER - Her alandaki işletmenin

Detaylı

MİKROİŞLEMCİ MİMARİLERİ

MİKROİŞLEMCİ MİMARİLERİ MİKROİŞLEMCİ MİMARİLERİ Mikroişlemcilerin yapısı tipik olarak 2 alt sınıfta incelenebilir: Mikroişlemci mimarisi (Komut seti mimarisi), Mikroişlemci organizasyonu (İşlemci mikromimarisi). CISC 1980 lerden

Detaylı

BAŞVURU FORMU ÖRNEK DÖKÜMAN

BAŞVURU FORMU ÖRNEK DÖKÜMAN BAŞVURU FORMU ÖRNEK DÖKÜMAN YILDIZ TEKNİK ÜNİVERSİTESİ TEKNOLOJİ GELİŞTİRME BÖLGESİ TEKNOPARK A.Ş YTÜ TEKNOPARK BİLGİ FORMU Bu formu, YTÜ- TEKNOPARK bünyesinde oluşturmayı düşündüğünüz birim için doldurunuz.

Detaylı

Hazırlayan: Ahmet Alper ÇALIŞKAN Probiz Yazılım Proje Mühendisi

Hazırlayan: Ahmet Alper ÇALIŞKAN Probiz Yazılım Proje Mühendisi İŞLETMELERDE İŞ SÜREÇ YÖNETİMİ (BPM) UYGULAMASI Hazırlayan: Ahmet Alper ÇALIŞKAN Probiz Yazılım Proje Mühendisi Ajanda 1) İş Süreç Yönetimi Nedir? 2) İş Süreç Yönetim Yazılımı 3) Neden İş Süreç Yönetim

Detaylı

T. C. KAMU İHALE KURUMU

T. C. KAMU İHALE KURUMU T. C. KAMU İHALE KURUMU Elektronik İhale Dairesi KALİTE YÖNETİM SİSTEMİ BT Strateji Yönetimi BT Hizmet Yönetim Politikası Sürüm No: 5.0 Yayın Tarihi: 14.07.2014 444 0 545 2012 Kamu İhale Kurumu Tüm hakları

Detaylı

Enerji Yönetimi 11 Aralık 2015. Ömer KEDİCİ

Enerji Yönetimi 11 Aralık 2015. Ömer KEDİCİ Enerji Yönetimi 11 Aralık 2015 Ömer KEDİCİ Tanım Enerji yönetimi ; Planlama, Koordinasyon ve Kontrol gibi birbirinden bağımsız olduklarında etkisiz kalabilecek işlevlerin bir araya gelerek oluşturdukları

Detaylı

Proje/Sipariş/İş Emri (PSI) Bazında Maliyet Analizi

Proje/Sipariş/İş Emri (PSI) Bazında Maliyet Analizi Proje/Sipariş/İş Emri (PSI) Bazında Maliyet Analizi Amaç ve Fayda Bilindiği gibi mamul maliyetleri direkt hammadde (direkt ilk madde ve ambalaj), direkt işçilik ve genel üretim giderlerinden oluşmaktadır.

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ı

ACD TEZGAH İZLEME YAZILIMI

ACD TEZGAH İZLEME YAZILIMI ACD TEZGAH İZLEME YAZILIMI ACD Tezgah İzleme yazılımı altı ana modülden oluşmaktadır. Bu modüller; Yedekleme, Yönetim Paneli, Verimlilik İzleme, Üretim Tanımlamaları, Üretim İzleme, Üretim Raporları 1.

Detaylı

COĞRAFİ BİLGİ SİSTEMLERİ İLERİ SEVİYE EĞİTİMLERİ ARCGIS SCHEMATİCS EĞİTİMİ

COĞRAFİ BİLGİ SİSTEMLERİ İLERİ SEVİYE EĞİTİMLERİ ARCGIS SCHEMATİCS EĞİTİMİ COĞRAFİ BİLGİ SİSTEMLERİ İLERİ SEVİYE EĞİTİMLERİ ARCGIS SCHEMATİCS EĞİTİMİ http://facebook.com/esriturkey https://twitter.com/esriturkiye egitim@esriturkey.com.tr Kursun Süresi: 3 Gün 18 Saat COĞRAFİ BİLGİ

Detaylı

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş Yard. Doç. Dr. Alper Kürşat Uysal Bilgisayar Mühendisliği Bölümü akuysal@anadolu.edu.tr Ders Web Sayfası: http://ceng.anadolu.edu.tr/ders.aspx?dersid=101

Detaylı

Bölüm 1. Ön Hazırlıklar ISBN 0-321-49362-1

Bölüm 1. Ön Hazırlıklar ISBN 0-321-49362-1 Bölüm 1 Ön Hazırlıklar ISBN 0-321-49362-1 Bölüm 1 Konular Programlama Dilleri Kavramlarının Çalışılma Nedenleri Programlama Alanları Dil Değelendirme Kriterleri Dil Tasarımındaki Etkileri Dil Kategorileri

Detaylı

Sunum İçeriği. Programlamaya Giriş 22.03.2011

Sunum İçeriği. Programlamaya Giriş 22.03.2011 Programlamaya Giriş Nesne Tabanlı Programlamaya Giriş ve FONKSİYONLAR Sunum İçeriği Nesne Tabanlı Programlama Kavramı Fonksiyon tanımlama ve kullanma Formal Parametre nedir? Gerçel Parametre nedir? Fonksiyon

Detaylı

Görsel Programlama DERS 01. Görsel Programlama - Ders01/ 1

Görsel Programlama DERS 01. Görsel Programlama - Ders01/ 1 Görsel Programlama DERS 01 Görsel Programlama - Ders01/ 1 Takdim Planı Nesneye Dayalı Programlama Kavramı Nesne, Sınıf Kavramı Java Programlama Dili Java Programlama Dili Temel Özellikleri Java Sürümleri

Detaylı

Binnur Kurt binnur.kurt@ieee.org. İstanbul Teknik Üniversitesi Bilgisayar MühendisliM

Binnur Kurt binnur.kurt@ieee.org. İstanbul Teknik Üniversitesi Bilgisayar MühendisliM İşletim Sistemleri Binnur Kurt binnur.kurt@ieee.org İstanbul Teknik Üniversitesi Bilgisayar MühendisliM hendisliği i BölümüB İşletim Sistemleri Copyright 2005 1 Version 0.0.1 About the Lecturer BSc İTÜ,

Detaylı

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) Veri Modelleri

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ı

YAPIM YÖNETİMİ - EKONOMİSİ 03. İşler veya eylemler olası olan zaman ve mekanının tamamını kullanacaktır.

YAPIM YÖNETİMİ - EKONOMİSİ 03. İşler veya eylemler olası olan zaman ve mekanının tamamını kullanacaktır. İNŞAAT PROJELERİNİN YÖNETİMİNDE FİZİBİLİTE ÇALIŞMASI İnşaat projelerinin yönetimi ve kurallar Parkinson Kuralı İşler veya eylemler olası olan zaman ve mekanının tamamını kullanacaktır. Peter İlkesi Bireyler

Detaylı