SEN2022 · 9. hafta · Midterm Exam

Vize tekrarı: 1-8. haftalar

SDLC, fizibilite hesapları, function point, kritik yol, gereksinimler, use case ve class diagram tek sayfada. Sonda karışık vize soruları.

SDLCsystem proposalNPVROIpayback periodfunction pointAPCcritical pathslackfunctional requirementnonfunctional requirementincludeextendmultiplicitycompositionaggregationuse case description

Vize 1-8. haftaları kapsar. Soru dağılımı genelde şöyle: birkaç tanım ve çoktan seçmeli (SDLC, metodoloji, fizibilite türleri, gereksinim türleri), bir ya da iki hesap (NPV/ROI/geri ödeme, function point, kritik yol), bir çizim (use case diyagramı ya da class diagram) ve bir yazma (use case description). Bu sayfa her konunun özünü bir tabloda toplar, sonra karışık sorularla seni sınar. Önce tabloları oku, sonra soruları cevaplara bakmadan çöz.

Konu haritası

HaftaKonuSınavda nasıl gelir
1SDLC, analist rolleri, metodolojilerTanım, “hangi metodoloji” senaryosu
2System request, fizibiliteNPV, ROI, geri ödeme hesabı; fizibilite türü
3Proje yönetimi, function point, kapsamFP hesabı, timeboxing/scope creep tanımı
4Problem analizi, Gantt, PERT/CPMKritik yol ve slack hesabı, PIECES
5Gereksinimler ve tekniklerGereksinim sınıflandırma, teknik seçimi
6Use case diyagramıSenaryodan aktör ve use case çıkar, çiz
7Use case descriptionFully dressed yaz
8CRC, class ve object diagramSenaryodan class diagram çiz, multiplicity

Hesap soruları için kontrol listesi

Fizibilite (2. hafta)

  1. Yıllar sütun olacak şekilde tablo kur: fayda, maliyet, net, PV, kümülatif.
  2. Yıl 0 iskontolanmaz.
  3. NPV para birimiyle, ROI yüzdeyle, geri ödeme yılla yazılır.
  4. Geri ödemede geçiş yılının kendi akışına böl.

PV=F(1+r)tROI=B−CCPV = \frac{F}{(1+r)^t} \qquad ROI = \frac{B - C}{C}

Function point (3. hafta)

TUFP = Σ (sayı x ağırlık)
APC  = 0.65 + 0.01 x PC      (PC: 0..70)
AFP  = TUFP x APC
LOC  = AFP x satır/FP
efor = 1.4 x KLOC            (person-month)
süre = 3.0 x efor^(1/3)      (ay)
LowAvgHigh
EI346
EO457
EQ346
ILF71015
EIF5710

CPM (4. hafta)

İleri: ES = max(öncül EF), EF = ES + d
Geri : LF = min(ardıl LS), LS = LF - d
Slack = LS - ES
Kritik yol: slack = 0, en uzun yol
Kontrol: kritik yolun uzunluğu = proje süresi

Kavram soruları için karşılaştırma tabloları

Metodolojiler

DurumUygun
Gereksinim net ve sabit, belge zorunluWaterfall, V-model
Gereksinim belirsiz, kullanıcı görünce anlarSystem prototyping, agile
Teknik risk yüksek, gereksinim belirsizThrowaway prototyping
Kısa takvim, öncelikli parçalar önceIterative, timeboxing, Scrum
Büyük, OO, UML ileUnified Process

Gereksinim toplama

İhtiyaçTeknik
Derin, ayrıntılı bilgiGörüşme
Çok kişi, ucuz, genişAnket
Gerçek davranışGözlem
Resmi kurallar, formlarBelge analizi
Ortak karar, çatışmayı çözmekJAD

Use case ilişkileri

İlişkiNe zamanOk
IncludeHer seferinde çalışan ortak parçaTemel → eklenen
ExtendKoşullu ek davranışGenişleten → temel
GeneralizationÖzel türAlt → üst, boş üçgen

Class diagram ilişkileri

İlişkiCümleSembol
Association”… ile ilişkili”Düz çizgi
Aggregation“has a”, parça bağımsızBoş elmas bütünde
Composition“is part of”, parça bütünle ölürDolu elmas bütünde
Generalization“is a kind of”Boş üçgen üst sınıfta

Çizim sorusu stratejisi

  1. Önce listele, sonra çiz. Aktör/use case ya da sınıf/attribute tablosunu kenara yaz. Çizime geçince hiçbir şeyi unutmazsın.
  2. Senaryodaki her cümleyi işaretle. Her cümle en az bir öğeye karşılık gelmeli. Kullanmadığın cümle kalırsa bir şeyi atladın.
  3. Multiplicity’yi en sona bırakma. Her ilişkiyi çizdiğin anda iki soruyu sor: “Bir A’nın kaç B’si?” ve “Bir B’nin kaç A’sı?”
  4. Okunaklı çiz. Çizgiler kesişmesin; gerekirse sınıfları yeniden yerleştir.

Use case description stratejisi

Şablonu ezbere yaz: name, ID, importance, primary actor, stakeholders and interests, brief description, trigger (type), relationships, preconditions, normal flow, subflows, alternate/exceptional flows, postconditions. Normal flow 5-8 adım, her adım “Öğrenci …” ya da “Sistem …” ile başlasın. En az iki alternate flow yaz ve dönüş noktasını belirt.

Sık yapılan hatalar (tüm dönem)

YanlışDoğru
System proposal tasarımın çıktısıAnalizin çıktısı
Yıl 0’ı iskontolamakYıl 0 çarpanı 1
APC = 0.65 × PCAPC = 0.65 + 0.01 × PC
Geri geçişte maxGeri geçişte min
Performans gereksinimi functionalNonfunctional
Extend oku temeldenGenişletenden temele
Multiplicity kendi ucundaKarşı uçtan okunur
Elmas parça tarafındaBütün tarafında

Kendini test et

Sınavdaki gibi İngilizce sorular. Önce kâğıt kalemle çöz, sonra cevabı aç.

Soru 1kolay

Which SDLC phase produces the system specification?

  1. Planning
  2. Analysis
  3. Design
  4. Implementation
Cevabı göster
C) Design

Planning → system request + fizibilite + plan. Analysis → system proposal. Design → system specification. Implementation → kurulu, çalışan sistem.

Soru 2zor

A project costs 60,000 TL and yields 25,000 TL net per year for 3 years. At 12%, what is the NPV?

Cevabı göster
≈ 46 TL (45.78 TL)

PV'ler: 25000/1.12=22321.4325000/1.12 = 22321.43, 25000/1.122=19929.8525000/1.12^2 = 19929.85, 25000/1.123=17794.5125000/1.12^3 = 17794.51. Toplam 60,045.78. NPV = 60,045.78 − 60,000 = 45.78 TL. Pozitif ama sınırda: iskonto oranı biraz artsa proje negatife döner. Nominal toplam 75,000 olsa da gerçek kazanç neredeyse sıfır.

Soru 3orta

Same project: what is the simple payback period and the nominal ROI?

Cevabı göster
Payback 2.4 years, ROI 25%

Kümülatif: −35,000, −10,000, +15,000. Geri ödeme = 2 + 10,000/25,000 = 2.4 yıl. ROI = (75,000 − 60,000) / 60,000 = 0.25 = %25.

Soru 4orta

Counts: EI 4 low and 3 high; EO 2 average; EQ 3 low; ILF 2 low; EIF 1 high. PC = 40. Find TUFP and adjusted FP.

Cevabı göster
TUFP 73, AFP 76.65

EI: 4×3 + 3×6 = 30. EO: 2×5 = 10. EQ: 3×3 = 9. ILF: 2×7 = 14. EIF: 1×10 = 10. TUFP = 73. APC = 0.65 + 0.40 = 1.05. AFP = 73 × 1.05 = 76.65.

Soru 5orta

Tasks (days, predecessors): A 3 (none), B 2 (A), C 4 (A), D 3 (B, C), E 1 (D). Give the critical path, the duration and the slack of B.

Cevabı göster
A-C-D-E, 11 days, slack of B = 2

İleri geçiş: A 0-3, B 3-5, C 3-7, D max(5,7)=7 → 10, E 10-11. Süre 11.
Geri geçiş: E LS 10, D LF 10 LS 7, B LF 7 LS 5, C LF 7 LS 3, A LF min(5,3)=3 LS 0.
Slack B = 5 − 3 = 2. Kritik yol slack'i 0 olanlar: A-C-D-E.

Soru 6kolay

PERT estimate for o = 1, m = 3, p = 11 days?

Cevabı göster
4 days

(1+4⋅3+11)/6=24/6=4(1 + 4\cdot 3 + 11)/6 = 24/6 = 4 gün.

Soru 7kolay

Classify: 'Members' payment card data must never be stored on the gym's servers.'

  1. Functional
  2. Operational
  3. Performance
  4. Security
Cevabı göster
D) Security

Verinin nerede saklanıp kimin erişebileceğiyle ilgili kısıt: security. Bir işlevi değil, işlevin güvenlik koşulunu tanımlar.

Soru 8kolay

Which technique is most likely affected by the Hawthorne effect?

  1. Questionnaire
  2. Document analysis
  3. Observation
  4. JAD
Cevabı göster
C) Observation

İzlendiğini bilen kişi davranışını değiştirir. Bu doğrudan gözlemi (observation) etkiler.

Soru 9orta

'Checkout' always calls 'Calculate Total'; 'Apply Coupon' happens only if the customer enters a coupon code. Name both relationships to 'Checkout'.

Cevabı göster
Calculate Total: <<include>> (Checkout → Calculate Total); Apply Coupon: <<extend>> (Apply Coupon → Checkout)

Her seferinde çalışan ortak parça include, ok temelden (Checkout) çıkar. Koşula bağlı ek davranış extend, ok genişletenden (Apply Coupon) temele gider.

Soru 10orta

A House has Rooms; if the house is demolished, its rooms no longer exist. A Room belongs to exactly one House, a House has at least one Room. Give the relationship and multiplicities.

Cevabı göster
Composition (filled diamond at House); House end 1, Room end 1..*

Parça bütünle yok oluyor ve tek bütüne ait: composition. Bir Room'un kaç House'u var? 1 → House ucuna. Bir House'un kaç Room'u var? 1..* → Room ucuna.

Soru 11kolay

In a use case description, where do you write 'If the card is declined, the system asks for another card and returns to step 5'?

  1. Normal flow
  2. Preconditions
  3. Alternate/exceptional flows
  4. Brief description
Cevabı göster
C) Alternate/exceptional flows

Normal flow tek başarı yoludur. Ret durumu bir sapmadır ve sapma adım numarasıyla (ör. 6a) alternate/exceptional flow'da yazılır, dönüş noktası da belirtilir.

Soru 12orta

A university project has clear, stable, legally fixed requirements and auditors require full documentation. Which methodology is the safest choice?

  1. Scrum
  2. System prototyping
  3. Waterfall (or V-model)
  4. Throwaway prototyping
Cevabı göster
C) Waterfall (or V-model)

Gereksinimler net ve sabitse, belge zorunluysa yapısal yöntemler (waterfall, V-model) uygundur. Agile ve prototip belirsiz gereksinimde güçlüdür.

Doğrulama: Sayısal cevaplar (NPV, PV'ler, geri ödeme, ROI, TUFP/AFP, kritik yol, slack, PERT) node ile hesaplandı (verify/SEN2022/09.mjs, ortak fonksiyonlar lib.mjs). Kavramsal sorular 1-8. hafta sayfalarındaki standart tanımlarla karşılaştırıldı.

Deftere not kartı

SDLC: Planning → Analysis → Design → Implementation Çıktılar: system request → proposal → specification → sistem Fizibilite: technical (yapabilir miyiz) / economic (değer mi) / organizational (kullanılır mı) PV = F/(1+r)^t; NPV = ΣPV - yatırım; ROI = (fayda - maliyet)/maliyet Geri ödeme = son negatif yıl + açık / sonraki yılın akışı FP: TUFP → APC = 0.65 + 0.01·PC → AFP → LOC → efor 1.4·KLOC → süre 3·efor^(1/3) CPM: ileri max, geri min, slack = LS - ES, kritik = slack 0 PERT: (o + 4m + p)/6 Nonfunctional: operational, performance, security, cultural & political Use case: include zorunlu (temel→eklenen), extend koşullu (genişleten→temel) Description: trigger, pre, normal flow, subflow, alternate, post Class: multiplicity karşı uçtan; boş elmas aggregation, dolu composition Generalization: boş üçgen üst sınıfta