Skip to main content

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

  1. Elicitation 啟發: understanding problem

  2. Specification: describing problem

  3. Validation: nature of problem

  4. 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

  1. Understanding the application domain

  2. Identifying the sources of requirements

  3. Analyzing the stakeholders

  4. Selecting the techniques, approaches, and tools to use

  5. 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)