Software Engineering: Requirements Engineering Flashcards
What are the two catogories of requirements?
Functional: What system should do (but not HOW, it should be done)
Non-Functional: What propperties system should have
- usabillity
- performance
- scalability
- reliability
- complexity
- testability
Requirements properties
Complete
Consitent
Precise
Concise
Requirement elicitation process
- Elicitation
- Analysis
- Reification
- Validation
What information needs to be gathered durng the requirement engineering process?
Functional
Non-functional
design constraints: Legal, regulatory, policies
emvironmental constraints: software doesnt run in isolation.
preferences:
Validating Requirements
Developing concrete tests to validate requirements
Elicitation techniques: Elements of a User story
- Role-Goal-Benefit
As a [role], I want to [goal] so that [benefit]
- Limitations
It Needs:
- Definition of Done
It will be succesfull when it:
- Engineering Tasks
should use:
- Effort estimate
It will cost:
Elicitation techniques: INVEST framework for determing whether to invest in a feature of a user story.
Independent Negotiable Valuable Estimable Small Testabillity
Elicitation techniques: Decomposition a user story
1 INVEST
- Find entities (Nouns)
- Link entities (arrows)
- Bind Actions (verbs)
- Prototype (Classes)
- Formalize(class diagram, UML diagrams, flow charts)
- Implement
Test Case
Evaluates a single explicit behaviour in a program