11
Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 1 Java Software Solutions Lewis and Loftus Software Development Process II -- Introduction We now extend the process established in Chapter 11 to include more object- oriented issues Chapter 15 focuses on: evolutionary development object-oriented design and implementation Slide Puzzle problem

Java Software Solutions Lewis and Loftus Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 1 Software Development Process

Embed Size (px)

Citation preview

Page 1: Java Software Solutions Lewis and Loftus Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 1 Software Development Process

Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 1

Java Software Solutions Lewis and Loftus

Software Development Process II -- Introduction

• We now extend the process established in Chapter 11 to include more object-oriented issues

• Chapter 15 focuses on:

– evolutionary development– object-oriented design and implementation– Slide Puzzle problem

Page 2: Java Software Solutions Lewis and Loftus Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 1 Software Development Process

Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 2

Java Software Solutions Lewis and Loftus

An Iterative Development Process

• Recall from Chapter 11 our simple process model:

Establishrequirements

Createdesign

Implementcode

Testsystem

Page 3: Java Software Solutions Lewis and Loftus Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 1 Software Development Process

Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 3

Java Software Solutions Lewis and Loftus

An Evolutionary Development Model

• Divide the process of design into

– architectural design - primary classes and interaction– detailed design - specific classes, methods, and

algorithms

• Create a refinement cycle

• Each refinement focuses on one aspect of the system

• As each refinement is addressed, the system evolves

Page 4: Java Software Solutions Lewis and Loftus Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 1 Software Development Process

Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 4

Java Software Solutions Lewis and Loftus

An Evolutionary Development Model

Establish requiremens

Architectural design

Establish refinement

scope

Unit and integration

test

Implementation

System test

Identify classes & objects

Identify relationships

Detailed design

Page 5: Java Software Solutions Lewis and Loftus Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 1 Software Development Process

Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 5

Java Software Solutions Lewis and Loftus

Refinement Cycle

• Establish refinement scope

• Define the specific nature of the next refinement

• Such as:

– user interface– a particular algorithm– a particular requirement

• Choosing the most appropriate next refinement is important and requires experience

Page 6: Java Software Solutions Lewis and Loftus Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 1 Software Development Process

Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 6

Java Software Solutions Lewis and Loftus

Refinement Cycle

• Identifying classes and objects

• The ones that relate to the current refinement

• Can often define by focusing on the roles they play in the system

• Consider reusing existing classes

Page 7: Java Software Solutions Lewis and Loftus Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 1 Software Development Process

Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 7

Java Software Solutions Lewis and Loftus

Refinement Cycle

• Identifying relationships

• Inheritance (is-a) relationships

• The uses relationship establishes another kind of bond between classes

• Class A uses class B in some way

• Can express cardinality

• Example: A Car has (uses) four wheels

Page 8: Java Software Solutions Lewis and Loftus Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 1 Software Development Process

Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 8

Java Software Solutions Lewis and Loftus

Refinement Cycle

• Detailed design, implementation and test

• Design of specific methods and their translation into code

• A unit test focuses on one particular component, such as a method or class

• An integration test focuses on the interaction between components

Page 9: Java Software Solutions Lewis and Loftus Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 1 Software Development Process

Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 9

Java Software Solutions Lewis and Loftus

Slide Puzzle

• As we did in Chapter 11, let’s explore a larger example

• Slide Puzzle

– square board of tiles– user shifts tiles one at a time– goal is a particular configuration

• We will use simple numbers as the tile faces, though it is often done with pictures

• The design should take this potential modification into account

Page 10: Java Software Solutions Lewis and Loftus Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 1 Software Development Process

Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 10

Java Software Solutions Lewis and Loftus

Slide Puzzle

• Architectural design

User interface

Board manager

Movement control

Board actions

Page 11: Java Software Solutions Lewis and Loftus Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 1 Software Development Process

Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 11

Java Software Solutions Lewis and Loftus

Slide Puzzle

• User interface

Solve Reshuffle

1

4

7

2 3

5 6

8