Use cases and requirements
Written on 7 November 2013, 11:38am
Functional vs non-functional requirements
Functional: describes the behavior of the system, its functionality; what the system should do
Non-functional: describes the performance characteristics of the system; how the system should be
Functional: the system must present the user an interface with the number of records in the db.
Non functional: the number of records must update in real-time.
Functional: the system must send an email when a new order is placed.
Non-functional: the emails should be sent with a latency of no greater than 10 minutes from such an activity.
Use cases represent a practice for capturing functional requirements.
Use cases > scenarios:
A use case defines a goal-oriented set of interactions between external actors and the system under consideration.
A scenario is an instance of a use case, and represents a single path through the use case.
Use cases capture who (actor) does what (interaction) with the system, for what purpose (goal), without dealing with system internals.
Scenarios > use cases:
A scenario is a sequence of steps describing an interaction between a user and a system.
A use case is a set of scenarios tied together by a common user goal.
– Martin Fowler – UML distilled
In order to engage all the stakeholders, the use cases should be:
– written in an easy to understand language
– kept short (1-2 pages max)
– have a narrative language (user stories)
– have a clear structure (Title, Goal, Actors, Assumptions, Steps, Variations, Non-functional requirements, Issues)
Written by Dorin Moise (Published articles: 231)