25-Comp-A6 Software Engineering · Undated paper
Nivaar worked solution (AI-drafted; not reviewed by a licensed engineer)
National Exams — 17-Comp-A6 Software Engineering. Three-hour, closed-book exam, no calculator permitted. Format: eight questions, candidates answer any five (all questions equal weight — each of the five counted questions is worth 20%; any five questions constitute a complete paper, and only the first five as they appear in the answer book are marked). All eight questions are solved below for completeness. The page-1 heading reads "National Exams.
Reference texts: Sommerville, Software Engineering (10th ed., Pearson) — software process models, object-oriented and function-oriented design, software reuse and portability, dependable/critical systems, distributed software engineering, configuration management, reliability metrics; Pressman, Software Engineering: A Practitioner's Approach (9th ed.) — supplementary process and testing coverage; Leveson, Safeware — hazard and fault-tree analysis for safety-critical software.
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.
Following structured/function-oriented convention, the system is decomposed into five numbered processes operating on a shared household/subscription record, connected by labelled data flows to two external entities (the Household and the Delivery Person); every summary or billing figure is derived from that one authoritative record rather than from a separate live delivery-confirmation feed, since the question describes what is scheduled to be delivered (adjusted for vacations), not a per-item delivery-confirmation system.
Process 1 owns the single authoritative record of which households take which publications, their billing rate, and their vacation date ranges — every other process reads from this record rather than maintaining its own copy, which is the central function-oriented design decision here (a single shared data resource that every downstream function transforms). Process 2 reads that record each morning and, for every delivery person's assigned route, produces the list of publications to deliver to each household on the route, excluding any household currently within a recorded vacation range. Process 3 performs the same vacation-aware pass over the record but tallies, per publication, how many copies were actually scheduled for delivery that day (a household on vacation is excluded from both the delivery list and the day's sales tally, since the question states "newspapers are not delivered" during a vacation). Process 4 accumulates process 3's seven daily tallies into the weekly summary report. Process 5 runs once at month-end, computing each household's bill from its subscription rate pro-rated for any vacation days recorded that month, and prints the bills for physical delivery alongside the first delivery of the following month.