Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS 501: Software Engineering Fall 2000 Lecture 13 Object-Oriented Design III.

Similar presentations


Presentation on theme: "CS 501: Software Engineering Fall 2000 Lecture 13 Object-Oriented Design III."— Presentation transcript:

1 CS 501: Software Engineering Fall 2000 Lecture 13 Object-Oriented Design III

2 2 Administration Midterm examination Monday, October 16, 7:30 to 8:30 pm, Phillips 219 Closed book About 5 questions on the material covered in lectures

3 3 Comments on Presentations Presentation Standard of graphics has been high Some text too small (diagrams, screen dumps) Content Level of detail Requirements v. design The client defines the requirements Well done, but time is short. What is your critical path?

4 4 Modeling Dynamic Aspects of Systems Interaction diagrams: set of objects and their relationships including messages that may be dispatched among them Sequence diagrams: time ordering of messages Collaboration diagrams: structural organization of objects that send and receive messages Activity diagram: flow chart showing flow of control from activity to activity Statechart diagram: models a state machine

5 5 Bouncing Ball Diagrams Example: http://www.cs.cornell.edu/ Client Servers domain name TCP connection HTTP get

6 6 Actions on Objects call return send create destroy returnCopy(c) okToBorrow()local status notifyReturn(b)asynchronous signal > stereotypes

7 7 Links Copy LibraryMember +borrowCopy() +returnCopy() 1 0..*on loan libMem:LibraryMember c:Copy borrowCopy(c) association message link class object

8 8 Sequence Diagram: Change in Cornell Program Cornellian :MEngStudent 1 : getName() sequence numbers added to messages :PhDStudent 1.1 : name 2: new PhDStudent(name) 3: >

9 9 Sequence Diagram: Borrow copy of a Book BookBorrower libMem: LibraryMember theCopy:Copy theBook:Book borrow(theCopy) okToBorrow borrow

10 10 Class Inheritance Diagram Object Component Container Panel Applet HelloWorld ImageObserver interface

11 11 Sequence Diagram:Painting Mechanism :Thread:Toolkit:ComponentPeertarget:HelloWorld run callbackLoop handleExpose paint

12 12 Activity Diagram: Process Modeling Release work order Assign tasksReschedule [materials not ready] [materials ready] guard expression branch

13 13 Activity Diagram: Parallel Activities DecompressStream audioStream video fork join start state stop state

14 14 State Diagram State diagram for class Book not borrowable returned() borrowable borrowed()[not last copy] borrowed()[last copy] guard expression

15 15 Implementation Modeling Subsystem A grouping of elements that specifies what a part of a system should do. Component (UML definition) "A distributable piece of implementation of a system, including software code (source, binary, or executable) but also including business documents, etc., in a human system." A component can be thought of as an implementation of a subsystem.

16 16 Component Diagram HelloWorld.class hello.java hello.hml hello.jpg executable component

17 17 Components and Classes agent.dll AgentAction Policy PatternSearch

18 18 Components and Classes agent.dll Realizes AgentAction PatternSearch Policy extended component

19 19 Components and Classes Classes represent logical abstractions. Components represent physical things. Components may live on nodes. Classes have attributes and operations directly. Components have operations that are reachable only through interfaces.

20 20 Interfaces simulation.exe render.java IRender dependency interface realization

21 21 Application Programming Interface (API) API is an interface that is realized by one or more components. simulation.exe IModelsILighting IRender

22 22 Components and Replaceability Components allow system to be assembled from binary replaceable elements. A component is physical -- bits not concepts A component can be replaced by any other component(s) that conforms to the interfaces. A component is part of a system. A component provides the realization of a set of interfaces.


Download ppt "CS 501: Software Engineering Fall 2000 Lecture 13 Object-Oriented Design III."

Similar presentations


Ads by Google