/ BAKANLIK MAKAMINA

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

Download "09.12.2013 / 02401 BAKANLIK MAKAMINA"

Transkript

1 T.C. GÜMRÜK VE TİCARET BAKANLIĞI Sayı : Konu :Yazılım Geliştirme Standartları / BAKANLIK MAKAMINA Tüm profesyonel alanlarda olduğu gibi yazılım geliştirme süreçlerinde ortak bir dilin ve standartların kullanılması, ortaya çıkan ürünün yetkin her teknik personel tarafından yönetilebilir ve anında müdahale edilebilir olmasını sağlayan, ürünün ve uygulamaların kişiye bağımlılığını ve buna bağlı maliyetleri ortadan kaldıran, böylece geliştirme süreçlerinin ve genel anlamda tüm organizasyonun kurumsallaşmasında kilit rol oynayan faktörlerdendir. Bu çerçevede Bilgi İşlem Dairesi Başkanlığınca bilgi işlem hizmetlerinin kurumsallaştırılması hedefi doğrultusunda çeşitli standardizasyon çalışmaları yürütülmektedir. Yürütülen standardizasyon çalışmaları kapsamında; Bakanlığımız yazılım alım ve projelerinin daha etkin yürütülebilmesi, yazılım geliştirme süreçleri ve sonrasında kişilere bağımlılığın ortadan kaldırılması, geliştirme ve bakım süreçlerinde bir kalite standardının korunabilmesi amaçlarını gerçekleştirmek üzere Bakanlığımız bünyesinde veya Bakanlığımız hizmetleri için dış kaynak kullanımı yoluyla gerçekleştirilen geliştirme ve bakım süreçlerinde esas alınmak üzere Bilgi İşlem Dairesi Başkanlığınca Yazılım Geliştirme Standartları belirlenmiştir. Halen yürütülmekte olan geliştirme ve bakım süreçleri ile yeni başlatılacak tüm projelerde Yazılım Geliştirme Standartları belgesi içeriğinin esas alınarak hizmet yürütülmesi, Bakanlığımızca alıma konu edilecek tüm yazılım hizmetlerinde bahse konu standartların ön koşul olarak aranması ve teknolojik gereksinimler doğrultusunda belge üzerinde gerek görülen teknik değişikliklerin Bilgi İşlem Dairesi Başkanı tarafından güncellenmesinin uygun olacağı değerlendirilmektedir. Takdir ve tensiplerine arz ederim. Uygun Görüşle Arz ederim..../11/ 2013 İsmail YÜCEL Müsteşar Yardımcısı V. OLUR.../11/ 2013 Ziya ALTUNYALDIZ Bakan a. Müsteşar Volkan KAPLAN Bilgi İşlem Dairesi Başkanı

2 Yazılım Geliştirme Standartları 2 S a y f a

3 İçindekiler Giriş... 5 Amaç... 5 Kapsam... 5 Geliştirme Ortamı... 6 Programlama Dili... 6 Kütüphaneler... 6 Kaynak Kod Sunucusu... 6 Check-in/Check-out Politikası... 6 Sürüm Branşları... 6 Kaynak Kod Dizin Hiyerarşisi... 7 Sürekli Entegrasyon... 7 Testler... 8 Hata Takip ve Talep Yönetim Sistemi... 8 Proje Oluşturulması... 8 Proje Liderinin ve Üyelerinin Belirlenmesi... 8 Talep Oluşturulması... 8 Proje Versiyonlaması... 8 Bileşenlerin Oluşturulması... 8 Raporlama... 8 Veritabanı İsimlendirme Standartlar... 8 Tabloların İsimlendirilmesi... 8 Sütunların İsimlendirilmesi... 9 Yazım Formatı:... 9 İndekslerin İsimlendirilmesi... 9 Yazım Formatı:... 9 Tetikleyicilerin İsimlendirilmesi Yazım Formatı: Saklı Prosedürlerin İsimlendirilmesi (Stored Procedüres) Görüntülerin İsimlendirilmesi (Views) Dış Anahtarların İsimlendirilmesi(Foreign Keys) Değişkenler ve Parametrelerin İsimlendirilmesi (Variables, Parameters) Ortak Yazılım Standartlar Düzen Açıklamalar S a y f a

4 Tasarım Sınıf Tasarımı Arayüz Tasarımı Sınıf Üye Tasarımı Yazılım Versiyonlama Sürüm Numaraları Versiyon Günlüğü Bilgilendirme, Uyarı ve Hata Mesajları Mesaj Sözlüğü Hata Yönetimi Loglama Kritik Veri Yönetimi Programlama Diline Özgü Standartlar C# Standartları İsimlendirme Stil String Veri Türü && ve Operatörleri Yerel Değişken Tanımı Sabit ve Salt Okunur İfadeler Enum İfadeler Diziler New Operatörü Delegate ler Olaylar Statik Üyeler Hata Yönetimi Web Servisleri Dış Kurumlardan/Sistemlerden Alınan Servisler Dış Kurumlara/Sistemlere sunulan Servisler Alınan/Sunulan Servislerin Güvenlik Politikaları Analiz S a y f a

5 Giriş Amaç Bu dokümanın amacı bünyesinde geliştirilen/kullanılan yazılımların geliştirme ve kodlama süreçlerini bir standarda oturtarak tutarlı, sürdürülebilir bir yapıya sahip olmasını sağlamaktır. Yazılım kodlarının tutarlı bir kodlamaya sahip olması ile birlikte yazılım geliştiriciler görünüme değil içeriğe odaklanabilme şansına sahip olacaktır. Bu durum beraberinde yazılım geliştiricilerin ilk defa inceleyeceği kodlarda bile daha yüksek bir aitlik duygusuna sahip olarak koda daha hızlı müdahale edebilmesini sağlayacaktır. Aitlik duygusunun beraberinde getirdiği hızlı müdahale ve adaptasyon ise kaçınılmaz olarak bakım maliyetlerinde düşüş olarak kendini gösterecektir. Yazılım kodlamalarında belirli bir standardın takip edilmesiyle birlikte kodları inceleyen yazılım geliştiriciler önceden sahip oldukları deneyimlerden yola çıkarak inceledikleri kod parçacıkları hakkında öngörülerde bulunabilecek, kod parçacıklarını yabancılık çekmeden kendi uygulamalarında kullanabilecek, bakımları yapılabilecektir. Yazılım standartları, belirlenirken ilgili dile ait en iyi pratiklerin bir araya getirilmesi nedeniyle junior yazılım geliştiriciler için de önemli bir rehber olacaktır. Beraberinde, hataya daha kapalı bir yazılım geliştirme ortamı sunacaktır. Kapsam Bu doküman yazılım geliştirme sırasında kullanılmak üzere kaynak kod yönetimi, hata ve talep yönetimi, veritabanı, web hizmetleri, yazılım kodlama düzeni, açıklama, isimlendirme, programlama stili dokümantasyon konularını kapsamakta olup uygulamalar, bileşen kütüphaneleri, web hizmetleri, web uygulamaları ve zengin istemci uygulamalarına uygulanabilir. 5 S a y f a

6 Geliştirme Ortamı Bu başlık altında uygulama geliştirme ortamının ne şekilde olması gerektiği ve olmazsa olmaz bileşenleri hakkında bilgiler verilmektedir. Programlama Dili Managed dillerin tercih edildiği projelerde uygulama C# ile geliştirilmelidir. Versiyon ile ilgili bir kısıtın bulunmaması (istemci, işletim sistemi v.b.) durumunda güncel en son versiyon kullanılmalıdır. Bu, önceden tespit edilerek düzeltilmiş olan hataların/açıkların önüne geçilmesi ve gerektiğinde destek alabilmek adına önemlidir. Web uygulamaları geliştirilirken Asp.Net MVC kullanılmalıdır. Aynı C# versiyonunda olduğu gibi Asp.Net MVC nin de mümkün olan en son versiyonu kullanılmalıdır. Kütüphaneler Veri erişiminde Entity Framework kullanılmalıdır. Bu sayede gerektiği durumlarda hızlı destek alınabilmesi mümkün olacaktır. Performans, güvenlik, kullanım kolaylığı gibi nedenlerle her zaman için en son sürümün kullanılmasına özen gösterilmelidir. Projede içerisinde kullanılan birinci ve ikinci parti kütüphaneler kaynak kodlarıyla birlikte teslim edilmelidir. Performans, hızlı geliştirme, düşük bakım maliyeti, destek v.b. nedenlerle üçüncü parti ticari kütüphanelerin tercih edilmesi durumunda lisansları ve destek süreleri azami proje ömrünü kapsamalıdır. Kullanılan tüm harici kütüphanelerin lisanslarının projede kullanılmalarına engel teşkil etmediği teyit edilmelidir. Kaynak Kod Sunucusu Uygulama kaynak kodlarının geliştirme ve bakım süreçlerinde takip edilebilir ve yönetilebilir olabilmesi için bir kaynak kod sunucusunda tutulması gerekmektedir..net tabanlı yazılım dilleri ile geliştirilen projeler için kullanılacak olan ortam Team Foundation Server (TFS) 2013 veya üzeri olmalıdır. Check-in/Check-out Politikası Kaynak kod sunucuna gönderilen her bir kod ile ilgili olarak yapılan işleme dair kısa; fakat açıklayıcı bir mesaj girilmelidir. Bu sayede kod geçmişi incelendiğinde hangi adımda hangi işlemin yapıldığı bilgisine daha rahat ulaşılacaktır. Bu amaçla kaynak kod sunucusunda Changeset Comments Policy aktif olmalıdır. Karışıklığa izin verilmemesi adına, bir kaynak kodu üzerinde aynı anda sadece bir yazılım geliştiricinin çalışması gereklidir. Bu amaçla kaynak kod sunucusunda çoklu check-out a izin verilmemelidir. Sürüm Branşları Kaynak kod sunucusunda Main, Test ve Production ortamlarına ait kodlar tutulmalıdır. Bu ortamlardan; Main: Yazılım geliştiricilerin aktif olarak kod yazdıkları geliştirme ortamıdır. 6 S a y f a

7 Test: Yazılımın bir sonraki sürümüdür. Bu branştaki kod üzerinde aktif kod geliştirme yapılmaz. Test ekibi çalışmalarını bu branş üzerinde gerçekleştirir. Test ekibinin tespitleri/geri bildirimleri ile ilgili çalışmalar ilk olarak bu branş üzerinde gerçekleştirilir. Bu değişiklikler daha sonra Main branşa da yansıtılmalıdır. Production: Yazılımın aktif kullanımda olan sürümüdür. Bu branş üzerinde aktif kod geliştirme yapılmaz. Uygulama ile ilgili sahadan gelen ve acil düzeltilmesi gereken talepler öncelikle bu branş üzerinde yapılır. Bu değişiklikler daha sonra sırasıyla Test ve Main branşlarına yansıtılır. Her test döngüsü başlangıcında kaynak kod Main branşından Test branşına merge edilir. Aynı şekilde her üretim döngüsü başlangıcında kaynak kod Test branşından Production branşına merge edilir. Kaynak Kod Dizin Hiyerarşisi Uygulama Kaynak kodlarının bir kaynak kod sunucusunda bulunması kadar bu sunucuda belirli bir düzende tutulması da önemlidir. Ürünlerin geliştirme, test ve üretim ortamlarındaki durumlarını birebir tutabilmek adına kaynak kod sunucusunda her bir faza ait bir branş bulunmalıdır. Bu branşları her biri içerisinde Reference ve Source adıyla iki klasör yer almalıdır. Bu klasörlerden Reference klasörü projeler tarafından kullanılan 3.parti kütüphaneleri barındırırken, Source klasörü proje kaynak kodlarının yer aldığı klasördür. Projenin tek bir ana çözüm ve alt projeleri yerine birden farklı ve bağımsız çözümden oluşması durumunda her bir branş altında ilgili çözüm adıyla bir klasör ve bu klasörlerin altında Reference ve Source klasörleri yer almalıdır. Sürekli Entegrasyon Özellikle Çevik (Agile) metodolojilerde duymaya alışkın olduğumuz Sürekli Entegrasyon (Continuous Integration) yazılımın sürekli test (Birim/Entegrasyon/Fonksiyonel) edilerek olası hataların daha geliştirme aşamasında tespit edilerek düzeltilmesini amaçlamaktadır. Bu sayede geliştirilen yazılım her an bir kalite kontrolünden geçirilmiş olacaktır. Aşağıda, yazılımlar için olması gerekli minimum Sürekli Entegrasyon döngülerini bulabilirsiniz; Gated Check-in: Yazılım geliştiricinin her bir check-in işlemi sonrasında kaynak kod için işletilen sürekli entegrasyon sürecidir. Bu süreçte temel amaç kaynak kodun her daim derlenebilir durumda olmasıdır. Dolayısıyla da büyük kod tabanına sahip sistemlerde test ve kalite kontrol süreçleri göz ardı edilebilir. TFS gibi kullanılan kaynak kontrol sunucunun yeteneklerinin izin vermesi durumunda gated check-in lerde başarısız derlemelerde yapılan check-in kabul edilmeyerek ana kod tabanına dahil edilmemelidir. Gecelik Derleme: Gün içerisindeki derlemelerden farklı olarak her gün sonunda, önceden belirlenmiş bir saatte kaynak kodun derlenerek test ve kalite kontrollerinden geçirilmesi sürecidir. Gated Check-in den farklı olarak Günlük derlemelerde test ve kalite kontrol süreçleri olmazsa olmaz adımlardır. Tercihen her bir günlük derleme sonunda oluşan çalıştırılabilir kod paket olarak arşivlenmelidir. Yazılım geliştirme ekibi günlük derlemeleri takip ederek olası hataları bir sonraki iş gidererek yazılım kalitesinin her daim üst seviyede olmasını takip etmelidir. Sürüm Derlemesi: Her yeni sürüm (test, üretim v.b.) öncesi kaynak kodun derlenerek test ve kalite kontrollerinden geçirilmesi sürecidir. Gecelik derlemelerden farklı olarak Sürüm derlemeleri sunucuya atılabilir hazır paket çıktılarına sahip olmalıdır. 7 S a y f a

8 Testler Geliştirilen projelerde her bir modüle ait testler olmalıdır. Projeler için birim testler oluşturulmalıdır. Birim testleri %50 nin üzerinde bir kod kapsama oranına sahip olmalıdır. Hata Takip ve Talep Yönetim Sistemi Bu başlık altında, Uygulamalarına yönelik hata bildirimlerinin, değişiklik ve iyileştirme taleplerinin değerlendirildiği Talep Yönetim Sistemi(TYS) anlatılmaktadır. Kurum içi ve/veya dışında başlatılan tüm projeler Talep Yönetim Sisteminden takip edilmelidir. Proje Oluşturulması bünyesinde geliştirilen/kullanılan her bir yazılımlara ait taleplerin takip edilebilmesi için Talep Yönetim Sistemi altında proje oluşturulmalıdır. Bu projeler proje sahipleri tarafından talep edilmelidir. Proje Liderinin ve Üyelerinin Belirlenmesi Talep Yönetim Sistemine yeni bir proje açılırken proje sahipleri tarafından projeye liderlik yapacak kişi, geliştiriciler ve ilgili iş birimi üyelerinin atanması sağlanmalıdır. Talep Oluşturulması Projenin geliştirilmesi, sahada kullanımı sırasında oluşan hatalar, yeni istekler ve iyileştirme talepleri Talep Yönetim Sistemi üzerinden girilmelidir. Projenin türüne göre bu iş kalemleri proje liderleri, yazılım geliştiriciler, iş analistleri, test ekibi ya da iş birimi üyelerince oluşturulmalıdır. Proje Versiyonlaması Proje versiyonlarına ait iş kalemlerinin takip edilebilmesi adına yeni talep oluşturulması esnasında projenin versiyon bilgisi girilmelidir. Bileşenlerin Oluşturulması Proje bileşenlerine ait iş kalemlerinin takip edilebilmesi adına yeni talep oluşturulması esnasında projenin bileşen bilgisi girilmelidir. Raporlama Talep Yönetim Sistemin de aktif kullanılan projelerin aylık, günlük, haftalık, bileşen ve versiyonlama bazında raporlarının istenildiğinde Word veya Excel formatta alınabilmelidir. Veritabanı İsimlendirme Standartlar Tabloların İsimlendirilmesi Tablolar, herhangi bir varlığın anlık bilgilerini sunmaktadır. Örneğin, tüm hasta bilgilerini bir tabloda saklanmaktadır. Burada hasta bir varlık niteliğindedir ve hasta tablosunun tüm satırları hasta varlığının anlık bilgilerini sunmaktadır. Bu durumda, tabloyu, bilgilerini sunduğu varlığın ismi uyarınca adlandırmak gereklidir. Yazım Formatı: MODULKODU(3 karakter)_amacayonelikisim Örnek: ORN_HASTA 8 S a y f a

9 Amaca yönelik kelimeler arasında _ karakteri kullanılmayacaktır. Amaç Hastalar hakkında veri saklayan bir veritabanında, Muayene Kabul departmanı ile ilgili tabloların isimlendirilmesi Radyoloji departmanı ile ilgili tablolar İsimlendirme HAS_KABUL HAS_SEVK HAS_MUAYENE RAD_SIRA RAD_BIRIM RAD_RANDEVU Sütunların İsimlendirilmesi Sütunlar, belirli bir varlığın özelliklerini tanımlarlar. Bu nedenle, sütun isimlerinin anlamlı ve doğal olması gereklidir. Sütun isimlerinin başına simgeledikleri varlık isimleri, sonlarına da bu varlık isimlerinin türlerini belirten kısaltmalar eklenmelidir. Yazım Formatı: SUTUNBELIRLEYICIISIM (her hangi bir ayraç olmamalı) Amaç Satış tablosunun sütunlarının adlandırılması İsimlendirme SATICI NAKIT Sütun isimlendirmelerinde ilgili kurallara dikkat edilmelidir: Sütun isimleri özel amaçlı sözcüklerden (reserved words) oluşmamalıdır. Sütun isimlerinde sadece sayılar (0-9), harfler (a-z,a-z) kullanılmalıdır. Özel karakterler kullanılmamalıdır (ör: _ ). Sütun isimlerinin başına modül kodu ya da tablo ismi eklenmemelidir. İndekslerin İsimlendirilmesi İndeks, veritabanından istenilen verilerin mümkün olan en az disk erişimiyle performanslı bir şekilde getirilmesi amacıyla kullanılan veritabanı yapılarıdır. Yazım Formatı: TABLOADI_IDX<nn> Örnek: ORN_IDX01_SATIS <nn> sıralı olarak artan bir sayı dizisidir. İndeks için sütun isimleri yerine sıralı olarak artan nn formatında sayilar kullanılacaktir. 9 S a y f a

10 Amaç HAS_KAYIT tablosununa konulacak birinci indeksin isimlendirilmesi İsimlendirme HAS_IDX01_KAYIT Tetikleyicilerin İsimlendirilmesi Tetikleyiciler, ilişkisel veri tabanı yönetim sistemlerinde bir tabloda belirli olaylar meydana geldiği zaman yani ekleme, güncelleme, silme işlemlerinden biri gerçekleşmeden önce veya sonra çalışan ve belirli işlemleri kodlandığı şekilde yerine getiren prosedürel program parçacıklarıdır. Yazım Formatı: MODULKODU(3 karakter)_ TRG_AMACAYONELIKISIM_ISLEM(3 karakter) Örnek: ORN_TRG_UPD_SATIS Modul Kodundan hemen sonra trigger olduğunu belirten TRG kelimesi kullanılacaktır. Amaca yönelik kelimeler arasında _ karakteri kullanılmayacaktır. Tetikleyici yazım formatında ISLEM olarak belirtilen kelime yerine işlemin amacına göre: ekleme (insert) işlemleri için INS, silme (delete) işlemleri için DEL güncelleme (update) işlemleri için UPD kelimeleri kullanılacaktır. Amaç Hasta tablosundaki insert, update ve delete tetikleyicilerin adlandırılması Hem insert hem de update için tek bir Tetikleyici kullanılıyor olması durumunda İsimlendirme HAS_TRG_INS_HASTAKAYIT HAS_TRG_UPD_HASTAKAYIT HAS_ TRG_DEL_HASTAKAYIT HAS_TRG_INS_UPD_HASTAKAYIT Saklı Prosedürlerin İsimlendirilmesi (Stored Procedüres) Saklı prosedürler, iyi tanımlanmış ve spesifik görev üstlenirler ve eylem/hareket odaklıdırlar. Bu nedenle, isimlerinin üstlendikleri görevleri ifade ediyor olması gereklidir. Yazım Formatı: MODULKODU(3 karakter)_sp_islem(3 karakter)_amacayonelikisimler SP_AMACAYONELIKISIMLER (Prosedürlerde kullanılan alt prosedürlerin isimlendirilmesinde) 10 S a y f a

11 Örnek: ORN_SP_SEL_HASTA Modul Kodundan hemen sonra stored procedure olduğunu belirten SP kelimesi kullanılacaktır. Amaca yönelik kelimeler arasında _ karakteri kullanılmayacaktır. Prosedür yazım formatında ISLEM olarak belirtilen kelime yerine SP nin içerisinde yapılmak istenen temel amaca göre Ekleme (insert) işlemleri için INS, Silme (delete) işlemleri için DEL Güncelleme (update) işlemleri için UPD Sorgulama (select) işlemleri için SEL Zamanlanmış (scheduled) işlemler için BAT kelimeleri kullanılacaktır. Bazı durumlarda SP ler hem select hem insert hem de update işlemlerini içerebilirler. Bu durumda SP ile sonuçta yapılmak istenen ana işlem hangisi ise ona uygun işlem kelimesi kullanılması gerekmektedir. Amaç Hasta Tablosunda, belirli bir sicil numarası ile hasta bilgilerini sorgulayan saklı prosedürün isimlendirilmesi Hasta Tablosunda, Hasta bilgilerini güncelleyen prosedürün isimlendirilmesi Hasta Tablosuna, yeni Hasta bilgileri ekleyen prosedürün isimlendirilmesi Batch işlemler için uygulanacak isimlendirme İsimlendirme HAS_SP_SEL_HASTADETAYI HAS_SP_UPD_HASTABILGI HAS_SP_INS_HASTALBILGI HAS_SP_BAT_HASTABILGI Görüntülerin İsimlendirilmesi (Views) Herhangi bir andaki görünüm, o an programa erişen uygulama için oluşturulan bir tablodan ibarettir. Bu nedenle tablo isimlendirme kuralları görüntü tabloları için de geçerlidir. Yazım Formatı: MODULKODU(3 karakter)_v_amacayonelikisim Örnek: ORN_V_HASTA Yazımdaki formatındaki V harfi View i belirtmek için kullanılacaktır. Amaca yönelik kelimeler arasında _ karakteri kullanılmayacaktır. 11 S a y f a

12 Amaç Hasta Tablosunda Hasta ve Adres tablolarını birleştiren bir görünümün adlandırılması İsimlendirme HAS_V_HASTAADRES Genel amaçlı görünümler için GEN_V_HASTAADRES Dış Anahtarların İsimlendirilmesi(Foreign Keys) Dış Anahtar, veritabanındaki diğer veri tablolarıyla ilişki kurmaya yarayan bir anahtardır. Tabloları birleştirmek için de kullanılır. Bu anahtar, irtibat kurulan veri tablolarının bir tanesinin de ana anahtarıdır. Yazım Formatı: MODULKODU(3 karakter)_fk_ AMACAYONELIKISIM Örnek: ORN_FK_HASTAAKRABA Dış anahtar isimlendirme kuralı olarak, Modul Kodundan hemen sonra _FK eklenmelidir. Amaca yönelik kelimeler arasında _ karakteri kullanılmayacaktır. Değişkenler ve Parametrelerin İsimlendirilmesi (Variables, Parameters) Veritabanı nesnelerinin parametre isimleri p_ ile, nesne içinde sütun adını saklamayan değişkenler ise v_ öneki ile başlatılmalıdır. Yazım Formatı: p_parametreismi v_degiskenismi Örnek: p_hastakod V_HastaAd Veritabanı nesnelerine giren parametreler nesne içerisinde nesne_ismi.parametre_ismi şeklinde kullanılmamalıdır. Veritabanı nesnelerinde tanımlanan değişkenler nesne içerisinde nesne_ismi.degisken_ismi şeklinde kullanılmamalıdır. Veritabanı nesnelerinde tanımlanan parametre ve değişken isimleri, nesne içerisinde kullanılan tabloların alanlarıyla aynı ismi taşımamalıdır. 12 S a y f a

13 Önceden tanımlanmış ancak mevcut durumda kullanılmayan değişkenler veritabanı nesneleri içerisinden silinmelidir. Ortak Yazılım Standartlar Bu başlık altında bünyesinde geliştirilen/kullanılan yazılımlarda kullanılacak ve herhangi bir programlama dilinden bağımsız olan standartlara yer verilmektedir. Dokümanın devamı incelenirken her daim akılda tutulması gereken altın kuralları aşağıda bulabilirsiniz; Kod mümkün olduğunca basit ve okunaklı olmalıdır. Karmaşık sınıf yapılarından ziyade basit, anlaşılır sınıf yapıları tercih edilmelidir. Basit; ama işi çözen mimarilerin her zaman için daha düşük bakım maliyetlerine sahip olduğu unutulmamalıdır. Her bir sınıf, struct, arayüz, enum kendine ait ayrı bir dosya içerisinde yer almalıdır. Bu duruma tek istisna iç içe sınıflardır. Uygulama içerisinde kullanılan sihirli değerler asla kod arasında tutulmamalıdır. Bunun yerine sabit, salt-okunur ya da enum şeklinde ve yapılandırma ya da kaynak dosyaları içerisinde tutulmalıdır. Uygulama geliştirme sırasında kullanılan ve son kullanıcı tarafında asla görülmemesi gereken değerler/ifadeler için asla arayüz bileşenleri (örneğin mesaj kutucuları) kullanılmamalıdır. Bunun yerine debug verisini takip edebilmek için izleme ve loglama yapıları kullanılmalıdır. Geliştirilen uygulamalarda mutlaka ticari ya da topluluklarca kabul edilmiş izleme ve/veya loglama kütüphaneleri kullanılmalıdır. Bu kütüphanelere Log4j, Log4Net ya da Common.Logging örnek olarak verilebilir. Fonksiyonlar sadece bir işi yerine getirmek için yazılmalıdır. Bir fonksiyon içerisinde aynı anda birden çok işin gerçekleştirilmesinden kaçınılmalıdır. Alt iş kalemleri her zaman için ayrı fonksiyonlara taşınmalıdır. Fonksiyonlar içerisinde basit atama işleri bir kenara bırakıldığında çok uzun kodlar yer almamalıdır. Bir önceki madde ile birleştirildiğinde bu durum kodun karmaşıklığına işaret etmektedir. Harici kaynaklarda (dosya, web servis, kullanıcı girdileri v.b.) sisteme kabul edilen her türlü bilgi öncelikle uygulama iş mantıklarında doğrulanmalıdır. Düzen Kodlamadaki düzen geliştirilen uygulama kodlarının daha rahat okunabilmesi adına önemlidir. Bu nedenle bünyesinde geliştirilen/kullanılan yazılımlarda aşağıdaki düzen standartlarına uyulması beklenmektedir; Her bir satıra sadece bir ifade yazılmalıdır. Her bir satıra sadece bir tanımlama yazılmalıdır. Fonksiyon tanımları ile özellik tanımları arasında en az bir satır boşluk bırakılmalıdır. if, while, try-catch v.b. dil yapılarında kullanılan programlama dili izin verse bile kod bloğu belirteçleri olmadan kod yazılmamalıdır. Tek satır bile olsa bu ifadelerde ilgili programlama dilinde tanımlı kodlama bloğu kullanılmalıdır. 13 S a y f a

14 if (deger1 <= 0) { Console.WriteLine("Sıfırdan büyük değer girilmelidir"); İfadelerin daha net olmasını sağlamak adına parantezler kullanılmalıdır. if ((deger1 < 5) && (deger2 >= 7)) { // İş mantığı kodları. Açıklamalar Yazılım kodlamalarının sade olması birincil hedefler arasın yer alması gerekse de bazı durumlarda yazılan kodun anlaşılabilmesi için ek açıklamalara ihtiyaç duyulacaktır. Bu nedenle T.C. Gümrük ve Ticaret Bakanlığı bünyesinde geliştirilen/kullanılan yazılımlarda aşağıdaki açıklama standartlarına uyulması beklenmektedir; Tüm açıklama blokları Türkçe ve kolay anlaşılabilir olmalıdır Yazılan açıklamalar ilgili kod bloğu satır sonuna yazılmamalıdır. Açıklamalar ayrı bir satırda olmalıdır Açıklama cümleleri her zaman için büyük harf ile başlamalıdır Açıklama cümleleri her zaman nokta ile sonlanmalıdır Kodu inceleyenin dikkatini dağıtmamak adına, açıklamaların etrafı * v.b. karakterler ile süslenmemelidir İlgili dilin açıklama blok karakterlerinden sonra bir boşluk bırakılmalıdır // Kullanıcı tarafından girilen değerin sıfırdan büyük // olması durumunda kullanıcıyı uyar. Kod içerisinde yer alan her bir sınıf ve fonksiyon için ilgili açıklama blokları içerisinde kullanım ve amaç belirtilmelidir Fonksiyonların hemen üzerinde yer alan açıklama bloğunda özet açıklama, her bir parametreye ait açıklama, varsa geri dönüş değeri açıklaması yer almalıdır. Bunlara ek olarak; alınması olası hatalar ve fonksiyonun kullanımı ile ilgili dikkat edilmesi gereken noktalar belirtilmelidir. Açıklama bloğunda kullanım örnekleri de verilebilir. Tasarım Bu başlık altında sınıf, arayüz v.b. temel programlama yapı taşlarının tasarımları sırasında dikkat edilmesi gerekli noktalar verilmektedir. Sınıf Tasarımı Her bir sınıfın sadece bir amacı olmalıdır. Bir sınıf ya personel, araç v.b. tek bir domain nesnesini temsil etmelidir ya da tek bir atomik iş mantığını. Bir sınıfa birden fazla anlam yüklenmemelidir. Bir sınıfın kullanıma hazır olabilmesi için constructer yeterli olmalıdır. Sınıfı işlevini yerine getirmesi için ihtiyacı olan parametrelerin constructer dan geçilmesi yeterli olacaktır. Bir sınıfın constructer ı 3 ya da 4 parametreden fazlasını istiyorsa sınıfa birden fazla sorumluluk verilmiş olabilir. Böylesi bir durumda sınıf tasarımı gözden geçirilmelidir. Kalıtılan sınıfın üye fonksiyonlarını new anahtar kelimesi ile saklanmamalıdır. Bu durumun nesne-tabanlı programlamanın önemli bir prensibi olan polymorphism i ihlal ettiği asla unutulmamalıdır. 14 S a y f a

15 Tüm sınıflar aksi gerekmediği sürece internal olarak tanımlanmalıdır. Arayüz Tasarımı Her bir arayüzün sadece bir amacı olmalıdır. Bir arayüz ya bir domain yapısını temsil etmelidir ya da tek bir atomik iş mantığını. Arayüzler olabildiğince küçük ve amaca uygun tasarlanmalıdır. Her zaman için temel sınıfların kullanımı yerine arayüz kullanımı tercih edilmelidir. Pek çok modern dilin çoklu kalıtıma izin vermediğini unutulmamalıdır. Yazılım geliştiriciyi kısıtlamak için özel bir amaç yok ise işlevselliğin tanımlanması için mümkün olduğunca arayüzler tercih edilmelidir. Tüm arayüzler aksi gerekmediği sürece internal olarak tanımlanmalıdır. Sınıf Üye Tasarımı Üye nin her çağrımında yeni bir değer alındığı durumlarda özellik yerine fonksiyon kullanılmalıdır. Bu duruma en güzel örnek Guid sınıfı NewGuid fonksiyonudur. Bu fonksiyon her çağırıldığında farklı bir değer dönmektedir. Dolayısıyla özellikle olarak tanımlanmamalıdır. Bir fonksiyon sadece tek bir sorumluluğa sahip olmalıdır. Birden fazla iş aynı anda bir fonksiyon içerisinde yapılmamalıdır. Bir fonksiyondan küme dönmek için array, list v.b. yapılar doğrudan tercih edilmemelidir. Bu veri türlerinin fonksiyonun çağırıldığı noktalarda değiştirilebileceği göz önüne alınmalıdır. Örneğin C# ile geliştirilen uygulamalarda küme değerler için IEnumerable<T>, ICollection<T>, IReadOnlyCollection<T>, IReadOnlyList<T> ya da IReadOnlyDictionary<TKey, TValue> tercih edilmelidir. String ya da bir küme dönen fonksiyonlar hiçbir zaman null (boş) değer dönmemelidir. Pek çok senaryoda boş değerin fonksiyonun kullanan yazılım geliştirici tarafından beklenmediği ve hatalara sebep olabileceği göz önüne alınmalıdır. Tüm sınıf üyeleri aksi gerekmediği sürece private olarak tanımlanmalıdırlar. Yazılım Versiyonlama bünyesinde geliştirilen/kullanılan yazılımlarda değişikliğin takip edilebilmesi ve yönetilebilmesi adına yazılımların versiyonlanması önemlidir. Bu başlık altında yazılım versiyonlamada dikkat edilmesi gerekli noktalar bulunmaktadır. Sürüm Numaraları Geliştirilen yazılımların her bir sürümü tekil sürüm numaralarına sahip olmalıdır. Bir uygulamanın yeni sürümü her zaman için bir önceki sürümden daha üst sürüm numarasına sahip olmalıdır. Sürüm numaraları x.y.z.w formatında verilmelidir. Buradaki ifadelerden; X: Major sürümü belirtmektedir. Major sürüm numarası ancak projedeki önemli değişiklikler sonrasında artmalıdır. Projelerde yaşanabilecek önemli değişikliklere mimari değişiklikler, programlama dili değişikliği, veritabanı değişikliği ve teknolojik değişiklikler örnek verilebilir. Y: Minor sürümü belirtmektedir. Minor sürüm numarası yazılımın modüllerindeki değişlikler, iş biriminden gelen taleplerin gruplanması ve benzeri sebeplerle değişebileceği gibi çevik metodolojilerde kullanılan sprint leri de belirtebilir. Z: Derleme numarasını belirtmektedir. Projenin derleme sunucusu üzerinden gerçekleştirilen günlük derleme sırasını belirtmektedir. Aynı kaynak kodunun farklı yapılandırma ile aynı 15 S a y f a

16 anda birden fazla derlemeye sahip olabileceği düşünüldüğünde derleme numarası bilgisi hangi yapılandırma ile derleme yapıldığını da belirtecektir. W: Değişiklik seti id sini belirtmektedir. Sürümün derlendiği kaynak kodun en güncel değişiklik seti (changeset) id sidir. Bu bilgi sayesinde çalışabilir kod ile kaynak kod eşleştirmesi yapılmış olacaktır. Yukarıda sıralı bilgilerden yola çıkılarak aktif kullanılan uygulamanın hangi majör ve minör versiyona ait olduğu bilgisi yanında hangi derleme sonunda üretildiği, kaynak kodun hangi haliyle üretildiği gibi önemli bilgilere ulaşılabilir. Versiyon Günlüğü Geliştirilen yazılımların takip edilebilirliği açısından versiyonlama önemlidir. Yazılımın her bir versiyonunun yayınlanması sırasında bu yeni versiyon ile birlikte gelen yenilik, iyileştirme ve diğer değişikliklerin iletilmesi gerekmektedir. Bu amaçla, her bir yazılım sürümünde bu değişikliklere ait hata takip ve/veya talep yönetim tekil id bilgisini de içeren bir versiyon günlüğü yayınlanmalıdır. Bilgilendirme, Uyarı ve Hata Mesajları Geliştirilen yazılımların maliyetleri incelendiğinde bakım sürecindeki yazılımlardaki en önemli maliyet kalemlerinden birisinin de kullanıcılardan gelen bilgilendirme ve hata taleplerinin yönetilmesi olduğu görülecektir. Bu maliyetin düşürülmesinin en temel yollarından birisi de taleplerin yazılım geliştirme ekibinin önüne gelmeden yönetilerek çözülebilmesidir. Bu amaçla; T.C. Gümrük ve Ticaret Bakanlığı bünyesinde geliştirilen/kullanılan yazılımlarda son kullanıcıya gösterilen bilgilendirme, uyarı, hata v.b. mesajlar Türkçe, kolay anlaşılır ve çözüme yönlenlendirici olmalı, mesajlar sınıflandırılarak her birine tekil bir kod atanmalıdır. İlgili mesaj ile birlikte mesaja ait bu tekil kodda son kullanıcıya gösterilmelidir. Bu kodlar ilgili mesajlarla birlikte dokümante edilmelidir. Bu tekil kod yardımıyla uygulama ile ilgili bir bildirimde bulunan son kullanıcının derdiği daha hızlı ve kolay biçimde anlatması sağlanacaktır. Mesaj Sözlüğü bünyesinde geliştirilen/kullanılan yazılımlarla birlikte bir mesaj sözlüğü sunulmalıdır. Bu sözlük içerisinde yukarıda bahsedilen ve uygulama içerisinde yer alan tüm bilgilendirme, uyarı, hata v.b. mesajlar ile bu mesajlara ait tekil kodlar yer almalıdır. Buna ek olarak; bu mesaja ilişkin son kullanıcının yönlendirilmesi / sorunun çözülmesi adına takip edilmesi gerekli adımlar detaylı olarak yer almalıdır. Hata Yönetimi Uygulamaların sağlıklı çalışmasının olmazsa olmaz bir parçası olan hata yönetimine önem verilmelidir. Hata yönetiminin maliyetinin yüksek olduğu göz önüne alınarak kesinlikle iş mantığının bir parçası olarak kullanılmamalıdır. İş mantığına / sürece ilişkin tüm bilgilendirmeler fonksiyon geri dönüşü olarak yapılmalıdır. Uygulamanın kullanımı sırasında oluşan hataların yönetilmesi amacıyla takip, müdahale ve düzeltme sistemleri kullanılarak mümkün olduğunca insan müdahalesine ihtiyaç duymayan otonom hata yönetim sistemleri kurulmalıdır. Loglama Geliştirilen uygulamalarda ticari ya da topluluklarca kabul edilmiş izleme ve/veya loglama kütüphaneleri kullanılmalıdır. Bu kütüphanelere Log4j, Log4Net ya da Common.Logging örnek olarak verilebilir. 16 S a y f a

Yazılım Kodlama ve İ simlendirme Standartları v1.0

Yazılım Kodlama ve İ simlendirme Standartları v1.0 Yazılım Kodlama ve İ simlendirme Standartları v1.0 İçerik Yazılım Kodlama ve İsimlendirme Standartları... 2 1. Amaç... Hata! Yer işareti tanımlanmamış. 2. Kapsam... Hata! Yer işareti tanımlanmamış. 3.

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 03. Görsel Programlama - Ders03/ 1

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

Detaylı

DSİ kapsamında oluşturulan dağınık durumdaki verilerinin düzenlenmesi, yeniden tasarlanarak tek bir coğrafi veri tabanı ortamında toplanması,

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ı

Yazılım-donanım destek birimi bulunmalıdır.

Yazılım-donanım destek birimi bulunmalıdır. BİLGİ YÖNETİMİ Yazılım-donanım destek birimi bulunmalıdır. o Yazılım-donanım destek birimi 24 saat kesintisiz hizmet sunmalı, o Yazılım-donanım destek birimi çalışanlarının güncel iletişim bilgileri santralde

Detaylı

ÖZ DEĞERLENDİRME SORU LİSTESİ

ÖZ DEĞERLENDİRME SORU LİSTESİ T.C TÜRKİYE KAMU HASTANELERİ KURUMU BURSA İLİ KAMU HASTANELERİ BİRLİĞİ GENEL SEKRETERLİĞİ ORHANELİ İLÇE DEVLET HASTANESİ VE RAPORU BİLGİ YÖNETİMİ ÖZDEĞERLENDİRME SORU LİSTESİ TARİH: Doküman Kodu Yayın

Detaylı

VERİ TABANI ve YÖNETİMİ

VERİ TABANI ve YÖNETİMİ VERİ TABANI ve YÖNETİMİ Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü 2 BÖLÜM -12- TETİKLEYİCİ (TRIGGER) 3 Giriş Trigger lar Trigger lar Ne Zaman Kullanılmalıdır? Klasik Trigger ların Özellikleri

Detaylı

2-Veritabanı Yönetim Sistemleri/ Temel Kavramlar

2-Veritabanı Yönetim Sistemleri/ Temel Kavramlar 2-Veritabanı Yönetim Sistemleri/ Temel Kavramlar Öğr. Gör. Saliha Kevser KAVUNCU Veritabanı neden kullanılır? Veritabanının amacı; insanların ve organizasyonların birşeyleri takip edebilmesine yardımcı

Detaylı

1 PROGRAMLAMAYA GİRİŞ

1 PROGRAMLAMAYA GİRİŞ İÇİNDEKİLER IX İÇİNDEKİLER 1 PROGRAMLAMAYA GİRİŞ 1 Problem Çözme 1 Algoritma 1 Algoritmada Olması Gereken Özellikler 2 Programlama Dilleri 6 Programlama Dillerinin Tarihçesi 6 Fortran (Formula Translator)

Detaylı

WebInstaller. 1. Kurulum Đçin Gereksinimler

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ı

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ı

SQL e Giriş. Uzm. Murat YAZICI

SQL e Giriş. Uzm. Murat YAZICI SQL e Giriş Uzm. Murat YAZICI SQL (Structured Query Language) - SQL Türkçe de Yapısal Sorgulama Dili anlamına gelmektedir ve ilişkisel veritabanlarında çok geniş bir kullanım alanına sahiptir. - SQL ile

Detaylı

Web Uygulama Güvenliği Kontrol Listesi 2010

Web Uygulama Güvenliği Kontrol Listesi 2010 Web Uygulama Güvenliği Kontrol Listesi 2010 1 www.webguvenligi.org Web uygulama güvenliği kontrol listesi 2010, OWASP-Türkiye ve Web Güvenliği Topluluğu tarafından güvenli web uygulamalarında aktif olması

Detaylı

Online Protokol Üretim Projesi

Online Protokol Üretim Projesi Online Protokol Üretim Projesi Yazılım Geliştirici Kılavuzu Sürüm 1.5 Kasım 2012 Proje Pilot Başlangıç Zamanı 19.11.2012 Pilot Proje Uygulama Yeri Ankara İli Sağlık Hizmet Sağlayıcıları Proje Yöneticisi

Detaylı

=~ Metodu 92 Karakter Sınıfları 94 sub ve gsub metotları 101 Hızlı Tekrar 102 Kontrol Noktası 103 Düello 106 Sonraki Bölümde 109

=~ Metodu 92 Karakter Sınıfları 94 sub ve gsub metotları 101 Hızlı Tekrar 102 Kontrol Noktası 103 Düello 106 Sonraki Bölümde 109 vii 1 Neden Ruby? 2 Ruby Kurulumu 5 Windows ta Ruby Kurulumu 5 Linux ve Mac OS ta Ruby Kurulumu 6 Doğru Geliştirme Ortamının Seçimi 6 Diğer Ruby Uyarlamaları 9 Örnek Kodlar Hakkında 10 İnternet Adresi

Detaylı

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6 ix Yazılım Nedir? 2 Yazılımın Tarihçesi 3 Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5 Yazılımın Önemi 6 Yazılımcı (Programcı) Kimdir? 8 Yazılımcı Olmak 9 Adım Adım Yazılımcılık 9 Uzman

Detaylı

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance Önemli noktalar Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance public class Test { // çalışır İnsan insan = new Çiçekçi();

Detaylı

NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM

NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM 2014) //Class (Sınıf) // Sınıf (class) soyut veri tipidir. // Nesne (object) sınıfın somutlaşan bir cismidir. // static : nesnesi oluşturulmaz.

Detaylı

TC KİMLİK NO SMS GÖNDERİM SOAP API

TC KİMLİK NO SMS GÖNDERİM SOAP API TC KİMLİK NO SMS GÖNDERİM SOAP API İçindekiler 1. Bu Belgenin Amacı... 3 2. Belge Sürümleri... 3 3. Sistem Gereksinimleri... 3 4. Kullanım Şekli... 3 4.1. Genel... 3 4.2. Uyarılar... 3 4.3. Hata Kodları...

Detaylı

Ders 8: Metotlar. barisgokce.com

Ders 8: Metotlar. barisgokce.com Ders 8: Metotlar Hazırlayan : Öğr. Grv.. Barış GÖKÇE Đletişim im : www.barisgokce barisgokce.com Metotlar C# içerisinde bir veya birden fazla kod bulunduran kod bloklarıdır. Bir nesnenin veya sınıfın programı

Detaylı

«BM364» Veritabanı Uygulamaları

«BM364» Veritabanı Uygulamaları HAFTA 8 DB içerisinde CLR Bileşenleri" Yaşar GÖZÜDELİ ygozudeli@verivizyon.com http://blog.verivizyon.com/ygozudeli «BM364» Veritabanı Uygulamaları Konu Akışı SQL Server ve.net CLR SQL Server içerisinde

Detaylı

İNTERNET PROGRAMCILIĞI DERSİ

İNTERNET PROGRAMCILIĞI DERSİ İNTERNET PROGRAMCILIĞI DERSİ Dersin Modülleri İnternet Programcılığı 1 İnternet Programcılığı 2 İnternet Programcılığı 3 İnternet Programcılığı 4 İnternet Programcılığı 5 Kazandırılan Yeterlikler Programlama

Detaylı

Netsis e-fatura UBL-TR v1.2 Geçişi

Netsis e-fatura UBL-TR v1.2 Geçişi Netsis e-fatura UBL-TR v1.2 Geçişi Amaç ve Fayda Ürün Grubu Gelir İdaresi Başkanlığı tarafından yürütülen elektronik fatura çalışmaları kapsamında oluşturulan UBL-TR v1.2, UBL 2.1 standardında yer alan

Detaylı

@6 SERİSİ ÜRÜN KURULUMU

@6 SERİSİ ÜRÜN KURULUMU @6 SERİSİ ÜRÜN KURULUMU Ürün Grubu [X] Fusion [X] Fusion Standard [X] Entegre W3 Kategori [X] Yeni Fonksiyon Versiyon Önkoşulu @6 Uygulama @6 serisi ürünlerin kurulum işlemleri sadece on-line internet

Detaylı

Bilgisayarda Programlama. Temel Kavramlar

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

Detaylı

ÜNİT E ÜNİTE GİRİŞ. Algoritma Mantığı. Algoritma Özellikleri PROGRAMLAMA TEMELLERİ ÜNİTE 3 ALGORİTMA

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

JAVA API v2.0 Belge sürümü: 2.0.2

JAVA API v2.0 Belge sürümü: 2.0.2 JAVA API v2.0 Belge sürümü: 2.0.2 1. İçindekiler 1. İÇİNDEKİLER... 2 2. BU BELGENİN AMACI... 3 3. BELGE SÜRÜMLERİ... 3 4. SİSTEM GEREKSİNİMLERİ... 3 5. KULLANIM ŞEKLİ... 4 5.1. GENEL... 4 5.2. UYARILAR...

Detaylı

COĞRAFİ BİLGİ SİSTEMLERİ İLERİ SEVİYE EĞİTİMLERİ BUILDING GEODATABASE EĞİTİMİ

COĞRAFİ BİLGİ SİSTEMLERİ İLERİ SEVİYE EĞİTİMLERİ BUILDING GEODATABASE EĞİTİMİ COĞRAFİ BİLGİ SİSTEMLERİ İLERİ SEVİYE EĞİTİMLERİ BUILDING GEODATABASE 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İ

Detaylı

şeklinde yürütülen geniş kapsamlı ve detaylı bir çalışmadır.

şeklinde yürütülen geniş kapsamlı ve detaylı bir çalışmadır. T.C. ÇUKUROVA ÜNİVERSİTESİ FENBİLİMLERİ ENSTİTÜSÜ İŞ GÜVENLİĞİ ANABİLİM DALI II. ÖĞRETİM TEZSİZ YÜKSEK LİSANS PROGRAMI DÖNEM PROJESİ DERSİ YAZIM VE SUNUM KILAVUZU 1. GENEL KONULAR 1.1. Tanım Çukurova Üniversitesi,

Detaylı

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

Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları. Mustafa Kemal Üniversitesi Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları Veri yapısı, bilginin anlamlı sırada bellekte veya disk, çubuk bellek gibi saklama birimlerinde tutulması veya saklanması şeklini gösterir. Bilgisayar

Detaylı

Algoritmalar ve Programlama. Algoritma

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ı

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

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

Detaylı

Uygulama İş Akış Kaydında Koşul Tanımlamaları

Uygulama İş Akış Kaydında Koşul Tanımlamaları İŞ AKIŞ YÖNETİMİ YENİLİKLERİ Amaç ve Fayda İş Akış Kayıtlarında yapılan değişiklikler ile; İş akış kayıtlarının koşula bağlı tanımlanabilmesi, İş akış kaydında bulunan açık işlerin farklı iş akış kaydına

Detaylı

ELN1001 BİLGİSAYAR PROGRAMLAMA I

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

Detaylı

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Veri Tabanı ve Yönetimi (BİL 301)

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Veri Tabanı ve Yönetimi (BİL 301) Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Veri Tabanı ve Yönetimi (BİL 301) GENEL DERS BİLGİLERİ Öğretim Elemanı : Öğr. Gör. Erdal GÜVENOĞLU Ofis : MUH 313 Ofis Saatleri : Pazartesi: 10.00-12.00,

Detaylı

Akademisyen Kullanıcı Kılavuz Dokümanı

Akademisyen Kullanıcı Kılavuz Dokümanı MOS BİLİŞİM TEKNOLOJİLERİ YAZILIM VE DANIŞMANLIK HİZMETLERİ LTD.ŞTİ. Akademisyen Kullanıcı Kılavuz Dokümanı Sayfa 1 / 13 İçindekiler Tablosu 1 Giriş... 3 1.1 Belgenin Amacı... 3 1.2 Belgenin Kapsamı...

Detaylı

Client Server Database

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

Detaylı

TUİK Netsis Erp Paketi Entegrasyonu ve Yıllık İş İstatistikleri Sanayi ve Hizmet Araştırması (YSHİ) Anketi

TUİK Netsis Erp Paketi Entegrasyonu ve Yıllık İş İstatistikleri Sanayi ve Hizmet Araştırması (YSHİ) Anketi TUİK Netsis Erp Paketi Entegrasyonu ve Yıllık İş İstatistikleri Sanayi ve Hizmet Araştırması (YSHİ) Anketi Uygulamanın Amacı Uygulama amacı, Netsis Erp paketi ile bağlantı kurarak Türkiye İstatistik kurumu

Detaylı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama JDBC (Java Database Connectivity) Üst Düzey Programlama-ders07/ 1 JDBC JDBC ilişkisel veritabanlarına erişim için Java dilinde kullanılan standart bir kütüphanedir. Bu kütüphanedeki

Detaylı

WWW.OZTEKHABERLESME.COM

WWW.OZTEKHABERLESME.COM ÖZTEK HABERLEŞME APİ DÖKÜMANI WWW.OZTEKHABERLESME.COM VER:6.1.0 ~ 1 ~ İÇİNDEKİLER BİLMENİZ GEREKENLER... 3 HTTP POST (XML) YÖNTEMİ... 4 TANIMLAR... 4 ÖRNEK XML YAPISI... 4 PHP ÖRNEK KOD... 5 Örnek Sayfayı

Detaylı

Yazılım Gereksinimlerine İlişkin Belirtimler. Sürüm <1.0>

<Ekip Adı> <Proje Adı> Yazılım Gereksinimlerine İlişkin Belirtimler. Sürüm <1.0> Yazılım Gereksinimlerine İlişkin Belirtimler Sürüm [Not: Aşağıda yer alan şablon, Rational Unified Process ile birlikte kullanılmak üzere sağlanmıştır] [Köşeli parantezler

Detaylı

İlk Konsol Uygulamamız 2 İlk Windows Uygulamamız 9.Net Framework Yapısı 18 Neler Öğrendik 19. Veri Tipleri 24 Tanımlı Veri Tipleri 27 Basit Tipler 28

İlk Konsol Uygulamamız 2 İlk Windows Uygulamamız 9.Net Framework Yapısı 18 Neler Öğrendik 19. Veri Tipleri 24 Tanımlı Veri Tipleri 27 Basit Tipler 28 ix 1 İlk Konsol Uygulamamız 2 İlk Windows Uygulamamız 9.Net Framework Yapısı 18 Neler Öğrendik 19 23 Veri Tipleri 24 Tanımlı Veri Tipleri 27 Basit Tipler 28 Kayan Nokta Tipleri 30 Sayısal Veri Tipi Dönüşümleri

Detaylı

Bilgi ve Olay Yönetim Sistemi

Bilgi ve Olay Yönetim Sistemi 1 Bilgi ve Olay Yönetim Sistemi Kurulum Kılavuzu Nisan 2016 Versiyon Sürüm 2.1.3 2 İçindekiler Bilgi ve Olay Yönetim Sistemi... 1 1. Sistem Gereksinimleri... 3 2. Kurulum... 3 3. Lisanslama... 10 4. Windows

Detaylı

Bölüm 10: PHP ile Veritabanı Uygulamaları

Bölüm 10: PHP ile Veritabanı Uygulamaları Bölüm 10: PHP ile Veritabanı Uygulamaları -231- Öğr.Gör. Serkan DİŞLİTAŞ 10.1. PHP PHP, platformdan bağımsız sunucu taraflı çalışan betik bir web programlama dilidir. PHP programlama dili ile MySQL, MSSQL,

Detaylı

Süreç Yönetimi. Logo

Süreç Yönetimi. Logo Süreç Yönetimi Logo Kasım 2013 SÜREÇ YÖNETİMİ Süreç belirlenen bir amaca ulaşmak için gerçekleştirilen faaliyetler bütünüdür. Örn; Sistemde kayıtlı personellerinize doğum günü kutlama maili gönderme, Deneme

Detaylı

Firma Kullanıcı Kılavuz Dokümanı

Firma Kullanıcı Kılavuz Dokümanı MOS BİLİŞİM TEKNOLOJİLERİ YAZILIM VE DANIŞMANLIK HİZMETLERİ LTD.ŞTİ. Firma Kullanıcı Kılavuz Dokümanı Sayfa 1 / 13 İçindekiler Tablosu 1 Giriş... 3 1.1 Belgenin Amacı... 3 1.2 Belgenin Kapsamı... 3 1.3

Detaylı

DOKÜMANLARIN KONTROLÜ PROSEDÜRÜ Doküman No: Yürürlük Tarihi: Revizyon Tarih/No:

DOKÜMANLARIN KONTROLÜ PROSEDÜRÜ Doküman No: Yürürlük Tarihi: Revizyon Tarih/No: 1. AMAÇ Bu prosedürün amacı, İç Kontrol Sistemi içinde bulunan tüm dokümanların hazırlanması, onaylanması, yayını, sürdürülmesi, güncelleştirilmesi ve dağıtım esasları için yöntem ve sorumlulukları belirlemektir.

Detaylı

Microsoft SQL Server 2008 Oracle Mysql (Ücretsiz) (Uygulamalarımızda bunu kullanacağız) Access

Microsoft SQL Server 2008 Oracle Mysql (Ücretsiz) (Uygulamalarımızda bunu kullanacağız) Access Programlamaya Giriş VERİ TABANI UYGULAMASI ÖN BİLGİ Veritabanları, verilere sistematik bir şekilde erişilebilmesine, depolanmasına ve güncellenmesine izin veren, yüksek boyutlu veriler için çeşitli optimizasyon

Detaylı

İşe Giriş/Çıkış Bildirgesi ve E-bildige nin Sgk Web Sitesine Aktarımında Yenilik. 1.1 Sgk Kullanıcı Adı ve Şifresinin Programda Tanımlanması

İşe Giriş/Çıkış Bildirgesi ve E-bildige nin Sgk Web Sitesine Aktarımında Yenilik. 1.1 Sgk Kullanıcı Adı ve Şifresinin Programda Tanımlanması İşe Giriş/Çıkış Bildirgesi ve E-bildige nin Sgk Web Sitesine Aktarımında Yenilik Ürün Grubu [ ] RcEnterprise [ ] RCStandard [ ] Entegre.Net Kategori [ ] Yeni Fonksiyon Versiyon Önkoşulu 5.0.10 Onaylı Versiyon

Detaylı

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi Bil101 Bilgisayar Yazılımı I Bilgisayar Yüksek Mühendisi Editör Disk 1)Kaynak kodlar editör aracılığı ile oluşturulur. (.c) Kaynak dosya Önişleyici Disk 2)Önişleyici kodlar içerisindeki ilk işleme işini

Detaylı

E-Netsis.Net Yenilikleri

E-Netsis.Net Yenilikleri E-Netsis.Net Yenilikleri Ürün Grubu [X] Fusion@6 [X] Fusion@6 Standard [X] Entegre@6 Kategori Versiyon Önkoşulu Uygulama [X] Yeni Fonksiyon @6 E-Netsis.Net parametrelerinin başka şubeden okunması Bu uygulama,

Detaylı

Ders 8 Konu Özeti ve Problemler

Ders 8 Konu Özeti ve Problemler Ders 8 Konu Özeti ve Problemler C# ve Nesne Yönelimli Programlamanın 3 Prensibi Kapsülleme (Encapsulation) Nesne yönelimli programlamanın ilk prensibi kapsülleme (encapsulation) olarak adlandırılır. Bu

Detaylı

DOKÜMAN KOTROLÜ. Çeviri: Elif KILIÇ, Gıda Müh. Düzenleme: Fırat ÖZEL, Gıda Müh.

DOKÜMAN KOTROLÜ. Çeviri: Elif KILIÇ, Gıda Müh. Düzenleme: Fırat ÖZEL, Gıda Müh. BRC Gıda standardında geçen gerekliliklerin bir kısmına yönelik olarak açıklayıcı klavuzlar BRC tarafından yayınlandı. Bu klavuzlardan biri olan bu dokümanın Türkçe çevirisi Sayın ELİF KILIÇ tarafından

Detaylı

Başlangıç; Sayfa 1. Sanal pos tanımlandığında üye numarası admin kullanıcı adı parolası email ile Garanti Bankasından tarafınıza iletilecektir.

Başlangıç; Sayfa 1. Sanal pos tanımlandığında üye numarası admin kullanıcı adı parolası email ile Garanti Bankasından tarafınıza iletilecektir. Başlangıç; Sayfa 1 Sanal pos tanımlandığında üye numarası admin kullanıcı adı parolası email ile Garanti Bankasından tarafınıza iletilecektir. Şifreniz SMS olarak gelecektir. Yönetim ekranı : https://sanalposweb.garanti.com.tr

Detaylı

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik.

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik. ASP.NET DERS 1 Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik. Gelen ekranda Visual C# seçildikten

Detaylı

Algoritma ve Programlama: Karar Yapıları ve Döngüler

Algoritma ve Programlama: Karar Yapıları ve Döngüler Algoritma ve Programlama: Karar Yapıları ve Döngüler Bir algoritma, herhangi bir programlama dili (C, C++, Pascal, Visual Basic, Java gibi) ile kodlandığında program haline gelir. Algoritmada yer alan

Detaylı

Doküman JETSMS XML Mesaj Đşlemleri Yardım Dokümanı Tarih 15.02.2007 Sürüm 1.1.0

Doküman JETSMS XML Mesaj Đşlemleri Yardım Dokümanı Tarih 15.02.2007 Sürüm 1.1.0 HTTP SMS Gönderimi 1. Genel Kullanım Bu fonksiyonu kullanarak; Bir telefon numarasına tek bir mesaj gönderimi Birden fazla telefon numarasına aynı mesaj gönderimi -> tek seferde en fazla 150 telefon numarasına

Detaylı

Telefon Rehberi Uygulaması

Telefon Rehberi Uygulaması Sayfa1 Telefon Rehberi Uygulaması Uygulama, temel düzeyde, telefon rehberi üzerinedir. Kullanıcı, telefon rehberine eklediği her bir kayıt içi ad, soyad, ev telefonu ve üç adet cep telefonu bilgisi girebilmektedir.

Detaylı

1. VERİ TABANI KAVRAMLARI VE VERİ TABANI OLUŞTUMA

1. VERİ TABANI KAVRAMLARI VE VERİ TABANI OLUŞTUMA BÖLÜM15 D- VERİ TABANI PROGRAMI 1. VERİ TABANI KAVRAMLARI VE VERİ TABANI OLUŞTUMA 1.1. Veri Tabanı Kavramları Veritabanı (DataBase) : En genel tanımıyla, kullanım amacına uygun olarak düzenlenmiş veriler

Detaylı

Proje Uyarlama Adımları Dokümanı

Proje Uyarlama Adımları Dokümanı Proje Uyarlama Adımları Dokümanı Güncelleme Tarihi: 15.04.2013 İçerik 1. Kullanıcıların Tanımlanması (varsa Kanal Yapısı ve ilgili parametreleri ile beraber):... 3 2. Eposta Ayarlarının Yapılması:... 4

Detaylı

Kontrol: Gökhan BİRBİL

Kontrol: Gökhan BİRBİL Doküman Adı: DOKÜMAN HAZIRLANMASIYLA İLGİLİ TÜRKAK PRENSİPLERİ TALİMATI Doküman No.: T501-01 Revizyon No: 04 Yürürlük Tarihi: 25.12.2011 Hazırlayan: Tekin ALTUĞ Kontrol: Gökhan BİRBİL Onay: H. İrfan AKSOY

Detaylı

VIDEOCELL API. Versiyon 1.0.0

VIDEOCELL API. Versiyon 1.0.0 VIDEOCELL API Versiyon 1.0.0 İçindekiler 1. Bu Belgenin Amacı... 3 2. Belge Sürümleri... 3 3. Sistem Gereksinimleri... 3 4. Kullanım Şekli... 3 4.1. Genel... 3 4.2. Uyarılar... 3 4.3. Hata Kodları... 4

Detaylı

Göstericiler (Pointers)

Göstericiler (Pointers) C PROGRAMLAMA Göstericiler (Pointers) C programlama dilinin en güçlü özelliklerinden biridir. Göstericiler, işaretçiler yada pointer adı da verilmektedir. Gösterici (pointer); içerisinde bellek adresi

Detaylı

SPSS E GİRİŞ SPSS TE TEMEL İŞLEMLER. Abdullah Can

SPSS E GİRİŞ SPSS TE TEMEL İŞLEMLER. Abdullah Can SPSS E GİRİŞ SPSS TE TEMEL İŞLEMLER SPSS in üzerinde işlem yapılabilecek iki ana ekran görünümü vardır. DATA VIEW (VERİ görünümü) VARIABLE VIEW (DEĞİŞKEN görünümü) 1 DATA VIEW (VERİ görünümü) İstatistiksel

Detaylı

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler C# Programlama Dili İlk programımız Tür dönüşümü Yorum ekleme Operatörler 1 İlk Programımız Bu program konsol ekranına Merhaba dünya! yazıp kapanır. Programı geçen derste anlatıldığı gibi derleyin, sonra

Detaylı

FIRAT ÜNİVERSİTESİ WEB TABANLI KÜTÜPHANE OTOMASYONU

FIRAT ÜNİVERSİTESİ WEB TABANLI KÜTÜPHANE OTOMASYONU FIRAT ÜNİVERSİTESİ WEB TABANLI KÜTÜPHANE OTOMASYONU Erhan Akbal Gürkan Karabatak Aytuğ Boyacı Mustafa Ulaş Ayhan Akbal Hasan H. Balık Fırat Üniversitesi Fırat Üniversitesi Fırat Üniversitesi Fırat Üniversitesi

Detaylı

XML ile Mesaj İşlemleri

XML ile Mesaj İşlemleri Doküman JETSMS XML Mesaj İşlemleri Yardım Dokümanı Tarih 15.02.2007 Sürüm 2.5.0 XML ile Mesaj İşlemleri SİSTEM ÖZELLİKLERİ Sistem üzerinden çok yüksek sayılarda (Bir kerede 20000 gibi) farklı içerikli

Detaylı

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

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

Detaylı

abstract Sınıflar 1 Sınıf sınıf1 new class Ama aşağıdaki şekilde referans alınabilir;

abstract Sınıflar 1 Sınıf sınıf1 new class Ama aşağıdaki şekilde referans alınabilir; abstract Sınıflar 1 Özet sınıflar ya da özet metotlar abstract anahtar sözcüğü kullanılarak tanımlanırlar. Bir temel sınıf içinde bildirilen abstract metotların içeriği boştur. Kendisinden yeni bir instance

Detaylı

Bilgisayar Programlama

Bilgisayar Programlama Bilgisayar Programlama M Dosya Yapısı Kontrol Yapıları Doç. Dr. İrfan KAYMAZ Matlab Ders Notları M-dosyası Genel tanıtımı : Bir senaryo dosyası (script file) özel bir görevi yerine getirmek için gerekli

Detaylı

Veri Yapıları Laboratuvarı

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

Detaylı

Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2

Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2 1 Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2 Eclipse Mimarisi 4 Java Teknolojisine Genel Bir Bakış 6 Taşınabilirlik 6 Java Derleyicisi ve Bytecode 6 Java Sanal Makinası (Java Virtual Machine - JVM)

Detaylı

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması Ağaç, verilerin birbirine sanki bir ağaç yapısı oluşturuyormuş gibi sanal olarak bağlanmasıyla elde edilen hiyararşik yapıya sahip

Detaylı

PAKET TRANSFER SİSTEMİ

PAKET TRANSFER SİSTEMİ İLAÇ TAKİP SİSTEMİ ŞUBE MÜDÜRLÜĞÜ PAKET TRANSFER SİSTEMİ Kullanıcı Dökümanı Version 1.0 1 1. Revizyonlar... 1 2. Giriş... 1 2.1 Kapsam... 1 2.2 Hedef Kitle... 1 3. Gereksinimler... 1 3.1 Yazılım Gereksinimleri...

Detaylı

PASCAL PROGRAMLAMA DİLİ YAPISI

PASCAL PROGRAMLAMA DİLİ YAPISI BÖLÜM 3 PASCAL PROGRAMLAMA DİLİ YAPISI 3.1. Giriş Bir Pascal programı en genel anlamda üç ayrı kısımdan oluşmuştur. Bu kısımlar bulunmaları gereken sıraya göre aşağıda verilmiştir. Program Başlığı; Tanımlama

Detaylı

C Programlama Dilininin Basit Yapıları

C Programlama Dilininin Basit Yapıları Bölüm 2 C Programlama Dilininin Basit Yapıları İçindekiler 2.1 Sabitler ve Değişkenler......................... 13 2.2 Açıklamalar (Expresions)........................ 14 2.3 İfadeler (Statements) ve İfade

Detaylı

Google Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi

Google Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi Google Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi Mehmet Karakoç Akdeniz Üniversitesi Bilgisayar Bilimleri Araştırma ve Uygulama Merkezi 28.11.2014 inet-tr'14 : GWT AUFaculty Project 1 İçerik Giriş

Detaylı

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ı

Seri Takibi Yenilikleri

Seri Takibi Yenilikleri Seri Takibi Yenilikleri Ürün Grubu [X] Fusion@6 [X] Fusion@6 Standard [X] Entegre@6 Kategori Versiyon Önkoşulu [X] Yeni Fonksiyon @6 Uygulama Yardımcı Programlar/ Şirket/Şube/Parametre Tanımlamaları bölümünde

Detaylı

VERİ TABANI SİSTEMLERİ

VERİ TABANI SİSTEMLERİ VERİ TABANI SİSTEMLERİ 1- Günümüzde bilgi sistemleri Teknoloji ve bilgi. 2- Bilgi sistemlerinin Geliştirilmesi İşlevsel Gereksinimleri 1.AŞAMA Gereksinim Belirleme ve Analiz Veri Gereksinimleri Gereksinimler

Detaylı

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay. PROGRAMLAMAYA GİRİŞ Öğr. Gör. Ayhan KOÇ Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay., 2007 Algoritma ve Programlamaya Giriş, Ebubekir YAŞAR, Murathan Yay., 2011

Detaylı

İçerik. Temel Kavramlar. Nesne Nedir? 1. Nesne : Örnek. Nesne Nedir? 2. Geçen hafta: Bu hafta: BBS-515 Nesneye Yönelik Programlama

İçerik. Temel Kavramlar. Nesne Nedir? 1. Nesne : Örnek. Nesne Nedir? 2. Geçen hafta: Bu hafta: BBS-515 Nesneye Yönelik Programlama İçerik Temel Kavramlar BBS-515 Nesneye Yönelik Programlama Geçen hafta: Nesneye yönelik programlama Ne demektir, nasıl ortaya çıkmıştır? Nesneye yönelik dil olarak JAVA ve ilişkili kavramlar Bu hafta:

Detaylı

Üst Düzey Programlama

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

Detaylı

-- işareti tek satırlık açıklamalarda kullanılır. Açıklama olarak yazılan satırın önüne konulması yeterlidir.

-- işareti tek satırlık açıklamalarda kullanılır. Açıklama olarak yazılan satırın önüne konulması yeterlidir. T-SQL KODLARİ İÇERİSİNE AÇIKLAMA EKLEME Bir veya daha fazla satırın çalıştırılmasını Önlemek için veya /*... */" ifadeleri kullanılır. -- işareti tek satırlık açıklamalarda kullanılır. Açıklama olarak

Detaylı

Dizaynda Word Desteği

Dizaynda Word Desteği Dizaynda Word Desteği Ürün Grubu [X] Fusion@6 [X] Fusion@6 Standard [X] Entegre@6 Kategori Versiyon Önkoşulu [X] Yeni Fonksiyon 4.0.4 Onaylı Sürüm Uygulama 1.1 Amaç Dizayn modülüne eklenen yeni özellik

Detaylı

Turquaz. Açık kodlu muhasebe yazılımı http://www.turquaz.com. Turquaz Proje Grubu

Turquaz. Açık kodlu muhasebe yazılımı http://www.turquaz.com. Turquaz Proje Grubu Turquaz Açık kodlu muhasebe yazılımı http://www.turquaz.com Turquaz Proje Grubu Konu Başlıkları 1. Turquaz Proje Grubu 2. Programın fikri 3. Geliştirme aşaması 4. Programın içeriği 5. Yapılacaklar 6. Dizayn

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ı

COM API v2.0 Belge sürümü : 2.0.3

COM API v2.0 Belge sürümü : 2.0.3 COM API v2.0 Belge sürümü : 2.0.3 1. Đçindekiler 1. Đçindekiler...2 2. Bu belgenin amacı...3 3. Belge sürümleri...3 4. Sistem gereksinimleri...3 5. Kullanım şekli...4 5.1 Genel...4 5.2 Uyarılar...4 5.3

Detaylı

BM102 BİLGİSAYAR PROGRAMLAMA II LABORATUVAR UYGULAMALARI. 3Hafta

BM102 BİLGİSAYAR PROGRAMLAMA II LABORATUVAR UYGULAMALARI. 3Hafta Ön bilgi: Özyineli fonksiyon tanımlanabilmeli. Dizilerin fonksiyon parametresi veya geri dönüş değeri olarak kullanımı bilinmeli. 1. Klavyeden girilen sayı n olmak üzere [1..n] aralığındaki sayıların toplamı

Detaylı

20 Mayıs 2013. İlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL. İlgili Modül/ler : Muhasebe IV

20 Mayıs 2013. İlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL. İlgili Modül/ler : Muhasebe IV 20 Mayıs 2013 İlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL İlgili Modül/ler : Muhasebe IV İNDİRİLECEK KDV LİSTESİ İndirilecek KDV Listesi raporu özellikle ihraç kayıtlı mal satan, ihracat yapan, yatırım

Detaylı

www.smsmakinesi.com destek@hermesiletisim.net COM API v.1.1 BELGE SÜRÜMÜ : 1.1

www.smsmakinesi.com destek@hermesiletisim.net COM API v.1.1 BELGE SÜRÜMÜ : 1.1 destek@hermesiletisim.net COM API v.1.1 BELGE SÜRÜMÜ : 1.1 1 1. İÇİNDEKİLER 1. İçindekiler 2 2. Bu Belgenin Amacı 3 3. Kullanım Şekli.3 4. Uyarılar.4 5. Hata Kodları.4 6. Kullanıcı Bilgileri Kontrolü..5

Detaylı

TC KİMLİK NO SMS GÖNDERİM XML API

TC KİMLİK NO SMS GÖNDERİM XML API TC KİMLİK NO SMS GÖNDERİM XML API İçindekiler 1. Bu Belgenin Amacı... 3 2. Belge Sürümleri... 3 3. Sistem Gereksinimleri... 3 4. Kullanım Şekli... 3 4.1. Genel... 3 4.2. Uyarılar... 3 4.3. Hata Kodları...

Detaylı

13 Aralık 2007. Đlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL. Đlgili Modül/ler : Raporlar. Kullanıcı Tanımlı Raporlar Bölümünden Yapabildiklerimiz

13 Aralık 2007. Đlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL. Đlgili Modül/ler : Raporlar. Kullanıcı Tanımlı Raporlar Bölümünden Yapabildiklerimiz 13 Aralık 2007 Đlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL Đlgili Modül/ler : Raporlar KULLANICI TANIMLI RAPORLAR Kullanıcı Tanımlı Raporlar Bölümünden Yapabildiklerimiz Kendi isteklerinize özel rapor tasarımları

Detaylı

Temel Kavramlar BBS-515 Nesneye Yönelik Programlama

Temel Kavramlar BBS-515 Nesneye Yönelik Programlama Temel Kavramlar BBS-515 Nesneye Yönelik Programlama Ders #2 (2 Kasım 2009) İçerikç Geçen hafta: Nesneye yönelik programlama Ne demektir, nasıl ortaya çıkmıştır? Nesneye yönelik dil olarak JAVA ve ilişkili

Detaylı

TARİHÇE. Versiyon Tarih Düzenleyen Açıklama 0.1 04.11.2015 Engin DURMAZ İlk versiyon

TARİHÇE. Versiyon Tarih Düzenleyen Açıklama 0.1 04.11.2015 Engin DURMAZ İlk versiyon İçindekiler 1 GİRİŞ... 2 2 KOD ÖRNEKLERİ... 3 2.1 AÇILIŞTA YAPILMASI GEREKENLER... 3 2.2 ÖKC-HARİCİ CİHAZ EŞLEŞMESİ... 3 2.3 MALİ REFERANS İSTEĞİ... 4 2.4 PROGRAMLAMA BİLGİLERİNİN GÖNDERİLMESİ... 5 2.5

Detaylı

KKTC MERKEZ BANKASI. BİLGİ GÜVENLİĞİ POLİTİKASI GENELGESİ (Genelge No: 2015/02) Mart-2015 BANKACILIK DÜZENLEME VE GÖZETİM MÜDÜRLÜĞÜ

KKTC MERKEZ BANKASI. BİLGİ GÜVENLİĞİ POLİTİKASI GENELGESİ (Genelge No: 2015/02) Mart-2015 BANKACILIK DÜZENLEME VE GÖZETİM MÜDÜRLÜĞÜ KKTC MERKEZ BANKASI BİLGİ GÜVENLİĞİ POLİTİKASI GENELGESİ (Genelge No: 2015/02) Mart-2015 BANKACILIK DÜZENLEME VE GÖZETİM MÜDÜRLÜĞÜ İçindekiler Giriş... 1 1 Amaç... 1 2 Bilgi Güvenliği Politikaları... 1

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 11. Soyut veri tipleri ve kapsülleme kavramları ISBN 0-321-49362-1

Bölüm 11. Soyut veri tipleri ve kapsülleme kavramları ISBN 0-321-49362-1 Bölüm 11 Soyut veri tipleri ve kapsülleme kavramları ISBN 0-321-49362-1 11. Bölüm konuları Soyutlama kavramı Veri soyutlamasına giriş Soyut veri tipleri için tasarım konuları Dil örnekleri Parametreli

Detaylı