Monday, November 15, 2010

OOAD & UML - Part 2. Realizing Use Cases – Sequence Diagrams

We can also describe requirements in other ways. Use cases may contain secondary paths or alternative scenarios, which are variations on the main theme. Exceptions, or what happens when things go wrong at the system level, may also be described, not using the alternative paths section but in a section of their own. Alternative paths make use of the numbering of the basic course of events to show at which point they differ from the basic scenario, and, if appropriate, where they rejoin.


1. Alternate Path (Flow)
2. Pre Condition
3. Post Condition
4. Exception Flow.


There are 3 major categories in sequence diagram.


1. Form Level – User Interface
2. Control Level – Business Logic
3. Entity Level – Data Interaction


We will take Sign up to teach as a sample for demonstrating how to turn use cases into sequence diagram. This sequence diagram gives a rough idea to the end user (in our case its developers/managers) about the flow of the information. Use cases are generally not meant for depicting/showing information flow in the system. This is the phase where we will start defining the relationship between use cases.


In the below diagram, professor an actor, authenticates to access the sign up to teach form. The form will then connect to legacy system entity to fetch course details. The legacy system entity will connect to the back end legacy system. The data returned by the legacy system is fed back to the form. The form will then bind the appropriate controls with data & display the form.


Once the form is displayed with data, the actor (professor) will make necessary selection and submit the data. The data will be sent to the New DB entity. The new DB entity will fetch the data from back end new database. The data returned will be sent to the form. The form will display the data (confirmation / error message) to the end user.
Sign up to Teach sequence diagram...

Likewise the sequence diagram needs to be written for every logical use case.
In the next part in the series, we will be identifying classes.

This series includes 3 parts...
Part 1. Identifying Use Cases – Use Case Diagrams
Part 2. Realizing Use Cases – Sequence Diagrams
Part 3. Identifying Classes – Class Diagrams


- Vighnesh Bendre

No comments: