(9) Use-Cases Flashcards
Software Requirements Specification - why important?
Is both the starting point and end point for a software development project and should describe requirements that the system must fulfil in a way that is clear, concise, consistent, complete, verifiable, …
Which kinds of software requirements exist?
Functional Requirements:
- Capture statements of services the system should provide
- Depend on the type of software, users and the environment in which the software is used
- Example: User shall be able to search
Non-functional Requirements:
- Constraints on the services or functions offered by the system
- Example: The system shall conform to certain requirements defined in XYZ (e.g. privacy or efficiency requirements)
What is the traditional requirement approach?
- Typically result in detailed, low-level feature lists
- Problems: no cohesive requirement description and unstructured
What is the modern requirement approach?
- Use Cases and User Stories
- Both focus on the interaction between user and software
- Virtues: Simplicity and utility
What is the Use Case Modeling Approach?
The system is perceived as a black box with which the users interact via well-defined interfaces.
Use Case Modeling Approach
Actor - Definition
Entity with behaviour outside the system under discussion
Use Case Modeling Approach
use case instance - Definition
Specific sequence of actions and interactions between actors and the system under discussion
Use Case Modeling Approach
Use Case - Definition
Collection of related success and failure scenarios that describe actors using s system to support a goal
Use Case Modeling Approach
Use Case Model - Definition
Set of all use cases
Which elements does the use case model comprise?
- Use Case Texts: Requirements are captured as text
- System Sequence Diagrams
- Use Case Diagrams: Graphical overview of use cases
How can use cases be discovered?
- Tasks can be grouped at many levels of granularity from individual small steps to enterprise level activities
- Focus on elementary business processes
Elementary Business Process - Definition
- Task performed by one person in one place at one time in response to a business event, which adds measurable business value and leaves data in a consistent state
- Often useful to create sub-use cases