Slide 14.1 Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented and Classical Software Engineering Eighth Edition,

Slides:



Advertisements
Similar presentations
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Advertisements

10 Software Engineering Foundations of Computer Science ã Cengage Learning.
Design CS 524 – Software Engineering I Fall I 2007 – Sheldon X. Liang, PH.D. Jeff Nogy.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
Design. Overview Design and abstraction Action-oriented design Data flow analysis Transaction analysis Data-oriented design Object-oriented design Challenges.
© Copyright 2011 John Wiley & Sons, Inc.
Component-Level Design
Design Xiaojun Qi.
COMS W3156: Software Engineering, Fall 2001 Lecture #12: Design, Distributed Objects Janak J Parekh
Slide 8B.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
Slide 9.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Slide 1.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
Slide 7B.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Slide 8A.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Slide 7A.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Slide 6A.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Slide 7E.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Slide 10C.52 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
The chapter will address the following questions:
*Object-Oriented Design (Schach Chap 14)
Objects What are Objects Observations
OBJECT-ORIENTED ANALYSIS PHASE
Slide 12.1 © The McGraw-Hill Companies, CS 4310: Software Engineering Lecture 7 Systems Analysis Object-Oriented Design.
Implementation & Integration Phase Implementation, then integration: Implementation, then integration:  Each module is implemented by member of programmer.
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
Slide 12.1 Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented Software Engineering WCB/McGraw-Hill, 2008 Stephen.
CS540 Software Design Lecture 8 1 Lecture 8: Structured Design Anita S. Malik Adapted from Schach (2004) Chapter 13 and Appendix.
DESIGN.
Chapter 9 Moving to Design
1 Analysis Extracting from Use Cases to Create Diagrams.
Lecture 14 & 15: Object- Oriented Analysis Anita S. Malik Adapted from Schach (2004) Chapter 12.
Software Engineering SI334 Lessons 24, 26 – 28 & 30: Classical & Object-Oriented Design October 6, 8, 10, 15, 2014.
Slide 10.1 Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented and Classical Software Engineering Eighth Edition,
Slide 11C.104 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
Systems Analysis and Design in a Changing World, 3rd Edition
Chapter 12: Design Phase n 12.1 Design and Abstraction n 12.2 Action-Oriented Design n 12.3 Data Flow Analysis n Data Flow Analysis Example n
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Slide 13B.22 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
THE DESIGN WORKFLOW  Object-oriented design  The design workflow  The test workflow: Design  CASE tools for design  Challenges of the design workflow.
UHD::3320::CH121 DESIGN PHASE Chapter 12. UHD::3320::CH122 Design Phase Two Aspects –Actions which operate on data –Data on which actions operate Two.
Slide 20.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Slide 12A.1 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
Petri Nets Invented by Carl Adam Petri in 1962 Concurrent systems with timing problems  Synchronization, race problem, deadlock A petri net consists of.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
Slide 13.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach.
Slide 13.1 © The McGraw-Hill Companies, 2007 Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach.
THE ANALYSIS WORKFLOW  The specification document  Informal specifications  The analysis workflow  Extracting the entity classes  Functional modeling:
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Software Engineering Zhang Shuang
Slide 10.1 Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented Software Engineering WCB/McGraw-Hill, 2008 Stephen.
CS451 Software Maintenance Yugi Lee STB #555 (816) Note: This lecture was designed based on Stephen Schach’s.
Slide 12F.135 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Design CS 470 – Software Engineering I Sheldon X. Liang, PH.D.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2010 Stephen R. Schach
Basic Characteristics of Object-Oriented Systems
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Slide 13A.1 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
1 of 53 THE OBJECT-ORIENTED DESIGN WORKFLOW. 2 of 53 Overview The Design Workflow Traditional versus Object-Oriented Design Formats of the Attributes.
CompSci 280 S Introduction to Software Development
Object-Oriented Software Engineering WCB/McGraw-Hill, 2008 Stephen R
Software Engineering Design
CHAPTER 14 DESIGN.
Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach
Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach
Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
Presentation transcript:

Slide 14.1 Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill, 2011 Stephen R. Schach

Slide 14.2 Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. CHAPTER 14 DESIGN

Slide 14.3 Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Overview l Design and abstraction l Operation-oriented design l Data flow analysis l Transaction analysis l Data-oriented design l Object-oriented design l Object-oriented design: The elevator problem case study l Object-oriented design: The MSG Foundation case study

Slide 14.4 Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Overview (contd) l The design workflow l The test workflow: Design l Formal techniques for detailed design l Real-time design techniques l CASE tools for design l Metrics for design l Challenges of the design workflow

Slide 14.5 Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Data and Actions l Two aspects of a product – Actions that operate on data – Data on which actions operate l The two basic ways of designing a product – Operation-oriented design – Data-oriented design l Third way – Hybrid methods – For example, object-oriented design

Slide 14.6 Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved Design and Abstraction l Classical design activities – Architectural design – Detailed design – Design testing l Architectural design – Input: Specifications – Output: Modular decomposition l Detailed design – Each module is designed » Specific algorithms, data structures

Slide 14.7 Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved Operation-Oriented Design l Data flow analysis – Use it with most specification methods (Structured Systems Analysis here) l Key point: We have detailed action information from the DFD Figure 14.1

Slide 14.8 Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Data Flow Analysis l Every product transforms input into output l Determine – “Point of highest abstraction of input” – “Point of highest abstract of output” Figure 14.2

Slide 14.9 Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Data Flow Analysis (contd) l Decompose the product into three modules l Repeat stepwise until each module has high cohesion – Minor modifications may be needed to lower the coupling

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved Mini Case Study: Word Counting l Example: Design a product which takes as input a file name, and returns the number of words in that file (like UNIX wc ) Figure 14.3

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Mini Case Study: Word Counting (contd) l First refinement l Now refine the two modules of communicational cohesion Figure 14.4

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Mini Case Study: Word Counting (contd) l Second refinement l All eight modules now have functional cohesion Figure 14.5

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Word Counting: Detailed Design l The architectural design is complete – So proceed to the detailed design l Two formats for representing the detailed design: – Tabular – Pseudocode (PDL — program design language)

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Detailed Design: Tabular Format Figure 14.6(a)

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Detailed Design: Tabular Format (contd) Figure 14.6(b)

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Detailed Design: Tabular Format (contd) Figure 14.6(c)

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Detailed Design: Tabular Format (contd) Figure 14.6(d)

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Detailed Design: PDL Format Figure 14.7

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved Data Flow Analysis Extensions l In real-world products, there is – More than one input stream, and – More than one output stream

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Data Flow Analysis Extensions (contd) l Find the point of highest abstraction for each stream l Continue until each module has high cohesion – Adjust the coupling if needed Figure 14.8

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved Transaction Analysis l DFA is poor for transaction processing products – Example: ATM (automated teller machine) Figure 14.9

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Transaction Analysis (contd) l This is a poor design – There is logical cohesion and control coupling

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Corrected Design Using Transaction Analysis l Software reuse Have one generic edit module, one generic update module l Instantiate them 5 times Figure 14.10

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved Data-Oriented Design l Basic principle – The structure of a product must conform to the structure of its data l Three very similar methods – Michael Jackson [1975], Warnier [1976], Orr [1981] l Data-oriented design – Has never been as popular as action-oriented design – With the rise of OOD, data-oriented design has largely fallen out of fashion

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved Object-Oriented Design (OOD) l Aim – Design the product in terms of the classes extracted during OOA l If we are using a language without inheritance (e.g., C, Ada 83) – Use abstract data type design l If we are using a language without a type statement (e.g., FORTRAN, COBOL) – Use data encapsulation

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented Design Steps l OOD consists of two steps: l Step 1.Complete the class diagram – Determine the formats of the attributes – Assign each method, either to a class or to a client that sends a message to an object of that class l Step 2.Perform the detailed design

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented Design Steps (contd) l Step 1. Complete the class diagram – The formats of the attributes can be directly deduced from the analysis artifacts l Example: Dates – U.S. format (mm/mm/yyyy) – European format (dd/mm/yyyy) – In both instances, 10 characters are needed l The formats could be added during analysis – To minimize rework, never add an item to a UML diagram until strictly necessary

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented Design Steps (contd) l Step 1. Complete the class diagram – Assign each method, either to a class or to a client that sends a message to an object of that class l Principle A: Information hiding l Principle B: If an operation is invoked by many clients of an object, assign the method to the object, not the clients l Principle C: Responsibility-driven design

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved Object-Oriented Design: The Elevator Problem Case Study l Step 1. Complete the class diagram l Consider the second iteration of the CRC card for the elevator controller

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. OOD: Elevator Problem Case Study (contd) l CRC card Figure 13.9 (again)

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. OOD: Elevator Problem Case Study (contd) l Responsibilities – 8. Start timer – 10. Check requests, and – 11. Update requests are assigned to the elevator controller l Because they are carried out by the elevator controller

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. OOD: Elevator Problem Case Study (contd) l The remaining eight responsibilities have the form – “Send a message to another class to tell it do something” l These should be assigned to that other class – Responsibility-driven design – Safety considerations Methods open doors, clos e doors are assigned to class Elevator Doors Class Methods turn off bu tton, turn on button are assigned to classes Floor Button Class and Elevator Problem Class

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Figure Detailed Class Diagram: Elevator Problem

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Detailed Design: Elevator Problem Detailed design of elevatorEventLoop is constructed from the statechart Figure 14.12

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved Object-Oriented Design: The MSG Foundation Case Study l Step 1. Complete the class diagram l The final class diagram is shown in the next slide – Date Class is needed for C++ – Java has built-it functions for handling dates

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Final Class Diagram: MSG Foundation Figure 14.13

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Class Diagram with Attributes: MSG Foundation Figure 14.14

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Assigning Methods to Classes: MSG Foundation Example: setAssetNumber, getAssetNumber – From the inheritance tree, these accessor/mutator methods should be assigned to Asset Class – So that they can be inherited by both subclasses of Asset Class (Investment Class and Mortgage Class) Figure 14.15

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Assigning Methods to Classes: MSG Foundation (contd) l Assigning the other methods is equally straightforward – See Appendix G

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Detailed Design: MSG Foundation l Determine what each method does l Represent the detailed design in an appropriate format – PDL (pseudocode) here

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Method EstimateFundsForWeek::computeEstimatedFunds Figure 14.16

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Method Mortgage::totalWeeklyNetPayments Figure 14.17

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved The Design Workflow l Summary of the design workflow: – The analysis workflow artifacts are iterated and integrated until the programmers can utilize them l Decisions to be made include: – Implementation language – Reuse – Portability

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. The Design Workflow (contd) l The idea of decomposing a large workflow into independent smaller workflows (packages) is carried forward to the design workflow l The objective is to break up the upcoming implementation workflow into manageable pieces – Subsystems l It does not make sense to break up the MSG Foundation case study into subsystems — it is too small

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. The Design Workflow (contd) l Why the product is broken into subsystems: – It is easier to implement a number of smaller subsystems than one large system – If the subsystems are independent, they can be implemented by programming teams working in parallel » The software product as a whole can then be delivered sooner

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. The Design Workflow (contd) l The architecture of a software product includes – The various components – How they fit together – The allocation of components to subsystems l The task of designing the architecture is specialized – It is performed by a software architect

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. The Design Workflow (contd) l The architect needs to make trade-offs – Every software product must satisfy its functional requirements (the use cases) – It also must satisfy its nonfunctional requirements, including » Portability, reliability, robustness, maintainability, and security – It must do all these things within budget and time constraints l The architect must assist the client by laying out the trade-offs

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. The Design Workflow (contd) l It is usually impossible to satisfy all the requirements, functional and nonfunctional, within the cost and time constraints – Some sort of compromises have to be made l The client has to – Relax some of the requirements; – Increase the budget; and/or – Move the delivery deadline

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. The Design Workflow (contd) l The architecture of a software product is critical – The requirements workflow can be fixed during the analysis workflow – The analysis workflow can be fixed during the design workflow – The design workflow can be fixed during the implementation workflow l But there is no way to recover from a suboptimal architecture – The architecture must immediately be redesigned

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved The Test Workflow: Design l Design reviews must be performed – The design must correctly reflect the specifications – The design itself must be correct l Transaction-driven inspections – Essential for transaction-oriented products – However, they are insufficient — specification-driven inspections are also needed

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved The Test Workflow: The MSG Foundation Case Study l A design inspection must be performed – All aspects of the design must be checked l Even if no faults are found, the design may be changed during the implementation workflow

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved Formal Techniques for Detailed Design l Implementing a complete product and then proving it correct is hard l However, use of formal techniques during detailed design can help – Correctness proving can be applied to module-sized pieces – The design should have fewer faults if it is developed in parallel with a correctness proof – If the same programmer does the detailed design and implementation » The programmer will have a positive attitude to the detailed design » This should lead to fewer faults

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved Real-Time Design Techniques l Difficulties associated with real-time systems – Inputs come from the real world » Software has no control over the timing of the inputs – Frequently implemented on distributed software » Communications implications » Timing issues – Problems of synchronization » Race conditions » Deadlock (deadly embrace)

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Real-Time Design Techniques (contd) l The major difficulty in the design of real-time systems – Determining whether the timing constraints are met by the design

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Real-Time Design Techniques (contd) l Most real-time design methods are extensions of non-real-time methods to real-time l We have limited experience in the use of any real- time methods l The state-of-the-art is not where we would like it to be

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved CASE Tools for Design l It is critical to check that the design artifacts incorporate all aspects of the analysis – To handle analysis and design artifacts we therefore need upperCASE tools l UpperCASE tools – Are built around a data dictionary – They incorporate a consistency checker, and – Screen and report generators – Management tools are sometimes included, for » Estimating » Planning

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. CASE Tools for Design (contd) l Examples of tools for object-oriented design – Commercial tools » Software through Pictures » IBM Rational Rose » Together – Open-source tool » ArgoUML

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved Metrics for Design l Measures of design quality – Cohesion – Coupling – Fault statistics l Cyclomatic complexity is problematic – Data complexity is ignored – It is not used much with the object-oriented paradigm

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Metrics for Design (contd) l Metrics have been put forward for the object- oriented paradigm – They have been challenged on both theoretical and experimental grounds

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved Challenges of the Design Phase l The design team should not do too much – The detailed design should not become code l The design team should not do too little – It is essential for the design team to produce a complete detailed design

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Challenges of the Design Phase (contd) l We need to “grow” great designers l Potential great designers must be – Identified, – Provided with a formal education, – Apprenticed to great designers, and – Allowed to interact with other designers l There must be a specific career path for these designers, with appropriate rewards

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Overview of the MSG Foundation Case Study Figure 14.18

Slide Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Overview of the Elevator Problem Case Study Figure 14.19