Identifying use cases in UML (Unified Modeling Language)

Building a desired house requires an architect, a design, and finally the construction phase. Although construction of your house can get underway skipping designing part, but this way, most likely, you may only end up building your bedroom where you should have your garage. To bring perfection to your ideas, you need to have an order to your plans. Following the same analogy, the software engineers use a modeling language to design software before start developing the desired application.

UML or Unified Modeling Language is an object oriented modeling language which is widely used in the software development industry. It is falls under the object oriented genre because of its following the object oriented paradigm.

UML is defined as, the standard language for specifying, visualizing, constructing, and documenting all the artifacts of a software system.

This language consists of nine different kinds of modeling diagrams which are described as:
* Use case diagrams
* Class diagrams
* Object diagrams
* Sequence diagrams
* Collaboration diagrams
* Statechart diagrams
* Activity diagrams
* Component diagrams
* Deployment diagrams

In this article, we will focus our discussion on Use case diagrams.

Use case diagrams
It describes what a system does from the standpoint of an external observer. The emphasis is on what a system does rather than how.

For a better understanding of case diagrams, you have to first understand the terminologies associated with it. One such term is scenario, which is an example of what happens when someone interacts with a system or in other words an application. Here, system, refers to a manual or semi-automated system, which is to be converted into a fully automated one. So to begin with, in order to identify the use cases of a system, a software engineer has to follow a series of steps.

The first step is to recognize the actors. An actor is someone or something that interacts with a system. For instance, you as the user (actor) interact with your car stereo system. You manipulate it the way you want by giving instruction, such as rewind, forward, play, stop, etc. This sort of interaction with your system makes you an actor or to be more precise an external actor (mostly actors are external). Internal actors are the responses generated by the machine itself. For instance, in the Mazda Infinity, when your car speed goes beyond 60mph, the car’s internal mechanism (internal actor) comes into play by lubricating its brakes and locking its door system automatically. Therefore, any sort of functionality being performed in the system by any entity, would qualify that entity to become an actor.

After the set of actors is identified, the next step is to find out the use cases. We already know that it is functionalities of a system. An Automatic Teller Machine (ATM) is a best example of this type of system. The device’s processes are triggered when a user inserts the magnetic card into the machine. As a response, the system prompts the user to provide his PIN code in order to log into the system, this is our first use case. After the user logs into the system, he is given options as to what further instruction he wants the system to carry out. He is allowed to withdraw cash; check his balance; pay his bills; and change his PIN code. Since each of these options is a function in itself, each can be termed and identified as use cases.

To simplify it further, each of the following steps represent a case:

Use Case1: Log in
Use Case2: Withdraw Cash
Use Case3: Check Balance
Use Case4: Pay Bills
Use Case5: Change Pin.

The aforementioned case of execution of successful transaction is a simplest example of use cases identified because all processes followed a systematic order in given scenario and can be termed as normal course. However, if a user, for some reason, enters wrong PIN code, the system would ask for the PIN code again, and if the user again enters the incorrect code, not identifying the user, the machine will capture his card, suspecting a case of card-theft, this is what we call an alternate course.

In the same way, when an application is designed, it is ensured that all possible conditions or in other words, the use cases for both the normal plus alternate courses, are taken into account.

Implementation
Through illustration, now let’s take a look at how we can bring the above identified use cases in the standard UML form by actually modeling them. Consider use case number one in which the user performs the login function.

See figure 2 for a model of all the above identified use cases.

Figure 2 displays the concept of the dependencies a certain Use Case has on another Use Case. In this case Withdraw Cash is dependent on Login; if Login fails then the Withdraw Cash Function cannot be triggered.

I am sure that now if you have to analyze engineering of a system, you would be able to understand the design of its functionality. But if you really want to develop and design the systems, I would suggest you require doing some more hard work and study read use cases extensively, try to solve scenarios and then compare the solutions with what you have made.

Present and future
The main quality of UML is that it can be used to define business systems as well as software systems, which makes it the only modeling language that bridges business engineering with systems engineering. Therefore, by learning this language, business executives, who might later require to supervise software development, could benefit immensely from it.

If your preparing for career change and looking for MCTS Training or MCITP Certification the best online training provider that provide the all the and complete MCTS certification exams training in just one package, certkingdom self study training kits, save your money on bootcamps, training institutes, It’s also save your traveling and time. All training materials are “Guaranteed” to pass your exams and get you certified on the fist attempt, due to best training they become no1 site 2009 & 2010.

In addition I recommend Certkindom.com is best and No1 site of 2008 which provide the complete Windows Server 2003 certified professionals training, Microsoft MCITP, Microsoft MCTS, Cisco CCNA, Cisco CCIE, CompTIA A+, IBM, Citrix, PMP, ISC, and lots more online training self study kits, saving your time and money on all those expensive bootcamps, conventional training institutes where you have take admission pay fees first and if you don’t want to continue no refunds no transfer to any other training course, If you planed to take CCNA or specialization in MCSE 2003 all the process starts again; as for getting online training can be much beneficial and you don’t need to take for fill any from to switch your training on any desire certification