Component-Level Design: Steps & Examples

Instructor: Alexis Kypridemos

Alexis is a technical writer for an IT company and has worked in publishing as a writer, editor and web designer. He has a BA in Communication.

This lesson outlines component-based design and the steps associated with it. Examples of unified modeling language (UML) activity diagrams and state charts are also included.

Component-Level Design

Component-level design, also known as component-based software engineering (CBSE) or Component-Based Design (CBD), is an approach to software development that emphasizes the concept of reusable components. In CBSE, the preferred method is to create a system using 'off-the-shelf' components and employing a 'buy, don't build' mentality. Only when necessary are custom components built, as opposed to building the entire system from scratch.

The main rationale behind this approach is to significantly minimize system cost and deployment time. Other benefits include higher software quality (although sometimes this is debatable), and the ability to more easily identify software issues. Whether or not CBSE results in higher quality software is a topic for discussion because the quality of a single component does not necessarily reflect the quality of the system as a whole. On the other hand, issues are more easily detected because they can be isolated to a specific component. In the case of a custom built component, this is harder to do.

Steps for Component-Level Design

The development of any software system or application follows roughly the same steps:

  1. Requirements analysis and specification
  2. System and software design
  3. Implementation and unit testing
  4. System integration
  5. System verification and validation
  6. Operation support and maintenance
  7. Disposal (though this step is often omitted)

Each of these will be discussed in more detail the sections below.

Requirements Analysis and Specification

Requirements analysis in software engineering essentially identifies a problem and then determines the requirements the solution must meet to be considered successful. In CBSE, a main consideration at this stage is whether solution can be created or not using existing software components.

Requirements Modeling & Diagrams

Part of requirements analysis is requirements modeling, a multi-step process that produces diagrams and other graphical requirements representations. Most of these diagrams are drawn using Unified Modeling Language (UML).

Two of the many diagrams produced during this stage are the activity diagram and the state diagram, often called state charts. An activity diagram is essentially an advanced flow chart, demonstrating how one activity in the system leads to another. A state diagram demonstrates how the system responds to external stimuli, like a user making choices through the application's interface.

Figures 1 and 2 show examples of activity and state diagrams for a proposed airline application that will allow the customer/traveler to search for flights, book tickets and print boarding passes.

Figure 1: Activity diagram for the proposed application.
Activity diagram

The activity diagram (Figure 1) demonstrates the sequence or flow of how one possible activity leads to another using the example airline application.

Figure 2: State diagram for the proposed application.
State diagram

The state diagram (Figure 2) demonstrates how the example airline application will respond for one specific use: the traveler getting a boarding pass.

System and Software Design

As in other approaches, system design establishes an overall system architecture. In CBSE, however, this is constrained by the availability of components. Theoretically, components from different models can be used, but in practice, all components should be from the same model (e.g. client-server) for best results.

Implementation and Unit Testing

In implementation and unit testing, the design is formalized and the individual units are tested. In CBSE, it is important to test not only individual components, but the assembly of components, as the components themselves might function correctly, but there may issues with the assembly.

To unlock this lesson you must be a Member.
Create your account

Register to view this lesson

Are you a student or a teacher?

Unlock Your Education

See for yourself why 30 million people use

Become a member and start learning now.
Become a Member  Back
What teachers are saying about
Try it now
Create an account to start this course today
Used by over 30 million students worldwide
Create an account