Component-Level Design: Definition & Types

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.

In this lesson, component-level design (translating the design model into software) is explained, as well as the different classifications of components. The object-oriented, traditional and process-based views of component-level design are discussed.

What is Component-Level Design?

In software engineering, after the planning stage of an application or system, called requirements modeling, the architectural design of the software follows. At this point it is designed on a higher level. After that, the process of taking the components identified in the architectural design and getting down to a 'nuts and bolts' level of designing the proposed software is called component-level design. This level of design defines the interface, algorithms, data structures and communication methods of each component.

What is a Component?

Simply put, a component, sometimes also called a module, is basic building block for the software application or system being designed. A more technical description of a component is that it is a portable, replaceable and reusable set of functions which is part of a system and incorporates implementation and exposes a set of interfaces.

Component-Level Design Views

There are three main views of component-level design: 1) object-oriented view, 2) conventional view, and 3) process-based view. Each has it's own elements and characteristics. These will be discussed in detail below.

Object-oriented View

In the object-oriented view, a component contains a set of collaborating classes. As a quick reminder, classes are groups of objects with common properties (characteristics), operations (behaviors) and relationships to other objects and meanings. Analysis classes can be thought of as classes that have to do with the real world ('problem domain'). These include, for example, people, physical things or locations. Design classes are classes within the context of the software itself ('application or infrastructure domain'). Analysis and design classes are mentioned here because the object-oriented view explains both types of class to identify all their operations and attributes, as well as the interfaces that enable classes to communicate and collaborate.

Conventional View

In the conventional view of component-level design, the component is considered a functional element of the software that integrates the processing logic and necessary internal data structures to perform its task, as well as the interface that allows for calling the component and passing data to it.

Process-related View

The process-related view emphasizes building software from existing components maintained in a library rather than creating them from scratch. Designing components to be re-useable in this manner requires that each component contains:

  • A complete description of its interface.
  • The functions it performs.
  • The communication and collaboration with other components that it requires.

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