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