The Chat System - TD1:Analysis
Step1: Analysis of requirements (20mins)
- Identifying the actors
- Read the informal System Requirements Specification (SRS) and underline all the subjects (objects) within the text and then classify them into a list.
- Some of the identified subjects will be actors and some others will be entities of the system
- Identifying the use cases
- underline the verbs from the informal SRS. Some of the identified verbs will be a use case (services provided to the actors) while some others will be used as restrictions or details or internal functions of the system.
Step2: Use Case diagram (15mins)
Use case diagrams are intended to model (visually) the functionality of a system (or sub-systems) from the point of view of the actors (external users). This diagram allows identifying the actors and the use cases provided by the system.
Step3: Scenarios (40 mins)
Scenarios or story boards are intended to describe with more detail the use cases. One scenario should be provided for each use case identified in the use case diagram. Scenarios can be described using the following template that shows an example for a standard connection use case:
|Use Case Id||1|
|Description||This use case describes the connection to the system of a local user|
|Purpose/Overview||This use case is aimed at allowing the local user to connect to the system. The user press the connect button after providing a valid login or user name. The system indicates to the user if the connection is sucessful or not.|
|Preconditions||- a username has been provided
- the user is not already connected (he is disconnected)
|Post-conditions||the user is connected|
|Business rules||- a valid username is an unique identifier for the user
- when a user gets connected, all the other users already connected need to be informed about the arrival of the new user. A hello message containing the local user name is used.
|Notes||several posibilities to provide an unique identifier exist:
- the login is compared with the other users to check is valid
- the login is automatically converted in a valid login by adding the unique host address
|Author and date||Ernesto, 1.12.2009|
|Basic course of events|
|press connect button|
|sends hello messages to other users|
|indicates that local user is connected|
|indicates that local user is not connected because the username is not valid|
Note: In the previous scenario only 1 actor has been included: the local user.
For other scenarios you might also include the remote applications if required.
For instance: a music store (online)
[User]-(Login) [User]-(Logout) [User]-(Search) (Search)>(ViewResults) [User]-(Buy) [Bank]-(Buy)< (Buy)<(BuyDisc) (Buy)<(BuyMusicFile) [PostService]-(BuyDisc) (BuyMusicFile)>(Download)