ESTIMATION
UNIT - V
Introduction to UML
Title: Introduction to UML and Its Diagrams
Overview:
UML (Unified Modeling Language) is a standard
way to visualize the design of a system.
Helps in modeling both software and non-
software systems.
Developed by Grady Booch, James Rumbaugh,
and Ivar Jacobson in the 1990s.
Importance: Facilitates communication
between developers, analysts, and
stakeholders.
Types of UML Diagrams
Overview: UML diagrams are broadly
classified into two categories:
Structural Diagrams: Describe the static
aspects of the system.
Behavioral Diagrams: Describe the dynamic
behavior of the system.
Key Diagrams Covered: Class Diagram, Use
Case Diagram, Interaction Diagram,
Sequence Diagram, Collaboration Diagram,
State Chart Diagram, Activity Diagram,
Component Diagram, Deployment Diagram.
Class Diagram
Definition: Represents the structure of the
system by showing its classes, attributes,
operations, and relationships.
Key Components:
Class: Represented as a rectangle divided into
three sections (Class Name, Attributes, Methods).
Relationships: Associations, dependencies,
generalizations, and realizations between classes.
Example: Class diagram of an e-commerce
system with classes like Customer, Order,
Product, and their interactions.
Use Case Diagram
Definition: Represents the functional
requirements of a system from the user’s
perspective.
Key Components:
Actors: Represent roles that interact with the system
(e.g., user, admin).
Use Cases: Represent specific functionalities or
services (e.g., login, purchase).
Relationships: Include associations, include, extend.
Example: Use case diagram for a library
management system with use cases like Borrow
Book, Return Book.
Interaction Diagram
Definition: Visualizes how objects interact
within a system.
Types: Sequence Diagram and Collaboration
Diagram.
Purpose: Shows the flow of messages
between objects and the sequence of
operations.
Example: Interaction diagram depicting a
user purchasing a product online.
Sequence Diagram
Definition: Represents the sequence of messages
exchanged between objects over time.
Key Components:
Objects: Represented along the top.
Lifelines: Dotted vertical lines representing the
life of an object.
Messages: Arrows indicating communication
between objects.
Activation Bars: Show the period when an object
is performing an action.
Example: Sequence diagram for the login process
of a web application.
Collaboration Diagram
Definition: Focuses on object interactions and
the relationships between them.
Key Components:
Objects: Represented by icons or boxes.
Links: Represent connections between objects.
Messages: Numbered arrows showing the
sequence of interactions.
Difference from Sequence Diagram:
Emphasizes the structural organization of objects
over time sequence.
Example: Collaboration diagram for an online
shopping cart interaction.
State Chart Diagram
efinition: Describes the states of an object
throughout its lifecycle and transitions between
those states.
Key Components:
States: Represented as rounded rectangles.
Transitions: Arrows indicating movement from
one state to another.
Initial and Final States: Denoted by filled circles
and a circle with a dot, respectively.
Example: State chart for an order processing
system (e.g., Order Placed → Processing →
Shipped → Delivered).
Activity Diagram
Definition: Represents the flow of control or
data in a system.
Key Components:
Activities: Represented by rounded rectangles.
Transitions: Arrows showing the flow from one
activity to the next.
Decision Points: Diamonds used for branching
logic.
Swimlanes: Represent responsibility of different
actors or components.
Example: Activity diagram for the process of
user registration on a website.
Component Diagram
Definition: Shows the physical components
(software and hardware) of a system.
Key Components:
Components: Represent modules or parts of a
system (e.g., databases, executables).
Interfaces: Represent the interaction points
between components.
Dependencies: Indicate how components
depend on each other.
Example: Component diagram for a web
application with modules like User Interface,
Business Logic, and Database.
Deployment Diagram
Definition: Describes the physical deployment of
artifacts on nodes.Key Components:Nodes:
Represent hardware or execution environments
(e.g., servers, devices).
Artifacts: Represent software files or
applications that reside on nodes.
Connections: Show communication between
nodes.
Example: Deployment diagram for a client-server
architecture, showing the relationship between
the server, database server, and client devices.
BY PANDIPRIYA
THANK YOU