SlideShare une entreprise Scribd logo
1  sur  54
Télécharger pour lire hors ligne
UML Notations in CommonKADS
Activity diagrams
State diagrams
Class diagrams
Use-case diagrams
UML notations 2
Background UML
■  Nineties: number of popular object-oriented methods
■  Unified Modeling Language: proposal for set of
standard notations
■  wide attention
➤  see www.rational.com
■  mainly meant for analysis phase
UML notations 3
UML notations used
■  Class diagram
➤  static information structure (“data”)
■  Activity diagram
➤  combined function/control view
■  Use-case diagram
➤  high level view of system services (functional)
■  State diagram
➤  highly interactive control
UML notations 4
Activity diagram
■  Model control and information flow of a procedure or
process
■  Useful if control is mainly synchronous
➤  otherwise: use state diagram
■  Use in CommonKADS: modeling the organizational
process
➤  worksheet OM-2 of the organization model
■  Can also be used to model control flow within a task
method (knowledge model)
UML notations 5
Action state
■  State in which some work is being done
➤  activity, task
■  State terminates when the work is finished
➤  difference with state diagrams
■  After termination the action state can lead to another
action state
➤  “state transition”
■  Special symbols for being and end of a procedure or
process
UML notations 6
Basic notation for activity
diagram
data	
  entry
processing
generate
output
UML notations 7
Decision
■  Sate transition is deterministic
■  If transition depends on outcome of the work, then
introduce a decision
data	
  entry
dump	
  in	
  
waste	
  basket
further
processing
[data	
  correct]
[data	
  incorrect]
UML notations 8
Introducing concurrency
buy	
  food
and	
  drinks
cook	
  dinner
open	
  wine
bottle
have	
  dinner
UML notations 9
Swim lanes
■  Process can sometimes be distributed over several
agents or organizational units
■  Notation: use compartments
■  In particular useful when modeling a business
process (e.g. in organization model)
UML notations 10
Notation for swim lanes
write	
  
tender
get	
  customer
information
S ALE S
DE P ARTME NT
calculate
cost
DE S IGN
DE P ARTME NT
design
elevator
	
  	
  
UML notations 11
Object flow
standard
design
write	
  
tender
get	
  customer
information
S ALE S
DE P ARTME NT
decide	
  	
  about	
  
design	
  type
custom
design
cost
calculation
elevator
design
DE S IGN
DE P ARTME NT
non-­‐standard standard
CUS TOME R
tender
customer
information
	
  	
  
UML notations 12
Signals
receive
request
archive
(request)
archive
(request)
process
request
archive
UML notations 13
Business process “Housing”
primary
proces s
s econdary
proces s
data	
  entry
of	
  applications
magazine
production
application
assessment
residence
assignment
statistical
analysis
policy
information
:residence
assignments
	
  	
  
UML notations 14
Activity diagram of method
control
cover
predict
obtain compare
[no	
  more	
  solutions
of	
  cover]
[new	
  solution
of	
  cover]
[result	
  =	
  equal]
[result	
  =	
  not	
  equal]
solution	
  found
no	
  solution	
  found
start
diagnosis
through
generate-­‐and-­‐test
UML notations 15
State diagrams
■  Synonyms: “state chart”, “state-transition diagram”
■  Purpose: model of dynamic behavior
■  Use if control is heavily influenced by “external”
events
■  Draw a state diagram for object classes with
interesting behavior
■  Activity diagram is alternative
➤  internal control
➤  object flow
UML notations 16
State
watching	
  	
  
football	
  match
duration
entry/switch	
  on	
  TV
do/watch
exit/turn	
  off	
  TV
state	
  name
state	
  variables
state	
  actions
&	
  activities
UML notations 17
State transition
■  Event: comes from outside the object modeled
■  Message: generates event for another object
■  Guard: outcome of internal object computation
ready	
  for
take	
  off
check:	
  boolean
entry/final	
  check
airborne
do/fly
permission-­‐from-­‐control-­‐tower
[check	
  -­‐=	
  OK ]	
  
/	
  take-­‐off	
  
^control-­‐tower.confirm-­‐takeoff(flightID)
UML notations 18
Actions and activities
■  Action: instantaneous, not interruptible
➤  on transition
➤  on state entry = action on all incoming transitions
➤  on state exit = action on all outgoing transitions
➤  on event
■  Activity: takes time, interruptible
UML notations 19
State diagram of
ticket machine
	
  	
  idle	
  	
  
inserting	
  money
timer
balance
insert(coin)/add	
  to	
  balance
processing	
  selection
do/compute	
  change
dispensing
change
do/dispense	
  change
dispensing
ticket
do/dispense	
  ticket
cancelling
do/return	
  balance
select(ticket)
cancel	
  button
pressed
time	
  out
[balance	
  <	
  
ticket	
  price]
insert(coin)/new	
  balance
[balance	
  =	
  ticket	
  price]
[balance	
  >	
  ticket	
  price]
UML notations 20
State concurrency
entering
transaction
data
processing
take	
  out
cash
take	
  out
card
idle
cash	
  card
entered
cash	
  taken card	
  taken
UML notations 21
State generalization
■  If Object A is in super-state S, then the object us in precisely one
of the sub-states
■  Cf. concurrency: “and”-states
white
to	
  move
black
to	
  move
playing	
  chess
UML notations 22
State diagrams in
CommonKADS
■  Communication modeling (Ch. 8)
■  Asynchronous reasoning control
➤  real-time applications
■  Control specification for the business process
■  Overlap with activity diagrams
➤  state with no outgoing events = action state
UML notations 23
State diagram “Housing”
application
assessment
waiting	
  for	
  
case	
  data
application	
  received/
order	
  assessment
data	
  needed/ask
data	
  received	
  /	
  reply
assessment	
  finished/
report	
  decision
UML notations 24
Class diagram
■  Captures static information structure
➤  In O-O: also functions
■  Generalization, inheritance & reuse are important
issues
■  Imported into CommonKADS domain- schema
notation
➤  no use made of operation box
■  Can also be used in Task Model to sketch task
information structure
UML notations 25
Objects and classes
Fokker	
  100
:airplane
airplane
#seats:	
  integer
Fokker	
  70
:airplane
#seats	
  =	
  80
:airplane
UML notations 26
Object class
■  Describes a group of objects with similar properties
➤  Abbreviation: "class"
■  Rationale for introducing classes:
➤  it provides a means for abstraction
■  Terminology: “object” is often used in an ambiguous
way, pointing to both objects (in the strict sense) and
object classes.
UML notations 27
Attributes
■  An attribute describes a value held by objects
belonging to the class.
■  Attribute specification consists of:
➤  Class it is defined on (student)
➤  Attribute name (name)
➤  Admissible values (string)
➤  Optional: default value
UML notations 28
Object and Value
■  Most O-O approaches distinguish between objects
and values.
■  Difference: a value does not have an identity
➤  it "lives” only in connection to a certain object.
■  RULE 1: an object is not allowed as a possible value
of an attribute!
■  RULE 2: attribute names need only to be unique
within a class.
UML notations 29
Values and Value Sets
■  Values are the primitive things with no internal
structure from the viewpoint of the application
■  Admissible values are defined through a value set
■  Typical predefined value-sets:
➤  string, number, integer, real, range, boolean, ….
■  User-defined:
➤  set or list of strings
UML notations 30
Object Identifiers
■  In O-O modeling you assume that every object has
an identity.
■  Consequence: introduce only attributes that act as
identifiers, iff the identifier is something that exists in
the real world.
■  Examples: student card number, social security
number.
UML notations 31
Operations
■  Definition:
➤  operation is "a function or a transformation that can be
applied to objects of a class".
■  Objects in a class share the same operations.
■  Method: implementation of an operation
■  = functional view
UML notations 32
Class notation
class	
  name
attribute-­‐1:	
  value-­‐set
attribute-­‐2:	
  value-­‐set	
  
operation-­‐1(P ar1:T ype,	
  P ar2:T ype):	
  R eturnT ype
library	
  book
catalog#:	
  string
title:	
  string
author:	
  string
category:	
  C ategory
cover-­‐type:	
  {hard-­‐cover,	
  paperback}
available():	
  Boolean
library
book
UML notations 33
Associations
■  Associations are used to link objects to other objects
■  Majority of associations:
➤  binary (between two objects)
➤  directional (should be read in a particular direction
■  Ternary associations come up occasionally.
■  Associations between more than three objects are
rare.
UML notations 34
Association notation
man woman
0-­‐1 0-­‐1
w ife
husband
man woman
husband w ife
married-­‐to
General	
  notation	
  for	
  association
Notation	
  for	
  a	
  binary	
  association
married-­‐to 0-­‐10-­‐1
UML notations 35
Multiplicity examples
student course
person
major
address
<<	
  has	
  address
married-­‐to
major	
  subject	
  
>>
enrolled	
  in	
  >>
0+
0-­‐1
1+
	
  	
  
UML notations 36
Multiplicity
■  Also called: "cardinality".
■  Always connected to one of the classes involved.
■  Typical types of multiplicity:
➤  0-1 Zero or one (optional).
➤  1 Precisely one.
➤  0+ Zero or more,
➤  1+ One or more.
UML notations 37
Association class
■  Modeling an association as a class if the association
has an internal information structure
■  Advantage: associations become first-class objects.
■  Attributes and methods can be defined for the
association class.
UML notations 38
Notation association class
man woman
0-­‐1 0-­‐1
w ifehusband
marriage
date:	
  Date
city
registered	
  in	
  >>
	
  	
  
UML notations 39
Use of an association class
company
name
person
name
social	
  security	
  #
address
salary
job	
  title
person
name
social	
  security	
  #
address
company
name
<<	
  works	
  for	
  
employer employee
1+
1
employer employee
1+ 1+
works	
  for
salary:
job	
  title
if	
  you	
  want	
  to	
  model	
  that
a	
  person	
  can	
  work	
  for
	
  more	
  than	
  one	
  company,
then	
  change	
  to
	
  	
  
	
  	
  	
  
UML notations 40
Associations with specific
semantics
■  Associations provide a general, "neutral", way of
connecting object classes.
■  Semantics of the association are defined through
argument typing, multiplicity and (implicitly) the name
of the association.
■  Class diagrams provide specific types of
associations, with predefined semantics:
➤  generalization ("is a").
➤  aggregation ("part of").
UML notations 41
Generalization
■  Purpose: sharing similarities while preserving
differences
■  Is an association between a class that acts as super-
class and one or more classes called the sub-
classes.
■  Super-classes show the features that the sub-classes
have in common.
■  Each sub-class inherits the attributes and operations
defined on its super-class(es).
UML notations 42
Notation for generalization
agent
human
computer
program
man woman
task
executor-­‐of	
  >>
1+ 0+
	
  	
  
UML notations 43
Aggregation
■  Aggregation denotes a binary association in which
one side is an "assembly" and the other side a "part".
■  "Assembly" and "part" act as predefined roles
involved in the aggregation association.
■  Cardinality of a part can be defined
➤  precisely one; optional (0-1); many, ...
UML notations 44
Notation for aggregation
audio
system
tape	
  deck
CD	
  player
tuner
amplifier
speakerhead
phones
record
player
0-­‐1
0-­‐1
0-­‐1
0-­‐1 0-­‐1 2,4
	
  	
  	
  
UML notations 45
Composition
■  Sub-type of aggregation
■  Existence of part depends on aggregate
document
name
type
open
print
paragraph
style
0+
	
  	
  	
  
UML notations 46
Aggregation and generalization
■  Similarities:
➤  Tree-like structure
➤  Transitive properties
■  Differences:
➤  AND-tree (aggregation) vs. OR-tree (generalization)
➤  instance tree (aggregation) vs. class tree (generalization)
UML notations 47
Combined aggregation and
generalization
audio
system
tape	
  deck
C D	
  player
tuner
amplifier
speakerhead
phones
record
player
0-­‐1 2,4
input
system
1+
	
  	
  	
  	
  
UML notations 48
Use-case diagram
■  shows services that can be expected from a system
■  provides outsider view (customer)
■  terminology
use case service provided by system
actor agent using a system service
■  used in early phases of system analysis
■  use in CommonKADS: way to present possible
solutions to customer
UML notations 49
Use cases for a library
library	
  system
lend	
  book
make	
  book
reservation
search	
  library
catalog
add	
  book
to	
  catalog
remove	
  book
from	
  catalog
lender librarian
	
  	
  
UML notations 50
A small case study
■  Course administration system (CAS)
■  Context: university department
■  Required services:
STUDENT: update personal data, inspect exam results, inspect
course info, enroll in course
TUTOR: inspect exam results, update course info, inspect
enrollments
ADMIN STAFF: enter exam results, inspect exam results,
update personal data students, inspect enrollments
UML notations 51
Use cases
student
tutor
update
student	
  data
inspect
course	
  info
update
course	
  info
enroll
in	
  course
enter
exam	
  results
browse
enrollments
browse
exam	
  results
browse
individual	
  
results
browse
course
results
administrative
staff
	
  	
  
UML notations 52
Class diagram
student
student-card#: string
name: string
address: string
date-of-birth: data
major: Major
.........
course
course-code: string
year: integer
trimester: 1-3
study-points: integer
learning-goals: string
description: text
literature: text
maximum-#students: integer
exam
date: date
result: [0..10]
enrollment
date: date
university
staff member
title: string
position: string
department: string
telephone: string
room: string
e-mail: string
0+ 0+
course-exam
1
0+
tutor
0+
1+
0+
requires
UML notations 53
Activity diagram for course
enrollment procedure
submit
enrollment
request
check
student	
  limit
check
preconditions
inform	
  about
prerequisites
inform	
  about
student	
  limit
register
enrollment
inform	
  about
enrollment
[preconditions
OK ]
[preconditions
not	
  OK ] [above	
  limit]
[limit	
  not
yet	
  reached]
UML notations 54
State diagram:
“update student data”
waiting	
  for
notification
timer
received(new	
  student	
  data)	
  
^	
  send	
  message	
  to	
  
central	
  university	
  database
local
processing
do/update	
  local	
  database
do/display	
  results
OK 	
  message	
  received	
  from	
  central	
  	
  database
[timer	
  =	
  time-­‐out	
  or	
  not	
  OK ]
/notify	
  failure
	
  	
  

Contenu connexe

Tendances (19)

2.1.1 PROBLEM SOLVING & DESIGN
2.1.1 PROBLEM SOLVING & DESIGN2.1.1 PROBLEM SOLVING & DESIGN
2.1.1 PROBLEM SOLVING & DESIGN
 
Object oriented analysis and design unit- i
Object oriented analysis and design unit- iObject oriented analysis and design unit- i
Object oriented analysis and design unit- i
 
05 use case
05 use case05 use case
05 use case
 
CommonKADS knowledge modelling basics
CommonKADS knowledge modelling basicsCommonKADS knowledge modelling basics
CommonKADS knowledge modelling basics
 
Ssad fp tech ii
Ssad fp tech iiSsad fp tech ii
Ssad fp tech ii
 
SQL Constraints
SQL ConstraintsSQL Constraints
SQL Constraints
 
Introduction
IntroductionIntroduction
Introduction
 
Ssad decision table
Ssad decision tableSsad decision table
Ssad decision table
 
Cs8592 ooad unit 1
Cs8592 ooad unit 1Cs8592 ooad unit 1
Cs8592 ooad unit 1
 
Confirmatory Factor Analysis
Confirmatory Factor AnalysisConfirmatory Factor Analysis
Confirmatory Factor Analysis
 
Relational Model - An Introduction
Relational Model - An IntroductionRelational Model - An Introduction
Relational Model - An Introduction
 
Intro to relational model
Intro to relational modelIntro to relational model
Intro to relational model
 
CommonKADS context models
CommonKADS context modelsCommonKADS context models
CommonKADS context models
 
1030 track2 abbott
1030 track2 abbott1030 track2 abbott
1030 track2 abbott
 
1015 track2 abbott
1015 track2 abbott1015 track2 abbott
1015 track2 abbott
 
Confirmatory Factor Analysis Presented by Mahfoudh Mgammal
Confirmatory Factor Analysis Presented by Mahfoudh MgammalConfirmatory Factor Analysis Presented by Mahfoudh Mgammal
Confirmatory Factor Analysis Presented by Mahfoudh Mgammal
 
Discrete And Continuous Simulation
Discrete And Continuous SimulationDiscrete And Continuous Simulation
Discrete And Continuous Simulation
 
2021 icse reducedsylabiix-computer applications
2021 icse reducedsylabiix-computer applications2021 icse reducedsylabiix-computer applications
2021 icse reducedsylabiix-computer applications
 
Lesson02_Use Case Diagrams
Lesson02_Use Case DiagramsLesson02_Use Case Diagrams
Lesson02_Use Case Diagrams
 

Similaire à UML notations used by CommonKADS

UML (Hemant rajak)
UML (Hemant rajak)UML (Hemant rajak)
UML (Hemant rajak)hrajak5
 
1. introduction to uml
1. introduction to uml1. introduction to uml
1. introduction to umlPRABU M
 
Object Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UMLObject Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UMLMalek Sumaiya
 
UML and Case study
UML and Case study UML and Case study
UML and Case study Mihika-QA
 
lecture 3.ppt
lecture  3.pptlecture  3.ppt
lecture 3.pptTik Tok
 
Ch 14 s.e use case diagrams
Ch 14 s.e use case diagramsCh 14 s.e use case diagrams
Ch 14 s.e use case diagramsBadar Waseer
 
CIS110 Computer Programming Design Chapter (13)
CIS110 Computer Programming Design Chapter  (13)CIS110 Computer Programming Design Chapter  (13)
CIS110 Computer Programming Design Chapter (13)Dr. Ahmed Al Zaidy
 
clean architecture uncle bob AnalysisAndDesign.el.en.pptx
clean architecture uncle bob AnalysisAndDesign.el.en.pptxclean architecture uncle bob AnalysisAndDesign.el.en.pptx
clean architecture uncle bob AnalysisAndDesign.el.en.pptxsaber tabatabaee
 
Object Oriented Analysis Design using UML
Object Oriented Analysis Design using UMLObject Oriented Analysis Design using UML
Object Oriented Analysis Design using UMLAjit Nayak
 
Software Engineering-Unit 3 "System Modelling" by Adi.pdf
Software Engineering-Unit 3 "System Modelling" by Adi.pdfSoftware Engineering-Unit 3 "System Modelling" by Adi.pdf
Software Engineering-Unit 3 "System Modelling" by Adi.pdfProf. Dr. K. Adisesha
 
Unit 1- OOAD ppt
Unit 1- OOAD  pptUnit 1- OOAD  ppt
Unit 1- OOAD pptPRIANKA R
 
lecture8UML Diagrams.pptx
lecture8UML Diagrams.pptxlecture8UML Diagrams.pptx
lecture8UML Diagrams.pptxGracePeter10
 

Similaire à UML notations used by CommonKADS (20)

02_IT4557.pptx
02_IT4557.pptx02_IT4557.pptx
02_IT4557.pptx
 
UML (Hemant rajak)
UML (Hemant rajak)UML (Hemant rajak)
UML (Hemant rajak)
 
1. introduction to uml
1. introduction to uml1. introduction to uml
1. introduction to uml
 
Cs8592 ooad unit 1
Cs8592 ooad unit 1Cs8592 ooad unit 1
Cs8592 ooad unit 1
 
Object Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UMLObject Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UML
 
Chapter3
Chapter3Chapter3
Chapter3
 
CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3
 
UML and Case study
UML and Case study UML and Case study
UML and Case study
 
SW SEC 1.pptx
SW SEC 1.pptxSW SEC 1.pptx
SW SEC 1.pptx
 
lecture 3.ppt
lecture  3.pptlecture  3.ppt
lecture 3.ppt
 
Ch 14 s.e use case diagrams
Ch 14 s.e use case diagramsCh 14 s.e use case diagrams
Ch 14 s.e use case diagrams
 
Ch02lect1 ud
Ch02lect1 udCh02lect1 ud
Ch02lect1 ud
 
CIS110 Computer Programming Design Chapter (13)
CIS110 Computer Programming Design Chapter  (13)CIS110 Computer Programming Design Chapter  (13)
CIS110 Computer Programming Design Chapter (13)
 
clean architecture uncle bob AnalysisAndDesign.el.en.pptx
clean architecture uncle bob AnalysisAndDesign.el.en.pptxclean architecture uncle bob AnalysisAndDesign.el.en.pptx
clean architecture uncle bob AnalysisAndDesign.el.en.pptx
 
Object Oriented Analysis Design using UML
Object Oriented Analysis Design using UMLObject Oriented Analysis Design using UML
Object Oriented Analysis Design using UML
 
Software Engineering-Unit 3 "System Modelling" by Adi.pdf
Software Engineering-Unit 3 "System Modelling" by Adi.pdfSoftware Engineering-Unit 3 "System Modelling" by Adi.pdf
Software Engineering-Unit 3 "System Modelling" by Adi.pdf
 
Unit 1- OOAD ppt
Unit 1- OOAD  pptUnit 1- OOAD  ppt
Unit 1- OOAD ppt
 
lecture8UML Diagrams.pptx
lecture8UML Diagrams.pptxlecture8UML Diagrams.pptx
lecture8UML Diagrams.pptx
 
MDE in Practice
MDE in PracticeMDE in Practice
MDE in Practice
 
E3 chap-17
E3 chap-17E3 chap-17
E3 chap-17
 

Plus de Guus Schreiber

How the Semantic Web is transforming information access
How the Semantic Web is transforming information accessHow the Semantic Web is transforming information access
How the Semantic Web is transforming information accessGuus Schreiber
 
Semantics and the Humanities: some lessons from my journey 2000-2012
Semantics and the Humanities: some lessons from my journey 2000-2012Semantics and the Humanities: some lessons from my journey 2000-2012
Semantics and the Humanities: some lessons from my journey 2000-2012Guus Schreiber
 
Ontologies: vehicles for reuse
Ontologies: vehicles for reuseOntologies: vehicles for reuse
Ontologies: vehicles for reuseGuus Schreiber
 
Linking historical ship records to a newspaper archive
Linking historical ship records to a newspaper archiveLinking historical ship records to a newspaper archive
Linking historical ship records to a newspaper archiveGuus Schreiber
 
CommonKADS project management
CommonKADS project managementCommonKADS project management
CommonKADS project managementGuus Schreiber
 
CommonKADS design and implementation
CommonKADS design and implementationCommonKADS design and implementation
CommonKADS design and implementationGuus Schreiber
 
CommonKADS communication model
CommonKADS communication modelCommonKADS communication model
CommonKADS communication modelGuus Schreiber
 
CommonKADS knowledge management
CommonKADS knowledge managementCommonKADS knowledge management
CommonKADS knowledge managementGuus Schreiber
 
Web Science: the digital heritage case
Web Science: the digital heritage caseWeb Science: the digital heritage case
Web Science: the digital heritage caseGuus Schreiber
 
Principles and pragmatics of a Semantic Culture Web
 Principles and pragmatics of a Semantic Culture Web Principles and pragmatics of a Semantic Culture Web
Principles and pragmatics of a Semantic Culture WebGuus Schreiber
 
Semantics for visual resources: use cases from e-culture
Semantics for visual resources: use cases from e-cultureSemantics for visual resources: use cases from e-culture
Semantics for visual resources: use cases from e-cultureGuus Schreiber
 
Semantic Web: From Representations to Applications
Semantic Web: From Representations to ApplicationsSemantic Web: From Representations to Applications
Semantic Web: From Representations to ApplicationsGuus Schreiber
 
Principles for knowledge engineering on the Web
Principles for knowledge engineering on the WebPrinciples for knowledge engineering on the Web
Principles for knowledge engineering on the WebGuus Schreiber
 
The Semantic Web: status and prospects
The Semantic Web: status and prospectsThe Semantic Web: status and prospects
The Semantic Web: status and prospectsGuus Schreiber
 
NoTube: integrating TV and Web with the help of semantics
NoTube: integrating TV and Web with the help of semanticsNoTube: integrating TV and Web with the help of semantics
NoTube: integrating TV and Web with the help of semanticsGuus Schreiber
 
The artof of knowledge engineering, or: knowledge engineering of art
The artof of knowledge engineering, or: knowledge engineering of artThe artof of knowledge engineering, or: knowledge engineering of art
The artof of knowledge engineering, or: knowledge engineering of artGuus Schreiber
 
E-Culture semantic search pilot
E-Culture semantic search pilotE-Culture semantic search pilot
E-Culture semantic search pilotGuus Schreiber
 
Ontologies for multimedia: the Semantic Culture Web
Ontologies for multimedia: the Semantic Culture WebOntologies for multimedia: the Semantic Culture Web
Ontologies for multimedia: the Semantic Culture WebGuus Schreiber
 
Knowledge engineering and the Web
Knowledge engineering and the WebKnowledge engineering and the Web
Knowledge engineering and the WebGuus Schreiber
 

Plus de Guus Schreiber (20)

How the Semantic Web is transforming information access
How the Semantic Web is transforming information accessHow the Semantic Web is transforming information access
How the Semantic Web is transforming information access
 
Semantics and the Humanities: some lessons from my journey 2000-2012
Semantics and the Humanities: some lessons from my journey 2000-2012Semantics and the Humanities: some lessons from my journey 2000-2012
Semantics and the Humanities: some lessons from my journey 2000-2012
 
Ontologies: vehicles for reuse
Ontologies: vehicles for reuseOntologies: vehicles for reuse
Ontologies: vehicles for reuse
 
Linking historical ship records to a newspaper archive
Linking historical ship records to a newspaper archiveLinking historical ship records to a newspaper archive
Linking historical ship records to a newspaper archive
 
CommonKADS project management
CommonKADS project managementCommonKADS project management
CommonKADS project management
 
CommonKADS design and implementation
CommonKADS design and implementationCommonKADS design and implementation
CommonKADS design and implementation
 
CommonKADS communication model
CommonKADS communication modelCommonKADS communication model
CommonKADS communication model
 
CommonKADS knowledge management
CommonKADS knowledge managementCommonKADS knowledge management
CommonKADS knowledge management
 
Web Science: the digital heritage case
Web Science: the digital heritage caseWeb Science: the digital heritage case
Web Science: the digital heritage case
 
Principles and pragmatics of a Semantic Culture Web
 Principles and pragmatics of a Semantic Culture Web Principles and pragmatics of a Semantic Culture Web
Principles and pragmatics of a Semantic Culture Web
 
Semantics for visual resources: use cases from e-culture
Semantics for visual resources: use cases from e-cultureSemantics for visual resources: use cases from e-culture
Semantics for visual resources: use cases from e-culture
 
Semantic Web: From Representations to Applications
Semantic Web: From Representations to ApplicationsSemantic Web: From Representations to Applications
Semantic Web: From Representations to Applications
 
Principles for knowledge engineering on the Web
Principles for knowledge engineering on the WebPrinciples for knowledge engineering on the Web
Principles for knowledge engineering on the Web
 
The Semantic Web: status and prospects
The Semantic Web: status and prospectsThe Semantic Web: status and prospects
The Semantic Web: status and prospects
 
NoTube: integrating TV and Web with the help of semantics
NoTube: integrating TV and Web with the help of semanticsNoTube: integrating TV and Web with the help of semantics
NoTube: integrating TV and Web with the help of semantics
 
The artof of knowledge engineering, or: knowledge engineering of art
The artof of knowledge engineering, or: knowledge engineering of artThe artof of knowledge engineering, or: knowledge engineering of art
The artof of knowledge engineering, or: knowledge engineering of art
 
E-Culture semantic search pilot
E-Culture semantic search pilotE-Culture semantic search pilot
E-Culture semantic search pilot
 
Ontologies for multimedia: the Semantic Culture Web
Ontologies for multimedia: the Semantic Culture WebOntologies for multimedia: the Semantic Culture Web
Ontologies for multimedia: the Semantic Culture Web
 
Knowledge engineering and the Web
Knowledge engineering and the WebKnowledge engineering and the Web
Knowledge engineering and the Web
 
Vista-TV overview
Vista-TV overviewVista-TV overview
Vista-TV overview
 

Dernier

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 

Dernier (20)

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 

UML notations used by CommonKADS

  • 1. UML Notations in CommonKADS Activity diagrams State diagrams Class diagrams Use-case diagrams
  • 2. UML notations 2 Background UML ■  Nineties: number of popular object-oriented methods ■  Unified Modeling Language: proposal for set of standard notations ■  wide attention ➤  see www.rational.com ■  mainly meant for analysis phase
  • 3. UML notations 3 UML notations used ■  Class diagram ➤  static information structure (“data”) ■  Activity diagram ➤  combined function/control view ■  Use-case diagram ➤  high level view of system services (functional) ■  State diagram ➤  highly interactive control
  • 4. UML notations 4 Activity diagram ■  Model control and information flow of a procedure or process ■  Useful if control is mainly synchronous ➤  otherwise: use state diagram ■  Use in CommonKADS: modeling the organizational process ➤  worksheet OM-2 of the organization model ■  Can also be used to model control flow within a task method (knowledge model)
  • 5. UML notations 5 Action state ■  State in which some work is being done ➤  activity, task ■  State terminates when the work is finished ➤  difference with state diagrams ■  After termination the action state can lead to another action state ➤  “state transition” ■  Special symbols for being and end of a procedure or process
  • 6. UML notations 6 Basic notation for activity diagram data  entry processing generate output
  • 7. UML notations 7 Decision ■  Sate transition is deterministic ■  If transition depends on outcome of the work, then introduce a decision data  entry dump  in   waste  basket further processing [data  correct] [data  incorrect]
  • 8. UML notations 8 Introducing concurrency buy  food and  drinks cook  dinner open  wine bottle have  dinner
  • 9. UML notations 9 Swim lanes ■  Process can sometimes be distributed over several agents or organizational units ■  Notation: use compartments ■  In particular useful when modeling a business process (e.g. in organization model)
  • 10. UML notations 10 Notation for swim lanes write   tender get  customer information S ALE S DE P ARTME NT calculate cost DE S IGN DE P ARTME NT design elevator    
  • 11. UML notations 11 Object flow standard design write   tender get  customer information S ALE S DE P ARTME NT decide    about   design  type custom design cost calculation elevator design DE S IGN DE P ARTME NT non-­‐standard standard CUS TOME R tender customer information    
  • 13. UML notations 13 Business process “Housing” primary proces s s econdary proces s data  entry of  applications magazine production application assessment residence assignment statistical analysis policy information :residence assignments    
  • 14. UML notations 14 Activity diagram of method control cover predict obtain compare [no  more  solutions of  cover] [new  solution of  cover] [result  =  equal] [result  =  not  equal] solution  found no  solution  found start diagnosis through generate-­‐and-­‐test
  • 15. UML notations 15 State diagrams ■  Synonyms: “state chart”, “state-transition diagram” ■  Purpose: model of dynamic behavior ■  Use if control is heavily influenced by “external” events ■  Draw a state diagram for object classes with interesting behavior ■  Activity diagram is alternative ➤  internal control ➤  object flow
  • 16. UML notations 16 State watching     football  match duration entry/switch  on  TV do/watch exit/turn  off  TV state  name state  variables state  actions &  activities
  • 17. UML notations 17 State transition ■  Event: comes from outside the object modeled ■  Message: generates event for another object ■  Guard: outcome of internal object computation ready  for take  off check:  boolean entry/final  check airborne do/fly permission-­‐from-­‐control-­‐tower [check  -­‐=  OK ]   /  take-­‐off   ^control-­‐tower.confirm-­‐takeoff(flightID)
  • 18. UML notations 18 Actions and activities ■  Action: instantaneous, not interruptible ➤  on transition ➤  on state entry = action on all incoming transitions ➤  on state exit = action on all outgoing transitions ➤  on event ■  Activity: takes time, interruptible
  • 19. UML notations 19 State diagram of ticket machine    idle     inserting  money timer balance insert(coin)/add  to  balance processing  selection do/compute  change dispensing change do/dispense  change dispensing ticket do/dispense  ticket cancelling do/return  balance select(ticket) cancel  button pressed time  out [balance  <   ticket  price] insert(coin)/new  balance [balance  =  ticket  price] [balance  >  ticket  price]
  • 20. UML notations 20 State concurrency entering transaction data processing take  out cash take  out card idle cash  card entered cash  taken card  taken
  • 21. UML notations 21 State generalization ■  If Object A is in super-state S, then the object us in precisely one of the sub-states ■  Cf. concurrency: “and”-states white to  move black to  move playing  chess
  • 22. UML notations 22 State diagrams in CommonKADS ■  Communication modeling (Ch. 8) ■  Asynchronous reasoning control ➤  real-time applications ■  Control specification for the business process ■  Overlap with activity diagrams ➤  state with no outgoing events = action state
  • 23. UML notations 23 State diagram “Housing” application assessment waiting  for   case  data application  received/ order  assessment data  needed/ask data  received  /  reply assessment  finished/ report  decision
  • 24. UML notations 24 Class diagram ■  Captures static information structure ➤  In O-O: also functions ■  Generalization, inheritance & reuse are important issues ■  Imported into CommonKADS domain- schema notation ➤  no use made of operation box ■  Can also be used in Task Model to sketch task information structure
  • 25. UML notations 25 Objects and classes Fokker  100 :airplane airplane #seats:  integer Fokker  70 :airplane #seats  =  80 :airplane
  • 26. UML notations 26 Object class ■  Describes a group of objects with similar properties ➤  Abbreviation: "class" ■  Rationale for introducing classes: ➤  it provides a means for abstraction ■  Terminology: “object” is often used in an ambiguous way, pointing to both objects (in the strict sense) and object classes.
  • 27. UML notations 27 Attributes ■  An attribute describes a value held by objects belonging to the class. ■  Attribute specification consists of: ➤  Class it is defined on (student) ➤  Attribute name (name) ➤  Admissible values (string) ➤  Optional: default value
  • 28. UML notations 28 Object and Value ■  Most O-O approaches distinguish between objects and values. ■  Difference: a value does not have an identity ➤  it "lives” only in connection to a certain object. ■  RULE 1: an object is not allowed as a possible value of an attribute! ■  RULE 2: attribute names need only to be unique within a class.
  • 29. UML notations 29 Values and Value Sets ■  Values are the primitive things with no internal structure from the viewpoint of the application ■  Admissible values are defined through a value set ■  Typical predefined value-sets: ➤  string, number, integer, real, range, boolean, …. ■  User-defined: ➤  set or list of strings
  • 30. UML notations 30 Object Identifiers ■  In O-O modeling you assume that every object has an identity. ■  Consequence: introduce only attributes that act as identifiers, iff the identifier is something that exists in the real world. ■  Examples: student card number, social security number.
  • 31. UML notations 31 Operations ■  Definition: ➤  operation is "a function or a transformation that can be applied to objects of a class". ■  Objects in a class share the same operations. ■  Method: implementation of an operation ■  = functional view
  • 32. UML notations 32 Class notation class  name attribute-­‐1:  value-­‐set attribute-­‐2:  value-­‐set   operation-­‐1(P ar1:T ype,  P ar2:T ype):  R eturnT ype library  book catalog#:  string title:  string author:  string category:  C ategory cover-­‐type:  {hard-­‐cover,  paperback} available():  Boolean library book
  • 33. UML notations 33 Associations ■  Associations are used to link objects to other objects ■  Majority of associations: ➤  binary (between two objects) ➤  directional (should be read in a particular direction ■  Ternary associations come up occasionally. ■  Associations between more than three objects are rare.
  • 34. UML notations 34 Association notation man woman 0-­‐1 0-­‐1 w ife husband man woman husband w ife married-­‐to General  notation  for  association Notation  for  a  binary  association married-­‐to 0-­‐10-­‐1
  • 35. UML notations 35 Multiplicity examples student course person major address <<  has  address married-­‐to major  subject   >> enrolled  in  >> 0+ 0-­‐1 1+    
  • 36. UML notations 36 Multiplicity ■  Also called: "cardinality". ■  Always connected to one of the classes involved. ■  Typical types of multiplicity: ➤  0-1 Zero or one (optional). ➤  1 Precisely one. ➤  0+ Zero or more, ➤  1+ One or more.
  • 37. UML notations 37 Association class ■  Modeling an association as a class if the association has an internal information structure ■  Advantage: associations become first-class objects. ■  Attributes and methods can be defined for the association class.
  • 38. UML notations 38 Notation association class man woman 0-­‐1 0-­‐1 w ifehusband marriage date:  Date city registered  in  >>    
  • 39. UML notations 39 Use of an association class company name person name social  security  # address salary job  title person name social  security  # address company name <<  works  for   employer employee 1+ 1 employer employee 1+ 1+ works  for salary: job  title if  you  want  to  model  that a  person  can  work  for  more  than  one  company, then  change  to          
  • 40. UML notations 40 Associations with specific semantics ■  Associations provide a general, "neutral", way of connecting object classes. ■  Semantics of the association are defined through argument typing, multiplicity and (implicitly) the name of the association. ■  Class diagrams provide specific types of associations, with predefined semantics: ➤  generalization ("is a"). ➤  aggregation ("part of").
  • 41. UML notations 41 Generalization ■  Purpose: sharing similarities while preserving differences ■  Is an association between a class that acts as super- class and one or more classes called the sub- classes. ■  Super-classes show the features that the sub-classes have in common. ■  Each sub-class inherits the attributes and operations defined on its super-class(es).
  • 42. UML notations 42 Notation for generalization agent human computer program man woman task executor-­‐of  >> 1+ 0+    
  • 43. UML notations 43 Aggregation ■  Aggregation denotes a binary association in which one side is an "assembly" and the other side a "part". ■  "Assembly" and "part" act as predefined roles involved in the aggregation association. ■  Cardinality of a part can be defined ➤  precisely one; optional (0-1); many, ...
  • 44. UML notations 44 Notation for aggregation audio system tape  deck CD  player tuner amplifier speakerhead phones record player 0-­‐1 0-­‐1 0-­‐1 0-­‐1 0-­‐1 2,4      
  • 45. UML notations 45 Composition ■  Sub-type of aggregation ■  Existence of part depends on aggregate document name type open print paragraph style 0+      
  • 46. UML notations 46 Aggregation and generalization ■  Similarities: ➤  Tree-like structure ➤  Transitive properties ■  Differences: ➤  AND-tree (aggregation) vs. OR-tree (generalization) ➤  instance tree (aggregation) vs. class tree (generalization)
  • 47. UML notations 47 Combined aggregation and generalization audio system tape  deck C D  player tuner amplifier speakerhead phones record player 0-­‐1 2,4 input system 1+        
  • 48. UML notations 48 Use-case diagram ■  shows services that can be expected from a system ■  provides outsider view (customer) ■  terminology use case service provided by system actor agent using a system service ■  used in early phases of system analysis ■  use in CommonKADS: way to present possible solutions to customer
  • 49. UML notations 49 Use cases for a library library  system lend  book make  book reservation search  library catalog add  book to  catalog remove  book from  catalog lender librarian    
  • 50. UML notations 50 A small case study ■  Course administration system (CAS) ■  Context: university department ■  Required services: STUDENT: update personal data, inspect exam results, inspect course info, enroll in course TUTOR: inspect exam results, update course info, inspect enrollments ADMIN STAFF: enter exam results, inspect exam results, update personal data students, inspect enrollments
  • 51. UML notations 51 Use cases student tutor update student  data inspect course  info update course  info enroll in  course enter exam  results browse enrollments browse exam  results browse individual   results browse course results administrative staff    
  • 52. UML notations 52 Class diagram student student-card#: string name: string address: string date-of-birth: data major: Major ......... course course-code: string year: integer trimester: 1-3 study-points: integer learning-goals: string description: text literature: text maximum-#students: integer exam date: date result: [0..10] enrollment date: date university staff member title: string position: string department: string telephone: string room: string e-mail: string 0+ 0+ course-exam 1 0+ tutor 0+ 1+ 0+ requires
  • 53. UML notations 53 Activity diagram for course enrollment procedure submit enrollment request check student  limit check preconditions inform  about prerequisites inform  about student  limit register enrollment inform  about enrollment [preconditions OK ] [preconditions not  OK ] [above  limit] [limit  not yet  reached]
  • 54. UML notations 54 State diagram: “update student data” waiting  for notification timer received(new  student  data)   ^  send  message  to   central  university  database local processing do/update  local  database do/display  results OK  message  received  from  central    database [timer  =  time-­‐out  or  not  OK ] /notify  failure