Giriş | English

Lisans > Mühendislik Fakültesi > Bilgisayar Mühendisliği > OBJECT ORIENTED PROGRAMMING
 
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
   
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)ı 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

Dersin iç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- 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

Ders ile ilgili dosyalar