warning these slides are not optimized for printing or exam preparation. these are for lecture...

76
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010. They may not show up well on other PowerPoint versions. You can download PowerPoint 2010 viewer from here . These slides contain a lot of animations. For optimal results, watch in slideshow mode.

Upload: percival-smith

Post on 13-Dec-2015

222 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

WARNING

These slides are not optimized for printing or exam preparation. These are for lecture delivery only.

These slides are made for PowerPoint 2010. They may not show up well on other PowerPoint versions. You can download PowerPoint 2010 viewer from here.

These slides contain a lot of animations. For optimal results, watch in slideshow mode.

Page 2: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

What is common?

Page 3: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

models

What is common?

[… are representations of something else]

Page 4: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

models… are not the real thing!

Page 5: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

models… are simpler than the real thing!

Page 6: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

models

Page 7: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

models… capture different aspects

Page 8: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

models… combat complexity

Page 9: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

models… are indispensable for bigger projects

bigger roles in

Page 10: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

models

Modelling your way out of complexity: Other useful

CS2103/T, Lecture 10, Part 2, [Oct 24, 2014]

Page 11: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

models for what?

Page 12: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

models for what?

Page 13: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

i. for analysis

iii. as a blueprint

ii. for communication

In CS2103?

models for what?Most common use

Page 14: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

models for what?Most common use

Nope, we don’t use UML

diagrams

i. for analysis ii. for communication

iii. as a blueprint

Page 15: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

models for what?Most common use

i. for analysis ii. for communication

iii. as a blueprint

Page 16: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

iii. as a blueprint

Model-Driven Development

Mobile, desktop, etc.Java, C++, etc.

Generate!

Page 17: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

Class diagramsObject diagrams

Use casesSequence diag.

UML models

Structure diagrams Behavior diagrams

……………………………. ……………………………

…………………………….…………………………….…………………………….…………………………….

…………………………….…………………………….…………………………….…………………………….

Behav

ior di

agra

msStructure diagrams

Page 18: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

Class diagramsObject diagrams

Use casesSequence diag.

UML models

Structure diagrams Behavior diagrams

……………………………. ……………………………

…………………………….…………………………….…………………………….…………………………….

…………………………….…………………………….…………………………….…………………………….

Page 19: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

What is the object/class structure?

Problem Domain

Domain Analysis

Page 20: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010
Page 21: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

Snakes&LaddersGame

Player

plays

Piece

Board

Square

Turn

number

owns

pla

yed

on

100

takes

is

on

2..*

1

*

AutoMover

Star

ts

in

1

1

*has

Die

FaceValue

dieValue

Ends

in

1

moves piece from

moves piece to

1

1

nameid

= Conceptual Class Diagrams

OO Domain Model

1

0..1

Snake

Ladder

Page 22: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

Snakes&LaddersGame

Player

plays

Piece

Board

Square

Turn

number

owns

pla

yed

on

100

takes

is

on

2..*

1

*

AutoMover

Star

ts

in

1

1

*has

Die

FaceValue

dieValue

Ends

in

1

moves piece from

moves piece to

1

1

OO Domain Model

1

0..1

Snake

Ladder

nameid

*

Page 23: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

Snakes&LaddersGame

Player

plays

Piece

Board

Square

Turn

number

owns

pla

yed

on

100

takes

is

on

2..*

1

*

AutoMover

Star

ts

in

1

1

*has

Die

FaceValue

dieValue

Ends

in

1

moves piece from

moves piece to

1

1

OO Domain Model

1

0..1

Snake

Ladder

nameid

*

Page 24: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

Which class is least likely to appear in an OODM?

a) Student b) Grade c) StudentArrayListd) AcademicMentor

Pause video

Page 25: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

Class diagramsObject diagrams

Use casesSequence diag.

UML models

Behavior diagrams

OO domain models ……………………………

…………………………….…………………………….…………………………….…………………………….

…………………………….…………………………….…………………………….…………………………….

Structure diagrams

Page 26: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

Class diagramsObject diagrams

Use casesSequence diag.

UML models

Structure diagrams Behavior diagrams

OO domain models ……………………………

…………………………….…………………………….…………………………….…………………………….

…………………………….…………………………….…………………………….…………………………….

Page 27: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

Package diagram

Page 28: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

Package diagram Deployment diagram

Page 29: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

Package diagram Deployment diagram

Component diagram

Page 30: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

Component diagram

Composite structure diagram

Deployment diagramPackage diagram

Page 31: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

Class diagramsObject diagrams

Use casesSequence diag.

UML models

Structure diagrams Behavior diagrams

OO domain models ……………………………

Package diagramsDeployment diagramsComponent diagramsComposite structure diag.

…………………………….…………………………….…………………………….…………………………….

Page 32: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

Class diagramsObject diagrams

Use casesSequence diag.

UML models

Behavior diagrams

OO domain models ……………………………

…………………………….…………………………….…………………………….…………………………….

Package diagramsDeployment diagramsComponent diagramsComposite structure diag.

Structure diagrams

Page 33: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010
Page 34: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

What is the workflow?

Page 35: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

What is the workflow?

Activity Diagram

Page 36: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

Show logo

Show ‘loading’ screen

Load file

Show file

Create file

[first time use]

init file

Activity Diagram

Page 37: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

Show logo

Show ‘loading’ screen

Load file

Show file

Create file

[first time use]

init file

Activity Diagram

Page 38: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

Show logo

Show ‘loading’ screen

Load file

Show file

Create file

[first time use]

init file

Activity Diagram

actions

Page 39: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

Show logo

Show ‘loading’ screen

Load file

Show file

Create file

[first time use]

init file

Activity Diagram

Page 40: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

Show logo

Show ‘loading’ screen

Load file

Show file

Create file

[first time use]

init file

Activity Diagram

Page 41: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

Show logo

Show ‘loading’ screen

Load file

Show file

Create file

[first time use]

init file

Activity Diagram

Page 42: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

Show logo

Show ‘loading’ screen

Load file

Show file

Create file

[first time use]

init file

Activity Diagram

Action 2

Page 43: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

Show logo

Show ‘loading’ screen

Load file

Show file

Create file

[first time use]

init file

Activity Diagram

Page 44: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

Show logo

Show ‘loading’ screen

Load file

Show file

Create file

[first time use]

init file

Activity Diagram

Page 45: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

Show logo

Show ‘loading’ screen

Load file

Show file

Create file

[first time use]

init file

Activity Diagram

Page 46: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

Show logo

Show ‘loading’ screen

Load file

Show file

Create file

[first time use]

init file

Activity Diagram

Page 47: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

A

B

F

E

i. ABCEF

ii. ADBCF

iii. ABECF

iv. ABCF

v. ABCEDF

vi. ACBEF

D

C

Page 48: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

A

B

F

E

i. ABCEF

ii. ADBCF

iii. ABECF

iv. ABCF

v. ABCEDF

vi. ACBEF

D

C

Page 49: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

Are the other paths allowed?

A

B

F

E

i. ABCEF

ii. ADBCF

iii. ABECF

iv. ABCF

v. ABCEDF

vi. ACBEF

D

C

Pause video

Page 50: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

A

B

F

E

i. ABCEF

ii. ADBCF

iii. ABECF

iv. ABCF

v. ABCEDF

vi. ACBEF

D

C

Page 51: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

A

B

F

E

i. ABCEF

ii. ADBCF

iii. ABECF

iv. ABCF

v. ABCEDF

vi. ACBEF

D

C

Page 52: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

A

B

F

E

i. ABCEF

ii. ADBCF

iii. ABECF

iv. ABCF

v. ABCEDF

vi. ACBEF

D

C

Page 53: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

A

B

F

E

i. ABCEF

ii. ADBCF

iii. ABECF

iv. ABCF

v. ABCEDF

vi. ACBEF

D

C

Page 54: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

Class diagramsObject diagrams

Use casesSequence diag.

UML models

Behavior diagrams

OO domain models Activity diagrams

…………………………….…………………………….…………………………….…………………………….

Package diagramsDeployment diagramsComponent diagramsComposite structure diag.

Structure diagrams

Page 55: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

Class diagramsObject diagrams

Use casesSequence diag.

UML models

Structure diagrams Behavior diagrams

OO domain models Activity diagrams

…………………………….…………………………….…………………………….…………………………….

Package diagramsDeployment diagramsComponent diagramsComposite structure diag.

Page 56: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

State-dependent behavior

Page 57: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

An object, a component, or a whole system.

Who’s there?

hmmp…

come here baby

Go away

Ha?

Knock knock…

State-dependent behavior

Page 58: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

PRE_GAME

LOST

READYnew

IN_PLAY

WON

deduce

deducededuce

deduce

[incorrect deduction]

[incorrect deduction]

[correct deduction]

[correct deduction && no more cells to deduce]

deduce [correct deduction && more cells to deduce]

/start timer

/stop timer

/stop timer

State-dependent behavior

Page 59: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

PRE_GAME

LOST

READYnew

IN_PLAY

WON

deduce

deducededuce

deduce

[incorrect deduction]

[incorrect deduction]

[correct deduction]

[correct deduction && no more cells to deduce]

deduce [correct deduction && more cells to deduce]

/start timer

/stop timer

/stop timer

State-dependent behavior

Page 60: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

PRE_GAME

LOST

READYnew

IN_PLAY

WON

deduce

deducededuce

deduce

[incorrect deduction]

[incorrect deduction]

[correct deduction]

[correct deduction && no more cells to deduce]

deduce [correct deduction && more cells to deduce]

/start timer

/stop timer

/stop timer

State Machine Diagram

Page 61: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

PRE_GAME

LOST

READYnew

IN_PLAY

WON

deduce

deducededuce

deduce

[incorrect deduction]

[incorrect deduction]

[correct deduction]

[correct deduction && no more cells to deduce]

deduce [correct deduction && more cells to deduce]

/start timer

/stop timer

/stop timer

State Machine Diagram

states

Page 62: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

PRE_GAME

LOST

READYnew

IN_PLAY

WON

deduce

deducededuce

deduce

[incorrect deduction]

[incorrect deduction]

[correct deduction]

[correct deduction && no more cells to deduce]

deduce [correct deduction && more cells to deduce]

/start timer

/stop timer

/stop timer

State Machine Diagram

state transitions

Page 63: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

PRE_GAME

LOST

READYnew

IN_PLAY

WON

deduce

deducededuce

deduce

[incorrect deduction]

[incorrect deduction]

[correct deduction]

[correct deduction && no more cells to deduce]

deduce [correct deduction && more cells to deduce]

/start timer

/stop timer

/stop timer

State Machine Diagram

triggers

Page 64: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

PRE_GAME

LOST

READYnew

IN_PLAY

WON

deduce

deducededuce

deduce

[incorrect deduction]

[incorrect deduction]

[correct deduction]

[correct deduction && no more cells to deduce]

deduce [correct deduction && more cells to deduce]

/start timer

/stop timer

/stop timer

State Machine Diagram

guard conditions

Page 65: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

PRE_GAME

LOST

READYnew

IN_PLAY

WON

deduce

deducededuce

deduce

[incorrect deduction]

[incorrect deduction]

[correct deduction]

[correct deduction && no more cells to deduce]

deduce [correct deduction && more cells to deduce]

/start timer

/stop timer

/stop timer

State Machine Diagram

activity

Page 66: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

PRE_GAME

LOST

READYnew

IN_PLAY

WON

deduce

deducededuce

deduce

[incorrect deduction]

[incorrect deduction]

[correct deduction]

[correct deduction && no more cells to deduce]

deduce [correct deduction && more cells to deduce]

/start timer

/stop timer

/stop timer

State Machine Diagram

Page 67: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

State Machine Diagram

Page 68: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

Class diagramsObject diagrams

Use casesSequence diag.

UML models

Structure diagrams Behavior diagrams

OO domain models Activity diagrams

State Machine Diagrams…………………………….…………………………….…………………………….

Package diagramsDeployment diagramsComponent diagramsComposite structure diag.

Page 69: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

Class diagramsObject diagrams

Use casesSequence diag.

UML models

Structure diagrams Behavior diagrams

OO domain models Activity diagrams

State Machine Diagrams…………………………….…………………………….…………………………….

Package diagramsDeployment diagramsComponent diagramsComposite structure diag.

Page 70: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

Timing diagram

Page 71: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

Timing diagram Interaction overview diagram

Page 72: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

Timing diagram Interaction overview diagram

Page 73: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

Communication diagram

Timing diagram Interaction overview diagram

Page 74: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

Class diagramsObject diagrams

Use casesSequence diag.

UML models

Structure diagrams Behavior diagrams

OO domain models Activity diagrams

State Machine diagramsTiming diagramsInteraction overview diag.Communication diag.

Package diagramsDeployment diagramsComponent diagramsComposite structure diag.

Page 75: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010
Page 76: WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010

Use

Be aware