1 / 10

INFS 6225 – Object-Oriented Systems Analysis & Design

INFS 6225 – Object-Oriented Systems Analysis & Design. Chapter 8: Class & Method Design. Class & Method Design. Criteria, activities, & techniques used to design classes & methods Part of Design Phase where work is actually accomplished

sabina
Download Presentation

INFS 6225 – Object-Oriented Systems Analysis & Design

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. INFS 6225 – Object-Oriented Systems Analysis & Design Chapter 8: Class & Method Design

  2. Class & Method Design • Criteria, activities, & techniques used to design classes & methods • Part of Design Phase where work is actually accomplished • Refinement of UML models to create the mostefficient system possible that still meets the users’ requirements • The steps justbefore the actual coding of the system

  3. Review of Terms • Object – basic building block of a system; instances of classes • Class – defines both data & processes that each object contains • Attributes – describe data about the object • Methods – specify processes that objects can perform • Message – procedural call from one object to another

  4. More Terms • Inheritance – superior classes pass attributes & methods to subordinate classes • Encapsulation – combining processes & data into a single object • Information Hiding – only information required to use an object should be available outside of an object • Polymorphism – same message is interpreted differently by different objects • Dynamic binding – interpretation of message by an object takes place at run time

  5. New Terms • Cohesion – how specific a module is within a system (i.e., a class or object should represent only one thing) • Coupling – level of interdependence among modules (classes, objects, & methods) in a system • The higher the degree of coupling, the more likely that changes in part of a system will require changes in other parts • Connascence – two modules are so intertwined that a change in one requires a change in the other • Ideally, a system should have high Cohesion and low (i.e., loose) Coupling

  6. Opportunities for Reuse • Class Library • Set of implemented classes that are designed for reuse • Pre-built “template” classes with Attributes and Methods already defined • Can be utilized using Inheritance • Support Foundation Layer • Component • Self-contained piece of software that can be “plugged” into a system • Simplify development of objects on Problem Domain & Human-Computer Interaction Layers

  7. Optimizing the Design • Shorten/simplify paths between objects • Move attributes to provide more direct access • Reduce the number of messages (Fan-out) sent by an object • Reorder execution of statements • Cache (temporarily save) computational results

  8. Constraints & Contracts • Contract • formalizes the interactions between client and server objects • Document the message passing between objects • Contain information necessary for programmer to understand method • Contracts may contain: • Pre-conditions – constraints that must be met for a method to execute • Post-conditions – constraints that must be met after the method executes (or method is undone)

  9. Contract Example Method Name: Class Name: ID: Clients (Consumers): Associated Use Cases: Description of Responsibilities: Arguments Received: Type of Value Returned: Pre-Conditions: Post-Conditions:

  10. Method Specification • Method Specifications – written documents that include explicit instructions on how to write the code to implement a method • No standard syntax for Method Specification • Written in Structured English – short sentences • 4 Components: • General Information about Method • Events – items that trigger method • Message Passing – what is being passed, and returned • Algorithm Specification (calculations, formula, etc.)

More Related