Bouwkundige Informatiesystemen ADMS 2006 UML part 2

1 / 56
About This Presentation
Title:

Bouwkundige Informatiesystemen ADMS 2006 UML part 2

Description:

UML : Class Diagrams Exercises 23 okt. Exercise Class ... Classes - recapitulation ... recapitulation. The main symbols shown on class diagrams are: Classes ... – PowerPoint PPT presentation

Number of Views:19
Avg rating:3.0/5.0

less

Transcript and Presenter's Notes

Title: Bouwkundige Informatiesystemen ADMS 2006 UML part 2


1
Bouwkundige InformatiesystemenADMS 2006UML part
2
Jan Dijkstra - 23 oktober 2006
2
Subjects
  • Objects Classes 16 okt.
  • UML Class Diagram 23 okt.
  • UML Object Diagram 23 okt.
  • UML Class Diagrams Exercises 23 okt.
  • Exercise Class Diagram MKW 23 okt.
  • Discussion Exercise Class Diagram MKW 30 okt.
  • UML Class Diagrams - Advanced Concepts 30 okt.
  • Task UML-part 2 30 okt.

3
UML Models, Views and Diagrams
  • A diagram is a view into a model
  • presented from the aspect of a particular
    stakeholder
  • and provides a partial representation of the
    system

4
UML Views
vocabulary functionality
system assembly configuration management
Implementa-tion view
Design view
Use Case view
behaviour
Interaction view
Deployment view
performance scalability throughput
system topology distribution delivery installation
5
UML Diagrams
  • Structure diagram
  • Class diagram
  • Object diagram
  • Component diagram
  • Composite structure diagram
  • Deployment diagram
  • Artifact diagram
  • Behaviour diagram
  • Use Case diagram
  • Sequence diagram
  • Communication diagram
  • State diagram
  • Activity diagram

6
Use Case diagram
7
Classes/objects course management
8
UML Class Diagrams
  • The class diagram provides a static structure of
    all the classes that exist within the system.
    Classes are arranged in hierarchies sharing
    common structure and behaviour and are associated
    with other classes.
  • Class diagrams are used in
  • Analysis To build a conceptual domain model with
    semantic associations between concepts

9
Class Diagram associations between classes
10
Classes and Objects
  • An object is described by a class.
  • A class may define a number of objects with
    identical properties

11
Object Diagram links between objects
12
Class diagram
  • A class diagram describes the type of objects in
    a system and the static relationships between
    them.
  • Static relations
  • Associations
  • Subtypes
  • Static structure
  • Attributes
  • Operations

13
Class
  •  
  • A class is a set of objects that share the same
    properties.

 
Name
14
Class
  •  
  • A class is a set of objects that share the same
    properties.
  • A class has a name.

 
Course
15
Class - attributes
  •  
  • The class captures the abstraction of properties
    in the set of objects.

 
Name Attributes
16
Class - attributes
  •  

 
  • An attribute of a class is identified by name,
    and it identifies a property of the objects of
    the class, for which each object takes a value.
  • A class has 0 to n attributes.


Course courseNum Integer title String datum
Date
17
Class - operations
  •  

  • Operations are the processes that a class knows
    to carry out.

Order Attributes Operations
18
Class - operations
  • The operations are the responsibilities the
    things we can ask an object to do.
  • A class has 0 to n operations.

Course courseNum Integer title String datum
Date addReservation() cancel()
19
UML Class Diagrams
  • The class diagram provides a static structure of
    all the classes that exist within the system.
    Classes are arranged in hierarchies sharing
    common structure and behaviour and are associated
    with other classes.
  • Class diagrams are used in
  • Analysis To build a conceptual domain model with
    semantic associations between concepts
  • Design Structural model of a design in terms of
    class interfaces
  • Implementation Source code documentation,
    exposing the implementation

20
Classes and Objects
  • Objects looks like modules in some ways
  • Object Identity State Behaviour
  • Objects provide encapsulation of data
  • An object is described by a class. A class may
    define a number of objects with identical
    properties

21
About an Object
  • An object has a public interface defining the
    operations (methods) it will support
  • An object has private data called attributes,
    which only its own operations can access
  • An object can have private operations for its own
    use
  • An object may know about other objects by means
    of associations

22
Classes - recapitulation
  • A class is simply represented as a box with the
    name of the class inside
  • The diagram may also show the attributes and
    operations

Rectangle
The complete signature of an operation is
operationName(parameterName parameterType )
returnType
23
(No Transcript)
24
Essentials of UML Class Diagramsrecapitulation
  • The main symbols shown on class diagrams are
  • Classes
  • Represent the types of data themselves
  • Associations
  • Represent linkages between instances of classes
  • Attributes
  • Are simple data found in classes and their
    instances
  • Operations
  • Represent the functions performed by the classes
    and their instances
  • Generalizations
  • Group classes into inheritance hierarchies

25
(No Transcript)
26
Identifying objects ?
  • A possible recipe
  • We can identify objects in our problem context by
    looking for nouns and noun phrases
  • Each of these can be underlined and becomes a
    candidate for an object in our solution
  • Eliminate irrelevant objects
  • Redundant, vague, event, outside scope,
    attribute, meta-language

27
The Bank Account Example
  • You are asked to design a system to handle
    current and savings accounts for a bank. Accounts
    are assigned to one or more customers, who may
    make deposits or withdraw money. Each type of
    account earns interest on the current balance
    held in it. Current accounts may have negative
    balances (overdrafts) and then interest is
    deducted. Rates of interest are different for
    each type of account. On a savings account, there
    is a maximum amount that can be withdrawn in one
    transaction.
  • Bank employees may check any account that is held
    at their branch. They are responsible for
    invoking the addition of interest and for issuing
    statements at the correct times.
  • A money transfer is a short lived record of an
    amount which has been debited from one account
    and has to be credited to another. A customer may
    create such a transfer from their account to any
    other. Transfers within a branch happen
    immediately, while those between branches take
    three days.

28
The Bank Account Example
  • You are asked to design a system to handle
    current and savings accounts for a bank. Accounts
    are assigned to one or more customers, who may
    make deposits or withdraw money. Each type of
    account earns interest on the current balance
    held in it. Current accounts may have negative
    balances (overdrafts) and then interest is
    deducted. Rates of interest are different for
    each type of account. On a savings account, there
    is a maximum amount that can be withdrawn in one
    transaction.
  • Bank employees may check any account that is held
    at their branch. They are responsible for
    invoking the addition of interest and for issuing
    statements at the correct times.
  • A money transfer is a short lived record of an
    amount which has been debited from one account
    and has to be credited to another. A customer may
    create such a transfer from their account to any
    other. Transfers within a branch happen
    immediately, while those between branches take
    three days.
  • Question ? Recognize the nouns!

29
Nouns in the bank account example
  • You are asked to design a system to handle
    current and savings accounts for a bank. Accounts
    are assigned to one or more customers, who may
    make deposits or withdraw money. Each type of
    account earns interest on the current balance
    held in it. Current accounts may have negative
    balances (overdrafts) and then interest is
    deducted. Rates of interest are different for
    each type of account. On a savings account, there
    is a maximum amount that can be withdrawn in one
    transaction.
  • Bank employees may check any account that is held
    at their branch. They are responsible for
    invoking the addition of interest and for issuing
    statements at the correct times.
  • A money transfer is a short lived record of an
    amount which has been debited from one account
    and has to be credited to another. A customer may
    create such a transfer from their account to any
    other. Transfers within a branch happen
    immediately, while those between branches take
    three days.

30
Nouns eliminated
  • Redundant - overdraft, account
  • Vague - amount, money
  • An event or an operation - transaction, deposit
  • Outside scope of system - bank, days
  • An attribute - interest, rate of interest,
    maximum amount, current balance, overdraft
  • Meta-language - transaction, correct times,
    record

31
Nouns left
  • current account, savings account, customer,
    branch, statement, transfer
  • Remark
  • The Bank Account is derived from
  • Pauline Wilcox The Unified Modelling Language
    in
  • Msc in Systems Level Integration Systems
    Partitioning Module

32
Class Diagram (without adornments)bank account
example
  • current account,
  • savings account,
  • customer,
  • branch,
  • statement,
  • transfer

33
Association Adornments Name, Role
  • The association has a name - the descriptive
    term, often a verb, for the association.
  • Each association has two association ends each
    end is attached to one of the classes in the
    association. An end can be explicitly named with
    a label. This label is called a role name
    (association ends are often called roles).

34
Association Multiplicity
  • Multiplicity defines the number of objects
    associated with an instance of the association.
  • Default of 1 (1 1)
  • 0 or 1 0..1
  • Zero or more (0..infinite)
  • 1 or more (1..infinite) 1..
  • n..m range from n to m inclusive

35
Class Diagram (with multiplicities)bank account
example
36
Association classes
  • Sometimes an attribute that concerns two
    associated classes cannot be placed in either of
    the classes

37
Attribute Analysis
  • It is not always clear which attributes belongs
    to which classes by finding out the class
    attributes. An attribute is assigned to that
    class where it is certainly a feature.
  • For example
  • a project leader has the attributes name,
    department and age.
  • But what to do with the attributes project
    number, project duration, starting time, and
    budget? These attributes clarifies something
    about the relation between project leader and
    type of project.

This often happens if a nm relation refers to an
association between two classes. In that case, we
can define a new class, for instance project
management.
38
(No Transcript)
39
Generalization
  • A specialization / generalization relationship,
    in which objects of the specialized element
    (child) are substitutable for objects of the
    generalized element (parent).
  • Superclass the generalization of another
    class, the child.
  • Subclass the specialization of another class,
    the parent.

Customer
Corporate Customer
Personal Customer
40
Generalization - characteristics
  • Identify common features concerning behaviour and
    knowledge. Define these common features on a
    higher level in the inheritance hierarchy.
  • The aim is at behaviour more than knowledge when
    combining classes.
  • Generalization is a bottum-up process.
  • A superclass includes all common properties of
    its subclasses.

41
Specialization - characteristics
  • Define a new class which is a special appearance
    of an existing class.
  • Specialization is a top-down process.
  • A subclass can have attributes and operations
    that are specific for that sub-class.
  • A subclass may redefine operations of its
    super-class.

42
(No Transcript)
43
Associations vs. generalizations
  • Associations describe the relationships that
    will exist between instances at run time
  • when you show an instance diagram generated from
    a class diagram, there will be an instance of
    both classes joined by an association
  • Generalizations describe relationships between
    classes in class diagrams
  • they do not appear in instance diagrams at all
  • an instance of any class should also be
    considered to be an instance of that classs
    super classes

44
Aggregation
  • Aggregations are special associations that
    represent part-whole relationships
  • the whole side is often called the assembly or
    the aggregate

45
Composition
  • A composition is a strong kind of aggregation
  • if the aggregate is destroyed, then the parts are
    destroyed as well

46
Aggregation and Composition example
A
B
  • Question What is OK?
  • A
  • B
  • A B
  • None

47
Object diagram
  • An object diagram is shown as a class, and the
    name is underscored, although an objects name
    can be shown optionally preceding the class name
    as
  • objectname classname.
  • The object does not have to be named, in which
    case only the classname is shown underscored.

48
Object diagram example
49
Object diagram example
50
References
  • Sommerville, Ian (2001)
  • Software Engineering, 6th edition
  • http//www.software-engin.com
  • Timothy Lethbridge Robert Laganière (2005)
  • Object-Oriented Software Engineering, 2nd edition
  • http//www.lloseng.com
  • Martin Fowler (2000, 2004)
  • Object-Oriented Software Engineering, 2nd
    edition 3rd edition

51
NS Ticket service
Destination
  • Make a class diagram of NS ticket service
    including the classes Ticket and Destination

Take ticket
52
Use Case diagram NS Ticket service
53
 
Use Case Buy OV Ticket
Actors Traveller
Preconditions Traveller has a valid pass
Description Ticket device expects destination code Traveller enters destination code Extension point NS ticket Ticket device checks code and calculates the charge. Shows destination code fare. Activates ticket machine for paying Traveller pays (use case Pay ticket) Ticket device print and supplies ticket Traveller takes ticket
Extension Destination code NS station. 3a. Ticket device expects ticket type 3b. Traveller enters Single/Return, Discount Y/N, Class
Exceptions Traveller interrupt the interaction or walk away Traveller enters an incorrect destination code Payment is not finished off successful
Result Traveller has ticket. (NS can look forward to the payment)
 
54
Make a class diagram of NS ticket service
including the classes Ticket and Destination
55
Exercises Now
56
Exercise 30 October
  • Ga uit van de MKW beschrijving van oefening van
    UML1
  • Identificeer enkele klassen
  • Geef zo mogelijk relaties tussen klassen aan
Write a Comment
User Comments (0)