Evolutionary requirements Larman chapter 5 Larman chapter 5
Definitions Requirements are capabilities and conditions to which the system – and more broadly, the project – must conform Requirements analysis is the discipline of finding, communicating and remembering what is really needed for the system Manage requirements is a systematic approach to finding, documenting, organizing and tracking the changing requirements of a system Larman chapter 5
Iterative refinement of requirements In early iterations much work is done to analyze and specify requirements In later iterations requirements will become more stable Larman chapter 5
Types of requirements FURPS+ model: Functional – features, capabilities, security Usability – human factors, help, documentation Reliability – frequency of failures, recoverability, predictability Performance – response times, throughput, accuracy… Supportability – adaptability, maintainability, internationalization Larman chapter 5
Types of requirements + in FURPS+ (everything else…) Implementation – resource limitations, languages and tools, hardware… Interface – constraints imposed by interfacing with external systems Operations – system management in its operational setting Legal – licensing and so forth Larman chapter 5
Alternative classification Functional requirements Non-functional requirements Larman chapter 5
Requirements organized in UP artifacts Use-case model Typical scenarios Functional requirements Supplementary specifications non-functional requirements features Vision document Scope of the project Business case High level requirements (Business rules Domain rules) Larman chapter 5