3 - Advanced Modeling Techniques
3 - Advanced Modeling Techniques
techniques
Software Engineering
Topics
2 Software Engineering
ICU case study
3 Software Engineering
ICU case study
4 Software Engineering
ICU extension
5 Software Engineering
System modeling
scheme
SW Context SW System
Components
diagram
Sequence diagram
State machine
diagram
Source Code
6 Software Engineering
SW Context
• Unnecessary to change the SW context components
diagram, we just modify the use cases diagram
8 Software Engineering
Separation of
concerns
• Modification of the system components diagram to
evolve the architecture of the system
9 Software Engineering
Separation of
concerns
• The archive component:
o Allows to isolate work on persistent data
o Provides a simple critical region to model DDBB systems that
work concurrently with our system
• Archive and process can be coded by different people
10 Software Engineering
Separation of
concerns
• We modify the state machine to include the new case
11 Software Engineering
Separation of
concerns
We aim to:
• Isolate reusable functions
• Separate independent concurrent tasks
• Separate different alternating services
12 Software Engineering
Submachine states
For each service, we create one submachine state
13 Software Engineering
Submachine states
Each submachine is defined through its own state machine
14 Software Engineering
Submachine states
Consistency!
15 Software Engineering
Concurrent parts
• So far, we only support one request of the ICU/Hotpos
service at the same time.
• We should assume:
o Several users can use the system concurrently
o The system may handle everybody at once, keeping data apart
o Some things take IRL time outside the system
o Concurrency improves overall throughput
16 Software Engineering
Concurrent parts
• Risk: services may confuse user’s data & comms
17 Software Engineering
Concurrent parts
• Modification to the system components diagram to
evolve the architecture: controller, process, archive
18 Software Engineering
Concurrent parts
• The controller stores users and their sessions, routing
users to their processes
19 Software Engineering
Concurrent parts
21 Software Engineering
Concurrent parts
• The state machine also changes, adding a final state
that represents the termination of the session
22 Software Engineering