System Model 5
System Model 5
Pepper modification of
Sommerville Software Engineering presentation
Context models
Interaction models
Structural models
Behavioral models
Model-driven engineering
External
context and environment (context model)
Interaction
Between system and its external environment (use case)
Between the components of a system. (sequence diagram)
Structural
organization of a system (class diagram)
structure of the data
Behavioral
Response to events (state diagram, activity diagram)
facilitating discussion
Incomplete and incorrect models are OK as their role is to
support discussion.
documenting an existing system
accurate representation of the system but need not be complete.
basis for system implementation
Models have to be both correct and complete.
Context models
Show what lies outside the system boundaries.
Does not show process or how the systems interact
Must first determine system boundaries
Systems that need your system and those your system needs
Profoundly effects system requirements
Political judgment
• The boundary will often effect workflows in different departments
Lecture 2
State Description
Waiting The oven is waiting for input. The display shows the current time.
Half power The oven power is set to 300 watts. The display shows ‘Half power’.
Full power The oven power is set to 600 watts. The display shows ‘Full power’.
Set time The cooking time is set to the user’s input value. The display shows
the cooking time selected and is updated as the time is set.
Disabled Oven operation is disabled for safety. Interior oven light is on.
Display shows ‘Not ready’.
Enabled Oven operation is enabled. Interior oven light is off. Display shows
‘Ready to cook’.
Operation Oven in operation. Interior oven light is on. Display shows the timer
countdown. On completion of cooking, the buzzer is sounded for five
seconds. Oven light is on. Display shows ‘Cooking complete’ while
buzzer is sounding.
Stimulus Description
Half power The user has pressed the half-power button.
MDE
Raise level of abstraction in program spec
Increase automation in programming
Pros
Allows systems to be considered at higher levels of abstraction
Generating code automatically means that it is cheaper to adapt
systems to new platforms.
Cons
Models for abstraction and not necessarily right for
implementation.
Savings from generating code may be outweighed by the costs of
developing translators for new platforms.
Chapter 5 System modeling 38
Model driven architecture (used by MDE)