NivaarExam PrepOfficial exam papers ↗

19-Soft-A7 Software Development Process · December 2014

Question 5 of 8: Function-Point Cost Estimate for the Emergency Reporting System

Nivaar worked solution (AI-drafted; not reviewed by a licensed engineer)

Notes on this paper

National Exams, December 2014 — 04-Soft-A7, Software Process (open book, 3 hours). Notes on the paper: FIVE of the eight questions constitute a complete paper (the first five as answered in the answer book are marked, each of equal value); this solution answers all eight as a full study resource. Most questions call for short, bulleted written answers; Question 4 introduces a hypothetical emergency reporting system (a field officer reports an emergency, a dispatcher records the issue and allocates resources) that Question 5 builds on.

Reference texts. Sommerville, Software Engineering, 10th ed., Ch. 2 (Software Processes), Ch. 3 (Agile Software Development), Ch. 5 (System Modeling), Ch. 8–9 (Testing), Ch. 22–23 (Project Management, Configuration Management), Ch. 9 (Software Evolution/Maintenance); Pressman, Software Engineering: A Practitioner's Approach, 9th ed., Ch. 2–3 (Process Models, Agile), Ch. 23–24 (Project Management, Risk Management), Ch. 29 (Function-Point sizing), Ch. 22 (SQA), Ch. 24 (Software Configuration Management); SWEBOK v4 (Software Engineering Process, Software Configuration Management, Software Maintenance KAs).

Question 5: Function-Point Cost Estimate for the Emergency Reporting System (10 marks)

Question text not reproduced: the examination questions are © Engineers and Geoscientists BC. Open the official past paper (linked at the top of this page) to read the question, then follow the worked solution below.

Given. The Question-4 emergency reporting system: three use cases (Report Emergency, Record Incident, Allocate Resources), an EmergencyReport file, a ResourceAssignment file, and an externally-maintained personnel/resource roster feed. The IFPUG/Albrecht complexity-weight table (industry-standard, reproduced below) is adopted as the "reasonable" weight assignment the question invites.

IFPUG standard complexity weights (function points per component)
ComponentSimpleAverageComplex
External Input (EI)346
External Output (EO)457
External Inquiry (EQ)346
Internal Logical File (ILF)71015
External Interface File (EIF)5710

Find. The Unadjusted Function Point (UFP) count for the system, and a demonstration of the adjustment mechanism using five chosen General System Characteristics (GSCs).

Approach. Classify every distinct external input, output, inquiry, and logical/interface file the three use cases require, rate each Simple/Average/Complex by the number of data elements and referenced files it touches, weight and sum them (UFP), then choose five of the fourteen GSCs, rate each 0–5, and apply the resulting partial adjustment.

  1. Classify the External Inputs (EI). Report Emergency submission and Allocate Resources entry each update the system's data (touching the EmergencyReport / ResourceAssignment files respectively): both rated Average (2). $$EI = 2(4) = 8$$
  2. Classify the External Outputs (EO). The dispatch notification to responding units (derived from the report + assignment data): Average (1). The delivery/allocation confirmation to the field officer: Simple (1). $$EO = 1(5) + 1(4) = 9$$
  3. Classify the External Inquiries (EQ). Checking current incident status and checking resource availability are both plain retrievals with no derivation: Simple (2). $$EQ = 2(3) = 6$$
  4. Classify the Internal Logical Files (ILF). The EmergencyReport file (several data elements: location, description, timestamp, status): Average (1). The ResourceAssignment file (fewer elements): Simple (1). $$ILF = 1(10) + 1(7) = 17$$
  5. Classify the External Interface Files (EIF). The externally-maintained personnel/resource roster feed referenced by Allocate Resources: Average (1). $$EIF = 1(7) = 7$$
  6. Sum the Unadjusted Function Points. Adding the five component totals from Steps 1–5: $$UFP = EI + EO + EQ + ILF + EIF = 8 + 9 + 6 + 17 + 7$$ $$\boxed{UFP = 47 \text{ function points}}$$
  7. Choose five adjustment factors and assign values. Of the fourteen General System Characteristics (GSCs, each rated 0–5), five are selected as most relevant to a safety/operationally-critical emergency system:
    GSC (chosen)Rating (0–5)Rationale
    Reliability4A dropped or lost report has real operational consequences.
    Performance4Part (a)'s 2–5 second response-time quality requirements are demanding.
    Online data entry5All three use cases are interactive, online transactions.
    Complex processing3Resource-allocation logic must match incident needs to available resources.
    Reusability2Limited reuse potential outside this specific dispatch domain.
    $$TDI_5 = 4 + 4 + 5 + 3 + 2 = 18$$
  8. Apply the adjustment. Using the standard CAF formula (illustratively, over just these five factors rather than all fourteen): $$CAF = 0.65 + 0.01 \times TDI_5 = 0.65 + 0.01(18) = 0.83$$ $$AFP = UFP \times CAF = 47 \times 0.83$$ $$\boxed{AFP \approx 39.0 \text{ adjusted function points}}$$ The five GSC ratings are project-specific judgement calls (arbitrarily but reasonably assigned, as the question invites), so this step demonstrates the adjustment mechanism; only the UFP in Step 6 is graded as a hard number here.
Final results
QuantityValue
External Inputs (EI)8 FP (2 Average)
External Outputs (EO)9 FP (1 Average + 1 Simple)
External Inquiries (EQ)6 FP (2 Simple)
Internal Logical Files (ILF)17 FP (1 Average + 1 Simple)
External Interface Files (EIF)7 FP (1 Average)
Unadjusted Function Points (UFP)47 function points
Five-factor TDI18
Illustrative CAF (5-factor)0.83
Illustrative Adjusted FP (AFP)≈ 39.0