UML Notations in CommonKADS

January 5, 2018 | Author: Anonymous | Category: Arts & Humanities, Communications
Share Embed Donate


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

Copyright � 2017 NANOPDF Inc.
SUPPORT NANOPDF