Yazılım Mühendisliği
Lisans TYYÇ: 6. Düzey QF-EHEA: 1. Düzey EQF-LLL: 6. Düzey

Ders Genel Tanıtım Bilgileri

Ders Kodu: YAZ026
Ders İsmi: Yazılım İnşaası
Ders Yarıyılı: Bahar
Ders Kredileri:
AKTS
5
Öğretim Dili:
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: Hayır
Dersin Türü: Bölüm/Program Seçmeli
Dersin Seviyesi:
Lisans TYYÇ:6. Düzey QF-EHEA:1. Düzey EQF-LLL:6. Düzey
Dersin Veriliş Şekli: Yüz yüze
Dersin Koordinatörü: Dr. Öğr. Üy. MUHAMMED DAVUD
Dersi Veren(ler): Pinar Efe
Dersin Yardımcıları:

Dersin Amaç ve İçeriği

Dersin Amacı: ● Yazılım geliştirme döngüsü
● Geliştirme süreçleri: yazılım analiz süreci, tasarım süreci, kodlama süreci, test
süreci, kurulum süreci, bakım süreci
● Geleneksel süreç modelleri ve tarihsel olarak gelişimi: Şelale modeli, V-model,
spiral modeli, artırımlı ve iteratif modeller
● Çevik yaklaşımlar, çeviklik kavramı, çevik manifesto, değerler ve ilkeler
● Scrum, XP, DevOps, Kanban yöntemleri ve pratikleri
● Scrum yönteminin takım olarak uygulanması
hakkında bilgi kazanımı sağlamak.
Dersin İçeriği: Yazılım projelerinde geliştirme döngüsü; geliştirme süreçleri, yazılım analiz süreci, tasarım süreci, kodlama süreci, test süreci, kurulum süreci, bakım süreci; geleneksel süreç modelleri, süreç modellerinin tarihsel olarak gelişimi; çevik yaklaşımlar, ilkeler, pratikler, Scrum, XP, DevOps, Kanban

Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
1) Yazılım proje yönetimi temel kavramları, proje yaşam döngüsü ve yazılım geliştirme yaşam döngüsü hakkında genel bilgiye sahiptir.
2) Yazılım geliştirme süreçleri hakkında derinlemesine bilgiye sahiptir.
3) Analiz süreci, analiz yöntemleri, dokümantasyonu, farklı seviyelerde analiz yapma, analiz modelleme ve araçları öğrenir.
4) Tasarım, mimari, modelleme, refactoring konularını kavrayabilir.
5) Kodlama, debug etme, degisim, konfigürasyon yönetimi, versiyonlama konuları hakkında bilgi sahibidir.
6) Test, kalite güvence, doğrulama, geçerleme kavramlarını açıklayabilir, farklı seviyelerde test yöntemlerini ve bunlara duyulan ihtiyacı analiz edebilir.
7) Kurulum, canlıya alma, bakım, operasyon, değişim yönetimi kavramları hakkında bilgi sahibidir.
8) Günümüzde çevik yaklaşımlara duyulan ihtiyacı kavrayabilir.
9) Geleneksel yazılım geliştirme süreç modelleri ile çevik yaklaşımları karşılaştırabilir, aralarındaki farkları ve benzerlikleri ortaya koyabilir.
10) Scrum yöntemini, roller, eserler ve toplantıları ile bütün olarak anlayabilir.
11) Scrum yöntemini bir projede uygulayabilir.
12) XP pratiklerinin geçmişten günümüze yazılım geliştirmeyi ne şekilde dönüştürdüğünü kavrar ve pratikleri DevOps ile ilişkilendirebilir.
13) DevOps yöntemi ve sunduğu dönüşümü ortaya koyabilir.
14) Kanban yöntemi ve yalın yönetim yaklaşımını yazılım projeleri için uygulamayı kavrayabilir.
15) Çevik yöntemleri kurumsal seviyede uygulama, kurumsal çeviklik ve çevik ölçeklendirme yaklaşımları hakkında bilgiye sahiptir.

Ders Akış Planı

Hafta Konu Ön Hazırlık
1) Ders Tanıtımı, yazılım yönetimi, proje yönetimi temel kavramlar
2) Yazılım geliştirme döngüsü ve süreçleri
3) Analiz, tasarım, kodlama süreçleri
4) Test, kurulum, bakım süreçleri, konfigürasyon yönetimi, operasyon
5) Geleneksel yazılım geliştirme süreç modelleri
6) Scrum ve roller
7) Scrum’da eserler
8) Ara sınav & Proje önerisi sunumları
9) Scrum’da etkinlikler
10) Çevik yaklaşımlar, çevik manifesto
11) Sprint planlama uygulaması - Proje sunumları
12) XP, DevOps
13) Yalın yönetim, Kanban, çevik ölçeklendirme
14) Sprint degerlendirme&retrospektif uygulaması - Proje sunumları

Kaynaklar

Ders Notları / Kitaplar: Yazılım Mühendisliği, 10.Baskı çevirisi, Ian Sommerville Ders notları
Diğer Kaynaklar: Software Engineering, Ian Sommerville
Learning Agile: Understanding Scrum, XP, Lean, and Kanban, Andrew Stellman & Jennifer Greene
Essential Scrum: A Practical Guide to the Most Popular Agile Process,Mike Cohn Scrum Pocket Guide, Gunther Verheyen
Extreme Programming Explained, Kent Beck, 2nd Edition
Agile Project Management with Scrum, Ken Schwaber
Agile Estimating and Planning, Mike Cohn
Lean Software Development, Mary Popendieck & Tom Popendieck

Ders - Program Öğrenme Kazanım İlişkisi

Ders Öğrenme Kazanımları

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

Program Kazanımları
1) Matematik, fen bilimleri ve ilgili mühendislik disiplinine özgü konularda yeterli bilgi birikimine; bu alanlardaki kuramsal ve uygulamalı bilgileri, mühendislik problemlerinde kullanabilme becerisine sahiptir.
2) Bir sistemi, süreci veya ürünü ekonomik, çevre, sosyo-politik, etik, sağlık, güvenlik, üretilebilirlik ve sürdürülebilirlik ile ilişkili gerçekçi koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisine sahiptir.
3) Mühendislik problemlerini tanımlama, formüle etme ve çözme; çözüm için gerekli yöntemi seçme ve uygulama becerisine sahiptir.
4) Mühendislik uygulamalarında karşılaşılan problemlerin analizi ve çözümü için gerekli olan modern teknikleri geliştirme, seçme ve kullanma; bilişim teknolojilerini etkin bir şekilde kullanma becerisine sahiptir.
5) 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 becerisine sahiptir.
6) Çok disiplinli takımlarda etkin biçimde çalışabilme becerisine sahiptir.
7) Sözlü ve yazılı etkin iletişim kurma becerisi ile etkin rapor yazma ve yazılı raporları anlama, etkin sunum yapabilme becerisine sahiptir.
8) Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilincine sahiptir; mühendislik uygulamalarında kullanılan standartlar hakkında bilgiye sahiptir.
9) Bir yabancı dili Avrupa Dil Portföyü kriteri açısından en az B1 düzeyinde kullanabilme becerisine sahiptir.
10) Yaşam boyu öğrenmenin gerekliliği bilincine sahiptir; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisine sahiptir.
11) Bilgisayar yazılımı ile birlikte bilişim ve iletişim teknolojilerini Avrupa Bilgisayar Kullanma Lisansı İleri düzeyinde kullanabilme becerisine sahiptir.
12) Proje yönetimi ve risk yönetimi uygulamaları hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgiye sahiptir.
13) Mühendislik uygulamalarının evrensel ölçekte çevre, sağlık ve güvenlik üzerindeki etkileri ve hukuksal sonuçları hakkında bilgi ve farkındalığa sahiptir.
14) Yazılım alternatiflerini irdeleyerek bilgisayar tabanlı sistemlerin modellenmesi ve tasarımında, algoritma prensiplerini, matematiksel temelleri ve bilgisayar bilimleri teorisini uygulama becerisine sahiptir.
15) Türevsel denklemler, integral hesapları, doğrusal cebir, mantık ve ayrık matematik içerecek şekilde ileri matematik eğitimi ile birlikte yazılım mühendisliğinde veri yapıları ve algoritmalar, programlama dilleri, işletim sistemleri, bilgisayar güvenliği, bilgisayar teorisi, ağ programlama ve makine öğrenmesi alanlarını kapsayan mühendislik eğitimine sahiptir.

Ders - Öğrenme Kazanımı İlişkisi

Etkisi Yok 1 En Düşük 2 Orta 3 En Yüksek
       
Dersin Program Kazanımlarına Etkisi Katkı Payı
1) Matematik, fen bilimleri ve ilgili mühendislik disiplinine özgü konularda yeterli bilgi birikimine; bu alanlardaki kuramsal ve uygulamalı bilgileri, mühendislik problemlerinde kullanabilme becerisine sahiptir. 3
2) Bir sistemi, süreci veya ürünü ekonomik, çevre, sosyo-politik, etik, sağlık, güvenlik, üretilebilirlik ve sürdürülebilirlik ile ilişkili gerçekçi koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisine sahiptir. 3
3) Mühendislik problemlerini tanımlama, formüle etme ve çözme; çözüm için gerekli yöntemi seçme ve uygulama becerisine sahiptir. 3
4) Mühendislik uygulamalarında karşılaşılan problemlerin analizi ve çözümü için gerekli olan modern teknikleri geliştirme, seçme ve kullanma; bilişim teknolojilerini etkin bir şekilde kullanma becerisine sahiptir. 2
5) 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 becerisine sahiptir. 3
6) Çok disiplinli takımlarda etkin biçimde çalışabilme becerisine sahiptir. 3
7) Sözlü ve yazılı etkin iletişim kurma becerisi ile etkin rapor yazma ve yazılı raporları anlama, etkin sunum yapabilme becerisine sahiptir. 3
8) Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilincine sahiptir; mühendislik uygulamalarında kullanılan standartlar hakkında bilgiye sahiptir. 3
9) Bir yabancı dili Avrupa Dil Portföyü kriteri açısından en az B1 düzeyinde kullanabilme becerisine sahiptir.
10) Yaşam boyu öğrenmenin gerekliliği bilincine sahiptir; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisine sahiptir. 3
11) Bilgisayar yazılımı ile birlikte bilişim ve iletişim teknolojilerini Avrupa Bilgisayar Kullanma Lisansı İleri düzeyinde kullanabilme becerisine sahiptir. 2
12) Proje yönetimi ve risk yönetimi uygulamaları hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgiye sahiptir. 3
13) Mühendislik uygulamalarının evrensel ölçekte çevre, sağlık ve güvenlik üzerindeki etkileri ve hukuksal sonuçları hakkında bilgi ve farkındalığa sahiptir. 2
14) Yazılım alternatiflerini irdeleyerek bilgisayar tabanlı sistemlerin modellenmesi ve tasarımında, algoritma prensiplerini, matematiksel temelleri ve bilgisayar bilimleri teorisini uygulama becerisine sahiptir. 1
15) Türevsel denklemler, integral hesapları, doğrusal cebir, mantık ve ayrık matematik içerecek şekilde ileri matematik eğitimi ile birlikte yazılım mühendisliğinde veri yapıları ve algoritmalar, programlama dilleri, işletim sistemleri, bilgisayar güvenliği, bilgisayar teorisi, ağ programlama ve makine öğrenmesi alanlarını kapsayan mühendislik eğitimine sahiptir.

Ölçme ve Değerlendirme

Yarıyıl İçi Çalışmaları Aktivite Sayısı Katkı Payı
Küçük Sınavlar 3 % 10
Projeler 1 % 25
Ara Sınavlar 1 % 30
Final 1 % 35
Toplam % 100
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI % 65
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI % 35
Toplam % 100

İş Yükü ve AKTS Kredisi Hesaplaması

Aktiviteler Aktivite Sayısı Aktiviteye Hazırlık Aktivitede Harçanan Süre Aktivite Gereksinimi İçin Süre İş Yükü
Ders Saati 14 0 3 1 56
Sınıf Dışı Ders Çalışması 14 0 0
Proje 1 10 5 5 20
Küçük Sınavlar 3 2 1 9
Ara Sınavlar 1 20 1 21
Final 1 20 1 21
Toplam İş Yükü 127