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.
The component design has the following benefits:
Component-level design is classified into three views.
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.
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.
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.
In our example, we'll consider a component diagram of an online shopping system:
Customer
, Customer Account
, Product
, and Order
.product
.product
, the customer will place an order
.order
is placed, the system will store the customer
and his account information in the Order Database
.Database
.Free Resources