Presentation is loading. Please wait.

Presentation is loading. Please wait.

Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Tegarden Chapter 9: Moving on to Design.

Similar presentations


Presentation on theme: "Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Tegarden Chapter 9: Moving on to Design."— Presentation transcript:

1 Slide 1 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

2 Slide 2 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.

3 Slide 3 Moving On To Design Chapter 9 + Practical Suggestions

4 Slide 4 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”

5 Slide 5 REVISITING THE OBJECT- ORIENTED APPROACH TO ANALYSIS AND DESIGN

6 Slide 6 OO Analysis and Design Foundation Use-case driven Architecture centric Iterative and incremental

7 Slide 7 Combining Three Views Functional Static Dynamic

8 Slide 8 A “Minimalist” Approach Planning Gathering requirements Perform a series of “builds” Use results of each build as feedback for design and implementation

9 Slide 9 Avoid Classic Design Mistakes Reducing design time Feature creep Silver bullet syndrome Switching tools in mid-project

10 Slide 10 Factoring Creating modules that account for similarities and differences between units of interest New classes Generalization Aggregation Abstracting Refinement

11 Slide 11 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

12 Slide 12 Purpose of Layers Model-view-controller (MVC) architecture Models implement application logic Views and controllers do user interfaces Separating application logic from user interface logic

13 Slide 13 Layers

14 Slide 14 PACKAGES AND PACKAGE DIAGRAMS

15 Slide 15 Packages Logical grouping of UML elements Simplifies UML diagrams Groups related elements into a single higher-level element Dependency relationships Shows a dependency between packages

16 Slide 16 Syntax for Package Diagram A PACKAGEPackage A DEPENDENCY RELATIONSHIP

17 Slide 17 Package Diagram of Dependency Relationships Among Layers

18 Slide 18 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.

19 Slide 19 Package Diagram of Appointment System

20 Slide 20 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

21 Slide 21 Package Diagram of the PD Layer for the Appointment System

22 Slide 22 DESIGN STRATEGIES

23 Slide 23 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

24 Slide 24 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”

25 Slide 25 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”

26 Slide 26 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

27 Slide 27 Outsourcing Guidelines Keep lines of communication open with outsourcer Define and stabilize requirements before signing a contract View outsourcing relationship as partnership Select outsource vender carefully Assign person to manage relationship Don’t outsource what you don’t understand Emphasize flexible requirements, long-term relationships, and short-term contracts

28 Slide 28 Selecting a Design Strategy Business need In-house experience Project skills Project management Time frame

29 Slide 29 DEVELOPING THE ACTUAL DESIGN

30 Slide 30 The Alternative matrix Combines several feasibility analyses into one grid Revisits technical, economic, and organizational feasibility

31 Slide 31 What happens to the components of the SRS Use Cases Classes Interfaces Data Dictionary

32 Slide 32 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.

33 Slide 33 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.

34 Slide 34 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.

35 Slide 35 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.

36 Slide 36 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.

37 Slide 37 Extended Class Diagram For a use case add the following classes. 1. A CLASS for each use case that needs to be independently called the use case class controller class. 2. A CLASS for each of the independent user interfaces (called the View or Presentation Classes) 3. A CLASS for each of the independent controllers for each user interface. (need one to many controllers per interface) called the controller classes. 4. A CLASS for each of the database tables called the data access class, entity class, or database class. 5. Classes representing Patterns that may be used in design. 6. Classes representing Frameworks that may be integrated into the design.

38 Slide 38 The Alternative matrix Combines several feasibility analyses into one grid Revisits technical, economic, and organizational feasibility

39 Slide 39 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.

40 Slide 40 Summary When evolving analysis into design models, it is important to review the analysis models then add system environment information. 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.

41 Slide 41 Expanding the Domain Smalltalk is an object-oriented programming language with many very loyal adherents. For more information check the site at: http://www.smalltalk.org/main. html


Download ppt "Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Tegarden Chapter 9: Moving on to Design."

Similar presentations


Ads by Google