Bağımlılık Yapı Matrisleri ile Yazılım Mimarisi İncelenmesi
|
|
- İbrahi̇m Kashani
- 8 yıl önce
- İzleme sayısı:
Transkript
1 Bağımlılık Yapı Matrisleri ile Yazılım Mimarisi İncelenmesi Analyzing Software Architecture Using Dependency Structure Matrices Ömer, Karaduman Mikroelektronik, Güdüm ve Elektro-Optik (MGEO) Grubu ASELSAN, Ankara Özet Bu makalede, yazılım sistemlerinin mimari yapılarının Bağımlılık Yapı Matrisi (BYM) oluşturularak incelenmesi ve bu incelemenin sonuçları kullanılarak yazılım kaynak kodlarının ve/veya mimari yapısının nasıl geliştirilebileceği anlatılmaktadır. Anlatılacak olan bu süreçte, kodların durağan olarak incelenmesiyle oluşturulan BYM ler incelenerek yazılım dâhilindeki parçaların birbirlerine olan bağımlılıkları gözlemlenmekte ve bu bağımlılıkların arzu edilen mimari yapıya uygunluğu değerlendirilmektedir. Bu inceleme neticesinde elde edilen sonuçlar mimari yapının doğrulanmasında, düzeltilmesinde ve/veya değiştirilmesinde kullanılarak, denetlenen yazılımın kalitesinin arttırılması sağlanmaktadır. BYM lerin oluşturulması ve incelenmesi ile ilgili temel bir açıklama yapıldıktan sonra ASELSAN MGEO Grubu bünyesinde geliştirilmiş bir projeye ait BYM oluşturma, inceleme ve geliştirme süreci adım adım anlatılacaktır. Abstract In this article, a method for examining architectural structures of software systems by using Dependency Structure Matrix (DSM) and improving the quality of the source code and/or architecture using the DSM is given. In this process, the DSMs which are generated via static analysis of the source code are examined in order to detect the dependencies between modules and these dependencies are evaluated with respect to the architectural structure. The results of these examinations are used in verification, fixing and/or changing the architecture and the quality of the software under examination is thus increased. After giving a brief explanation about creating and examining the DSMs, the process of DSM creation, examination and architecture improvement for a project which had been developed by ASELSAN, Microelectronics, Guidance and Electro-Optic Division, will be given. 1. Giriş Bağımlılık Yapı Matrisleri (BYM), ilk olarak üretim sektörü için oluşturulmuş bu kavramdır [1]. Bir üretim hattında, üretilecek olan bir parçanın diğer hangi parçaları etkileyeceği veya bir parçanın üretilebilmesi için diğer hangi aşamaların daha önce bitirilmesi gerektiği gibi bilgileri gösteren bu matris, üretim hattının o anki verimliliği ve üretimin nasıl daha verimli hale getirilebileceği hakkında ipuçları vermektedir [2]. BYM ler yazılım projelerinde de kullanılabilir. Bir yazılım projesinde bu yöntemle incelenenler temel olarak nesne oluşturma sırası ve veri akışıdır. Bilindiği üzere ideal bir sistemde veri akışı tek yönlü olmalı ve yazılım parçaları kendinden daha üst seviye hiçbir parçaya bağımlı olmamalıdır. Tasarlanan mimari yapı, alt seviyeden üst seviyeye bağımlılığı kabul ediyor veya gerektiriyor olsa bile bu tür bağımlılıkların çoğalması ile sistemin hem anlaşılması hem de üzerinde değişiklik yapılması zorlaşmakta, bu da iş gücü kaybı ile sonuçlanmaktadır. Çoğu projenin başlangıç aşamasında bir mimari yapı belirlense de bu projelerin pek azında, oluşturulan yazılımın tasarlanan mimariye uygunluğu kontrol edilmektedir. Yani yazılım mimarisi, kâğıt üzerinde çizilen şekiller, yalnızca göstermelik olarak hazırlanmış şemalar ve modüllerin isimlendirilmesinde kullanılan etiketler olarak kalmakta, dolayısıyla da yazılım kalitesine bir katkı sağlamamaktadır. Bunun neticesinde kod karmaşıklaşmakta, modüller arası döngüsel bağımlılıklar artmakta ve istenildiği gibi çalışan bir proje hazırlansa bile üretilen yazılım yeniden kullanılabilirlik, değiştirilebilirlik, esneklik gibi kavramlardan uzak olmaktadır. ASELSAN MGEO grubu bünyesinde yazılım mimarisinin doğrulanması ve/veya kontrol edilmesi ihtiyacı ilk olarak elektro-optik termal görüntüleme
2 sistemleri için geliştirilen yazılımların modüler hale getirilmesi ihtiyacından doğmuştur. Bilindiği gibi tank, gizli gözetleme araçları, insansız hava araçları, gemi ve füze sistemleri için termal görüntüleme teknolojileri ülkemizde ASELSAN tarafından MGEO grubu bünyesinde geliştirilmektedir. Şahingözü projesinde olduğu gibi bazı projelerde mevcut geliştirilmiş kod tabanının küçük değişiklikler yapılarak farklı platformlar veya görev tipleri için uygun hale getirilmesi ihtiyacı doğmuş, bu sebeple yazılımın modüler hale getirilmesi önem kazanmıştır. yapıya uygun olarak nasıl kullanılacağını bilen, hata yapmayan bireyler olmalarını sağlayarak Geliştirilen yazılımın mimarisini harici uygulamalar vasıtasıyla inceleyip görülen hataları düzelterek. İlk yöntem yeterli eğitim ve uygun uygulama geliştirme araçlarının kullanımı ile gerçekleştirilebilir gibi görülse de tek başına yeterli olmayacak ve yalnızca ortaya çıkan ürünün istenilen mimariye uygunluğu ile ilgili bir güven verecektir. Mimarinin doğrulanması ise ancak yine harici bir uygulamanın kullanılması ile olacaktır. İleriki bölümlerde, mimari yapının incelenmesi ve geliştirilmesi için BYM kullanımından ve bir BYM inceleme aracı ile mevcut bir projenin mimarisinin incelenmesi, mimari hataların bulunması ve bu hataların giderilmesi aşamalarından bahsedilecektir. 2. Bağımlılık Yapı Matrisleri Şekil 1:Şahingözü Sistemi nin sabit uygulamalarda kullanımı ve V. Teknoloji Büyük Ödülü 2.1. Bağımlılık Yapı Matrislerinin Oluşturulması Bağımlılık Yapı Matrisleri (BYM), bir projeye ait bütün modüllerin ve bu modüller arası bağımlılıkların bir arada listelenmesi için tasarlanmış, matris şeklinde bir gösterim biçimidir. Temel olarak, incelenen projedeki bütün modüller enine ve boyuna listelendikten sonra her bir sütün ve satır kesişim noktası için eğer sütundaki modül satırdaki modüle bir bağımlılık içeriyorsa bu noktaya bir işaret konulur. Konulan bu işaret sadece herhangi bir bağımlılığın olduğunu gösteren bir işareti olabileceği gibi, kaç farklı bağımlılığın olduğunu veya o modüller arasındaki bağımlılığını toplam bağımlılık sayısına olan oranını gösteren bir sayı da (Bağımlılık Şiddeti) olabilir[4]. Tablo 1: Basit bir Bağımlılık Yapı Matrisi Şekil 2:Şahingözü Sistemi nin hareketli platformlar için uygulamaları Yukarıda anlatılan sebeplerden dolayı geliştirilen yazılımların, belli bir mimariye uygun olmasının sağlanması gerekmektedir ve bu temel olarak iki şekilde mümkündür: Yazılım geliştiricilerin hepsi mimari yapıya hâkim, kullanılan programlama dilinin seçili mimari A B C D A B C D Tablo 2: Bağımlılık şiddetlerinin gösterildiği bir BYM A B C D A 1 B 1 21 C 4
3 D Tablo 1 ve Tablo 2 de temsili bir yazılıma ait Bağımlılık Yapı Matris leri gösterilmiştir. Tablo 1 deki gösterim yalnızca hangi modüller arasında bir bağımlılık olduğunu göstermekte fakat bu bağımlılıkların şiddeti hakkında herhangi bir bilgi vermemektedir. Bu tabloya bakılarak şu çıkarımlar yapılabilir: A modülü, B ve D modüllerine bağımlıdır B modülü, C ve D modüllerine bağımlıdır C modülü, yalnızca D modülüne bağımlıdır D modülü, A ve B modüllerine bağımlıdır Diğer bütün modüllerin bağımlı olduğu D modülü, kendisinden başka modüllere bağımlı olduğu için mimari açıdan sorun teşkil etmektedir. Tablo 2 de ise aynı tablo Bağımlılık Şiddeti değerleri kullanılarak oluşturulmuştur. İlk tablo için yapılan çıkarımlar aynı şekilde bu tablodan da çıkarılabilir. Bunun yanı sıra sayısal değerler, bağımlılığın tasarım hatası mı kodlama hatası mı olduğunu anlamakta yardımcı olabileceği gibi bu bağımlılıkların çözülmesi için bir öncelik sıralaması yapılmasında da kullanılabilir. Örneğin Tablo 2 de, D modülünün A modülüne olan bağımlılığı kabul edilebilir veya öncelik verilmesine gerek olmayan bir bağımlılık olarak ele alınabilirken, D modülünün B modülüne olan bağımlılığının şiddeti, büyük olasılıkla, mimari yapı ile ilgili bir yanlışlık yapıldığını göstermektedir. Kullanılan BYM inceleme aracı, projeyi inceleyip modülleri otomatik olarak oluşturabilir. Örnek projenin incelenmesinde kullanılacak olan Lattix LDM isimli araç ile BYM oluşturulmak istenirse modüller, kullanılan programlama dili göz önünde bulundurularak oluşturulacaktır. Örneğin, C dilinin kullanıldığı bir projede, kaynak dosyaları ve bu dosyaların içerisinde bulunduğu klasör yapısı modül oluşturmada kullanılırken bir JAVA projesi için modüller, tanımlı sınıflar ve paketler olacaktır. İstenildiği takdirde bu modüller ve içerikleri elle değiştirilebilir, yeni üst seviye modüller belirlenip sınıf veya dosyalar bu modüllerin içerisine eklenebilir. Burada dikkat edilmesi gereken nokta, yeni modül oluştururken veya bir alt modül farklı bir üst modülün altına taşınırken mimari yapının dışına çıkılmamasıdır. Bu gerekten dolayı bu tür değişikliklerin sistem mimarisine hâkim bir kişi gözetiminde yapılması yerinde olacaktır BYM lerin Düzenlenmesi BYM oluşturulurken sistemin mimari yapısı dikkate alınmalıdır. Başka modüllerin bağımlı olduğu modüller altta, başka modüllere bağımlı modüller üstte olacak şekilde bir düzenleme yapılırsa, projenin mimari yapısının doğrulanması daha kolay olacaktır. Örneğin, mimari yapısının Şekil 3 deki gibi olması istenen bir projenin incelendiğini ve BYM nin Tablo 3 teki gibi oluşturulduğunu varsayalım. Şekil 3: İstenilen mimari yapı Tablo 3: Düzenlenmemiş Bağımlılık Yapı Matrisi (A) İş Katmanı A B C D (B) Güvenlik (C) Veritabanı (D) Grafik Arayüz Grafik Arayüz Güvenlik İş Katmanı Veritabanı Görülebileceği üzere, BYM deki modüller, hedeflenen sisteme uygun olarak dizilmemiştir. Bu şekilde bir BYM kullanılarak hangi modüllerin hangi modüllere bağımlı olduğu tespit edilebilse bile bağımlılıkların mimariye uygunluğunun tespiti ayrıca bir çaba gerektirecektir. Bu işlemi kolaylaştırmak için BYM, Tablo 4 teki gibi düzenlenebilir. Tablo 4: Düzenlenmiş Bağımlılık Yapı Matrisi
4 (A) Grafik Arayüz A B C D (B) Güvenlik (C) İş Katmanı (D) Veritabanı Bu düzenleme işlemi, mimari yapı ve projenin isterleri ile ilgili bir bilgi birikimi gerektirdiğinden dolayı bahsi geçen konularda bilgili kişilerin kontrolünde yapılmalıdır. Aksi takdirde alınan sonuçlar ve bu sonuçlara göre yapılan yorumlar gerçeği yansıtmayabilecektir BYM lerin Yorumlanması BYM ler kullanılarak yalnızca kodun mimariye uygunluğunun değil, mevcut mimarinin istenilen mimariye uygunluğunun da kontrol edilebileceği daha önce belirtilmişti. Eğer, oluşturulan BYM nin incelenmesi neticesinde hâlihazırdaki mimarinin beklenileni karşılamadığı tespit edilirse yeni modüller oluşturularak mimari yapı yeniden düzenlenebilir. Tablo 5 te gösterilen tablo, Tablo 4 te gösterilmiş tablonun yeniden düzenlenmiş biçimidir. İlgili senaryoya göre, normalde Güvenlik Katmanı ndan bağımsız olması planlanan İş Katmanı nın güvenlik katmanına bağımlı olduğu görülmüş, gerekli incelemeler yapıldığında ise bunun sebebinin, veritabanına gönderilen verilerin doğrulanması ile ilgili işlemlerin de güvenlik katmanında yapılıyor olması olduğu görülmüştür. Bu tespitin neticesinde güvenlik katmanı kullanıcı yetkilendirme ve veri doğrulama olarak ikiye ayrılmış ve gerekli mimari düzenleme yapılmıştır. Tablo 5: Düzenlenmiş Bağımlılık Yapı Matrisi Grafik Arayüz Kullanıcı Yetkilendirme İş Katmanı Veri Doğrulama Veritabanı Şekil 4: Yeniden düzenlenmiş mimari yapı 3. Bir Projeye Mimari Yapının BYM İnceleme Aracı Kullanılarak İncelenmesi Bu bölüm, ASELSAN tarafından geliştirilmiş bir projenin modülerleştirilmesi amacıyla yapılan değişiklikler neticesinde istenilen modülerliğin sağlanıp sağlanamadığını görmek amacıyla yapılmış olan incelemeleri içermektedir. Bu incelemeler esnasında referans alınan bir mimari model bulunmadığı için bir mimari modele uygunluk yerine modüller arasındaki bağımlılıkların listelenmesi amaçlanmış ve BYM inceleme aracının mimari uyumluluğu denetleyebilmesinin nasıl mümkün olabileceğini göstermek amacıyla temsili bir mimari model kullanılmıştır. Mimari incelemenin yapılmasının yanı sıra, bu inceleme sonuçları kullanılarak bağımlılık sorunu içeren modüllerin tespiti ve bu bağımlılıkların giderilmesi için yapılan işlemlerden de bahsedilecektir 3.1. Bağımlılık Yapı Matrisinin Oluşturulması ve Düzenlenmesi Proje ilk yüklendiğinde BYM, Şekil 5 deki gibi gösterilecektir. (A) Grafik Arayüz (B) Kullanıcı Yetkilendirme (C) İş Katmanı A B C D E (D) Veri Doğrulama (E) Veritabanı Görülebildiği üzere, projeye ait BYM nin incelenmesi ile yalnızca kodlama hataları değil mimari hataları da tespit edilebilmekte ve giderilebilmektedir. Şekil 4 te aynı projenin düzenlenmiş mimarisi gösterilmektedir. Şekil 5: Harici bir yazılımla oluşturulmuş bir BYM
5 Projede programlama dili olarak C kullanıldığı için modüller kaynak dosyalarının klasörleme düzenine göre oluşturulmuş ve bu modüller harf sırasına göre dizilmiştir. Modüllerin, otomatik oluşturulandan farklı olduğuna kanaat getirilirse gerekli düzenlemeler yine BYM oluşturma aracı ile yapılabilir. Sayılar, o sütundaki modülün o satırdaki modüle kaç farklı bağımlılığı olduğunu göstermektedir. Örneğin 8. satır ve 2. kolonun kesişimindeki 99 sayısı, bit modülünün include modülüne 99 ayrı bağımlılığı olduğunu göstermektedir. Bu bağımlılıkların kaynağı include modülünde tanımlanmış ve bit modülünde kullanılan her şey (fonksiyonlar, değişkenler, sınıf tanımları...) olabilir. Şekil 5 teki matriste modüller yapısal bir düzene göre değil alfabetik olarak sıralanmışlardır. Sistem mimarisi ile ilgili bir yorum yapmadan önce bu modüllerin uygun şekilde sıralanması uygun olacaktır. Eğer kullanılacak olan mimari yapı önceden belirlenmişse sıralama bunu yansıtacak şekilde yapılabilir ve sonuçlar bu mimari yapı ele alınarak incelenebilir[3]. Bu şekilde bir mimari mevcut değilse BYM inceleme aracının düzenlemeyi otomatik olarak yapması sağlanabilir. Kullanılan aracın bu özelliği incelenen projede uygulandığında Şekil 6 daki tablo elde edilmektedir. sayısını en aza indirgemeyi hedeflemektedir. Bu durum, olması gereken mimari sıralama uygulandığında görülebilecek olan bazı bağımlılık sorunlarının gözden kaçmasına sebep olabilir. Öte yandan, otomatik oluşturulan bu mimari ile uyulması düşünülen mimari karşılaştırılarak, mimari yapıda değişiklik yapılması gerekip gerekmediği ile ilgili bir karar verilebilir Bağımlılıkların İncelenmesi Daha önce belirtildiği üzere, sütun ve satırların kesişimindeki sayılar o sütun ve satırın temsil ettiği modüller arasında bir bağımlılık olduğunu gösterir. Bu yüzden, birbirlerinden tamamen bağımsız modüller incelenirken matrisin hiçbir satır veya sütununda bir sayı bulunmaması gerekmektedir. Yukarıdan aşağıya doğru bağımlılığın olduğu fakat aşağıdan yukarıya bir bağımlılığın olmadığı katmanlı mimarilerde ise bağımlılık matrisinin üst üçgeninde herhangi bir sayı olmaması gerekirken köşegenin altında kalan üçgende sayılar bulunabilir[3]. Örnek projenin incelenmesi sürecinde de projenin mimarisinin buna benzer bir yapıda olduğu varsayılmıştır. Diğer mimari yapılar da benzer şekilde ele alınarak incelenebilir. Şekil 6 ya bakıldığında, ortadaki büyük kareyi oluşturan modüllerin arasında yoğun bir bağımlılık olduğu görülebilir. BYM inceleme aracı kullanılarak bu bağımlılıkların hangi dosyalar arasında ve hangi sebepten olduğu görülebilir. Örneğin, 4. satır ve 10. kolonun kesişim noktası seçiliyken bağımlılıklar incelenecek olursa Şekil 7 deki sonuçlar görülecektir. Şekil 6: Otomatik olarak düzenlenmiş bir BYM Tahmin edilebileceği üzere, bu projede en çok bağımlılık, başlık dosyalarının bulunduğu include modülünedir ve bu modül BYM inceleme aracı tarafından Şekil 6 da görülebildiği üzere en alt katman olarak atanmıştır. BYM aracı tarafından otomatik olarak oluşturulan mimari yapının gerçeği yansıtmayabileceği unutulmamalıdır. BYM aracı bu sıralamayı yaparken aşağı katmanlardan yukarı katmanlara olan bağımlılık Şekil 7: Bağımlılık kaynaklarının tespit edilmesi Görülebileceği üzere seçili bağımlılığın sebebi ccdaytvcommon.c dosyasının testinterface modülü altındaki cctestcommon.c ve cctestdtv.c dosyalarını kullanıyor olmasıdır. Bahsi geçen dosyalar incelendiğinde, ccdaytvcommon.c dosyasının cctestcommon.c dosyasında tanımlanmış olan send_scanner_cmd ve send_test_ack fonksiyonları ile cctestdtv.c soyasında tanımlanmış olan send_dtv_status_to_te fonksiyonunu kullandığı görülebilir. BYM aracında oluşturulmuş olan modül
6 sıralaması referans alınan mimariye göre doğru kabul edilmiş ise alt seviyedeki bir modülün üst seviyedeki bir modülü kullandığı bu durumun kaldırılması gerekmekte veya mimaride bu durumu geçerli kılacak değişiklikler yapılması gerekmektedir. Modül sıralamasının değiştirilmesi, mimari yapıda değişiklik yapılmasının tek yolu değildir. Farklı olarak, modüller arası kullanım kuralları da belirtilebilir. Örneğin, kullanılan örnekteki gibi bir projede, bir alt seviye modülün kendisinden daha üstteki bir modülü kullanmasına izin verilmek istenirse bu şekilde bir kural belirlenebilir. Benzer şekilde, üst seviyedeki bir modülün alt seviyedeki bir modülü kullanamaması için de benzer bir kural tanımlanabilir. Bir diğer yöntem ise modül içeriklerinin yeniden düzenlenmesidir. Örneğin, yukarıdaki örnekte, dtv modülünün testinterface e olan bağımlılıkları, testinterface modülü altındaki cctestcommon.c ve cctestdtv.c dosyalarından kaynaklanmaktadır. Mimari yapıya daha uygun olacağı düşünülürse bu dosyalar dtv modülünün altına taşınabilir. Bu işlem yapılırken, taşınan dosyaların yeni bağımlılıklar oluşturmamasına dikkat edilmelidir. Örnek üzerinden devam edersek, eğer cctestcommon.c dosyası, testinterface ve dtv modülleri arasında kalan bir modüle de (örneğin comm modülü) bağımlılık içeriyorsa, bu dosya dtv modülüne taşındığı zaman dtv modülü comm modülüne de bağımlı hale gelecek ve bir bağımlılık giderilirken yeni bir bağımlılık oluşmuş olacaktır. Kullanılan BYM aracı, bu tür taşıma işlemleri ile ilgili ipuçları sağlayabilir. Şekil 8 da, BYM aracının sağladığı ipuçları ile yeniden düzenlenmiş sistem gösterilmiştir. Görülebileceği üzere, matris köşegeninin üstünde kalan bağımlılıkların bir kısmı, dosyaların farklı modüllere taşınmaları sayesinde çözülmüştür. Kalan bağımlılıklar ise bu şekilde çözümlenemeyen bağımlılıkları göstermektedir. Bu tür bir bağımlılığın oluşması durumunda bütün dosyayı taşımak yerine, bu dosyalardaki bağımlılığa sebep olan kod parçalarının taşınması da düşünülebilir. Daha önce de belirtildiği üzere bu tür kararlar sistem mimarisine ve kod yapısına hâkim kişiler tarafından verilmelidir Mimari Yapının İncelenmesi Kullanılan BYM aracı, mimari yapının yalnızca BYM gösterimiyle değil, Şekil 9 da görüldüğü gibi modül blokları ve veri akış okları ile de gösterilmesine olanak sağlayabilir. Bu gösterim BYM kadar detaylı olmasa da kimi zaman görsel olarak daha anlaşılır olabilir ve hedeflenen mimari çizimi ile karşılaştırma yapılması daha kolay olabilir. Şekil 9: Bağımlılıkların blok olarak gösterimi Bu şemadaki modüllerin dizilimi kullanıcı tarafından değiştirilebilir. Bağımlılığı gösteren oklar ise modüllerin yer ve boyutlarından bağımsız olarak korunur. Bu sayede hedeflenen mimari şema hazırlanıp sistemin şu anki haline ait yanlışlıklar rahatlıkla tespit edilebilir. Örnek olarak, incelediğimiz projenin mimarisinin Şekil 10 daki gibi şeffaf-katmanlı bir yapıda olmasını istediğimizi varsayacağız. Şekil 8: Dosyaların taşınması ile modülerliğin arttırılması
7 Şekil 12: Gruplama sonrası mimari görünüm Şekil 10: Mimari yapının düzenlenmesi Şeffaf-katmanlı mimarilerde üst modüller alt modülleri kullanabilirken bunun tersi geçerli değildir. Sistemin şeffaf-katmanlı mimariye olan uygunluğunu görmek için modülleri uygun şekilde yerleştirdikten sonra yukarıya doğru giden (mimariye uygun veri akışını gösteren) oklar ayrılarak, kaldırılması gereken bağımlılıkların hangi modüller arasında olduğu görülebilir. Bu şekilde bir gruplama ile üst seviyede bir modülerlik sağlanabilir. Bu durumda, mimari olarak bağımlılık sorunları aynen devam ediyor olsa da üst seviyede katmanlı bir yapı oluşturulduğu için bu üst seviye modüller daha bağımsız bir şekilde incelenebilir ve değiştirilebilir[4]. Alt seviyede ise, Şekil 13 te görülebileceği üzere bağımlılıklar devam etmektedir. Daha önceki bölümlerde anlatıldığı şekilde, kod içerisinde veya mimaride değişiklikler yapılarak bu bağımlılıkların giderilmesi sağlanabilir Mimari Yapının Düzenlenmesi Bahsi geçen incelemelerden görülebileceği üzere bu projede bağımlılıkların çoğu belli başlı modüller (bit, testinterface, comm, exdat, ocm, hekos, symbology, dtv, pt) arasında yoğunlaşmıştır. İstenirse, incelemeyi kolaylaştırmak ve/veya üst seviye bir modülerlik yakalamak için birbirine bağımlı olan bu modüller tek bir grup altında toplanabilir. Şekil 13: Gruplama sayesinde bağımlılıkların tek bir modül altında toplanması Şekil 11: Üst seviyede modülerlik sağlanması için modüllerin yeniden gruplanması 3. Sonuç Özellikle büyük boyutlu projelerde yazılım mimarisi büyük önem taşımaktadır. Yapılacak olan projeye uygun olarak hazırlanmış bir mimari yapı, bir yol gösterici olarak kullanılmanın yanında proje parçalarının yeniden kullanılabilirliğinin ve projenin esnekliğinin arttırılmasını, dolayısıyla da toplamdaki iş gücü azaltılırken yazılımın kalitesinin arttırılmasını sağlayacaktır. Anlatılan BYM yöntemi ise, özellikle harici araçlar kullanılarak uygulandığında, tamamen yazılım
8 geliştirme sürecine paralel sürdürülebilecek yani bu süreci sekteye uğratmadan mimari incelemelerin yapılabilmesini sağlayacak bir yöntemdir. BYM gösterimi, hazırlanışının kolay olmasının yanı sıra bağımlılıkların kolaylıkla tespit edilebilmesini de sağladığı için yazılım mimarilerinin incelenmesi ve geliştirilmesi aşamalarında kullanılması tercih edilebilecek bir gösterim çeşididir. 4. Kaynaklar [1] Browning, T. R., Applying the DesignStructure Matrix to System Decomposition and Integration Problems: A Review and New Directions, 2001 [2] Eppinger, S. D., "Innovation at the Speed of Information", Harvard Business Review, [3] Hinsman, C., Sangal, N., Stafford, J. Large Scale Refactoring through Architecture Visibility, 2007 [4] Sangal, N., Jordan, E., Sinha, V., Jackson, D., Using Dependency Models to Manage Complex Software Architecture, Conference on Object Oriented Programming Systems Languages and Applications, San Diego, California, 2005
KARİYER PLANLAMA Amaç ve Fayda Yayın Tarihi Kategori Ürün Grubu Modül Versiyon Önkoşulu Yükleme ve Gereken Dosyalar Yükleme Sonrası
KARİYER PLANLAMA Amaç ve Fayda Yayın Tarihi Kategori Ürün Grubu Modül Versiyon Önkoşulu Yükleme ve Gereken Dosyalar Yükleme Sonrası İşlemler Bu doküman ile Netsis İnsan Kaynakları paketinde bulunan Kariyer
Detaylı4.1. Grafik Sihirbazını kullanarak grafik oluşturma
BÖLÜM14 4. EXCEL DE GRAFİK Excel programının en üstün özelliklerinden bir diğeri de grafik çizim özelliğinin mükemmel olmasıdır. Excel grafik işlemleri için kullanıcıya çok geniş seçenekler sunar. Excel
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ıWebInstaller. 1. Kurulum Đçin Gereksinimler
WebInstaller Ürün Grubu [X] Fusion@6 [X] Fusion@6 Standard Kategori [X] Yeni Fonksiyon Versiyon Önkoşulu @6 Uygulama E-Netsis.Net uygulamasının kurulumu Netsis\ENetsis.Net\Kurulum dizininde bulunan NetsisWebInstall.exe
DetaylıÜNİT E ÜNİTE GİRİŞ. Algoritma Mantığı. Algoritma Özellikleri PROGRAMLAMA TEMELLERİ ÜNİTE 3 ALGORİTMA
PROGRAMLAMA TEMELLERİ ÜNİTE 3 ALGORİTMA GİRİŞ Bilgisayarların önemli bir kullanım amacı, veri ve bilgilerin kullanılarak var olan belirli bir problemin çözülmeye çalışılmasıdır. Bunun için, bilgisayarlar
DetaylıCORINE 1990 ve 2006 Uydu Görüntüsü Yorumlama Projesi. Kurum adı : T.C. Orman ve Su İşleri Bakanlığı. Proje durumu : Tamamlandı.
CORINE 1990 ve 2006 Uydu Görüntüsü Yorumlama Projesi Kurum adı : T.C. Orman ve Su İşleri Bakanlığı Proje durumu : Tamamlandı. Uygulama adresleri: http://aris.cob.gov.tr/crn/ http://aris.cob.gov.tr/csa/
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ıNew Project. User guide
New Project User guide Table of Contents New Project... 3 Katman Yöneticisi... 4 Katman Yöneticisi Araçları... 6 Katman İşlemleri... 8 Katman Görünümü... 9 Katman Ekleme... 10 Aktif Katman Yapma... 12
DetaylıKARĐYER YÖNETĐMĐ. Geleceğe yönelik çalışan ihtiyaçlarını iç kaynaklardan sağlayarak çalışan motivasyonunu artırma.
KARĐYER YÖNETĐMĐ Geleceğe yönelik çalışan ihtiyaçlarını iç kaynaklardan sağlayarak çalışan motivasyonunu artırma Kadro yedekleme ile kritik pozisyonlarda oluşabilecek boş kadrolara kısa sürede atamalar
DetaylıMikro Ayarları. Mikro Programının kurulu olduğu veritabanı ve web servisi için bağlantı ayarlarının yapıldığı menüdür.
Mikro Ayarları Mikro muhasebe sistemini kullanan müşterilemizin, muhasebe sistemleri ile E Ticaret sitesi arasındaki entegrasyon parametrelerini tanımladıkları menüdür. Bu menü altındaki alt menüler kullanılarak
DetaylıMAPINFO PROFESSIONAL TEMEL VE İLERİ SEVİYE KURS İÇERİĞİ
MAPINFO PROFESSIONAL TEMEL VE İLERİ SEVİYE KURS İÇERİĞİ Başar Bilgisayar Sistemleri Ve İletişim Teknolojileri San. Ve Tic. Ltd. Şti. Web site: http://www.basarsoft.com.tr Kontak mail: basar@basarsoft.com.tr
DetaylıDESTEK DOKÜMANI. Tablolu Malzeme Sınıfları
Tablolu Malzeme Sınıfları Malzeme Sınıfı; malzemelerin nitel ve nicel özelliklerine göre (renk,boy,beden,ebat,aksesuar,vb...) gruplanması ile oluşturulan yapılardır. Malzemelerin ortak özelliklerine göre
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ıBÖLÜM13 3- EXCEL DE VERİ İŞLEMLERİ
BÖLÜM13 3- EXCEL DE VERİ İŞLEMLERİ Excel de veritabanı dosyaları oluşturmak oldukça kolay ve pratiktir. Böyle bir dosya herhangi özel bir işlem gerektirmeden, veri alanlarının direkt hücrelere girilmesi
Detaylı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ıKalite Fonksiyon Uygulaması. (Quality Function Deployment, QFD) YBS Ansiklopedi. Sadi Evren SEKER. 1. Kalite Fonksiyon Uygulaması
YBS Ansiklopedi www.ybsansiklopedi.com Cilt 1, Sayı 4, Aralık 2014 Kalite Fonksiyon Uygulaması (Quality Function Deployment, QFD) Sadi Evren SEKER Istanbul Medeniyet Üniversitesi, Yönetim Bilişim Sistemleri
DetaylıAutodesk Robot Structural Analysis Professional İnşaat Müh. için Yapısal Modelleme, Analiz ve Tasarım çözümü
Autodesk Robot Structural Analysis Professional İnşaat Müh. için Yapısal Modelleme, Analiz ve Tasarım çözümü İnş. Yük. Müh. Burçin ŞAHİNALP PROTA BİLGİSAYAR A.Ş. Autodesk Robot Structural Analysis Professional
DetaylıExcel Nedir? Microsoft Excell. Excel de Çalışma sayfası-tablo
Microsoft Excell Excel Nedir? Excel programı; veriler üzerinde hesap yapabilme, verileri tabloya dönüştürebilme, verileri karşılaştırıp sonuç üretebilme, grafik oluşturma, veri yönetimi yapabilir. http://mf.dpu.edu.tr/~eyup
DetaylıİLİŞKİSEL VERİTABANLARI
İLİŞKİSEL VERİTABANLARI Veritabanı Nedir? Veritabanı (database) en basit şekliyle verilerin belirli bir düzene göre tutulduğu, depolandığı bir sistemdir. İlişkisel Veritabanı Nedir? İlişkisel veritabanlarındaki
DetaylıMAPINFO PRO TEMEL VE İLERİ SEVİYE EĞİTİM İÇERİĞİ
MAPINFO PRO TEMEL VE İLERİ SEVİYE EĞİTİM İÇERİĞİ Başarsoft Bilgi Teknolojileri A.Ş. Web site: http://www.basarsoft.com.tr Kontak mail: egitim@basarsoft.com.tr Ankara Merkez Adres Ehlibeyt Mah. Ceyhun Atıf
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ıMARMARA ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ BÖLÜMÜ ESNEK İMALAT SİSTEMLERİ DERS NOTLARI 2 Arş. Gör.
Bir üretim hattında genel anlamda şu görevler (task) yürütülür: İş parçaları depo alanlarından alınarak işleme makine araçlarına gönderilir. Robotlar konveyör hattından iş parçalarını alarak istasyonda
Detaylı1. Excel Dönüşümü : 2. Rapor Master Tanımları :
Programın Amacı : Bu Program As/400 Sistemindeki herhangi bir veya birden fazla file ı kullanarak istenilen şekilde sorgulama yaparak elde edilen bilgileri Excel Formatında Pc deki istenilen bir yere kaydetmek.
DetaylıKural Motoru. www.paperwork.com.tr
Kural Motoru www.paperwork.com.tr İş Kuralı Örnekleri Aşağıda iş kurallarına çeşitli örnekler verilmiştir; : İş Kuralı Nedir? T üm işletmeler kural merkezli çalışırlar. Kurallar hangi fırsatların takip
Detaylı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ıELN1001 BİLGİSAYAR PROGRAMLAMA I
ELN1001 BİLGİSAYAR PROGRAMLAMA I DEPOLAMA SINIFLARI DEĞİŞKEN MENZİLLERİ YİNELEMELİ FONKSİYONLAR Depolama Sınıfları Tanıtıcılar için şu ana kadar görülmüş olan özellikler: Ad Tip Boyut Değer Bunlara ilave
DetaylıVeritabanı Uygulamaları Tasarımı
Veritabanı Uygulamaları Tasarımı Veri Tabanı Veritabanı yada ingilizce database kavramı, verilerin belirli bir düzene göre depolandığı sistemlere verilen genel bir isimdir. Günümüzde özel veya kamu kuruluşların
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ıDESTEK DOKÜMANI KAYIT NUMARALAMA ŞABLONLARI
KAYIT NUMARALAMA ŞABLONLARI Kayıt numaralama özelliği; firmaya ait işlemlerde kullanılan belgelerin, firmaya özel numaralar ile kaydedilip izlenmesine imkan tanır. Ticari sistemde fiş ve faturalara ait
Detaylıe-defter Hakkında Uygulayıcılara Notlar
18.03.2016 e-defter Hakkında Uygulayıcılara Notlar Muhasebe kayıtları e-defter e uygun muhasebe programlarına girilmektedir. Peki e- defter açılış onayı nasıl yapılacak ya da e-defter nasıl ve hangi periyotlarla
DetaylıUzaktan Eğitim Uygulama ve Araştırma Merkezi
JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Kapsülleme (Erişim Denetleyiciler) Java da Sınıf Oluşturmak Java da Nesne Oluşturmak Java da Constructor Kavramı Java da This Kavramı Java da Constructor
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ıÇEVRE VE ORMAN BAKANLIĞI CBS ÇALIġMALARI
ÇEVRE VE ORMAN BAKANLIĞI CBS ÇALIġMALARI mızda, son iki yıl içerisinde coğrafi bilgi sistemi çalışmaların büyük mesafe kat edilmiştir. Bilgi İşlem Dairemiz bünyesinde bir Coğrafi Bilgi Sistemleri Şube
DetaylıHata Ayıklamanın Ötesi... (Assertion) Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 14 1
Hata Ayıklamanın Ötesi... (Assertion) Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 14 1 Assertion Assertion kelimesinin Türkçe karşılığı iddia, birşeylerin doğruluğunu ispat etmek anlamlarına
DetaylıBİTİRME RAPORU. Ömer Furkan ARI 13.06.2010 Yıldız Teknik Üniversitesi
BİTİRME RAPORU Tekstil sektöründe veritabanı sistemleri yaygın olarak kullanılmaktadır. Bu sistemler sayesinde satış işlemlerin kayıtları tutulup buna bağlı olarak çeşitli sorgulamalarla raporlama hizmetleri
DetaylıBilgi Güvenliği Risk Değerlendirme Yaklaşımları www.sisbel.biz
ISO/IEC 20000-1 BİLGİ TEKNOLOJİSİ - HİZMET YÖNETİMİ BAŞ DENETÇİ EĞİTİMİ Bilgi Güvenliği Risk Değerlendirme Yaklaşımları E1-yüksek seviye bilgi güvenliği risk değerlendirmesi Yüksek seviye değerlendirme,
DetaylıZirve e-fatura Portal Paketi V. 1.0.xx
Zirve e-fatura Portal Paketi V. 1.0.xx Zirve Yazılım paket programlarından, e-fatura gönderim ve alım işlemlerinin yapılabilmesi için iki farklı e-fatura paketi mevcuttur. 1- Zirve e-fatura Entegratör
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ıİnternet Programcılığı
1 PHP le Ver tabanı İşlemler Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz. 1.1 Veritabanı Nedir? Veritabanı
DetaylıKalite Fonksiyon Uygulaması (Quality Function Deployment, QFD)
Kalite Fonksiyon Uygulaması Literatürde İngilizce Quality Function Deployment kelimelerinin baş harflerinden oluşan QFD olarak da geçen terim basitçe kalite boyutundaki kullanıcı taleplerini ölçülebilir
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ı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ıGenel Programlama II
Genel Programlama II 22.03.2011 1 Yapılar ( Structures ) Yapılar ( structures ); tam sayı, karakter vb. veri tiplerini gruplayıp, tek bir çatı altında toplar. Bu gruplandırma içinde aynı ya da farklı veri
DetaylıSAMM ile Güvenli Yazılım Geliştirme
SAMM ile Güvenli Yazılım Geliştirme Emin İslam Tatlı, Aralık 2010, WGT E-Dergi 7. Sayı 1. SAMM Nedir? Yazılım geliştirme süreçleri (Waterfall, Spiral, Agile gibi) temelde planlama, tasarım, kodlama, test,
DetaylıAnimasyon Teknikleri, Ses ve Video İşlemleri 1 / 18
Animasyon Teknikleri, Ses ve Video İşlemleri 1 / 18 4. SEMBOLLER Animasyon yazılımı çizilen şekilleri veya çalışma içerisine aktarılan şekilleri sembollere dönüştürerek kütüphanede saklayabilir. Kütüphanede
DetaylıİNTERNET TARAYICISI ÜZERİNDE ÇALIŞABİLEN ELEKTRİK TALEP TAHMİNİ ANALİZ PROGRAMI
TMMOB TÜRKİYE VI. ENERJİ SEMPOZYUMU - KÜRESEL ENERJİ POLİTİKALARI VE TÜRKİYE GERÇEĞİ İNTERNET TARAYICISI ÜZERİNDE ÇALIŞABİLEN ELEKTRİK TALEP TAHMİNİ ANALİZ PROGRAMI Barış Sanlı Dünya Enerji Konseyi Türk
DetaylıT.C. KIRIKKALE ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ YAPAY SİNİR AĞLARI. Doç.Dr. Necaattin BARIŞÇI FİNAL PROJESİ
T.C. KIRIKKALE ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ YAPAY SİNİR AĞLARI Doç.Dr. Necaattin BARIŞÇI YAPAY SİNİR AĞLARI İLE KORONER ARTER HASTALIĞI RİSK Öğrenci : SİNEM ÖZDER Numarası : 118229001004
DetaylıVERİTABANI Veritabanı Tasarımı
VERİTABANI Veritabanı Tasarımı TASARIM BASAMAKLARI Güçlü ve performanslı bir veritabanı için gerçekçi ve disiplinli bir tasarım oluşturulmalıdır. Veritabanı oluşturulurken belirli kurallara uyulması gerekir.
DetaylıElbistan Meslek Yüksek Okulu GÜZ Yarıyılı Ara Öğr. Gör. Murat KEÇECĠOĞLU
Elbistan Meslek Yüksek Okulu 2015 2016 GÜZ Yarıyılı 28-29 Ara. 2015 Öğr. Gör. Murat KEÇECĠOĞLU Indexler İndeks, tablolardan veri çekmek için gerekli sorgular çalıştırılırken gereken süreyi azaltmak amacıyla
DetaylıKalite Kontrol Yenilikler
Kalite Kontrol Yenilikler Amaç ve Fayda Kalite Kontrol modülünde ISO 2859 standardının desteklenmesine, kullanımın daha fonksiyonel ve rahat olabilmesine yönelik bazı iyileştirme çalışmaları yapılmıştır.
Detaylıİçindekiler Tablosu Talep Destek Yönetim Sistemi Programı...3
İçindekiler Tablosu Talep Destek Yönetim Sistemi Programı...3 1. Özellikler.3 2. Kullanım..3 2.1. Ana Sayfa..5 2.2. Talep Modülü.7 2.3. Takibim Modülü 9 2.4. Takipte Modülü..11 2.5. Silinen Talepler Modülü...11
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 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ı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ıKURUL KARARLARI. Maliye Bakanlığı İç Denetim Koordinasyon Kurulundan: İÇ DENETİM KALİTE GÜVENCE VE GELİŞTİRME PROGRAMI 1
KURUL KARARLARI Maliye Bakanlığı İç Denetim Koordinasyon Kurulundan: İÇ DENETİM KALİTE GÜVENCE VE GELİŞTİRME PROGRAMI 1 Kamu idarelerinde yürütülmekte olan iç denetim faaliyetlerinin kalitesinin arttırılması
DetaylıMühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 7. Bölüm Metot Tanımlama ve Kullanma
Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 7. Bölüm Metot Tanımlama ve Kullanma C Programlama Dr. Serkan DİŞLİTAŞ 7.1. Metot Kavramı Programlama dillerinde bütün kod satırlarının
DetaylıSihirbaz Kullanarak Sorgu Oluştur : Sihirbaz sorguyu hazırlayan kişiye sorular sorar ve yanıtlarına göre sorgu oluşturur.
BÖLÜM17 3. SORGULAR Access Veritabanında sorgu; tablolara yazılan bilgilerin hepsinin veya istenilen (belirlenen) şarta uyanlarının bulunmasıdır. Örneğin Tıp Fakültesinde okuyan öğrenciler gibi. Sorguları
DetaylıÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER
VERİTABANI SORGULARI İÇİNDEKİLER Select İfadesi Insert İfadesi Update İfadesi Delete İfadesi Verileri Sıralamak Verileri Gruplandırmak Veriler Üzerinde Arama Yapmak NESNE TABANLI PROGRAMLAMA I Uzm. Orhan
DetaylıVega Ayarları. Vega Programının kurulu olduğu veritabanı ve web servisi için bağlantı ayarlarının yapıldığı menüdür.
Vega Ayarları Vega muhasebe sistemini kullanan müşterilemizin, muhasebe sistemleri ile E Ticaret sitesi arasındaki entegrasyon parametrelerini tanımladıkları menüdür. Bu menü altındaki alt menüler kullanılarak
DetaylıFırat Üniversitesi Personel Otomasyonu
Fırat Üniversitesi Personel Otomasyonu Fırat Üniversitesi, Enformatik Bölümü, 23119, Elazığ fatihtalu@firat.edu.tr, rdas@firat.edu.tr Özet: Bu çalışmada, Fırat Üniversitesi Personel Daire Başkanlığı için
DetaylıFIRAT ÜNİVERSİTESİ PERSONEL OTOMASYONU
FIRAT ÜNİVERSİTESİ PERSONEL OTOMASYONU M. Fatih TALU*, Resul DAŞ* (*) Fırat Üniversitesi, Enformatik Bölümü, 23119, ELAZIĞ fatihtalu@firat.edu.tr, rdas@firat.edu.tr ÖZET Bu çalışmada, Fırat Üniversitesi
Detaylıe-yazışma Projesi TBD Kamu-BİB Aylık Bilgilendirme Toplantısı
e-yazışma Projesi TBD Kamu-BİB Aylık Bilgilendirme Toplantısı 19 Ocak 2012 Gündem e-yazışma Projesinin Amacı ve Kapsamı Projenin Çıktıları Projeye Katkı Sağlayanlar e-yazışma Paketi Önümüzdeki Dönemde
DetaylıPERFORMANS YÖNETĐMĐ. Hedefe Odaklı Çalışma ve Yetkinlik Yönetimi.
PERFORMANS YÖNETĐMĐ Kurumların yapısına uygun performans yönetimi sistemini esnek yapı sayesinde Đnsan Kaynakları uygulaması içinde tanımlayarak takip edebilme Performans kayıtlarını yöneticilere e-posta
DetaylıExcel de Pivot Tablolar Tasarım ve Kullanımı
FARUK ÇUBUKÇU EXCEL AKADEMİ Excel de Pivot Tablolar Tasarım ve Kullanımı Pivot tablolar; satışlar, siparişler gibi verileri gruplamayı, alt toplamlarını almayı ve filtreleme işlemleri yapmayı sağlayan
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ıMAPINFO PRO TEMEL SEVİYE EĞİTİM İÇERİĞİ
MAPINFO PRO TEMEL SEVİYE EĞİTİM İÇERİĞİ Başarsoft Bilgi Teknolojileri A.Ş. Web site: http://www.basarsoft.com.tr Kontak mail: egitim@basarsoft.com.tr Ankara Merkez Adres Ehlibeyt Mah. Ceyhun Atıf Kansu
Detaylı1.1 Metodolojiyi Gerçeklemek Üzere Geliştirilen Altyapı
1.1 Metodolojiyi Gerçeklemek Üzere Geliştirilen Altyapı Metodolojisi üzerinde durduğumuz çalışman Eğitim altyapısını gerçekleştirmek: Proje iki ana parçadan oluşacaktır. Merkezi Altyapı Kullanıcı Arabirimi
DetaylıDSİ kapsamında oluşturulan dağınık durumdaki verilerinin düzenlenmesi, yeniden tasarlanarak tek bir coğrafi veri tabanı ortamında toplanması,
Projenin Amacı DSİ Genel Müdürlüğünde, Bölge Vaziyet Planı çalışmaları kapsamında üretilen ve mevcut DSİ faaliyetlerini içeren CBS veri setleri ile CBS Veritabanının incelenerek yine mevcut CBS donanım,
DetaylıQ-Biz İş Zekası 5.1. Versiyon Yenilikleri
Q-Biz İş Zekası 5.1 Versiyon Yenilikleri İçindekiler Q-Biz İş Zekası 5.1 Versiyon Yenilikleri... 1 1. Performans Gösterim Sahası... 3 2. Anahtar Performans Tanımları (KPI)... 5 3. Dashboard Özellikleri...
Detaylı25.10.2011. Arayüz Nedir? Arayüz Çeşitleri Arayüz Tasarım Yöntemleri Arayüz Tasarım Hataları. Ömer Faruk MIZIKACI 2008639402
Arayüz Tasarımı ve Programlama Neleri Konuşacağız Arayüz Nedir? Arayüz Çeşitleri Arayüz Tasarım Yöntemleri Arayüz Tasarım Hataları Ömer Faruk MIZIKACI 2008639402 Arayüz Nedir? Bilgisayar ve uygulamalarının
DetaylıBilgisayar Programlama MATLAB
What is a computer??? Bilgisayar Programlama MATLAB Prof. Dr. İrfan KAYMAZ What Konular is a computer??? MATLAB ortamının tanıtımı Matlab sistemi (ara yüzey tanıtımı) a) Geliştirme ortamı b) Komut penceresi
DetaylıAKILLI GRİD. [X] Netsis Enterprise. [X] Netsis Standart. [X] Netsis Entegre 7.0.2
AKILLI GRİD Ürün Grubu [X] Netsis Enterprise [X] Netsis Standart [X] Netsis Entegre Kategori [X] Yeni Fonksiyon Versiyon Önkoşulu 7.0.2 Uygulama Netsis programında tüm modüllerde bulunan grid ekranlarına,
DetaylıYükleme Emrinde bulunan belge numarası, kamyon plaka numarası ve şoför adının irsaliyeye taşınması,
SEVK VE YÜKLEME EMRİ YENİLİKLERİ Amaç ve Fayda Sevk ve Yükleme Emrine bağlı işlemlerde yapılan yenilikler ile; Yükleme Emri oluştururken stok bakiye kontrolü, Yükleme Emri Oluşturulurken stoktan ayrılan
DetaylıHSancak Nesne Tabanlı Programlama I Ders Notları
Konsol Uygulaması Oluşturma Konsol uygulaması oluşturmak için program açıldıktan sonra Create: Project ya da New Project seçeneği tıklanabilir. New Project penceresini açmak için farklı yollar da vardır.
DetaylıDESTEK DOKÜMANI. Kayıt Numaralama
Kayıt Numaralama Oluşturulacak şablon yardımıyla, sicil kartlara verilen numaraların özelleştirilmesi ve izlenebilirliğinin kolaylaştırılması sağlanmıştır. Bu özellik TB, Bordro ve IK ürünlerimizde bulunmaktadır..
DetaylıNB Macro Kullanımı Hakkında Genel Bilgiler
NB Macro Kullanımı Hakkında Genel Bilgiler Genel Bilgi Makro Nasıl Eklenir? NB Ekranlarda Genel Makro Mantığı Makro Nasıl Çağrılır? Örnek Makro Projesi Genel Bilgi Makro, gelişmiş bir HMI kontrol metodudur.
DetaylıEDI MIGROS (Sipariş) LOGO ENTEGRASYONU
EDI MIGROS (Sipariş) LOGO ENTEGRASYONU İçindekiler Tablosu EDI AKTARIM UYGULAMASI... 2 1. EDI B2B Aktarımı... 2 2. Migros B2B Aktarım... 7 3. Metro E-İrsaliye Oluşturma... 9 1 EDI AKTARIM UYGULAMASI EDI
DetaylıBasit Mimari, Katmanlı Mimari ve doğrudan çalıştırma olarak üçe ayrılır.
Yazılım Mimarisi 1.Yazılım Mimarisi Nedir? Yazılım mimarisi geliştirilen uygumaların maliyetlerinin azaltılmasında önemli bir yer tutar. Örneğin MVC modeli kullanarak bir uygulama geliştiriyoruz ve arayüz
DetaylıVERİ TABANI YÖNETİM SİSTEMLERİ I
BÖLÜM 8 8. TEMEL SQL KOMUTLARI-II 8.1. SELECT (Seç) Komutu Veri tabanındaki tablo veya tablolardan istenilen özellikteki verileri seçip listeleme için kullanılan komuttur. Genel kullanımı aşağıdaki gibidir.
DetaylıTEMEL BİLGİSAYAR BİLİMLERİ. Programcılık, problem çözme ve algoritma oluşturma
TEMEL BİLGİSAYAR BİLİMLERİ Programcılık, problem çözme ve algoritma oluşturma Programcılık, program çözme ve algoritma Program: Bilgisayara bir işlemi yaptırmak için yazılan komutlar dizisinin bütünü veya
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ıAlgoritmalar ve Programlama. Algoritma
Algoritmalar ve Programlama Algoritma Algoritma Bir sorunu / problemi çözmek veya belirli bir amaca ulaşmak için gerekli olan sıralı mantıksal adımların tümüne algoritma denir. Algoritma bir sorunun çözümü
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 ASELSAN A.Ş., REHİS Grubu, Ankara 16 Nisan 2009 1 1 İçerik Sinyal İşleme Yazılımları Çok İşlemci
Detaylı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ıTüm personel kendi KEP hesapları üzerinden mevcut ve önceki maaş bordrolarını görüntüleyebilecektir.
Mikro e-bordro Nedir? E-Bordro Uygulaması, Mikro Personel Programı tarafından oluşturulan maaş bordrolarının, otomatik olarak personel kartında tanımlı KEP adresi üzerinden toplu gönderimini sağlar. Mikro
DetaylıARDIŞIL DİYAGRAM YAPI DİYAGRAMI. Sistem Analizi ve Tasarımı Dersi
ARDIŞIL DİYAGRAM YAPI DİYAGRAMI Sistem Analizi ve Tasarımı Dersi İçindekiler Ardışıl Diyagram Nedir ve Neden Kullanılır... 3 Ardışıl Diyagram Elemanları... 3 MS Visio ile Ardışıl Diyagram Çizimi... 5 Violet
DetaylıÖnsöz. İçindekiler Algoritma Algoritma Nasıl Hazırlanır? Yazılımda Algoritma Mantığı Nedir? 1.2. Algoritma Örnekleri ve Sorular
Önsöz Giriş İçindekiler V VII IX 1.1. Algoritma 1.1.1. Algoritma Nasıl Hazırlanır? 1.1.2. Yazılımda Algoritma Mantığı Nedir? 1.2. Algoritma Örnekleri ve Sorular 2.1. Programın Akış Yönü 19 2.2. Başlama
Detaylı1.PROGRAMLAMAYA GİRİŞ
1.PROGRAMLAMAYA GİRİŞ Bilindiği gibi internet üzerindeki statik web sayfaları ziyaretçinin interaktif olarak web sayfasını kullanmasına olanak vermemektedir. Bu yüzden etkileşimli web sayfaları oluşturmak
DetaylıVERİ TABANI I. Yrd.Doç.Dr. İlker ÜNAL. Teknik Bilimler Meslek Yüksekokulu
VERİ TABANI I Yrd.Doç.Dr. İlker ÜNAL Teknik Bilimler Meslek Yüksekokulu Veri Tabanı Bileşenleri Tablolar : Veritabanının temel nesnesi tablolardır. Bilgilerin asıl tutulduğu yer tablodur. Diğer veritabanı
DetaylıBİL-142 Bilgisayar Programlama II
BİL-142 Bilgisayar Programlama II (C/C++) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Sınıflar, Nesneler, Fonksiyon ve Veri Üyeleri Sınıf ve Fonksiyon Üyeleri
DetaylıSAMM (Software Assurance Maturity Model) ile Güvenli Yazılım Geliştirme
SAMM (Software Assurance Maturity Model) ile Güvenli Yazılım Geliştirme Dr. Emin İslam Tatlı (tatli@architectingsecurity.com) Ocak 2011 1. SAMM nedir? Yazılım geliştirme süreçleri (Waterfall, Spiral, Agile
Detaylı16. Kesit ve Cephe Aracı
16. Kesit ve Cephe Aracı Bu Konuda Öğrenilecekler: Kesit/cephe bilgi kutusu ile çalışmak Kesit/cephe oluşturmak Kesit/cephe geçerli ayarlarıyla çalışmak Kesit/cephelere erişmek ve değiştirmek Kesit/cephelerin
DetaylıFatura Dosyalarını Yükleme ile ilgili Detaylar. 14 Temmuz 2014
14 Temmuz 2014 İlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL İlgili Modül/ler : E-Fatura Gelen e-fatura Dosyalarının Transferi Firmalara tedarikçilerinden veya hizmet aldıkları firmalardan gelen e-faturalar,
DetaylıKATEGORİ MİZANI BAŞLARKEN KATEGORİ NEDİR? NEDEN N İHTİYAÇ DUYULUR?
KATEGORİ MİZANI Doküman Kodu : RNT-02 Açıklama : Vio Kategori Mizanı Kullanımı Kapsam : Vio Nitelikleri Revizyon No : 2 Yayın Tarihi : Aralık 2012 BAŞLARKEN SKOR YAZILIM tarafından geliştirilen ticari
DetaylıKonakSis Müşteri Takip ve Kimlik Bildirim Sistemi
İÇİNDEKİLER : KonakSis... 2 Hoşgeldiniz... 2 Açıklama... 2 Formlar... 3 Giriş... 3 Ana Sayfa... 4 Ofis... 5 Program Seçenekleri... 5 Tanımlar... 6 Veritabanı İşlemleri... 9 Kullanıcı Değiştir... 11 Resepsiyon...
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ıİş Zekası için Dört-Katmanlı Veri Modellemesi Gerçekleştirimi. Harun Gökçe EG Yazılım, TOBB ETÜ
İş Zekası için Dört-Katmanlı Veri Modellemesi Gerçekleştirimi Harun Gökçe EG Yazılım, TOBB ETÜ İçerik İş Zekası Kavramı Tarihçesi İş Zekası Tanım, Kavramlar ve Gereklilik Dört-Katmanlı Veri Modellemesi
Detaylı1. GİRİŞ Kılavuzun amacı. Bu bölümde;
1. GİRİŞ Bu bölümde; Kılavuzun amacı EViews Yardım EViews Temelleri ve Nesneleri EViews ta Matematiksel İfadeler EViews Ana Ekranındaki Alanlar 1.1. Kılavuzun amacı Ekonometri A. H. Studenmund tarafından
Detaylı4. Bölüm Programlamaya Giriş
4. Bölüm Programlamaya Giriş Algoritma ve Programlamaya Giriş Dr. Serkan DİŞLİTAŞ 4.1. C# ile Program Geliştirme Net Framework, Microsoft firması tarafından açık internet protokolleri ve standartları
DetaylıQ-Biz İş Zekası Versiyon Yenilikleri Ekim 2014
Q-Biz İş Zekası Versiyon Yenilikleri Ekim 2014 İçindekiler Q-Biz İş Zekası Versiyon Yenilikleri... 1 1. Q-Biz - Çoklu Şirket-Dönem Seçimi... 3 2. Q-Biz Viewer Arşivle Butonu... 4 3. Q-Biz Rapor Yetkileri...
Detaylı