Download presentation
Presentation is loading. Please wait.
Published byGiles Barnett Modified over 8 years ago
1
Java Software Solutions Lewis and Loftus Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 1 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
2
Java Software Solutions Lewis and Loftus Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 2 An Iterative Development Process Recall from Chapter 11 our simple process model: Establish requirements Create design Implement code Test system
3
Java Software Solutions Lewis and Loftus Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 3 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
4
Java Software Solutions Lewis and Loftus Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 4 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
5
Java Software Solutions Lewis and Loftus Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 5 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
6
Java Software Solutions Lewis and Loftus Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 6 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
7
Java Software Solutions Lewis and Loftus Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 7 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
8
Java Software Solutions Lewis and Loftus Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 8 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
9
Java Software Solutions Lewis and Loftus Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 9 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
10
Java Software Solutions Lewis and Loftus Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 10 Slide Puzzle Architectural design User interface Board manager Movement control Board actions
11
Java Software Solutions Lewis and Loftus Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 11 Slide Puzzle User interface SolveReshuffle 1 4 7 23 5 6 8
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.