EDUCBA

EDUCBA

MENUMENU
  • Free Tutorials
  • Free Courses
  • Certification Courses
  • 600+ Courses All in One Bundle
  • Login

UML Component Diagram

By Priya PedamkarPriya Pedamkar

Home » Software Development » Software Development Tutorials » Software Engineering Tutorial » UML Component Diagram

UML Component Diagram

Introduction to UML Component Diagram

Unified Modeling Language, that is, UML is in simple words, a general-purpose modeling language. The main objective of UML is visualizing the way a system is designed in a standard way. It is also very much the same as blueprints that are being used in other fields of engineering as well. It is not a programming language, but rather it is a visual language. UML Component diagrams are used to only demonstrate the behavior as well as the structure of a system. UML helps system architects, businessmen and also software engineers in modeling, design as well as analysis. The OMG, that is, Object Management Group adopted UML as the standard back in 1997. Since then it is been managed by them. After that, in 2005 ISO published UML as an approved standard. UML has been revised and reviewed round the years periodically. Further, we’ll discuss component diagrams.

What is Component Diagram in UML? 

  • UML Component diagrams are basically used in modeling the aspects that are physical of object-oriented systems used in visualizing and documenting systems that are component-bases and it is also used for the construction of executable systems with the help of forward and reverse engineering. Component diagrams are basically diagrams of the class focusing on components of a system is often used for modeling of the static implementation view of the system.
  • It also breaks down the actual system that is under development into various levels of functionality, basically high level. Each component in UML is responsible for only a single clear aim in the entire system and it interacts with only other essential elements and that too just on a need to know basis.
  • The sole and important purpose of a component diagram in UML is to demonstrate the relationship between various components in the system. If we talk about UML 2.0, the word “component” is defined as a module of classes that represents systems or subsystems that are independent having the ability to interface with the rest of the system.
  • There is an approach called component-based development, also called CBD, which revolves around all the components. In this approach, the whole system does what it is actually supposed to do since it permits the planner to identify different components. Commonly speaking, if we talk about Object Oriented programming approach, component diagram always permits a senior developer to group the classes together depending upon their common purpose thus enabling the developer as well as others to look at the software development project at a higher level.
  • Although component diagrams in UML might appear to be complicated at first sight, however, they are quite invaluable when it comes to building our system.

Component diagrams have many advantages that can help your team in various ways :

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

  1. It pays attention to how the system’s components relate.
  2. It emphasizes the behavior of service when it relates to the interface.
  3. It also imagines the physical structure of the system. 

Explain Symbols of UML Component Diagram

UML component diagram symbols are many like component, package, package container, dependency, generalization, constraint, opaque stereotype, note, and many others. Let us go through a few important ones. The symbols are provided next to them.

 1. Component: Component in UML is defined as a modular part of a system. It always defines its behavior which is in terms of required and given interfaces.

UML Component Diagram

2. Package: Package in UML can be defined as something that can group elements, and then gives a namespace for all of those grouped elements.

Package

3. Package containers: Package containers in UML can be defined as something that describes UML elements like classes, components, and use cases.

Popular Course in this category
All in One Software Development Bundle (600+ Courses, 50+ projects)600+ Online Courses | 3000+ Hours | Verifiable Certificates | Lifetime Access
4.6 (3,144 ratings)
Course Price

View Course

Related Courses
Software Testing Training (9 Courses, 2 Projects)Cyber Security Training (12 Courses, 3 Projects)

UML Component Diagram

4. Dependency: Dependency relationship in UML can be defined as a relationship wherein one of the elements which are the client uses or depends on another element which is the supplier.

Dependency

5. Generalization: Generalization in UML can be defined as the relationship wherein one of the model element I.e., the child is based on another model element i.e., the parent.

 Generalization

6. Constraint: Constraint in UML can be defined as something that enables us to refine the semantics of the UML model element. It is an extension mechanism. Note in UML consists of either comments or textual information.

Constraint

Note in UML can be defined as something that represents either hardware or software objects which are of a higher level if we compare to components. components.

uml7

7. Interface: In UML can be defined as something that demonstrates the materials which a component will either receive or will provide. We can represent interfaces with either textual notes or symbols like the lollipop, socket, or ball and socket shapes.

8. port: Symbol in UML can be defined as something that mentions a different interaction point between the environment and the component. Ports can be symbolized with the help of a small square.

How to make a Component Diagram?

We can easily make a perfect component diagram in UML from scratch with the help of the Lucid Chart. All we need to do is follow these steps:

  • Either open a blank document or start with a template.
  • UML shape library is to be enabled. Then click on “Shapes” o the left side of the editor and check on “UML” in the Shape Library Manager and then click “Save.”
  • Select the shape that you want from the library to be added, and all you have to do is drag that shape from the toolbox into the canvas.
  • Draw lines between shapes for modeling the flow and we are done.

One of the examples is as below for Library Mangement System shown below

UML Component Diagram

The transactions are shown here create a network of relationships between components of the library system. In order to understand how are these relationships working and how the system is functioning overall, you need to examine the UML diagram demonstrated above. You can also use it as a template. 

Conclusion

Thus, we can conclude that the component diagram is a really important diagram in which architects will often create quite early in a project. But, it’s usefulness spans the life of the system. Component diagrams are quite invaluable since they model as well as document a system’s architecture.

Recommended Articles

This has been a guide to UML Component Diagram. Here we discuss the basic concept with different types of symbols explained in detail. You can also go through our other suggested articles to learn more –

  1. Types of UML Diagrams
  2. UML Sequence Diagram
  3. UML Activity Diagram
  4. UML Use Case Diagram
  5. UML Interaction Diagrams | Components

All in One Software Development Bundle (600+ Courses, 50+ projects)

600+ Online Courses

3000+ Hours

Verifiable Certificates

Lifetime Access

Learn More

1 Shares
Share
Tweet
Share
Primary Sidebar
Software Engineering Tutorial
  • UML Daigram
    • Architecture of UML
    • StarUML Download
    • Types of UML Diagrams
    • UML Activity Diagram
    • UML Component Diagram
    • UML Deployment Diagram
    • UML Diagram Softwares
    • UML Object Diagram
    • UML Sequence Diagram
    • UML Use Case Diagram
    • Class Diagram
    • UML Dependency
    • UML Interaction Diagrams
    • Data Flow Diagrams
  • Basic
    • What is Software Engineering?
    • What is SDET
    • What Is SDLC
    • SDLC Methodologies
    • Software Classification
    • Software Design
    • Software Design Principles
    • Software Metrics
    • UI Design Tools
    • User Interface Design Principles
    • Software Configuration Management
    • Software Configuration Management Tools
    • What is Risk Management?
    • CASE Tools
  • Models
    • Prototype Model
    • What is Spiral Model
    • Waterfall Model
    • Prototyping Tools
    • Incremental Model
    • Iterative Model
    • RAD Model
    • Fish Model
    • COCOMO Model
    • Big Bang Model
    • Capability Maturity Model Integration
    • What is Agile Development?
    • Agile Process Model
    • Rational Unified Process
  • Advanced
    • Functional Point Analysis
    • Software Quality Control
    • Quality Assurance Tools
    • Quality Software
    • Critical System
    • Legacy System
    • SOA Architecture
    • Software Quality Attributes
    • Software Maintenance
    • Software Cost Estimation
    • Cohesion in Software Engineering
    • Coupling in Software Engineering
    • Design Modeling in Software Engineering
    • Iterative Methodology
    • System Flow Diagram
    • Data Flow Architecture
    • SEICMM
    • Function Oriented Design
  • Interview Questions
    • Software Engineering Interview Questions
    • SDLC Interview Questions

Related Courses

Software Testing Course

Cyber Security Training

Software Development Course Training

Footer
About Us
  • Blog
  • Who is EDUCBA?
  • Sign Up
  • Corporate Training
  • Certificate from Top Institutions
  • Contact Us
  • Verifiable Certificate
  • Reviews
  • Terms and Conditions
  • Privacy Policy
  •  
Apps
  • iPhone & iPad
  • Android
Resources
  • Free Courses
  • Java Tutorials
  • Python Tutorials
  • All Tutorials
Certification Courses
  • All Courses
  • Software Development Course - All in One Bundle
  • Become a Python Developer
  • Java Course
  • Become a Selenium Automation Tester
  • Become an IoT Developer
  • ASP.NET Course
  • VB.NET Course
  • PHP Course

© 2020 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA Login

Forgot Password?

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you
Book Your One Instructor : One Learner Free Class

Let’s Get Started

This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the cookie policy. By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to our Privacy Policy

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you

Special Offer - All in One Software Development Bundle (600+ Courses, 50+ projects) Learn More