Component-Based Software Engineering (CBSE): Definition & Component Models

Instructor: David Gloag

David has over 40 years of industry experience in software development and information technology and a bachelor of computer science

In this lesson, we'll take a look at Component-Based Software Engineering, what it is, the basic elements of an ideal component model, and a general overview of the process. At the end, you should have a good understanding of this fundamental process.

Orchestrating Your Devices

Have you ever thought about the number of devices we use in our daily lives? The cell phone we're constantly talking on, the laptop we're continually working on, or the entertainment system that fills our living rooms with sights and sounds. Further, they all seem to behave in a similar fashion, and work together. It's as if they were designed by the same person. Amazing isn't it? Not really. The truth is that while they aren't designed by the same person, they are designed with a common goal … interoperability. Companies like Apple, for example, go to great lengths to make them work in this way. So, how do they do it? How do they make these devices work seamlessly together? One approach is to use something called a component.

What is a Component?

In software engineering a component is a self-contained piece of code that addresses or provides a focused amount of functionality. Think of them like the pieces of a puzzle. Each of them stands by itself, and each is an important part of the puzzle's image. But only by working in concert do they provide the image as a whole. As an example, consider a word processor. A component of the word processor might be the printing module, another might be the formatting module, and so on. Each of these components provides a piece of the word processor's capabilities, but not all. Only when combined, do you get the software's overall intent … word processing.

What are the Basic Elements of an Ideal Component Model?

The design of a component, or the Ideal Component Model, should be:

  • Self-Contained — a component should contain everything it needs to work properly. State management, functionality, and persistence, for example, should be built in.
  • Re-Useable — a component should not be single use. It should be designed to work in a number of situations so that new design efforts can use it to address required capabilities.
  • Documented — a component should include a comprehensive set of documentation. How can a designer or user be expected to work with a component if this doesn't exist?
  • Rigorously Tested — a component should work in the manner described in the documentation. If it doesn't, the component isn't of much use.
  • Provides User Feedback — a component should provide the user with an indication of what is happening. Users will do crazy things, sometimes unknowingly. Errors, warnings, and status messages will help them move forward.

What is Component-Based Software Engineering (CBSE)?

Component-Based Software Engineering takes the idea of a component a step further. It is a process that breaks a software project down into a series of these components. Each has the properties mentioned in the previous section. Further, it tries to make use of components that already exist. This avoids doing more work than is necessary.

What Do the CBSE Process Steps Look Like?

Unfortunately, the steps needed to describe the CBSE process vary depending on who you ask. On the up-side, they all boil down to the following:

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 risk-free for 30 days

Earning College Credit

Did you know… We have over 200 college courses that prepare you to earn credit by exam that is accepted by over 1,500 colleges and universities. You can test out of the first two years of college and save thousands off your degree. Anyone can earn credit-by-exam regardless of age or education level.

To learn more, visit our Earning Credit Page

Transferring credit to the school of your choice

Not sure what college you want to attend yet? has thousands of articles about every imaginable degree, area of study and career path that can help you find the school that's right for you.

Create an account to start this course today
Try it risk-free for 30 days!
Create an account