software requirements Flashcards
what is a software requirement
a description of what the system should do and any contraints under which it must do it
what is the purpose of requirements
define the scope of the project
serve as a contract between the developer and customer
allow verification and validation
guide the development process
what are some rules that should be followed when writing requirements
“shall” = mandatory, “should” = useful
highlight key parts
explain why each requirement is necessary
involve as many stakeholders as possible
what ! how
why is it good to have lots of stakeholders
the more you talk to the more likely you are to build the system correctly
what is a stakeholder
any organisation or person affected by the system in some way and therefore has a legitimate interest
e.g. paying for it
how can you help customers understand the requirements easier
write them in plain english and include diagrams
what are the two types of requirements and what is the difference between them
functional; services that should be delivered and how the system behaves
non-functional; specifies the quality of the service
what are the 6 metrics of constraints for non-functional requirements
speed
size
ease of use
reliability
robustness
portability
requirements documentation
a text document that contains a purpose scope and requirements
what are the 3 steps in requirements engineering
understanding the problem
specify the solution
management
green field
building the system from scratch
brown field
building the system based on an existing system
what should be changed or kept