NivaarExam PrepOfficial exam papers ↗

19-Soft-A7 Software Development Process · May 2016

Question 5 of 8: Function-Point Cost Estimate for the Pilot Emulator System

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

Notes on this paper

National Exams, May 2016 — 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 3 asks for an incremental-model schedule using three teams, and Question 4 introduces a hypothetical pilot take-off/landing emulator (a pilot requests take-off or landing from the dispatcher, and the dispatcher records the request and allows the movement) 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 Pilot Emulator 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 pilot emulator system: three use cases (Submit Movement Request, Record Request, Authorize Movement), a MovementRequest file, a ClearanceDecision file, and an externally-maintained ATC/airspace conflict-check 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 four chosen General System Characteristics (GSCs), as the question allows "three or four."

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 four of the fourteen GSCs, rate each 0–5, and apply the resulting partial adjustment.

  1. Classify the External Inputs (EI). Submit Take-off Request and Submit Landing Request each carry four data elements (aircraftId, type, requestedTime, pilotId) and update the MovementRequest file: both rated Average (2). $$EI = 2(4) = 8$$
  2. Classify the External Outputs (EO). The clearance-decision notification to the pilot (derived from the request plus the conflict-check result, referencing two files): Average (1). A plain denial-reason message (no derivation): Simple (1). $$EO = 1(5) + 1(4) = 9$$
  3. Classify the External Inquiries (EQ). Checking current request status is a plain single-file retrieval: Simple (1). Checking runway availability cross-references the Runway status against the airspace feed: Average (1). $$EQ = 1(3) + 1(4) = 7$$
  4. Classify the Internal Logical Files (ILF). The MovementRequest file (five data elements: requestId, aircraftId, type, requestedTime, status): Average (1). The ClearanceDecision file (fewer elements): Simple (1). $$ILF = 1(10) + 1(7) = 17$$
  5. Classify the External Interface Files (EIF). The externally-maintained ATC/airspace conflict-check feed referenced by Authorize Movement, with only a status flag consulted: Simple (1). $$EIF = 1(5) = 5$$
  6. Sum the Unadjusted Function Points. Adding the five component totals from Steps 1–5: $$UFP = EI + EO + EQ + ILF + EIF = 8 + 9 + 7 + 17 + 5$$ $$\boxed{UFP = 46 \text{ function points}}$$
  7. Choose four adjustment factors and assign values. Of the fourteen General System Characteristics (GSCs, each rated 0–5), four are selected as most relevant to a safety-critical air-traffic system:
    GSC (chosen)Rating (0–5)Rationale
    Reliability5An unauthorized or lost movement request has direct flight-safety consequences.
    Performance4Part (a)'s 2–3 second response-time quality requirements are demanding.
    Online data entry5All three use cases are interactive, online transactions with no batch component.
    Complex processing3Runway/airspace conflict-check logic combines several data sources per decision.
    $$TDI_4 = 5 + 4 + 5 + 3 = 17$$
  8. Apply the adjustment. Using the standard CAF formula (illustratively, over just these four factors rather than all fourteen): $$CAF = 0.65 + 0.01 \times TDI_4 = 0.65 + 0.01(17) = 0.82$$ $$AFP = UFP \times CAF = 46 \times 0.82$$ $$\boxed{AFP \approx 37.7 \text{ adjusted function points}}$$ The four 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)7 FP (1 Simple + 1 Average)
Internal Logical Files (ILF)17 FP (1 Average + 1 Simple)
External Interface Files (EIF)5 FP (1 Simple)
Unadjusted Function Points (UFP)46 function points
Four-factor TDI17
Illustrative CAF (4-factor)0.82
Illustrative Adjusted FP (AFP)≈ 37.7