UML Notations in CommonKADS
Short Description
Download UML Notations in CommonKADS...
Description
UML Notations Activity diagrams State diagrams Class diagrams Use-case diagrams
Background UML • Unified Modeling Language (UML) is a standard language for specifying, visualizing , and constructing, and documenting the artifacts of software systems. – http://www.uml.org/
• UML represents the collection of best engineering practices, mainly used for object oriented software development • UML uses graphical notations to express the design of software projects. UML notations
2
Goals of UML • Provide users with a ready-to-use visual modeling language to exchange meaningful models • Provide extensibility and specialization mechanisms to extend the core concepts • Be independent of particular programming languages and development processes. • The development of UML began in 1994 by Grady Booch and Jim Rumbaugh from Rational Software Corporation
UML Diagrams • Activity diagram – combined function/control view
• State diagram – highly interactive control
• Class diagram – static information structure (“data”)
• Use-case diagram – high level view of system services (functional) UML notations
4
Activity diagram • Model control and information flow of a procedure or process • It describes the state of activities by showing the sequence of activities performed.
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
UML notations
generate output
7
Decision • State transition is deterministic • If transition depends on outcome of the work, then introduces a decision [data correct] data entry
[data incorrect]
UML notations
further processing
dump in waste basket
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 • Use to model a business process (e.g. in organization model)
UML notations
10
Notation for swim lanes SALES DEPARTMENT
DESIGN DEPARTMENT
get customer information
design elevator
calculate cost
write tender
UML notations
11
Object flow CUSTOMER
SALES DEPARTMENT
DESIGN DEPARTMENT
customer information
get customer information
decide about design type non-standard
tender
write tender
cost calculation
UML notations
standard
standard design
custom design
elevator design
12
Business process “Housing” primary process
secondary process
data entry of applications
magazine production
application assessment
:residence assignments
residence assignment
UML notations
statistical analysis
policy information
13
State diagrams • Synonyms: “state chart”, “state-transition diagram” • Purpose: model of dynamic behavior • Use if control is heavily influenced by “external” events
UML notations
14
State state name state variables state actions & activities
UML notations
watching football match duration entry/switch on TV do/watch exit/turn off TV
15
State transition
ready for take off check: boolean
permission-from-control-tower [check -= OK] / take-off ^control-tower.confirm-takeoff(flightID)
airborne
do/fly
entry/final check
• Event: comes from outside the object modeled • Message: generates event for another object • Guard: outcome of internal object computation UML notations
16
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
17
State diagram of ticket machine idle
insert(coin)/new balance
cancel button pressed
inserting money timer balance insert(coin)/add to balance
cancelling
[balance < ticket price]
time out select(ticket)
do/return balance processing selection
[balance = ticket price] dispensing ticket
dispensing change
do/dispense ticket do/dispense change
UML notations
do/compute change
[balance > ticket price]
18
State concurrency entering transaction data
cash card entered
processing
take out cash
cash taken
take out card
card taken
idle
UML notations
19
State diagram “Housing” assessment finished/ report decision
application received/ order assessment
application assessment
data needed/ask
data received / reply
UML notations
waiting for case data
20
Class diagram • Describe the types of objects in a system and their relationships • Model class structure and contents • Class has three things: a name, attribute, and operations
UML notations
21
Objects and classes airplane #seats: integer
Fokker 70 :airplane
Fokker 100 :airplane
:airplane
#seats = 80
UML notations
22
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
23
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
24
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
25
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
26
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
UML notations
27
Class notation class name attribute-1: value-set attribute-2: value-set operation-1(Par1:Type, Par2:Type): ReturnType
library book
library book
catalog#: string title: string author: string category: Category cover-type: {hard-cover, paperback} available(): Boolean
UML notations
28
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
29
Association notation General notation for association
w if e
husband
man
woman 0-1
married-to
0-1
Notation for a binary association
husband
w if e
man
woman 0-1
0-1 married-to
UML notations
30
Multiplicity examples person 0-1 married-to
0+
1+
student
address >
course
major subject >>
major
UML notations
31
Multiplicity • Also called: "cardinality". • Always connected to one of the classes involved. • Typical types of multiplicity: – 0-1 –1 – 0+ – 1+ UML notations
Zero or one (optional). Precisely one. Zero or more, One or more. 32
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
33
Notation association class husband
w ife
woman
man
0-1
0-1
marriage date: Date
city
registered in >>
UML notations
34
Use of an association class person company name
employee
employer 1
> agent
task 1+
computer program
human
man
UML notations
0+
woman
38
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
39
Notation for aggregation 0-1
audio system
CD player
record player
0-1 0-1 tuner 0-1
tape deck
UML notations
0-1 head phones
2,4
amplifier
speaker
40
Composition • Sub-type of aggregation • Existence of part depends on aggregate document paragraph
name type 0+
style
open print
UML notations
41
Aggregation and generalization • Similarities: – Tree-like structure
• Differences: – AND-tree (aggregation) vs. OR-tree (generalization) – instance tree (aggregation) vs. class tree (generalization)
UML notations
42
Combined aggregation and generalization audio system
1+
0-1
input system
UML notations
amplifier
speaker
record player
CD player
tuner
head phones
2,4
tape deck
43
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
UML notations
44
Use cases for a library library system
lend book add book to catalog make book reservation lender
remove book from catalog
librarian
search library catalog
UML notations
45
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
46
Use cases browse individual results
browse course results
browse exam results enter exam results
enroll in course
browse enrollments
inspect course info
update course info
tutor
student
update student data
UML notations
administrative staff
47
Class diagram exam date: date result: [0..10] requires
0+ course-exam 1 enrollment student
0+
date: date
student-card#: string name: string 0+ address: string date-of-birth: data major: Major .........
course 0+
course-code: string year: integer trimester: 1-3 study-points: integer learning-goals: string description: text literature: text maximum-#students: integer
0+ university staff member title: string position: string 1+ department: string telephone: string room: string e-mail: string
UML notations
tutor
48
Activity diagram for course enrollment procedure submit enrollment request
check preconditions
inform about prerequisites
check student limit
[preconditions not OK]
[above limit]
[preconditions OK]
[limit not yet reached]
register enrollment
UML notations
inform about student limit
inform about enrollment
49
State diagram: “update student data” received(new student data) ^ send message to central university database
waiting for notification
[timer = time-out or not OK] /notify failure
timer
OK message received from central database
local processing
do/update local database do/display results
UML notations
50
Tools to draw UML • Powerpoint • MS Visio: http://www.youtube.com/watch?v=FPB0Tw9j FE8 • Online: – http://creately.com/Draw-UML-and-ClassDiagrams-Online – http://www.gliffy.com/uses/uml-software/
View more...
Comments