Top Banner
1 Moving On To Design Chapter 9
34

1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.

Dec 13, 2015

Download

Documents

Cory Hawkins
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.

1

Moving On To Design

Chapter 9

Page 2: 1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.

2

Key Ideas

The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase is to figure out how to provide it.

The steps in both analysis and design phases are highly interrelated and may require much “going back and forth”

Page 3: 1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.

3

Avoid Classic Design Mistakes

Reducing design time

Feature creep

Silver bullet syndrome

Switching tools in mid-project

Page 4: 1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.

4

REVISITING THE OBJECT-ORIENTED APPROACH TO

ANALYSIS AND DESIGN

Page 5: 1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.

5

OO Analysis and Design Foundation

Use-case driven

Architecture centric

Iterative and incremental

Page 6: 1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.

6

Combining Three Views

Functional

Static

Dynamic

Page 7: 1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.

7

A “Minimalist” Approach

Planning

Gathering requirements

Perform a series of “builds”

Use results of each build as feedback for design and implementation

Page 8: 1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.

8

EVOLVING THE ANALYSIS MODELS INTO DESIGN

MODELS

Page 9: 1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.

9

Factoring

Creating modules that account for similarities and differences between units of interest

New classesGeneralization

Aggregation

Abstracting

Refinement

Page 10: 1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.

10

Partitions and Collaborations

Creating “subsystems” or larger units

Grouping units that collaborate

May have collaboration among units or partitions

The more messages or contracts between objects, the more likely they are in the same partition

Page 11: 1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.

11

Layers

Model-view-controller (MVC) architecture

Separating application logic from user interface logic

Page 12: 1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.

12

Layers

FOUNDATION Data Enumeration

SYSTEM ARCHITECTURE Socket Server URL Connection

HUMAN-COMPUTER INTERACTION Button Panel

DATA MANAGEMENT DataInputStreamFileInputStream

PROBLEM DOMAIN Employee Customer

Page 13: 1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.

13

PACKAGES AND PACKAGE DIAGRAMS

Page 14: 1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.

14

Package

A general construct that groups units together

Used to reduce complexity of models

A package diagram shows packages only

Page 15: 1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.

15

Syntax for Package Diagram

A PACKAGE Package

A DEPENDENCY RELATIONSHIP

Page 16: 1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.

16

Modification Dependency

Indicates that a change in one package could cause a change to be required in another package.

Example:A change in one method will cause the interface for all objects of this class to change. Therefore, all classes that have objects that send messages to the instances of the modified class could have to be modified.

Page 17: 1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.

17

Package Diagram of Dependency Relationships Among Layers

Page 18: 1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.

18

Package Diagram of Appointment System

Page 19: 1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.

19

Steps for Identifying Packages and Building Package Diagrams

Set the context

Cluster classes together based on shared relationships

Model clustered classes as a package

Identify dependency relationships among packages

Place dependency relationships between packages

Page 20: 1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.

20

Package Diagram of the PD Layer for the Appointment System

Page 21: 1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.

21

Page 22: 1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.

22

Page 23: 1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.

23

DESIGN STRATEGIES

Page 24: 1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.

24

Custom Development

Allows for meeting highly specialized requirements

Allows flexibility and creativity in solving problems

Easier to change components

Builds personnel skills

May tax firm’s resources

May add significant risk

Page 25: 1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.

25

Packaged Software

Software already written

May be more efficient

May be more thoroughly tested and proven

May range from components to tools to whole enterprise systems

Must accept functionality provided

May require change in how the firm does business

May require significant “customization” or “workarounds”

Page 26: 1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.

26

System Integration

The process of combining packages, legacy systems, and new software

Key challenge is integrating data

Write data in the same format

Revise existing data formats

Develop “object wrappers”

Page 27: 1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.

27

Outsourcing

Hire external firm to create system

May have more skills

May extend existing resources

Never outsource what you don’t understand

Carefully choose vendor

Prepare contract and payment style carefully

Page 28: 1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.

28

Selecting a Design Strategy

Business need

In-house experience

Project skills

Project management

Time frame

Page 29: 1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.

29

DEVELOPING THE ACTUAL DESIGN

Page 30: 1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.

30

The Alternative matrix

Combines several feasibility analyses into one grid

Revisits technical, economic, and organizational feasibility

Page 31: 1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.

31

Request for Proposals

Description of the system you propose to be built

Vendors, developers, service providers respond with proposals including how they will address needs as well as stating cost and time requirements.

Page 32: 1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.

32

Page 33: 1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.

33

Summary

The object-oriented approach to analysis and design is based on use-case modeling, is architecture centric, and supports functional, static and dynamic views of the system.

When evolving analysis into design models, it is important to review the analysis models then add system environment information.

Page 34: 1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.

34

Summary

Packages and package diagrams help provide structure and less complex views of the new system.

Custom building, packages, and outsourcing are alternative ways of creating the new system.

The alternative matrix can help with the selection of a design strategy.