BIL 450

Yazılım Mühendisliği

Dersin Adı: BIL 450 Yazılım Mühendisliği
Dersin Türü Zorunlu
Verildiği Yarıyıl 8
AKTS Kredi Değeri 5
Kredi Değeri 3
Teorik Saati 3
Uygulama Saati 0
Laboratuvar Saati 0
Ön Kosul Dersi Yok
Dersin Dili Türkçe
Öğretim Şekli Örgün Sistem
Dersi Kimler Alabilir lisans
Dersin Öğretim Elemanı Öğr. Gör. Levent YAVUZ
Dersin Öğretim Yönetimi Sözel Anlatım
Önerilen Ders Kitabı Engineering Software as a Service: An Agile Approach Using Cloud Computing, Armando Fox, David Patterson**, First Addition, Strawberry Canyon LLC, 2014.
Yardımcı Ders Kitabı Yazılım Mühendisliği Erhan Sarıdoğan, 1st ed., Papatya Yayıncılık, 2004
Dersin Amacı Çeşitli geliştirme faaliyetleri ve metodolojileri, yazılım süreç modelleri, analiz konuları (kullanıcı ve sistem gereksinimleri) , tasarım konuları (mimarisel, arayüz ve bileşen düzeyli tasarım) , test konuları (doğrulama ve sağlama) , tahmin konuları (maliyet ve kaynak gereksinimleri) ve proje metrikleri başta olmak üzere yazılım planlama, yapılandırma
Dersin Özeti

Yazılım süreci: Süreç modelleri, lineer dizisel model, prototipleme modeli, RAD modeli, evrimsel yazılım süreç modelleri, bileşen tabanlı gelişim, biçimsel metotlar modeli. Sistem mühendisliği: Bilgisayar tabanlı sistemler, sistem modelleme, ürün mühendisliği. Gereksinimler mühendisliği: Gereksinimler analizi, gereksinimlerin çıkartımı, analiz prensipleri, yazılım prototipleme, belirtim. Analiz modelleme: Analiz modelleme elemanları, veri modelleme, fonksiyonel modelleme, davranışsal modelleme, yapısal analizin mekaniği. Tasarım mühendisliği: Tasarım süreci, tasarım prensipleri, tasarım kavramları, etkileyici modüler tasarım. Mimarisel tasarım. Yazılım mimarisi, veri tasarımı, mimarisel stiller. Bileşen seviyeli tasarım: Arayüz tasarım modelleri, görev analizi ve modelleme, tasarım aktiviteleri. Yazılım test teknikleri: Test esasları, beyaz kutu testi, temel yol testi, kontrol yapısı testi, siyah kutu testi. Yazılım test stratejileri: Doğrulama ve sağlama, birim testi, tümleme testi, sağlama testi, sistem testi, hata ayıklama. Proje yönetim kavramları: Yönetim yelpazesi, yazılım takımı, yazılım kapsamı, problem ayrıştırma, süreç ayrıştırma. Yazılım metrikleri: Proje etki alanı, proje metrikleri, yazılım ölçümü, yazılım kalitesi için metrikler. Yazılım proje tahmini: Yazılım kapsamı, insani ve çevresel kaynaklar, ayrıştırma teknikleri, deneysel tahmin modelleri. Proje planlama ve izleme: Temel prensipler, yazılım mühendisliği görevlerinin seçimi, zaman çizeneği, plan izleme, hata izleme.

Dersin Öğrenim Çıktıları

1.       doğrusal ve yinelemeli süreç modellerinin farkını anlayabilir.

2.       özel bir yazılım projesine hangi süreç modelinin uygulanacağını belirleyebilir.

3.       bir yazılım projesinin veri, işlev ve davranışı için analiz modelleri oluşturabilir.

4.       bir yazılım projesinin veri, mimari, arayüzler ve bileşenleri için tasarım modelleri oluşturabilir.

5.       etkili test durumları tasarlamak için siyah-kutu ve beyaz-kutu test yöntemlerini kullanabilir.

6.       bir yazılım projesini ve geliştirme sürecini yönetebilmek için yazılım metriklerini kullanabilir.

Ölçme ve Değerlendirme
Yarıyıl içi çalışmalar Sayısı Katkı Payı %
Devam
Laboratuar
Uygulama
Alan Çalışması/Staj
Ödevler
Proje/Sunum/Seminer
Kisa Sinavlar
Ara Sınavlar 1 40
Yılsonu sınavı 1 60
Toplam 100
Haftalara Göre Ders Konuları
Hafta Konular
1. Hafta Yazılım Mühendisliğine Giriş
2. Hafta Yazılım Olarak Servis, Servis Tabanlı Mimari, Bulut Bilişim, Beautiful & Legacy Code
3. Hafta Yazılım Geliştirme Süreçleri: Plan & Document
4. Hafta Agile Manifesto
5. Hafta Behavior-Driven Design (Davranış Odaklı Tasarım)
6. Hafta Scrum
7. Hafta Yazılım Gereksinimlerinin Çözümlenmesi
8. Hafta Planlama
9. Hafta Planlama
10. Hafta Review - Gözden Geçirme
11. Hafta Review - Code smell
12. Hafta Test driven development
13. Hafta Test driven development
14. Hafta Bakım
Program Yeterlilikleri
Dersin Öğrenim Çıktıları ->*
01 02 03 04 05
PY1) Temel matematik ve bilgisayar bilimleri bilgilerini bilgisayar mühendisliği problemlerine uygular 4 4 4 4 4
PY2) Temel bilimlerin ilgili konularını bilişim alanının uygulamalarına bağlar. 3 3 3 3 3
PY3) Bilgisayar mühendisliği alanındaki olgusal gözlemleri sahip oldukları kuramsal bilgiler çerçevesinde açıklar. 4 4 4 4 4
PY4) İstenen gereksinimleri karşılayacak biçimde bir sistemi(donanım ve yazılım) veya süreci tasarlar 4 4 4 4 4
PY5) Deney, gözlem, uygulama ve akıl yürütmeye dayalı çözümler üretir ve yorumlar. 3 3 5 5 5
PY6) Mühendislik uygulamaları için gerekli olan teknikleri ve modern araçları kullanır. 3 4 4 4 4
PY7) Bireysel olarak, disiplin içi ve disiplinler arası takımlarda çalışır. 3 4 4 4 4
PY8) Yaşam boyu öğrenmenin gerekliliğini kavrayarak yeniliklere açık olma bilinci ile kendini yeniler. 2 2 2 2 2
PY9) Mühendislik çözümlerinin, evrensel ve ulusal boyutlarda etkilerini anlar. 5 5 5 5 5
PY10) Yazılı ve sözlü şekilde etkili iletişim kurabilir. 1 1 1 1 1
PY11) Mesleki ve etik sorumluluk bilinci kazanır. 1 1 1 1 1
* 01: Çok düşük 02: Düşük 03: Orta 04: Yüksek 05: Çok yüksek
Etkinlikler Sayısı Ön Hazırlık Etkinlik Süresi Toplam İş Yükü
Anlatim 14 2 3 70
Uygulamalı Ders 0 0 0 0
Ödevler 14 0 2 28
Sunum / Seminer hazırlama 0 0 0 0
Sınıf Dışı Ders Çalışma Süresi (Ön Çalışma, pekiştirme, vb) 14 0 1 14
Dönem Ödevi / Proje Hazırlama 0 0 0 0
Uygulama (Lab., Atölye, Arazi, PDÖ) 0 0 0 0
Diğer Bilgi Edinme Çalışmaları 0 0 0 0
Kısa Sınavlar 0 0 0 0
Ara Sınavlar 1 10 3 13
Yari Yılsonu sınavı 1 22 3 25
Toplam İş Yükü (Saat) 150
*Toplam İş Yükü (saat) / Haftalık İş Yükü (30) = Dersin AKTS Kredisi 5
AVRASYA ÜNİVERSİTESİ
Adnan Kahveci Mahallesi Rize Caddesi No:226 Trabzon / TÜRKİYE
Tel : 0462 334 05 50   |   Faks : 0462 334 64 54  |   e-posta : info@avrasya.edu.tr

Nic Turkey Ynternet Hizmetleri