Software Requirements Engineering

  1. Software requirements — The basics
    1. What, why, when and who of requirements
      • What are requirements
      • Requirements defined
      • Levels of requirements information
      • Why are requirements important?
      • Why are requirements important?
      • Issue: Project failure
      • Issue: Incomplete requirements
      • Issue: Lack of user involvement
      • Issue: Requirements defects
      • Issue: Requirements churn
      • Issue: Wasted resources
      • Issue: Gold plating
      • Issue: Inaccurate estimates
      • Benefits of good requirements
      • When Requirements and the life cycle
      • When Requirements and the life cycle
      • Requirements engineering is iterative
      • Who Requirements stakeholders
      • “How to” of requirements engineering
    2. Standards and models related to requirements
      • SEI CMM® and CMMI SM
      • SEI CMM® and CMMI SM
      • Requirements management process area
      • Requirements development process area
      • Generic practices
      • IEEE software engineering standards
      • ISO 9000:2000 on requirements
    3. Requirements engineering process
      • Requirements engineering process
      • Incremental requirements development
      • Requirements engineering context
  2. Requirements elicitation
    1. Business level requirements
      • Purpose of business level requirements
      • The idea!
      • Vision statement
      • Vision statement Example
      • Vision statement Exercise
      • Defining business objectives
      • Business objectives Examples
      • Characteristics of “good” business objectives
      • Product scope and limitations
      • Product context diagram
      • Product context diagram Exercise
    2. Stakeholders
      • Stakeholder defined
      • Benefits of identifying stakeholders
      • Step 1: Identifying stakeholders
      • User types
      • Step 2: Prune the stakeholder list
      • Step 3: Participation strategy
      • Identify stakeholders Exercise
      • Stakeholder conflict management
      • Decision criteria alternatives
      • Customer’s bill of rights
      • Customer’s bill of responsibilities
    3. Requirements elicitation techniques
      • Direct-two-way communications
      • Before the interview
      • Open-ended questions
      • Context-free questions
      • During the interview
      • Listening actively
      • Interviewing tips
      • After the interview
      • Focus groups
      • Focus group meeting
      • Focus group Exercise
      • Facilitated requirements workshop
      • Benefits of facilitated requirements workshops
      • Facilitator do’s and don’ts
      • Documentation studies
      • Other requirements elicitation techniques
  3. Requirements analysis
    1. Requirements modeling
      • Requirements modeling
        • Benefits of models
        • Types of models
      • Object oriented models
        • Use cases
        • Step 1-3: Use case diagram
        • Step 4: Develop a use case for each interaction
        • Use case steps
        • Use case exercise
        • Other use case information
        • Class diagram
        • Sequence diagram
        • Sequence diagram Exercise
        • Activity network
      • Structured analysis models
        • Data flow diagram
        • Entity relationship diagram
        • State transition diagram
        • State transition table
      • Other models
        • Process flow diagram
        • Decision tree
        • Event/response table
        • Event/response table Exercise
    2. Identifying product requirements
      • Levels of requirements information
      • Use case -> Functional requirements
      • Use case -> Functional requirements Example
      • Data requirements
      • Data requirements CURDL
      • Use case -> Nonfunctional requirements
      • Quality attributes
      • Usability requirements Examples
      • Measurable nonfunctional requirements
      • Use case diagram -> External interface requirements
      • Product requirements Exercise
      • Class diagrams -> Product requirements
      • Data flow diagrams -> Product requirements
    3. Prototyping
      • Prototype
      • Prototyping suggestions
    4. Prioritizing requirements
      • Benefits of prioritizing requirements
      • Prioritization considerations
      • Prioritization First pass
      • Prioritization Second pass
  4. Requirements specification
    1. Concept of operations
      • Documenting user level requirements
      • Concept of operations document
    2. Software requirements specification
      • System requirements
      • System vs. software requirements
      • Software requirements specification
      • Writing "good" requirements
    3. Data dictionary
      • Data dictionary
      • Data dictionary notation
      • Data dictionary Example
  5. Requirements validation
    1. Requirements review
      • Reviews defined
      • Cost of rework
      • Hold many peer reviews
      • Inspection process
      • Inspection meeting
      • Who should inspect requirements
      • Requirements completeness
      • Requirements checklist
      • Requirements checklist Each requirement
      • Ambiguity
      • Peer review Exercise
    2. Requirements test planning
      • Testability
      • Writing test cases
      • Test matrix Example
  6. Requirements management
    1. Establishing and maintaining baselines
      • Baseline defined
      • Types of baselines
      • Requirements specification acquisition
      • Sign-off
    2. Traceability
      • Traceability defined
      • Bi- directional traceability
      • Benefits of requirements traceability
      • Traceability matrix
      • Traceability tagging
    3. Requirements change management
      • Configuration control procedures
      • Configuration control process
      • Approval authority process
      • Impact analysis
    4. Requirements metrics
      • Goal/question/metric
      • Requirements size
      • Requirements churn
      • Defect per requirements
      • Requirements defect backlog
      • Traceability
      • Requirements status

Return to Course Description