UML – Class Diagrams. Objectives What is UML? UML Diagrams Use Case Diagram Class Diagram.

Post on 19-Dec-2015

300 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

Transcript

UML – Class Diagrams

Objectives

• What is UML?

• UML Diagrams

• Use Case Diagram

• Class Diagram

What is UML?

• The Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, as well as for business modeling and other non-software systems.

• UML uses graphical notations to express the design of software

projects. • Modeling is necessary for readability and reuse of systems.

UML Diagrams

• UML modeling consists of nine different diagrams to model a software system.

• Each UML diagram is designed to let developers and customers view a software system from a different perspective and in varying degrees of abstraction.

UML Diagrams • Use case Diagram

• Class Diagram

• Object Diagram

• State Diagram

• Activity Diagram

• Sequence Diagram

• Collaboration diagram

• Component diagram

• Deployment diagram

Use case Diagram

• Use case diagram displays the relationship among actors and use cases.

• Actors: An actor is any entity that performs certain roles in a given system. For example, In a banking application, a customer entity represents an actor. Similarly, the person who provides service at the counter is also an actor.

Use case Diagram

• Use Case: A use case in a use case diagram is a visual representation of a distinct business function in a system. For example, In a banking application, a deposit function represents a use case.

• To identify use cases, you should list the discrete business functions the user might do in order to complete an action. For a banking application it might be:

deposit moneywithdraw money

Use case Diagram

Class Diagram • Class diagrams model class structure and contents using design

elements such as classes, packages and objects.• A class diagram is a diagram showing a collection of classes and

interfaces, along with the collaborations and relationships among classes and interfaces.

A class diagram is composed of:• Class: A class has a business functionality called methods, and

properties that reflect unique features of a class. The properties of a class are called attributes.

Class Diagram• For example: Let us take a class named Student. The Student

class encapsulates student information such as student id #, student name, and so forth. Student id, student name, and so on are the attributes of the Student class. The Student class also exposes functionality to other classes by using methods such as getStudentName(), getStudentId(), and the like. Let us take a look at how a class is represented in a class diagram.

Class Diagram The following diagram shows a typical class in a class diagram:

Elements of a Class Diagram • Attributes correspond to the class level variables (but not

variables declared within the body of a method).• Operations correspond to methods in Java.• Public members (attributes or operations) can be

referenced directly by any classes in this or any other model package (more on packages later).

• Private members can only be referenced in the same class where they’re declared.

• Protected members can be referenced in the same class or in any descendants of that class (more on inheritance later).

• Package scope members can be referenced by any classes in the same UML package only.

Access Specifiers

Static MembersStatic members can be referenced without instantiating the class to which they belong.

In UML, static members are underlined.

Abstract Classes• Abstract classes are partially implemented and force us to extend it before we can use its functionality. In class diagrams,

the name of an abstract class is specified in italics • Abstract methods that must be implemented in subclasses of the abstract class are again specified in italics.

Dependencies • A dependency is a using relationship that states that a change in

a specification of one thing may effect another thing that uses it• You will use dependencies in the context of classes to show that

one class uses another class as an argument in its method’s signature.

Generalization• A generalization is a relationship between a general thing (a

superclass) and a more specific kind of that thing (a subclass).

• It is a is-a-kind-of relationship.

Association • An association represents a relationship that specifies that

objects of one thing are connected to objects of another.

Aggregation

• An association in which one class represents a larger thing, which consists of smaller things is called an aggregation relation

• It is a has-a relationship meaning an object of the whole has objects of the part.

Composite• In a composite aggregation, an object may be a part of only one composite

at a time. For example, a Frame belongs to exactly one Window. • In simple aggregation, a part may be shared by several wholes. For

example a Wall may be a part of one or more Room objects.

Realization-Interfaces• A realization relationship shows that one class implements the

interface of another class.• A realization can be represented in two ways.

Design View (canonical form)System’s Implementation View (elided form)

Realization

Packages

Package - Client

Package - Policies

Package - GUI

top related