1 / 14

Methodology Summary

Methodology Summary. Chapter 11 Part 2: Design Methodology Object-Oriented Modeling and Design Byung-Hyun Ha bhha@pusan.ac.kr. Lecture Outline. Introduction Analysis System design Object design. Introduction. Summary of OMT Listed as numbered steps The order is important Findings

chakra
Download Presentation

Methodology Summary

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Methodology Summary Chapter 11 Part 2: Design Methodology Object-Oriented Modeling and Design Byung-Hyun Ha bhha@pusan.ac.kr

  2. Lecture Outline • Introduction • Analysis • System design • Object design

  3. Introduction • Summary of OMT • Listed as numbered steps • The order is important • Findings • Combining several steps or performing certain steps in parallel for portions of a project • Iteration of steps is necessary at successively lower levels of abstraction • After completing overall analysis at high level, subsystems can be designed independently and concurrently at lower levels of abstraction

  4. Introduction • Distinction between analysis and design • Analysis model • Information that is meaningful from a real-world perspective • External view of the system • Understandable to the client • Basis for eliciting true requirements for the system • really needed, internally consistent, and feasible to achieve • Design model • Information that is meaning to computer implementation • Low level details that are elided in analysis model • Reasonably efficient and practical to encode • Considerable overlap between analysis and design models • Many portion of analysis model can be implemented easily

  5. Analysis • Overview • Analysis model is about what the system will do • Capturing requirements and consulting with requestor repeatedly

  6. Analysis • Write or obtain initial description of problem • Problem statement • Build an object model • Identify object classes • Begin a data dictionary containing description of classes, attributes, and associations • Add associations between classes • Add attributes for objects and links • Organize and simplify object classes using inheritance • Test access paths using scenarios and iterate the above steps • Group classes into modules  Object model = object model diagram + data dictionary

  7. Analysis • Develop a dynamic model • Prepare scenarios of typical interaction sequences • Identify events between objects and prepare an event trace for each scenario • Prepare an event flow diagram for system • Develop a state diagram for each class that has important dynamic behavior • Check for consistency and completeness of events shared among the state diagrams  Dynamic model = state diagram + global event flow diagram

  8. Analysis • Construct a function model • Identify input and output values • Use data flow diagrams as needed to show functional dependencies • Describe what each function does • Identify constraints • Specify optimization criteria  Functional model = data flow diagrams + constrains

  9. Analysis • Verify, iterate, and refine the three models • Add key operations that were discovered during preparation of functional model; just show the most important operations • Verify that the classes, associations, attributes, and operations are consistent and complete • Develop more detailed scenarios (including error conditions) • Iterate the above steps as needed to complete analysis  Analysis document = problem statement + object model + dynamic model + functional model

  10. System Design • …

  11. Object Design • Overview • Elaboration of the analysis model and provide a detailed basis for implementation • Decisions that are necessary to realize the system without considering particular details of individual languages and databases • Shift from the real-world orientation toward the computer orientation

  12. Object Design • Obtain operations for the object model from the other models • Find an operation for each process in the functional model • Define an operation for each event in the dynamic model, depending on the implementation of control • Design algorithms to implements operations • Choose algorithms that minimize the cost of implementing • Select data structures appropriate to algorithms • Define new internal classes and operations as necessary • Assign responsibility for operations that are not clearly associated with a single class

  13. Object Design • Optimize access path to data • Add redundant associations to minimize access cost and maximize convenience • Rearrange the computation for great efficiency • Save derived values to avoid recomputation of complicated expressions • Refine the strategy for implementing dynamic model • Adjust class structure to increase inheritance • Rearrange classes and operation to increase inheritance • Abstract common behavior out of groups of classes • Use delegation where inheritance is semantically invalid

  14. Object Design • Design implementation of association • Analyze the traversal of associations • Implement each association as a distinct object or by adding object-valued attributes to one or both classes in the association • Determine the exact representation of object attributes • Package classes and associations into modules  Design document = detailed object mode + detailed dynamic model + detailed functional model

More Related