| Kodu |
Dersin Adı |
Yarıyıl |
Süresi(T+U) |
Kredisi |
AKTS Kredisi |
| BST302 |
YAZILIMIN MÜHENDİSLİĞİNİN İLKELERİ |
6 |
3 |
3 |
8 |
DERS BİLGİLERİ |
| Dersin Öğretim Dili : |
Türkçe |
| Dersin Düzeyi |
LİSANS, TYY: + 6.Düzey, EQF-LLL: 6.Düzey, QF-EHEA: 1.Düzey |
| Dersin Türü |
Zorunlu |
| Dersin Veriliş Şekli |
- |
| Dersin Koordinatörü |
Dr.Öğr.Üyesi BANU KAYINOVA |
| Dersi Veren Öğretim Üyesi/Öğretim Görevlisi |
|
| Ders Ön Koşulu |
Yok |
AMAÇ VE İÇERİK |
| Amaç: |
Bu dersin amacı, karmaşık yazılım sistemlerinin belirli bir disiplin, bütçe ve takvim içerisinde geliştirilmesi için gerekli olan mühendislik prensiplerini öğretmektir. Öğrencilerin; yazılım yaşam döngüsü modellerini kavramaları, gereksinim analizi yapabilmeleri, tasarım desenlerini öğrenmeleri ve yazılım kalitesini artıracak standart yöntemleri teorik düzeyde benimsemeleri hedeflenmektedir. |
| İçerik: |
Yazılım mühendisliği dersinin içeriği; yazılım kavramı, krizleri ve tarihsel gelişimi ile başlayarak temel yazılım süreç modellerini (Şelale, Çevik, Scrum vb.) kapsamaktadır. Ders kapsamında; kullanıcı gereksinimlerinin belirlenmesi, sistem modelleme araçları (UML diyagramları), yazılım mimarisi ve tasarım prensipleri (SOLID gibi) ele alınmaktadır. Ayrıca yazılım test teknikleri, proje yönetimi temelleri, versiyon kontrol sistemlerinin mantığı ve yazılım bakım süreçleri gibi sürdürülebilirlik konuları teorik örnekler üzerinden incelenmektedir. |
DERSİN ÖĞRENME ÇIKTILARI (Öğrenciler, bu dersi başarı ile tamamladıklarında aşağıda belirtilen bilgi, beceri ve/veya yetkinlikleri gösterirler.) |
| Yazılım geliştirme sürecindeki farklı yaşam döngüsü modellerini analiz eder ve projeye uygun modeli seçer. |
| Yazılım gereksinimlerini sistematik bir şekilde toplar, belgeler ve analiz eder. |
| UML (Unified Modeling Language) diyagramlarını kullanarak yazılım sistemlerini görsel ve mantıksal olarak modeller. |
| Yazılım tasarım prensiplerini ve mimari desenleri kullanarak sürdürülebilir yazılım yapıları tasarlar. |
| Yazılım doğrulama (validation) ve onaylama (verification) süreçlerini kapsayan test stratejilerini açıklar. |
HAFTALIK DERS KONULARI VE ÖNGÖRÜLEN HAZIRLIK ÇALIŞMALARI |
| Hafta |
Ön Hazırlık |
Konular |
Yöntem |
| 1 |
- |
Yazılım Mühendisliğine Giriş: Tanım, Kapsam ve Etik İlkeler |
- |
| 2 |
- |
Yazılım Süreç Modelleri: Şelale (Waterfall) ve Artırımlı Modeller |
- |
| 3 |
- |
Çevik (Agile) Yazılım Geliştirme ve Scrum Metodolojisi |
- |
| 4 |
- |
Gereksinim Mühendisliği: Belirleme, Analiz ve Belgeleme |
- |
| 5 |
- |
Sistem Modelleme: Kullanım Durumu (Use Case) Diyagramları |
- |
| 6 |
- |
Nesneye Yönelik Modelleme: Sınıf (Class) Diyagramları |
- |
| 7 |
- |
Yazılım Mimarisi: Katmanlı Mimari ve İstemci-Sunucu Modeli |
- |
| 8 |
- |
Yazılım Tasarım İlkeleri: SOLID Prensiplerine Giriş |
- |
| 9 |
- |
Kullanıcı Arayüz Tasarımı Prensipleri ve Prototipleme |
- |
| 10 |
- |
ARA SINAV |
- |
| 11 |
- |
Yazılım Test Stratejileri: Birim, Entegrasyon ve Sistem Testleri |
- |
| 12 |
- |
Kara Kutu ve Beyaz Kutu Test Teknikleri |
- |
| 13 |
- |
Yazılım Proje Yönetimi: Planlama, Risk Yönetimi ve Maliyet |
- |
| 14 |
- |
Yazılım Evrimi: Bakım Türleri ve Yeniden Mühendislik |
- |
| 15 |
- |
Yazılım Kalite Güvencesi ve Standartlar (ISO/IEC) |
- |
| 16 |
- |
FİNAL |
- |
| 17 |
- |
FİNAL |
- |
KAYNAKLAR |
| Sarıdoğan, E. (2016). Yazılım mühendisliği temelleri. İstanbul: Papatya Bilim. |
| Öğretim elemanı tarafından sağlanacak ders notları. |
ÖLÇME VE DEĞERLENDİRME |
| Yarıyıl İçi Yapılan Çalışmaların Ölçme ve Değerlendirmesi |
Etkinlik Sayısı |
Katkı Yüzdesi |
Açıklama |
Sınav Yapılma Şekli |
| (0) Etkisiz |
(1) En Düşük |
(2) Düşük |
(3) Orta |
(4) İyi |
(5) Çok İyi |
| 0 |
1 |
2 |
3 |
4 |
5 |
DERSİN PROGRAM ÖĞRENME ÇIKTILARINA KATKISI
| BİLGİ |
| Kuramsal |
|
Program Yeterlilikleri/Çıktıları |
Katkı Düzeyi |
| 0 |
1 |
2 |
3 |
4 |
5 |
| 1 |
Bilişim sistemleri, yazılım geliştirme, programlama ve web teknolojilerinin temel kavramlarını, kuramlarını ve yaklaşımlarını yorumlar.
|
|
|
|
|
|
5 |
| 2 |
Veri bilimi, yapay zekâ, bulut bilişim ve siber güvenlik dâhil olmak üzere bilişim sistemleri yönetimi ve proje süreçlerinin kuramsal temellerini analiz eder.
|
|
|
|
|
|
5 |
| BİLGİ |
| Olgusal |
|
Program Yeterlilikleri/Çıktıları |
Katkı Düzeyi |
| 0 |
1 |
2 |
3 |
4 |
5 |
| 1 |
Yazılım geliştirme, veri bilimi, ağ teknolojileri, web uygulamaları ve donanım–yazılım etkileşimi gibi bilişim alanlarının temel kavramlarını ve olgularını açıklar.
|
|
|
|
|
|
5 |
| 2 |
Kurumsal bilgi sistemleri, bulut bilişim, yapay zekâ, siber güvenlik ve proje yönetimi alanlarındaki temel kuram ve yaklaşımları tanımlar.
|
|
|
|
|
|
5 |
| BECERİLER |
| Bilişsel |
|
Program Yeterlilikleri/Çıktıları |
Katkı Düzeyi |
| 0 |
1 |
2 |
3 |
4 |
5 |
| 1 |
Bilişim teknolojileri, yazılım geliştirme ve veri yapıları alanlarında edindiği bilgileri kullanarak karmaşık problemleri analiz eder ve uygun çözüm yöntemlerini belirler.
|
|
|
|
|
|
5 |
| 2 |
Bulut bilişim, yapay zekâ, siber güvenlik ve proje yönetimi konularındaki verileri eleştirel bir bakış açısıyla değerlendirerek bilişim sistemlerinin stratejik planlamasına yönelik çıkarımlar yapar.
|
|
|
|
|
|
5 |
| BECERİLER |
| Uygulamalı |
|
Program Yeterlilikleri/Çıktıları |
Katkı Düzeyi |
| 0 |
1 |
2 |
3 |
4 |
5 |
| 1 |
Programlama dilleri, veri tabanı yönetimi, algoritmalar ve web teknolojilerini kullanarak işlevsel yazılım ve web uygulamaları geliştirir.
|
|
|
|
|
|
5 |
| 2 |
Bulut bilişim, kurumsal bilgi sistemleri ve proje yönetimi araçlarını kullanarak bilişim projelerini planlar, uygular ve sonuçlarını değerlendirir.
|
|
|
|
|
4 |
|
| YETKİNLİKLER |
| Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği |
|
Program Yeterlilikleri/Çıktıları |
Katkı Düzeyi |
| 0 |
1 |
2 |
3 |
4 |
5 |
| 1 |
Bilişim projelerini bağımsız olarak planlar, yürütür ve tamamlar; süreçte ortaya çıkan teknik ve yönetimsel sorumlulukları üstlenir.
|
|
|
|
|
|
5 |
| 2 |
Yazılım geliştirme ve bilgi sistemleri projelerinde ekip içinde etkin rol alır, gerektiğinde liderlik yaparak proje hedeflerine ulaşılmasını sağlar.
|
|
|
|
|
|
5 |
| YETKİNLİKLER |
| Öğrenme Yetkinliği |
|
Program Yeterlilikleri/Çıktıları |
Katkı Düzeyi |
| 0 |
1 |
2 |
3 |
4 |
5 |
| 1 |
Bilişim teknolojilerindeki yenilikleri ve yazılım geliştirme trendlerini sürekli izler, mesleki bilgi ve becerilerini güncel tutar.
|
|
|
|
|
|
5 |
| 2 |
Kendi öğrenme süreçlerini değerlendirir, eksikliklerini belirler ve kişisel gelişimi için bağımsız olarak yeni öğrenme fırsatları oluşturur.
|
|
|
|
|
|
5 |
| YETKİNLİKLER |
| İletişim ve Sosyal Yetkinlik |
|
Program Yeterlilikleri/Çıktıları |
Katkı Düzeyi |
| 0 |
1 |
2 |
3 |
4 |
5 |
| 1 |
Teknik ve teknik olmayan paydaşlara bilişim projelerini açık, anlaşılır ve ikna edici bir şekilde sunar; yazılı ve sözlü iletişim kanallarını etkin kullanır.
|
|
|
|
|
|
5 |
| 2 |
Farklı disiplinlerden ve kültürel arka planlardan gelen ekiplerle iş birliği yaparak bilişim projelerinde etkili katkı sağlar.
|
|
|
|
|
|
5 |
| YETKİNLİKLER |
| Alana Özgü Yetkinlik |
|
Program Yeterlilikleri/Çıktıları |
Katkı Düzeyi |
| 0 |
1 |
2 |
3 |
4 |
5 |
| 1 |
Bilişim sistemleri, yazılım geliştirme ve veri yönetimi süreçlerinde mesleki etik ilkelere ve uluslararası standartlara uygun davranır.
|
|
|
|
|
|
5 |
| 2 |
Bilişim sistemleri ve teknolojileri alanında güncel araç, yöntem ve yaklaşımları kullanarak çözüm üretir ve yenilikçi projeler geliştirir.
|
|
|
|
|
|
5 |
DERSİN İŞ YÜKÜ VE AKTS KREDİSİ |
| Öğrenme-Öğretme Etkinlikleri İş Yükü |
| Öğrenme-Öğretme Etkinlikleri |
Etkinlik(hafta sayısı) |
Süresi(saat sayısı) |
Toplam İş Yükü |
| Ders |
14 |
3 |
42 |
| Derse Ön Hazırlık ve Ders Sonrası Pekiştirme |
14 |
2 |
28 |
| Arazi Çalışması |
0 |
0 |
0 |
| Grup Çalışması / Ödevi |
2 |
4 |
8 |
| Laboratuvar |
0 |
0 |
0 |
| Okuma |
12 |
3 |
36 |
| Ödev |
4 |
3 |
12 |
| Proje Hazırlama |
3 |
4 |
12 |
| Seminer |
1 |
3 |
3 |
| Staj |
0 |
0 |
0 |
| Teknik Gezi |
0 |
0 |
0 |
| Web Tab. Öğrenme |
0 |
0 |
0 |
| Uygulama |
0 |
0 |
0 |
| Yerinde Uygulama |
0 |
0 |
0 |
| Mesleki Faaliyet |
0 |
0 |
0 |
| Sosyal Faaliyet |
0 |
0 |
0 |
| Tez Hazırlama |
0 |
0 |
0 |
| Alan Çalışması |
0 |
0 |
0 |
| Rapor Yazma |
0 |
0 |
0 |
| Final Sınavı |
1 |
1 |
1 |
| Final Sınavı Hazırlığı |
7 |
4 |
28 |
| Ara Sınav |
1 |
1 |
1 |
| Ara Sınav Hazırlığı |
7 |
4 |
28 |
| Kısa Sınav |
0 |
0 |
0 |
| Kısa Sınav Hazırlığı |
0 |
0 |
0 |
| TOPLAM |
66 |
0 |
199 |
|
Genel Toplam |
199 |
|
|
Toplam İş Yükü / 25.5 |
7,8 |
|
|
Dersin AKTS(ECTS) Kredisi |
8,0 |
|