MÜHENDİSLİK FAKÜLTESİ

Yazılım Mühendisliği

SE 311 | Ders Tanıtım Bilgileri

Dersin Adı
Yazılım Mimarisi
Kodu
Yarıyıl
Teori
(saat/hafta)
Uygulama/Lab
(saat/hafta)
Yerel Kredi
AKTS
SE 311
Bahar
2
2
3
7

Ön-Koşul(lar)
  SE 116 Başarılı olmak (En az DD notu almış olmak)
Dersin Dili
İngilizce
Dersin Türü
Zorunlu
Dersin Düzeyi
Lisans
Dersin Veriliş Şekli -
Dersin Öğretim Yöntem ve Teknikleri -
Dersin Koordinatörü
Öğretim Eleman(lar)ı
Yardımcı(ları)
Dersin Amacı Bu dersin amacı, öğrencilere etkin, kaliteli, bakımı ve geliştirmesi kolay kompleks yazılımların mimari tasarımlarında, tasarım şablonlarının kullanımını öğretmektir. Tasarım şablonları belirli bir konteskt’de karşımıza çıkan yazılım problemini en iyi çözümü için uzun yıllar boyunca edinilmiş tecrübelerle oluşturulmuş kalıplardır. Bu ders, bir tasarım probleminin mutlak bir şekilde yalnızca bir çözümünün olmadığının, bir yazılım mühendisinin bir çok alternatif arasında avantaj, dezavantaj hesabı yaptıktan sonra bir çözüm üretmek zorunda kalacağı konusunda öğrencileri duyarlı hale getirecektir. Ders, yazılım mimarisinde tasarım şablonlarını kullanmanın ardında yatan temelleri ve avantajları irdeler. Nesneye dayalı tasarım prensiplerinin tekrar edilmesi ve UML diyagramları dersin içerikleri arasındadır. Java dilinde yapılması istenen programlama ödevleri ve proje öğrenciye tasarım şablonlarının kullanımında deneyim kazandıracaktır.
Öğrenme Çıktıları Bu dersi başarıyla tamamlayabilen öğrenciler;
  • Tasarım şablonun amacını belirtebilecek ve UML diyagramını çizebilecek,
  • Tasarım şablonuna iştirak eden her bir parçayı ve sorumluluğunu teşhis edebilecek,
  • Yapısal olarak birbirine benzeyen şablonların farklarını karşılaştırabilecek,
  • Birden çok tasarım şablonunu ufak ölçekteki programlama ödevlerinde kullanabilecek,
  • Var olan bir tasarımı, tasarım şablonlarını kullanarak iyileştirebilecektir.
Ders Tanımı Bu ders yazılımda kullanılan tasarım şablonlarının ana prensiplerini ve bu tasarım şablonlarının yazılım geliştirmedeki uygulanış şekillerini ihtiva eder.

 



Dersin Kategorisi

Temel Ders
X
Uzmanlık/Alan Dersleri
Destek Dersleri
İletişim ve Yönetim Becerileri Dersleri
Aktarılabilir Beceri Dersleri

 

HAFTALIK KONULAR VE İLGİLİ ÖN HAZIRLIK ÇALIŞMALARI

Hafta Konular Ön Hazırlık
1 Tasarım şablonlarına giriş “Design patterns: Elements of Reusable Object-Oriented Software” by E. Gamma, R. Helm, R. Johnson and J. Vlissides. GHJV. Chapter 1.
2 Nesneye dayalı tasarım ve UML bilgilerinin tazelenmesi Herhangi bir nesneye dayalı tasarım ve programlama kitabı. Hoca notları.
3 “Iterator” şablonu (Davranışsal) Design Patterns Gamma, Helm, Johnson and Vlissides (GHJV) pp 257-271
4 “Composite” Şablonu (Yapısal) Design Patterns GHJV pp 163-173
5 “Command” Şablonu (Davranışsal) Design Patterns GHJV pp 233-242
6 “Factory” ve “Abstract Factory” metodu Design Patterns GHJV pp 87 95, 107-116
7 “Singleton” Şablonu (Oluşturucu) Design Patterns GHJV pp 127-134
8 Vize
9 “Facade” Şablonu (Yapısal) Design Patterns GHJV pp 185-193
10 “Adapter” Şablonu (Yapısal) Design Patterns GHJV pp 139-150
11 “Template” Şablonu (Yapısal) Design Patterns GHJV pp 325-330
12 “Observer” Şablonu (Davranışsal) Design Patterns GHJV pp 293-303
13 “Visitor” Şablonu (Davranışsal) Design Patterns GHJV pp 331-344
14 Şablonların tekrarı Design Patterns GHJV
15 Proje sunumları Kaynak kodu ve proje raporu
16 Dönemin gözden geçirilmesi

 

Ders Kitabı

“Design patterns: Elements of Reusable Object Oriented Software” by E. Gamma, R. Helm, R. Johnson and J. Vlissides. Addison Wesley. 1995.Okutman notları ve materyalleri

Önerilen Okumalar/Materyaller

Metseker and Wake “Design Patterns in Java”, Addison Wesley, 2006.

 

DEĞERLENDİRME ÖLÇÜTLERİ

Yarıyıl Aktiviteleri Sayı Katkı Payı %
Katılım
Laboratuvar / Uygulama
1
20
Arazi Çalışması
Küçük Sınav / Stüdyo Kritiği
Portfolyo
Ödev
-
Sunum / Jüri Önünde Sunum
Proje
1
20
Seminer/Çalıştay
Sözlü Sınav
Ara Sınav
1
30
Final Sınavı
1
30
Toplam

Yarıyıl İçi Çalışmalarının Başarı Notuna Katkısı
3
70
Yarıyıl Sonu Çalışmalarının Başarı Notuna Katkısı
1
30
Toplam

AKTS / İŞ YÜKÜ TABLOSU

Yarıyıl Aktiviteleri Sayı Süre (Saat) İş Yükü
Teorik Ders Saati
(Sınav haftası dahildir: 16 x teorik ders saati)
16
2
32
Laboratuvar / Uygulama Ders Saati
(Sınav haftası dahildir. 16 x uygulama/lab ders saati)
16
2
32
Sınıf Dışı Ders Çalışması
16
3
48
Arazi Çalışması
0
Küçük Sınav / Stüdyo Kritiği
0
Portfolyo
0
Ödev
0
Sunum / Jüri Önünde Sunum
0
Proje
1
38
38
Seminer/Çalıştay
0
Sözlü Sınav
0
Ara Sınavlar
1
30
30
Final Sınavı
1
30
30
    Toplam
210

 

DERSİN ÖĞRENME ÇIKTILARININ PROGRAM YETERLİLİKLERİ İLE İLİŞKİSİ

#
Program Yeterlilikleri / Çıktıları
* Katkı Düzeyi
1
2
3
4
5
1

Matematik, Fen Bilimleri, Bilgisayar Bilimleri ve Yazılım Mühendisliği konularında yeterli bilgi sahibidir; bu alanlardaki kuramsal ve uygulamalı bilgileri, Yazılım Mühendisliği problemlerinde kullanır.

X
2

Karmaşık Yazılım Mühendisliği problemlerini saptar, tanımlar, formüle eder ve çözer; bu amaca uygun analiz ve modelleme yöntemlerini seçer ve uygular.

X
3

Karmaşık bir yazılım sistemini, süreci veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlar, gerçekleştirir, sınar, doğrular, raporlar, ölçer ve bakımını yapar; bu amaçla modern yöntemleri uygular.

X
4

Yazılım Mühendisliği uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirir, seçer ve kullanır; bilişim teknolojilerini etkin bir şekilde kullanır.

X
5

Yazılım Mühendisliği problemlerinin incelenmesi için deney tasarlar, deney yapar, veri toplar, sonuçları analiz eder ve yorumlar.

6

Yazılım Mühendisliği disiplini içinde ve çok disiplinli takımlarda etkin biçimde çalışır; bireysel çalışma sergiler.

7

Türkçe sözlü ve yazılı etkin iletişim kurar; etkin rapor yazar ve yazılı raporları anlar, tasarım ve üretim raporları hazırlar, etkin sunum yapar, açık ve anlaşılır talimat verir ve alır.

8

Mühendislik ve Yazılım uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi sahibidir; mühendislik ve yazılım çözümlerinin hukuksal sonuçlarının farkındadır.

9

Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilincine sahiptir; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi sahibidir. 

10

Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi sahibidir; girişimcilik, yenilikçilik hakkında bilinçlidir; sürdürülebilir kalkınma hakkında bilgi sahibidir.

11

Bir yabancı dili kullanarak Yazılım Mühendisliği ile ilişkili konularda, bilgi toplar ve meslektaşları ile iletişim kurar. ("European Language Portfolio Global Scale", Level B1)

12

İkinci yabancı dili orta düzeyde kullanır.

13

Yaşam boyu öğrenmenin gerekliliği bilincindedir; bilgiye erişebilir, bilim ve teknolojideki gelişmeleri izler ve kendini sürekli yeniler; insanlık tarihi boyunca oluşan bilgi birikimini Yazılım Mühendisliği alanıyla ilişkilendirir. 

*1 Lowest, 2 Low, 3 Average, 4 High, 5 Highest

 


SOSYAL MEDYA

İzmir Ekonomi Üniversitesi
izto logo
İzmir Ticaret Odası Eğitim ve Sağlık Vakfı
kuruluşudur.
ieu logo

Sakarya Caddesi No:156
35330 Balçova - İzmir / TÜRKİYE

kampus izmir

Bizi Takip edin

İEU © Tüm hakları saklıdır.