Ders Detayı
Ders Detayı
Ders Tanımı
| Ders | Kodu | Yarıyıl | T+U Saat | Kredi | AKTS |
|---|---|---|---|---|---|
| İLERİ YAZILIM TEKNİKLERİ | COE4213193 | Bahar Dönemi | 3+0 | 3 | 6 |
| Ders Programı |
| Ön Koşul Dersleri | |
| Önerilen Seçmeli Dersler |
| Dersin Dili | İngilizce |
| Dersin Seviyesi | Lisans |
| Dersin Türü | Programa Bağlı Seçmeli |
| Dersin Koordinatörü | Prof.Dr. Selim AKYOKUŞ |
| Dersi Verenler | Prof.Dr. Selim AKYOKUŞ |
| Dersin Yardımcıları | |
| Dersin Amacı | Bu dersin amacı, modern yazılım geliştirme, yöntemleri, ilkeleri ve uygulamalarını öğrenmek, anlamak ve analiz etmektir. Konular arasında gereksinim analizi ve spesifikasyonu, büyük yazılım sistemlerinin tasarımı, uygulanması, doğrulanması ve bakımı; gelişmiş yazılım geliştirme teknikleri ve büyük proje yönetimi yaklaşımları; proje planlama, zamanlama, kaynak yönetimi, riskler, yapılandırma kontrolü ve dokümantasyon yer almaktadır. Bu ders sırasında öğrenciler Scrum metodolojisini kullanarak takımlar halinde büyük bir yazılım sistemini hayata geçirirler. |
| Dersin İçeriği | Bu ders; Yazılım Metodolojileri ve Mühendisliğine Giriş,UML ile Modelleme,Yazılım yapımı, Yazılım Süreci ve Plan Odaklı Yöntemler,Çevik Yöntemler,Gereksinim Mühendisliği, Elicitation ve Spesifikasyon,Yazılım Mimarisi, Tasarım Paternleri ve Mimari Kalıplar ,Ara sınav,Model / View / Controller ve Web Uygulama Mimarileri,REST ve Web Hizmetleri,Yazılım Modülerliği ve Sistem Ayrıştırma,Yazılım Kullanılabilirliği, Personalar, Wireframe'ler,Yazılım Doğrulama ve Geçerleme, ,Yazılım Test Stratejileri, Sürekli Entegrasyon,Yazılım Güvenliği ve Bakımı; konularını içermektedir. |
| Dersin Öğrenme Kazanımları | Öğretim Yöntemleri | Ölçme Yöntemleri |
| Modern yazılım mühendisliğinin çeşitli yönlerini içeren karmaşık bir yazılım sisteminin nasıl planlanacağını, tasarlanacağını ve inşa edileceğini öğrenmek. | ||
| Modern araçları kullanma ve zorlu teknik alanların üstesinden gelme konusunda yetkinlik kazanma. | ||
| Bir ekibin parçası olarak diğer ekipler ve müşteri temsilcileri ile işbirliği yapan büyük bir yazılım projesi üzerinde çalışma deneyimi edinmek. |
| Öğretim Yöntemleri: | |
| Ölçme Yöntemleri: |
Ders Akışı
| Sıra | Konular | Ön Hazırlık |
|---|---|---|
| 1 | Yazılım Metodolojileri ve Mühendisliğine Giriş | |
| 2 | UML ile Modelleme | |
| 3 | Yazılım yapımı, Yazılım Süreci ve Plan Odaklı Yöntemler | |
| 4 | Çevik Yöntemler | |
| 5 | Gereksinim Mühendisliği, Elicitation ve Spesifikasyon | |
| 6 | Yazılım Mimarisi, Tasarım Paternleri ve Mimari Kalıplar | |
| 7 | Ara sınav | |
| 8 | Model / View / Controller ve Web Uygulama Mimarileri | |
| 9 | REST ve Web Hizmetleri | |
| 10 | Yazılım Modülerliği ve Sistem Ayrıştırma | |
| 11 | Yazılım Kullanılabilirliği, Personalar, Wireframe'ler | |
| 12 | Yazılım Doğrulama ve Geçerleme, | |
| 13 | Yazılım Test Stratejileri, Sürekli Entegrasyon | |
| 14 | Yazılım Güvenliği ve Bakımı |
| Kaynak |
| - Clean Code, Robert C. Martin, PHI - Design Patterns, Erich Gamma, Addison Wesley - Patterns of Enterprise Application Architecture, Martin Fowler, 1st edition, Addison-Wesley - Enterprise Integration Patterns, Gregor Hohpe, Pearson Addison-Wesley Professional - Code Complete, Steve Mcconnell, Microsoft Press US |
| Derste dağıtılacaktır. |
Dersin Program Yeterliliklerine Katkısı
| Dersin Program Yeterliliklerine Katkısı | |||||||
| No | Program Yeterliliği | Katkı Düzeyi | |||||
| 1 | 2 | 3 | 4 | 5 | |||
| 1 | 1. Matematik, fen bilimleri ve ilgili mühendislik disiplinine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanabilme becerisi | X | |||||
| 2 | 2. Karmaşık mühendislik problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi | X | |||||
| 3 | 3. Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi | X | |||||
| 4 | 4. Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi | X | |||||
| 5 | 5. Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi | X | |||||
| 6 | 6. Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi | X | |||||
| 7 | 7. Sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi | ||||||
| 8 | 8. Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi | X | |||||
| 9 | 9. Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi | ||||||
| 10 | 10. Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi | X | |||||
| 11 | 11. Mühendislik 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; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık | ||||||
Değerlendirme Sistemi
| Katkı Düzeyi | Mutlak Değerlendirme | |
| Ara Sınavın Başarıya Oranı | 30 | |
| Genel Sınavın Başarıya Oranı | 70 | |
| Toplam | 100 | |
| AKTS / İşyükü Tablosu | ||||||
| Etkinlik | Sayı | Süresi (Saat) | Toplam İş Yükü (Saat) | |||
| Ders Saati | 14 | 3 | 42 | |||
| Rehberli Problem Çözme | 0 | 0 | 0 | |||
| Problem Çözümü / Ödev / Proje / Rapor Tanzimi | 6 | 10 | 60 | |||
| Okul Dışı Diğer Faaliyetler | 0 | 0 | 0 | |||
| Proje Sunumu / Seminer | 2 | 15 | 30 | |||
| Kısa Sınav (QUİZ) ve Hazırlığı | 0 | 0 | 0 | |||
| Ara Sınav ve Hazırlığı | 1 | 15 | 15 | |||
| Genel Sınav ve Hazırlığı | 1 | 25 | 25 | |||
| Performans Görevi, Bakım Planı | 0 | 0 | 0 | |||
| Toplam İş Yükü (Saat) | 172 | |||||
| Dersin AKTS Kredisi = Toplam İş Yükü (Saat)/30*=(172/30) | 6 | |||||
| Dersin AKTS Kredisi: *30 saatlik çalışma 1 AKTS kredisi sayılmaktadır. | ||||||
Dersin Detaylı Bilgileri
Ders Tanımı
| Ders | Kodu | Yarıyıl | T+U Saat | Kredi | AKTS |
|---|---|---|---|---|---|
| İLERİ YAZILIM TEKNİKLERİ | COE4213193 | Bahar Dönemi | 3+0 | 3 | 6 |
| Ders Programı |
| Ön Koşul Dersleri | |
| Önerilen Seçmeli Dersler |
| Dersin Dili | İngilizce |
| Dersin Seviyesi | Lisans |
| Dersin Türü | Programa Bağlı Seçmeli |
| Dersin Koordinatörü | Prof.Dr. Selim AKYOKUŞ |
| Dersi Verenler | Prof.Dr. Selim AKYOKUŞ |
| Dersin Yardımcıları | |
| Dersin Amacı | Bu dersin amacı, modern yazılım geliştirme, yöntemleri, ilkeleri ve uygulamalarını öğrenmek, anlamak ve analiz etmektir. Konular arasında gereksinim analizi ve spesifikasyonu, büyük yazılım sistemlerinin tasarımı, uygulanması, doğrulanması ve bakımı; gelişmiş yazılım geliştirme teknikleri ve büyük proje yönetimi yaklaşımları; proje planlama, zamanlama, kaynak yönetimi, riskler, yapılandırma kontrolü ve dokümantasyon yer almaktadır. Bu ders sırasında öğrenciler Scrum metodolojisini kullanarak takımlar halinde büyük bir yazılım sistemini hayata geçirirler. |
| Dersin İçeriği | Bu ders; Yazılım Metodolojileri ve Mühendisliğine Giriş,UML ile Modelleme,Yazılım yapımı, Yazılım Süreci ve Plan Odaklı Yöntemler,Çevik Yöntemler,Gereksinim Mühendisliği, Elicitation ve Spesifikasyon,Yazılım Mimarisi, Tasarım Paternleri ve Mimari Kalıplar ,Ara sınav,Model / View / Controller ve Web Uygulama Mimarileri,REST ve Web Hizmetleri,Yazılım Modülerliği ve Sistem Ayrıştırma,Yazılım Kullanılabilirliği, Personalar, Wireframe'ler,Yazılım Doğrulama ve Geçerleme, ,Yazılım Test Stratejileri, Sürekli Entegrasyon,Yazılım Güvenliği ve Bakımı; konularını içermektedir. |
| Dersin Öğrenme Kazanımları | Öğretim Yöntemleri | Ölçme Yöntemleri |
| Modern yazılım mühendisliğinin çeşitli yönlerini içeren karmaşık bir yazılım sisteminin nasıl planlanacağını, tasarlanacağını ve inşa edileceğini öğrenmek. | ||
| Modern araçları kullanma ve zorlu teknik alanların üstesinden gelme konusunda yetkinlik kazanma. | ||
| Bir ekibin parçası olarak diğer ekipler ve müşteri temsilcileri ile işbirliği yapan büyük bir yazılım projesi üzerinde çalışma deneyimi edinmek. |
| Öğretim Yöntemleri: | |
| Ölçme Yöntemleri: |
Ders Akışı
| Sıra | Konular | Ön Hazırlık |
|---|---|---|
| 1 | Yazılım Metodolojileri ve Mühendisliğine Giriş | |
| 2 | UML ile Modelleme | |
| 3 | Yazılım yapımı, Yazılım Süreci ve Plan Odaklı Yöntemler | |
| 4 | Çevik Yöntemler | |
| 5 | Gereksinim Mühendisliği, Elicitation ve Spesifikasyon | |
| 6 | Yazılım Mimarisi, Tasarım Paternleri ve Mimari Kalıplar | |
| 7 | Ara sınav | |
| 8 | Model / View / Controller ve Web Uygulama Mimarileri | |
| 9 | REST ve Web Hizmetleri | |
| 10 | Yazılım Modülerliği ve Sistem Ayrıştırma | |
| 11 | Yazılım Kullanılabilirliği, Personalar, Wireframe'ler | |
| 12 | Yazılım Doğrulama ve Geçerleme, | |
| 13 | Yazılım Test Stratejileri, Sürekli Entegrasyon | |
| 14 | Yazılım Güvenliği ve Bakımı |
| Kaynak |
| - Clean Code, Robert C. Martin, PHI - Design Patterns, Erich Gamma, Addison Wesley - Patterns of Enterprise Application Architecture, Martin Fowler, 1st edition, Addison-Wesley - Enterprise Integration Patterns, Gregor Hohpe, Pearson Addison-Wesley Professional - Code Complete, Steve Mcconnell, Microsoft Press US |
| Derste dağıtılacaktır. |
Dersin Program Yeterliliklerine Katkısı
| Dersin Program Yeterliliklerine Katkısı | |||||||
| No | Program Yeterliliği | Katkı Düzeyi | |||||
| 1 | 2 | 3 | 4 | 5 | |||
| 1 | 1. Matematik, fen bilimleri ve ilgili mühendislik disiplinine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanabilme becerisi | X | |||||
| 2 | 2. Karmaşık mühendislik problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi | X | |||||
| 3 | 3. Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi | X | |||||
| 4 | 4. Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi | X | |||||
| 5 | 5. Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi | X | |||||
| 6 | 6. Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi | X | |||||
| 7 | 7. Sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi | ||||||
| 8 | 8. Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi | X | |||||
| 9 | 9. Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi | ||||||
| 10 | 10. Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi | X | |||||
| 11 | 11. Mühendislik 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; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık | ||||||
Değerlendirme Sistemi
| Katkı Düzeyi | Mutlak Değerlendirme | |
| Ara Sınavın Başarıya Oranı | 30 | |
| Genel Sınavın Başarıya Oranı | 70 | |
| Toplam | 100 | |