Overview of documenting requirements using use cases.
Topics covered include:
Symbols in use case diagrams
Relationships between symbols
Textual description of use cases
Use cases facilitate better documentation and discovery of classes needed in programming environments (e.g., Java, C++).
Documentation aids in design, testing, and user manual creation.
UML provides a standardized way to visualize system design.
Types of UML diagrams include:
Use case diagrams for requirements
State diagrams for analysis
Class and sequence diagrams for design
Proficiency in UML is essential for effective collaboration in software development.
A scenario is a specific sequence of actions depicting behavior.
Illustrates how users interact with a system (e.g., Monopoly game example).
Used to gather and validate requirements through descriptive storytelling.
A complete set of scenarios represents all functionalities of the system.
Use case: A specification of action sequences involving system interactions with outside actors.
Scenarios are tied to common user goals, presenting measurable results for actors.
Multiple scenarios can be included in one use case demonstrating various pathways (successful and error conditions).
Use case: represented by an oval.
Actors: represented as stick figures, indicating entities that interact with the system.
To identify actors, ask:
Who uses/install/maintain/shut down the system?
What information is exchanged?
Identify expected measurable outcomes actors seek from the system.
Visual representation showing relationships among actors and use cases using UML conventions.
Communication: Default relationship, indicating interaction initiation.
Include relationship: When one use case incorporates the functionality of another.
Extend relationship: Provides variation or exception flows.
Provides detailed procedure of a use case, focusing on what the system should do, detailed in a structured template.
Preconditions: What must occur before use.
Main Flow: Steps involved in the use case performance.
Sub-flows: Breakdown of main flow for clarity.
Alternative Flows: Define reactions to errors or unusual conditions.
Misuse cases consider the perspective of hostile actors threatening system security.
Essential for planning security measures and identifying vulnerabilities.
Use cases can replace traditional functional requirements in an SRS, aiding clarity and stakeholder understanding.
SRS includes traceability mapping for comprehensive requirements coverage.
Emphasize system performance, usability, and user interface effectiveness.
Identify all system actors.
Gather comprehensive actor requested functionalities.
Reuse common functionalities through include relations.
Avoid complexity by minimizing use of extend relationships.
Use diagrams and flow descriptions for clearer requirements comprehension.