Chapter_Eight.pdf system analysis and design course chapter 8

mahilet1 1 views 39 slides Oct 13, 2025
Slide 1
Slide 1 of 39
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39

About This Presentation

system analysis and design course chapter 8 titled determining what is build: OO Analysis


Slide Content

Chapter Eight
Determining What to Build: OO Analysis
1 Compiled Yilkal B.

2
SystemUseCaseModeling
SequenceDiagrams:FromUseCasestoClasses
ConceptualModeling:Classdiagrams
Activitydiagramming
UserinterfaceprototypingEvolvingyoursupplementaryspecification
ApplyingAnalysispatternsEffectively
Organizingyourmodelswithpackages
Chapter Outline
2Compiled Yilkal B.

Introduction
Thepurposeofanalysisistounderstandwhatwillbebuilt.
Thisissimilartorequirementsgathering.
Themaindifferenceisthat:
Thefocusofrequirementsgatheringisonunderstandingyourusersandtheirpotential
usageofthesystem,
Whereas,thefocusofanalysisshiftstounderstandingthesystemitself.
Thefollowingpicturedepictsthemainartefactsofyouranalysiseffortsandthe
relationshipsbetweenthem
Compiled Yilkal B. 3

Overview of Analysis artifacts and their Relationships
4Compiled Yilkal B.

Cntd…
Thepicturehasthreeimportantimplications.
1.Analysisisaniterativeprocess.
2.Requirementsgatheringandanalysisarehighlyinterrelatedanditerative.
3.“essential”models,suchasessentialusecasemodelandessentialuserinterfaceprototype,
evolveintocorrespondinganalysisartefactsrespectively,intosystemusecasemodeland
userinterfaceprototype.
Duringanalysis,yourmaingoalistoevolveyouressentialusecasesintosystemuse
cases.
Themaindifferencebetweenanessentialusecaseandasystemusecaseis,inthe
systemusecase,youincludehigh-levelimplementationdecisions
5Compiled Yilkal B.

Cntd…
E.g.,asystemusecasereferstospecificuserinterfacecomponentssuchasscreens,
HTMLpages,orreports-somethingyouwouldn’tdoinanessentialusecase.
Duringanalysis,youmakedecisionsregardingwhatwillbebuiltordesign.
BecauseyourUIwillworkdifferentlydependingontheimplementationtechnology
Likewiseanessentialusecasemodel,asystemusecasemodeliscomposedofause
casediagramandtheaccompanyingdocumentationdescribingtheusecases,actors,and
associations.
Thefollowingfiguresprovidesanexampleofausecasediagram,depictsacollection
ofusecases,actors,theirassociations,asystemboundarybox(optional),andpackages
(optional).
6Compiled Yilkal B.

Cntd…
7Compiled Yilkal B.
Therectanglearoundtheusecasesiscalledthesystemboundaryboxand,asthenamesuggests,
itdelimitsthescopeofyoursystem.
Theusecasesinsidetherectanglerepresentthefunctionalityyouintendtoimplement.
PackagesareUMLconstructsthatenableyoutoorganizemodelelements(suchasusecases)
intogroups.

ReuseinUseCaseModels:<<extend>>,<<include>>,andInheritance
Potentialreusecanbemodelledthroughfourgeneralizationrelationshipssupportedby
theUMLusecasemodels:
extendrelationshipsbetweenusecases,
includerelationshipsbetweenusecases,
inheritancebetweenusecases,
inheritancebetweenactors.
GoodThingstoKnowAboutUseCaseModelling
Animportantthingtounderstandaboutusecasemodelsisthattheassociations
betweenactorsandusecasesindicatetheneedforinterfaces.
Whentheactorisaperson,thentosupporttheassociation,youneedtodevelopuser
interfacecomponents,suchasscreensandreports.
8Compiled Yilkal B.

The Unified Modeling Language (UML)
TheUMLisagraphicallanguageforOOADthatgivesastandardwaytowritea
softwaresystem’sblueprint.
Ithelpstovisualize,specify,construct,anddocumenttheartifactsofanOOsystem.
Itisusedtodepictthestructuresandtherelationshipsinacomplexsystem.
SystemsandModelsinUML
System:Asetofelementsorganizedtoachievecertainobjectivesformasystem.
Systemsareoftendividedintosubsystemsanddescribedbyasetofmodels.
Model:Modelisasimplified,complete,andconsistentabstractionofasystem,created
forbetterunderstandingofthesystem.
View:Aviewisaprojectionofasystem’smodelfromaspecificperspective
9Compiled Yilkal B.

Cntd…
ConceptualModelofUML
TheConceptualModelofUMLencompassesthreemajorelements:
I.Basicbuildingblocks
II.Rules
III.Commonmechanisms
I.BasicBuildingBlocks:ThethreebuildingblocksofUMLare:
1.Things
2.Relationships
3.Diagrams
10Compiled Yilkal B.

Cntd…
1.Things:TherearefourkindsofthingsinUML,namely:
i.StructuralThings:ThesearethenounsoftheUMLmodelsrepresentingthestatic
elementsthatmaybeeitherphysicalorconceptual.Thestructuralthingsareclass,
object…
ii.BehavioralThings:ThesearetheverbsoftheUMLmodelsrepresentingthedynamic
behaviorovertimeandspace.
Thetwotypesofbehavioralthingsareinteractionandmachine.
iii.GroupingThings:TheycomprisetheorganizationalpartsoftheUMLmodels.Thereis
onlyonekindofgroupingthing,i.e.,package.
iv.NotationalThings:ThesearetheexplanationsintheUMLmodelsrepresentingthe
commentsappliedtodescribeelements.
11Compiled Yilkal B.

Cntd…
2.Relationships:Relationshipsaretheconnectionbetweenthings.
ThefourtypesofrelationshipsthatcanberepresentedinUMLare:
I.Dependency:Thisisasemanticrelationshipbetweentwothingssuchthatachangein
onethingbringsachangeintheother.
II.Association:Thisisastructuralrelationshipthatrepresentsagroupoflinkshaving
commonstructureandcommonbehavior.
III.Generalization:Thisrepresentsageneralization/specializationrelationshipinwhich
subclassesinheritstructureandbehaviorfromsuper-classes.
IV.Realization:Thisisasemanticrelationshipbetweentwoormoreclassifierssuchthat
oneclassifierlaysdownacontractthattheotherclassifiersensuretostand.
12Compiled Yilkal B.

Cntd…
3.Diagrams:Adiagramisagraphicalrepresentationofasystem.
Itcomprisesofagroupofelementsgenerallyintheformofagraph.
UMLincludesninediagramsinall,namely:
13Compiled Yilkal B.
1.ClassDiagram
2.ObjectDiagram
3.UseCaseDiagram
4.SequenceDiagram
6.CollaborationDiagram
6.StateChartDiagram
7.ActivityDiagram
8.ComponentDiagram
9.DeploymentDiagram

Cntd…
II.Rules:UMLhasanumberofrulessothatthemodelsaresemanticallyself-consistent
andrelatedtoothermodelsinthesystemharmoniously.
UMLhassemanticrulesforthefollowing:
Names
Scope
Visibility
III.CommonMechanisms:UMLhasfourcommonmechanisms:
Specifications
Adornments
CommonDivisions
ExtensibilityMechanism
14Compiled Yilkal B.

Cntd…
I.Specifications:InUML,behindeachgraphicalnotation,thereisatextualstatement
denotingthesyntaxandsemantics.
II.Adornments:EachelementinUMLhasauniquegraphicalnotation.Besides,thereare
notationstorepresenttheimportantaspectsofanelementlikename,scope,visibility,etc.
III.CommonDivisions:Object-orientedsystemscanbedividedinmanyways.
Thetwocommonwaysofdivisionare:
1.Divisionofclassesandobjects:Aclassisanabstractionofagroupofsimilar
objects.Anobjectistheconcreteinstancethathasactualexistenceinthesystem.
2.DivisionofInterfaceandImplementation:Aninterfacedefinestherulesfor
interaction.
Implementationistheconcreterealizationoftherulesdefinedintheinterface.
15Compiled Yilkal B.

Cntd…
IV.ExtensibilityMechanisms
UMLisanopen-endedlanguage.
ItispossibletoextendthecapabilitiesofUMLinacontrolledmannertosuitthe
requirementsofasystem.
Theextensibilitymechanismsare:
Stereotypes:ItextendsthevocabularyoftheUML,throughwhichnewbuilding
blockscanbecreatedoutofexistingones.
TaggedValues:ItextendsthepropertiesofUMLbuildingblocks.
Constraints:ItextendsthesemanticsofUMLbuildingblocks.
16Compiled Yilkal B.

UML Basic Notations
UMLdefinesspecificnotationsforeachofthebuildingblocks.
Class:Aclassisrepresentedbyarectanglehavingthreesections:
thetopsectioncontainingthenameoftheclass
themiddlesectioncontainingclassattributes
thebottomsectionrepresentingoperationsoftheclass
Thevisibilityoftheattributesandoperationscanberepresentedinthefollowingways:
Public:Apublicmemberisvisiblefromanywhereinthesystem.Inclassdiagram,itis
prefixedbythesymbol‘+’.
Private:Aprivatememberisvisibleonlyfromwithintheclass.Itcannotbeaccessed
fromoutsidetheclass.Aprivatememberisprefixedbythesymbol‘−’.
Protected:Aprotectedmemberisvisiblefromwithintheclassandfromthesubclasses
inheritedfromthisclass,butnotfromoutside.Itisprefixedbythesymbol‘#’.
17Compiled Yilkal B.

Cntd…
Anabstractclasshastheclassnamewritteninitalics.
Example:LetusconsidertheCircleclassintroducedearlier.TheattributesofCircle
arex-coord,y-coord,andradius.TheoperationsarefindArea(),findCircumference(),
andscale().Letusassumethatx-coordandy-coordareprivatedatamembers,radiusis
aprotecteddatamember,andthememberfunctionsarepublic.Thefollowingfigure
givesthediagrammaticrepresentationoftheclass
18Compiled Yilkal B.

Cntd…
Object:Anobjectisrepresentedasarectanglewithtwosections:
Thetopsectioncontainsthenameoftheobjectwiththenameoftheclassorpackage
ofwhichitisaninstanceof.Thenametakesthefollowingforms:
object-name:class-name
object-name:class-name::package-name
class-name:incaseofanonymousobjects
Thebottomsectionrepresentsthevaluesoftheattributes.Ittakestheformattribute-
name=value.Sometimesobjectsarerepresentedusingroundedrectangles.
19Compiled Yilkal B.

Cntd…
Package
Apackageisanorganizedgroupofelements.
Apackagemaycontainstructuralthingslikeclasses,components,andotherpackages
init.
Notation:Graphically,apackageisrepresentedbyatabbedfolder.
Apackageisgenerallydrawnwithonlyitsname.
Howeveritmayhaveadditionaldetailsaboutthecontentsofthepackage.
20Compiled Yilkal B.

Cntd…
Relationship:thenotionforthedifferenttypesofrelationshipsareasfollows
Usually,elementsinarelationshipplayspecificrolesintherelationship.Arolename
signifiesthebehaviorofanelementparticipatinginacertaincontext.
21Compiled Yilkal B.

Cntd…
Example:Thefollowingfiguresshowexamplesofdifferentrelationshipsbetween
classes.Thefirstfigureshowsanassociationbetweentwoclasses,Departmentand
Employee,whereinadepartmentmayhaveanumberofemployeesworkinginit.
Workeristherolename.The‘1’alongsideDepartmentand‘*’alongsideEmployee
depictthatthecardinalityratioisone–to–many.Thesecondfigurerepresentsthe
aggregationrelationship,aUniversityisthe“whole–of”manyDepartments
22Compiled Yilkal B.

UMLstructureddiagrams
UMLstructuraldiagramsarecategorizedasfollows:classdiagram,objectdiagram,
componentdiagram,anddeploymentdiagram.
I.ClassDiagram
Aclassdiagrammodelsthestaticviewofasystem.
Itincludesoftheclasses,interfaces,andcollaborationsofasystem;andthe
relationshipsbetweenthem.
E.g.,banksystem.
Abankhasmanybranches.Ineachzone,onebranchisdesignatedasthezonalhead
officethatsupervisestheotherbranchesinthatzone.Eachbranchcanhavemultiple
accountsandloans.Anaccountmaybeeitherasavingsaccountoracurrentaccount.A
customermayopenbothasavingsaccountandacurrentaccount.Etc.
23Compiled Yilkal B.

Cntd…
24Compiled Yilkal B.

Cntd…
2.ObjectDiagram:Anobjectdiagrammodelsagroupofobjectsandtheirlinksatapointoftime.
Itshowstheinstancesofthethingsinaclassdiagram.
Objectdiagramisthestaticpartofaninteractiondiagram.
Example:Thefollowingfigureshowsanobjectdiagramofaportionoftheclass
diagramoftheBankingSystem
25Compiled Yilkal B.

Cntd…
3.ComponentDiagram:itshowtheorganizationanddependenciesamongagroupof
components.
Componentdiagramscompriseof:
Components
Interfaces
Relationships
PackagesandSubsystems(optional)Componentdiagramsareusedfor:
Constructingsystemsthroughforwardandreverseengineering.
Modelingconfigurationmanagementofsourcecodefileswhiledevelopinga
systemusinganobject-orientedprogramminglanguage.
Representingschemasinmodelingdatabases.
Modelingbehaviorsofdynamicsystems.
26Compiled Yilkal B.

Cntd…
4.DeploymentDiagram:itputsemphasisontheconfigurationofruntimeprocessing
nodesandtheircomponentsthatliveonthem.
Theyarecommonlycomprisedofnodesanddependencies,orassociationsbetweenthe
nodes.
Deploymentdiagramsareusedto:
Modeldevicesinembeddedsystemsthattypicallycompriseofsoftware-intensive
collectionofhardware.
Representthetopologiesofclient/serversystems.
Modelfullydistributedsystems.
27Compiled Yilkal B.

UMLBehavioralDiagrams
UMLbehavioraldiagramsvisualize,specify,construct,anddocumentthedynamic
aspectsofasystem.
Thebehavioraldiagramsarecategorizedasfollows:usecasediagrams,interaction
diagrams,state–chartdiagrams,andactivitydiagrams.
UseCaseModel
UseCase:Ausecasedescribesthesequenceofactionsasystemperformsyielding
visibleresults.
Itshowstheinteractionofthingsoutsidethesystemwiththesystemitself.Usecases
maybeappliedtothewholesystemaswellasapartofthesystem.
Actor:Anactorrepresentstherolesthattheusersoftheusecasesplay.Anactormay
beaperson(e.g.student,customer),adevice(e.g.workstation),oranother.
28Compiled Yilkal B.

Cntd…
ThefollowingfigureshowsthenotationsofanactornamedStudentandausecase
calledGeneratePerformanceReport
29Compiled Yilkal B.

Cntd…
5.UseCaseDiagrams
Usecasediagramspresentanoutsideviewofthemannertheelementsinasystem
behaveandhowtheycanbeusedinthecontext.
Usecasediagramscompriseof:
Usecases
Actors
Relationshipslikedependency,generalization,andassociationUsecasediagrams
areused:
Modelthecontextofasystembyenclosingalltheactivitiesofasystemwithina
rectangleandfocusingontheactorsoutsidethesystembyinteractingwithit.
Tomodeltherequirementsofasystemfromtheoutsidepointofview
30Compiled Yilkal B.

Cntd…
E.g.,LetusconsideranAutomatedTradingHouseSystem.Weassumethefollowing
featuresofthesystem:
Thetradinghousehastransactionswithtwotypesofcustomers,individual
customersandcorporatecustomers.
Oncethecustomerplacesanorder,itisprocessedbythesalesdepartmentandthe
customerisgiventhebill.
Thesystemallowsthemanagertomanagecustomeraccountsandanswerany
queriespostedbythecustomer.
31Compiled Yilkal B.

Cntd…
InteractionDiagrams:itdepictinteractionsofobjectsandtheirrelationships.
Theyalsoincludethemessagespassedbetweenthem.Therearetwotypesofinteraction
diagrams:
SequenceDiagramsandCollaborationDiagrams
Interactiondiagramsareusedformodeling:
thecontrolflowbytimeorderingusingsequencediagrams.
thecontrolflowoforganizationusingcollaborationdiagrams.
6.SequenceDiagrams:areinteractiondiagramsthatillustratetheorderingofmessages
accordingtotime.
Notations:Thesediagramsareintheformoftwo-dimensionalcharts.Theobjectsthat
initiatetheinteractionareplacedonthex–axis.
Themessagesthattheseobjectssendandreceiveareplacedalongthey-axis,inthe
orderofincreasingtimefromtoptobottom
32Compiled Yilkal B.

Cntd…
E.g.,AsequencediagramfortheAutomatedTradingHouseSystemisshowninthe
followingfigure.
33Compiled Yilkal B.

Cntd…
7.CollaborationDiagramsareinteractiondiagramsthatillustratethestructureofthe
objectsthatsendandreceivemessages.
Notations:Inthesediagrams,theobjectsthatparticipateintheinteractionareshown
usingvertices.
Thelinksthatconnecttheobjectsareusedtosendandreceivemessages.Themessageis
shownasalabeledarrow.
Example:CollaborationdiagramfortheAutomatedTradingHouseSystemis
illustratedinthefigurebelow
34Compiled Yilkal B.

Cntd…
8.State–ChartDiagrams
Astate–chartdiagramshowsastatemachinethatdepictsthecontrolflowofanobject
fromonestatetoanother.
Astatemachinedepictsthesequencesofstateswhichanobjectundergoesdueto
eventsandtheirresponsestoevents.
State–ChartDiagramsincludeof:
States:SimpleorComposite
Transitionsbetweenstates
Eventscausingtransitions
Actionsduetotheevents
State-chartdiagramsareusedformodelingobjectswhicharereactiveinnature
35Compiled Yilkal B.

Cntd…
Example,IntheAutomatedTradingHouseSystem,letusmodelOrderasanobject
andtraceitssequence.Thefollowingfigureshowsthecorrespondingstate–chart
diagram.
36Compiled Yilkal B.

Cntd…
9.ActivityDiagrams:Anactivitydiagramdepictstheflowofactivitieswhichare
ongoingnon-atomicoperationsinastatemachine.
Activitiesresultinactionswhichareatomicoperations.
Activitydiagramsincludeof:
Activitystatesandactionstates
Transitions
Objects
Activitydiagramsareusedformodeling:
Workflowsasviewedbyactors,interactingwiththesystem.
detailsofoperationsorcomputationsusingflowcharts.
37Compiled Yilkal B.

Cntd…
Example,ThefollowingfigureshowsanactivitydiagramofaportionoftheAutomated
TradingHouseSystem.
38Compiled Yilkal B.

End of chapter Eight
Any Question?
39Compiled Yilkal B.
Tags