Sei sulla pagina 1di 21

CASETOOLS

Introduction:

CASEtoolsknownasComputeraidedsoftwareengineeringtoolsisakindof
componentbaseddevelopmentwhichallowsitsuserstorapidlydevelopinformation
systems.Themaingoalofcasetechnologyistheautomationoftheentireinformation
systemsdevelopmentlifecycleprocessusingasetofintegratedsoftwaretools,such
as modeling, methodology and automatic code generation. Component based
manufacturing has several advantages over custom development. The main
advantagesaretheavailabilityofhighquality,defectfreeproductsatlowcostandat
afastertime.Theprefabricatedcomponentsarecustomizedaspertherequirementsof
thecustomers.Thecomponentsusedareprebuilt,readytestedandaddvalueand
differentiation by rapid customization to the targeted customers. However the
productswegetfromcasetoolsareonlyaskeletonofthefinalproductrequiredanda
lotofprogrammingmustbedonebyhandtogetafullyfinished,goodproduct.

CharacteristicsofCASE:

Someofthecharacteristicsofcasetoolsthatmakeitbetterthancustomized
developmentare;
Itisagraphicorientedtool.
Itsupportsdecompositionofprocess.

SometypicalCASEtoolsare:
UnifiedModelingLanguage
Datamodelingtools,and
Sourcecodegenerationtools

IntroductiontoUML(UnifiedModelingLanguage):

The UML is a language for specifying, constructing, visualizing, and


documenting the software system and its components. The UML is a graphical
languagewithsetsofrulesandsemantics.Therulesandsemanticsofamodelare
expressedinEnglishinaformknownasOCL(ObjectConstraintLanguage).OCL
usessimplelogicforspecifyingthepropertiesofasystem.TheUMLisnotintended
to beavisual programming language.However it has a muchcloser mapping to
objectorientedprogramminglanguages,sothatthebestofbothcanbeobtained.The
UML is much simpler than other methods preceding it. UML is appropriate for
modeling systems, ranging from enterprise information system to distributed web
basedapplication andevento realtime embedded system.Itis a veryexpensive
languageaddressingallviewsneededtodevelopandthentodisplaysystemeven
though understand to use. Learning to apply UML effectively starts forming a
conceptualmodeoflanguageswhichrequireslearning.
Threemajorlanguageelements:
UMLbasicbuildingblocks
Rulesthatdictatehowthisbuildingblocksputtogether
Somecommonmechanismthatappliesthroughoutthe
languagetheprimarygoalsinthedesignofUMLare:
1 Provides users ready to use, expressive visual modeling
languageaswellsotheycandevelopandexchangemeaningful
models.
2 Provideextensibilityandspecializationmechanismstoextend
thecoreconcepts.
3 Be independent of particular programming languages and
developmentprocesses.
4 Provideformalbasisforunderstandingthemodelinglanguage.
5 EncouragethegrowthoftheOOtoolsmarket.
6 Supporthigherleveldevelopmentconcepts.
7 Integratebestpracticesandmethodologies.

Every complex system is best approached through a small set of nearly


independentviewsofamodel.Everymodelcanbeexpressedatdifferentlevelsof
fidelity.Thebestmodelsareconnectedtoreality.TheUMLdefinesninegraphical
diagrams:

1 Classdiagram
2 Usecasediagram
3 Behaviordiagram
1 Interactiondiagram
1 sequencediagram
2 collaborationdiagram
2 statechartdiagram
3 activitydiagram
4 Implementationdiagram
1 componentdiagram
2 deploymentdiagram

1 UMLclassdiagram:

The UML class diagram is also known as object modeling. It is a static


analysis diagram. Thesediagrams show thestaticstructureofthe model. Aclass
diagram is a connection of static model elements, such as classes and their
relationships,connectedasagraphtoeachotherandtotheircontents.

2.Usecasediagram:

Thefunctionalityofasystemcanbedescribedinanumberofdifferentuse
cases,eachofwhichrepresentsaspecificflowofeventsinasystem.Itisagraphof
actors, a set of usecases enclosed in a boundary, communication, associations
betweentheactorsandtheusecases,andgeneralizationamongtheusecases.

3.Behaviordiagram:
Itisadynamicmodelunlikealltheothersmentionedbefore.Theobjectsofan
objectorientedsystemarenotstaticandarenoteasilyunderstoodbystaticdiagrams.
Thebehavioroftheclasssinstance(anobject)isrepresentedinthisdiagram.Every
usecaseofthesystemhasanassociatedbehaviordiagramthatindicatesthebehavior
oftheobject.Inconjunctionwiththeusecasediagramwemayprovideascriptor
interaction diagram to show a time line of events. It consists of sequence and
collaborationdiagrams.

4.Interactiondiagram

Itisthecombinationofsequenceandcollaborationdiagram.Itisusedto
depicttheflowofeventsinthesystemoveratimeline.Theinteractiondiagramisa
dynamicmodelwhichshowshowthesystembehavesduringdynamicexecution.

5.Statechartdiagram:

It consists of state, events and activities. State diagrams are a familiar


techniquetodescribethebehaviorofasystem.Theydescribeallofthepossiblestates
thataparticularobjectcangetintoandhowtheobject'sstatechangesasaresultof
eventsthatreachtheobject.InmostOOtechniques,statediagramsaredrawnfora
singleclasstoshowthelifetimebehaviorofasingleobject.

6.Activitydiagram:

Itshowsorganizationandtheirdependenceamongthesetofcomponents.
Thesediagramsareparticularlyusefulinconnectionwithworkflowandindescribing
behavior that has a lot of parallel processing. An activity is a state of doing
something:eitherarealworldprocess,ortheexecutionofasoftwareroutine.

7.Implementationdiagram:

Itshowstheimplementationphaseofthesystemsdevelopment,suchasthe
sourcecodestructureandtheruntimeimplementationstructure.Thesearerelatively
simplehighleveldiagramscomparedtotheothersseensofar.Theyareoftwosub
diagrams,thecomponentdiagramandthedeploymentdiagram.

8.Componentdiagram:

TheseareorganizationalpartsofaUMLmodel.Theseareboxestowhicha
modelcanbedecomposed.Theyshowthestructureofthecodeitself.Theymodelthe
physicalcomponentssuchassourcecode,userinterfaceinadesign.Itissimilarto
theconceptofpackages.

9.Deploymentdiagram:

Thedeploymentdiagramshowsthestructureoftheruntimesystem.Itshows
theconfigurationofruntimeprocessingelementsandthesoftwarecomponentsthat
liveinthem.Theyareusuallyusedinconjunctionwithdeploymentdiagramstoshow
howphysicalmodulesofcodearedistributedonthesystem.

Notationelements:

TheseareexplanatorypartsofUMLmodel.Theyareboxeswhichmayapply
todescribeandremarkaboutanyelementinthemodel.Theyprovidetheinformation
forunderstandingthenecessarydetailsofthediagrams.

RelationsintheUML:

ThesearefourkindsofrelationshipsusedinanUMLdiagram,theyare:
Dependency
Association
Generalizatio
nRealization

Dependency:

Itisasemanticrelationshipbetweentwothingsinwhichachangeonething
affectsthesemanticsofotherthings.Graphicallyadependencyisrepresentedbya
noncontinuousline.

Association:

It is astructural relationship that describes asset of links.A link is being


connected among objects. Graphically association is represented as a solid line
possiblyincludinglabel.

Generalization:

It is a specialized relationship in which the specialized elements are


substitutableforobjectofthegeneralizedelement.Graphicallyitisasolidlinewith
hollowarrowheadparent.

Realization:

Itisasemanticrelationbetweenclassifiers.Graphicallyitisrepresentedasa
crossbetweengeneralizationanddependencyrelationship.
WhereUMLcanbeused:

UMLisnotlimitedtomodelingsoftware.Infactitisexpressivetomodel
nonsoftwaresuchastoshowinstructureandbehaviorofhealthcasesystemandto
designthehardwareofthesystem.
ConceptualmodelbeUML:

UMLyouneedtoformtheconceptualmodelofUML.Thisrequiresthree
majorelements:
UMLbasicbuildingblocks.
Rulesthatdictatehowthisbuildingblocksareputtogether.
Somecommonmechanismthatapplythroughoutthelanguage.

Onceyouhavegraspedtheseideas,youmaybeabletoread.UMLcreate
somebasicones.Asyougainmoreexperienceinapplyingconceptualmodelusing
moreadvancedfeaturesofthislanguage.

BuildingblocksoftheUML:

ThevocabularyofUMLencompassesthesekindsofbuildingblocks.

UseCASEdefinition:

Description:

Ausecaseisasetofscenariostiedtogetherbyacommonusergoal.Ause
case is a behavioral diagram that shows a set of use case actions and their
relationships.

Purpose:

Thepurposeofusecaseisloginandexchangemessagesbetweensenderand
receiver(Emailclient).

Mainflow:

First,thesendergiveshisidandentershislogin.Now,heentersthemessage
tothereceiverid.

Alternateflow:

Iftheusernameandidbythesenderorreceiverisnotvalid,theadministrator
willnotallowenteringandInvalidpasswordmessageisdisplayed.

Precondition:
ApersonhastoregisterhimselftoobtainaloginID.

Postcondition:
Theuserisnotallowedtoenterifthepasswordorusernameisnotvalid.
Classdiagram:

Description:

Aclassdiagramdescribesthetypeofobjectsinsystemandvarious
kindsofrelationshipsthatexistsamongthem.
Class diagrams and collaboration diagrams are alternate
representationsofobjectmodels.

Duringanalysis,weuseclassdiagramtoshowrolesandresponsibilitiesof
entities that provide email client system behaviors design. We use to capture the
structureofclassesthatformtheemailclientsystemarchitecture.

Theclassesusedinsystemare:

1 user
2 login
3 s
4 ds

Aclassdiagramisrepresentedas:

<<Classname>>
<<Attribute1>>
<<Attributen>>
<<Operation()>>

Relationshipused:

Achangeinoneelementaffectstheother

Generalization:

Itisakindofrelationship

Statechart:

Description:

Thestatechartdiagrammadethedynamicbehaviorofindividualclasses.
Statechartshowsthesequencesofstatesthatanobjectgoesthroughevents
andstatetransitions.
Astatechartcontainsonestatestartandmultipleendstates.
Theimportantobjectivesare:

Decision:

Itrepresentsaspecificlocationstatechartdiagramwheretheworkflowmay
branchbaseduponguardconditions.

Synchronization:

Itgivesasimultaneousworkflowinastatechartdiagram.Theyvisuallydefine
forksandjointsrepresentingparallelworkflow.

Forksandjoins:

Aforkconstructisusedtomodelasingleflowofcontrol.
Everyworkmustbefollowedbyacorrespondingjoin.
Jointshavetwoormoreflowthatunitintoasingleflow.
State:

Astateisaconditionorsituationduringalifeofanobjectinwhichitsatisfies
conditionorwaitsforsomeevents.
Transition:

Itisarelationshipbetweentwoactivitiesandbetweenstatesandactivities.

Startstate:

A start state shows the beginning of a workflow or beginning of a state


machineonastatechartdiagram.

Endstate:

Itisafinalorterminalstate.

Activitydiagram

Description:

Activitydiagramprovidesawaytomodeltheworkflowofadevelopment
process.Wecanalsomodelthiscodespecificinformationsuchasclassoperation
using activity diagram. Activity diagrams can model different types of diagrams.
Therearevarioustoolsinvolvedintheactivitydiagram.

Activity:
Anactivityrepresentstheperformanceofataskonduty.Itmayalsorepresent
theexecutionofastatementinaprocedure.
Decision:

Adecisionrepresents aconditiononsituationduringthelifeofanobject,
whichitsatisfiessomeconditionorwaitsforanevent.

Startstate:

It represents the condition explicitly the beginning of a workflow on an


activity.

Objectflow:

Anobjectonanactivitydiagramrepresentstherelationshipbetweenactivity
andobjectthatcreatesorusesit.

Synchronization:

Itenablesustoseeasimultaneousworkflowinanactivity.

Endstate:

Anendstaterepresentsafinalorterminalstateonanactivitydiagramorstate
chartdiagram.

Sequencediagram:

Description:

A sequence diagram is a graphical view of scenario that shows object


interactioninatimebasedsequencewhathappensfirstwhathappensnext.Sequence
diagramsarecloselyrelatedtocollaborationdiagram.
The main difference between sequence and collaboration diagram is that
sequencediagramshowtimebasedinteractionwhilecollaborationdiagramshows
objectsassociatedwitheachother.

Thesequencediagramfortheemailclientsystemconsistsofthefollowing
objectives:

Object:
Anobjecthasstate,behaviorandidentity.Anobjectisnotbasedisreferredto
asaninstance.
Thevariousobjectsinemailclientsystemare:
User
Website
Login
Groups
Messageicon:

Amessageiconrepresentsthecommunicationbetweenobjectsindicatingthat
an action will follow. The message icon is the horizontal solid arrow connecting
lifelinestogether.

Collaborationdiagram:

Description:

Collaborationdiagramandsequencediagramsarealternaterepresentationsof
aninteraction.Acollaborationdiagramisaninteractiondiagramthatshowstheorder
ofmessagesthatimplementanoperationoratransaction.Collaborationdiagramisan
interactiondiagramthatshowstheorderofmessagesthatimplementanoperationora
transaction.Collaborationdiagramshowsobjects,theirlinksandtheirmessages.
Theycanalsocontainsimpleclassinstancesandclassutilityinstances.

During, analysis indicates the semantics of the primary and secondary


interactions. Design, shows the semantics of mechanisms in the logical design of
system.
Togglingbetweenthesequenceandcollaborationdiagrams

Whenweworkineitherasequenceorcollaborationdiagram,itispossibleto
viewthecorrespondingdiagrambypressingF5key.
ATMSYSTEM

Aim:
TocreateasystemtoperformBankATMtransaction

Problemstatement:

Thissystemisbuildforthebankclientandthemanager.
Thebankclientmustbeabletodepositandwithdrawamountfrom
his/heraccountsusingtheATMmachine.Eachtransactionmustbe
recorded and the client must be able to review all transactions
performedinhis/heraccount.Recordedtransactionsmustincludethe
date, time, transaction type, amount and account balance after the
transaction.
ThebankmanagermustbeabletoviewtheATMmachinestatusthat
isthetotalbalanceoftheATMmachine,todayswithdrawal,todays
balanceandthelimitationsofthemachine.
Thebankclientisprovidedbyloginverification.Ifitisvalidhe/she
willaccesstheiraccountotherwiseanappropriatemessageisdisplayed
totheclient.

Softwarerequirements:

Microsoftvisualbasic6.0isusedasfrontendforourprojectandmsaccessis
usedasbackendtostorethedata.

USECASEdiagram:

TheATMtransactionusecasesinoursystemare:
1 Login
2 Withdraw
3 Ministatement
4 ATMmachinestatus
5 Deposit

Actorsinvolved:

1 User
2 Bankmanager

USECASEname:Login

Theuserentersausernameandpassword.Ifitisvalid,theusersaccount
becomesavailable.Ifitisinvalid,anappropriatemessageisdisplayedtotheuser.
USECASEname:Withdraw

Theusertriestowithdrawanamountfromhisorhercheckingaccount.The
amountislessthanorequaltothecheckingaccountsbalance,thetransactionis
performedandtheavailableinformationisdisplayed.Thesystemcreatesarecordof
thetransactionandthedisplayconfirmationmessageisdisplayedtotheclient.

USECASEname:Ministatement

Thebankuserrequestsahistoryoftransactionsforacheckingaccount.The
system displays the transaction history for the checking account. The transaction
history consists of amount, date, transaction type and balance of the particular
account.

USECASEname:ATMmachinestatus

Thebankmanagerentersausernameandpassword.Ifitisvalid,thebank
manager accesses the machine status. If it is invalid, an appropriate message is
displayedtotheuser.

USECASEname:Deposit

Thebankuserrequeststhesystemtodepositmoneytoanaccount.Theuser
accessestheaccountforwhichadepositisgoingtobemadeandenterstheamount.
The system creates a record of the transaction and an appropriate confirmation
message (display confirmation) is displayed to the client. The transaction must
includethedate,type,amountandaccountbalanceafterthetransaction.
Classdiagram

The class diagram, also referred to as object modeling is the main static
analysisdiagram.Themaintaskofobjectmodelingistographicallyshowwhateach
objectwilldointheproblemdomain.Theproblemdomaindescribesthestructureand
therelationshipsamongobjects.

TheATMsystemclassdiagramconsistsoffourclasses:
1 Userclass
2 ATMmachinestatus
3 Account
4 Transaction

1 Userclass:

Itconsistsoffourattributesandtwooperations.Theattributesareusername,
password,addressandDOB.Theoperationsofthisclassareread(),display()and
write().

2)ATMmachinestatus:

The attributes of this class are ATM balance, todays withdrawal, todays
balance,andlimitations.Theoperationsareloginverification(),ATMstatus()and
displayconfirmation().

3)Account:

Theattributesareaccountno.andbalanceandtheoperationsarewithdraw(),
deposit()anddisplayavailability().

4)Transaction:

The attributes of this class are account no,transaction type, data, amount,
balanceandtheoperationsareministatement()andcreatetransaction().
Sequencediagram:

AsequencediagramrepresentsthesequenceandinteractionsofagivenUSE
CASEorscenario.Sequencediagramscancapturemostoftheinformationaboutthe
system. Most object to object interactions and operations are considered events and
eventsincludesignals,inputs,decisions,interrupts,transitionsandactionstoorfrom
usersorexternaldevices.

Aneventalsoisconsideredtobeanyactionbyanobjectthatsendsinformation.
Theeventlinerepresentsamessagesentfromoneobjecttoanother,inwhichtheform
objectisrequestinganoperationbeperformedbythetoobject.
Thetoobjectperformstheoperationusingamethodthattheclasscontains.

Itisalsorepresentedbytheorderinwhichthingsoccurandhowtheobjectsinthe
systemsendmessagetooneanother.

ThesequencediagramforeachUSECASEthatexistswhenauserwithdraws,
deposits,needsinformationaboutATMmachinestatusandaccountaredrowned.

ThediagramsshowtheentiredepositprocessinanATMsystem.Theuserhasto
logintotheATMmachineanddeposittheamountofmoneyasrequiredbytheuser.The
usermaywishtogetaministatementandascreenaboutthedetailsofthetransaction.

ThediagramsshowtheprocessofloginbytheusertotheATMsystem.Theuser
hastoenterhisdetails.Thedetailsenteredareverifiedbythesystemandtheuseris
approvedifthedetailsmatch,otherwiseanappropriateerrormessageisdisplayed.

TheAdministratoroftheATMsystemhastomaintainthedetailsabouttheATM,He
hastocheckifthereisenoughmoneyintheATMandiftheATMisfunctionalwithout
majorerrors.Forthis,hemaychecktheATMmachinestatusoccasionally.Theprocess
isshownintheabovediagrams.

Afteratransactioniscarriedoutsuccessfully,theusermustgetaministatementtotell
him his accounts details such as balance and transaction number. This process is
depictedintheabovediagrams.

Theusercanmakewithdrawmoneyfromhisaccount.Theprocessisdepictedin
the diagrams above. The user has to login to the system using his username and
password,whichareverifiedbythesystem.Aftersuccessfulverification,theusercan
choose the amount of money he wants to withdraw from his account. The amount
specifiedbytheuserischeckedbythesystemtomakesurethereisenoughbalanceinhis
accounttocarryoutthetransaction.Afterthetransactioniscarriedouttheresulting
amountisdisplayedandthedetailsareupdatedtothedatabase.
6. STATE DIAGRAM

Statechart diagram is used to model dynamic nature of a system. They define


different states of an object during its lifetime. And these states are changed by events.
So Statechart dia-grams are useful to model reactive systems. Reactive systems can be
defined as a system that responds to external or internal events.

Statechart diagram describes the flow of control from one state to another state.
States are defined as a condition in which an object exists and it changes when some
event is triggered. So the most important purpose of Statechart diagram is to model life
time of an object from creation to termination.

Statechart diagrams are also used for forward and reverse engineering of a
system. But the main purpose is to model reactive system.

Following are the main purposes of using Statechart diagrams:

1. To model dynamic aspect of a system.


2. To model life time of a reactive system.
3. To describe different states of an object during its life time.
4. Define a state machine to model states of an object.

Contents

Simply state and composite states Transitions, including events and actions

Common use

They are use to model the dynamic aspects of a system. Event ordered behavior of any
kind of objects, to model reactive objects.

Fork

A fork represents the splitting of a single flow of control into two or more concur-
rentFlow of control. A fork may have one incoming transition and two or more outgoing
transi-tions, each of which represents an independent flow of control. Below fork the
activities asso-ciated with each of these path continues in parallel.
Join

A join represents the synchronization of two or more concurrent flows of control.


A join may have two or more incoming transition and one outgoing transition. Above the
join the activ-ities associated with each of these paths continues in parallel.

Branching

A branch specifies alternate paths takes based on some Boolean expression


Branch is represented by diamond Branch may have one incoming transition and two or
more outgoing one on each outgoing transition, you place a Boolean expression shouldnt
overlap but they should cover all possibilities.

Swimlane:

Swimlanes are useful when we model workflows of business processes to


partition the activity states on an activity diagram into groups. Each group representing
the business organi-zation responsible for those activities ,these groups are called
Swimlanes .

ACITVITY DIAGRAM

An activity diagram is essentially a fancy flowchart. Activity diagrams and state


chart diagrams are related. While a state chart diagram focuses attention on an object
undergoing a process (or on a process as an object), an activity diagram focuses on the
flow of activities involved in a single process. The activity diagram shows the how those
activities depend on one another.
For our example, we used the following process.
"Withdraw money from a bank account through an ATM."
The three involved classes (people, etc.) of the activity are Customer, ATM, and
Bank. The process begins at the black start, circle at the top and ends at the concentric
white/black stop circles at the bottom. The activities are rounded rectangles.

COMPONENT DIAGRAM

Component diagrams are used to model physical aspects of a system. Now the
question is what are these physical aspects? Physical aspects are the elements like
executables, libraries, files, documents etc which resides in a node. So component
diagrams are used to visualize the
organization and relationships among components in a system. These diagrams are also
used to make executable systems.

Purpose:

Component diagrams can be described as a static implementation view of a


system. Stat-ic implementation represents the organization of the components at a
particular moment. A sin-gle component diagram cannot represent the entire system but a
collection of diagrams are used to represent the whole.

Before drawing a component diagram the following artifacts are to be identified clearly:

Files used in the system.


Libraries and other artifacts relevant to the application.
Relationships among the artifacts.

Now after identifying the artifacts the following points needs to be followed:

Use a meaningful name to identify the component for which the diagram is to be
drawn. Prepare a mental layout before producing using tools.
Use notes for clarifying important points.

Now the usage of component diagrams can be described as:

1. Model the components of a system.


2. Model database schema.
3. Model executables of an application.
4. Model systems source code.

Contents

Components, Interfaces, Relationships


DEPLOYMENT DIAGRAM

Deployment diagrams are used to visualize the topology of the physical


components of a system where the software components are deployed. So deployment
diagrams are used to describe the static deployment view of a system. Deployment
diagrams consist of nodes and their relationships.
The name Deployment itself describes the purpose of the diagram. Deployment
diagrams are used for describing the hardware components where software components
are deployed. Component diagrams and deployment diagrams are closely
related.Component diagrams are used to describe the components and deployment
diagrams shows how they are deployed in hardware.
UML is mainly designed to focus on software artifacts of a system. But these two
diagrams are special diagrams used to focus on software components and hardware
components.
So most of the UML diagrams are used to handle logical components but deployment
diagrams are made to focus on hardware topology of a system. Deployment diagrams are
used by the system engineers.
The purpose of deployment diagrams can be described as:
Visualize hardware topology of a system.
Describe the hardware components used to deploy software components.
Describe runtime processing nodes.

Potrebbero piacerti anche