Introduction to on Object Oriented Technologies and the UML Method

jaden65832 26 views 82 slides Aug 29, 2024
Slide 1
Slide 1 of 82
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
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52
Slide 53
53
Slide 54
54
Slide 55
55
Slide 56
56
Slide 57
57
Slide 58
58
Slide 59
59
Slide 60
60
Slide 61
61
Slide 62
62
Slide 63
63
Slide 64
64
Slide 65
65
Slide 66
66
Slide 67
67
Slide 68
68
Slide 69
69
Slide 70
70
Slide 71
71
Slide 72
72
Slide 73
73
Slide 74
74
Slide 75
75
Slide 76
76
Slide 77
77
Slide 78
78
Slide 79
79
Slide 80
80
Slide 81
81
Slide 82
82

About This Presentation

Introduction to on Object Oriented
Technologies and the UML Method


Slide Content

Introduction to on Object Oriented
Technologies and the UML Method
•OOPisthemostpopularprogrammingparadigmforbuildingsoftwaresystemsinthe
ITindustry.OOPconceptbymakingacomparisonwiththeconventional
programminglanguages(e.g.C,PASCAL,COBOL,FORTRANetc.)whichusethe
Procedure-OrientedProgramming(POP)approach.
•InPOPapproach,aprogramisdividedintoanumberofcomponentscalledfunctions,
whileinOOPapproach(e.g.C++,Java,Python,Rubyetc.);theprogramisdivided
intocomponentscalledobjects.Anotherpointisthatobject-orientedprogramming
followsthe“bottom-up”approach,whileproceduralprogrammingfollowsthe“top-
down”approach.
•Becauseobjectsaremoreversatile,OOPcanbeusedtodevelopcomplexprograms
withlesscode.Theuseofobjectsalsofacilitatescodereuse.InPOP,thefocusis
placedonthefunctionsandsequenceofactionstobeperformedandnotondata.In
OOP,however,thefocusisplacedonthedataandnotthefunctions.Thatiswhy
object-orientedprogrammingapproachcanprovideamorerealisticviewofa
softwaresystem.

Essential features of OOP
♦Encapsulation:Thisisanimportantconceptthatbindstogetherthe
dataandfunctionsthatmanipulatethedata,andthatkeepsbothsafe
fromoutsideinterferenceandmisuse.EncapsulationledtotheOOP
conceptofdatahiding.
♦Inheritance:Itistheprocedurebywhichoneobjectacquiresthe
propertiesofanotherobject.Thisincreasescodere-usability.
♦Polymorphism:Thisconceptenablesoneentitytobeusedasgeneral
categoryfordifferenttypesofactions.Thespecificactionisdetermined
bytheexactnatureofthesituation.Theconceptofpolymorphismcan
beexplainedas“oneinterface,multiplemethods”.

Basics of UML
•TheUMLstandsforUnifiedmodelinglanguage,isastandardized
general-purposevisualmodelinglanguageinthefieldofSoftware
Engineering.Itisusedforspecifying,visualizing,constructing,and
documentingtheprimaryartifactsofthesoftwaresystem.Ithelpsin
designingandcharacterizing,especiallythosesoftwaresystemsthat
incorporatetheconceptofObjectorientation.Itdescribestheworking
ofboththesoftwareandhardwaresystems
•UnifiedModelingLanguage(UML)isastandardnotationfor
modelingreal-worldobjectsasafirststepindesigninganobject-
orientedsystem.

•TheUMLoffersastandardwaytowriteasystem’sblueprints,
includingconceptualthingssuchasbusinessprocessesandsystem
functionsaswellasconcretethingssuchasprogramminglanguage
statements,databaseschemas,andreusablesoftwarecomponents.”
•TheimportantpointtonotehereisthatUMLisa‘language’for
specifyingandnotamethodorprocedure.TheUMLisusedtodefine
asoftwaresystem;todetailtheartifactsinthesystem,todocument
andconstruct–itisthelanguagethattheblueprintiswrittenin.The
UMLmaybeusedinavarietyofwaystosupportaSoftware
DevelopmentMethodology(suchastheRationalUnifiedProcess)–
butinitselfitdoesnotspecifythatmethodologyorprocess.

•TheUMLrepresentsacollectionofbestengineeringpracticesthat
haveprovensuccessfulinthemodelingoflargeandcomplexsystems.
•TheUMLisaveryimportantpartofdevelopingobjectsoriented
softwareandthesoftwaredevelopmentprocess.
•TheUMLusesmostlygraphicalnotationstoexpressthedesignof
softwareprojects.
•UsingtheUMLhelpsprojectteamscommunicate,explorepotential
designs,andvalidatethearchitecturaldesignofthesoftware.

Goals of UML
•TheprimarygoalsinthedesignoftheUMLare:
•Provideuserswithaready-to-use,expressivevisualmodeling
languagesotheycandevelopandexchangemeaningfulmodels.
•Provideextensibilityandspecializationmechanismstoextendthecore
concepts.
•Beindependentofparticularprogramminglanguagesand
developmentprocesses.
•Provideaformalbasisforunderstandingthemodelinglanguage.
•Encouragethegrowthofobjectorientedtoolsinthemarket.
•Supporthigher-leveldevelopmentconceptssuchascollaborations,
frameworks,patternsandcomponents.
•IntegratebestpracticesinSoftwareDevelopmentLifeCycle(SDLC).

Software Development Process
•Softwaredevelopmentprocessisamethodicalwaytocreateand
managesoftwarethatinvolvesseveralsteps:
•Understandwhatthesoftwareshoulddoandplanhowtobuildit
•Designhowthesoftwarewillworkandlook,followedbywritingthe
actualcode
•Conductrigoroustestingtoensureitfunctionsproperly
•Deploythesoftwaretomakeitavailableforusers
•Oncedone,performongoingmaintenancetokeepitrunningsmoothly.

The 7 Steps of Software Development
Process

1.Analysis:UnderstandingtheRequirements
2.Planning:SettingtheFoundation
3.Design:CraftingtheDetails
4.Development:WritingtheCode
5.Testing:EnsuringItWorks
6.Deployment:ReleasingtotheWorld
7.Maintenance:KeepingItRunning

The Waterfall Model vs. The Spiral Model
WaterfallandSpiral modelsare two of the most famous
and widely utilized project management models in
software development. These are the process models
that are utilized to create software in a well-defined,
systematic, and cost-effective manner.

Waterfall Model
•Thewaterfallmodelisasoftwaredevelopmentprocessmodel.
•itisastructuredandsequentialprojectmanagementapproachthatcanbeuseful
fordevelopmentprojectswithwell-definedrequirementsandclientswhoare
unlikelytochangetheprojectscope.thatfollowsalinearsequentialflow.Itisa
traditionalparadigmforthesoftwarelifecycle.Asthenameimplies,theflowof
themodelissequential,whichiscomparabletoawaterfallinatop-down
approach,whichiswhyitisalsoknownasthelinearsequentialmodel.
•Although,ifanyphaseofthemodelhasbeencompleted,wecannotchangeit,
whichimpliesthatwhateverisdoneintheearlierphasecouldbealtered.The
processflowcannotpassfrombottomtotop,anditalwaysflowsfromtopto
bottom,whichmakesitcriticaltobefullypreplannedtominimizethechancesof
productfailure.Ithasseveralstages:requirementanalysis,design,coding,
testing,integration,implementation/deployment,andmaintenance.

Phases of waterfall model

1.FeasibilityStudy
•ItisthefirstphaseofSDLC.Inthisphase,thecostandbenefitsare
assessedoftheproposedapplication.Thefeasibilityanalysismust
generateadocumentthatincludesthefollowinginformation:issue
description,technicalandeconomicviability,alternatesolutions,
requiredresources,cost,anddeliverydates.
2.Requirementsgatheringandanalysis
•Itincludesgatheringneedsfromstakeholdersandanalyzingthemto
understandtheproject'sscopeandgoals.Itdecidestheproject's
qualityintermsofeaseofuse,performance,functionality,portability,
etc.TheSoftwareRequirementSpecification(SRS)document
includesathoroughstatementoftheissue,alikelysubstituteanswerto
theproblem,afunctionalrequirementofthesoftwaresystem,and
limitationsonthesoftwaresystem.

3.Design
•Itisamulti-stepprocessthatfocusesonfouraspectsofaprogram,
includinginterfacerepresentations,softwarearchitecture,data
structure,andalgorithmicdetails.Thedesignphasetransformsthe
prerequisitespecificationintoasoftwarerepresentationthatmaybe
evaluatedpriortothecodingphase.
4.Implementation
•Itcontainscodingthesoftwareinaccordancewiththedesign
necessitates.Inthisphase,unittestingisalsoutilizedtocheckthat
everycomponentofthesoftwareisfunctioningproperly.

5.IntegrationandSystemTesting
•Itcombinesthesoftwaremodulesinasystematicandplannedway.
Theintegrationofthecomponentscannotbecompletedinasingle
stepbutratherrequiresseveraliterations.Furthermore,systemtesting
isperformedtoensurethatthesoftwaresystemfunctionsasstatedin
theSRSdocument.Therearethreephasesofsystemtesting:alpha,
beta,andacceptance.
6.DeploymentandMaintenance
•Oncethesoftwarehasbeentestedandauthorized,itisdeployedtothe
productionenvironment.Afterthesoftwareisdelivered,itisanalyzed
foraperiodoftimetofindandresolvetheerrorsthatdonotappearin
thestartingphasesofsoftware,whichisknownasmaintenance

Advantages and Disadvantages of the Waterfall Model
•TherearevariousadvantagesanddisadvantagesoftheWaterfall
Model.SomeadvantagesanddisadvantagesoftheWaterfallModelare
asfollows:
•Advantages
•TheWaterfallmodelissimpletounderstandanduse,anditisabetter
choiceforsoftwaredevelopmentprojects.
•Itfunctionswellforsmallertasksandprojectswithwell-defined
requirements.
•Itisadependableandpredictabletechniquefordevelopingsoftware.
•Itoffersaclearpictureoftheendproduct'sappearanceand
functionality.
•Itisasequential,linearstrategythatmakesitsimplertoestimatethe
timeandresourcesneededforeveryprojectphase.

•Disadvantages
•Itdoesnotenableend-userfeedback.
•Anewphasestartsonlyafterthepriorphasehasbeenfinished.However,it
cannotbekeptinreal-worldprojects.Phasesmayoverlaptoenhance
efficiencyanddecreasecosts.
•Itisunsuitableforcomplicatedprojectsbecauseitslinearandsequential
naturecomplicateshandlingnumerousdependenciesandinterrelated
components.
•Testingisusuallydonetowardtheendofthedevelopmentprocessinthe
WaterfallModel.Itmeansthatdefectscannotbefounduntillateinthe
developmentprocess,whichmaybecostlyandtime-consumingtoresolve.
•Itisastructuredandsequentialapproach,stakeholdersareusuallyengaged
intheinitialprojectphases(suchasrequirementsgatheringandanalysis)
butcannotbepresentinthelaterphases(suchasimplementation,testing,
anddeployment).

Spiral Model
•ThespiralmodelisanevolutionarymethodofSDLC,anditisa
combinationofthewaterfallmodelandtheprototypemodel.Itprovides
supportforRiskHandling.ItwasfirstreleasedbyBarryBoehmin1986.It
canapplytheiterativenessoftheprototypemodelandcontrolled
methodicalofthelinearsequentialmodeltodevelopincrementalversions
ofthesoftware.Softwarereleasesthataremadeincrementallyaretheresult
ofthespiralmodel.
•Itisarealisticmethodtodeveloplargeprojectsthathavecontinuous
enhancements,anditisquiteanexpensivemodelthanothers.Thespiral
model'smainconceptisthatyoumustplantheaimsandobjectivesofthe
projectandthencreatethesoftwarefollowingaspiral-likedirection.The
bestpartaboutthismodelisthatyoumaybeginaprojectusingitandthen
continueworkingonthesamemodellateronduringtheproject.

Phases of Spiral Model

TherearemainlyfourtypesofphasesintheSpiralModel.Thesephasesareasfollows:
•1.Planning
•Itinvolvesdeterminingtheiteration'scost,schedule,andresources.Italsoentailscomprehending
thesystem'sneedstomaintaincontinuousinteractionbetweenthesystemanalystandtheclient.
•2.RiskAnalysis
•Inthisphase,allpotentialsolutionsareassessedtopickthebestsolution.Afterthat,therisks
associatedwiththatsolutionareidentified,andtherisksarefixedutilizingthebeststrategy
available.Attheendofthisphase,theprototypeiscreatedfortheidealpossiblesolution.
•3.Engineering
•Itistheimportantphaseofthespiralmodelthatcontainscoding,testing,anddeployingsoftware
ontheclientside.
•4.Evaluation
•Riskanalysiscontainsestimating,identifying,andmonitoringtechnicalfeasibility,suchas
timetableslippageandcostoverrun.Attheconclusionofthefirstiteration,aftertestingthebuild,
theuserevaluatesthesoftwareandgivesfeedback.Thedevelopmentprocessmovesontothenext
iterationaccordingtothecustomer'srequirementandthenutilizesalinearmethodtoimplement
theuserfeedback.Thespiraliterationmethodcontinuesforthedurationofthesoftware'slife.

Advantages and Disadvantages of Spiral Model
•TherearevariousadvantagesanddisadvantagesoftheSpiralModel.Some
advantagesanddisadvantagesoftheSpiralModelareasfollows:
•Advantages
•Itincludesriskanalysisandmanagementateverystage,increasingsecurity
andthelikelihoodofavoidingassaultsandbreakages.Theiterative
developmentmethodalsomakeseasyriskmanagement.
•Itissuggestedforlargeandcomplicatedprojects.
•TheSpiralModeloffersanincrementalanditerativeapproachtosoftware
development.Itallowsflexibilityandadaptabilityinresponsetoshifting
requirementsorunexpectedevents.
•Itoffersregularevaluationsandreviews,whichmayenhancethe
communicationbetweentheuserandthedevelopmentteam.
•Itenablesnumerousiterationsofthesoftwaredevelopmentprocess,which
mayleadtoincreasedsoftwarequalityandreliability.

Disadvantages
•Itiscostlymodelthanothers,soitisunsuitableforsmallprojects.
•Itcanbecomplexbecauseitcontainsnumerousiterationsofthe
softwaredevelopmentprocess.
•Itmayberesource-intensivebecauseitnecessitatesextensive
preparation,riskanalysis,andevaluations.
•Itmaybetime-consumingbecauseitnecessitatesnumerous
assessmentsandreviews.
•ItissignificantlymorecomplexthanotherSDLCmodels.

Key Differences between Waterfall and Spiral
Model

•SomeofthemaindifferencesbetweentheWaterfallandSpiralModelsareas
follows:
•Thewaterfallmodelislinearinnature,followingastep-by-stepprocess.In
contrast,thespiralmodelisiterativeandevolutionary,repeatingthesamefour
phaseswithdifferentdegreesofcomplexitywitheveryiteration.
•Thewaterfallmodelissuitableforsmallprojectswithclearobjectives.Incontrast,
thespiralmodelissuitableforlarger,morecomplicatedprojects.
•Thewaterfallmodeldoesn'tinvolveanyclientparticipation.Incontrast,thespiral
modelseeksclientfeedbackthroughouttheprocessandprovidesaidtoensurethat
thesoftwarefulfillstheclient'srequirements.
•Thewaterfallmodelrequiresdeveloperstocollectanddetermineproject
requirementsonlyonceatthestartoftheprocessandthenmaketheirprojecttasks
onthesedecisions.Incontrast,thespiralmodelrequiresdeveloperstocollect
requirementsattheoutsetofeachiteration.
•Asthewaterfallmodelnecessitatescompletingonephasebeforebeginningthe
next,thereisnowaytoreturnandreviseworkinaphaseonceit'scomplete.On
theotherhand,thespiralmodelprovidesforarevalidationprocesswheneverthe
developerswanttoaddressanissuefromanearlieriteration.
•Thewaterfallmodelmakesthesinglefinalproductattheprocessend.Onthe
otherhand,thespiralmodelcreatesaroughfunctionalproductaftereveryphase.

Head-to-head comparison between Waterfall and Spiral Models

Conclusion
•Waterfallandspiralmodelsarethetwomainsoftwareprocessmodels
inSDLC.Thespiralmodeldiffersfromthewaterfallmodelinthatit
includesadefiniteidentificationoftherisk,whichminimizesthe
chancesofprojectfailure.Incontrast,thewaterfallisriskybecauseit
hasnoiterations,andeverythingmustbeperformedatoncefora
softwareproduct,whichmeansrequirementsmustbecollected,
planned,designed,coded,andintegratedallatonce.Thewaterfall
modelismainlyutilizedforsmallerprojectswithclearrequirements.
Incontrast,thespiralmodelismainlyutilizedforlargeand
complicatedprojects.

Software crisis

Description of the real world using the
Objects Model
•ObjectModelingTechnique(OMT)isareal-world-
basedmodelingapproachforsoftwaremodeling
anddesigning.
•Itwasdevelopedbasicallyasamethodtodevelop
object-orientedsystemsandtosupportobject-oriented
programming.Itdescribesthestaticstructureofthe
system

•Theobjectmodelidentifiestheclassesinthesystemandtheir
relationship,aswellastheirattributesandoperations.•Itrepresents
thestaticstructureofthesystem.•Theobjectmodelisrepresented
graphicallybyaclassdiagram.
•Objectsarekeytounderstandingobject-orientedtechnology.Look
aroundrightnowandyou'llfindmanyexamplesofreal-world
objects:yourdog,yourdesk,yourtelevisionset,yourbicycle.Real-
worldobjectssharetwocharacteristics:Theyallhavestateand
behavior.

•We use a rectangle to represent an object in an object
diagram.
1.Attributes and Values. Inside the object box, attributes of the
object are listed along with their specific values.
2.Attributes and Values. Inside the object box, attributes of the
object are listed along with their specific values.

Quality software characteristics
•Softwareis defined as a collection of computer programs, procedures,
rules, and data. Software Characteristics are classified into six major
components.Software engineeringis the process of designing,
developing, testing, and maintaining software.

Correctness
•Howwellthesoftwareoperateswithouterrorsandpleasestheuser

How well users interact with the software, which is important
for facilitating rich interactions between users and technology
Reliability
•How many failures the software has, which depends on the
number and type of mistakes made by software engineers

How easy it is to maintain and upgrade the software on a
regular basis

Softwareportabilityisadesignobjectiveforsource
codetobeeasilymadetorunondifferentplatforms.An
aidtoportabilityisthegeneralizedabstractionbetween
theapplicationlogicandsysteminterfaces.When
softwarewiththesamefunctionalityisproducedfor
severalcomputingplatforms,portabilityisthekeyissue
fordevelopmentcostreduction.
Softwareportabilitymayinvolve:
•Transferringinstalledprogramfilestoanothercomputer
ofbasicallythesamearchitecture.
•Reinstallingaprogramfromdistributionfilesonanother
computerofbasicallythesamearchitecture.
•Buildingexecutableprogramsfordifferentplatforms
fromsourcecode;thisiswhatisusuallyunderstoodby
"porting".

Description of the Object Oriented Analysis
process vs. the Structure Analysis Model

What is Structured Analysis
•StructuredAnalysisisadevelopmentmethodthatallowstheanalystto
understandthesystemanditsactivitiesinalogicalway.
•Itisasystematicapproach,whichusesgraphicaltoolsthatanalyzeand
refinetheobjectivesofanexistingsystemanddevelopanewsystem
specificationwhichcanbeeasilyunderstandablebyuser.
•Ithasfollowingattributes−
•Itisgraphicwhichspecifiesthepresentationofapplication.
•Itdividestheprocessessothatitgivesaclearpictureofsystemflow.
•Itislogicalratherthanphysicali.e.,theelementsofsystemdonotdepend
onvendororhardware.
•Itisanapproachthatworksfromhigh-leveloverviewstolower-level
details.

Structured Analysis Tools
During Structured Analysis, various tools and techniques are used for
system development. They are −
•Data Flow Diagrams
•Data Dictionary
•Decision Trees
•Decision Tables
•Structured English
•Pseudocode
Tags