Skip to content

Latest commit

 

History

History
79 lines (70 loc) · 2.42 KB

Requirements Modelling.md

File metadata and controls

79 lines (70 loc) · 2.42 KB

#csse3012

Requirements Modelling


  • Complex systems cannot be comprehended in their entirety
    • models help manage complexity
Model = Complex System + Constraints
  • Why Model Requirements?

    • See requirements in context
      • [[Whole is greater than the sum of its parts]]
    • Multiple Views
      • High Level
      • Detail
    • See what's missing
      • see what's unclear
    • Identify Inconsistency
      • possibly conflicting requirements
    • check understanding
      • reason about and visualize requirements
  • Limitations

    • It is very important to define the constraints realistically
    • e.g. Stairs cannot be modelled down to a ramp ![[Pasted image 20220609162932.png|400]]
  • Key Benefits

    1. Easy to create simulations
    2. Able to automatically generate documents
    3. Can automatically conduct tests
    4. Allows for easy integration into development and test tools
    5. Can easily manage evolving requests and requirements

Types of Requirement Models

  • Product centered

    • Focus on features to be delivered
      • expect users will use features to achieve their objective
    • example: making a notes' platform for students and expecting everyone to understand everything because it is written in detail
  • User centered

    • Focus on anticipated usage
      • what do users need to accomplish
    • Reveal necessary functionality
  • example: recognizing that more than 50% of the knowledge retention is done when user writes the notes themselves in their own language, and hence users don't actually need these notes. But they do need a system to quickly search for information


[[Modelling Language]]

TL;DR [[User Stories]] - Natural [[Use Case Modelling|Use Cases]] - Semi-Formal UML

  • Natural Language

    • flexible
    • ambiguous
  • Semi-formal

    • Structured
    • some reasoning possible based on assumptions
  • Formal

    • precise (math) so extensive reasoning possible
    • very detailed
  • [[Desired characteristics of a modelling language]]

    • Implementation Agnostic
    • Abstract
    • Formal
    • Constructible
    • Analysable
    • Traceable
    • Minimal

Resources

[[Week 03a - Requirements Modelling.pdf]]