SlideShare uma empresa Scribd logo
1 de 51
Baixar para ler offline
ObjectObject--Oriented SystemsOriented Systems
Development Life CycleDevelopment Life Cycle
Chapter 3
IntroductionIntroduction
The essence of the software development
process that consists of analysis, design,
implementation, testing, and refinement is
to transform user’s needs into a softwareto transform user’s needs into a software
solution that satisfies those needs.
Some people view software development
process as interesting but feel it has little
importance in developing software.
Sahaj Computer Solutions 2Object Oriented Systems Development
IntroductionIntroduction
In general, dynamics of software
development provides little room for such
shortcuts, and bypasses have been less than
successful.
The object oriented approach requires a
more rigorous process to do things right.more rigorous process to do things right.
You need not see code until after about 25
percent of the development time, because
you need to spend more time in gathering
requirements, developing a requirement
model and an analysis model, then turning
them into the design model.
Sahaj Computer Solutions 3Object Oriented Systems Development
The software development processThe software development process
Sahaj Computer Solutions 4Object Oriented Systems Development
The software development processThe software development process
The software development process can
be divided into smaller, interacting sub
processes.
Generally software development can beGenerally software development can be
seen as a series of transformations, where
the output of one transformation
becomes the input of the subsequent
transformation.
Sahaj Computer Solutions 5Object Oriented Systems Development
The software development processThe software development process
Transformation1(Analysis):
◦ Translates the user’s needs into system
requirements and responsibilities.
◦ The way they use the system can provide
insight into the user’s requirements.insight into the user’s requirements.
◦ For example: one use of system might be
analyzing an incentive payroll system, which
will tell us that this capacity will be included
in the system requirements.
Sahaj Computer Solutions 6Object Oriented Systems Development
The software development processThe software development process
Transformation 2 (design):
◦ Begins with a problem statement and ends
with a detailed design that can be transformed
into a operational system.
◦ This transformation includes the bulk of the◦ This transformation includes the bulk of the
software development activity, including the
definition of how to build the software, its
development, and its testing.
◦ It also includes design descriptions, the
programs and the testing material.
Sahaj Computer Solutions 7Object Oriented Systems Development
The software development processThe software development process
Transformation 3(Implementation)
◦ refines the detailed design into the system
deployment that will satisfy the user’s needs.
◦ This takes into account equipment,
procedures, people, and the like.procedures, people, and the like.
◦ It represents embedding the software product
within its operational environment.
Sahaj Computer Solutions 8Object Oriented Systems Development
Waterfall ModelWaterfall Model
An example of the software development
process is the waterfall approach which
starts with deciding what has to be done.
Once the requirements have been
determined, we next must decide how to
accomplish them.accomplish them.
This is followed by a step in which we do it,
whatever it has required us to do.
We then must test the result to see if we
have satisfied the user’s requirements.
Finally we use the what we have done.
Sahaj Computer Solutions 9Object Oriented Systems Development
Waterfall ModelWaterfall Model
Sahaj Computer Solutions 10Object Oriented Systems Development
BUILDING HIGHBUILDING HIGH--QUALITYQUALITY
SOFTWARESOFTWARE
The software process transforms the users'
needs via the application domain to a
software solution that satisfies those needs.
High-quality products must meet users'
needs and expectations.needs and expectations.
Furthermore, the products should attain this
with minimal or no defects, the focus being
on improving products (or services) prior to
delivery rather than correcting them after
delivery.
Sahaj Computer Solutions 11Object Oriented Systems Development
BUILDING HIGHBUILDING HIGH--QUALITYQUALITY
SOFTWARESOFTWARE
The ultimate goal of building high-quality
software is user satisfaction.
To achieve high quality in software we need
to be to answer the following questions:
◦ • How do we determine when the system is◦ • How do we determine when the system is
ready for delivery?
◦ • Is it now an operational system that satisfies
users' needs?
◦ • Is it correct and operating as we thought it
should?
◦ • Does it pass an evaluation process?
Sahaj Computer Solutions 12Object Oriented Systems Development
BUILDING HIGHBUILDING HIGH--QUALITYQUALITY
SOFTWARESOFTWARE
There are two basic approaches to
systems testing.
We can test a system according to how it
has been built or, alternatively, what ithas been built or, alternatively, what it
should do.
Blum describes a means of system
evaluation in terms of four quality
measures: correspondence, correctness,
verification, and validation.
Sahaj Computer Solutions 13Object Oriented Systems Development
BUILDING HIGHBUILDING HIGH--QUALITYQUALITY
SOFTWARESOFTWARE
Correspondence measures how well the
delivered system matches the needs of the
operational environment, as described in the
original requirements statement.
Validation is the task of predicting
correspondence.True correspondence cannot be
Validation is the task of predicting
correspondence.True correspondence cannot be
determined until the system is in place.
Sahaj Computer Solutions 14Object Oriented Systems Development
BUILDING HIGHBUILDING HIGH--QUALITYQUALITY
SOFTWARESOFTWARE
Correctness measures the consistency of
the product requirements with respect to
the design specification.
Verification is the exercise ofVerification is the exercise of
determining correctness. However,
correctness always is objective.
Validation, however, is always subjective,
and it addresses a different issue— the
appropriateness of the specification.
Sahaj Computer Solutions 15Object Oriented Systems Development
BUILDING HIGHBUILDING HIGH--QUALITYQUALITY
SOFTWARESOFTWARE
Boehm observes that these quality
measures, verification and validation,
answer the following questions:
Verification.Am I building the productVerification.Am I building the product
right?
Validation.Am I building the right
product?
Sahaj Computer Solutions 16Object Oriented Systems Development
BUILDING HIGHBUILDING HIGH--QUALITYQUALITY
SOFTWARESOFTWARE
Validation begins as soon as the project
starts, but verification can begin only after
a specification has been accepted.
Verification and validation areVerification and validation are
independent of each other.
It is possible to have a product that
corresponds to the specification, but if
the specification proves to be incorrect,
we do not have the right product;
Sahaj Computer Solutions 17Object Oriented Systems Development
ObjectObject--Oriented SystemsOriented Systems
Development:A use case drivenDevelopment:A use case driven
approachapproach
The object oriented software
development life cycle(SDLC) consists of
three macro processes:
◦ Object-oriented analysis◦ Object-oriented analysis
◦ Object-oriented design
◦ Object-oriented implementation
Sahaj Computer Solutions 18Object Oriented Systems Development
ObjectObject--Oriented SystemsOriented Systems
Development:A use case drivenDevelopment:A use case driven
approachapproach
Sahaj Computer Solutions 19Object Oriented Systems Development
ObjectObject--Oriented Systems Development:AOriented Systems Development:A
use case driven approachuse case driven approach
The use case model can be employed
throughout most activities of software
development.
Furthermore, by following the lifecycleFurthermore, by following the lifecycle
model of Jacobson , Ericsson and
Jacobson, one can produce designs that
are traceable across requirements,
analysis, design, implementation, and
testing.
Sahaj Computer Solutions 20Object Oriented Systems Development
ObjectObject--Oriented Systems Development:AOriented Systems Development:A
use case driven approachuse case driven approach
Sahaj Computer Solutions 21Object Oriented Systems Development
ObjectObject--Oriented SystemsOriented Systems
Development:A use case drivenDevelopment:A use case driven
approachapproach
The main advantage is that all design
decisions can be tracked back directly to
user requirements.user requirements.
Use case scenarios can become test
scenarios.
Sahaj Computer Solutions 22Object Oriented Systems Development
ObjectObject--Oriented SystemsOriented Systems
Development:A use case drivenDevelopment:A use case driven
approachapproach
Object oriented systems development
includes these activities:
◦ Object-oriented analysis- Use case drivenObject-oriented analysis- Use case driven
◦ Object oriented design
◦ Prototyping
◦ Component-based development
◦ Incremental testing
Sahaj Computer Solutions 23Object Oriented Systems Development
Object oriented AnalysisObject oriented Analysis-- Use caseUse case
DrivenDriven
The object oriented analysis phase of
software development is concerned with
determining the system requirements and
identifying classes and their relationship
to other classes in the problem domain.to other classes in the problem domain.
To understand the system requirements,
we need to identify the users or the
actors.
Who are the actors and how do they use
the system?
Sahaj Computer Solutions 24Object Oriented Systems Development
Object oriented AnalysisObject oriented Analysis-- Use caseUse case
DrivenDriven
Ivar Jacobson came up with the concept
of use case, his name for a scenario to
describe the user- computer system
interaction.
This concept worked so well that itThis concept worked so well that it
became the primary element in the
system development.
The object-oriented community has
adopted use cases to a remarkable
degree.
Sahaj Computer Solutions 25Object Oriented Systems Development
Object oriented AnalysisObject oriented Analysis-- Use caseUse case
DrivenDriven
Scenarios are a great way of examining
who does what in the interactions among
objects and what role they play; i.e., their
interrelationships.
This intersection among object’s roles toThis intersection among object’s roles to
achieve a given goal is called
collaboration.
A use case is a typical interaction
between a user and system that captures
user’s goals and needs.
Sahaj Computer Solutions 26Object Oriented Systems Development
Object oriented AnalysisObject oriented Analysis-- Use caseUse case
DrivenDriven
Expressing these high-level processes and
interactions with customers in a scenario
and analyzing it is referred to as use case
modeling.modeling.
The use case model represents the user’s
view of the system or user’s needs.
Sahaj Computer Solutions 27Object Oriented Systems Development
Object oriented AnalysisObject oriented Analysis-- Use caseUse case
DrivenDriven
This process of developing use cases, like
other object-oriented activities, is
iterative—once your use-case model is
better understood and developed youbetter understood and developed you
should start to identify classes and create
their relationships
Sahaj Computer Solutions 28Object Oriented Systems Development
Object oriented AnalysisObject oriented Analysis-- Use caseUse case
DrivenDriven
Documentation is another important activity,
which does not end with object-oriented
analysis but should be carried out
throughout the system development.
Make the document as short as possible.
The 80-20 rule generally applies forThe 80-20 rule generally applies for
documentation: 80 % of the work can be
done with 20% of documentation.
Documentation and modeling are not
separate activities, and good modeling
implies good documentation.
Sahaj Computer Solutions 29Object Oriented Systems Development
ObjectObject--Oriented DesignOriented Design
The goal of object-oriented design (OOD)
is to design the classes identified during the
analysis phase and the user interface.
During this phase, we identify and define
additional objects and classes that supportadditional objects and classes that support
implementation of the requirements.
For example, during the design phase, you
might need to add objects for the user
interface to the system (e.g., data entry
windows, browse windows).
Sahaj Computer Solutions 30Object Oriented Systems Development
ObjectObject--Oriented DesignOriented Design
Object-oriented design and object-
oriented analysis are distinct disciplines,
but they can be intertwined.
Object-oriented development is highly
incremental; in other words, you startincremental; in other words, you start
with object-oriented analysis, model it,
create an object-oriented design, then do
some more of each, again and again,
gradually refining and completing models
of the system:
Sahaj Computer Solutions 31Object Oriented Systems Development
ObjectObject--Oriented DesignOriented Design
First, build the object model based on
objects and their relationships, then
iterate and refine the model:
◦ Design and refine classes.◦ Design and refine classes.
◦ Design and refine attributes.
◦ Design and refine methods.
◦ Design and refine structures.
◦ Design and refine associations.
Sahaj Computer Solutions 32Object Oriented Systems Development
ObjectObject--Oriented DesignOriented Design
Here are a few guidelines to use in your
object-oriented design:
◦ Reuse, rather than build, a new class. Know
the existing classes.
◦ Design a large number of simple classes,
rather than a small number of complex
classes.
◦ Design methods.
◦ Critique what you have proposed. If possible,
go back and refine the classes.
Sahaj Computer Solutions 33Object Oriented Systems Development
PrototypingPrototyping
Although the object-oriented analysis and
design describe the system features, it is
important to construct a prototype of
some of the key system componentssome of the key system components
shortly after the products are selected.
It has been said "a picture may be worth a
thousand words, but a prototype is worth
a thousand pictures" [author unknown].
Sahaj Computer Solutions 34Object Oriented Systems Development
PrototypingPrototyping
Essentially, prototype is a version of a
software product developed in the early
stages of the product’s life cycle for specific,
experimental purposes.
A prototype enables you understand how
easy or difficult it will be to implement someeasy or difficult it will be to implement some
of the features of the system.
It also can give users a chance to comment
on the usability and usefulness of the user
interface design and lets you assess the fit
between the software tools selected, the
functional specification, and the user needs.
Sahaj Computer Solutions 35Object Oriented Systems Development
PrototypingPrototyping
Prototyping can further define the use cases,
and it actually makes use-case modeling
much easier.
Traditionally, prototyping was used as a
"quick and dirty" way to test the design, user"quick and dirty" way to test the design, user
interface, and so forth, something to be
thrown away when the "industrial strength"
version was developed.
However, the new trend, such as using rapid
application development, is to refine the
prototype into the final product.
Sahaj Computer Solutions 36Object Oriented Systems Development
PrototypingPrototyping
Prototypes have been categorized in
various ways:
◦ A horizontal prototype is a simulation of the
interface (that is, it has the entire user
interface that will be in the full-featuredinterface that will be in the full-featured
system) but contains no functionality.
◦ This has the advantages of being very quick to
implement, providing a good overall feel of the
system, and allowing users to evaluate the
interface on the basis of their normal,
expected perception of the system.
Sahaj Computer Solutions 37Object Oriented Systems Development
PrototypingPrototyping
◦ A vertical prototype is a subset of the system
features with complete functionality.
◦ The principal advantage of this method is that the
few implemented functions can be tested in great
depth.depth.
◦ In practice, prototypes are a hybrid between
horizontal and vertical.
◦ The major portions of the interface are
established so the user can get the feel of the
system, and features having a high degree of risk
are prototyped with much more functionality
Sahaj Computer Solutions 38Object Oriented Systems Development
PrototypingPrototyping
◦ An analysis prototype is an aid for exploring
the problem domain.
◦ This class of prototype is used to inform, the
user and demonstrate the proof of a concept.
◦ It is not used as the basis of development,◦ It is not used as the basis of development,
however, and is discarded when it has served
its purpose.
◦ The final product will use the concepts
exposed by the prototype, not its code.
Sahaj Computer Solutions 39Object Oriented Systems Development
PrototypingPrototyping
◦ A domain prototype is an aid for the
incremental development of the ultimate
software solution.
◦ It often is used as a tool for the staged
delivery of subsystems to the users or otherdelivery of subsystems to the users or other
members of the development team.
◦ It demonstrates the feasibility of the
implementation and eventually will evolve into
a deliverable product.
Sahaj Computer Solutions 40Object Oriented Systems Development
Implement: Component BasedImplement: Component Based
DevelopmentDevelopment
Manufacturers learned that benefits of
moving from custom development to
assembly from prefabricated components.
Components based manufacturing makes
many products available to the market placemany products available to the market place
that otherwise would be expensive.
Modern manufacturing has evolved to
exploit two crucial factors underlying today’s
market requirements: reduce cost and time
to market by building from prebuilt, ready-
tested components.
Sahaj Computer Solutions 41Object Oriented Systems Development
Component based developmentComponent based development
Today’ software components are built and
tested in-house, using a wide range of
technologies like CASE TOOLS that allows
Component-based development (CBD) is
an industrialized approach to the softwarean industrialized approach to the software
development process.
Application development moves from
custom development to assembly of prebuilt,
pretested, reusable software components
that operate with each other.
Sahaj Computer Solutions 42Object Oriented Systems Development
Component based developmentComponent based development
Two basic ideas underlie component-
based development.
First, the application development can be
improved significantly if applications can
be assembled quickly from prefabricatedbe assembled quickly from prefabricated
software components.
Second, an increasingly large collection of
interpretable software components could
be made available to developers in both
general and specialist catalogs.
Sahaj Computer Solutions 43Object Oriented Systems Development
Component based developmentComponent based development
A CBD developer can assemble
components to construct a complete
software system.
Components themselves may beComponents themselves may be
constructed from other components and
so on down to the level of prebuilt
components or old-fashioned code
written in a language such as C, assembler,
or COBOL.
Sahaj Computer Solutions 44Object Oriented Systems Development
Rapid application development
Rapid application development (RAD)
is a set of tools and techniques that can
be used to build an application faster than
typically possible with traditional
methods.methods.
The term often is used in conjunction
with software prototyping .
It is widely held that, to achieve, RAD, the
developer sacrifices the quality of the
product for a quicker delivery.
Sahaj Computer Solutions 45Object Oriented Systems Development
Rapid application development
This is not necessarily the case. RAD is
concerned primarily with reducing the
"time to market," not exclusively the
software development time.software development time.
In fact, one successful RAD application
achieved a substantial reduction in time to
market but realized no significant
reduction in the individual software cycles
Sahaj Computer Solutions 46Object Oriented Systems Development
Rapid application development
RAD does not replace the system
development life cycle (see the Real-World
case) but complements it, since it focuses
more on process description and can be
combined perfectly with the object-orientedcombined perfectly with the object-oriented
approach.
The task of RAD is to build the application
quickly and incrementally implement the
design and user requirements, through tools
such as Delphi,VisualAge,Visual Basic, or
PowerBuilder.
Sahaj Computer Solutions 47Object Oriented Systems Development
IncrementalTestingIncrementalTesting
That's what happened at BankersTrust in
1992: "Our testing was very complete and
good, but it was costing a lot of money
and would add months onto a project,"and would add months onto a project,"
says Glenn Shimamoto, vice president of
technology and strategic planning at the
NewYork bank.
Sahaj Computer Solutions 48Object Oriented Systems Development
IncrementalTestingIncrementalTesting
In one case, testing added nearly six months
to the development of a funds transfer
application.
The problem was that developers would
turn over applications to a quality assuranceturn over applications to a quality assurance
(QA) group for testing only after
development was completed.
Since the QA group wasn't included in the
initial plan, it had no clear picture of the
system characteristics until it came time to
test.
Sahaj Computer Solutions 49Object Oriented Systems Development
REUSABILITYREUSABILITY
A major benefit of object-oriented system
development is reusability, and this is the
most difficult promise to deliver on.
For an object to be really reusable, much
more effort must be spent designing it.
To deliver a reusable object, theTo deliver a reusable object, the
development team must have the up-front
time to design reusability into the object.
The potential benefits of reuse are clear:
increased reliability, reduced time and cost
for development, and improved consistency
Sahaj Computer Solutions 50Object Oriented Systems Development
REUSABILITYREUSABILITY
The reuse strategy can be based on the
following:
◦ Information hiding (encapsulation).
◦ Conformance to naming standards.
◦ Creation and administration of an object◦ Creation and administration of an object
repository.
◦ Encouragement by strategic management of reuse
as opposed to constant redevelopment.
◦ Establishing targets for a percentage of the
objects in the project to be reused (i.e., 50
percent reuse of objects).
Sahaj Computer Solutions 51Object Oriented Systems Development

Mais conteúdo relacionado

Mais procurados

Issues in knowledge representation
Issues in knowledge representationIssues in knowledge representation
Issues in knowledge representationSravanthi Emani
 
Object oriented software engineering concepts
Object oriented software engineering conceptsObject oriented software engineering concepts
Object oriented software engineering conceptsKomal Singh
 
Requirement analysis and specification
Requirement analysis and specificationRequirement analysis and specification
Requirement analysis and specificationM.E. at GTU- PG School
 
Data Designs (Software Engg.)
Data Designs (Software Engg.)Data Designs (Software Engg.)
Data Designs (Software Engg.)Arun Shukla
 
Unit 3 object analysis-classification
Unit 3 object analysis-classificationUnit 3 object analysis-classification
Unit 3 object analysis-classificationgopal10scs185
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)Akash Kumar Dhameja
 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelmohamed khalaf alla mohamedain
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineeringPreeti Mishra
 
11 deployment diagrams
11 deployment diagrams11 deployment diagrams
11 deployment diagramsBaskarkncet
 
Analysis modeling in software engineering
Analysis modeling in software engineeringAnalysis modeling in software engineering
Analysis modeling in software engineeringMuhammadTalha436
 
Flow oriented modeling
Flow oriented modelingFlow oriented modeling
Flow oriented modelingramyaaswin
 
Overview of UML Diagrams
Overview of UML DiagramsOverview of UML Diagrams
Overview of UML DiagramsManish Kumar
 
Data and functional modeling
Data and functional modelingData and functional modeling
Data and functional modelingSlideshare
 
Analysis modeling & scenario based modeling
Analysis modeling &  scenario based modeling Analysis modeling &  scenario based modeling
Analysis modeling & scenario based modeling Benazir Fathima
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineeringDarshit Metaliya
 
Uml Presentation
Uml PresentationUml Presentation
Uml Presentationmewaseem
 
software project management Artifact set(spm)
software project management Artifact set(spm)software project management Artifact set(spm)
software project management Artifact set(spm)REHMAT ULLAH
 

Mais procurados (20)

Issues in knowledge representation
Issues in knowledge representationIssues in knowledge representation
Issues in knowledge representation
 
Object oriented software engineering concepts
Object oriented software engineering conceptsObject oriented software engineering concepts
Object oriented software engineering concepts
 
Analysis modeling
Analysis modelingAnalysis modeling
Analysis modeling
 
Requirement analysis and specification
Requirement analysis and specificationRequirement analysis and specification
Requirement analysis and specification
 
Behavioural modelling
Behavioural modellingBehavioural modelling
Behavioural modelling
 
Data Designs (Software Engg.)
Data Designs (Software Engg.)Data Designs (Software Engg.)
Data Designs (Software Engg.)
 
Unit 3 object analysis-classification
Unit 3 object analysis-classificationUnit 3 object analysis-classification
Unit 3 object analysis-classification
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)
 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 
11 deployment diagrams
11 deployment diagrams11 deployment diagrams
11 deployment diagrams
 
Analysis modeling in software engineering
Analysis modeling in software engineeringAnalysis modeling in software engineering
Analysis modeling in software engineering
 
Flow oriented modeling
Flow oriented modelingFlow oriented modeling
Flow oriented modeling
 
Overview of UML Diagrams
Overview of UML DiagramsOverview of UML Diagrams
Overview of UML Diagrams
 
Data and functional modeling
Data and functional modelingData and functional modeling
Data and functional modeling
 
Analysis modeling & scenario based modeling
Analysis modeling &  scenario based modeling Analysis modeling &  scenario based modeling
Analysis modeling & scenario based modeling
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
 
Uml Presentation
Uml PresentationUml Presentation
Uml Presentation
 
software project management Artifact set(spm)
software project management Artifact set(spm)software project management Artifact set(spm)
software project management Artifact set(spm)
 

Semelhante a Object oriented-systems-development-life-cycle ppt

Semelhante a Object oriented-systems-development-life-cycle ppt (20)

OOSDLC.pptx
OOSDLC.pptxOOSDLC.pptx
OOSDLC.pptx
 
Soft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptxSoft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptx
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Process in Software Engineering/4'ps in Software Engineerin
Process in Software Engineering/4'ps in Software EngineerinProcess in Software Engineering/4'ps in Software Engineerin
Process in Software Engineering/4'ps in Software Engineerin
 
Software models
Software modelsSoftware models
Software models
 
Ch 2 Software Engineering
Ch 2 Software EngineeringCh 2 Software Engineering
Ch 2 Software Engineering
 
Ch2
Ch2Ch2
Ch2
 
Software process
Software processSoftware process
Software process
 
SOFTWARE ENGINEERING PART 1
SOFTWARE ENGINEERING PART 1SOFTWARE ENGINEERING PART 1
SOFTWARE ENGINEERING PART 1
 
STLC & SDLC-ppt-1.pptx
STLC & SDLC-ppt-1.pptxSTLC & SDLC-ppt-1.pptx
STLC & SDLC-ppt-1.pptx
 
Chapter 2.pptx
Chapter 2.pptxChapter 2.pptx
Chapter 2.pptx
 
16346915.ppt
16346915.ppt16346915.ppt
16346915.ppt
 
Software lifecycle model report
Software lifecycle model reportSoftware lifecycle model report
Software lifecycle model report
 
SoftwareEngineering.pptx
SoftwareEngineering.pptxSoftwareEngineering.pptx
SoftwareEngineering.pptx
 
SoftwareEngineering.pptx
SoftwareEngineering.pptxSoftwareEngineering.pptx
SoftwareEngineering.pptx
 
functional testing
functional testing functional testing
functional testing
 
Software Project Planning V
Software Project Planning VSoftware Project Planning V
Software Project Planning V
 
SE Sumerville 9th Chp 2
SE Sumerville 9th Chp 2SE Sumerville 9th Chp 2
SE Sumerville 9th Chp 2
 
SE-03.pptx
SE-03.pptxSE-03.pptx
SE-03.pptx
 
SE-Lecture-2.pptx
SE-Lecture-2.pptxSE-Lecture-2.pptx
SE-Lecture-2.pptx
 

Mais de Kunal Kishor Nirala

Object class recognition by unsupervide scale invariant learning - kunal
Object class recognition by unsupervide scale invariant learning - kunalObject class recognition by unsupervide scale invariant learning - kunal
Object class recognition by unsupervide scale invariant learning - kunalKunal Kishor Nirala
 
Memory based recognition for 3 d object-kunal
Memory based recognition for 3 d object-kunalMemory based recognition for 3 d object-kunal
Memory based recognition for 3 d object-kunalKunal Kishor Nirala
 
An automatic algorithm for object recognition and detection based on asift ke...
An automatic algorithm for object recognition and detection based on asift ke...An automatic algorithm for object recognition and detection based on asift ke...
An automatic algorithm for object recognition and detection based on asift ke...Kunal Kishor Nirala
 
3 d recognition via 2-d stage associative memory kunal
3 d recognition via 2-d stage associative memory kunal3 d recognition via 2-d stage associative memory kunal
3 d recognition via 2-d stage associative memory kunalKunal Kishor Nirala
 
Object oriented and classical software engineering 8th edition v413 hav
Object oriented and classical software engineering 8th edition v413 havObject oriented and classical software engineering 8th edition v413 hav
Object oriented and classical software engineering 8th edition v413 havKunal Kishor Nirala
 

Mais de Kunal Kishor Nirala (9)

Www.cs.berkeley.edu kunal
Www.cs.berkeley.edu kunalWww.cs.berkeley.edu kunal
Www.cs.berkeley.edu kunal
 
Object recognition kunal
Object recognition kunalObject recognition kunal
Object recognition kunal
 
Object class recognition by unsupervide scale invariant learning - kunal
Object class recognition by unsupervide scale invariant learning - kunalObject class recognition by unsupervide scale invariant learning - kunal
Object class recognition by unsupervide scale invariant learning - kunal
 
Memory based recognition for 3 d object-kunal
Memory based recognition for 3 d object-kunalMemory based recognition for 3 d object-kunal
Memory based recognition for 3 d object-kunal
 
An automatic algorithm for object recognition and detection based on asift ke...
An automatic algorithm for object recognition and detection based on asift ke...An automatic algorithm for object recognition and detection based on asift ke...
An automatic algorithm for object recognition and detection based on asift ke...
 
3 d recognition via 2-d stage associative memory kunal
3 d recognition via 2-d stage associative memory kunal3 d recognition via 2-d stage associative memory kunal
3 d recognition via 2-d stage associative memory kunal
 
Object oriented and classical software engineering 8th edition v413 hav
Object oriented and classical software engineering 8th edition v413 havObject oriented and classical software engineering 8th edition v413 hav
Object oriented and classical software engineering 8th edition v413 hav
 
C socket programming for..
C socket programming for..C socket programming for..
C socket programming for..
 
Uml diagram types with e..
Uml diagram types with e..Uml diagram types with e..
Uml diagram types with e..
 

Último

Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdfSuman Jyoti
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . pptDineshKumar4165
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
Unit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfUnit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfRagavanV2
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfRagavanV2
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueBhangaleSonal
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfJiananWang21
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxJuliansyahHarahap1
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapRishantSharmaFr
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringmulugeta48
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startQuintin Balsdon
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdfankushspencer015
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfKamal Acharya
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptMsecMca
 

Último (20)

Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
Unit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfUnit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdf
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 

Object oriented-systems-development-life-cycle ppt

  • 1. ObjectObject--Oriented SystemsOriented Systems Development Life CycleDevelopment Life Cycle Chapter 3
  • 2. IntroductionIntroduction The essence of the software development process that consists of analysis, design, implementation, testing, and refinement is to transform user’s needs into a softwareto transform user’s needs into a software solution that satisfies those needs. Some people view software development process as interesting but feel it has little importance in developing software. Sahaj Computer Solutions 2Object Oriented Systems Development
  • 3. IntroductionIntroduction In general, dynamics of software development provides little room for such shortcuts, and bypasses have been less than successful. The object oriented approach requires a more rigorous process to do things right.more rigorous process to do things right. You need not see code until after about 25 percent of the development time, because you need to spend more time in gathering requirements, developing a requirement model and an analysis model, then turning them into the design model. Sahaj Computer Solutions 3Object Oriented Systems Development
  • 4. The software development processThe software development process Sahaj Computer Solutions 4Object Oriented Systems Development
  • 5. The software development processThe software development process The software development process can be divided into smaller, interacting sub processes. Generally software development can beGenerally software development can be seen as a series of transformations, where the output of one transformation becomes the input of the subsequent transformation. Sahaj Computer Solutions 5Object Oriented Systems Development
  • 6. The software development processThe software development process Transformation1(Analysis): ◦ Translates the user’s needs into system requirements and responsibilities. ◦ The way they use the system can provide insight into the user’s requirements.insight into the user’s requirements. ◦ For example: one use of system might be analyzing an incentive payroll system, which will tell us that this capacity will be included in the system requirements. Sahaj Computer Solutions 6Object Oriented Systems Development
  • 7. The software development processThe software development process Transformation 2 (design): ◦ Begins with a problem statement and ends with a detailed design that can be transformed into a operational system. ◦ This transformation includes the bulk of the◦ This transformation includes the bulk of the software development activity, including the definition of how to build the software, its development, and its testing. ◦ It also includes design descriptions, the programs and the testing material. Sahaj Computer Solutions 7Object Oriented Systems Development
  • 8. The software development processThe software development process Transformation 3(Implementation) ◦ refines the detailed design into the system deployment that will satisfy the user’s needs. ◦ This takes into account equipment, procedures, people, and the like.procedures, people, and the like. ◦ It represents embedding the software product within its operational environment. Sahaj Computer Solutions 8Object Oriented Systems Development
  • 9. Waterfall ModelWaterfall Model An example of the software development process is the waterfall approach which starts with deciding what has to be done. Once the requirements have been determined, we next must decide how to accomplish them.accomplish them. This is followed by a step in which we do it, whatever it has required us to do. We then must test the result to see if we have satisfied the user’s requirements. Finally we use the what we have done. Sahaj Computer Solutions 9Object Oriented Systems Development
  • 10. Waterfall ModelWaterfall Model Sahaj Computer Solutions 10Object Oriented Systems Development
  • 11. BUILDING HIGHBUILDING HIGH--QUALITYQUALITY SOFTWARESOFTWARE The software process transforms the users' needs via the application domain to a software solution that satisfies those needs. High-quality products must meet users' needs and expectations.needs and expectations. Furthermore, the products should attain this with minimal or no defects, the focus being on improving products (or services) prior to delivery rather than correcting them after delivery. Sahaj Computer Solutions 11Object Oriented Systems Development
  • 12. BUILDING HIGHBUILDING HIGH--QUALITYQUALITY SOFTWARESOFTWARE The ultimate goal of building high-quality software is user satisfaction. To achieve high quality in software we need to be to answer the following questions: ◦ • How do we determine when the system is◦ • How do we determine when the system is ready for delivery? ◦ • Is it now an operational system that satisfies users' needs? ◦ • Is it correct and operating as we thought it should? ◦ • Does it pass an evaluation process? Sahaj Computer Solutions 12Object Oriented Systems Development
  • 13. BUILDING HIGHBUILDING HIGH--QUALITYQUALITY SOFTWARESOFTWARE There are two basic approaches to systems testing. We can test a system according to how it has been built or, alternatively, what ithas been built or, alternatively, what it should do. Blum describes a means of system evaluation in terms of four quality measures: correspondence, correctness, verification, and validation. Sahaj Computer Solutions 13Object Oriented Systems Development
  • 14. BUILDING HIGHBUILDING HIGH--QUALITYQUALITY SOFTWARESOFTWARE Correspondence measures how well the delivered system matches the needs of the operational environment, as described in the original requirements statement. Validation is the task of predicting correspondence.True correspondence cannot be Validation is the task of predicting correspondence.True correspondence cannot be determined until the system is in place. Sahaj Computer Solutions 14Object Oriented Systems Development
  • 15. BUILDING HIGHBUILDING HIGH--QUALITYQUALITY SOFTWARESOFTWARE Correctness measures the consistency of the product requirements with respect to the design specification. Verification is the exercise ofVerification is the exercise of determining correctness. However, correctness always is objective. Validation, however, is always subjective, and it addresses a different issue— the appropriateness of the specification. Sahaj Computer Solutions 15Object Oriented Systems Development
  • 16. BUILDING HIGHBUILDING HIGH--QUALITYQUALITY SOFTWARESOFTWARE Boehm observes that these quality measures, verification and validation, answer the following questions: Verification.Am I building the productVerification.Am I building the product right? Validation.Am I building the right product? Sahaj Computer Solutions 16Object Oriented Systems Development
  • 17. BUILDING HIGHBUILDING HIGH--QUALITYQUALITY SOFTWARESOFTWARE Validation begins as soon as the project starts, but verification can begin only after a specification has been accepted. Verification and validation areVerification and validation are independent of each other. It is possible to have a product that corresponds to the specification, but if the specification proves to be incorrect, we do not have the right product; Sahaj Computer Solutions 17Object Oriented Systems Development
  • 18. ObjectObject--Oriented SystemsOriented Systems Development:A use case drivenDevelopment:A use case driven approachapproach The object oriented software development life cycle(SDLC) consists of three macro processes: ◦ Object-oriented analysis◦ Object-oriented analysis ◦ Object-oriented design ◦ Object-oriented implementation Sahaj Computer Solutions 18Object Oriented Systems Development
  • 19. ObjectObject--Oriented SystemsOriented Systems Development:A use case drivenDevelopment:A use case driven approachapproach Sahaj Computer Solutions 19Object Oriented Systems Development
  • 20. ObjectObject--Oriented Systems Development:AOriented Systems Development:A use case driven approachuse case driven approach The use case model can be employed throughout most activities of software development. Furthermore, by following the lifecycleFurthermore, by following the lifecycle model of Jacobson , Ericsson and Jacobson, one can produce designs that are traceable across requirements, analysis, design, implementation, and testing. Sahaj Computer Solutions 20Object Oriented Systems Development
  • 21. ObjectObject--Oriented Systems Development:AOriented Systems Development:A use case driven approachuse case driven approach Sahaj Computer Solutions 21Object Oriented Systems Development
  • 22. ObjectObject--Oriented SystemsOriented Systems Development:A use case drivenDevelopment:A use case driven approachapproach The main advantage is that all design decisions can be tracked back directly to user requirements.user requirements. Use case scenarios can become test scenarios. Sahaj Computer Solutions 22Object Oriented Systems Development
  • 23. ObjectObject--Oriented SystemsOriented Systems Development:A use case drivenDevelopment:A use case driven approachapproach Object oriented systems development includes these activities: ◦ Object-oriented analysis- Use case drivenObject-oriented analysis- Use case driven ◦ Object oriented design ◦ Prototyping ◦ Component-based development ◦ Incremental testing Sahaj Computer Solutions 23Object Oriented Systems Development
  • 24. Object oriented AnalysisObject oriented Analysis-- Use caseUse case DrivenDriven The object oriented analysis phase of software development is concerned with determining the system requirements and identifying classes and their relationship to other classes in the problem domain.to other classes in the problem domain. To understand the system requirements, we need to identify the users or the actors. Who are the actors and how do they use the system? Sahaj Computer Solutions 24Object Oriented Systems Development
  • 25. Object oriented AnalysisObject oriented Analysis-- Use caseUse case DrivenDriven Ivar Jacobson came up with the concept of use case, his name for a scenario to describe the user- computer system interaction. This concept worked so well that itThis concept worked so well that it became the primary element in the system development. The object-oriented community has adopted use cases to a remarkable degree. Sahaj Computer Solutions 25Object Oriented Systems Development
  • 26. Object oriented AnalysisObject oriented Analysis-- Use caseUse case DrivenDriven Scenarios are a great way of examining who does what in the interactions among objects and what role they play; i.e., their interrelationships. This intersection among object’s roles toThis intersection among object’s roles to achieve a given goal is called collaboration. A use case is a typical interaction between a user and system that captures user’s goals and needs. Sahaj Computer Solutions 26Object Oriented Systems Development
  • 27. Object oriented AnalysisObject oriented Analysis-- Use caseUse case DrivenDriven Expressing these high-level processes and interactions with customers in a scenario and analyzing it is referred to as use case modeling.modeling. The use case model represents the user’s view of the system or user’s needs. Sahaj Computer Solutions 27Object Oriented Systems Development
  • 28. Object oriented AnalysisObject oriented Analysis-- Use caseUse case DrivenDriven This process of developing use cases, like other object-oriented activities, is iterative—once your use-case model is better understood and developed youbetter understood and developed you should start to identify classes and create their relationships Sahaj Computer Solutions 28Object Oriented Systems Development
  • 29. Object oriented AnalysisObject oriented Analysis-- Use caseUse case DrivenDriven Documentation is another important activity, which does not end with object-oriented analysis but should be carried out throughout the system development. Make the document as short as possible. The 80-20 rule generally applies forThe 80-20 rule generally applies for documentation: 80 % of the work can be done with 20% of documentation. Documentation and modeling are not separate activities, and good modeling implies good documentation. Sahaj Computer Solutions 29Object Oriented Systems Development
  • 30. ObjectObject--Oriented DesignOriented Design The goal of object-oriented design (OOD) is to design the classes identified during the analysis phase and the user interface. During this phase, we identify and define additional objects and classes that supportadditional objects and classes that support implementation of the requirements. For example, during the design phase, you might need to add objects for the user interface to the system (e.g., data entry windows, browse windows). Sahaj Computer Solutions 30Object Oriented Systems Development
  • 31. ObjectObject--Oriented DesignOriented Design Object-oriented design and object- oriented analysis are distinct disciplines, but they can be intertwined. Object-oriented development is highly incremental; in other words, you startincremental; in other words, you start with object-oriented analysis, model it, create an object-oriented design, then do some more of each, again and again, gradually refining and completing models of the system: Sahaj Computer Solutions 31Object Oriented Systems Development
  • 32. ObjectObject--Oriented DesignOriented Design First, build the object model based on objects and their relationships, then iterate and refine the model: ◦ Design and refine classes.◦ Design and refine classes. ◦ Design and refine attributes. ◦ Design and refine methods. ◦ Design and refine structures. ◦ Design and refine associations. Sahaj Computer Solutions 32Object Oriented Systems Development
  • 33. ObjectObject--Oriented DesignOriented Design Here are a few guidelines to use in your object-oriented design: ◦ Reuse, rather than build, a new class. Know the existing classes. ◦ Design a large number of simple classes, rather than a small number of complex classes. ◦ Design methods. ◦ Critique what you have proposed. If possible, go back and refine the classes. Sahaj Computer Solutions 33Object Oriented Systems Development
  • 34. PrototypingPrototyping Although the object-oriented analysis and design describe the system features, it is important to construct a prototype of some of the key system componentssome of the key system components shortly after the products are selected. It has been said "a picture may be worth a thousand words, but a prototype is worth a thousand pictures" [author unknown]. Sahaj Computer Solutions 34Object Oriented Systems Development
  • 35. PrototypingPrototyping Essentially, prototype is a version of a software product developed in the early stages of the product’s life cycle for specific, experimental purposes. A prototype enables you understand how easy or difficult it will be to implement someeasy or difficult it will be to implement some of the features of the system. It also can give users a chance to comment on the usability and usefulness of the user interface design and lets you assess the fit between the software tools selected, the functional specification, and the user needs. Sahaj Computer Solutions 35Object Oriented Systems Development
  • 36. PrototypingPrototyping Prototyping can further define the use cases, and it actually makes use-case modeling much easier. Traditionally, prototyping was used as a "quick and dirty" way to test the design, user"quick and dirty" way to test the design, user interface, and so forth, something to be thrown away when the "industrial strength" version was developed. However, the new trend, such as using rapid application development, is to refine the prototype into the final product. Sahaj Computer Solutions 36Object Oriented Systems Development
  • 37. PrototypingPrototyping Prototypes have been categorized in various ways: ◦ A horizontal prototype is a simulation of the interface (that is, it has the entire user interface that will be in the full-featuredinterface that will be in the full-featured system) but contains no functionality. ◦ This has the advantages of being very quick to implement, providing a good overall feel of the system, and allowing users to evaluate the interface on the basis of their normal, expected perception of the system. Sahaj Computer Solutions 37Object Oriented Systems Development
  • 38. PrototypingPrototyping ◦ A vertical prototype is a subset of the system features with complete functionality. ◦ The principal advantage of this method is that the few implemented functions can be tested in great depth.depth. ◦ In practice, prototypes are a hybrid between horizontal and vertical. ◦ The major portions of the interface are established so the user can get the feel of the system, and features having a high degree of risk are prototyped with much more functionality Sahaj Computer Solutions 38Object Oriented Systems Development
  • 39. PrototypingPrototyping ◦ An analysis prototype is an aid for exploring the problem domain. ◦ This class of prototype is used to inform, the user and demonstrate the proof of a concept. ◦ It is not used as the basis of development,◦ It is not used as the basis of development, however, and is discarded when it has served its purpose. ◦ The final product will use the concepts exposed by the prototype, not its code. Sahaj Computer Solutions 39Object Oriented Systems Development
  • 40. PrototypingPrototyping ◦ A domain prototype is an aid for the incremental development of the ultimate software solution. ◦ It often is used as a tool for the staged delivery of subsystems to the users or otherdelivery of subsystems to the users or other members of the development team. ◦ It demonstrates the feasibility of the implementation and eventually will evolve into a deliverable product. Sahaj Computer Solutions 40Object Oriented Systems Development
  • 41. Implement: Component BasedImplement: Component Based DevelopmentDevelopment Manufacturers learned that benefits of moving from custom development to assembly from prefabricated components. Components based manufacturing makes many products available to the market placemany products available to the market place that otherwise would be expensive. Modern manufacturing has evolved to exploit two crucial factors underlying today’s market requirements: reduce cost and time to market by building from prebuilt, ready- tested components. Sahaj Computer Solutions 41Object Oriented Systems Development
  • 42. Component based developmentComponent based development Today’ software components are built and tested in-house, using a wide range of technologies like CASE TOOLS that allows Component-based development (CBD) is an industrialized approach to the softwarean industrialized approach to the software development process. Application development moves from custom development to assembly of prebuilt, pretested, reusable software components that operate with each other. Sahaj Computer Solutions 42Object Oriented Systems Development
  • 43. Component based developmentComponent based development Two basic ideas underlie component- based development. First, the application development can be improved significantly if applications can be assembled quickly from prefabricatedbe assembled quickly from prefabricated software components. Second, an increasingly large collection of interpretable software components could be made available to developers in both general and specialist catalogs. Sahaj Computer Solutions 43Object Oriented Systems Development
  • 44. Component based developmentComponent based development A CBD developer can assemble components to construct a complete software system. Components themselves may beComponents themselves may be constructed from other components and so on down to the level of prebuilt components or old-fashioned code written in a language such as C, assembler, or COBOL. Sahaj Computer Solutions 44Object Oriented Systems Development
  • 45. Rapid application development Rapid application development (RAD) is a set of tools and techniques that can be used to build an application faster than typically possible with traditional methods.methods. The term often is used in conjunction with software prototyping . It is widely held that, to achieve, RAD, the developer sacrifices the quality of the product for a quicker delivery. Sahaj Computer Solutions 45Object Oriented Systems Development
  • 46. Rapid application development This is not necessarily the case. RAD is concerned primarily with reducing the "time to market," not exclusively the software development time.software development time. In fact, one successful RAD application achieved a substantial reduction in time to market but realized no significant reduction in the individual software cycles Sahaj Computer Solutions 46Object Oriented Systems Development
  • 47. Rapid application development RAD does not replace the system development life cycle (see the Real-World case) but complements it, since it focuses more on process description and can be combined perfectly with the object-orientedcombined perfectly with the object-oriented approach. The task of RAD is to build the application quickly and incrementally implement the design and user requirements, through tools such as Delphi,VisualAge,Visual Basic, or PowerBuilder. Sahaj Computer Solutions 47Object Oriented Systems Development
  • 48. IncrementalTestingIncrementalTesting That's what happened at BankersTrust in 1992: "Our testing was very complete and good, but it was costing a lot of money and would add months onto a project,"and would add months onto a project," says Glenn Shimamoto, vice president of technology and strategic planning at the NewYork bank. Sahaj Computer Solutions 48Object Oriented Systems Development
  • 49. IncrementalTestingIncrementalTesting In one case, testing added nearly six months to the development of a funds transfer application. The problem was that developers would turn over applications to a quality assuranceturn over applications to a quality assurance (QA) group for testing only after development was completed. Since the QA group wasn't included in the initial plan, it had no clear picture of the system characteristics until it came time to test. Sahaj Computer Solutions 49Object Oriented Systems Development
  • 50. REUSABILITYREUSABILITY A major benefit of object-oriented system development is reusability, and this is the most difficult promise to deliver on. For an object to be really reusable, much more effort must be spent designing it. To deliver a reusable object, theTo deliver a reusable object, the development team must have the up-front time to design reusability into the object. The potential benefits of reuse are clear: increased reliability, reduced time and cost for development, and improved consistency Sahaj Computer Solutions 50Object Oriented Systems Development
  • 51. REUSABILITYREUSABILITY The reuse strategy can be based on the following: ◦ Information hiding (encapsulation). ◦ Conformance to naming standards. ◦ Creation and administration of an object◦ Creation and administration of an object repository. ◦ Encouragement by strategic management of reuse as opposed to constant redevelopment. ◦ Establishing targets for a percentage of the objects in the project to be reused (i.e., 50 percent reuse of objects). Sahaj Computer Solutions 51Object Oriented Systems Development