Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lecture 07: Techniques for Gathering Requirements

Similar presentations


Presentation on theme: "Lecture 07: Techniques for Gathering Requirements"— Presentation transcript:

1 Lecture 07: Techniques for Gathering Requirements
Valentin Razmov 07 Jul 2005 CSE403, Summer'05, Lecture 07

2 Outline Techniques: Risks from Inadequate Requirements Processes
Use Cases / Usage Scenarios Commonality and Variability Analysis Frequent Customer Feedback Throwaway Prototyping Risks from Inadequate Requirements Processes Discussion Questions Note: The list of techniques is necessarily incomplete. 07 Jul 2005 CSE403, Summer'05, Lecture 07

3 Resources “Software Requirements”, by Karl Wiegers
“Use Cases and The Ever Unfolding Story”, seminar by Dan Rawsthorne 07 Jul 2005 CSE403, Summer'05, Lecture 07

4 Requirements Engineering
“The goal of requirements engineering is to develop high quality – not perfect – requirements that allow you to proceed with construction at an acceptable level of risk.” -- from “Software Requirements”, Karl Wiegers 07 Jul 2005 CSE403, Summer'05, Lecture 07

5 Use Cases Describe the typical paths for a user to interact with a system Increasing level of detail depending on the complexity of the interaction “The ever unfolding story” (Dan Rawsthorne) Questions to consider (in that order): 1. Who are the actors? 2. What are they (normally) doing? 3. What can go wrong with that? 4. How do we handle this situation? 07 Jul 2005 CSE403, Summer'05, Lecture 07

6 Use Cases Example: Reading your web-based mail hotmail, yahoo, gmail, etc.) 07 Jul 2005 CSE403, Summer'05, Lecture 07

7 Commonality and Variability Analysis
Commonalities are the enduring concepts of the domain you’re modeling. They would give stability to your designs. Variabilities are only defined in the context of existing commonalities. 07 Jul 2005 CSE403, Summer'05, Lecture 07

8 Commonality and Variability Analysis
Example: Computing the price for a purchase at an e-commerce site Factors that play a role – sales tax, shipping and handling. Maybe weight limit, size, and additional restrictions and tariffs for other countries. Factors are the rows (commonalities), while countries are the columns (variabilities). Then, it’s all about filling in the table and discovering what cells might be missing from the original idea. 07 Jul 2005 CSE403, Summer'05, Lecture 07

9 Frequent Customer Feedback
Are requirements going to change? When are they final? Are they ever exact and clear? Frequent communication with customers => no need to make dangerous assumptions about the finality and completeness of requirements 07 Jul 2005 CSE403, Summer'05, Lecture 07

10 Throwaway Prototyping
Using a rough sketch / diagram to show your understanding and to evoke customer response Example: Caution: Do not overdo it! It must look and remain throwaway. © Busta’ Sandwich Co. 07 Jul 2005 CSE403, Summer'05, Lecture 07

11 Risks from Inadequate Requirements Processes
Insufficient user involvement => ? Creeping user requirements => ? Ambiguous requirements => ? Gold-plating by developers and users => ? Minimal specifications => ? Overlooking the needs of certain user classes => ? Incompletely defined requirements => ? 07 Jul 2005 CSE403, Summer'05, Lecture 07

12 Risks from Inadequate Requirements Processes
Insufficient user involvement => unacceptable products Creeping user requirements => overruns and degraded product quality Ambiguous requirements => ill-spent time and rework Gold-plating by developers and users => unnecessary features Minimal specifications => missing key requirements Overlooking the needs of certain user classes => dissatisfied customers Incompletely defined requirements => accurate project planning and tracking impossible 07 Jul 2005 CSE403, Summer'05, Lecture 07

13 Questions for Discussion
Is there a way to test requirements? If so, how? If not, how does one know that they’ve been fulfilled at delivery time? How does one evaluate the presence and level of fulfillment of non-functional requirements? E.g.: reliability, robustness, efficiency, security, safety, maintainability, availability, … 07 Jul 2005 CSE403, Summer'05, Lecture 07

14 The V-Model and Testing throughout the Lifecycle
User requirements; Acceptance test planning Acceptance testing Functional requirements; System test planning System testing Architecture design; Integration test planning Integration testing Detailed design; Unit test planning Unit testing Coding 07 Jul 2005 CSE403, Summer'05, Lecture 07

15 Your Questions on Gathering Requirements
07 Jul 2005 CSE403, Summer'05, Lecture 07


Download ppt "Lecture 07: Techniques for Gathering Requirements"

Similar presentations


Ads by Google