java software solutions lewis and loftus chapter 15 copyright 1997 by john lewis and william loftus....
TRANSCRIPT
![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](https://reader036.vdocument.in/reader036/viewer/2022082821/5697bfda1a28abf838cb0003/html5/thumbnails/1.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022082821/5697bfda1a28abf838cb0003/html5/thumbnails/2.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022082821/5697bfda1a28abf838cb0003/html5/thumbnails/3.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022082821/5697bfda1a28abf838cb0003/html5/thumbnails/4.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022082821/5697bfda1a28abf838cb0003/html5/thumbnails/5.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022082821/5697bfda1a28abf838cb0003/html5/thumbnails/6.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022082821/5697bfda1a28abf838cb0003/html5/thumbnails/7.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022082821/5697bfda1a28abf838cb0003/html5/thumbnails/8.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022082821/5697bfda1a28abf838cb0003/html5/thumbnails/9.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022082821/5697bfda1a28abf838cb0003/html5/thumbnails/10.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022082821/5697bfda1a28abf838cb0003/html5/thumbnails/11.jpg)
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