optional · CSS study notes
4. Requirement Engineering Process
CSS Optional — Paper-II, Section-B · P-II.VI.4 · Syllabus: Elicitation and negotiation, Documentation, Validation and verification, Management. CSS 2019 (role of validation) and CSS 2020 (role of V&V in RE, 6 marks) — model answer in section 5.
1. The Process at a Glance
graph LR
E["Elicitation and negotiation"] --> D["Documentation (SRS)"]
D --> V["Validation and verification"]
V -->|"issues found"| E
V --> S["Sign-off / baseline"]
S --> M["Management: change control, traceability"]
M -->|"change request"| E
RE is iterative, especially for web projects — requirements are refined across releases.
2. Elicitation and Negotiation
Elicitation = discovering requirements from stakeholders and other sources.
| Technique | Best for | Limitation |
|---|---|---|
| Interviews (structured/unstructured) | Deep understanding from key stakeholders | Time-consuming; interviewer bias |
| Questionnaires / online surveys | Many or remote users (typical for websites) | Shallow; low response rates |
| Workshops / JAD sessions | Resolving conflicts quickly with all stakeholders | Hard to schedule; dominant voices |
| Brainstorming | New ideas and features | Needs filtering afterwards |
| Observation / ethnography | Understanding real workflows (tacit knowledge) | Slow; observer effect |
| Prototyping / wireframes | UI and navigation — users react to something visible | Users may mistake prototype for the product |
| Scenarios / use cases / user stories | Capturing interaction flows | Can miss NFRs |
| Document and competitor analysis | Existing forms, policies, competitor sites | May copy outdated practice |
| Web analytics and A/B tests (web-specific) | Evidence of real user behaviour on an existing site | Only for existing systems |
| Card sorting (web-specific) | Designing menus and information architecture | Needs representative users |
Negotiation = resolving conflicts and prioritizing.
- Conflict example: marketing wants auto-playing video banners; the performance requirement says ≤ 2 s load — negotiate (e.g. lazy-loaded video, click-to-play).
- EasyWinWin / WinWin (Boehm): stakeholders state win conditions; conflicts are raised as issues; options are proposed; agreements are reached so every party wins something.
- Prioritization: MoSCoW (Must, Should, Could, Won't-this-time), cost-value analysis, AHP (pairwise comparison).
3. Documentation
- Output: the Software Requirements Specification (SRS) — IEEE 830 / ISO/IEC/IEEE 29148.
- Typical SRS outline: 1. Introduction (purpose, scope, definitions, references, overview) · 2. Overall description (product perspective, functions, user classes, constraints, assumptions) · 3. Specific requirements (functional, external interfaces, performance, security, other NFRs) · Appendices.
- Levels of formality: stories/natural language → itemized requirements → formatted templates (use-case templates) → formal specifications (e.g. Z). Web projects mostly use itemized requirements, use cases and user stories.
Use-case template example — "Place Order"
| Field | Content |
|---|---|
| Actor | Registered customer |
| Precondition | Customer is logged in; cart is not empty |
| Main flow | 1. Open cart 2. Confirm address 3. Choose payment 4. Pay 5. System confirms order and emails receipt |
| Alternative flow | 4a. Payment fails → show error, keep cart, allow retry |
| Postcondition | Order saved with status "Paid"; stock reduced |
User story format: "As a returning customer, I want to save my address so that checkout is faster." Acceptance criteria: Given I am logged in, when I tick "save address", then it pre-fills on my next order.
4. Validation and Verification (definitions)
| Point | Verification | Validation |
|---|---|---|
| Question | "Are we building the product right?" | "Are we building the right product?" |
| In RE, checks | Requirements are well-formed: consistent, complete, unambiguous, conform to standards | Requirements truly reflect stakeholders' real needs |
| Techniques | Reviews, inspections, checklists, consistency analysis, model checking | Prototyping, walkthroughs with users, acceptance-test design, demos |
| Who | Mostly the development team / QA | Customers and end users with the team |
5. Model Answer — Role of V&V in Requirement Engineering (CSS 2019, 2020)
- Catches errors at the cheapest point — a requirement defect found during RE costs far less than one found after deployment.
- Ensures completeness — reviews expose missing requirements (e.g. no "forgot password" flow).
- Ensures consistency — detects conflicts (e.g. "guest checkout allowed" vs "all orders require login").
- Ensures verifiability — vague NFRs ("fast") are rewritten as measurable targets so they can be tested.
- Confirms real needs (validation) — prototypes and walkthroughs show users what they will get before it is built.
- Checks feasibility and realism within budget, technology and deadline.
- Produces a signed-off baseline — the agreed SRS against which design, testing and acceptance are measured.
Techniques to name: requirements reviews/inspections, prototyping, test-case generation (writing a test for each requirement exposes vague ones), checklists, model validation, traceability checks.
6. Requirements Management
- Change management: change request → impact analysis (cost, schedule, affected components) → change control board decision → update SRS and baseline version.
- Traceability: link each requirement backwards to its source and forwards to design, code and test cases.
- Versioning and baselines: numbered SRS versions; signed-off baseline.
- Status tracking: proposed → approved → implemented → verified.
- Tools: Jira, Azure DevOps, IBM DOORS, spreadsheets for small projects.
Traceability matrix example
| Req ID | Requirement | Source | Design | Test case |
|---|---|---|---|---|
| FR-01 | Register with OTP | Registrar interview | Auth module | TC-01, TC-02 |
| NFR-03 | Page load ≤ 2 s | Workshop | CDN + caching | PT-05 (load test) |
🎯 CSS Exam Angle
Draw the process cycle first. For "role of V&V", give the definition table then the 7 numbered roles. For elicitation, pick 4–5 techniques with pros/cons and point out web-specific ones (online surveys, analytics, card sorting). Mention sign-off and traceability — they show depth.
📌 Past CSS Paper Frequency
| Year | Question |
|---|---|
| 2019 | Describe briefly the role of validation in the requirement engineering process |
| 2020 | Briefly discuss the role of validation and verification in requirement engineering (6) |
| 2017 (Paper-I) | Importance of RE and the process of requirements sign-off (see Software Engineering section) |
⚠️ MCQ Traps
- Verification = product right; validation = right product.
- A correct-looking requirement that the client never wanted is a validation failure.
- MoSCoW's "W" is Won't have this time, not "Wish".
- Traceability runs both backward (to source) and forward (to design/tests).
- Sign-off comes after validation and before design.
✅ Self-Check (with Answers)
Q1. List the four RE process activities named in the syllabus.
Ans: Elicitation and negotiation; documentation; validation and verification; management.
Q2. Which elicitation technique would you choose for a new mobile-banking web app with 2 million existing customers, and why?
Ans: Online questionnaires/surveys (reach many remote users cheaply), backed by analytics of the existing site and prototyping for the new interface; plus interviews with key bank stakeholders.
Q3. Marketing wants every page to show a large autoplay video; IT requires 2-second load time. How is this resolved?
Ans: Through negotiation: both are recorded as win conditions; options such as a compressed poster image with click-to-play or lazy-loaded video are evaluated; the agreed option is documented and prioritized (e.g. MoSCoW).
Q4. Give two verification and two validation techniques for requirements.
Ans: Verification — inspections/reviews against a checklist; consistency and completeness analysis. Validation — prototyping with users; acceptance-test walkthroughs/demos with the client.
Q5. What is a requirements traceability matrix and why is it useful?
Ans: A table linking each requirement to its source, design elements and test cases. It shows the impact of a change, proves every requirement is tested, and reveals untraced (gold-plated) features.
Q6. Write a user story with acceptance criteria for password reset.
Ans: "As a registered user, I want to reset my password by email so that I can regain access if I forget it." Acceptance: given a registered email, when I request a reset, then a single-use link valid for 30 minutes is emailed; the old password stops working after reset.
📜 Past-Paper Questions & MCQs (CSS 2016–2026)
2019 · Paper-II · Q7(b) and 2020 · Paper-II · Q8(b) · 6 marks each
Q. Describe briefly the role of validation and verification in the requirements engineering process.
Ans.
- Validation: checks that the requirements describe what the stakeholders really need ("are we specifying the right system?"). Techniques: stakeholder reviews and walkthroughs, prototypes and mock-ups, scenario checks, and writing acceptance test cases from the requirements.
- Verification: checks that the requirements document is correct, complete, consistent, unambiguous and testable, and follows standards ("is the specification built right?"). Techniques: inspections, checklists, consistency analysis and traceability matrices.
- Role in the RE process:
- finds errors early, when fixing costs the least (a requirements error costs many times more to fix after release)
- builds a shared understanding between users and developers
- gives an approved, baselined requirements document (sign-off) as the basis for design and testing
- reduces rework and project risk
- For web applications: also validate usability, content and navigation with prototypes, and check performance and security requirements for measurability.