1. Trang chủ
  2. » Công Nghệ Thông Tin

Seventh Edition - Chương 13 ppsx

61 313 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 61
Dung lượng 4,66 MB

Nội dung

Slide 13.1 © The McGraw-Hill Companies, 2007 Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 13.2 © The McGraw-Hill Companies, 2007 CHAPTER 13 DESIGN Slide 13.3 © The McGraw-Hill Companies, 2007 Overview  Design and abstraction  Operation-oriented design  Data flow analysis  Transaction analysis  Data-oriented design  Object-oriented design  Object-oriented design: The elevator problem case study  Object-oriented design: The MSG Foundation case study Slide 13.4 © The McGraw-Hill Companies, 2007 Overview (contd)  The design workflow  The test workflow: Design  Formal techniques for detailed design  Real-time design techniques  CASE tools for design  Metrics for design  Challenges of the design workflow Slide 13.5 © The McGraw-Hill Companies, 2007 Data and Actions  Two aspects of a product  Actions that operate on data  Data on which actions operate  The two basic ways of designing a product  Operation-oriented design  Data-oriented design  Third way  Hybrid methods  For example, object-oriented design Slide 13.6 © The McGraw-Hill Companies, 2007 13.1 Design and Abstraction  Classical design activities  Architectural design  Detailed design  Design testing  Architectural design  Input: Specifications  Output: Modular decomposition  Detailed design  Each module is designed  Specific algorithms, data structures Slide 13.7 © The McGraw-Hill Companies, 2007 13.2 Operation-Oriented Design  Data flow analysis  Use it with most specification methods (Structured Systems Analysis here)  Key point: We have detailed action information from the DFD Figure 13.1 Slide 13.8 © The McGraw-Hill Companies, 2007 Data Flow Analysis  Every product transforms input into output  Determine  “Point of highest abstraction of input”  “Point of highest abstract of output” Figure 13.2 Slide 13.9 © The McGraw-Hill Companies, 2007 Data Flow Analysis (contd)  Decompose the product into three modules  Repeat stepwise until each module has high cohesion  Minor modifications may be needed to lower the coupling Slide 13.10 © The McGraw-Hill Companies, 2007 13.3.1 Mini Case Study: Word Counting  Example: Design a product which takes as input a file name, and returns the number of words in that file (like UNIX wc ) Figure 13.3 [...]... The McGraw-Hill Companies, 2007 Detailed Design: Tabular Format © The McGraw-Hill Companies, 2007 Slide 13. 14 Figure 13. 6(a) Detailed Design: Tabular Format (contd) Slide 13. 15 Figure 13. 6(b) © The McGraw-Hill Companies, 2007 Detailed Design: Tabular Format (contd) Slide 13. 16 Figure 13. 6(c) © The McGraw-Hill Companies, 2007 Detailed Design: Tabular Format (contd) Slide 13. 17 © The McGraw-Hill Companies,... Figure 13. 6(d) Detailed Design: PDL Format Figure 13. 7 © The McGraw-Hill Companies, 2007 Slide 13. 18 13. 3.2 Data Flow Analysis Extensions  In Slide 13. 19 real-world products, there is More than one input stream, and More than one output stream © The McGraw-Hill Companies, 2007 Data Flow Analysis Extensions (contd) Slide 13. 20  Find the point of highest abstraction for each stream Figure 13. 8 ...Mini Case Study: Word Counting (contd) Slide 13. 11  First refinement Figure 13. 4  Now refine the two modules of © The McGraw-Hill Companies, 2007 Mini Case Study: Word Counting (contd) Slide 13. 12  Second  All refinement Figure 13. 5 eight modules now have functional cohesion © The McGraw-Hill Companies, 2007 Word Counting: Detailed Design Slide 13. 13  The architectural design is complete So... McGraw-Hill Companies, 2007 13. 4 Transaction Analysis Slide 13. 21  DFA is poor for transaction processing products Example: ATM (automated teller machine) © The McGraw-Hill Companies, 2007 Figure 13. 9 Transaction Analysis (contd)  This Slide 13. 22 is a poor design There is logical cohesion and control coupling © The McGraw-Hill Companies, 2007 Corrected Design Using Transaction Analysis Slide 13. 23... Instantiate them 5 times © The McGraw-Hill Companies, 2007 Figure 13. 10 13. 5 Data-Oriented Design Slide 13. 24  Basic principle  The structure of a product must conform to the structure of its data  Three very similar methods  Michael Jackson [1975], Warnier [1976], Orr [1981]  Data-oriented design  Has never been as popular as action-oriented design  With the rise of OOD, data-oriented design has largely... Problem Slide 13. 34  Detailed design of elevatorEventLoop is constructed from the statechart © The McGraw-Hill Companies, 2007 Figure 13. 12 13. 8 Object-Oriented Design: The MSG Foundation CaseSlide 13. 35 Study  Step 1 Complete the class diagram  The final class diagram is shown in the next slide Date Class is needed for C++ Java has built-it functions for handling dates © The McGraw-Hill Companies,... C: Responsibility-driven design © The McGraw-Hill Companies, 2007 13. 7 Object-Oriented Design: The Elevator Problem CaseSlide 13. 29 Study  Step 1 Complete the class diagram  Consider the second iteration of the CRC card for the elevator controller © The McGraw-Hill Companies, 2007 OOD: Elevator Problem Case Study (contd) Slide 13. 30  CRC card © The McGraw-Hill Companies, 2007 Figure 12.9 (again) OOD:... © The McGraw-Hill Companies, 2007 13. 6 Object-Oriented Design (OOD) Slide 13. 25  Aim Design the product in terms of the classes extracted during OOA  If we are using a language without inheritance (e.g., C, Ada 83) Use abstract data type design  If we are using a language without a type statement (e.g., FORTRAN, COBOL) Use data encapsulation © The McGraw-Hill Companies, 2007 Object-Oriented Design... that other class  Responsibility-driven design  Safety considerations  Methods open doors, close doors  Methods turn off button, turn on button Elevator Doors Class are assigned to class are assigned to classes Floor Button Class and Elevator Problem Class © The McGraw-Hill Companies, 2007 Detailed Class Diagram: Elevator Problem Slide 13. 33 Figure 13. 11 © The McGraw-Hill Companies, 2007 Detailed... McGraw-Hill Companies, 2007 Object-Oriented Design Steps (contd) Slide 13. 28  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  Principle A: Information hiding  Principle B: If an operation is invoked by many clients of an object, assign the method to the object, not the clients  Principle C: Responsibility-driven . Slide 13. 1 © The McGraw-Hill Companies, 2007 Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 13. 2 ©. 13. 6(d) Slide 13. 18 © The McGraw-Hill Companies, 2007 Detailed Design: PDL Format Figure 13. 7 Slide 13. 19 © The McGraw-Hill Companies, 2007 13. 3.2 Data Flow Analysis Extensions  In real-world products,. product  Operation-oriented design  Data-oriented design  Third way  Hybrid methods  For example, object-oriented design Slide 13. 6 © The McGraw-Hill Companies, 2007 13. 1 Design and Abstraction  Classical

Ngày đăng: 01/08/2014, 14:20

TỪ KHÓA LIÊN QUAN