NivaarExam PrepOfficial exam papers ↗

19-Soft-A5 Requirements and Specifications · May 2014

Question 2 of 7: Functional Requirements and Use-Case Model

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

Notes on this paper

National Exams, May 2014 — 04-Soft-A5, Requirements and Specifications (open book, 3 hours). Notes on the paper: answer five or six of the seven questions with Questions 2 and 4 mandatory (a complete paper totals 100 marks); this solution answers all seven questions as a full study resource. Every question is set against the same running case, IseeFin, a hypothetical cloud-hosted Investment Club financial-management tool.

Reference texts. Sommerville, Software Engineering, 10th ed., Ch. 4 (Requirements Engineering) and Ch. 5 (System Modeling – use cases); Pressman, Software Engineering: A Practitioner's Approach, 9th ed., Ch. 8–9 (Requirements Engineering, Requirements Modeling); SWEBOK v4, Requirements Engineering KA; ISO/IEC 25010 (SQuaRE) for the non-functional quality model used in Question 4.

Question 2: Functional Requirements and Use-Case Model (25%)

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.

Part 2.1 — functional requirement. A functional requirement states something the system must do: a specific service, behaviour or transformation of inputs to outputs that the system provides to its users, expressed independently of how it is implemented (Sommerville Ch. 4). It is typically phrased as "the system shall …" — e.g. "the system shall let a member submit a purchase of club units and update that member's unit holding accordingly." Functional requirements are contrasted with non-functional requirements (Question 4), which constrain how well the functions must be delivered (speed, security, usability) rather than describing a new capability.

Part 2.2 — use case and use-case model. A use case is a description of a discrete piece of behaviour that the system provides in response to a request from one of its actors, phrased from the actor's point of view: a named goal (e.g. "Buy Club Units"), typically written as a main success scenario plus alternate/exception flows, that delivers observable value to the actor who invoked it (Sommerville §5.2; Jacobson's original use-case concept). A use-case model is the set of all such use cases for a system together with a use-case diagram showing which actor (a role external to the system — a person or another system — that interacts with it) participates in which use case, and any «include»/«extend» relationships between use cases. Together the model gives a functional, user-centred view of the whole system's scope without committing to an internal design.

Part 2.3 — actors for IseeFin.

ActorDescription
Club MemberAn ordinary investor who has bought units of one club; buys/sells units, views their own holdings and valuation.
Trading OfficerA club member designated to execute the club's actual securities trades on its online brokerage account(s).
TreasurerA club member designated to manage the club's cash, reconcile bank/brokerage statements, and generate the club's tax reporting.
Club AdministratorConfigures a new club (name, appearance, access rules, initial unit price) and manages membership (join/leave).
Brokerage / Bank (external system)The club's online brokerage and bank accounts; a future synchronisation feed for trades and balances.
Tax Reporting Engine (external/internal service)Produces the country-specific flow-through tax form (T5 in Canada, Form 1065 in the USA) from the club's ledger.
IseeFin — Use-Case DiagramIseeFin systemClub MemberTradingOfficerTreasurerClub AdminTax ReportEngine (ext.)Brokerage /Bank (ext.)Buy / SellClub UnitsView Holdings &ValuationRecordSecurities TradeReconcileTreasuryGenerate TaxReport (T5/1065)ConfigureClub SetupSync Bank /Brokerage FeedConvertMulti-CurrencyJoin / LeaveClub (Admin)
Figure 1 — IseeFin use-case diagram: six actors (three club-facing, two external, one administrative) against the nine use cases identified in 2.4.

Part 2.4 — use cases for IseeFin.

Use caseDescription
Buy / Sell Club UnitsA member submits a purchase or redemption of IC units at the current unit price; the system validates funds/holdings and updates the member's unit balance and the club's total units outstanding.
View Holdings & ValuationA member views their current unit count, unit price and dollar valuation, and the club's aggregate portfolio holdings, restricted to that club's members only.
Record Securities TradeThe trading officer logs a buy/sell of a security in the club's brokerage account (symbol, quantity, price, date), which updates the club's portfolio and, through the unit price, every member's valuation.
Reconcile TreasuryThe treasurer matches IseeFin's internal cash ledger against the club's bank/brokerage statements and records any adjusting entries needed to bring them into agreement.
Generate Tax ReportThe treasurer requests the country-appropriate flow-through tax form (T5 in Canada, Form 1065 in the USA) computed from the year's transactions and each member's share.
Configure Club SetupThe administrator creates a new club or edits its name, appearance, access rules, base currency/currencies and initial unit price.
Join / Leave ClubThe administrator (or a self-service flow) admits a new member at the current unit price or processes a departing member's full redemption.
Sync Bank / Brokerage FeedThe system pulls transaction and balance data from the club's linked bank and online-brokerage accounts to pre-populate the ledger (an "advanced feature" per the brief).
Convert Multi-CurrencyAmounts held or transacted in a second currency (e.g. CAD alongside USD) are converted to the club's reporting currency for valuation and tax purposes.