Enabling Programmes to Deliver
UML Dr Kevin Howard khoward@sula.co.uk Tel:07534 679944 Why use - - PowerPoint PPT Presentation
UML Dr Kevin Howard khoward@sula.co.uk Tel:07534 679944 Why use - - PowerPoint PPT Presentation
Enabling Programmes to Deliver UML Dr Kevin Howard khoward@sula.co.uk Tel:07534 679944 Why use the UML for Systems Engineering ? UML (Unified Modelling Language) OMG Industr y standar d UML For Systems? Enabling Programmes to Deliver
Why use the UML for Systems Engineering ?
UML For Systems?
UML (Unified Modelling Language)
OMG Industr y standar d
Enabling Programmes to Deliver
Elements of the UML
Elements of The UML > Actors > Use cases
– And use case Diagrams
> Classes
– And class diagrams
> Sequence Diagrams > State Diagrams > Objects
– And structured class diagrams
Actors
Actor name
Defines elements that interface with the system
human user external system environment
> a name > a textual description (role, missions,…)
Is described by
Use Case
Use case name
>A use case
–A coherent unit of functionality –Provided by the system or a sub-system –To fulfil specific needs of an actor or actors
Actor name use case activation is controlled by events
Structure of use cases
– a name – a textual description
- pre conditions
- events that trigger the
use case
- main and alternative
scenarios
- exception
- post conditions
– requirements
Use case name
Description in UML tool Defined in a requirement management tool
Use Case Diagram
Communication relationship System border
>Use Cases connect together
–To tell a story of system behaviour and use –Use Case Diagrams show relationships
- and dependencies
Driver Operator Mine Ground Route Clearance Route Proving Area Clearance Record Mark Route Detect Mines Mark Mines Classification Location Neutralisation «include» «include» «include» «include» «include» «include» «include» «include» «extend» Operation view
Use Case Relationships
Place order Request catalogue
Extension use case (additional behaviour)
Arrange payment Arrange credit generalisation
Additional behaviour into the base use case Inherits from "arrange payment" use case and adds specific features actor Association: communication path between an actor and use case Extend: Additional behaviour non-essential to the completion of primary use Include: Additional behaviour necessary to perform primary use generalisation: A more universal representation of specific use
TELL A STORY!
Class
Class name attributes Operations Speed Vibration Bicycle Transport() Reduce_Vibration()
– An abstraction – Describes a group of objects with common:
- Properties (attributes)
- Services (operations)
- Relationships
System or component A component Sub-systems
A singularity of a class and a package
A component
A single class that needs no further partitioning Can be implemented from the description
A System A System
Class
attribute1 attribute2 Class name
- peration1()
- peration2()
Adopt a naming convention
Model properties (e.g. weight, acceleration, fuel consumption) Model calculated information (e.g. acceleration = F(weight, engine torque, transmission ratio,...)) or static information may have default values represent budget of the system attributes Model behaviour of the class (e.g. start, accelerate, stop, turn) Associated with the functional requirements
Class Diagram
Aggregation
Generalisation Association Connection between classes Aggregate Parts Subclass (child) Composite or structured class Parts Superclass (parent) Composition is a form of aggregation with strong
- wnership and coincident lifetime of part with the whole
Keyboard Mouse Input_Device Window
{constraint}
Scrollbar Panel Header Point Polygon
Class Diagram
Autopilot Power Ouput RPM Gear Engine X Position Y Position Aircraft Position Set Position Speed Calibration Constant Wind Speed Sensor Value Calibrate Direction Sensor Altitude Sensor Attitude Sensor
Attitude Sensor
1 *
Association
Company Person Salary Job
– It is an association that is also a class – It defines a set of features that belongs to the relationship itself and not to any of the classes
Sequence Diagram
> An interaction between actors, the system or the sub-systems
– chronological order – it shows the set of messages they send to each other
This is a comment that explains the first sequence Service2() message(data) service1(data)
Actor name Actor name The System
This is a comment that explains the second sequence service4(data) service3(data)
Time constraint
Communication between objects – expects a response
A Sequence Diagram
time
Detect Mines Description Instance :GPR Instance :Fusion Instance :IR Instance :Metal Instance :Position Instance :Display Mine Ground Trigger mine detection. mine present Report detection Report Confirm position Request Position Position report Position report Environment update State request State assessment Ground state Ground report Ground report Assess report Assess Request coroboration Coroborate Request coroboration Coroborate Coroborated Coroborated Declare detection Detection
State Diagram
> Models the dynamic behaviour of a class
– Primarily event-driven
For each state the services provided by the system are defined idle working connecting connected
- nHook
- ffHook
Ready
State Diagram
Based upon Rational Unified Process
Event Y / Action4 On Event Y get State 1 and perform Action4 State 1 Event Z exit/ Action 3 On Event Z perform Action3 and leave State1 Action1 is performed On Event X, perform Action2 entry/Action1 event X/ Action2
System States Example
Availability Unavailable ::In Maintenance Available ::In Transit ::Standby ::Operating ::Stored ::Training ::Transporting Unavailable ::In Maintenance ::In Maintenance Available ::In Transit ::Standby ::Operating ::Stored ::Training ::Transporting ::In Transit ::Standby ::Operating ::Stored ::Training ::Transporting /pac k /F ault /Operational /Unpack /S top /M obile /F ault /Operational /Configure /Configure /S tow /S tow /P ac k /unpack /S tatic /S tart
Package
>Packages
–Groups the model elements within a boundary –May include other packages
>Defines responsibilities
–A framework for information management –Support permission and configuration control
NAME <<stereotype>> The package can have further description by using a stereotype
Package
ACM <<Logical Component>> ACMManager <<Logical Component>> CPDLCEquipedAircraft <<Logical Component>> CPDLCConnection
1 *
* 1
Package example
Baseline Protocol BTID system ::LowLevel Protocol ::Real tim e control ::User Interface ::Non-realtim e processing BTID system ::LowLevel Protocol ::Real tim e control ::Real tim e control ::User Interface ::Non-realtim e processing Antenna m m W ::Transm itter ::Receiver ::Interrogate Antenna ::Transpond Antenna m m W ::Transm itter ::Receiver ::Transm itter ::Receiver ::Interrogate Antenna ::Transpond Antenna RF_IF ::IF Processing ::IF Processing 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Interfaces
UML Interface management Primarily for software Expected and provided functionality …Not very good for systems - its only addresses functionality
Structured Class
:WheelAssembly abs:ABSBrakeSystem wheel1:Wheel O..4 av1: SpeedSensor ecu1:Electronic Control Unit whCyl1: WheelCylinder mv1: ModulatorValve magneticPluse: Energy <<control>> valvePosition:Signal force: HydraulicFluid force:Mech tire1:Tire pVerticalLoad loadForce:Mech pHydraulicIn pHydraulicIn pPositionSignal pHydraulicOut pFrequency pHydraulic loadForce:Mech
class TransportationSystem
Security
Layered Interface Specification
Information Layer Codification Layer Management Layer Physical Layer Problem Logical Solution Physical Solution Carrier Layer Assurance Solution Protocol Transport Solution
Interface 1
<<Interface 1>>
Event 1 Event 2 . Event 3
Stereotype <<Interface 1>>
Connector M
<<Interface 1>>
Connector F
<<Interface 1>>
Signal
<<Signal 2>> Attributes Frequency Volts Amps Operations Codify Encrypt Decrypt
State State
Provided Service Required Service . Provided Service Signal
<<Signal 1>> Attributes Frequency Volts Amps Operations Codify Encrypt Decrypt
Provided Service Required Service . Provided Service
Owns Owns Owns
External External
API
<<Signal 1>> <<Signal 2>>
Modelling
System A System B Connector M Connector F
Provided Service Required Service . Provided Service Required Service Provided Service . Required Service <<Interface 1>>