Presentation is loading. Please wait.

Presentation is loading. Please wait.

Dillon: CSE470: Object Modeling1 Requirements Model l Focus on WHAT, not HOW l Analyst needs to understand the problem »How does software fit into overall.

Similar presentations


Presentation on theme: "Dillon: CSE470: Object Modeling1 Requirements Model l Focus on WHAT, not HOW l Analyst needs to understand the problem »How does software fit into overall."— Presentation transcript:

1 Dillon: CSE470: Object Modeling1 Requirements Model l Focus on WHAT, not HOW l Analyst needs to understand the problem »How does software fit into overall systems? »What are the customer’s concerns? »How will the software solve the customer’s problems l Serves as the contract between the customer and the developer l Starting point for design

2 Dillon: CSE470: Object Modeling2 Getting Started- Understanding the Customer l Interview customer l Understand the current process »Flow of information »Form of information l Decompose the problem l Describe the problem in the customer’s terminology l Have the customer review, correct, and refine the description of the problem

3 Dillon: CSE470: Object Modeling3 Propose a Conceptual “Solution” l May model the current approach or propose a completely new approach l Present alternative approaches »not alternative implementations, but alternative conceptual approaches l Use UI prototype to help clarify issues l Remember importance of maintainability »Plan for extensibility

4 Dillon: CSE470: Object Modeling4 Purpose of Modeling l Testing a physical entity before building l Communication with customer l Visualization l Reduction of complexity l Better understanding of the problem

5 Dillon: CSE470: Object Modeling5 Early Modeling Notations l Template-based natural languages »SREM l Boxes and arrows depicting data and control flow »SADT, IDEF »Statecharts l Data Structures »Jackson Design Notation

6 Dillon: CSE470: Object Modeling6 OO was the catalyst for new OO modeling techniques l Many different contenders »Grady Booch, Rational Software »Jim Rumbaugh, GE, OMT »Ivar Jacobsen, Ericsson, use cases l Unified Modeling Language (UML) »Combines Booch, Rumbaugh, Jacobsen’s techniques »PL/1 of modeling languages

7 Dillon: CSE470: Object Modeling7 Object Modeling Technique (OMT) l Three complimentary views of the system l Object model (WHAT) »Static, structural view of the system »Describes objects in the system and their relationships

8 Dillon: CSE470: Object Modeling8 Object Modeling Technique (OMT) l Dynamic model (WHEN) »Temporal, behavioral, control view of system »Interaction among objects l Functional model (HOW) »Transformational, function view of the system »Describes the transformation of data

9 Dillon: CSE470: Object Modeling9 Object Model l Object - a concept, abstraction, or thing »Promote understanding of problem domain »Object is distinguishable and has identity l Class - group of objects with »similar properties, »common behavior »common relationships to other objects »common semantics

10 Dillon: CSE470: Object Modeling10 Object Model (cont.) l An object is an instance of a class l Attribute - a data value associated with an object »pure value, not an object l Operation - a function or transformation that may be applied to or by an object

11 Dillon: CSE470: Object Modeling11 Object Model (cont.) l Class Notation Class Name attribute attribute: type = initial value operation(arg-list): result-type... Attributes and operations shown depends on desired level of detail

12 Dillon: CSE470: Object Modeling12 Example: WEB Class l Synchronous instructional web tool l Use the Web Browser as sophisticated data display l Group-based communication model l Reliable multi-cast communication protocol

13 Dillon: CSE470: Object Modeling13 WEB Class Components l Browser synchronization »Web_Instructor –Detect changes in the instructor browser –Format information into resources –Send resources (reliably) »Web_Student –Receive and unpack resources –Display resources through the web browser

14 Dillon: CSE470: Object Modeling14 WEB Class Components (cont.) l Real audio stream »Audio connection from the instructor to the students l Live connection »Chat tool »Feedback mechanism from the students to the instructor

15 Dillon: CSE470: Object Modeling15 Example Class Definitions Web_Student name: string Web_Instructor name: string Helper_App server_name: string server_mime: string server_path: string start_service send_file(filename,URL) spawn_viewer(appname,filename) Etc....

16 Dillon: CSE470: Object Modeling16 Object Model: Associations l Means for establishing relationships among classes »group of “links” with common structure and semantics –physical or conceptual connection between object instances »inherently bi-directional »may be binary, ternary, or higher order

17 Dillon: CSE470: Object Modeling17 Example: Association MreceiverMsender Communicates with

18 Dillon: CSE470: Object Modeling18 Object Model: Aggregation l “Part-of” relationship »associates an object representing an assembly with the objects representing its components l Special form of association »Transitive »Antisymmetric

19 Dillon: CSE470: Object Modeling19 Example: Aggregation Web_Student Browser_Slave Browser_Wrapper Mreceiver

20 Dillon: CSE470: Object Modeling20 Object Model: Generalization l “Is-a” relationship between classes »Subclass(es) refine a superclass »Superclass generalizes its subclass(es) »Subclass(es) inherit attributes and operations of the superclass »Transitive association

21 Dillon: CSE470: Object Modeling21 Example: Generalization Web_User name: string Web_StudentWeb_Instructor

22 Dillon: CSE470: Object Modeling22 Object Model: Multiplicities l Indication how many instances of one class may relate to an instance of another class 3 1+ 2-6 Zero or more One or more Exactly three One or more From 2 to 6

23 Dillon: CSE470: Object Modeling23 Example: Web Class Object Model Browser_WrapperBrowser_Listener Helper_App MsenderViewerConfig Web_Instructor Mreceiver Browser_Slave Web_Student Web_User

24 Dillon: CSE470: Object Modeling24 Object Model: Creation Tips l Understand the problem l Keep it simple (initially) l Choose good class names l Look for binary associations l Ignore multiplicities (initially) l Do not feel you have to use all the constructs l Concentrate on WHAT l Document, document, document! l Refine until complete and correct


Download ppt "Dillon: CSE470: Object Modeling1 Requirements Model l Focus on WHAT, not HOW l Analyst needs to understand the problem »How does software fit into overall."

Similar presentations


Ads by Google