28
UML CLASS DIAGRAM AND PACKAGES By Dileep Collaberos: “We Create Professionals”

Uml class diagram and packages ppt for dot net

  • Upload
    mekhap

  • View
    2.248

  • Download
    8

Embed Size (px)

DESCRIPTION

What is a Class Diagram? Essential Elements of a UML Class Diagram Packages and Class Diagrams Analysis Classes Approach

Citation preview

Page 1: Uml class diagram and packages ppt for dot net

UML CLASS DIAGRAMAND PACKAGES

By DileepCollaberos: “We Create

Professionals”

Page 2: Uml class diagram and packages ppt for dot net

AGENDA

What is a Class Diagram? Essential Elements of a UML Class Diagram Packages and Class Diagrams Analysis Classes Approach

Collab

eros: We C

reate Profession

als

Page 3: Uml class diagram and packages ppt for dot net

WHAT IS A CLASS DIAGRAM? The class diagram is the main building block in

object oriented modeling. They are being used both for

general conceptual modeling of the systematics of the application, and for detailed modeling translating the models into programming code.

The classes in a class diagram represent both the main objects and or interactions in the application and the objects to be

programmed.

Collab

eros: We C

reate Profession

als

Page 4: Uml class diagram and packages ppt for dot net

CLASSES In the class diagram these classes are represented with boxes

which contain three parts. The upper part holds the name of the class The middle part contains the attributes of the class The bottom part gives the methods or operations the class can take

or undertake

Collab

eros: We C

reate Profession

als

Window

size: Sizevisibility: boolean

display()hide()

Class Name

Attributes

Operations

Page 5: Uml class diagram and packages ppt for dot net

Collab

eros: We C

reate Profession

als

In the system design of a system, a number of classes are identified and grouped together in a class diagram which helps to determine the statical relations between those objects.

With detailed modeling, the classes of the conceptual design are often split in a number of subclasses.

Page 6: Uml class diagram and packages ppt for dot net

ESSENTIAL ELEMENTS OF A UML CLASS DIAGRAM

Class Diagram Class Attributes Operations

Relationships Associations Generalization Dependency Realization

Constraint Rules and Notes

Collab

eros: We C

reate Profession

als

Page 7: Uml class diagram and packages ppt for dot net

ASSOCIATIONS

A semantic relationship between two or more classes that specifies connections among their instances.

A structural relationship, specifying that objects of one class are connected to objects of a second (possibly the same) class.

Example: “An Employee works for a Company”

Collab

eros: We C

reate Profession

als

CompanyDepartmentEmployee

Page 8: Uml class diagram and packages ppt for dot net

ASSOCIATIONS (CONT.)

An association between two classes indicates that objects at one end of an association “recognize” objects at the other end and may send messages to them. This property will help us discover less trivial

associations using interaction diagrams.

Collab

eros: We C

reate Profession

als

Page 9: Uml class diagram and packages ppt for dot net

ASSOCIATIONS (CONT.)

Collab

eros: We C

reate Profession

als

StaffMember Student1..* *instructs

instructor

Association name

Role name

MultiplicityNavigable

(uni-directional) association

Courses

pre - requisites

0..3Reflexive

association

Role

*

Page 10: Uml class diagram and packages ppt for dot net

ASSOCIATIONS (CONT.) Multiplicity

The number of instances of the class, next to which the multiplicity expression appears, that are referenced by a single instance of the class that is at the other end of the association path.

Indicates whether or not an association is mandatory.

Provides a lower and upper bound on the number of instances.

Collab

eros: We C

reate Profession

als

Page 11: Uml class diagram and packages ppt for dot net

ASSOCIATIONS (CONT.)

Multiplicity Indicators

Collaberos: W

e Create P

rofessionals

Exactly one 1

Zero or more (unlimited) * (0..*)

One or more 1..*

Zero or one (optional association) 0..1

Specified range 2..4

Multiple, disjoint ranges 2, 4..6, 8

Page 12: Uml class diagram and packages ppt for dot net

AGGREGATION

A special form of association that models a whole-part relationship between an aggregate (the whole) and its parts. Models a “is a part-part of” relationship.

Collaberos: W

e Create P

rofessionals

Whole Part

Car Door House1..*2..*

Page 13: Uml class diagram and packages ppt for dot net

COMPOSITION

A strong form of aggregation The whole is the sole owner of its part.

The part object may belong to only one whole Multiplicity on the whole side must be zero or

one. The life time of the part is dependent upon the

whole. The composite must manage the creation and

destruction of its parts.

Collaberos: W

e Create P

rofessionals

Circle Point

3..*

1

PolygonPoint

Circle

Page 14: Uml class diagram and packages ppt for dot net

GENERALIZATION Indicates that objects of the specialized class

(subclass) are substitutable for objects of the generalized class (super-class). “is kind of” relationship.

Collaberos: W

e Create P

rofessionals

Shape{abstract}

Circle

Super Class

Sub Class

An abstract class

Generalization relationship

{abstract} is a tagged value that indicates that the class is abstract. The name of an abstract class should be italicized

Page 15: Uml class diagram and packages ppt for dot net

DEPENDENCY Dependency is a weaker form of relationship which

indicates that one class depends on another because it uses it at

some point of time. Dependency exists if a class is a parameter variable or

local variable of a method of another class.

Collaberos: We Create Professionals

Page 16: Uml class diagram and packages ppt for dot net

REALIZATION

A realization relationship indicates that one class implements a behavior specified by another class (an interface or protocol).

An interface can be realized by many classes. A class may realize many interfaces.

Collaberos: W

e Create P

rofessionals

LinkedList<<interface>>

List LinkedList List

Page 17: Uml class diagram and packages ppt for dot net

CONSTRAINT RULES AND NOTESConstraints and notes annotate

among other things associations, attributes, operations and classes.

Constraints are semantic restrictions noted as Boolean expressions.UML offers many pre-defined constraints.

Collaberos: W

e Create P

rofessionals

id: long { value > 0 }

CustomerOrder*1

{ total < $50 }may be canceled

Constraint Note

Page 18: Uml class diagram and packages ppt for dot net

TVRS EXAMPLE

Collaberos: W

e Create P

rofessionals

id : longname : Stringrank : int

Policeman

<<abstract>>

TrafficPoliceman id : longdescription : String

TrafficReport

id : longdescription : String

Violation

name : Stringid : long

Offender

1..* 1

reports of

1..*

issues1 *

occuredAt : Date

Page 19: Uml class diagram and packages ppt for dot net

UML PACKAGES A package is a general purpose grouping

mechanism.Can be used to group any UML element (e.g.

use case, actors, classes, components and other packages.

Commonly used for specifying the logical distribution of classes.

A package does not necessarily translate into a physical sub-system.

Collaberos: W

e Create P

rofessionals

Name

Page 20: Uml class diagram and packages ppt for dot net

LOGICAL DISTRIBUTION OF CLASSES

Emphasize the logical structure of the system (High level view) Higher level of abstraction over classes. Aids in administration and coordination of the

development process. Contributes to the scalability of the system.

Logical distribution of classes is inferred from the logical architecture of the system.

Collaberos: W

e Create P

rofessionals

Page 21: Uml class diagram and packages ppt for dot net

PACKAGES AND CLASS DIAGRAMS (CONT.)

Add package information to class diagrams

Collaberos: W

e Create P

rofessionals

A

DE

F

G

C

B

Page 22: Uml class diagram and packages ppt for dot net

PACKAGES AND CLASS DIAGRAMS (CONT.)

Add package information to class diagrams

Collaberos: W

e Create P

rofessionals

a.A

b.b.Db.b.E

b.a.F

b.a.G

a.C

a.B

b.a

b.b

ab

Page 23: Uml class diagram and packages ppt for dot net

ANALYSIS CLASSES

A technique for finding analysis classes which uses three different perspectives of the system:

The boundary between the system and its actors The information the system uses The control logic of the system

Collaberos: W

e Create P

rofessionals

Page 24: Uml class diagram and packages ppt for dot net

BOUNDARY CLASSES Models the interaction between the system’s surroundings and its inner workings User interface classes

Concentrate on what information is presented to the user Don’t concentrate on user interface details Example:

ReportDetailsForm ConfirmationDialog

System / Device interface classes Concentrate on what protocols must be defined. Don’t

concentrate on how the protocols are implemented

Collaberos: W

e Create P

rofessionals

Page 25: Uml class diagram and packages ppt for dot net

ENTITY CLASSES

Models the key concepts of the system Usually models information that is persistent Contains the logic that solves the system

problem Can be used in multiple behaviors Example: Violation, Report, Offender.

Collaberos: W

e Create P

rofessionals

Page 26: Uml class diagram and packages ppt for dot net

CONTROL CLASSES Controls and coordinates the behavior of the system

Delegates the work to other classes A control class should tell other classes to do

something and should never do anything except for directing

Control classes decouple boundary and entity classes

Example: EditReportController AddViolationController

Collaberos: W

e Create P

rofessionals

Page 27: Uml class diagram and packages ppt for dot net

TVRS EXAMPLE

Collaberos: W

e Create P

rofessionals

Violation

EditReportController<<control>>

Traf f icReport

Of f ender Traf f icPoliceman

Clerk

ReportDetailsForm<<boundary >>

Conf irmationDialog<<boundary >>

PolicemanDBProxy<<boundary >>

Of f endersDBProxy<<boundary >>

Of f endersDB

PolicemenDB

1

1 1

1

1

Page 28: Uml class diagram and packages ppt for dot net

THANK YOU