0% found this document useful (0 votes)
14 views20 pages

Unit-5 Class Diagrams

The document provides an overview of class diagrams in UML, detailing their purpose, benefits, components, and relationships such as dependency, generalization, association, aggregation, and composition. It emphasizes the importance of class diagrams in representing a static view of applications and their role in software development, including forward and reverse engineering. Additionally, it outlines guidelines for drawing class diagrams and their usage in constructing executable code.

Uploaded by

todoheh805
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views20 pages

Unit-5 Class Diagrams

The document provides an overview of class diagrams in UML, detailing their purpose, benefits, components, and relationships such as dependency, generalization, association, aggregation, and composition. It emphasizes the importance of class diagrams in representing a static view of applications and their role in software development, including forward and reverse engineering. Additionally, it outlines guidelines for drawing class diagrams and their usage in constructing executable code.

Uploaded by

todoheh805
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

Unit V

System Design Using UML


Topics to be covered
• Introduction to Class diagrams
• Introduction to dynamic system design
• Use Case diagram
• Activity diagram
Class Diagram
• The class diagram depicts a static view of an application. It represents the types of objects residing in the
system and the relationships between them.
• A class consists of its objects, and also it may inherit from other classes. A class diagram is used to visualize,
describe, document various different aspects of the system, and also construct executable software code.
• It shows the attributes, classes, functions, and relationships to give an overview of the software system.
• It constitutes class names, attributes, and functions in a separate compartment that helps in software
development.
• Since it is a collection of classes, interfaces, associations, collaborations, and constraints, it is termed as a
structural diagram.
Purpose of Class Diagrams
• The main purpose of class diagrams is to build a static view of an application. It is the only diagram that is
widely used for construction, and it can be mapped with object-oriented languages. It is one of the most
popular UML diagrams. Following are the purpose of class diagrams given below:
• It analyses and designs a static view of an application.
• It describes the major responsibilities of a system.
• It is a base for component and deployment diagrams.
• It incorporates forward and reverse engineering.
Benefits of Class Diagrams
• It can represent the object model for complex systems.
• It reduces the maintenance time by providing an overview of how an application is structured before coding.
• It provides a general schematic of an application for better understanding.
• It represents a detailed chart by highlighting the desired code, which is to be programmed.
• It is helpful for the stakeholders and the developers.
Components of a Class Diagram
• Upper Section: The upper section encompasses the name of the class. A class is a representation of similar
objects that shares the same relationships, attributes, operations, and semantics. Some of the following rules
that should be taken into account while representing a class are given below:
• Capitalize the initial letter of the class name.
• Place the class name in the center of the upper section.
• A class name must be written in bold format.
• The name of the abstract class should be written in italics format.
Components of a Class Diagram
• Middle Section: The middle section constitutes the attributes, which describe the quality of the class. The
attributes have the following characteristics:
• The attributes are written along with its visibility factors, which are public (+), private (-), protected (#),
and package (~).
• The accessibility of an attribute class is illustrated by the visibility factors.
• A meaningful name should be assigned to the attribute, which will explain its usage inside the class.
Components of a Class Diagram
• Lower Section: The lower section contain methods or operations.
• The methods are represented in the form of a list, where each method is written in a single line.
• It demonstrates how a class interacts with data.
Relationships
• Dependency: A dependency is a semantic relationship between two or more classes where a change in one
class cause changes in another class.
• It forms a weaker relationship.
• In the following example, Student_Name is dependent on the Student_Id.
Relationships
• Generalization: A generalization is a relationship between a parent class (superclass) and a child class
(subclass).
• In this, the child class is inherited from the parent class.
• For example, The Current Account, Saving Account, and Credit Account are the generalized form of Bank
Account.
Relationships
• Association: It describes a static or physical connection between two or more objects.
• It depicts how many objects are there in the relationship.
• For example, a department is associated with the college.
Relationships
• Multiplicity: It defines a specific range of allowable instances of attributes.
• In case if a range is not specified, one is considered as a default multiplicity.
• For example, multiple patients are admitted to one hospital.
Relationships
• Aggregation: An aggregation is a subset of association, which represents has a relationship.
• It is more specific then association.
• It defines a part-whole or part-of relationship.
• In this kind of relationship, the child class can exist independently of its parent class.
• The company encompasses a number of employees, and even if one employee resigns, the company still
exists.
Relationships
• Composition: The composition is a subset of aggregation.
• It portrays the dependency between the parent and its child, which means if one part is deleted, then the
other part also gets discarded.
• It represents a whole-part relationship.
• A contact book consists of multiple contacts, and if you delete the contact book, all the contacts will be lost.
Abstract Classes
• In the abstract class, no objects can be a direct entity of the abstract class. The abstract class can neither be
declared nor be instantiated. It is used to find the functionalities across the classes. The notation of the
abstract class is similar to that of class; the only difference is that the name of the class is written in italics.
Since it does not involve any implementation for a given function, it is best to use the abstract class with
multiple objects.
• Let us assume that we have an abstract class named displacement with a method declared inside it, and that
method will be called as a drive (). Now, this abstract class method can be implemented by any object, for
example, car, bike, scooter, cycle, etc.
How to draw a Class Diagram?
• The class diagram is used most widely to construct software applications. It not only represents a static view of the
system but also all the major aspects of an application. A collection of class diagrams as a whole represents a
system.
• Some key points that are needed to keep in mind while drawing a class diagram are given below:
• To describe a complete aspect of the system, it is suggested to give a meaningful name to the class diagram.
• The objects and their relationships should be acknowledged in advance.
• The attributes and methods (responsibilities) of each class must be known.
• A minimum number of desired properties should be specified as more number of the unwanted property will
lead to a complex diagram.
• Notes can be used as and when required by the developer to describe the aspects of a diagram.
• The diagrams should be redrawn and reworked as many times to make it correct before producing its final
version.
Class Diagram Example
Multiplicity

Customer Simple
1
Class Aggregation

Abstract Rental Invoice


Class

Rental Item 1..*


1 0..1

Composition Simple
Generalization
Association

Checkout Screen
DVD Movie VHS Movie Video Game
Usage of Class diagrams
• The class diagram is used to represent a static view of the system. It plays an essential role in the
establishment of the component and deployment diagrams. It helps to construct an executable code to
perform forward and backward engineering for any system, or we can say it is mainly used for construction.
It represents the mapping with object-oriented languages that are C++, Java, etc. Class diagrams can be used
for the following purposes:
• To describe the static view of a system.
• To show the collaboration among every instance in the static view.
• To describe the functionalities performed by the system.
• To construct the software application using object-oriented languages.

You might also like