Use Case Based Estimation
Use case model is a representation of sequence of transactions initiated by the user (actor) from outside the system. In the process, the transaction uses internal objects to take the transaction to completion. Use case defines and describes what happens in the system in logical order, termed as system behavior. They represent the flows of events that the user triggers. The user/actor is anything that initiates or triggers the action in the system.
It is not necessary that the user be a human being. It could be an external hardware like a barcode reader, a card-swiping machine, an ATM, or any other system with an interface. Users can be of the same kind, type, role and responsibility performing the same use case. Members of the library or club, ATM card holders and clerks in accounts department are users of the same kind and type, with the same roles and responsibilities in their respective use cases.
Use case diagram is a graphical presentation of a user’s view and a developer’s understanding of transactions is performed in the case scenario. A use case is modeled by a
• Boundary or frame
• Line of communication of participatory association between actor(s) and the use case
• Transaction steps
• Generalization among use cases
A use case may begin with no preconditions or with some preconditions. It concludes with the achievement of a specific goal.
Though use case model is drawn as illustrated, a lot needs to be said to make use case diagrams more useful to the analyst/designer/ developer. They need to be written in standard format and documented properly for use in development. In fact, this use case document is an important voluminous document, referred very often for an understanding of the system. One can develop a template for a use case. Following is one suggestion for a template:
• System name
• Use case name with ID
• Use case goal(s)
• Post condition of the system when use case is complete
• Use case action sequence
• Sub- system name
• Application
• Page
• Precondition(s) to begin the action
• Actors
Let us explore our use case of railway ticket booking in the suggested format, as shown in the template.
System Name Railway Ticket Booking System Ticket booking and collection (other subsystems) are reservation, cancellation and extension).
Use case name: Ticket collection
Actors:
• Passenger or passenger’s representative.
• Issuing clerk.
Use case goal: collect money and issue ticket(s)
Precondition:
• Tickets are issued and passenger walks away and system is available to the next passenger in the queue.
• Ticket/train database is suitably updated showing open availability in numbers of ticket.
Related use cases; cancellation, extension of journey.
Use case describes the scenario in terms of transactions, users and system performance. It is based on user tasks and explains user activities in natural English language. It helps to
• Define the scope of the use case, use cases and applications and system.
• Measure the size of the software development project in a number of use cases.
• Track and monitor progress of the development in terms of use cases.
• Validate the requirement of the system as told by the user.
• Design test cases by each use to ensure completeness.
• Ensures complete system documentation, as all use cases are included with model, design and details.
• Realize tangible benefits in costs by the reuse case approach as the number of formal methods and processes are reduced for development.
• Reduce the user’s need for training and hand-holding in learning to operate the system.
• Use systems more efficiently.
• Reduce time for system maintenance.
• Obtain user’s fast acceptance of the system.