19-Soft-A7 Software Development Process · December 2013
Nivaar worked solution (AI-drafted; not reviewed by a licensed engineer)
National Exams, December 2013 — 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 essay-format answers; Question 4 introduces a hypothetical information search-and-delivery tool (delivering electronic documents from a repository to a user by keyword/preference — e.g. a product catalog or classified-ads listing) that Question 5 and parts of Questions 7 build 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 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 information search & delivery tool: three use cases (Set User Preferences, Search Documents, Select & Deliver Document), a user-preferences store, an internally-maintained document/repository index, and an externally-maintained document-repository feed. The IFPUG/Albrecht complexity-weight table (industry-standard, reproduced below) is adopted as the "reasonable" weight assignment the question invites.
| Component | Simple | Average | Complex |
|---|---|---|---|
| External Input (EI) | 3 | 4 | 6 |
| External Output (EO) | 4 | 5 | 7 |
| External Inquiry (EQ) | 3 | 4 | 6 |
| Internal Logical File (ILF) | 7 | 10 | 15 |
| External Interface File (EIF) | 5 | 7 | 10 |
Find. The Unadjusted Function Point (UFP) count for the system, and an explanation of what the Value Adjustment Factor (VAF) is for.
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 explain how the 14 General System Characteristics (GSCs) adjust UFP to the final Adjusted Function Point (AFP) count actually used for cost/effort estimation.
| Quantity | Value |
|---|---|
| External Inputs (EI) | 10 FP (1 Average + 2 Simple) |
| External Outputs (EO) | 9 FP (1 Average + 1 Simple) |
| External Inquiries (EQ) | 6 FP (2 Simple) |
| Internal Logical Files (ILF) | 22 FP (1 Simple + 1 Complex) |
| External Interface Files (EIF) | 7 FP (1 Average) |
| Unadjusted Function Points (UFP) | 54 function points |
| Illustrative CAF (TDI = 38) | 1.03 |
| Illustrative Adjusted FP (AFP) | ≈ 55.6 |
Purpose of the adjustment values. The 14 General System Characteristics and the resulting CAF/VAF exist because two systems with an identical raw UFP count — the same number and type of inputs, outputs, inquiries and files — can require very different implementation effort depending on non-functional factors the raw counts do not capture: how demanding the performance target is, whether the system runs in a distributed/multi-site environment, how heavily it is designed for reuse, how complex the internal processing logic is, and so on. The adjustment scales the raw functional size up (CAF up to 1.35) or down (CAF down to 0.65) by up to ±35% to reflect this, producing an Adjusted Function Point count that is a materially better basis for effort/cost estimation than the unadjusted count alone — the same logic Question 1(c)'s "measurement" umbrella activity relies on: an estimate is only as useful as the size metric it is built from.