(textual) use cases - (NOT the same as UML use case diagrams...)
* specifying functionality by specifying the BEHAVIOR of the system
captured as INTERACTIONS of the users with the system
* actor - a person OR a system which uses the system
being specified for achieving some goal
...really, represents a group of users/systems who behave
in a similar manner, with similar goals
* primary actor - the actor that initiates a use case
for achieving a goal; whose goal satisfaction is the
main objective of the use case
* scenario - a set of actions performed to achieve a goal
under some specified conditions
* main success scenario - a use case should always include;
describes the interaction if nothing fails and all
steps in the scenario succeed
...but what if they don't?
can have extension scenarios (exception scenarios)
* use case is a COLLECTION of all the success and extension
scenarios related to a goal
* developing use cases:
* natural levels of abstraction?
* actors and goals
* main success scenarios
* failure conditions
* failure handling
step 1 - identify actors and their goals
and get agreement with concerned stakeholders
as to the goals
(each goal is considered/turned into a use case)
step 2 - understand and specify the main success scenario
for each use case
step 3 - ...then add the failure conditions
step 4 - ...and figure what should be done for the failure
conditions
* VALIDATION of requirements is a good idea...!
* FOUR common categories of errors in an SRS:
* omission - some user requirement is simply not included
* inconsistency
* incorrect fact
* ambiguity
* most common method of requirements validation
is a Requirements Review
* a review by a group of people whose goal is to
reveal any errors in the requirements;
NEEDS to include someone representing the
clients and/or users
can also consider factors affecting quality,
such as testability, readability