Upload
melinda-alexander
View
214
Download
0
Embed Size (px)
Citation preview
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
3SSPD
Entity Structure DiagramsThe ESD shows the life cycle of each
entity class from birth to death.
VEHICLE
PURCHASE DISPOSEWORKINGLIFE
HIRING
HIRE RETURN
*
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
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
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
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:
8SSPD
Messy CAR ESD CAR
ORDER check
DELIVER check
o.k.
damage?
SELL
O
RETURNOo.k. O
O
RETURNO
RETURNO
9SSPD
With backtrackingCAR
POSITnormal
ADMITabnormal
ORDER DELIVER SELL RETURN
Wrong car Wrong car Damaged
Quit! Quit! Quit!
??
10SSPD
Marsupials
• Sometimes concurrency clouds the issue
• We need to define new roles for the entity = emerging marsupial
11SSPD
SOP Example
• Problem: PLACE, PLACE
Customer
PlacePossible Amends
Deliver/ Cancel
Amend Deliver Cancel* o o
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
13SSPD
Marsupial emerges...
• Remains to redraw CUSTOMER...
CustomerOrder
PlacePossible Amends
Deliver/ Cancel
Amend Deliver Cancel* o o
14SSPD
Redrawn Customer
• We are now modelling the concurrency inherent in the real world.
Customer
Place
Action
Amend Deliver
Cancel
*
o ooo
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
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
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.