Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Telecom and Informatics 1
INF5120”Modellbasert Systemutvikling”
”Modelbased System development”
Lecture 6-2: 16.02.2016Arne-Jørgen Berre
Telecom and Informatics 2
INF5120 - Lecture plan - 2015
� 1 (19/1): Introduction – MDA principles, class models, EA, BAE, SAE, MDE� 2 (26/1): BAE-1: BM, VDML, BMC/VPC,– Strategyzer, Oblig 1&2 intro, establish groups� Guest lecture, Prof. Peter Lindgren, Aarhus University, Sensing Business Model� 3: (2/2): MDE-1 Method Engineering, Essence, Process/Practices for BE and SE– Symphonical� Guest lecture, Bjørn Haugland, CEO, Symphonical, The Symphonical platform� 4 (9/2): BAE-2: Service Design – AT ONE, Smaply, ExperienceFellow� 5 (16/2): BAE-3: EA, BA, BPMN, VDML, Class/Term models- MagicDraw and Cameo Enterprise
Guest lecture, Ragnhild Halvorsrud, SINTEF, Visual Service Design language� 6 (23/2): BAE-4: Agile user stories and use cases – Symphonical/MD&Cameo� Guest lecture, Brian Elvesæter, SINTEF, Software Process Modeling and Enactment� 7 (2/3): BAE-5: User experience and Interaction/UI Design– Balsamiq and WebRatio installation� Guest lecture, Amela K, SINTEF, User Experience Design� 8 (9/3): SAE-1 IFML and Webratio and Mobile App development, Oblig 2 intro� 9 (16/3): SAE-2 Domain/information modeling – more IFML – Server development, Oblig 1
delivery and presentations� Guest lecture, Vidar Mortensen/Assulv Tønnesland, SunSense, Evje, Norway� 10(23/3): MDE-2 Metamodels, EMF, Oblig 3 intro� EASTER� 11(13/4): MDE-3 Graphical Editors – Sirius Oblig 2 delivery and presentations� 12(20/4): MDE-4 Model transformations � 13(27/4): SAE-3 Non functional requirements� 14(4/5): SAE-4 Service modeling - Oblig 3 delivery and presentations� 15(11/5): MDE-5: EA and DSL examples – future MDE� 16(18/5): Conclusion – preparation for the exam
Telecom and Informatics 3
INF5120 - Obligs- 2015
� 1 (19/1): Introduction – Presentation of teaching assistants� 2 (26/1): Strategyzer demo, Oblig 1&2 intro, establish groups� 3: (2/2): Symphonical demo, Oblig 1 SenseIT text, finalise groups� 4 (9/2): Smaply demo, Oblig 1 App demo, Group: Strategyzer BMC/VPC, Symphonical plan� 5 (16/2): MagicDraw and Cameo Enterprise demo, Group: Smaply� 6 (23/2): Balsamiq demo, Group: MagicDraw BPMN process, UML class diagram� 7 (2/3): Symphonical/MD&Cameo, Group: User stories/Use cases templates, Symphonical� 8 (9/3): IFML and Webratio and Mobile App development demo, Oblig 2 intro, Group: Balsamiq� 9 (16/3): Webratio II, Oblig 1 delivery discussion and presentations� 10(23/3): EMF and Sirius demo� EASTER� 11(13/4): Sirius demo II, Oblig 2 delivery and presentations� 12(20/4): Sirius support� 13(27/4): Sirius support� 14(4/5): Oblig 3 delivery and presentations� 15(11/5): Oblig 3 discussions, Earlier exams� 16(18/5): Earlier exams
Telecom and Informatics
Relevant Essence-related practicedescriptions
4
• Business Model Canvas design - Strategyzer
• Value Proposition Design - Strategyzer
• AT ONE Service Design Workshops – Symphonical SomeOne SPEED
• Service Journey designs – Smaply, ExperienceFellow
• Vocabulary, Terminology, Information, Ontology designs - MagicDraw
• User Story and Use Cases
• Business Process Modeling with BPMN 2.0
• UI Mockup/Concept designs – Balsamiq
• Scrum development practices
• IFML based developmnet – WebRatio
• Graphical Editor design – Sirius
• …..
See also http://inf5120.modelbased.net/
Telecom and Informatics
Customer Journey & adapted BPMN
5
Telecom and Informatics
OMG Modeling languages and Zachman Framework
6
UML
SoaML
BPMN
Telecom and Informatics
ExperienceFellow
7
http://www.experiencefellow.com/
Telecom and Informatics
ExperienceFellow - Android
8
Telecom and Informatics
ExperienceFellow – iPhone/iPad
9
Telecom and Informatics
Lean Startup – Build, Measure, Learn!
10
Telecom and Informatics
BPMN(Business Process
Model and Notation)
See also:
INF5181 - Process improvement and agile methods in systems development
http://www.uio.no/studier/emner/matnat/ifi/INF5181/h14/timeplan/index.html#FOR
and
http://en.wikipedia.org/wiki/Business_Process_Model_and_Notation#Elements
Telecom and Informatics
The need of process modeling
� Process improvement is created with better
understanding, communication, and organization
� Modeling is an important aspect of these
� Modeling translates verbal or tacit understanding into
simple metaphors that assist these objectives
� A metaphor is a way of reducing the dimensions of the
description of a process to a more understandable and
visible basis
� Metaphors bridge complex concepts and build an
understanding of the relationships between them
Telecom and Informatics
Three manners of thinking -Process� Can be defined as an organization of activities that
happen in a series, relevant to a business’s goals and
objectives
� At a fundamental level, a process diagram represents a
single instance of a process
� For example, a purchase order process reflects an
instance of a single purchase order, not an organization
processing their work load of purchase orders
Telecom and Informatics
Three manners of thinking -Event� From another perspective, a process is actually a
connected sequence of events that respond to states,
causes, and conditions
� In an event-based view, the process is a linkage of the
transitions from one processing state to another
Telecom and Informatics
Three manners of thinking -Decision� From yet another viewpoint, all activities and responses to
events should be the result of a conscious decision by the organization.
� The decisions are an assemblage of business rules
� A process model is not merely a scenario;
� It is a scenario that exists within the context of the process, events, and decisions
� All these different perspectives are appropriately incorporated in a robust process model
Telecom and Informatics
Business Process
� A business process is a sequence of activities that carry
out a business goal
� “A business process is an organized, coordinated flow of activities, conducted by participants, acting on and deciding with data, information, and knowledge, to achieve a business goal”
Telecom and Informatics
Business rules
� A business rule is a mediator of information in computer systems for decision-making process participants, such as managers, employees, and salespeople
� More accurately, from the viewpoint of the business process:
� “a business rule is an atomic logic step that uses data and knowledge to evaluate part of a proposition about a process decision”
� The business rule “meets” the process through the decision – when you change the business rule, you change decision outcome
� Think of a set of business rules as conditions that match data and create conclusions
Telecom and Informatics
Business Event
� In a modern process modeling approach, opportunities,
conditions, and factors that events must respond to are
handled or managed with business events
� “A business even is an event that is meaningful for conducting commercial, industrial, and governmental, or trade activities”
� In BPMN, we have start, intermediary, non-interrupting,
and end events
� Correspond directly to a process instance
Telecom and Informatics
What is BPMN ?
Telecom and Informatics
BPMN example
Telecom and Informatics
BPMN 2.0 and SoaML tools today
� BPMN 2.0
� Signavio has 2.0 Conversation and Choreography diagrams – a SaaS solution
� Most BPMN 1.2 are doing stepwise migration, making existing parts 2.0 compliant
� SoaML (in most UML tools)
� Magic Draw (Cameo), Enterprise Architect, IBM RSA/RSM, Modelio, …
� We will use MagicDraw - Cameo Enterprise Architecture - version in the course in spring 2015
Telecom and Informatics
Signavio is the commercial version of Oryx
Telecom and Informatics
BPMN History
23
� BPMN 1.0 (BPMI) – Mai 2004
� BPMN1.x
� BPMN 1.1 (OMG) – Januar 2008
� BPMN 1.2 (OMG) – Januar 2009
� BPMN 2.0 final Juni 2010
� http://www.omg.org/spec/BPMN/2.0/
Telecom and Informatics
History for BPMN
Telecom and Informatics
BPMI.org Hourglass
Business Environment
Technology Implementation
BP
BPMN
BPEL
Focus � Scope �
Strategy Consultants
Process Designers
System Architects
Software Engineers
Business Analysts
Audiences: Purposes:
Execution
Modeling
Telecom and Informatics
BPMN requirements
Telecom and Informatics
BPMN Building blocks of the foundation
� Some of the concepts are part of the definitions of
business process
� “An event-activated flow of coordinated activities, conducted by participants, and acting on and deciding with data, information, and knowledge that achieve a goal”
� Participant, Activity, Flow, Process event, Data
Telecom and Informatics
Participant
� A participant is an actor or a person that interacts in a
process
� The actor includes any human, digital, or virtual resource
that involved in a business process
Telecom and Informatics
Participant examples
“People” participants:
� Inventory receipt clerk
inspecting the order
� Employee filling out a
request
� Patient in hospital
� Manager approving a
requisition
� Technician restoring a
disk drive
“System” Participants:
� SAP, PeopleSoft
� DB server
� Rules engines
� A Web service
� A custom-build UI
� A telephony queuing
switch
Telecom and Informatics
Activity
� An “activity” is work the participant performs with business
process
� Is the basic units of process work, can be
� Atomic (lowest level, indivisible unit of work)
� Non-atomic (involving many steps)
� Process and subprocesses are compound activities
� In BPMN, the types of process activities include:
� Tasks – is the atomic activity
� Subprocesses – is compound activity, might contain other activities
Telecom and Informatics
Activity examples
� An activity can be manual, as a human participant
completes the activity, or
� It might be automated by a system participant
� Examples:
� Inspecting material delivery
� Restoring a server
� Completing contract requisition
� Reviewing and approving a requisition
� Reviewing loan application
Telecom and Informatics
Flow
� Is the order (and data) in which the activities or process
steps are performed
� Multiple flows might occur within multiple participants
roles
� Two types of flows in BPMN diagram
� Sequence – defines the order in which activities are
performed for any given process participants
� Sequence flow never occurs between participants in different pools
� Message – defines the flow of information and message
between participants within a process
� Messages never occur within the same pool
Telecom and Informatics
Flow: transition
� Describes the hand-off between activities
� Transition means that one activity has stopped and
another has started
� Transition never occurs between multiple participants
� e.g,a work area with people and workstations for each
person’s activities (tasks)
� As each task is completed, the person transitions to the next task at another workstation
� Any communication is an interaction, not a transition
Telecom and Informatics
Flow: interaction
� Is the communication between participants
� Interactions occur between two or more participants in the
form of message
� Interactions never occur from one participant back to itself
� Note: a flow from one participant back to itself is an activity
transition, not an interaction
Telecom and Informatics
Process Event
� An event is something that happens
� A process event defines a point where the process is
either started, stopped, halted, or continued
� Events define occurring activities “of interest”
� Participant actions, choices, or activities define or create
events
� Examples:
� Contract order submitted
� DB unavailable
� Requisition rejected
Telecom and Informatics
Data
� Data shapes in BPMN are artifacts, meaning, or an effect
of process events occurring
� Data is never a cause of process activity occurring. Events
trigger activity, resulting in data
� Data mostly originates from events, for example:
� An airplane is cleared for a final approach. This event is added to the flight log (data)
� The log data is a chorological series of event snapshots
Telecom and Informatics
Core Set of Diagram Elements
�The core set of modeling
elements enable the easy
development simple Business
Process Diagrams that will
look familiar to most Business
Analysts (a flowchart diagram)
Telecom and Informatics
Complete Set of Diagram Elements, Events
�An Event is something that
“happens” during the course of
a business process. These
Events affect the flow of the
Process and usually have a
trigger or a result. They can
start, interrupt, or end the flow.
Telecom and Informatics
Complete Set of Diagram Elements, Activities, Cont.
�A Sub-Process can be in an
expanded form that shows the
process details of the a lower-
level set of activities.
Telecom and Informatics
Complete Set of Diagram Elements, Gateways
�Gateways are modeling
elements that are used to
control how Sequence Flows
interact as they converge and
diverge within a Process. If the
flow does not need to be
controlled, then a Gateway is
not needed.
Telecom and Informatics
BPMN Diagram elements
Telecom and Informatics
Diagram elements (2)
Telecom and Informatics
Activities
Telecom and Informatics
Task
Telecom and Informatics
Sub-processes
Telecom and Informatics
Events
Telecom and Informatics
Start Events
Telecom and Informatics
Intermediate Events
Telecom and Informatics
Intermediate events (normal flow)
Telecom and Informatics
Intermediate events (linked to Boundary)
Telecom and Informatics
End events
Telecom and Informatics
Gateways
Telecom and Informatics
Exclusive Gateways
Telecom and Informatics
Exclusive Gateways, based on data
Telecom and Informatics
Exclusive Gateways, based on events
Telecom and Informatics
Inclusive Gateways
Telecom and Informatics
Complex Gateways
Telecom and Informatics
Complex Gateways
Telecom and Informatics
Parallell Gateways
Telecom and Informatics
Conectors
Telecom and Informatics
Sequence flow
Telecom and Informatics
Conditions in sequence flow
Telecom and Informatics
Default sequence flow
Telecom and Informatics
Message flow
Telecom and Informatics
Associations
Telecom and Informatics
Swim lanes
Telecom and Informatics
Pool
Telecom and Informatics
Lanes
Telecom and Informatics
Artifacts
Telecom and Informatics
Text annotations
Telecom and Informatics
Data objects
Telecom and Informatics
Groups
Telecom and Informatics
Extended artifacts
Telecom and Informatics
Normal flow
Telecom and Informatics
Link events
Telecom and Informatics
Process leves
Telecom and Informatics
Data flow
Telecom and Informatics
Exceptions
Telecom and Informatics
Compenations and transacations
Telecom and Informatics
Loops
Telecom and Informatics
Timers
Telecom and Informatics
Ad hoc processes
Telecom and Informatics
EPC og BPMN
EPCEPC
BPMN
Telecom and Informatics
Orchestration versus Choreography
Telecom and Informatics
Orchestration
Telecom and Informatics
Choreography
Telecom and Informatics
Example
Telecom and Informatics
Process information
Telecom and Informatics
Proposal
Telecom and Informatics
Sources
� The (beta) BPMN 2.0 specification -http://www.omg.org/spec/BPMN/2.0/
� Bruce Silver – http://www.bpmnstyle.com
� Rick Geneva – http://processmodeling.info
� Stephen White -https://apps.lotuslive.com/bpmblueworks/community/?p=902
� BPMN 0.9, 1.0, 1.1, 1.2, …..
Telecom and Informatics
BPMN Examples …
Telecom and Informatics
Telecom and Informatics
Telecom and Informatics
Telecom and Informatics
Telecom and Informatics
Telecom and Informatics
Example – doctor’s office
� A text description of the choreography was presented as so:
� 1) Patient send a "I want to see doctor" message to the Receptionist
� 2) Receptionist send a "Are you available ?" message to a a list of Doctors
� 3) One doctor send a "I'm available" message to the Receptionist.
� 4) Receptionist send a "I'll book you" message to the Doctor.
� 5) Receptionist send a "Go see doctor" message to the Patient
� 6) Patient send a "I feel sick" message to Doctor
� 7) Doctor send a "Prepare this medicine" message to Receptionist
� 8) Doctor send a "Pickup your medicine and you can leave" message to Patient
� 9) Patient send a "I need my medicine" message to Receptionist
� 10) Receptionist send a "Here is your medicine" message to Patient
Telecom and Informatics
Telecom and Informatics
Telecom and Informatics
Telecom and Informatics
Telecom and Informatics
Telecom and Informatics
BPMN 2.0: Major changes from BPMN1.x
� Notational changes� New diagrams for Choreography and Conversation
� New event-types (escalation, …)
� Non-interrupting events
� Event sub-process
� Call Activity– replaces linked/reusable activity
� Technical changes� Formal metamodel – specified in UML
� Interchange formats for semantic model interchange (XMI, XSD)
� Interchange formats for diagram interchange (XMI, XSD)
� XSLT transformations between XMI and XSD formats
Telecom and Informatics
Process diagram
� Flowchart view
to sequence
activities within
an organization
� Support the
modeling of
simple
processes
� Enhanced by
BPMN to handle
more complex
concepts, such
as exception
handling,
transactions, and
compensation.
Telecom and Informatics
Collaboration diagram
� Provides a view
of the
interactions (flow
of messages)
between two or
more business
partners
(Participants).
� Collaborations
can be combined
with Processes
to show how the
interactions are
related to the
internal Process
activities.
Telecom and Informatics
Collaboration diagram example
Telecom and Informatics
Conversation diagram
� Allows a modeler to
group Collaboration
interactions between
two or more
Participants, which
together achieve a
common goal, e.g.
“negotiate delivery”
� The grouping can be
based on business
keys such as
customer id or
shipping id.
Telecom and Informatics
Conversation diagram example � Allows a modeler
to group
Collaboration
interactions
between two or
more Participants,
which together
achieve a
common goal, e.g.
“negotiate
delivery”
� The grouping can
be based on
business keys
such as customer
id or shipping id.
Telecom and Informatics
Corresponding choreography example
• Provides a flowchart view to
sequence interactions between
Participants
• Choreographies define a
“business contract” or protocol to
which the Participants agree to
follow during real-time
interactions.
Telecom and Informatics
Choreography diagram
� Provides a
flowchart view to
sequence
interactions
between
Participants
� Choreographies
define a “business
contract” or
protocol to which
the Participants
agree to follow
during real-time
interactions.
Telecom and Informatics
Activity types - visualised
Telecom and Informatics
Multi-instance activites - visualised
Parallel Serial
Telecom and Informatics
New Artifact Shapes
Data Artifact
Data Artifact Collection
Data Artifact Input
Data Artifact Output
Data Source Artifact
Telecom and Informatics
New Event Gateways� Current event-based gateway
� Event Based Exclusive Intermediate
� Event Based Exclusive Start Gateway
� Event Based Inclusive Start
� Event Based Inclusive Intermediate
Telecom and Informatics
Non-interrupting Intermediate Events� Boundary intermediate
events in BPMN 1.0-1.2 are
interrupting
� BPMN2.0 introduces new
non-interrupting intermediate
events
� Boundary events
� Catching
� Example of use
Telecom and Informatics
Non-interrupting Event Sub-process (expanded)
Telecom and Informatics
Non-interrupting Event Sub-process (collapsed)
Telecom and Informatics
Interrupting Event Sub-process
Telecom and Informatics
BPMN 2.0Event Gallery
Telecom and Informatics
OMG Modeling languages and Zachman Framework
120
UML
SoaML
BPMN
Telecom and Informatics 121
Purchase
Process2
OrderInfo :
OrderInfo
Proceed
Purchase2
Handle invoice2
Order Process2
confInfo
Delivery
Process2
invoiceInfo
Seller2 : ISellerCustomer2 : ICustomer
Activity model
Information model
Interaction model
UML Activity model (or BPMN)
UML component diagram
(enhanced in UML 2.0), SoaML
UML Class diagram
LTB HPL
ICustomer ISeller
IProdOwn
LHH
IWareHouse
TRA
ITransportServ
OrderLine
+ nrOfProd : Int
<<entity>>
Invoice
- date : Date
- amount : Currency
<<entity>>
SellerEntity
- name : String
<<entity>>
Product
+ prodNr : Int
+ descript ion : String
<<entity>>
Shipment
+ delivAddress : Address
<<entity>>
CustomerEnti ty
+ name : String
+ address : String
+ phonenr : String
<<entity>>
PurchaseOrder
- poNr : int
- date : Date
<<entity>>
Order
+ orderNr : Int
+ date : Date
<<entity>>
1..*1. .*
Information
modeling
Semantic
Models
Telecom and Informatics
Parts of UML Metamodel
Class
Attribute
initialValue : Expression
DataType
Operation
SpecificationisPolymorphic : Booleanconcurrency : CallConcurrencyKind
GeneralizableElement
Feature
BehaviouralFeatureStructuralFeature
Association
Classifier
0..*
+features
0..*
AssociationEnd
2..n2..n
0..*0..*
0..* 1
0..*
1
0..*
0..*
Telecom and Informatics
UML Information Modeling
� Ref also ISO 19103 Standard for Conceptual Modeling
� The following material is for reference …..
123
Telecom and Informatics
Objects
Can represents
� One instance
� One type, interface
� One class
Ola :Person
Person
<<Interface>>
Person
Objekt modellering
Telecom and Informatics
Object and classes - notation
Person
navn : stringpersonnr. : integeradresse : stringgasje : moneystillingstittel : string
endre-stilling()endre-adresse()
Example - object class
Objekt modellering
Telecom and Informatics
Objektklasser -notasjon
Klassenavn
attributtnavn-1 : datatype-1 = defaultverdi-1
attributtnavn-2 : datatype-2 = defaultverdi-2
operasjonsnavn-1 (argumentliste-1) : resultattype-1
operasjonsnavn-2 (argumentliste-2) : resultattype-2
. . . .
. . . .
Objekt modellering
Telecom and Informatics
GM_Primitive
+ boundary() : Set(GM_Primitive)
(from GeomPrimitive)GM_Complex
(from GeomComplex)
GM_Object
+ mbRegion : GM_Object
+ representativePoint : DirectPosition
+ SRS() : SpatialReferenceSystem
+ transform(SRS : SpatialReferenceSystem) : GM_Object
+ equals(object : GM_Object) : Boolean
+ distance(object : GM_Object) : Distance
+ dimension() : Integer
+ dimension(point : DirectPosition) : Integer
+ coordinateDimension() : Integer
+ envelope() : Envelop
+ boundary() : Set(GM_Object)
+ buffer(radius : Distance) : GM_Object
+ convexHull() : GM_Object
+ centroid() : DirectPosition
+ representativePoint() : GM_Point
+ isInComplexes() : Set(GM_Complex)
+ isPartOf(geomCplx : GM_Complex) : Boolean
+ universe() : GM_Complex
SpatialReferenceSystem(from DirectPositioningSchema)
1
+srs
1
Class diagram
Telecom and Informatics
Class attributes
ClassName
/ /* derived attribute
+ /* public visibility
# /* protected visibility
- /* private visibility
underline /* class scope
Telecom and Informatics
[visibility] name [multiplicity] [:type] [= initial value] [{property-string}]
+ origin [0..1] : Point = (0,0) {frozen}
defined properties: changeable, addOnly, frozen (const)
Class attributes
Telecom and Informatics
Attributes and data types
� A data type specifies a legal value domain and
the operations on values of that domain
� Four categories
� a) Basic data types (integer, real, string, …)
� b) Collection data types (from OCL)
� c) Enumerated data types (user-definable finite sets)
� d) Model types
Telecom and Informatics
Operations
An operation is a specification of
• a transformation, or
• a query
A method is a procedure that implements an operation.
Telecom and Informatics
Operations
[visibility] name [(parameter-list)] [:return-type] [{property-string}]
[(parameter-list element)] ::=
[direction] name : type [= default-value]
[direction] ::= in | out | inout
+ set ( in name : Name, in place : String = ‘Oslo’)
: Boolean {concurrency=sequential}
defined properties: isQuery, concurrency, ...
Telecom and Informatics
Optional/Conditional
� In UML all attributes and operations are per
default mandatory.
� Optional data values for attributes can be
shown through multiplicity [0..1].
� Conditional should relate to a note with
constraint expressed in text/OCL (ISO
19103)
Telecom and Informatics
Relationships
Association (the “glue”)A semantic relationship between elements(involves connections among their instances)
Generalization (inheritance)A relationship between an element and the sub-elements that may be substituted for it
DependencyThe use of one element by another
Refinement/realisation
A shift in levels of abstraction
Telecom and Informatics
Purpose: To show relationships between model entities
To define multi-way constraints
AssociationName
RoleNameRoleName
1..*2
Multiplicity of
an Association
Dependency (Client-Server) Composition (Strong Aggregation)
Generalization Aggregation
Link AttributeAssociation Notation
used to “anchor” at note
to a model entity
Different relationships in UML Diagrams
Telecom and Informatics
Generalisation and Association
Woman
Married with
0..1 0..1
Person Bookloans
Loan
customer
Loan-
entity
0..1 0..*
Man
{not siblings}
Generalisation
Superclass
Subclasses (inherits attributes and operations)
wifehusband
Arrow can be used toshow direction ofknowledge
Association
Telecom and Informatics
Multippel arving - eksempel
Ansatt
Selger Sjef
DirektørSalgssjef
{overlapping}
Objekt modellering
Telecom and Informatics
Multiplicity constraints
Multiplicity shows how many instances of a class that can
be related to one instance of the class at the other end of
the association
Class
Class
Class
Class
Class
0..*
1
0..1
Class*
1..*
3,5,10
Telecom and Informatics
Aggregation
Loose (weak) part-of relationship
Phone
bookSubscription
0..* *
Open diamond
Multiplicity > 1 possible
Exists even if a phone bookgoes away
listedIn subscriptions
association
role names
Telecom and Informatics
Composition (“strong aggregation”)
Strong part-of relationship
File Recordcontains1 *
Filled diamond
Multiplicity max 1 Existence dependent
Telecom and Informatics
Associations
Fig. 3-31, UML Notation Guide
Person
Manages
JobCompany
boss
worker
employeeemployer
1..∗
∗
∗
0..1
Job
Account
Person
Corporation
{Xor}
salary
Telecom and Informatics
Association Ends
Fig. 3-32, UML Notation Guide
Polygon PointContains
{ordered}
3..∗1
GraphicsBundle
colortexturedensity
1
1
-bundle
+points
Telecom and Informatics
Association class
Are used instead of link-attributes if
�The association are related to other objects
�Operations are attached to the association
Person BookLoans
Loan dateDelivery data
Loan
CheckDate()Expired loans
1 1..*
*
Telecom and Informatics
Constraints on relationships
Portfolio
BankAccount
{secure}
Persont
Corporation
{or}
Department
Person
member manager
{subset}
* *
1..* 1
Telecom and Informatics
Geometry Package
(from Logical View)+ Accuracy+ TopologicalGeometry+ RepresentationalGeometry+ TemporalGeometry+ Geometry+ Vector{dimension}+ SpatialVector
Packages in UML
� This is a grouping of model
elements and diagrams.
� Package dependencies usually
summarize dependencies among
the contents of the packages.
� Packages can contain other
Packages.
� Packages can show the
Class/Entities found in a given
Package.
Telecom and Informatics
Containment and dependency
Foundation
Model
Management
Behavioral
Elements
CoreExtension
Mechanisms
Data
Types
Telecom and Informatics
Comments and constraints
<<requirement>>
Shall conform to ….
Notes:
Common Mechanisms
� Adornments: notes
� Extensibility mechanisms: stereotypes,
tagged values, constraints
Telecom and Informatics
Stereotypes
� Used to define derivative modeling concepts
based on existing generic modeling
concepts
� Defined by:
� base (meta-)class = UML meta-class or stereotype
� constraints
� required tags (0..*)
� often used for modeling pseudo-attributes
� icon
� A model element can have at most one
stereotype
Telecom and Informatics
Tagged values - properties
Name (tag) separator (=) value (of the tag)
properties on an element - relevant for code generation or configuration management (Can be applied to all UML elements)
Server{processors = 3}
Billing
{version=3.2status=checkedOutby=ajb}
Telecom and Informatics
OCL - Object Constraint Language
First order predicate logic, for Boolean expressions - included in UML 1.1
Can be used for:invariants, value restrictions, pre- and postconditions
Person
self.age > 0
Married people are of age >= 18
self.wife->notEmpty implies self.wife.age >= 18 and
self.husband->notEmpty implies self.husband.age >= 18 and
Expressions with:
and, or, not, implies, exists, for all,
Collections (select, reject, collect, iterate)
Telecom and Informatics
Implementation neutral! Not implementation specific!
ISO 19103 – Conceptual modeling with UML
� Basic data types
� Stereotypes
� Naming
� Documentation of models
� Information modelling guidelines
Telecom and Informatics
Basic Types
� Primitive
� Decimal, Integer, Number, Real, Vector, Character, CharacterString, Date, Time DateTime, Binary
� Sign, Boolean, Logical, Probability
� Collections
� Set<T>, Bag<T>, Sequence<T>, Dictionary<K,T>
� Measures
� Angle, Area, Distance, length, Scale, MTime, Velocity, Volume, UnitOfMeasure
� Records, Namespace
Telecom and Informatics
Number
Number
<<BasicType>>
Integer
<<BasicType>>
Real
<<BasicType>>
Telecom and Informatics
Sign
+ positive
+ negative
<<Enumeration>>
MD_Restrictions1
+ copyright = 1
+ patent = 2
+ patentPending = 3
+ trademark = 4
+ licence = 5
+ intellectualPropertyRights = 6
+ restricted = 7
+ otherRestrictions = 8
<<CodeList>>
1 copyr ight2 patent3 patentPending4 trademar k5 licence6 intel lectualPropertyRights7 res tricted 8 otherRestr ict ions
MD_Restrictions2
<<CodeList>>
DirectPosition
+ coordinate : Sequence<Num ber>
/+ dim ension : Int eger
<<DataType>>
GM_Posit ion
+ di rect : DirectPosition
+ indirect : G M_Point Ref
<<Union>>
User defined data types
� <<DataType>>
� <<Enumeration>>
� <<CodeList>>
� <<Union>>
Telecom and Informatics
Class Stereotypes
� NONE
� <<Interface>>
� <<Type>>
� <<Abstract>>
� <<MetaClass>>
GM_GenericCurve
+ startPoint() : DirectPosition
+ endPoint() : DirectPosition
+ param(s : Distance) : DirectPosition
+ tangent(s : Distance) : Vector
+ ...()
<<Interface>>
GM_LineString
+ controlPoint : GM_PointArray
+ GM_LineString(points[2..*] : GM_Position) : GM_LineString
+ asGM_LineSegment() : Sequence<GM_LineSegment>
GM_Curve
<<Type>>
GM_CurveSegment
+ interpoilation : GM_CurveInterpolation = "linear"
+ numDerivatesAtStart[0,1] : Integer = 0
+ numDerivatesAtEnd[0,1] : Integer = 0
+ numDerivateInterior[0,1] : Integer = 0
+ samplePoint() : GM_PointArray
+ boundary() : GM_CurveBoundary
+ reverse() : GM_CurveSegment
<<Abstract>>
0..1 1..*
+curve
0..1
+segment
1..*Segmentation
Telecom and Informatics
GM_CurveSegmentMD_CitationGM_FeatureAttribute
Class (package, association) names
� All classes must have unique names.
� Names shall start with upper case letter.
� Should not have a name that is based on its
external usage, since this may limit reuse.
� Should not contain spaces
� Separate words in a class should be concatenated, e.g. “XnnnYmmmm”
� Class names should start with bialpha prefixes for
each standard part.
Telecom and Informatics
computePartialDerivatescompute Partial Derivatescompute_partial_derivatives
Attribute, operation and role names
� Shall start with lower case letter
� Concatenate words shall begin with capital letter
� Do not repeat class names in attribute names
� Keep names technical, meaningful and short, if possible
Telecom and Informatics
GM_Curve
<<Type>>
GM_CurveSegment
<<Abstract>>
1..*0..1
+segment
1..*
+curve
0..1
Segmentation
Associations
� Multiplicity shall be defined for both associations ends
� All associations ends (roles) representing the direction
of a relationship must be named or else the association
itself must be named
� The role name must be unique within the context of a
class and its supertypes.
� The direction of an association must be specified
Telecom and Informatics
NB! Font size > 8pt
GM _Curve
<<T ype>>
Documentation of models
� Diagrams
� Package dependency diagrams
� Class diagrams
� Class context diagrams
� Text
� Class
� General description, semantics,
supertypes/subtypes
� Attributes, Associations
� Operations
� preconditions, input/output parameters, return value,
post conditions, exceptions, constraints
� Constraints