Professional Documents
Culture Documents
SE Practical1
SE Practical1
MBE’SCOLLEGEOFENGINEERINGAMBAJOGAI
DEPARTMENTOFCOMPUTERSCIENCEENGINEERING
T.Y.B.Tech.BTCOL506:SoftwareEngineeringLaboratory
ListofExperiments:
1.Toperformthesystemanalysis:Requirementanalysis,SRS.(BothFunctionaland
Nonfunctionalrequirements.Forasetof10sampleproblems,fromabookonSoftware
EngineeringbyRajibMall.)
2.Toperformthefunctionorienteddiagram:DFDandStructuredchart.
3.Toperformtheuser‘sviewanalysis:Usecasediagram.
4.Todrawthestructuralviewdiagram:Classdiagram,objectdiagram.
5.Todrawthebehavioralviewdiagram:Sequencediagram,Collaborationdiagram.
6.Todrawthebehavioralviewdiagram:State-chartdiagram,Activitydiagram.
7. Todrawtheimplementationviewdiagram:Componentdiagram.
8.Todrawtheenvironmentalviewdiagram:Deploymentdiagram.
9.Toperformvarioustestingusingthetestingtoolunittesting,integrationtesting
CASETools
Introduction:CasetoolsknownasComputer-aidedsoftwareengineeringtoolsisakindof
component-baseddevelopmentwhichallowsitsuserstorapidlydevelopinformation
systems.Themaingoalofcasetechnologyistheautomationoftheentireinformation
systemsdevelopmentlifecycleprocessusingasetofintegratedsoftwaretools,suchas
modeling,methodologyandautomaticcodegeneration.
Componentbasedmanufacturinghasseveraladvantagesovercustom
development.Themainadvantagesaretheavailabilityofhighquality,defectfree
productsatlowcostandatafastertime.Theprefabricatedcomponentsare
customizedaspertherequirementsofthecustomers.Thecomponentsusedareprebuilt,ready-
testedandaddvalueanddifferentiationbyrapidcustomizationtothe
targetedcustomers.Howevertheproductswegetfromcasetoolsareonlyaskeleton
ofthefinalproductrequiredandalotofprogrammingmustbedonebyhandtogeta
TYBTechCSE(SE-LabManual) Pag
BTCOL506: SoftwareEngineeringLaboratory
fullyfinished,goodproduct.
CharacteristicsofCASE:someofthecharacteristicsofcasetoolsthatmakeitbetterthan
customizeddevelopmentAreItisagraphicorientedtool.
Itsupportsdecompositionofprocess.SometypicalCASEtoolsare:Unified
ModelingLanguage
DatamodelingtoolsandSourcecodegenerationtools
UNIFIEDMODELINGLANGUAGE
Introduction:Theunifiedmodelinglanguage(UML)isastandardlanguageforwriting
softwareblueprints.TheUMLisalanguageforVisualizingSpecifyingConstructing
documenting.theartifactsofasoftwaresystem:UMLisalanguagethatprovides
vocabularyandtherulesforcombingwordsinthatvocabularyforthepurposeof communication
Amodelinglanguageisalanguagewhosevocabularyandrulesfocusonthe
conceptandphysicalrepresentationofasystem.Vocabularyandrulesofalanguage
tellushowtocreateandrealwellformedmodels,buttheydon’ttellyouwhatmodel
youshouldcreateandwhenshouldcreatethem.
Visualizing:TheUMLismorethanjustabunchofgraphicalsymbols.InUMLeachsymbol
haswelldefinedsemantics.InthismanneronedevelopercanwriteamodelintheUML
andanotherdeveloperorevenothertoolscaninterpretthemodelunambiguously.
Specifying:UMLisusedspecifyingmeansbuildingmodelsthatareprecise,unambiguous
andcomplete.UMLaddressesthespecificationofalltheimportantanalysis,designand
implementationdecisionsthatmustbemadeindevelopinganddeployingasoftware intensivesystem.
Constructing:UMLisnotavisualprogramminglanguagebutitsmodelscanbedirectly
connectedtoavarietyofprogramminglanguages.Thismeansthatitispossibletomap
fromamodelintheUMLtoaprogramminglanguagesuchasjava,c++orVisualBasicor
eventotablesinarelationaldatabaseorthepersistentstoreofanobject-oriented
database.Thismappingpermitsforwardengineering.ThegenerationofcodefromaUML
modelintoaprogramminglanguage.Thereverseengineeringisalsopossibleyoucan
TYBTechCSE(SE-LabManual) Pag
BTCOL506: SoftwareEngineeringLaboratory
reconstructamodelfromanimplementationbackintotheUML.
Documenting:UMLisalanguageforDocumenting.Asoftwareorganizationproducesall
sortsofartifactsinadditiontorawexecutablecode.TheseartifactsincludeRequirements,
Architecture,Design,Sourcecode,Projectplans,Test,Prototype,andRelease.Such
artifactsarenotonlythedeliverablesofaproject,theyarealsocriticalincontrolling,
measuringandcommunicatingaboutasystemduringitsdevelopmentandafterits deployment.
ConceptualmodeloftheUML:TounderstandtheUML,weneedtoformaconceptual
modelofthelanguageandthisrequireslearningthreemajorelements.TheUMLBasic
BuildingBlocks.TheRulesthatdirecthowthosebuildingblocksmaybeputtogether.
SomecommonmechanismsthatapplythroughouttheUML.AsUMLdescribesthereal
timesystemsitisveryimportanttomakeaconceptualmodelandthenproceedgradually.
ConceptualmodelofUMLcanbemasteredbylearningthefollowingthreemajorelements:
UMLbuildingblocks:RulestoconnectthebuildingblocksCommonmechanismsof
UML,UMLbuildingblocks.ThebuildingblocksofUMLcanbedefinedas:Things
RelationshipsDiagrams
Things:ThingsarethemostimportantbuildingblocksofUML.Thingscanbe:Structural
behavioral,grouping,annotational
Structuralthings:TheStructuralthingsdefinethestaticpartofthemodel.Theyrepresent
physicalaconceptualelements.Followingarethebriefdescriptionsofthestructural
things.Class:Classrepresentssetofobjectshavingsimilarresponsibilities.
Interface:Interfacedefinesasetofoperationswhichspecifytheresponsibilityofaclass
Usecase:Usecaserepresentsasetofactionsperformedbyasystemforaspecificgoal.
Component:Componentdescribesphysicalpartofasystem.
Node:Anodecanbedefinedasaphysicalelementthatexistsatruntime.
Behavioralthings:AbehavioralthingconsistsofthedynamicpartsofUMLmodels.
Followingarethebehavioralthings:
Interaction:Interactionisdefinedasabehaviorthatconsistsofagroupofmessages
TYBTechCSE(SE-LabManual) Pag
BTCOL506: SoftwareEngineeringLaboratory
exchangedamongelementstoaccomplishaspecifictask.
Statemachine:Statemachineisusefulwhenthestateofanobjectinitslifecycleis
important.Itdefinesthesequenceofstatesanobjectgoesthroughinresponseto
events.Eventsareexternalfactorsresponsibleforstatechange.
Groupingthings:Groupingthingscanbedefinedasamechanismtogroupelementsofa
UMLmodeltogether.Thereisonlyonegroupingthingavailable.
Package:Packageistheonlyonegroupingthingavailableforgatheringstructuraland
behavioralthings.
Annotationalthings:Annotationalthingscanbedefinedasamechanismtocapture
remarks,descriptions,andcommentsofUMLmodelelements.Noteistheonlyone
Annotationalthingavailable.Note:Anoteisusedtorendercomments,constraintsetc
ofanUMLelement.
RelationshipsInUML:RelationshipisanothermostimportantbuildingblockofUML.It
showshowelementsareassociatedwitheachotherandthisassociationdescribesthe
functionalityofanapplication.Therearefourkindsofrelationshipsavailable.
Dependency:Dependencyisarelationshipbetweentwothingsinwhichchangeinone
elementalsoaffectstheotherone.
Association:AssociationisbasicallyasetoflinksthatconnectselementsofanUML
model.Italsodescribeshowmanyobjectsaretakingpartinthatrelationship.
Generalization:Generalizationcanbedefinedasarelationshipwhichconnectsa
specializedelementwithageneralizedelement.Itbasicallydescribesinheritance
relationshipintheworldofobjects.
Realization:Realizationcanbedefinedasarelationshipinwhichtwoelementsare
connected.Oneelementdescribessomeresponsibilitywhichisnotimplementedandthe
otheroneimplementsthem.Thisrelationshipexistsincaseofinterfaces.
UMLDiagrams:UMLdiagramsaretheultimateoutputoftheentirediscussion.Allthe
elements,relationshipsareusedtomakeacompleteUMLdiagramandthediagram
TYBTechCSE(SE-LabManual) Pag
BTCOL506: SoftwareEngineeringLaboratory
representssystem.ThevisualeffectoftheUMLdiagramisthemostimportantpartofthe
entireprocess.Alltheotherelementsareusedtomakeitacompleteone.UMLincludes
thefollowingninediagramsandthedetailsaredescribedinthefollowingClassdiagram,
Objectdiagram,Usecasediagram,sequencediagram,CollaborationdiagramActivity
diagram,Statechartdiagram,Deploymentdiagram,componentdiagram
ARCHITECTUREOFUML
Anyrealworldsystemisusedbydifferentusers.Theuserscanbedevelopers,testers,
businesspeople,analystsandmanymore.Sobeforedesigningasystemthe
architectureismadewithdifferentperspectivesinmind.Themostimportantpartisto
visualizethesystemfromdifferentviewer’sperspective.Thebetterweunderstandthe
betterwemakethesystem.UMLplaysanimportantroleindefiningdifferent
perspectivesofasystem.Theseperspectivesare:DesignImplementationProcess Deployment
AndthecentreistheUseCaseviewwhichconnectsallthesefour.AUsecase
representsthefunctionalityofthesystem.Sotheotherperspectivesareconnectedwith usecase.
Designofasystemconsistsofclasses,interfacesandcollaboration.UMLprovides
classdiagram,objectdiagramtosupportthis.Implementationdefinesthecomponents
assembledtogethertomakeacompletephysicalsystem.UMLcomponentdiagramis
usedtosupportimplementationperspective.
Processdefinestheflowofthesystem.SothesameelementsasusedinDesignare
alsousedtosupportthisperspective.
Deploymentrepresentsthephysicalnodesofthesystemthatformsthehardware.UML
deploymentdiagramisusedtosupportthisperspective.
TYBTechCSE(SE-LabManual) Pag
BTCOL506: SoftwareEngineeringLaboratory
EXPERIMENTNO1:Toperformthesystemanalysis
Aim:Toperformthesystemanalysis:Requirementanalysis,SRS.(Bothfunctionaland
nonfunctionalrequirement.forasetof10sampleproblem,fromabookonsoftware
engineeringbyRajibMall
Tools:
GoogleChrome/AnyBrowsers
STARUML
Window’s/ubuntu
Objective:TolearnbasicConceptofSoftwareEngineering.
Procedure:
Sampleforfunctionalandnon-functionalrequirement=
1.WithdrawcashfromATM
2.HospitalManagementSystem
3.LibraryManagementSystem 4.MentcareSystem
5.WeatherMappingSystem Functionalrequirement=
Afunctionalrequirementdefinesasystemoritscomponentsitspecifies“Whatshoudbe
softwaresystemdo-?” 1.WithdrawcashfromATM
1 Withdrawcash Securityshouldbetheir
2
TYBTechCSE(SE-LabManual) Selectwithdraw amount Donotsharepincodewith
Page
Option anyone
3 Selectaccounttype Checktheprivacy
BTCOL506: SoftwareEngineeringLaboratory
2. Hospitalmanagementsystem
Sr.no Functionalrequirement Non -functional
requirement
1 Addingpatient Security
2 DeletingpatientID LoginID
3 Addingbedsavailablelist password
4 Informationofpatient Staffrights
3. Librarymanagementsystem
Sr.no Functionalrequirement Non -functional
requirement
1 Addnewmembers usability
2 Removemembers Accuracy
4 Userrequestfornewbook Maintainability
4. MentcareSystem
Sr.no Functionalrequirement Non -functional
requirement
1 Defineproductfeatures Defineproductproperties
2 Focusonuserrequirement Focusonuserexpectations
3 Whattheproductdoes Howtheproductwork
4 Externalinterface usability
5. Weathermappingsystem
Sr.no Functionalrequirement Non-functionalrequirement
TYBTechCSE(SE-LabManual) Pag
BTCOL506: SoftwareEngineeringLaboratory
1 Extensible Security
2 Maintainable portability
3 Portable scalability
4 Systemprovidesfollowing performance
parameterswindspeed..
Conclusion:SuccessfullycompletedRequirementanalysis,SRS.(Bothfunctionalandnon
functionalrequirement).
EXPERIMENTNO2:Toperformthefunctionorienteddiagram
Aim:Toperformthefunctionorienteddiagram:DFDandstructuredchart
Tools:
GoogleChrome/AnyBrowsers
STARUML
Window’s/ubuntu
AutomaticTellerMachine
Objective:TolearnbasicConceptofSoftwareEngineering.
DescriptionofATMSystem:Thesoftwaretobedesignedwillcontrolasimulated
automatedtellermachine(ATM)havingamagneticstripereaderforreadingan
ATMcard,acustomerconsole(keyboardanddisplay)forinteractionwiththe
customer,aslotfordepositingenvelopes,adispenserforcash,aprinterfor
printingcustomerreceipts,andakey-operatedswitchtoallowanoperatorto
startorstopthemachine.TheATMwillcommunicatewiththebank’scomputer
overanappropriatecommunicationlink.(Thesoftwareonthelatterisnotpart
oftherequirementsforthisproblem.)TheATMwillserviceonecustomerata
time.AcustomerwillberequiredtoinsertanATMcardandenterapersonal
identificationnumber(PIN)–bothofwhichwillbesenttothebankfor
validationaspartofeachtransaction.Thecustomerwillthenbeabletoperform
oneormoretransactions.Thecardwillberetainedinthemachineuntilthe
TYBTechCSE(SE-LabManual) Pag
BTCOL506: SoftwareEngineeringLaboratory
customerindicatesthathe/shedesiresnofurthertransactions,atwhichpointit willbereturned–
exceptasnotedbelow.
TheATMmustbeabletoprovidethefollowingservicestothecustomer:
1.Acustomermustbeabletomakeacashwithdrawalfromanysuitableaccount
linkedtothecard.Approvalmustbeobtainedfromthebankbeforecashis dispensed.
2. Acustomermustbeabletomakeadeposittoanyaccountlinkedtothecard,
consistingofcashand/orchecksinanenvelope.Thecustomerwillenterthe
amountofthedepositintotheATM,subjecttomanualverificationwhenthe
envelopeisremovedfromthe
Machinebyanoperator.Approvalmustbeobtainedfromthebankbefore
physicallyacceptingtheenvelope.
3. Acustomermustbeabletomakeatransferofmoneybetweenanytwo
accountslinkedtothecard.
4. Acustomermustbeabletomakeabalanceinquiryofanyaccountlinkedtothe card.
5. Acustomermustbeabletoabortatransactioninprogressbypressingthe
Cancelkeyinsteadofrespondingtoarequestfromthemachine.
TheATMwillcommunicateeachtransactiontothebankandobtainverificationthatit
wasallowedbythebank.Ordinarily,atransactionwillbeconsideredcompletebythe
bankonceithasbeenapproved.Inthecaseofadeposit,asecondmessagewillbesent
tothebankindicatingthatthecustomerhasdepositedtheenvelope.(Ifthecustomer
failstodeposittheenvelopewithinthetimeoutperiod,orpressescancelinstead,no
secondmessagewillbesenttothebankandthedepositwillnotbecreditedtothe
customer.)Ifthebankdeterminesthatthecustomer’sPINisinvalid,thecustomerwill
berequiredtore-enterthePINbeforeatransactioncanproceed.Ifthecustomeris
unabletosuccessfullyenterthePINafterthreetries,thecardwillbepermanently
retainedbythemachine,andthecustomerwillhavetocontactthebanktogetitback.If
atransactionfailsforanyreasonotherthananinvalidPIN,theATMwilldisplayan
explanationoftheproblem,andwillthenaskthecustomerwhetherhe/shewantstodo
anothertransaction.
TheATMwillprovidethecustomerwithaprintedreceiptforeachsuccessful
transaction,showingthedate,time,andmachinelocation,typeoftransaction,account, amount,andending
TYBTechCSE(SE-LabManual) Pag
BTCOL506: SoftwareEngineeringLaboratory
andavailablebalance(s)oftheaffectedaccount(“to”accountfortransfers).TheATM
willhaveakey-operatedswitchthatwillallowanoperatortostartandstoptheservicing
ofcustomers.Afterturningtheswitchtothe“on”position,theoperatorwillberequired
toverifyandenterthetotalcashonhand.Themachinecanonlybeturnedoffwhenitis
notservicingacustomer.Whentheswitchismovedtothe“off”position,themachine
willshutdown,sothattheoperatormayremovedepositenvelopesandreloadthe
machinewithcash,blankreceipts,etc.
Procedure
TYBTechCSE(SE-LabManual) Pag
BTCOL506: SoftwareEngineeringLaboratory
TYBTechCSE(SE-LabManual) Pag
BTCOL506: SoftwareEngineeringLaboratory
Conclusion:Successfullycompleted designoffunctionorienteddiagram:DFDand
Structuredchart
EXPERIMENTNO3:Toperformtheuser’sviewanalysis:UseCasediagram.
Aim:ToperformthefunctionorienteddiagramDFDandstructuredchart:UseCase
diagram.
Tools:
GoogleChrome/AnyBrowsers
STARUML
Window’s/ubuntu
TYBTechCSE(SE-LabManual) Pag
BTCOL506: SoftwareEngineeringLaboratory
Objective:TolearnbasicConceptofSoftwareEngineering.
Procedure:
TYBTechCSE(SE-LabManual) Pag
BTCOL506: SoftwareEngineeringLaboratory
TYBTechCSE(SE-LabManual) Pag
BTCOL506: SoftwareEngineeringLaboratory
TYBTechCSE(SE-LabManual) Pag
BTCOL506: SoftwareEngineeringLaboratory
checkpinno2:pinvalid/invalid3:checkaccount4: displaystatus,5:checkamount,6:displaystatus,
7:updateaccount
ATM ADMIN
1. STATEDiagram:Statechartdiagramisusedtomodeldynamicnature
ofasystem.Theydefinedifferentstatesofanobjectduringitslifetime.
Andthesestatesarechangedbyevents.SoStatechartdiagramsare
usefultomodelreactivesystems.Reactivesystemscanbedefinedasa
systemthatrespondstoexternalorinternalevents.Statechartdiagram
describestheflowofcontrolfromonestatetoanotherstate.Statesare
definedasaconditioninwhichanobjectexistsanditchangeswhen
someeventistriggered.SothemostimportantpurposeofStatechart
diagramistomodellifetimeofanobjectfromcreationtotermination.
Statechartdiagramsarealsousedforforwardandreverseengineering
ofasystem.Butthemainpurposeistomodelreactivesystem.
FollowingarethemainpurposesofusingStatechartdiagrams:
1.Tomodeldynamicaspectofasystem.
2. Tomodellifetimeofareactivesystem.
3. Todescribedifferentstatesofanobjectduringitslifetime.
4.Defineastatemachinetomodelstatesofanobject.
Contents:SimplystateandcompositestatesTransitions,includingeventsand
actionsCommonuse,theyareusetomodelthedynamicaspectsofasystem.
Eventorderedbehaviorofanykindofobjects,tomodelreactiveobjects.
TodesignandimplementUsecasediagramforATMSystem.
THEORY:AUsecaseDiagramisadiagramthatshowsasetofUsecasesandactorsand
theirrelationships.Thesediagramsareusedtomodelthestaticusecaseviewofa
system.Tomodelasystemthemostimportantaspectistocapturethedynamic
TYBTechCSE(SE-LabManual) Pag
BTCOL506: SoftwareEngineeringLaboratory
behavior.Toclarifyabitindetails,dynamicbehaviormeansthebehaviorofthe
systemwhenitisrunning/operating.Soonlystaticbehaviorisnotsufficientto
modelasystemratherdynamicbehaviorismoreimportantthanstaticbehavior.
InUMLtherearefivediagramsavailabletomodeldynamicnatureandusecase
diagramisoneofthem.Nowaswehavetodiscussthattheusecasediagram
isdynamicinnaturethereshouldbesomeinternalorexternalfactorsfor
makingtheinteraction.Theseinternalandexternalagentsareknownasactors.
Sousecasediagramsareconsistsofactors,usecasesandtheirrelationships.
Thediagramisusedtomodelthesystem/subsystemofanapplication.Asingle
usecasediagramcapturesaparticularfunctionalityofasystem.Sotomodel
theentiresystemnumbersofusecasediagramsareused.
Purpose:Thepurposeofusecasediagramistocapturethedynamicaspectofa
system.Butthisdefinitionistoogenerictodescribethepurpose.Becauseother
fourdiagrams(activity,sequence,collaborationandStatechart)arealsohaving
thesamepurpose.Sowewilllookintosomespecificpurposewhichwill
distinguishitfromotherfourdiagrams.Usecasediagramsareusedtogather
therequirementsofasystemincludinginternalandexternalinfluences.These
requirementsaremostlydesignrequirements.Sowhenasystemisanalyzedto
gatheritsfunctionalitiesusecasesarepreparedandactorsareidentified.Soin
brief,thepurposesofusecasediagramscanbeasfollows:
Usedtogatherrequirementsof
systemUsedtogetanoutsideview ofasystem.
Identifyexternalandinternalfactorsinfluencingthe
system.Showtheinteractingamongtherequirements areactors.
TYBTechCSE(SE-LabManual) Pag
BTCOL506: SoftwareEngineeringLaboratory
ALGORITHM/FLOWCHART/PSEUDO CODE:
Inferences:
1.Identificationofusecases. 2.Identificationofactors.
Usecase: Login
WithdrawalUseCase
Awithdrawaltransactionasksthecustomertochooseatypeofaccounttowithdraw
from(e.g.checking)fromamenuofpossibleaccounts,andtochooseadollaramount
fromamenuofpossibleamounts.Thesystemverifiesthatithassufficientmoneyon
handtosatisfytherequestbeforesendingthetransactiontothebank.(Ifnot,the
customerisinformedandaskedtoenteradifferentamount.)Ifthetransactionis
approvedbythebank,theappropriateamountofcashisdispensedbythemachine
beforeitissuesareceipt.Awithdrawaltransactioncanbecancelledbythecustomer
pressingtheCancelkeyanytimepriortochoosingthedollaramount. DepositUseCase
TYBTechCSE(SE-LabManual) Pag
BTCOL506: SoftwareEngineeringLaboratory
Adeposittransactionasksthecustomertochooseatypeofaccounttodepositto(e.g.
checking)fromamenuofpossibleaccounts,andtotypeinadollaramountonthe
keyboard.ThetransactionisinitiallysenttothebanktoverifythattheATMcanaccept
adepositfromthiscustomertothisaccount.Ifthetransactionisapproved,the
machineacceptsanenvelopefromthecustomercontainingcashand/orchecksbefore
itissuesareceipt.Oncetheenvelopehasbeenreceived,asecondmessageissentto
thebank,toconfirmthatthebankcancreditthecustomer‟account–contingenton
manualverificationofthedepositenvelopecontentsbyanoperatorlater.
AdeposittransactioncanbecancelledbythecustomerpressingtheCancelkeyany
timepriortoinsertingtheenvelopecontainingthedeposit.Thetransactionis
automaticallycancelledifthecustomerfailstoinserttheenvelopecontainingthe
depositwithinareasonableperiodoftimeafterbeingaskedtodoso.
TransferUseCase:Atransfertransactionasksthecustomertochooseatypeofaccountto
transferfrom(e.g.checking)fromamenuofpossibleaccounts,tochooseadifferentaccountto
transferto,andtotypeinadollaramountonthekeyboard.Nofurtheractionisrequiredoncethe
transactionisapprovedbythebankbeforeprintingthereceipt.Atransfertransactioncanbe
cancelledbythecustomerpressingtheCancelkeyanytimepriortoenteringadollaramount.
InquiryUseCase:Aninquirytransactionasksthecustomertochooseatypeofaccount
toinquireaboutfromamenuofpossibleaccounts.Nofurtheractionisrequiredoncethe
transactionisapprovedbythebankbeforeprintingthereceipt.Aninquirytransaction
canbecancelledbythecustomerpressingtheCancelkeyanytimepriortochoosingthe accounttoinquireabout.
ValidateUserusecase:Thisusecaseisforvalidatetheuseri.echeckthepin
number,whenthebankreportsthatthecustomer’stransactionisdisapproved
duetoaninvalidPIN.Thecustomerisrequiredtore-enterthePINandthe
originalrequestissenttothebankagain.Ifthebanknowapprovesthe
transaction,ordisapprovesitforsomeotherreason,theoriginalusecaseis
continued;otherwisetheprocessofre-enteringthePINisrepeated.Oncethe
PINissuccessfullyre-entered.
IfthecustomerfailsthreetimestoenterthecorrectPIN,thecardispermanently
retained,ascreenisdisplayedinformingthecustomerofthisandsuggestinghe/she
BTCOL506: SoftwareEngineeringLaboratory
TYBTechCSE(SE-LabManual) Page
contactthebank,andtheentirecustomersessionisaborted.
PrintBillusecase:Thisusecaseisforprintingcorrespondingbillafter
transactions(withdrawordeposit,orbalanceenquiry,transfer)arecompleted.
UpdateAccount:Thisusecaseisforupdatingcorrespondinguseraccountsafter
transactions(withdrawordepositortransfer)arecompleted.
3.INTERACTIONDIAGRAMS:WehavetwotypesofinteractiondiagramsinUML.
Oneissequencediagramandtheotherisacollaborationdiagram.The
sequencediagramcapturesthetimesequenceofmessageflowfromone
objecttoanotherandthecollaborationdiagramdescribestheorganization
ofobjectsinasystemtakingpartinthemessageflow.
Sothefollowingthingsaretoidentifiedclearlybeforedrawingtheinteractiondiagram:
Purpose:1Tocapturedynamicbehaviorof a
system.2)Todescribethemessage flow
interaction.
inthesystem.3)Todescribe structural
2.Message flows among the objects. organization of the
ContentsofaSequenceDiagram:Objects,Focusofcontrol,MessagesLifeline Contents.
ContentsofaCollaborationDiagram,ObjectsLinksMessages
Conclusion:SuccessfullycompleteddesignoffunctionorienteddiagramDFDand
structuredchart:UseCasediagram.
EXPERIMENTNO4:ToDrawthestructuralviewdiagram
TYBTechCSE(SE-LabManual) Page
Aim:Todrawthestructuralviewdiagram:Classdiagram,objectdiagram.
Tools:
TYBTechCSE(SE-LabManual) Page
BTCOL506: SoftwareEngineeringLaboratory
GoogleChrome/AnyBrowsers
STARUML
Window’s/ubuntu
Objective:TolearnbasicConceptofSoftwareEngineering.
Procedure:
BTCOL506: SoftwareEngineeringLaboratory
TYBTechCSE(SE-LabManual) Pag
BTCOL506: SoftwareEngineeringLaboratory
TYBTechCSE(SE-LabManual) Pag
BTCOL506: SoftwareEngineeringLaboratory
ClassdiagramforATMSystemTheory:Theclassdiagram isastaticdiagram.Itrepresentsthestaticviewofan
application.Classdiagramisnotonlyusedforvisualizing,
describinganddocumentingdifferentaspectsofasystem
butalsoforconstructingexecutablecodeofthesoftware
application.Theclassdiagramdescribestheattributesand
operationsofaclassandalsotheconstraintsimposedon thesystem.Theclassdiagramshowsacollectionof
classes,interfaces,associations,collaborationsand constraints.Itisalsoknownasastructuraldiagram.
Purpose:Thepurposeoftheclassdiagramistomodelthestaticviewofan
application.Theclassdiagramsaretheonlydiagramswhichcanbedirectly
mappedwithobjectorientedlanguagesandthuswidelyusedatthetimeof
construction.TheUMLdiagramslikeactivitydiagram,sequencediagramcan
onlygivethesequenceflowoftheapplicationbutclassdiagramisabit
different.SoitisthemostpopularUMLdiagraminthecodercommunity.Sothe
purposeoftheclassdiagramcanbesummarizedas:analysisanddesignofthe
TYBTechCSE(SE-LabManual) Pag
BTCOL506: SoftwareEngineeringLaboratory
staticviewofanapplication Describeresponsibilitiesofasystembaseforcomponentanddeployment
diagramforwardandreverseengineering.
Contents:Classdiagramscommonlycontainthefollowingthings ClassesInterfacesCollaborations
Dependency,generalizationandassociationrelationships
ALGORITHM/FLOWCHART/PSEUDOCODE:
Inferences:
TYBTechCSE(SE-LabManual) Pag
BTCOL506: SoftwareEngineeringLaboratory
1.understandtheconceptofclasses
2.Identifyclassesandattributesandoperationsforaclass
3.modeltheclassdiagramforthe
systemsampleinput:Class:BookBook,
Applications:OnlinetransactionOnline banking
Conclusion:Successfullycompleteddesignofstructuralviewdiagram:Classdiagram,object
Diagram
EXPERIMENTNO5:ToDrawthebehavioralviewDiagramviewdiagram.
Aim:TodrawthebehavioralviewDiagramviewdiagram:Sequencediagram,collaboration
diagram.
Tools:
GoogleChrome/AnyBrowsers
STARUML
Window’s/ubuntu
Objective:TolearnbasicConceptofSoftwareEngineering.
Procedure:
TYBTechCSE(SE-LabManual) Pag
BTCOL506: SoftwareEngineeringLaboratory
TYBTechCSE(SE-LabManual) Pag
BTCOL506: SoftwareEngineeringLaboratory
TYBTechCSE(SE-LabManual) Pag
BTCOL506: SoftwareEngineeringLaboratory
ASequencediagramisaninteractiondiagramthatemphasizesthetimeorderingof
messages.Thisdiagramisusedtoshowthedynamicviewofasystem.
Sequencediagram:
TYBTechCSE(SE-LabManual) Pag
BTCOL506: SoftwareEngineeringLaboratory
Collaborationdiagram:
Conclusion:SuccessfullycompleteddesignofbehavioralviewDiagramviewdiagram
Sequencediagram,collaborationdiagram.
:
EXPERIMENTNO6:ToDrawtheBehavioralviewdiagram
Aim:ToDrawtheBehavioralviewdiagram:State-chartDiagram,Activitydiagram
Tools:
GoogleChrome/AnyBrowsers
STARUML
Window’s/ubuntu
TYBTechCSE(SE-LabManual) Pag
BTCOL506: SoftwareEngineeringLaboratory
Objective:TolearnbasicConceptofSoftwareEngineering.
Procedure:
TYBTechCSE(SE-LabManual) Pag
BTCOL506: SoftwareEngineeringLaboratory
TYBTechCSE(SE-LabManual) Pag
BTCOL506: SoftwareEngineeringLaboratory
State-chartDiagram:
TYBTechCSE(SE-LabManual) Pag
BTCOL506: SoftwareEngineeringLaboratory
Activitydiagram:Activitydiagramisbasicallyaflowcharttorepresenttheflowformone
activitytoanother.Theactivitycanbedescribedasanoperationofthesystem.Sothe
controlflowisdrawnfromoneoperationtoanother.Thisflowcanbesequential,
branchedorconcurrent.Activitydiagramsdealswithalltypeofflowbyusingelements
likefork,joinetc.
Contents:Initial/FinalState,Activity,Fork&Join,Branch,Swimlanes.
Fork:Aforkrepresentsthesplittingofasingleflowofcontrolintotwoormore
concurrentFlowofcontrol.Aforkmayhaveoneincomingtransitionandtwoor
moreoutgoingtransitions,eachofwhichrepresentsanindependentflowof
control.Belowforktheactivitiesassociatedwitheachofthesepathcontinues inparallel.
Join:Ajoinrepresentsthesynchronizationoftwoormoreconcurrentflowsof
control.Ajoinmayhavetwoormoreincomingtransitionandoneoutgoing
transition.Abovethejointheactivitiesassociatedwitheachofthesepaths continuesinparallel.
Branching:AbranchspecifiesalternatepathstakesbasedonsomeBoolean
expressionBranchisrepresentedbydiamondBranchmayhaveoneincoming
transitionandtwoormoreoutgoingoneoneachoutgoingtransition,youplace
aBooleanexpressionshouldn‟toverlapbuttheyshouldcoverallpossibilities.
Swimlane:Swimlanesareusefulwhenwemodelworkflowsofbusiness
processestopartitiontheactivitystatesonanactivitydiagramintogroups.
Eachgrouprepresentingthebusinessorganizationresponsibleforthose
activities,thesegroupsarecalledSwimlanes.
Activitydiagram:
BTCOL506: SoftwareEngineeringLaboratory
BTCOL506:SoftwareEngineeringLaboratory
EXPERIMENTNO7:Todrawtheimplementationviewdiagram.
Aim:Todrawtheimplementationviewdiagram:Componentdiagram
Tools:
GoogleChrome/AnyBrowsers
STARUML
Window’s/ubuntu
Objective:TolearnbasicConceptofSoftwareEngineering.
Procedure:
COEA.TY(CSE).SUB:SEPage36
BTCOL506:SoftwareEngineeringLaboratory
COEA.TY(CSE).SUB:SEPage37
BTCOL506:SoftwareEngineeringLaboratory
Componentdiagrams:areusedtomodelphysicalaspectsofasystem.Nowthe
questioniswhatarethesephysicalaspects?Physicalaspectsaretheelements
likeexecutables,libraries,files,documentsetcwhichresidesinanode.So
componentdiagramsareusedtovisualizethe
organizationandrelationshipsamongcomponentsinasystem.Thesediagrams
arealsousedtomakeexecutablesystems.
Purpose:Componentdiagramscanbedescribedasastaticimplementation
viewofasystem.Staticimplementationrepresentstheorganizationofthe
componentsataparticularmoment.
Beforedrawingacomponentdiagramthefollowingartifactsaretobeidentifiedclearly:
Filesusedinthesystem.Librariesandotherartifactsrelevanttotheapplication.
Relationshipsamongtheartifacts.Nowafteridentifyingtheartifactsthe
followingpointsneedstobefollowed:Useameaningfulnametoidentifythe
componentforwhichthediagramistobedrawn.Prepareamentallayout
beforeproducingusingtools.
Usenotesforclarifyingimportantpoints.
Nowtheusageofcomponentdiagramscanbedescribedas:
1.Modelthecomponentsofasystem.2.Modeldatabaseschema.3.Model
executablesofanapplication.4.Modelsystem’ssourcecode.
ComponentDiagram:Contents:Components,Interfaces,Relationships
COEA.TY(CSE).SUB:SEPage38
BTCOL506:SoftwareEngineeringLaboratory
Conclusion:Successfullycompleteddesignimplementationviewdiagram:Component
Diagram
EXPERIMENTNO8:Todrawtheenvironmentalviewdiagram.
Aim:Todrawtheenvironmentalviewdiagram:deploymentdiagram
Tools:
GoogleChrome/AnyBrowsers
STARUML
Window’s/ubuntu
Objective:TolearnbasicConceptofSoftwareEngineering.
Procedure:
COEA.TY(CSE).SUB:SEPage39
BTCOL506:SoftwareEngineeringLaboratory
COEA.TY(CSE).SUB:SEPage40
BTCOL506:SoftwareEngineeringLaboratory
COEA.TY(CSE).SUB:SEPage41
BTCOL506:SoftwareEngineeringLaboratory
COEA.TY(CSE).SUB:SEPage42
BTCOL506:SoftwareEngineeringLaboratory
Deploymentdiagramsareusedtovisualizethetopologyofthephysical
componentsofasystemwherethesoftwarecomponentsaredeployed.So
deploymentdiagramsareusedtodescribethestaticdeploymentviewofa
system.Deploymentdiagramsconsistofnodesandtheirrelationships.
ThenameDeploymentitselfdescribesthepurposeofthediagram.Deployment
diagramsareusedfordescribingthehardwarecomponentswheresoftware
componentsaredeployed.Componentdiagramsanddeploymentdiagramsare
closelyrelated.Componentdiagramsareusedtodescribethecomponentsand
deploymentdiagramsshowshowtheyaredeployedinhardware.
Deploymentdiagram:Contents:Nodes,Dependency&Associationrelationships
COEA.TY(CSE).SUB:SEPage43
BTCOL506:SoftwareEngineeringLaboratory
Conclusion: Successfullycompleteddesignofenvironmentalviewdiagram
Deploymentdiagram
COEA.TY(CSE).SUB:SEPage44
BTCOL506:SoftwareEngineeringLaboratory
EXPERIMENTNO9:Toperformvarioustestingusingthetestingtoolunittesting,
integrationtesting
Aim:Toperformvarioustestingusingthetestingtoolunittesting,integrationtesting.
Tools:
GoogleChrome/AnyBrowsers
STARUML
Window’s/ubuntu
Objective:TolearnbasicConceptofSoftwareEngineering.
Procedure:
*Note:yetnotaddedstepsforunittestingandintegrationtesting
Conclusion:Successfullycompleteddesignoffunctionorienteddiagram
COEA.TY(CSE).SUB:SEPage45