Object-Oriented Systems …sun.csim.scu.edu.tw/~chiang/course/4OOT/Chap3.pdfObject-Oriented Systems...

Post on 29-May-2019

243 views 0 download

transcript

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.