Skip to content
Object Oriented Analysis & Design with UML
  • Pages
    • Course Resources
      • How to Draw UML Diagrams
      • Agile Learning
      • Full Overview of UML
        • Overview of UML Software Architecture
        • Building Blocks of UML
        • Structural Modeling
        • UML - Architecture
        • UML - Basic Notations
        • UML - Standard Diagrams
        • UML - Class Diagram
        • UML - Object Diagrams
        • UML - Component Diagrams
        • UML - Deployment Diagrams
        • UML - Use Case Diagrams
        • UML - Interaction Diagrams
        • UML - Statechart Diagrams
        • UML - Activity Diagrams
        • UML - Quick Guide
        • Lucid Chart
      • Further Help with the Assignment
        • 000
        • 001
        • 002
        • 004
        • 003
        • 005
        • 006
        • 007
        • 008
        • 009
      • Design Patterns Reference
      • How to Sign up and use LinkedIn learning
      • Structure
        • Weekly Structure
          • 15
          • 9
          • 5
          • 3
          • 8
          • 7
          • 12
          • 1
          • 6
          • 14
          • 2
          • 10
          • 11
          • 13
          • 16- Assessment
          • 4
    • Contact Details
    • MODULE HANDBOOK
    • Assignment
    • Week 01- SDLC Methods: Principles of Object Orientated Thinking
    • Week 02- FURBS+ A.P.I.E Requirements Gathering Techniques
    • Week 03-Practical Application of UML Diagramming with Video Tutorials Part-01
      • Tutorial
    • Week 04-How to Create a Sequence, Activity, Class Diagram:
    • Week 05-Unified Software Development Process USDP
    • Week 06-Requirements & What is Agile
    • Week 07-User Stories in Agile
    • Week 08-User Mapping
    • Week 09 Intro to Design Patterns
    • Week 10 Model View Controller Design Patterns
    • Week 11 What is an API?
    • Week 12 Task Presentations
    • Week 13 Feedback from Presentations
    • Week 14 More Design Patterns Assignment Work
    • Week 15 Assignment Work
    • Week 16- In Class Exam 2 Hours
    • Full Overview of UML
      • Introduction to UML
      • Building Blocks of UML
      • UML - Architecture
      • Structural Modeling
      • UML - Standard Diagrams
      • UML - Basic Notations
      • UML - Class Diagram
      • UML - Object Diagrams
      • UML - Component Diagrams
      • UML - Deployment Diagrams
      • UML - Use Case Diagrams
      • UML - Interaction Diagrams
      • UML - Statechart Diagrams
      • UML - Activity Diagrams
      • UML - Quick Guide
    • Learn Agile & Scrum
      • 01-Discover the Waterfall and Iterative Approaches to Software Development
      • 02-Learn Agile Principles and Discover the Agile Manifesto
      • 03-Discover Three Different Types of Agile Project Management Frameworks
      • 04-Master the Fundamentals of Kanban
      • 05-Get Some Practice by Creating a Kanban Board Using Trello
      • 06-Principles of Agile Development Quiz
      • 07-Discover the Theory and Values Behind the Scrum Framework
      • 08-Identify the Members of the Scrum Team
      • 09-Learn the Events of the Scrum Framework
      • 10-Learn About Scrum Artifacts
      • 11-The Scrum Framework Quiz
      • 12-Write Effective User Stories
      • 13-Write Acceptance Tests
      • 14-Create a Definition of Done
      • 15-Get Started With Scrum in Your Organization
    • Assignment Brief 2022

UML - Component Diagrams


Component diagrams are different in terms of nature and behavior. Component diagrams are used to model the physical aspects of a system. Now the question is, what are these physical aspects? Physical aspects are the elements such as executables, libraries, files, documents, etc. which reside in a node.
Component diagrams are used to visualize the organization and relationships among components in a system. These diagrams are also used to make executable systems.

Purpose of Component Diagrams

Component diagram is a special kind of diagram in UML. The purpose is also different from all other diagrams discussed so far. It does not describe the functionality of the system but it describes the components used to make those functionalities.
Thus from that point of view, component diagrams are used to visualize the physical components in a system. These components are libraries, packages, files, etc.
Component diagrams can also be described as a static implementation view of a system. Static implementation represents the organization of the components at a particular moment.
A single component diagram cannot represent the entire system but a collection of diagrams is used to represent the whole.
The purpose of the component diagram can be summarized as −
Visualize the components of a system.
Construct executables by using forward and reverse engineering.
Describe the organization and relationships of the components.

How to Draw a Component Diagram?

Component diagrams are used to describe the physical artifacts of a system. This artifact includes files, executables, libraries, etc
The purpose of this diagram is different. Component diagrams are used during the implementation phase of an application. However, it is prepared well in advance to visualize the implementation details.
Initially, the system is designed using different UML diagrams and then when the artifacts are ready, component diagrams are used to get an idea of the implementation.
This diagram is very important as without it the application cannot be implemented efficiently. A well-prepared component diagram is also important for other aspects such as application performance, maintenance, etc.
Before drawing a component diagram, the following artifacts are to be identified clearly −
Files used in the system.
Libraries and other artifacts relevant to the application.
Relationships among the artifacts.
After identifying the artifacts, the following points need to be kept in mind.
Use a meaningful name to identify the component for which the diagram is to be drawn.
Prepare a mental layout before producing the using tools.
Use notes for clarifying important points.
Following is a component diagram for order management system. Here, the artifacts are files. The diagram shows the files in the application and their relationships. In actual, the component diagram also contains dlls, libraries, folders, etc.
In the following diagram, four files are identified and their relationships are produced. Component diagram cannot be matched directly with other UML diagrams discussed so far as it is drawn for completely different purpose.
The following component diagram has been drawn considering all the points mentioned above.

Untitled.png

Where to Use Component Diagrams?

We have already described that component diagrams are used to visualize the static implementation view of a system. Component diagrams are special type of UML diagrams used for different purposes.
These diagrams show the physical components of a system. To clarify it, we can say that component diagrams describe the organization of the components in a system.
Organization can be further described as the location of the components in a system. These components are organized in a special way to meet the system requirements.
As we have already discussed, those components are libraries, files, executables, etc. Before implementing the application, these components are to be organized. This component organization is also designed separately as a part of project execution.
Component diagrams are very important from implementation perspective. Thus, the implementation team of an application should have a proper knowledge of the component details
Component diagrams can be used to −
Model the components of a system.
Model the database schema.
Model the executables of an application.
Model the system's source code.
 
Want to print your doc?
This is not the way.
Try clicking the ··· in the right corner or using a keyboard shortcut (
CtrlP
) instead.