Week 3 - Requirement Engineering
A process to find out and structure the functional and non-functional requirements
RE (Requirement Engineering)
Common Mistakes in RE
-
Noise: does not add relevant information
-
Silence: feature in the problem not mentioned in the specification
-
Over-specification: talk about the solution rather than the problem
-
Contradictions: inconsistent description
-
Ambiguity: unclear
-
Forward references: especially cumbersome in long documents
-
Wishful thinking: features that cannot realistically be realized
Four major steps in RE process
-
Elicitation 啟發: understanding problem
-
Specification: describing problem
-
Validation: nature of problem
-
Negotiation: boundaries of problem
Four positions of analyst in RE
-
Functional (Objective, order)
-
Social-relativism (subjective, order)
-
Radical-structuralism (objective, conflict)
-
Neohumanism (subjective, conflict)
Will it quiz? I don't know
Five types of requirements Elicitation activities
-
Understanding the application domain
-
Identifying the sources of requirements
-
Analyzing the stakeholders
-
Selecting the techniques, approaches, and tools to use
-
Eliciting the requirements from stakeholders and other sources
Requirements Elicitation Techniques
-
Interview
-
Brainstorming
-
Task Analysis
-
Scenario-Based Analysis
-
Form analysis
-
Focus Group and Facilitated Workshop
-
Mind mapping, group story telling, user stories
Interview
-
Unstructured
-
Structured
- Predetermined set of questions
-
Semi-structured
Brainstorming
List of ideas iteratively toward a particular topic
Task Analysis
Top-down approach
High-level tasks decomposed into subtasks
Scenario-Based Analysis
User-oriented perspective
Form analysis
Figure out items that are certain or have variety, and the time
I don't really know
Focus Group and Facilitated Workshop
Focus group
Small and diverse group of people
Structuring requirements
Hierarchical
Link requirements to stakeholders
Prioritizing Requirements
MoSCoW Method
Must haves: mandatory requirements
Should haves: important but not mandatory
Could haves: if time allows
Won’t haves: not today (may be tomorrow)