17
1 SSPD Jackson System Development From Models to Networks

1SSPD Jackson System Development From Models to Networks

Embed Size (px)

Citation preview

Page 1: 1SSPD Jackson System Development From Models to Networks

1SSPD

Jackson System Development

From Models to Networks

Page 2: 1SSPD Jackson System Development From Models to Networks

2SSPD

Entity Models

• See web site for some JSD notes.• Events entities• Entities are the components of our

model• e.g., CUSTOMER, VEHICLE, INVOICE• Describe using Entity Structure

Diagrams

Page 3: 1SSPD Jackson System Development From Models to Networks

3SSPD

Entity Structure DiagramsThe ESD shows the life cycle of each

entity class from birth to death.

VEHICLE

PURCHASE DISPOSEWORKINGLIFE

HIRING

HIRE RETURN

*

Page 4: 1SSPD Jackson System Development From Models to Networks

4SSPD

Give events meaning

• The ESDs give a meaning and context to the events

• We use them to build our real world model

• They form the basis of our specification and our system design

Page 5: 1SSPD Jackson System Development From Models to Networks

5SSPD

Some Considerations

• Entities with ambiguous/deeply nested selection trees can be simplified using backtracking techniques.

• Real world concurrency is not shown by a single ESD. We need marsupial entities to solve this problem

Page 6: 1SSPD Jackson System Development From Models to Networks

6SSPD

Backtracking

• The normal ESD shows a life history which doesn’t allow for abnormal termination.

• Redrawing to allow for exceptional terminal conditions makes for a messy and hard to comprehend diagram

Page 7: 1SSPD Jackson System Development From Models to Networks

7SSPD

Backtracking Example

• Consider an entity CAR– We ORDER a car. If the order

confirmation is for the right car then we take DELIVERy of the car.

– If the right car is DELIVERed then we put the car in the showroom to SELL it. If the car becomes damaged then we don’t SELL it.

– We might draw this as:

Page 8: 1SSPD Jackson System Development From Models to Networks

8SSPD

Messy CAR ESD CAR

ORDER check

DELIVER check

o.k.

damage?

SELL

O

RETURNOo.k. O

O

RETURNO

RETURNO

Page 9: 1SSPD Jackson System Development From Models to Networks

9SSPD

With backtrackingCAR

POSITnormal

ADMITabnormal

ORDER DELIVER SELL RETURN

Wrong car Wrong car Damaged

Quit! Quit! Quit!

??

Page 10: 1SSPD Jackson System Development From Models to Networks

10SSPD

Marsupials

• Sometimes concurrency clouds the issue

• We need to define new roles for the entity = emerging marsupial

Page 11: 1SSPD Jackson System Development From Models to Networks

11SSPD

SOP Example

• Problem: PLACE, PLACE

Customer

PlacePossible Amends

Deliver/ Cancel

Amend Deliver Cancel* o o

Page 12: 1SSPD Jackson System Development From Models to Networks

12SSPD

Hidden Marsupial

• There is an entity hidden inside this one.

• It’s really just a different role for customer

• It represents the actions of a customer as they relate to a single order

• Effectively, reduces data to first normal form

Page 13: 1SSPD Jackson System Development From Models to Networks

13SSPD

Marsupial emerges...

• Remains to redraw CUSTOMER...

CustomerOrder

PlacePossible Amends

Deliver/ Cancel

Amend Deliver Cancel* o o

Page 14: 1SSPD Jackson System Development From Models to Networks

14SSPD

Redrawn Customer

• We are now modelling the concurrency inherent in the real world.

Customer

Place

Action

Amend Deliver

Cancel

*

o ooo

Page 15: 1SSPD Jackson System Development From Models to Networks

15SSPD

Structure Text

• The entities can also be represented by Structure Text (JSP Schematic Logic).

• Complete the picture with an entity description for each entity in our model

Page 16: 1SSPD Jackson System Development From Models to Networks

16SSPD

Entity description

Entity BOOK– Summary: This entity models the life of a copy of a book,

from acquisition by the library through to disposal by either sale or inter-library swap.

– Action List:• ACQUIRE• CLASSIFY• LEND• RENEW• RETURN• SELL• WITHDRAW

Page 17: 1SSPD Jackson System Development From Models to Networks

17SSPD

Networking

• Models of real world objects and events complete

• Next draw a network diagram showing the real world interactions amongst these objects

• This network will become our system specification.