Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Tegarden Chapter 9: Moving on to Design John Wiley & Sons, Inc. Copyright 2005 Slide 1 Copyright © 2005 John Wiley & Sons, Inc. All rights reserved. Reproduction or translation of this work beyond that permitted in Section 117 of the 1976 United States Copyright Act without the express written permission of the copyright owner is unlawful. Request for further information should be addressed to the Permissions Department, John Wiley & Sons, Inc. The purchaser may make back-up copies for his/her own use only and not for redistribution or resale. The Publisher assumes no responsibility for errors, omissions, or damages, caused by the use of these programs or from the use of the information contained herein. Slide 2 Moving On To Design Chapter 9 + Practical Suggestions Slide 3 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” Slide 4 Avoid Classic Design Mistakes Reducing design time Feature creep Silver bullet syndrome Switching tools in mid-project Slide 5 What happens to the components of the SRS Use Cases Classes Interfaces Data Dictionary Slide 6 What happens to the components of the SRS Components The initial components of the SRS (use cases, classes, interfaces, data dictionary items, and project plan) are investigated, analyzed, and further decomposed to yield a more detailed descriptions of these items for the SDS and further deliverables. Slide 7 What happens to the components of the SRS Use Cases Many additional items may be discovered in design Additional use cases may be identified that reside inside original use cases Some may be reusable in other use cases. Additional steps may be identified requiring additional classes, attributes, methods or interfaces Additional scenarios may be identified and exception scenarios are more clearly defined. Slide 8 What happens to the components of the SRS Classes Many additional classes, attributes and methods may be discovered in design Design Classes are identified which are new to the class diagram. Our original class diagram contained only domain classes. Other types of classes are added here. Additional class attributes, or class methods for the original domain classes are added and also for the new design classes. Slide 9 What happens to the components of the SRS Interfaces Many additional interfaces and interface fields may be discovered in design Whole new interfaces may be discovered as a result of portions of a user interface being needed for more than one use case. Other new interfaces are identified for various reasons. Additional interface fields may be identified that were now known before this time. Slide 10 What is the biggest change. The use cases evolve and are certainly changed. However the biggest change is the class definitions. We will not only code the domain classes but MANY other classes. Lets take a look at what is referred to as the Extended Class Diagram. An extended class diagram is a class diagram that is used by the use case. Typically you do not draw the entire design class diagram but rather limit its scope to the use case. Slide 11 Extended Class Diagram For each use case – add other classes 1. Classes from the domain are included 2. Classes for User Interfaces 3. Classes for use case control 4. Classes for the Database 5. Classes for Patterns (architectural, design, and programming). 6. Classes for Frameworks. Slide 12