26
UML – Class Diagrams

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

  • View
    348

  • Download
    3

Embed Size (px)

Citation preview

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

UML – Class Diagrams

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

Objectives

• What is UML?

• UML Diagrams

• Use Case Diagram

• Class Diagram

Page 3: 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.

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

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.

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

UML Diagrams • Use case Diagram

• Class Diagram

• Object Diagram

• State Diagram

• Activity Diagram

• Sequence Diagram

• Collaboration diagram

• Component diagram

• Deployment diagram

Page 6: UML – Class Diagrams. Objectives What is UML? UML Diagrams Use Case Diagram Class 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.

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

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

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

Use case Diagram

Page 9: UML – Class Diagrams. Objectives What is UML? UML Diagrams Use Case Diagram Class 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.

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

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.

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

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

Page 12: UML – Class Diagrams. Objectives What is UML? UML Diagrams Use Case Diagram 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.

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

Access Specifiers

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

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

In UML, static members are underlined.

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

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.

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

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.

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

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.

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

Association • An association represents a relationship that specifies that

objects of one thing are connected to objects of another.

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

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.

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

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.

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

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)

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

Realization

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

Packages

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

Package - Client

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

Package - Policies

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

Package - GUI