Yazılım Analiz ve Tasarımı
Gereksinimler, proje planlama, use case, sınıf ve davranış modelleri, UML.
Kaynak kitap: Systems Analysis and Design: An Object-Oriented Approach with UML, 6th Edition
- 1. haftaIntroduction to Systems Analysis and Design
- Sistem analizi ve tasarımına giriş: SDLC ve metodolojilerSDLC'nin dört evresi, sistem analistinin rolleri ve waterfall'dan Scrum'a kadar metodolojilerin farkları. Vizede tanım ve 'hangi metodoloji uygun' soruları buradan gelir.
- 2. haftaSystems Analysis and Design for Information Systems
- System request ve fizibilite: ROI, NPV, geri ödemeBir projenin neden yapılacağını yazan system request ve teknik, ekonomik, organizasyonel fizibilite. Sınavın hesap sorusu genelde NPV, ROI ve break-even'dır.
- 3. haftaProject Management, Scope Definition
- Proje yönetimi ve kapsam: function point, timeboxing, WBSProje büyüklüğünü function point ile tahmin etme, efor ve süreye çevirme, kapsam kayması ve timeboxing. Vizede adım adım function point hesabı sık çıkar.
- 4. haftaProblem Analysis, Scheduling Tools
- Problem analizi ve takvim araçları: Gantt, PERT, kritik yolProblemin kök nedenini bulma (fishbone, PIECES) ve iş planını Gantt şeması ile PERT/CPM ağına dökme. Sınavda ileri-geri geçiş, kritik yol ve slack hesabı neredeyse kesin.
- 5. haftaProblem Discovery, Requirements Discovery, Requirements Analysis
- Gereksinim belirleme: türler, teknikler, kaliteFunctional ve nonfunctional gereksinim farkı, görüşme, JAD, anket, gözlem ve belge analizi, iyi gereksinimin özellikleri. Sınavda 'bu gereksinimi sınıflandır' ve 'hangi teknik' soruları gelir.
- 6. haftaUse Cases and Use Case Diagrams
- Use case ve use case diyagramlarıActor, use case, system boundary ve include, extend, generalization ilişkileri. Sınavda bir senaryo verilir, aktörleri ve use case'leri çıkarıp diyagramı çizmen istenir.
- 7. haftaUse Case Descriptors
- Use case tanımları: brief'ten fully dressed'eBir use case'i metin olarak yazma: trigger, preconditions, normal flow, subflow, alternate ve exception flow. Sınavda baştan sona bir use case description yazman istenir.
- 8. haftaStructural Modeling
- Yapısal modelleme: CRC kartları, class ve object diyagramlarıSınıfları metinden çıkarma, CRC kartı, class diagram'da attribute, operation, association, multiplicity, aggregation, composition, generalization ve object diagram. Vizenin en çok puanlı çizim sorusu.
- 9. haftaMidterm Exam
- Vize tekrarı: 1-8. haftalarSDLC, fizibilite hesapları, function point, kritik yol, gereksinimler, use case ve class diagram tek sayfada. Sonda karışık vize soruları.
- 10. haftaBehavioral Modeling
- Davranışsal modelleme 1: sequence ve communication diyagramlarıNesnelerin bir use case'i gerçekleştirmek için zaman sırasıyla mesajlaşması: lifeline, activation, mesaj türleri, alt/opt/loop çerçeveleri ve aynı bilginin communication diyagramı. Sınavda bir senaryo için sequence diyagramı çizmen istenir.
- Davranışsal modelleme 2: state machine ve activity diyagramlarıBir nesnenin yaşam boyu durumları (state, event, guard, action) ve bir sürecin akışı (action, decision, merge, fork, join, swimlane). Sınavda 'draw the state machine for X' ya da 'activity diagram with swimlanes' gelir.
- 11. haftaValidating and Evolving Analysis Models
- Analiz modellerini doğrulama ve geliştirme: walkthrough, balancing, katmanlarFonksiyonel, yapısal ve davranışsal modellerin kendi içinde ve birbirleriyle tutarlı olup olmadığını kontrol etme (walkthrough, balancing), sonra tasarıma geçmek için factoring, paketler ve katmanlar. Sınavda 'bu modellerde ne tutarsız?' sorusu gelir.
- 12. haftaPhysical Architecture Layer Design
- Fiziksel mimari katmanı tasarımı: client-server, cloud, nonfunctional gereksinimlerUygulamanın dört bileşeninin (veri saklama, veri erişimi, iş mantığı, sunum) donanıma dağıtılması: server-based, client-based, 2/3/n-tier client-server, cloud (IaaS/PaaS/SaaS); nonfunctional gereksinimlerden mimariye geçiş ve donanım/yazılım spesifikasyonu.
- 13. haftaConstruction: Programming, Documenting and Testing
- İnşa: programlama yönetimi, dokümantasyon ve testKodlama sürecini yönetme, sistem ve kullanıcı dokümantasyonu, test seviyeleri (unit, integration, system, acceptance), black-box ve white-box test, sınır değerler ve test case yazma. Finalde test case tablosu ve test türü soruları gelir.
- 14. haftaPost implementation activities
- Kurulum ve sonrası: geçiş stratejileri, değişim yönetimi, bakımEski sistemden yeniye geçiş (direct, parallel, pilot, phased), değişim yönetimi ve eğitim, sistem desteği, dört bakım türü ve post-implementation review. Finalde 'hangi geçiş stratejisi' ve 'bu hangi bakım türü' soruları kesin.