Dersin adı |
Dersin seviyesi |
Dersin kodu |
Dersin tipi |
Dersin dönemi |
Yerel kredi |
AKTS kredisi |
Ders bilgileri |
OBJECT ORIENTED PROGRAMMING |
Birinci düzey |
BZ 209 |
Zorunlu |
3 |
6.00 |
6.00 |
Yazdır |
Ön koşul dersleri
|
Yok
|
Eğitimin dili
|
Türkçe
|
Koordinatör
|
PROF. DR. BAHRİYE AKAY
|
Dersi veren öğretim eleman(lar)ı
|
DOÇ. 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
|
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- |
|
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- |
Mühendislik konularında matematik ve fen bilgilerini uygulama becerisine sahip olur.
|
|
2- |
Bir problemi saptama, tanımlama, formüle etme ve çözme becerisine sahip olur.
|
|
3- |
Bir sistemi, parçayı ya da süreci tasarlama becerisine sahip olur.
|
|
4- |
Mühendislik uygulamaları için gerekli olan teknikleri ve araçları kullanma becerisine sahip olur.
|
|
5- |
Deney/proje tasarlama, uygulama ve sonuçlarını analiz ederek yorumlama becerilerine sahip olur.
|
|
6- |
Takım çalışmasına yatkınlık becerisine sahip olur.
|
|
7- |
Bireysel çalışma becerisine sahip olur.
|
|
8- |
Sözlü ve/veya yazılı iletişim kurma becerisine sahip olur.
|
|
9- |
Yaşam boyu öğrenmenin gerekliliği bilinci ve bunu gerçekleştirebilme becerisine sahip olur.
|
|
10- |
Mesleki ve etik sorumluluk bilinci ile hukuksal konularda bilgiye sahip olur.
|
|
11- |
Yönetsel becerilere (liderlik, organizasyon, zaman ve risk yönetimi, kalite bilinci, verimlilik vb) sahip olur.
|
|
12- |
Zamanı en iyi şekilde kullanma becerisine sahip olur.
|
|
13- |
Alışılmışın dışında yollar bulabilme becerisine sahip olur.
|
|
14- |
Yönetim becerisi, mesleki özgüven ve inisiyatif alabilme özelliklerine sahip olur.
|
|
15- |
Problemlere çözümler getirirken ulusal çıkarları gözetir.
|
|
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 iş 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
|
|