Software development life cycle model in OOSE

NipunMeena 313 views 36 slides Apr 02, 2024
Slide 1
Slide 1 of 36
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

About This Presentation

Software development life cycle model in OOSE


Slide Content

Software Development
Life Cycle Models

Object Oriented Software Engineering by Yogesh Singh & Ruchika Malhotra
Software Development Life Cycle
Models
Whenwedecidetodevelopasoftware,manyinitialquestionsfocusingon
theneedofthesoftwarecomeintoourmind,suchas
o“Woulditbebettertoelectronicallygeneratemarksheets?,”or
o“Isthereanymarketforthewordprocessingsystem?,”or
oIsiteconomicallyviableifweelectronicallygeneratepayrollofan
employee?”

Object Oriented Software Engineering by Yogesh Singh & Ruchika Malhotra
Software Development Life Cycle
Models
Oncetheneedsaredetermined,the
softwaregoesthroughaseriesof
phasesofdevelopment.
Thesephasesincludeanalysis,design,
implementation,testing,maintenance,
andretirement.
Thesoftwareremainsusefulbetween
analysisandmaintenancephasesand
endswiththeretirementphase.
Theperiodfromwhichasoftwarestarts
tilltheretirementisknownaslifecycleof
asoftware.

Object Oriented Software Engineering by Yogesh Singh & Ruchika Malhotra
Conventional Software Life Cycle
Models
Conventional software
development life cycle
Data flow diagrams
Entity Relationship
diagrams
Data dictionary
Structured chart
Pseudocode
Coding of
modules/functions

Object Oriented Software Engineering by Yogesh Singh & Ruchika Malhotra
Productisconstructedwithout
specificationsoranyattemptat
design
Adhocapproachandnotwell
defined
Simple two phase model Fix
Build
Code
Build and Fix Model

Object Oriented Software Engineering by Yogesh Singh & Ruchika Malhotra
Suitable for small programming exercises of 100 or 200 lines
Unsatisfactory for software for any reasonable size
Code soon becomes unfixable & unenhanceable
No room for structured design
Maintenance is practically not possible
Build and Fix Model

Waterfall Model
Requirement
analysis
Design
Implementation
and unit testing
Integration and
testing
Deployment and
maintenance
Preliminary design
Detailed design
Software Requirement
Specification Document, Software
project management plan
Design Document,
test plan
Test plan, test
cases, test
results
Operating
manuals
Source code listing

Object Oriented Software Engineering by Yogesh Singh & Ruchika Malhotra
Waterfall Model
Thephasesarecompletedinsequentialorderanddonotoverlapwith
eachother.
Eachphasedefinesitsownsetoffunctionsthataredistinctfromthoseof
theotherphases.
Eachphaseshouldbecompletedbeforethecommencementofthenext
phase.

Object Oriented Software Engineering by Yogesh Singh & Ruchika Malhotra
Waterfall Model
Theadvantagesofwaterfallmodelinclude
itssimplicity,easeofunderstandability,and
distinctphaseswiththeirownsetof
functions.
Itishighlysuitablefortheprojectswhere
requirementsarecompletelyknowninthe
beginningoftheproject.

Object Oriented Software Engineering by Yogesh Singh & Ruchika Malhotra
Waterfall Model
Disadvantages
Largenumberofdocumentsareproduced.
Thecustomermaynotunderstandthe
formalterminologyandnotationsusedin
thesedocuments.Thesoftwareisbuilton
thebasisofwrittendocumentthatthe
customermayhavepartiallyunderstood.
Itfreezestherequirementattheendof
requirementanalysisphase.The
requirementsmaynotbewellunderstoodby
thecustomerandthedeveloperatthe
beginning.Thus,itisunrealisticto
determinealltherequirementsatthestartof
theprojectitself.
.

Object Oriented Software Engineering by Yogesh Singh & Ruchika Malhotra
Waterfall Model
Customerdoesnotgettheopportunitytoseetheworkingproductuntillate
aftertheimplementationandtestingiscompleted.Thecustomermayfind
thesoftwaredifferentthanwhattheyactuallywanted
Itmaytakeyearstocompletetheprojectandatthatpointtechnologymay
becomeoldandobsoleteorcustomer’sexpectationsmaychange.
Testingthesystemasawholebecomesdifficult.
Real-lifeprojectsarerarelysequential.
Thisapproachisparticularlynotusefulinthecaseofinteractiveuser
application.

Object Oriented Software Engineering by Yogesh Singh & Ruchika Malhotra
Object Oriented Software Life
Cycle Models
Thebasesofobjectorientedmethodologyareobjects
incorporatingattributesandfunctionsthatoperateonthese
attributes.
Thefocusofobjectorientedsoftwarelifecycleisonobjectsrather
thanonprocessesasinthecaseoftraditionalwaterfallandother
models.
Theobjectorientedsoftwarelifecyclemodelsenablesthe
designersandcoderstoproperlydesigntheobjectsandthe
interrelationshipsbetweentheseobjects.
Thisallowstoproduceasimpletounderstand,modular,flexible
andreusabledesignoftheobjectorientedsoftwareunder
development.

Object Oriented Software Engineering by Yogesh Singh & Ruchika Malhotra
Object Oriented Software Life
Cycle Models
Traditionalapproach Objectorientedapproach
Methodology FunctionalandprocessdrivenObjectdriven
Requirement
analysisphase
Data flow diagrams, data
dictionary, ER diagrams.
Usecaseapproachforrequirement
capturing
Analysisphase Objectidentificationanddescription,
attributesandfunctionsthatoperateon
thoseattributesaredetermined.
Designphase Structuredchart,flowchart,
pseudocode
Classdiagram,objectdiagrams,
sequencediagrams,collaboration
diagrams
Implementation
andtestingphase
Implementing processes
functions,unit,integrationand
systemtesting.
Implementingobjectsandinteractions
amongsttheobjects.Unit,integration
andsystemtesting.
DocumentationManydocumentsareproducedat
endofeachphase
Adocumentmayormaynotbe
producedatendofeachphase.

Object Oriented Software Engineering by Yogesh Singh & Ruchika Malhotra
Object Oriented Software Life
Cycle Models
Objectorientedrequirementanalysis:Inthisphaseusecase
approachisusedforcapturingrequirementsfromthecustomer.The
SRSdocumentcontainingtheusecasedescriptionmaybeproduce
duringthisphase.
Objectorientedanalysis:Inthisphaseobjectsandtheinter
relationshipsbetweentheseobjectsareidentified.Thefunctionsof
theobjectsaredetermined.Anidealstructureiscreatedinorderto
buildhighqualitymaintainablesoftware.

Object Oriented Software Engineering by Yogesh Singh & Ruchika Malhotra
Object Oriented Software Life
Cycle Models
Objectorienteddesign:Inthisphasetheobjectsaredefinedin
detailkeepinginmindtheimplementationenvironment.Alltheobjects
identifiedduringobjectorientedanalysisphasemustbetracedtothe
designphase.
Objectorientedprogrammingandtesting:Theobjects,functions
encapsulatedintheseobjectsandinteractionamongsttheobjectsare
implementedintermsofsourcecode.Theexistingdevelopedand
welltestedcomponentsmaybeusedandnewcomponentsare
created.Thisfeaturesupportsreusabilityofsourcecode.The
developedcomponentsaretestedusingobjectorientedtesting
techniques.

Object Oriented Software Engineering by Yogesh Singh & Ruchika Malhotra
Fountain model
Thefountainmodelprovidesaclearrepresentationof
iterationsandoverlappingphases.
Themodelemphasizesonreusabilityofsourcecode.
Thecirclesdepicttheoverlappingphasesandarrowswithin
circlesdepictiterationswithinthephases.
Thesmallestcirclerepresentsthemaintenancephase
showingthatthemaintenancephaseissmallestinfountain
model.

Object Oriented Software Engineering by Yogesh Singh & Ruchika Malhotra
Fountain model

Object Oriented Software Engineering by Yogesh Singh & Ruchika Malhotra
Rational Unified Process
RationalUnifiedprocess(RUP)ismaintainedbyRational
Software.
Itprovidesaprocessframeworkthatmaybeadaptedby
organizationsaccordingtotheirneeds.
RUPsupportsiterativesoftwaredevelopmentwherethe
softwaregoesthroughaseriesofshortlengthminiprojects
callediterations.
RUPformsthebasisforprovidingguidelinesontheuseof
UnifiedModelingLanguage(UML).

Object Oriented Software Engineering by Yogesh Singh & Ruchika Malhotra
Rational Unified Process
UMLisapopularstandardforvisuallymodelingelementsof
thesystemandisgovernedbyObjectManagementGroup
(OMG).
UMLisalanguageforcreating,visualizinganddocumenting
variousdiagramsthatdepictdifferentaspectsofthe
software.

Object Oriented Software Engineering by Yogesh Singh & Ruchika Malhotra
Rational Unified Process
Rational
Unified
Process
Ensuring Quality of
the Software
Iterative Software
Development
Effective Requirement
Capturing
Visual modeling
Use and Development
of Reusable
Components
Change Control
Management
Automated Testing

Object Oriented Software Engineering by Yogesh Singh & Ruchika Malhotra
Rational Unified Process
RUPoverview
Staticstructure:Itprovidestheprocessdescriptionin
termsofroles,activities,artifacts,disciplinesand
workflows.
Dynamicstructure:thedynamicaspectoftheprocess
canbeviewedintermsofiterativedevelopment.

Object Oriented Software Engineering by Yogesh Singh & Ruchika Malhotra
Iterations & Workflow of Unified Process

Object Oriented Software Engineering by Yogesh Singh & Ruchika Malhotra
Rational Unified Process
StaticstructureofRUP
ThestaticprocessofRUPdescribeswho(Roles)doeshow
(activities),what(artifacts)andwhen(workflows).
FivemajorelementsformthestaticstructureofRUP:
role,
activities,
artifacts,
disciplinesand
workflows.

Object Oriented Software Engineering by Yogesh Singh & Ruchika Malhotra
Rational Unified Process
Identification of
actors and use
cases
Definition of classes
Preparation of test plan
Review of requirement
SRS Document Use case
diagram
Use case
description
Sequence
diagram
Designer Manager Analyst Tester
Roles
Activities
Artifacts
Produces
Performs

Roles and activities
Mary
Rita
Ram
Hary
Designer
Use case creator
Requirement analyst
Tester
Class design
Identification of attributes
and functions
Create use case model
Describe use case
model
Prepare SRS
Creation of test plan
Execution of test cases
Person Role
Activities

Object Oriented Software Engineering by Yogesh Singh & Ruchika Malhotra
Rational Unified Process
Activitiesaretheworkperformedbyapersonina
specificroletoproducetherequiredresultfromthe
system.Thefollowingareexamplesofactivities
performedbypersonsindifferentroles:
Estimationofeffortandschedule
Designofclasses
ReviewofSRSdocument
Verifyqualityofsystemdesign
Creationoftestplanandtestcases

Object Oriented Software Engineering by Yogesh Singh & Ruchika Malhotra
Rational Unified Process
Artifacts
Artifactsaretheoutputsproducedduringdevelopmentlife
cycleofthesoftware.
An activity performed by a role to produce an artifact. The
following are the examples of artifacts:
Software requirement specification
Use case model
Class model
Test plan
Source code
User manual

Object Oriented Software Engineering by Yogesh Singh & Ruchika Malhotra
Rational Unified Process
Disciplines
Disciplinesareusedtoorganizeasetofactivities.
RUPconsistsofsixmajordisciplines:businessmodeling,
requirements,analysisanddesign,implementation,testingand
deployment.Thesedisciplinesaretracedagainandagain
throughoutthesoftwaredevelopmentlifecycle.
Workflows
Workflowsconsistofaseriesofactivitiestoproducea
relevantoutput.

Object Oriented Software Engineering by Yogesh Singh & Ruchika Malhotra
Rational Unified Process
DynamicstructureofRUP
ThedynamicstructureofRUPisorganizedalongtime.It
consistsoffourphases:
inception,
elaboration,
construction,and
transition.

Object Oriented Software Engineering by Yogesh Singh & Ruchika Malhotra
Rational Unified Process0
10
20
30
40
50
60
70
InceptionElaborationConstructionTransition
Time
Resources
Effort (%)Schedule (%)

Object Oriented Software Engineering by Yogesh Singh & Ruchika Malhotra
Rational Unified Process
I: Inception
E: Elaboration
C: Construction
D: Deployment
Version 2
Version n
Final
Product
I
E
C
T
I
E
C
T
I
E
C
T
I
E
C
T
Version 1
Iterations

Object Oriented Software Engineering by Yogesh Singh & Ruchika Malhotra
Rational Unified Process
The essential activities of inception phase are:
Establishment of scope and boundary of the project.
Determination of cost and schedule of the project.
Identification of actors and use cases.
Development of initial iteration plan.
Determination of high level risks.

Object Oriented Software Engineering by Yogesh Singh & Ruchika Malhotra
Rational Unified Process
The essential activities of elaboration phase are:
Establishment and validation of architectural baselines.
To address significant risks.
Design of use case model.
Selection of components and formation of policies for
their purchase and usage.
Creation of detailed iteration plans.
Development of prototypes.

Object Oriented Software Engineering by Yogesh Singh & Ruchika Malhotra
Rational Unified Process
The essential activities of construction phase are:
Optimization of resources by avoiding rework and
unnecessary coding.
Assessment and verification of quality.
Testing all the functionalities of the product. Testing
activities include unit, integration, and system testing.

Object Oriented Software Engineering by Yogesh Singh & Ruchika Malhotra
Rational Unified Process
Transitionphaseincludesdelivering,trainingusersand
maintainingthesoftware.Elaborationinvolvesbeta
releases,bugfixesandenhancementreleases.

Vision document
Business case
Risk assessment
Software development plan
Iteration plan
Tools
Initial project glossary
Initial use case model
Project repository
Prototypes
Prototypes
Updated risk list
Development case
Software architecture
description document
Design & data model
Implementation model
Use case model
Detailed iteration plan
Test plan
Test automation architecture
Software product
Deployment plan
Test outline
Training materials
Test suite
Iteration plan
Design model
Implementation model
Documentation manuals
Product release
Release notes
Training material
End user support material
Beta test reports
Artifacts
Fish bone diagram showing the artifacts produced
Tags