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

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ı

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ı

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

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ı

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ı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;

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ı

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ı

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ı

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ı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları METOTLAR Nesneye yönelik programlama dillerinde genellikle fonksiyonlar metot olarak isimlendirilirler. Metot ve fonksiyon olarak ifade edilecek kavramlar aynı anlamda kullanılacaktır. Her çalışan C# programı

Detaylı

10.DERS Yazılım Gerçekleştirme

10.DERS Yazılım Gerçekleştirme 10.DERS Yazılım Gerçekleştirme 1 Giriş: Bilgisayarlara yaptırılmak istenenleri, anlatabilmek için programlama dilleri kullanılır. Bir ihtiyaç veya konu doğrultusunda meydana getirilen tasarım önce programlama

Detaylı

PROGRAMLAMAYA GİRİŞ DERS 2

PROGRAMLAMAYA GİRİŞ DERS 2 PROGRAMLAMAYA GİRİŞ DERS 2 Program editörde oluşturulur ve diske kaydedilir Tipik Bir C Programı Geliştirme Ortamının Temelleri 1. Edit 2. Preprocess 3. Compile 4. Link 5. Load 6. Execute Önişlemci programı

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ı

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ C# Yazım Kuralları 1 İçindekiler C# Yazım Kuralları Veritipleri Değişkenler Operatörler Sınıflar Nesneler, Özellik, Metot ve Olay Bileşenler 2 C# yazım kuralları Deyimlerde büyük küçük harf yazıma uyulmalı

Detaylı

BİL-142 Bilgisayar Programlama II

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ı

Kets DocPlace LOGO Entegrasyonu

Kets DocPlace LOGO Entegrasyonu Kets DocPlace LOGO Entegrasyonu Kets DocPlace Kurulumu Öncesinde Yapılması Gereken İşlemler Windows 7, Windows 8, Windows Server 2008 R2, Windows Server 2012 veya daha yeni işletim sistemlerinde Programlar

Detaylı

1 C#.NET GELİŞTİRME ORTAMI 1 Visual Studio 2015 Arayüzü 4 Menu Window 6 Solution Explorer 7 Properties Window 8 Server Explorer 8 Toolbox 9

1 C#.NET GELİŞTİRME ORTAMI 1 Visual Studio 2015 Arayüzü 4 Menu Window 6 Solution Explorer 7 Properties Window 8 Server Explorer 8 Toolbox 9 VII 1 C#.NET GELİŞTİRME ORTAMI 1 Visual Studio 2015 Arayüzü 4 Menu Window 6 Solution Explorer 7 Properties Window 8 Server Explorer 8 Toolbox 9 2 KOD YAZMAYA BAŞLANGIÇ 11.Net Framework 11 Yeni Proje Oluşturmak

Detaylı

2 PYTHON A GIRIŞ 13 PyCharm İle Python Projesi Oluşturma 15 Projenin Çalıştırılması 18 İlk Python Programımız 19 Açıklama Satırları 21

2 PYTHON A GIRIŞ 13 PyCharm İle Python Projesi Oluşturma 15 Projenin Çalıştırılması 18 İlk Python Programımız 19 Açıklama Satırları 21 İÇİNDEKİLER VII İÇİNDEKİLER 1 PYTHON 1 Neden Python? 2 Python Sürümleri 2 Python Kurulumu 3 Windows Üzerinde Python 3 Ubuntu Üzerinde Python 6 Komut Satırında Python Çalıştırma 6 Windows komut istemi üzerinde

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ı

T.C. OSMANİYE KORKUT ATA ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ GIDA MÜHENDİSLİĞİ BÖLÜMÜ OSMANİYE STAJ RAPORU

T.C. OSMANİYE KORKUT ATA ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ GIDA MÜHENDİSLİĞİ BÖLÜMÜ OSMANİYE STAJ RAPORU T.C. OSMANİYE KORKUT ATA ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ GIDA MÜHENDİSLİĞİ BÖLÜMÜ OSMANİYE STAJ RAPORU "[Staj yapılan işletmenin adı - sadece ilk harfler büyük olacak]" HAZIRLAYAN [Ad ve Soyadı Sadece

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ı

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ı

Nesne Yönelimli Programlama

Nesne Yönelimli Programlama 1 Nesne Yönelimli Programlama Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Genel Bilgiler Ders konuları 1. Programlamaya Giriş 2. Program Denetimi ve Operatörler 3. Nesnelerin

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ı

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ı

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

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

4. Bölüm Programlamaya Giriş

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ı

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ı

BİTİRME ÖDEVİ VE TASARIM PROJESİ ARA RAPOR YAZIM KILAVUZU

BİTİRME ÖDEVİ VE TASARIM PROJESİ ARA RAPOR YAZIM KILAVUZU BİTİRME ÖDEVİ VE TASARIM PROJESİ ARA RAPOR YAZIM KILAVUZU 1. Başlık ve Kapak Sayfası Başlık sayfası formatı için bölüm web sayfasında bulunan rapor_kapak.docx başlıklı MS Office Word dokümanı kullanılacaktır.

Detaylı

T.C MARMARA ÜNİVERSİTESİ MÜLKİYETİ KORUMA VE GÜVENLİK BÖLÜMÜ İŞ SAĞLIĞI VE GÜVENLİĞİ PROGRAMI ÖNLİSANS ÖĞRENCİLERİ ÖDEV HAZIRLAMA YÖNERGESİ

T.C MARMARA ÜNİVERSİTESİ MÜLKİYETİ KORUMA VE GÜVENLİK BÖLÜMÜ İŞ SAĞLIĞI VE GÜVENLİĞİ PROGRAMI ÖNLİSANS ÖĞRENCİLERİ ÖDEV HAZIRLAMA YÖNERGESİ T.C MARMARA ÜNİVERSİTESİ MÜLKİYETİ KORUMA VE GÜVENLİK BÖLÜMÜ İŞ SAĞLIĞI VE GÜVENLİĞİ PROGRAMI ÖNLİSANS ÖĞRENCİLERİ ÖDEV HAZIRLAMA YÖNERGESİ BİRİNCİ BÖLÜM Amaç, Kapsam, Dayanak ve Tanımlar AMAÇ Madde 1-

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları DİZİLER Bellekte ard arda yer alan aynı türden nesneler kümesine dizi (array) denilir. Bir dizi içerisindeki bütün elemanlara aynı isimle ulaşılır. Yani dizideki bütün elemanların isimleri ortaktır. Elemanlar

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ı

İLİŞKİSEL VERİTABANLARI

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

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ı

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ı

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

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

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ı

Görsel Programlama 1

Görsel Programlama 1 Görsel Programlama 1 1. Ekrana Hello world! yazan c# console application kodları: Console.Write("Hello world!"); 2. Ekranda ilk satıra Hello, ikinci satıra world! yazan kod: Console.WriteLine("Hello");

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

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ı

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ı

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

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Yıliçi Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 13.04.2015 Süre : 60 dak. 1. Hangisi gerçek sayı değişmezi değildir?

Detaylı

Android e Giriş. Öğr.Gör. Utku SOBUTAY

Android e Giriş. Öğr.Gör. Utku SOBUTAY Android e Giriş Öğr.Gör. Utku SOBUTAY Android İşletim Sistemi Hakkında 2 Google tarafından geliştirilmiştir. Dünyada en çok kullanılan mobil işletim sistemidir. 2018 itibariyle Dünyada Android; %78.65,

Detaylı

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ı

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ı

Veritabanı sistemlerinde veri bütünlüğünü sağlayabilmek için CONSTRAINTS olarak adlandırılan bazı zorlayıcı ifadeler kullanılabilir.

Veritabanı sistemlerinde veri bütünlüğünü sağlayabilmek için CONSTRAINTS olarak adlandırılan bazı zorlayıcı ifadeler kullanılabilir. VERİ BÜTÜNLÜĞÜ VTYS lerde veri bütünlüğünü sağlamanın iki temel yolu vardır; Tanımlanabilir veri bütünlüğü ve prosedürel veri bütünlüğü. Tanımlanabilir veri bütünlüğü, tanımlanan nesnelerin kendi özellikleri

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ı

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ı

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR PROGRAMLAMAYA GİRİŞ FONKSİYONLAR Fonksiyonlar C programlama dili fonksiyon olarak adlandırılan alt programların birleştirilmesi kavramına dayanır. Bir C programı bir ya da daha çok fonksiyonun bir araya

Detaylı

BİTİRME ÇALIŞMASI ARA RAPOR YAZIM KILAVUZU

BİTİRME ÇALIŞMASI ARA RAPOR YAZIM KILAVUZU BİTİRME ÇALIŞMASI ARA RAPOR YAZIM KILAVUZU 1. Başlık ve Kapak Sayfası Başlık sayfası formatı için bölüm web sayfasında bulunan rapor_kapak.docx başlıklı MS Office Word dokümanı kullanılacaktır. Düzenlenmesi

Detaylı

SAKLI YORDAM (Stored Procedure) Sibel Somyürek

SAKLI YORDAM (Stored Procedure) Sibel Somyürek SAKLI YORDAM (Stored Procedure) Sibel Somyürek Saklı Yordam Saklı yordamlar veritabanı kataloğunda saklanan SQL kod bloklarının tanımlanmasıdır. Mesela, iki sayı alıp bunların toplamlarını hesaplayan bir

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ı

Veri Yapıları. Amaçlar: Temel Veri Yapılarını Tanımlamalı Veri Yapılarını Veri Modeli ve Türlerini Öğreneceksiniz. İçindekiler:

Veri Yapıları. Amaçlar: Temel Veri Yapılarını Tanımlamalı Veri Yapılarını Veri Modeli ve Türlerini Öğreneceksiniz. İçindekiler: Veri Yapıları Amaçlar: Temel Veri Yapılarını Tanımlamalı Veri Yapılarını Veri Modeli ve Türlerini Öğreneceksiniz İçindekiler: Giriş Temel Veri Yapıları Tanımlamalı Veri Yapıları Veri Modeli ve Türleri

Detaylı

Veritabanı Uygulamaları Tasarımı

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ı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Kodlarına Yorum Satırı Eklemek Java Paket Kavramı Java Kütüphane Kavramı Konsoldan Veri Çıkışı ve JOPtionPane Kütüphanesi JOptionPane Kütüphanesi Kullanarak

Detaylı

20461C Querying Microsoft SQL Server Modül Seviye Belirleme Testi

20461C Querying Microsoft SQL Server Modül Seviye Belirleme Testi 20461C Querying Microsoft SQL Server Modül Seviye Belirleme Testi 1) Aşağıdaki SQL Server sürümlerinden hangisi ana sürümlerden bir tanesidir? a) Parallel Data Warehouse b) Express c) Standart d) Developer

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ı

EGE ÜNİVERSİTESİ TIP FAKÜLTESİ UZMANLIK EĞİTİMİ TEZ YAZIM KURALLARI

EGE ÜNİVERSİTESİ TIP FAKÜLTESİ UZMANLIK EĞİTİMİ TEZ YAZIM KURALLARI EGE ÜNİVERSİTESİ TIP FAKÜLTESİ UZMANLIK EĞİTİMİ TEZ YAZIM KURALLARI BİÇİMSEL ÖZELLİKLER 1. Kullanılacak Dil Tez yazımında Türkçe kullanılmalıdır. Yabancı kökenli olan sözcükler Türkçe karşılıkları ile

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ı

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ı

Sınıf Diyagramları Amaç: Sınıf Diyagramları Nasıl Çizilir?

Sınıf Diyagramları Amaç: Sınıf Diyagramları Nasıl Çizilir? Sınıf Diyagramları Sınıf diyagramı statik bir diyagramdır. Bir uygulamanın statik görünümünü temsil eder. Sınıf diyagramı sadece bir sistemin farklı yönlerini görselleştirmek, açıklamak ve belgelemek için

Detaylı

PHP'ye Giriş Türkiye PHP Grubu - Linux Şenlikleri PHP Eğitim / Tanıtım Seminerleri Ankara, 11 Mayıs 2006 Hidayet Doğan <hdogan@hido.

PHP'ye Giriş Türkiye PHP Grubu - Linux Şenlikleri PHP Eğitim / Tanıtım Seminerleri Ankara, 11 Mayıs 2006 Hidayet Doğan <hdogan@hido. PHP'ye Giriş Türkiye PHP Grubu - Linux Şenlikleri PHP Eğitim / Tanıtım Seminerleri Ankara, 11 Mayıs 2006 Hidayet Doğan PHP Nedir? Genel kullanım amaçlı bir betik/programlama dilidir.

Detaylı

Microsoft SQL Server Sorgulama

Microsoft SQL Server Sorgulama Microsoft SQL Server Sorgulama Eğitim Takvimi Tarih Eğitim Süresi Lokasyon 26 Kasım 2018 3 Gün Bilginç IT Academy Eğitim Detayları Eğitim Süresi : 3 Gün Kontenjan : 12 Ön Koşullar : Herhangi bir ön koşul

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ı

Veritabanı Tasarımı. Kullanıcı Erişimini Kontrol Etme

Veritabanı Tasarımı. Kullanıcı Erişimini Kontrol Etme Veritabanı Tasarımı Kullanıcı Erişimini Kontrol Etme Konular Nesne ayrıcalıkları ve sistem ayrıcalıkları arasındaki farkı karşılaştırma Bir kullanıcının bir veritabanınaerişimini etkinleştirmek için gerekli

Detaylı

1 RUBY HAKINDA 1 Ruby nin Gelişim Hikayesi 1 Neden Ruby? 1 Neden Bu Kadar Popüler? 2

1 RUBY HAKINDA 1 Ruby nin Gelişim Hikayesi 1 Neden Ruby? 1 Neden Bu Kadar Popüler? 2 İÇİNDEKİLER VII İÇİNDEKİLER 1 RUBY HAKINDA 1 Ruby nin Gelişim Hikayesi 1 Neden Ruby? 1 Neden Bu Kadar Popüler? 2 2 RUBY KURULUMU 3 Windows İçin Ruby Kurulumu 3 Ubuntu ve Debian İçin Ruby Kurulumu 6 Mac

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ı

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ı

Programlama Dillerinde Kullanılan Veri Tipleri

Programlama Dillerinde Kullanılan Veri Tipleri Programlama Dillerinde Kullanılan Veri Tipleri Taban/Biçim Basic Paskal C/C++/C#/Java 10 (Decimal ) - - - 16 (Hexadecimal) &hsayı veya &Hsayı $sayı 0xsayı veya 0Xsayı Üstel eüs veya Eüs eüs veya Eüs eüs

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları ComboBox Bir Windows açılan kutu sunu temsil eder. ComboBox kontrolü, kullanıcıların bazı değerleri açılan bir listeden seçmesini sağlar. Listeye tasarım anında veya çalışma anında öğe eklenebilir. Listeye

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ı

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ı

Java EE web uygulamaları geliştirmek için kullanılan açık kaynak web uygulama framework üdür.

Java EE web uygulamaları geliştirmek için kullanılan açık kaynak web uygulama framework üdür. 1 Apache Struts Java EE web uygulamaları geliştirmek için kullanılan açık kaynak web uygulama framework üdür. Kullanıcılara MVC mimarisini benimsetmek için Java Servlet API sini kullanıyor. Model-View-Controller

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ı

BİLGİSAYAR PROGRAMLARININ TASARIMLARINDAKİ VE KODLARINDAKİ SORUNLARIN BELİRLENMESİ ALPER FİLİZ MEHMET ALİ SERT

BİLGİSAYAR PROGRAMLARININ TASARIMLARINDAKİ VE KODLARINDAKİ SORUNLARIN BELİRLENMESİ ALPER FİLİZ MEHMET ALİ SERT BİLGİSAYAR PROGRAMLARININ TASARIMLARINDAKİ VE KODLARINDAKİ SORUNLARIN BELİRLENMESİ ALPER FİLİZ 040080202 MEHMET ALİ SERT 040090521 SUNUM İÇERİĞİ Problem Tanımı Tespit Edilen Sorunlar Problemin Sonuçları

Detaylı

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ı

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf İçindekiler 1. Giriş... 1 1.2. c++ Programı Yapısı... 2 1.3.Using Direktifi... 5 Bölüm 2. Veri türleri, değişken kavramı, sabit ve değişken bildirimleri ve c++ da kullanımı 7 2.1. Temel veri türleri...

Detaylı

E-UYGULAMALAR VE DOKÜMAN YÖNETİM SİSTEMİ PROJESİ (EUP)

E-UYGULAMALAR VE DOKÜMAN YÖNETİM SİSTEMİ PROJESİ (EUP) E-UYGULAMALAR VE DOKÜMAN YÖNETİM SİSTEMİ PROJESİ (EUP) KİOSKA YÜKLENECEK RUHSAT BAŞVURUSU DOSYALARI İÇİN DİKKAT EDİLECEK HUSUSLAR Bilindiği üzere, elektronik ruhsat başvurusunda bulunmak için İlaç Ruhsat

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

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

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

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Koşul Karşılaştırma Operatörleri Mantıksal

Detaylı

T.C KOCAELİ ÜNİVERSİTESİ ARSLANBEY MESLEK YÜKSEKOKULU KONU ADI PROJE DANISMANI HAZIRLAYAN KOCAELİ-20...

T.C KOCAELİ ÜNİVERSİTESİ ARSLANBEY MESLEK YÜKSEKOKULU KONU ADI PROJE DANISMANI HAZIRLAYAN KOCAELİ-20... T.C KOCAELİ ÜNİVERSİTESİ ARSLANBEY MESLEK YÜKSEKOKULU KONU ADI PROJE DANISMANI HAZIRLAYAN KOCAELİ-20... KOCAELİ - ÜNİVERSİTESİ ARSLANBEY MESLEK YÜKSEKOKULU PROJE YAZIM KILAVUZU 1. Giriş Bitirme projelerinde

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ı

Veritabanı Yönetimi Bilgisayarların. Keşfi Hedefler. Veritabanı, Veri ve Bilgi. Veritabanı, Veri ve Bilgi. Veritabanı, Veri ve Bilgi

Veritabanı Yönetimi Bilgisayarların. Keşfi Hedefler. Veritabanı, Veri ve Bilgi. Veritabanı, Veri ve Bilgi. Veritabanı, Veri ve Bilgi Hedefler Veritabanı Yönetimi Bilgisayarların Discovering Keşfi 2010 Computers 2010 Living in a Digital World Dijital Dünyada Yaşamak Veritabanı terimini tanımlamak ve bir veritabanının veri ve bilgi ile

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

VERİTABANI Veritabanı Tasarımı

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ı

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ı

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ı

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak: Published by Juan Soulié

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak:  Published by Juan Soulié Kullanılacak kaynak: http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié C++ Nedir? Arttırılmış C demektir ve C dilinin geliştirilmiş halini yansıtır. C++ öğrenmeden önce herhangi bir programlama

Detaylı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Giriş Fonksiyonlara Genel Bakış C

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ı

Lambda İfadeleri (Lambda Expressions)

Lambda İfadeleri (Lambda Expressions) Lambda İfadeleri (Lambda Expressions) Lambda İfadeleri, değişkenlere değer atamak için kullanılan sadeleştirilmiş anonim (isimsiz) fonksiyonlardır. Bu fonksiyonlar matematikteki ve bilgisayar bilimlerindeki

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ı