Component-Level Design: Definition & Types

Lesson Transcript
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. Updated: 01/19/2021

Component-Level Design Definition

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's 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 structure, and communication methods of each component.

But first, we should ask: what exactly is a component? Simply put, a component, sometimes also called a module, is the basic building block for the software application or system being designed. A more technical description of a component is that it's a portable, replaceable, and reusable set of functions which is part of a system and incorporates implementation and exposes a set of interfaces.

An error occurred trying to load this video.

Try refreshing the page, or contact customer support.

Coming up next: Class-Based Component Design: Principles & Process

You're on a roll. Keep up the good work!

Take Quiz Watch Next Lesson
Your next lesson will play in 10 seconds
  • 0:04 Component-Level Design…
  • 1:01 Component-Level Design Views
  • 2:47 Cohesion vs. Coupling
  • 3:29 Lesson Summary
Save Save Save

Want to watch this again later?

Log in or sign up to add this lesson to a Custom Course.

Log in or Sign up

Speed Speed

Component-Level Design Views

There are three main views of component-level design:

  1. The object-oriented view
  2. The conventional view
  3. The process-based view

Each has its own elements and characteristics. These will be discussed in detail here.

1. 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, operations, and relationships to other objects and meanings. Analysis classes can be thought of as classes that have to do with the real world. These include, for example, people, physical things, or locations. Design classes are classes within the context of the software itself. 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.

2. 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.

3. 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 reusable 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 now
Create an account to start this course today
Used by over 30 million students worldwide
Create an account