31
Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill Chapter 3: Object-Oriented Systems Development Life Cycle Object-Oriented Systems Object-Oriented Systems Development Development: Using the Unified Modeling Using the Unified Modeling Language Language

Object-Oriented Systems …sun.csim.scu.edu.tw/~chiang/course/4OOT/Chap3.pdfObject-Oriented Systems Development:Development Using the Unified Modeling Language Object-Oriented Systems

  • Upload
    lykhanh

  • View
    242

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Object-Oriented Systems …sun.csim.scu.edu.tw/~chiang/course/4OOT/Chap3.pdfObject-Oriented Systems Development:Development Using the Unified Modeling Language Object-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

Page 2: Object-Oriented Systems …sun.csim.scu.edu.tw/~chiang/course/4OOT/Chap3.pdfObject-Oriented Systems Development:Development Using the Unified Modeling Language Object-Oriented Systems

Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill

Goals

•The software developmentprocess•Building high-quality software•Object-oriented systems

development

Page 3: Object-Oriented Systems …sun.csim.scu.edu.tw/~chiang/course/4OOT/Chap3.pdfObject-Oriented Systems Development:Development Using the Unified Modeling Language Object-Oriented Systems

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

Page 4: Object-Oriented Systems …sun.csim.scu.edu.tw/~chiang/course/4OOT/Chap3.pdfObject-Oriented Systems Development:Development Using the Unified Modeling Language Object-Oriented Systems

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.

Page 5: Object-Oriented Systems …sun.csim.scu.edu.tw/~chiang/course/4OOT/Chap3.pdfObject-Oriented Systems Development:Development Using the Unified Modeling Language Object-Oriented Systems

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

Page 6: Object-Oriented Systems …sun.csim.scu.edu.tw/~chiang/course/4OOT/Chap3.pdfObject-Oriented Systems Development:Development Using the Unified Modeling Language Object-Oriented Systems

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

Page 7: Object-Oriented Systems …sun.csim.scu.edu.tw/~chiang/course/4OOT/Chap3.pdfObject-Oriented Systems Development:Development Using the Unified Modeling Language Object-Oriented Systems

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.

Page 8: Object-Oriented Systems …sun.csim.scu.edu.tw/~chiang/course/4OOT/Chap3.pdfObject-Oriented Systems Development:Development Using the Unified Modeling Language Object-Oriented Systems

Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill

Quality Measures

•Systems can be evaluated in termsof four quality measures:–Correspondence–Correctness–Verification–Validation

Page 9: Object-Oriented Systems …sun.csim.scu.edu.tw/~chiang/course/4OOT/Chap3.pdfObject-Oriented Systems Development:Development Using the Unified Modeling Language Object-Oriented Systems

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

Page 10: Object-Oriented Systems …sun.csim.scu.edu.tw/~chiang/course/4OOT/Chap3.pdfObject-Oriented Systems Development:Development Using the Unified Modeling Language Object-Oriented Systems

Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill

How would you determineCorrespondence?

• It cannot be determined until thesystem is in place.

Page 11: Object-Oriented Systems …sun.csim.scu.edu.tw/~chiang/course/4OOT/Chap3.pdfObject-Oriented Systems Development:Development Using the Unified Modeling Language Object-Oriented Systems

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

Page 12: Object-Oriented Systems …sun.csim.scu.edu.tw/~chiang/course/4OOT/Chap3.pdfObject-Oriented Systems Development:Development Using the Unified Modeling Language Object-Oriented Systems

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

Page 13: Object-Oriented Systems …sun.csim.scu.edu.tw/~chiang/course/4OOT/Chap3.pdfObject-Oriented Systems Development:Development Using the Unified Modeling Language Object-Oriented Systems

Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill

Quality Measures (Con’t)•Verification is to predict the

correctness.•Validation is to predict the

correspondence.

Page 14: Object-Oriented Systems …sun.csim.scu.edu.tw/~chiang/course/4OOT/Chap3.pdfObject-Oriented Systems Development:Development Using the Unified Modeling Language Object-Oriented Systems

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

Page 15: Object-Oriented Systems …sun.csim.scu.edu.tw/~chiang/course/4OOT/Chap3.pdfObject-Oriented Systems Development:Development Using the Unified Modeling Language Object-Oriented Systems

Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill

Object-Oriented SystemsDevelopment activities

•Object-oriented analysis.•Object-oriented design.•Prototyping.•Component-based development.• Incremental testing.

Page 16: Object-Oriented Systems …sun.csim.scu.edu.tw/~chiang/course/4OOT/Chap3.pdfObject-Oriented Systems Development:Development Using the Unified Modeling Language Object-Oriented Systems

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.

Page 17: Object-Oriented Systems …sun.csim.scu.edu.tw/~chiang/course/4OOT/Chap3.pdfObject-Oriented Systems Development:Development Using the Unified Modeling Language Object-Oriented Systems

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.

Page 18: Object-Oriented Systems …sun.csim.scu.edu.tw/~chiang/course/4OOT/Chap3.pdfObject-Oriented Systems Development:Development Using the Unified Modeling Language Object-Oriented Systems

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.

Page 19: Object-Oriented Systems …sun.csim.scu.edu.tw/~chiang/course/4OOT/Chap3.pdfObject-Oriented Systems Development:Development Using the Unified Modeling Language Object-Oriented Systems

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.

Page 20: Object-Oriented Systems …sun.csim.scu.edu.tw/~chiang/course/4OOT/Chap3.pdfObject-Oriented Systems Development:Development Using the Unified Modeling Language Object-Oriented Systems

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.

Page 21: Object-Oriented Systems …sun.csim.scu.edu.tw/~chiang/course/4OOT/Chap3.pdfObject-Oriented Systems Development:Development Using the Unified Modeling Language Object-Oriented Systems

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.

Page 22: Object-Oriented Systems …sun.csim.scu.edu.tw/~chiang/course/4OOT/Chap3.pdfObject-Oriented Systems Development:Development Using the Unified Modeling Language Object-Oriented Systems

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.

Page 23: Object-Oriented Systems …sun.csim.scu.edu.tw/~chiang/course/4OOT/Chap3.pdfObject-Oriented Systems Development:Development Using the Unified Modeling Language Object-Oriented Systems

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.

Page 24: Object-Oriented Systems …sun.csim.scu.edu.tw/~chiang/course/4OOT/Chap3.pdfObject-Oriented Systems Development:Development Using the Unified Modeling Language Object-Oriented Systems

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

Page 25: Object-Oriented Systems …sun.csim.scu.edu.tw/~chiang/course/4OOT/Chap3.pdfObject-Oriented Systems Development:Development Using the Unified Modeling Language Object-Oriented Systems

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.

Page 26: Object-Oriented Systems …sun.csim.scu.edu.tw/~chiang/course/4OOT/Chap3.pdfObject-Oriented Systems Development:Development Using the Unified Modeling Language Object-Oriented Systems

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.

Page 27: Object-Oriented Systems …sun.csim.scu.edu.tw/~chiang/course/4OOT/Chap3.pdfObject-Oriented Systems Development:Development Using the Unified Modeling Language Object-Oriented Systems

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.

Page 28: Object-Oriented Systems …sun.csim.scu.edu.tw/~chiang/course/4OOT/Chap3.pdfObject-Oriented Systems Development:Development Using the Unified Modeling Language Object-Oriented Systems

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.

Page 29: Object-Oriented Systems …sun.csim.scu.edu.tw/~chiang/course/4OOT/Chap3.pdfObject-Oriented Systems Development:Development Using the Unified Modeling Language Object-Oriented Systems

Object-Oriented Systems Development Bahrami ? Irwin/ McGraw-Hill

Reuse strategy• Information hiding

(encapsulation).•Conformance to naming

standards.•Creation and administration of an

object repository.

Page 30: Object-Oriented Systems …sun.csim.scu.edu.tw/~chiang/course/4OOT/Chap3.pdfObject-Oriented Systems Development:Development Using the Unified Modeling Language Object-Oriented Systems

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).

Page 31: Object-Oriented Systems …sun.csim.scu.edu.tw/~chiang/course/4OOT/Chap3.pdfObject-Oriented Systems Development:Development Using the Unified Modeling Language Object-Oriented Systems

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.