1. PROGRAMLAMA-icindekiler 8/29/09 5:59 PM Page ix
‹Ç‹NDEK‹LER
G‹R‹fi xix
1 YAZILIM GEL‹fiT‹RMEN‹N TEMEL KAVRAMLARI 1
Yaz›l›m Nedir? 2
Yaz›l›m Mühendisli¤i Nedir? 2
Kaliteli Yaz›l›m›n Özellikleri Nelerdir? 4
‹fllevsellik (Functionility) 6
Güvenilirlik (Reliability) 6
Kullan›l›fll›l›k (Usability) 7
Verimlilik (Efficiency) 7
Sürdürülebilirlik (Maintainability) 7
Tafl›nabilirlik (Portability) 8
Yaz›l›m Gelifltirme Süreçleri 8
Analiz Aflamas› 8
Tasar›m Aflamas› 9
Gelifltirme Aflamas› 9
S›nama Aflamas› 9
Devreye Alma ve Bak›m 10
Yaz›l›m Gelifltirmede Boyutlar 10
Veritaban› Tasar›m› 10
Veritaban› Programlama 10
Programlama/Kodlama 11
Kullan›c› Arayüzü Tasar›m› 11
Programlama Dilleri ve Altyap›lar 11
Birinci Nesil Programlama Dilleri 12
‹kinci Nesil Programlama Dilleri 12
Üçüncü Nesil Programlama Dilleri 12
Dördüncü Nesil Programlama Dilleri 13
Beflinci Nesil Programlama Dilleri 13
Programlama Dillerinin Temelleri 13
Programlamada Kullan›lan Alt Yap›lar 14
2. PROGRAMLAMA-icindekiler 8/29/09 5:59 PM Page x
x JAVASCRIPT
Yaz›l›m Gelifltirme Yaklafl›mlar› 14
Nesne Yönelimli Programlama 15
Zengin Kullan›c› Arayüzleri ve Olaya Dayal› Programlama 15
Yaz›l›m Gelifltirmede Veritabanlar› 16
Yaz›l›m Gelifltirme Ortamlar› ve H›zl› Uygulama Gelifltirme 16
Yaz›l›m Gelifltirmeye Kufl Bak›fl› 17
Özet 20
2 YEN‹ NES‹L YAZILIM GEL‹fiT‹RME YAKLAfiIMI 21
Nesne Yönelimli ve Olaya Dayal› Programlama 21
Olaya Dayal› Programlama 23
Nesne Yönelimli Programlama 24
Nesnelerin Temel Bileflenlerini Anlamak 26
Nesnelerin Özellikleriyle Çal›flmak 27
Nesnelerin ‹fllevleriyle Çal›flmak 31
Nesnelerin Olaylar›yla Çal›flmak 33
Özet 35
3 YAZILIM GEL‹fiT‹RMEYE ‹LK ADIM 37
Örnek Uygulama #1: Ad›m Ad›m “Merhaba Dünya” 38
Visual Studio ile C# Kodlamak 45
C# Programlama Dili 46
.NET Framework 47
Projelerle Çal›flmak 47
Yeni Bir Proje Oluflturmak 48
Oluflturulan Projeyi Kaydetmek 50
Kay›tl› Bir Projeyi Açmak 51
Visual Studio'yu Tan›yal›m 52
Çal›flma Ortam›n› Ayarlamak 54
Pencere ve Panelleri Açmak 54
Pencere ve Panelleri Ekrandan Kald›rmak 55
Pencere ve Panelleri Görüntülenme Biçimlerini Ayarlamak 55
Pencerelerin/Panellerin Yerlerini Ayarlamak 57
Özet 58
3. PROGRAMLAMA-icindekiler 8/29/09 5:59 PM Page xi
‹Ç‹NDEK‹LER xi
4 VER‹ T‹PLER‹, DE⁄‹fiKENLER VE DE⁄ERLER 59
De¤iflkenlere Girifl 60
Temel Veri Tipleri 60
Tamsay›lar 61
Kayan Noktal› Veri Tipleri 62
bool Veri Tipi 63
DateTime Yap›s› 63
Karakterler 63
Metinler 64
Gömülü Sabit De¤erler (Literals) 65
De¤iflken Tan›mlamak 66
Sabit De¤er Tutucular (const) 67
De¤iflkenleri ‹simlendirmek 68
Ayr›lm›fl Sözcükler 69
De¤iflken ‹simlendirme Önerileri 70
De¤iflkenlerin Kapsamlar› ve Yaflam Süreleri 71
Tip Dönüflümleri 74
Otomatik Tip Dönüflümü 75
Kontrollü Tip Dönüflümü 76
Uyumsuz Tipler Aras›nda Tip Dönüflümü 77
Özet 80
Al›flt›rmalar 81
5 ‹fiLEÇLER VE VER‹LERLE ÇALIfiMAK 83
‹flleçler ve ‹fllemler 84
Metinsel Birlefltirme ‹flleci 85
Say›sal ‹flleçler 87
Aritmetiksel ‹flleçler 88
Art›rma/Eksiltme ‹flleçleri 88
Atama ‹flleçleri 89
‹flleçlerde Öncelik S›ras› 90
Örnek Uygulama #2: Hesap Makinesi 91
Di¤er ‹flleçler 96
4. PROGRAMLAMA-icindekiler 8/29/09 5:59 PM Page xii
xii JAVASCRIPT
Say›sal Verilerle Çal›flmak 97
Veri Tiplerinin Özellik ve ‹fllevleriyle Çal›flmak 97
Math Nesnesiyle Çal›flmak 99
Rastgele Say› Üretmek 100
Metinsel Verilerle Çal›flmak 101
string Veri Tipiyle Çal›flmak 101
Metni Parçalara Ay›rmak 106
StringBuilder Nesnesiyle Çal›flmak 107
Zaman Verileriyle Çal›flmak 109
Özet 112
Al›flt›rmalar 113
6 KOD AKIfiINI KONTROL ETMEK 115
S›ral› Kod Ak›fl› 116
Seçmeli Kod Ak›fl› 116
switch Yap›s› ‹le Anahtara Ba¤l› Kod Ak›fl› Yönetimi 118
if Yap›s› 122
Karfl›laflt›rma ‹flleçleri ve Mant›ksal ‹flleçler 123
if-else Yap›s› 126
if-else if Yap›s› 128
‹ç ‹çe if Yap›lar› 129
Örnek Uygulama #3: Yüzlük Not Harfli Not Çevirici 131
Koflul ‹flleci 134
Tekrarl› Kod Ak›fl› 134
for Yap›s› 135
while Yap›s› 137
do Yap›s› 138
foreach Yap›s› 139
Ak›fl Yönlendirme Deyimleri 140
Özet 142
Al›flt›rmalar 143
7 D‹Z‹LER VE KOLEKS‹YONLAR 145
Dizi ve Koleksiyonlara Girifl 146
5. PROGRAMLAMA-icindekiler 8/29/09 5:59 PM Page xiii
‹Ç‹NDEK‹LER xiii
Diziler 146
Tek Boyutlu Diziler 146
Çok Boyutlu Diziler 148
Düzensiz Çok Boyutlu Diziler 149
Dizilerle Yap›lan ‹fllemler 150
Örnek Uygulama #4: ‹sim Çekilifli 152
Koleksiyonlar 155
ArrayList Koleksiyonu 156
Stack Koleksiyonu 158
Queue Koleksiyonu 159
Hashtable Koleksiyonu 160
Koleksiyonlarla Çal›flmak 162
Örnek Uygulama #5: ‹ngilizce/Türkçe Sözlük 163
Özet 167
Al›flt›rmalar 168
8 NESNE YÖNEL‹ML‹ PROGRAMLAMAYA G‹R‹fi VE FONKS‹YONLAR 169
Nesne Yönelimli Programlamaya Girifl 170
Programlama Birimleri 170
‹sim Alanlar› 170
S›n›flar 172
Tan›mlamalar 172
Metotlar 173
Fonksiyonlarla Çal›flmak 174
void Fonksiyonlar 174
Parametreli Fonksiyonlar 175
Geri Dönüfllü Fonksiyonlar 176
Dizi Parametreli Fonksiyonlar 178
Örnek Uygulama #6: Türkçe /‹ngilizce Sözlük v2 180
Fonksiyon Afl›r› Yükleme 182
Öz Yinelemeli Fonksiyonlar 184
Özet 185
Al›flt›rmalar 186
6. PROGRAMLAMA-icindekiler 8/29/09 5:59 PM Page xiv
xiv JAVASCRIPT
9 ALGOR‹TMALAR 187
Algoritma Nedir? 187
Algoritma Gelifltirme Ad›mlar› 190
Algoritma Gösterim Biçimleri 193
Örnek Uygulama #7: Say› Bulmaca Oyunu 195
Örnek Uygulama #8: Say›sal Loto 201
Örnek Uygulama #9: Hesap Makinesi v2 206
Özet 210
Al›flt›rmalar 210
10 YAZILIM GEL‹fiT‹RMEDE HATA AYIKLAMA 211
Yaz›l›m Gelifltirmede Olas› Hatalar 212
Kod Yaz›m Hatalar› 212
Çal›flma Zaman› Hatalar› 213
Mant›k Hatalar› 214
‹stisnai Durum Yönetimi 215
try-catch Yap›s› 215
Exception Nesneleriyle Çal›flmak 218
finally Blo¤u 220
Mant›k Hatalar›yla Çal›flmak 221
Uygulamay› Ad›mlamak 222
Hata Ay›klama Pencereleri 223
Özet 226
Al›flt›rmalar 227
11 WINDOWS FORMS UYGULAMALARI GEL‹fiT‹RMEK 229
Formlarla Çal›flmak 230
Formlara Girifl 230
Form Nesnesinin Özellikleri 231
Form Nesnesinin Olay ve Metotlar›yla Çal›flmak 233
Birden Fazla Formla Çal›flmak 234
Yayg›n Kullan›lan Kontroller 237
TabControl 238
RadioButton 239
7. PROGRAMLAMA-icindekiler 8/29/09 5:59 PM Page xv
‹Ç‹NDEK‹LER xv
CheckBox 239
PictureBox 240
Panel 241
DateTimePicker 242
ListBox 242
ComboBox 243
Timer 243
ProgressBar 244
Kontrollerin Genel Özellikleri 244
Örnek Uygulama #10: Yayg›n Kullan›lan Kontroller 245
Özet 261
Al›flt›rmalar 262
12 VER‹TABANI TEMELLER‹ 263
Temel Veritaban› Kavramlar› 263
Veri, Bilgi Nedir? 264
Veritaban› Nedir? 265
‹liflkisel Veritaban› Yönetim Sistemi Nedir? 265
Verilerle ve Veritabanlar›yla ‹liflkili Roller 266
‹liflkisel Veritabanlar›n›n Temel Bileflenleri 269
Özet 272
Al›flt›rmalar 273
13 VER‹TABANLARIYLA ÇALIfiMAK 275
Çal›flma Ortam›n› Ayarlamak 276
Veritabanlar› 278
Veritaban› Oluflturmak 278
Veritaban› Silmek ve ‹sim De¤ifltirmek 281
Tablolarla Çal›flmak 282
Veri Tipleri 283
Tablo ve Alanlar› Oluflturmak 285
Mevcut Tabloya Alan Eklemek, Ǜkartmak 287
Tablo Silmek ve ‹sim De¤ifltirmek 288
Verilerin Bütünlü¤ünü Sa¤lamak 289
8. PROGRAMLAMA-icindekiler 8/29/09 5:59 PM Page xvi
xvi JAVASCRIPT
NULL/NOT NULL 289
Varsay›lan De¤erler 291
Birincil Anahtarlar 292
Otomatik Sat›r Kimlikleri 294
Tekrars›z Alanlar 295
Normallefltirme 297
Tablolar Aras›ndaki ‹liflkiler 301
Bire Bir ‹liflkili Tablolar 303
Bire Çok ‹liflkili Tablolar 307
Çoklu ‹liflkili Tablolar 308
Özet 310
Al›flt›rmalar 311
14 VER‹TABANINDAK‹ VER‹LERLE ÇALIfiMAK 313
Veri Girifli, De¤iflikli¤i ve Kay›t Silmek 314
Tabloya Yeni Bir Kay›t Eklemek 314
Tablodaki Verileri Güncellemek 318
Verileri Tablodan Silmek 320
Tabloya Toplu Kay›t Eklemek 321
Verileri Sorgulamak ve Listelemek 324
Temel SELECT Deyimi 325
Seçim Listesini Düzenlemek 326
Listeleri S›ralamak 331
Sonuç Kümesindeki Sat›rlar› S›n›rlamak 334
Sorgu Sonuçlar›n› Filtrelemek 337
Verileri Özetlemek ve Grupland›rmak 345
‹liflkili Tablolardaki Verileri Birlefltirmek 347
Özet 352
Al›flt›rmalar 353
15 SQL VER‹TABANI NESNELER‹ 355
Haz›r Fonksiyonlar 355
Metinlerle Kullan›lan Fonksiyonlar 356
Matematiksel Fonksiyonlar 360
9. PROGRAMLAMA-icindekiler 8/29/09 5:59 PM Page xvii
‹Ç‹NDEK‹LER xvii
Zaman Fonksiyonlar› 362
Alt Sorgularla Çal›flmak 365
Görünümler 368
Yerleflik Yordamlar 372
Yerleflik Yordam Oluflturmak, Güncellemek ve Silmek 372
Parametreli Yerleflik Yordamlar 376
Yerleflik Yordamlardan Bilgi Döndürmek 377
Kullan›c› Tan›ml› Fonksiyonlar 379
Özet 382
Al›flt›rmalar 383
16 C# ‹LE VER‹TABANI UYGULAMALARI GEL‹fiT‹RMEK 385
Veritaban›na Eriflim Kütüphanesi: ADO.NET 385
Ba¤lant›l› Veritaban› ‹fllemleri 387
Veritaban›na Ba¤lanmak 388
Veritaban› Komutlar› 391
Yerleflik Yordamlarla Çal›flmak 395
Verileri Listelemek 404
Veritaban› Hatalar›yla Çal›flmak 406
Ba¤lant›s›z Veritaban› ‹fllemleri 410
DataSet Nesnesi 410
DataSet ile Temel ‹fllemler 411
Örnek Uygulama #11: Ürün Yöneticisi 416
Özet 422
Al›flt›rmalar 423
17 VER‹TABANI TEMELL‹ KULLANICI UYGULAMALARI GEL‹fiT‹RMEK 425
Özellefltirilmifl Kullan›c› Arayüzü Uygulamalar› ‹htiyac› 426
Temel Uygulamalar› Türleri 427
Masaüstü ‹stemci Uygulamalar› 427
Web Uygulamalar› 428
Mobil Uygulamalar 428
Servis Uygulamalar› 429
XML Web Servisi Uygulamalar› 429
10. PROGRAMLAMA-icindekiler 8/29/09 5:59 PM Page xviii
xviii JAVASCRIPT
Web Tabanl› Zengin Etkileflimli Uygulamalar 430
Kurumsal Uygulamalar Gelifltirmek 430
Yard›mc› Araçlar ve Haz›r Bileflenlerle Uygulama Gelifltirmek 431
EKLER
EK1: ADIM ADIM MICROSOFT VISUAL C#
EXPRESS EDITION KURULUMU 435
EK2: ADIM ADIM MICROSOFT SQL MANAGEMENT
STUDIO KURULUMU 441
EK3: ÖRNEK VER‹TABANI YEDEKLER‹N‹ YÜKLEMEK 447
D‹Z‹N ?
KISALTMALAR VE SÖZLÜK ?
KAYNAKÇA ?
SONSÖZ ?