What is the component design?
Component design
Component design is a type of software design and architecture. The component-based architecture focuses on breaking the software design into small individual modules. The component design describes communication, interfaces, algorithms, and the functionalities of each component regarding the whole software design.
Benefits of component design
The component design has the following benefits:
- The major benefit of using the Component design is that it makes every module reusable.
- It also reduces the cost as every module is reusable.
- It is more reliable as the client gets its interaction with the system with each module, so it increases the reliability of the entire system.
- The component design makes the system easy to maintain as we don't need to make changes in the entire system.
- The component design describes each component's functionality more clearly.
Component design view
Component-level design is classified into three views.
- Object-Oriented View
- Conventional View
- Process-Related View
Object-oriented view
In Object-Oriented View, the modules consist of a set of classes or objects with some common properties and functionalities and how classes in each module are connected.
Conventional view
In the conventional view, the module acts like a functional part of the software which means it is responsible for processing all logical and internal operations according to their designated task. The conventional view module also plays a vital role in calling and coordinating the request of other modules.
Process-related view
The process-related view uses pre-existed modules for the creation of new modules. Databases and libraries are used to store pre-existed modules. The process-related view majorly focuses on the reusability feature of the component design.
Example
In our example, we'll consider a component diagram of an online shopping system:
- It will have a
Customer,Customer Account,Product, andOrder. - Every object is an individual component but is related to each other at the same time
- The customer will go on the online site and search the
product. - By selecting any specific
product, the customer will place anorder. - After the
orderis placed, the system will store thecustomerand his account information in theOrder Database. - The order would be generated against the customer and stored in the
Database. - Every module has its own task but is interlinked with each other to complete the requirements of the software.
Free Resources