Object-Oriented Systems …sun.csim.scu.edu.tw/~chiang/course/4OOT/Chap3.pdfObject-Oriented Systems...
Transcript of Object-Oriented Systems …sun.csim.scu.edu.tw/~chiang/course/4OOT/Chap3.pdfObject-Oriented Systems...
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Chapter 3:Object-Oriented SystemsDevelopment Life Cycle
Object-Oriented SystemsObject-Oriented SystemsDevelopmentDevelopment:Using the Unified ModelingUsing the Unified ModelingLanguageLanguage
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Goals
•The software developmentprocess•Building high-quality software•Object-oriented systems
development
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Goals (Con’t)
•Use-case driven systemsdevelopment•Prototyping•Rapid application development•Component-based development•Continuous testing and reusability
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Software ProcessThe essence of the software process
is the transformation of• Users’ needs to•The application domain into•A software solution.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Software Process (Con’t)
Need
Problem
Statements
Analysis
DesignImplementation
Detail
System
Software
Product
Transformation 1
Transformation 2
Transformation 3
What are the uses of the system.?
Needs
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Traditional Waterfall Approachto Systems Development
W h a t
H o w
D o It
T e st
U se
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Software Quality
•There are two basic approaches tosystems testing.•We can test a system according to
how it has been built.•Alternatively, we can test the
system with respect to what itshould do.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Quality Measures
•Systems can be evaluated in termsof four quality measures:–Correspondence–Correctness–Verification–Validation
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Quality Measures (Con’t)•Correspondence measures how
well the delivered systemcorresponds to the needs of theoperational environment.
D e s i g n
C o r r e s p o n d e n c e
S o f t w a r eN e e d s R e q u i r e m e n t s
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
How would you determineCorrespondence?
• It cannot be determined until thesystem is in place.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Quality Measures (Con’t)•Correctness measures the
consistency of the productrequirements with respect to thedesign specification.
D e s ig n
C o r r e c tn e s s
S o f tw a r eN e e d s R e q u ir e m e n ts
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Quality Measures (Con’t)•Verification - "Am I building the
product right?"• Validation - "Am I building the
right product?"
D e s ig n
V e r i f ic a t io n
V a l id a tio n
S o f tw a r eN e e d s R e q u ir e m e n ts
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Quality Measures (Con’t)•Verification is to predict the
correctness.•Validation is to predict the
correspondence.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Object-Oriented SystemsDevelopment Approach
Iteration and Reuse
Build use-casemodel Validate/ Test
O-O Analysis
BuildUse-Cases
Design classes,defineattributes andmethods
O-O DesignO-O Implementation
Using TOOLSCASE and/orOO programing languages
Usersatisfaction Usability &QA Tests
Build object& dynamicmodel
Objectanalysis
Build UIandprototype
User satisfaction test,usability testquality assurance test
Validate/test
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Object-Oriented SystemsDevelopment activities
•Object-oriented analysis.•Object-oriented design.•Prototyping.•Component-based development.• Incremental testing.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Use-case driven systemsdevelopment
Use casemodels/documnet
Dynamic model
OOA: Use caseModel
Objectinteractiondiagram, etc.
OOA: Courses ofaction
Testing: UsageScenarios
OOA: IdentifyActors
OOA: ObjectModel
OOD: Dynamicmodel
DesignclassesUI
•Use Case, is a name for a scenario todescribe the user–computer systeminteraction.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Object-Oriented Analysis
•OO analysis concerns withdetermining the systemrequirements and identifyingclasses and their relationships thatmake up an application.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Object-Oriented Design
•The goal of object-oriented design(OOD) is to design:•The classes identified during the
analysis phase,•The user interface and•Data access.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Object-Oriented Design (Con’t)•OOD activities include:–Design and refine classes.•Design and refine attributes.•Design and refine methods.•Design and refine structures.•Design and refine associations.
–Design User Interface or Viewlayer classes.– Design data Access Layer
classes.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Prototyping
•A Prototype enables you to fullyunderstand how easy or difficult itwill be to implement some of thefeatures of the system.• It can also give users a chance to
comment on the usability andusefulness of the design.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Types of Prototypes
•A horizontal prototype is asimulation of the interface.•A vertical prototype is a subset of
the system features with completefunctionality.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Types of Prototypes (Con’t)
•An analysis prototype is an aid forexploring the problem domain.•A domain prototype is an aid for
the incremental development ofthe ultimate software solution.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Component-based development(CBD)
•CBD is an industrialized approachto the software developmentprocess.•Application development moves
from custom development toassembly of pre-built, pre-tested,reusable software componentsthat operate with each other.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Component-based development(CBD) Con’t)
Component wrapper
Component wrapper Component wrapper
Component wrapper
Legacy screens
Legacy programs Legacy data
Legacy software packages
Subselect and enter title here
Open Connectivity
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Rapid Application Development(RAD)
•RAD is a set of tools andtechniques that can be used tobuild an application faster thantypically possible with traditionalmethods.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Rapid Application Development(RAD) (Con’t)
•RAD does not replace SDLC butcomplements it, since it focusesmore on process description andcan be combined perfectly withthe object-oriented approach.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Incremental Testing•Software development and all of
its activities including testing arean iterative process.• If you wait until after
development to test an applicationfor bugs and performance,you could be wastingthousands of dollars andhours of time.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Reusability•A major benefit of object-oriented
systems development isreusability, and this is the mostdifficult promise to deliver on.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Reuse strategy• Information hiding
(encapsulation).•Conformance to naming
standards.•Creation and administration of an
object repository.
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Reuse strategy (Con’t)
•Encouragement by strategicmanagement of reuse as opposedto constant redevelopment.•Establishing targets for a
percentage of the objects in theproject to be reused (i.e., 50percent reuse of objects).
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill
Summary•The essence of the software
process is the transformation ofusers’ needs into a softwaresolution.•The O-O SDLC is an iterative
process and is divided intoanalysis, design, prototyping/implementation, and testing.