R McFadyen 192.2911 Activity Diagrams Activity diagrams are used to present the procedural steps of...

Post on 18-Jan-2018

217 views 0 download

description

R McFadyen sequence

Transcript of R McFadyen 192.2911 Activity Diagrams Activity diagrams are used to present the procedural steps of...

192.2911R McFadyen

Activity DiagramsActivity Diagrams

Activity diagrams are used to present the procedural steps of an algorithm

An algorithm comprises any of the following structures:

•sequence

•decision

•repetition

292.2911R McFadyen

Activity DiagramsActivity Diagrams

start

end

branch

merge

fork

join

guard

transition

swimlanes

activity

Symbols

392.2911R McFadyen

sequencesequence

492.2911R McFadyen

sequencesequence

Activity 1 Activity 2 Activity 3

Activities 1, 2, 3 follow one another in sequence. Activity 3 cannot start until Activity 2 is done, etc.

592.2911R McFadyen

Example: instructions to make Zucchini RelishExample: instructions to make Zucchini Relish

Combine vegetables with pickling salt and leave overnight

Drain and rinse

Combine remainingIngredients withvegetables

Boil 20 minutes

Put in sterilized jars

692.2911R McFadyen

conditional path / 2-way switchconditional path / 2-way switch

792.2911R McFadyen

conditional path / 2-way switchconditional path / 2-way switch

Activity 1

Activity 2

[con

ditio

n 1]

[con

ditio

n 2]

One of two paths is chosen

Same symbol for decision as for merge

892.2911R McFadyen

Example: instructions to make Zucchini RelishExample: instructions to make Zucchini Relish

Combine vegetables with pickling salt and leave overnight

Drain and rinseCombine remainingIngredients withvegetables

Boil 20 minutesPut in sterilized jars

Go and purchase ingredients

[ Missing some ingredients ]

[ have all ingredients ]

992.2911R McFadyen

if ( count > 0 ) average = sum / count;else average = 0.0;System.out.println (average);

Example - programming

[ cou

nt >

0 ]

[ cou

nt <

= 0

]

Average sum/count

Average 0

Print average

1092.2911R McFadyen

multiway switchmultiway switch

1192.2911R McFadyen

multiway switchmultiway switch

Activity 1

Activity n

One of several paths is chosen

Same symbol for decision as for merge

Activity 2[condition2]

[condition1]

[condition n]

1292.2911R McFadyen

Example – multiway switchExample – multiway switch

switch (watts) {

case 40: price = 0.50;

break;

case 60: price = 0.69;

break;

case 75: price = 0.85;

break;

case 100:

case 150: price = 1;

break;

default: price = 0;

System.out.print (“No bulb ” +watts + “watts in stock”);

} // end switch

1392.2911R McFadyen

Example – multiway switchExample – multiway switch

Price 0.50[watts= 40]

Price 0.69

Price 0.85

Price 1.00

Price 0.00

[watts= 60]

[watts= 100 or 150]

[ watts < > 40, 60, 100, 150 ]

[watts= 75]

Print

No bulb message

1492.2911R McFadyen

iteration / loopingiteration / looping

1592.2911R McFadyen

iteration / loopingiteration / looping

Processing before test

[ exit condition ]

Processing after test

[ continue condition ]

1692.2911R McFadyen

int next; // the next number

int sum = 0; // the sum so far

int count = 0; // initialize loop counter

while (count < MAX) { // test loop counter

readInt(next); // get next number

sum = sum + next; // add next number to sum

count = count + 1; // increment loop counter

} // end loop

Example - programmingExample - programming

1792.2911R McFadyen

Increment count[ Count < Max ] Read next integer Add integerto sum

Sum 0

Count 0

Example - programmingExample - programming

1892.2911R McFadyen

parallelism/concurrencyparallelism/concurrency

1992.2911R McFadyen

parallelism/concurrencyparallelism/concurrency

Activity 1 Activity 2

Activity 3

Both paths are performed in parallel. Activity 1 and 2 begin when Activity 0 is finished.

Activity 0

Activity 4

Activity 4 begins when Activity 1 and 3 have both completed

2092.2911R McFadyen

Example: instructions to make Zucchini RelishExample: instructions to make Zucchini Relish

Combine vegetables with pickling salt and leave overnight

Drain and rinseCombine remainingIngredients withvegetables

Boil 20 minutesPut in sterilized jars

Chop onionsChop Zucchini Chop green peppers Chop red peppers

2192.2911R McFadyen

Example - Updating a Star SchemaExample - Updating a Star Schema

2292.2911R McFadyen

Example - Updating a Star SchemaExample - Updating a Star Schema

Churn Star Schema from The Official Guide to Informix/Red Brick Data Warehousing

Rate_planPeriod

Customer

Churn_reason

Carrier

Telephone

Churncredit_limitoutstanding_balancecurrent_bill

A Star Schema is a specialized ERD used in Data Warehousing.

To update the database, we:

(1) update each Dimension, and then

(2) update the Fact table

2392.2911R McFadyen

Example - Updating a Star SchemaExample - Updating a Star Schema

UpdateCustomer

Update Churn

UpdateRate plan

UpdateChurn Reason

UpdateTelephone

UpdateCarrier

UpdatePeriod

2492.2911R McFadyen

Example - Updating a Star SchemaExample - Updating a Star Schema

UpdateCustomer

Update Churn

UpdateRate plan

UpdateChurn Reason

UpdateTelephone

UpdateCarrier

UpdatePeriod

The dimensions can be updated independently of one another.

Those activities can be carried on concurrently

2592.2911R McFadyen

SwimlanesSwimlanes

2692.2911R McFadyen

SwimlanesSwimlanesOrg 1 Org 2 Org 3 An activity

diagram can be partitioned according to organizational units

Org n…

2792.2911R McFadyen

SwimlanesSwimlanes

Activity 1 Activity 2

Activity 3

Swimlanes

When we assign activities to particular organizational units, then we can partition the flow into swimlanes, one swimlane per unit.

Activity 0

Activity 4

Org 1 Org 2 Org 3 Org 4

2892.2911R McFadyen

SwimlanesSwimlanes

Workflow for an Order

Request product

Customer Sales Warehouse

A customer requests a product. The order is handled by Sales, and then the Warehouse picks the materials and ships the order. Then, the customer will receive the order and Sales will send out the bill. When the customer receives the bill, it is paid, and the order is closed by Sales.

ProcessOrder

Pick &Ship

ReceiveOrder

SendBill

Pay BillOrderClosed

ReceiveBill