Dersin Adı Dersin Seviyesi Dersin Kodu Dersin Tipi Dersin Dönemi Yerel Kredi AKTS Kredisi Ders Bilgileri
OBJECT ORIENTED PROGRAMMING Üçüncü Düzey BZ 209 3 6.00 6.00 Yazdır
   
Dersin Tanımı
Ön Koşul Dersleri Yok
Eğitimin Dili Türkçe
Koordinatör PROF. DR. BAHRİYE AKAY
Dersi Veren Öğretim Eleman(lar)ı PROF. DR. BAHRİYE AKAY
Yardımcı Öğretim Eleman(lar)ı -
Dersin Veriliş Şekli Sınıf içi anlatım ve labaratuvar uygulaması
Dersin Amacı Yazılım ürünlerinin üretilmesinde nesne yönelim yazılım mühendisliği yaklaşımlarının kullanılması, Unified process metodolojisi, Nesne yönelimli dereksinim, analiz, tasarım, gerçekleştirim, bakım iş akışları hakkında bilgi, Modelleme ve UML dili, Bir Nesne yönelimli bir programlama dili ile gerçekleştirimlerin yapılması
Dersin Tanımı Nesne yönelimli yazılım süreçleri ve uygun bir programlama dili ile gerçekleştirimleri

Dersin İçeriği
1 Klasik yazılım mühendisliği ve Nesne Yönelimli yaklaşımları, farkları
2 Yazılım geliştirme döngüsü ve Unified Process metodolojisi, Unified Process fazları, iki boyutlu yaşam döngüsü, Miller yasası
3 Modüllerden Nesnelere: Cohession, Coupling, Encapsulation, Abstract data types, Bilgi saklama, Nesneler, Kalıtım, Çok şekillilik ve Dynamic Binding, Nesne yönelimli paradigma
4 Yeniden kullaılabilirlik ve Taşınabilirlik: Yeniden kullanılabilirlik kavramları, Yeniden kullaılabilirliğin önündeki engeller, Nesneler ve yeniden kullanılabilirlik, Tasarım ve gerçekleştirim safhalarında yeniden kullanılabilirlik
5 Yazılımda planlama ve kestirim, Süre ve maliyet kestirimi, IEEE yazılım proje yönetim planı, Nesne yönelimli projelerin planlanması
6 Gereksinim iş akışı, Domanin anlaşılması, İş modelinin ortaya konulması, UML, use case diyagramları, Örnek: Martha Stockton Greengage, MSG
7 Analiz iş akışı: Varlık sınıflarının çıkarımı, Asansör örneği, Fonksiyonel Modelleme ve asansör örneği, Varlık sınıfı modelleme ve asansör örneği, Dinamik modelleme ve asansör örneği, iş akışı testi, Sınır ve kontrol sınıflarının çıkarımı, MSG örneği üzerinde başlangıç fonksiyonel modelleme, başlangıç class diyagramları, dinamik modelleme, varlık sınıflarının gözden geçirilmesi, sınır ve kontrol sınıfları, Use-case realizasyonu, UML: communication ve sequence diagramları,Unified Processde Specifikasyon Dokümanı, Nesne Yönelimli Analizde Metrikler, Nesne Yönelimli Analiz için kullanılan araçlar, Nesne Yönelimli Analizdeki zorluklar
8 Tasarım, tasarım ve soyutlama, işlem yönelimli tasarım, Veri akış diagramı, Transaction anailzi, Veri yönelimli tasarım, Nesne Yönelimli tasarım, Asansör örneği üzerinde tasarım, MSG örneği üzerinde tasarım, tasarımın test edilmesi, Nesne Yönelimli Tasarım için araçlar, Nesne Yönelimli Tasarım metrikleri, Tasarımdaki zorluklar
9 Gerçekleştirim, Kodlama standartları, Kodların yeniden kullanılabilirliği, entegrasyon, birim testi, test iş akışı, execution based, non-execution based testing, test case seçimi, kara kutu, saydam kutu testleri, Nesneler test edilirken karşılaşılan potansiyel problemler, entegrasyon testi, ürün testi, kabul testi
10 esne yönelimli yazılımın bakımı, Reverse engineering, refactoring, restructing, bakım metrikleri, UML: class diyagramları, aggregation, composition, Multiplicity, Generalization, Assocation, use case, stereotype, interaction diyagramları, state chart, Activity diagramları, package diagramları, component diagramları, deployment diagramları
11 C#' dili ile sınıf ve nesne tanımı Kalıtım ve çok şekillilik
12 C#' dili ile Implicit/Explicit Donusum Operatorleri Operator Overloading
13 C#' dili ile Indexer tanımı Interfaces Generics
14 Design Patterns (Tasarım şablonları)
15
16
17
18
19
20

Dersin Öğrenme Çıktıları
1 Nesne Yönelimli yazılım süreçlerinin amaçlarının öğrenilmesi
2 Nesne Yönelimli yazılım süreçleri ile klasik yazılım süreçleri arasındaki farkların bilinmesi
3 Nesne Yönelimli yazılım metodolojilerindeki iş akışlarının öğrenilmesi
4 Nesne Yönelimli iş akışlarındaki metrikler, testler ve dokümantasyon
5 Nesne Yönelimli modelleme ve UML
6 Bir nesne yönelimli programlama dilinde nesne yönelimli kavramların gerçekleştirimlerinin yapılması
7
8
9
10

*Dersin Program Yeterliliklerine Katkı Seviyesi
1 Araştırma yöntem - tekniklerini bilmek ve alanında uygulayabilmek
2 Alanında proje geliştirmek, projesini uygulayarak hayata geçirebilmek
3 Alan içi ve çok alanlı takımlarda etkin çalışmak ve/veya liderlik rolü üstlenebilmek
4 Güncel yayınları, oluşum ve aktiviteleri takip etmek, katılımcı olabilmek
5 Evrensel, ulusal, yerel sanat ve tasarım değerlerinin farkında olabilmek
6 Herhangi bir sanat eserini çözümleyici ve eleştirel bakış açısı ile değerlendirebilmek
7 Estetik beğeni yetkinliğine sahip olmak ve bu yönünü sanat görüşlerine, tasarımlarına yansıtabilmek
8 Çağdaş sanat tasarım materyal ile tekniklerini kullanmak ve estetik bir ürün yaratabilmek
9 Etik kurallara uymak ve sosyal sorumluluk bilinci taşıyabilmek
10 Alanında paylaşıma açık sanatsal etkinlikler düzenlemek; Yaptığı çalışmaları diğerlerine etkili bir şekilde sunabilmek
11 Alanında kullanılan yeni yöntem -teknikleri bilmek ve özgün tasarımlarına ulaşmada kullanabilmek
12 Edindikleri uzmanlık düzeyindeki teorik ve pratik bilgileri kullanabilme, elde ettiği sonuçları değerlendirmek ve gerektiğinde uygulayabilme becerisine sahip olmak
13 Lisans ve yüksek lisans düzeyinde edinilen yeterliliklere dayalı olarak bilgilerini geliştirebilmek ve özgün çalışmalar yapabilecek seviyeye ulaşabilmek
14 Özgün bir çalışmayı, programı veya projeyi zamanında ve istenilen nitelikte gerçekleştirmek, ekip çalışmalarında sorumluluk alarak çözüm üretmek, akademik ve mesleki kurum ve kuruluşların faaliyetlerine katkıda bulunmak
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Yıldızların sayısı 1’den (en az) 5’e (en fazla) kadar katkı seviyesini ifade eder

Planlanan Öğretim Faaliyetleri, Öğretme Metodları ve AKTS İş Yükü
  Sayısı Süresi (saat) Sayı*Süre (saat)
Yüz yüze eğitim 9 4 36
Sınıf dışı ders çalışma süresi (ön çalışma, pekiştirme) 14 1 14
Ödevler 2 20 40
Sunum / Seminer hazırlama 1 2 2
Kısa sınavlar 0 0 0
Ara sınavlara hazırlık 1 10 10
Ara sınavlar 1 2 2
Proje (Yarıyıl ödevi) 0 0 0
Laboratuvar 14 4 56
Arazi çalışması 0 0 0
Yarıyıl sonu sınavına hazırlık 1 10 10
Yarıyıl sonu sınavı 1 2 2
Araştırma 5 2 10
Toplam iş yükü     182
AKTS     7.00

Değerlendirme yöntemleri ve kriterler
Yarıyıl içi değerlendirme Sayısı Katkı Yüzdesi
Ara sınav 1 20
Kısa sınav 0 0
Ödev 2 20
Yarıyıl içi toplam   40
Yarıyıl içi değerlendirmelerin başarıya katkı oranı   40
Yarıyıl sonu sınavının başarıya katkı oranı   60
Genel toplam   100

Önerilen Veya Zorunlu Okuma Materyalleri
Ders kitabı Object-Oriented and Classical Software Engineering, Stephen R. Schach, McGraw-Hill Programming C#, Jesse Liberty
Yardımcı Kaynaklar How to C#, Deitel & Deitel Her yönüyle C#, Sefer Algan Head First Object Oriented Analysis & Design, Brett D. McLaughlin, Gary Pollice, Dave West

Ders İle İlgili Dosyalar