Component-based software engineering

Architects need to take into account user requirements, responsibilities and architectural characteristics.

[3] For large-scale systems developed by large teams, a disciplined culture and process is required to achieve the benefits of CBSE.

[4] Third-party components are often utilized in large systems.

The system can be designed visually with the Unified Modeling Language (UML).

Component-based usability testing is for components that interact with the end user.

An example of two components in UML : Checkout processes a customer's order, which requires the other one to bill the credit card.