+ All Categories
Home > Documents > CS 501: Software Engineering Fall 2000 Lecture 13 Object-Oriented Design III.

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

Date post: 21-Dec-2015
Category:
View: 222 times
Download: 4 times
Share this document with a friend
Popular Tags:
22
CS 501: Software Engineering Fall 2000 Lecture 13 Object-Oriented Design III
Transcript

CS 501: Software EngineeringFall 2000

Lecture 13Object-Oriented Design III

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

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

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

Bouncing Ball Diagrams

Example: http://www.cs.cornell.edu/

Client Servers

domain name

TCP connection

HTTP get

6

Actions on Objects

call

return

send

create

destroy

returnCopy(c)

okToBorrow() local

status

notifyReturn(b) asynchronous signal

<<create>>

<<destroy>>stereotypes

7

Links

CopyLibraryMember

+borrowCopy()+returnCopy()

1 0..*on loan

libMem:LibraryMember c:CopyborrowCopy(c)

association

message

link

class

object

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: <<destroy>>

9

Sequence Diagram: Borrow copy of a Book

BookBorrower

libMem: LibraryMember

theCopy:Copy

theBook:Book

borrow(theCopy)okToBorrow

borrow borrow

10

Class Inheritance Diagram

Object

Component

Container

Panel

Applet

HelloWorld

ImageObserver

interface

11

Sequence Diagram:Painting Mechanism

:Thread :Toolkit :ComponentPeer target:HelloWorld

runrun callbackLoop

handleExpose

paint

12

Activity Diagram: Process Modeling

Release work order

Assign tasks

Reschedule[materials not ready]

[materials ready]guard expression

branch

13

Activity Diagram: Parallel Activities

Decompress

Stream audioStream video

fork

join

start state

stop state

14

State Diagram

State diagram for class Book

not borrowable

returned()

returned()

borrowable

borrowed()[not last copy]

borrowed()[last copy]

guard expression

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

Component Diagram

HelloWorld.class

hello.java

hello.hml

hello.jpg

executable component

17

Components and Classes

agent.dll

AgentAction

Policy

PatternSearch

18

Components and Classes

agent.dll

RealizesAgentActionPatternSearchPolicy

extended component

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

Interfaces

simulation.exe render.java

IRender

dependency

interface

realization

21

Application Programming Interface (API)

API is an interface that is realized by one or more components.

simulation.exe

IModels ILighting

IRender

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.


Recommended