Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Look up keyword
Like this
12Activity
0 of .
Results for:
No results containing your search query
P. 1
Jchap_13 UML, OO Analysis & Design (Prof. Ananda M Ghosh.)

Jchap_13 UML, OO Analysis & Design (Prof. Ananda M Ghosh.)

Ratings: (0)|Views: 916 |Likes:
Introduction to Object Oriented System Analysis & Design; UML and its use to identify objects and classes involved in a sytem for interactions;
Introduction to Object Oriented System Analysis & Design; UML and its use to identify objects and classes involved in a sytem for interactions;

More info:

Published by: Prof. (Dr) Ananda M Ghosh. on Jan 14, 2009
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

05/10/2014

pdf

text

original

 
Chapter 13Object Oriented Analysis & Design Using UML
13.0Introduction
For the development of application software of a real-life system, the requirements are to be found out first by analyzing its different activities. The task is not quite easy becausemost users of the system cannot specify the requirements very clearly and effectively.Again, the phase of software design cannot start unless system users’ requirements arethoroughly understand. To reduce total development time, the design process may bestarted in parallel for only the well understood portions along with the analysis of theremaining portions.The implementation phase (coding, testing, etc) can be started only when prototype designof some portions becomes ready. Thus system analysis, design and implementation can goin tandem for a large complex system.The success of a software project depends on the proper understanding of the systemgoing through the above mentioned 3-steps of 
analysis, design
and
implementation
.These three steps follow a lifecycle.There are three
software development lifecycle
models – 
waterfall
model,
spiral
modeland
incremental iterative
model.For 
small projects
, waterfall model can be used. In this case, full system analysis getscompleted first and then the design phase starts. Again the implementation phase startsonly after completion of the design phase.As most real life systems are complex,revelation of the total system requirements is not possible allowing a short time period of analysis. Therefore
waterfall model
can be applied only for small systems.The
spiral model
is most suitable when software development can be tackled as a whole,starting with a rough understanding and then gradually refining the system incorporatingfiner details.The
incremental iterative model
is most suitable when a project can be divided into sub-systems and parallel development activities of the subsystems can be carried outsimultaneously.Whatever may be the model chosen for a project, the phases of analysis, design andimplementation should be carried out most systematically and scientifically keepingdocumentation details for each stage.
 
For 
object-oriented analysis and design
(
OOA & OOD)
and documentation, a softwareengineering tool called
Unified Modeling Language (UML)
has been developed in therecent past. It has now been found that for implementation OOP language may not beused, but OOA & OOD using UML can be regarded as the most scientific approach for understanding a real-life system for software development. This chapter deals with thedetails of 
UML tools
used for object-oriented analysis, design and documentation.
13.1
 
Unified Modeling Language
UML is a way to model a system for software development. In the process of modeling,there are four distinct phases – 
Inception
,
Elaboration
,
Construction
and
Transition
.Software development can be regarded as a Unified Process having four above mentionedstages. During
inception phase
, analysis gets started when developers discuss with theusers and the domain experts. An overview of the system
requirements
are identified andmodeled in the
use case diagrams
first
.
From these
use cases
the design team identifies the sub-systems and the related problemdomain objects initiating the
elaboration phase
. The
class/objects diagrams
with their data and function members are then identified and elaborated. The system’s
behavioraldiagrams
help defining the member functions of the respective classes and objectscorrectly and scientifically.The
construction
or the coding phase starts after full or partial completion of theelaboration phase. Final coding may demand some changes in the design for proper implementation with fine-tuning.The final
transition
phase deals with the deliverables of the product to customers andactivities (like training, field-testing, etc) associated with the handing over tasks.The UML is a notional and semantic language that can be used at different stages of thesoftware development. The UML has been developed by combining the bests of Grady
Booch’s method
, Jim Rumbaugh’s
Object Modeling Technique(OMT),
and Ivar Jacobson’s
use-case method
. In 1995, the UML got the support of the ObjectManagement Group (
OMG
) as a standard of object-orientation.The results of system analysis and design are reported and documented in UML usingseveral diagrams, which can be divided into two main types – 
Structural diagrams
and
Behavioral diagrams
.
13.1.1Structural Diagrams:Class
and
Object Diagram --
containing
 
classes and objects, includingattributes and functions, identified for the system or sub-system being developed alongwith
roles
,
associations
and
relationship
existing between different classes.
 
Object diagrams deal with [system] specific instances (to help design by showingexamples) whereas class diagrams give more generic descriptions.
Component and Deployment Diagram – 
A component diagram showshow components of a system / sub-system interact with each other. A deployment diagrammodels interacting sub-systems of a system.
13.1.2Behavioral Diagrams:Use Case Diagram – 
It is the starting point of the analysis phase whereinteracting
actors
(users) along with their 
use-cases
are identified. It identifies the mainflow of events in a system or sub-system. Use case diagrams help identifying differentusers and their requirements for fulfillment of the ultimate goal.
Activity Diagram – 
Different activities involved in use cases can beidentified and mapped in activity diagrams.
Sequence Diagram – 
It records the interactions between actors and objectsand between objects to objects. That is, inter-object messages and external events or commands are identified and recorded in this diagram maintaining proper time sequence.
Collaboration Diagram
– This diagram helps modeling message synchronizationand events collaboration while objects interact to produce the desired outputs.
Statechart Diagram – 
Used to visualize the change of states with respectto occurrence of events and actions that can be taken thereafter. It is very similar to a state-transition diagram.UML has dealt with many other diagrams but their introduction is kept pending till you become familiar with its foundation concepts.For modeling systems in UML, you can take help of an Object-Oriented Computer AidedSoftware Engineering (OO-
CASE
) tool like
Rational Rose
of the Rational Software or 
Visio
of Microsoft, etc. A
CASE tool
can ensure software building much faster and in aguided and well-coordinated manner. Even in absence of a CASE tool, the UML conceptsand diagrams can help every one who is assigned with the job of system analysis anddesign.UML diagrams can be drawn, even by hand, using simple plain pens and papers.Once object-oriented analysis and design of a system using UML diagrams are madeavailable, coding for implementation can be carried out choosing any programminglanguage. The UML diagrams help bringing out the inner mystery of a system in totalityas well as in finer details. For these reasons UML is becoming so popular day-by-day.

Activity (12)

You've already reviewed this. Edit your review.
1 hundred reads
1 thousand reads
poweredgeus liked this
Nikhil Pagdhare liked this
lherrick liked this
rds1 liked this
pnikkos liked this
tarunarun liked this
compvim liked this

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->