SEDS 561

Yazılım Mühendisliğinin Temelleri

Bu ders öğrencilere yazılım mühendisliği tekniklerini ve yaklaşımlarını tanıtmayı, değerlendirme yeteneği kazandırmayı, yazılım mühendisliği uygulamalarının vardığı son durumu ortaya koymayı ve tarihsel süreçte yaşananları aktararak, belli bir proje için doğru yaklaşımların seçiminde profesyonel karar alma becerisini kazandırmayı hedeflemektedir. Bu ders yazılım mühendisliği kavramını ortaya koyarak başlayacaktır. Ardından yazılım geliştirme paradigma, yöntem ve anahtar modelleme notasyonları tartışılacaktır. Yazılım gereksinimleri, yazılım tasarımı, proje yönetimi, ölçüm ve kişisel iletişim, gelişim teknikler kapsanacaktır.

Dersin Amacı

Bilgisayar güvenliğinin temel bileşenlerini öğretmek. Bilgisayar güvenliğinin temel bileşenlerini kullanarak, problem analiz, alternatif çözümler tanımlama, doğru çözümü belirleme ve uygulama yöntemlerinin öğretilmesi. Bilgisayar bilimlerinin, güvenlikle ilişkili konularını ve güncel araştırma problemlerini öğretmek.

Kaynakça

Aleph One – Smashing the Stack for Fun and Profit: http://www.phrack.org/issues.html?issue=49&id=14#article ,US Security Awareness (.org): http://www.ussecurityawareness.org/highres/index.html ,NSU InfoSec web site (of course): http://infosec.nova.edu/ ,Bruce Schneier – Crypto-gram Newsletter: http://www.schneier.com/crypto-gram.html ,Microsoft Security Guidance Center: http://www.microsoft.com/security/guidance/default.mspx ,B. Matt, Introduction to Computer Security ,Addison-Wesley, Pearson Education, 2005 ,SNORT.ORG: http://www.snort.org/

Öğrenim Çıktıları

1. Temel yazılım mühendisliği kavramlarına hakim

2. Sıkça rastlanan yazılım mühendisliği hatalarından ders almış

3. Yazılım mühendisliği problemlerini tartışabilir

4. Profesyonel karar alma becerisine sahip

Week Topics
1 Problem ve çözüm alanları
2 Yazılım nedir?
3 Yazılım mühendisliği paradigmaları
4 Yazılım mühendisliğinde modelleme
5 Yazılım geliştirme yöntemleri
6-7 Gereksinim mühendisliği
8-9 Yazılım mimarisi ve tasarımı
10 Yazılım testleri
11-12 Yazılım yönetimi
13 Takım organizasyonu ve insan yönetimi
14 Ampirik yazılım mühendisliği

 

Notlandırma

Vize %25

Araştırma Sunumu %40

Final %35