Software Engineering & Object-Oriented Analysis & Design β Object-Oriented Fundamentals and Analysis, NEC licence examination syllabus (Nepal Engineering Council).
Requirement Process
Requirements work in an object-oriented, iterative setting.
π Where this lives: the reason iterative requirements won is that fixed requirements almost never survive contact with a working system. Users discover what they wanted by using something; stakeholders reprioritise when they see progress; the market moves. Every modern development process β Scrum's backlog, the Unified Process's iterations, continuous discovery β is built on the assumption that the requirements list at the start is a hypothesis, not a specification. Search "iterative requirements discovery build measure learn".
The object-oriented requirements process
The requirements activities of ACtE0801 β elicitation,
analysis, specification, validation and management β do not
change in an object-oriented project. WHAT CHANGES is the form
the output takes and the rhythm in which it is produced.
THE OO EMPHASIS:
Β· requirements are captured largely as USE CASES, which
describe interactions rather than function lists
Β· the domain vocabulary is captured as a CONCEPTUAL MODEL
(a class diagram of domain concepts) alongside the use
cases
Β· requirements work is ITERATIVE and INCREMENTAL β a
portion is elaborated and built, then the next
Β· the same artefacts carry through to design, so there is
no translation step: a use case becomes a set of
interactions, and a conceptual class becomes a design
class
THE UNIFIED PROCESS phases, since this syllabus's OO material
follows that tradition:
INCEPTION establish the business case and scope;
identify the critical use cases (perhaps
10% elaborated); decide whether to proceed
ELABORATION elaborate most use cases; build a baseline
ARCHITECTURE and prove it with an executable
skeleton; identify and mitigate the highest
risks
CONSTRUCTION build the remaining functionality
incrementally
TRANSITION deploy to users; beta testing; training;
correction
THE CRITICAL POINT ABOUT ELABORATION: its purpose is NOT to
finish the requirements. It is to resolve the RISKS and prove
the ARCHITECTURE, by building something that runs. The
Unified Process is described as USE-CASE DRIVEN,
ARCHITECTURE-CENTRIC, ITERATIVE AND INCREMENTAL β and
"architecture-centric" means the architecture is validated by
execution early, not designed on paper and hoped for.
WHY ELABORATE ONLY 10% AT INCEPTION? Because detailed
requirements for features that will be cut, deferred or
reconceived are waste. From the requirements management topic:
requirements are volatile, and the volatile ones should not be
detailed early.
The artefacts, and how they fit together
A worked set for the licence system, showing how each artefact
feeds the next. This chain is the answer to "what does the OO
requirements process actually produce?"
1. VISION / BUSINESS CASE
"Reduce licence issuance time from 11 days to 2, and
eliminate the paper register."
One paragraph. It is what every later decision is checked
against, and a project without it cannot resolve
priority arguments.
2. GLOSSARY
Applicant, Application, Licence, Fee, District,
Officer, Endorsement, Renewal Windowβ¦
WRITTEN FIRST, and continuously. Recall from the SRS topic
that defining a term forces the expert to state the
convention hidden inside it. "Renewal Window" turned out
to mean 90 days before expiry to 30 days after β which
nobody had said, and which changes the validation rules.
3. USE CASE MODEL β the actors and their goals
Actors: Applicant, Counter Officer, Reviewing Officer,
Cashier, National ID Service, Payment Gateway
Use cases: Submit Application Β· Verify Identity Β·
Review Application Β· Pay Fee Β· Issue Licence Β·
Renew Licence Β· Reverse Issuance Β· Report Revenue
Each use case gets a brief description now, and a full
flow when it is about to be built.
4. SUPPLEMENTARY SPECIFICATION β everything a use case cannot
express, which is chiefly the NON-FUNCTIONAL requirements
from ACtE0801:
p95 under 2 s Β· 99.9% availability Β· AES-256 at rest Β·
audit retention 7 years Β· 500 concurrent users in July
THIS DOCUMENT IS FREQUENTLY FORGOTTEN, and it is where the
architecturally significant requirements live. A use-case
model alone cannot express "within 2 seconds", so a
project that captures only use cases has no input for
architectural design.
5. CONCEPTUAL / DOMAIN MODEL
The noun structure: Applicant 1β* Application,
Application 1β1 Licence (once issued), Application *β1
District, Application 1β* StatusChangeβ¦
Derived from the glossary and the use cases, and validated
with the domain expert.
6. PRIORITISED USE CASE LIST driving the iterations:
iteration 1 Submit Application, Pay Fee β the core
revenue path, and it exercises the payment
gateway integration, which is the biggest
technical risk
iteration 2 Review, Issue Licence
iteration 3 Verify Identity (external dependency),
Renew
iteration 4 Report Revenue, Reverse Issuance
NOTE THE ORDERING PRINCIPLE: iteration 1 was chosen because
it carries the HIGHEST RISK, not because it is the easiest or
the most obviously valuable. Building the risky integration
first means discovering in week 3 rather than month 5 that
the payment gateway cannot do what was assumed. RISK-DRIVEN
ITERATION ORDERING is the single most valuable planning idea
in this topic.
HOW MUCH DETAIL PER ITERATION β the practical rule:
the use cases for the NEXT iteration are fully detailed
(main flow, all extensions, acceptance criteria)
the ones after that have a brief description
the rest are one line on the list
This is progressive elaboration, and it directly implements
the "don't detail volatile requirements early" conclusion.
Requirements risk, quantified
WHY RISK-DRIVEN ORDERING PAYS β with numbers, because the
argument is usually made by assertion.
THE SITUATION: a 6-month project, four iterations. One
requirement β "the payment gateway can refund a partial
amount" β is ASSUMED but unverified. It is false: the gateway
supports full refunds only.
DISCOVERED IN ITERATION 1 (month 1):
redesign the refund flow to issue a full refund plus a new
charge 16 h
renegotiate the requirement with the business 6 h
revise 3 use cases and the domain model 8 h
ββββββββββββββββββββββββββββββββββββββββββββββββββββ
30 person-hours, and no built code is discarded
DISCOVERED IN ITERATION 4 (month 5):
the same redesign 16 h
the same renegotiation 6 h
revise the use cases and domain model 8 h
PLUS rework of code built on the false
assumption: refund handling appears in the
payment module, the reporting module, the
audit trail and the reconciliation job 64 h
PLUS re-testing all four 28 h
PLUS the schedule impact β this lands in the
final month, so it either delays release or
displaces planned work (a business
cost)
ββββββββββββββββββββββββββββββββββββββββββββββββββββ
122 person-hours, plus schedule damage
A 4Γ DIFFERENCE IN EFFORT for the identical discovery, and
the late case additionally arrives at the worst possible
moment. THE VALUE OF EARLY DISCOVERY IS NOT THAT THE PROBLEM
IS SMALLER β it is identical β BUT THAT LESS HAS BEEN BUILT
ON TOP OF IT.
THIS IS THE COST-OF-CHANGE CURVE AGAIN, and it is why
iterations are ordered by risk. The purpose of iteration 1 is
not to deliver the most value; it is to convert the largest
assumption into a fact.
A PRACTICAL RISK LIST for requirements, worth building
explicitly:
Β· an EXTERNAL INTERFACE whose behaviour is assumed but not
tested β the highest-frequency killer
Β· a NON-FUNCTIONAL requirement never measured (can we
actually serve 500 concurrent users?)
Β· a DOMAIN RULE taken from one person's account, unverified
against the regulation
Β· a STAKEHOLDER who has not yet been consulted
Β· a TECHNOLOGY nobody on the team has used
For each: what is the cheapest experiment that would settle
it? Frequently a spike of a day or two, which is a
remarkable return against 122 hours.
VALIDATION IN AN ITERATIVE SETTING β the mechanism that makes it
work:
Each iteration ends with a DEMONSTRATION of running software
to the stakeholders. That is the validation technique from
ACtE0801 β prototyping β institutionalised as the process
rhythm. Recall the finding there: a misunderstanding that
survives three document reviews dies in thirty seconds of
use. An iterative process gets that thirty seconds every few
weeks instead of once at acceptance testing.
The ordering principle is the transferable idea: iteration 1 exists to convert the largest assumption into a fact, not to deliver the most value. The 30-hour versus 122-hour comparison is the same discovery made at two different times β the problem does not grow, but the amount built on top of it does.
π Go further: the sharpest modern statement of this is the spike or walking skeleton: before committing to an architecture, build the thinnest possible end-to-end slice that exercises every risky boundary β the real database, the real external API, the real deployment target β carrying almost no functionality. It answers "can these pieces actually talk to each other?" in days rather than months, and it is exactly what the Unified Process means by proving the architecture with an executable during elaboration. Search "walking skeleton architecture spike end to end slice".
π‘ Exam angle: describe the Unified Process phases β inception, elaboration, construction, transition β and what each achieves, noting that elaboration's purpose is to establish and prove the architecture and mitigate risk rather than to complete the requirements. State the three UP characterisations: use-case driven, architecture-centric, iterative and incremental. List the requirements artefacts β vision, glossary, use case model, supplementary specification (where non-functional requirements live), domain model β and explain why iterations should be ordered by risk. Note that each iteration ends in a demonstration, which is prototyping-as-validation built into the process.
Syllabus points
OO requirement process
Create a free account to tick topics off, take notes as you read, watch the video lessons and get a day-by-day study plan built around your exam date.
Related topics in Object-Oriented Fundamentals and Analysis