1 / 16

Object-Oriented Design Notation

Object-Oriented Design Notation. CS 123/CS 231. References. Main Reference: UML Distilled, by Martin Fowler Chapters 3, 4, 6, and 8 Supplementary References: Chapter 14 of Sommerville Chapter 22 of Pressman. Component Design and Detailed Design. Component Design

grimml
Download Presentation

Object-Oriented Design Notation

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. Object-OrientedDesign Notation CS 123/CS 231

  2. References • Main Reference: UML Distilled, by Martin Fowler • Chapters 3, 4, 6, and 8 • Supplementary References: • Chapter 14 of Sommerville • Chapter 22 of Pressman

  3. Component Design and Detailed Design • Component Design • For each subsystem determine components, and services/interface per component • OO Design: components are classes • Detailed Design • Determine attributes of classes and relationships between the classes • Determine functionality of each class and interactions between classes

  4. Object-Oriented Modeling • UML: Unified Modeling Language • OO Modeling Standard • Booch, Jacobson, Rumbaugh • What is depicted? • Class details and static relationships • System functionality • Object interaction • State transition within an object

  5. Some UML Modeling Techniques • Class Diagrams • Use Cases/Use Case Diagrams • Interaction Diagrams • State Diagrams

  6. Example:Class Diagram FastFoodCounter totalcash totalorders PriceChecker getPrice() pc counters 5 FastFood (Restaurant)

  7. Example:Use Case Diagram LIBRARY SYSTEM Facilitate Checkout Search for Book Borrower Librarian Facilitate Return

  8. Example:Interaction Diagram 2: checkIfAvailable() Checkout Screen :Book 1: checkIfDelinquent() 3: borrowBook() 4: setBorrower() :Borrower

  9. Example:State Diagram (Book) start Reserved Borrowed New Librarian activates book as available Borrower returns book Available

  10. Object-Oriented Design Models • Static Model • Class Diagrams • Dynamic Model • Use Cases, Interaction Diagrams, State Diagrams, others

  11. OO Static Model • Classes and Class Diagrams • Relationships • Association • Aggregation/Composition • Inheritance • Dependencies • Attribute and Method names

  12. OO Dynamic Model • Goal: Represent • Object behavior • Object interaction • Traditional/Procedural Dynamic Modeling • Data Flow Diagrams (DFDs) • Problem: Processes separate from data • Need modeling notation that highlight tight relationship between data & processes

  13. DFD Example(Inventory Management) Accept and Post Delivery Delivery info Transaction Item Master

  14. OO Counterpart:Object Interaction new (delivery info) Encoder :Transaction post (item count) :Item Master

  15. Building anOO Dynamic Model • Identify use cases • Describe each use case through an interaction diagram • For more complex objects, provide a state diagram per class • Derive implied methods (and attributes)

  16. What’s Next? • Need to understand the notation • Make sure it helps the software development process • When to use the UML techniques • Primarily when specifying OO design • Formal means of communication across the different software development stages

More Related