0
2.0kviews
Component and Interface design in Software Engineering
1 Answer
0
38views

Component design introduction

  • A software component is a modular building block for the computer software.

  • Component is defined as a modular, deployable and replaceable part of the system which encloses the implementation and exposes a set of interfaces.

Components view

The components has different views as follows:

1. An object-oriented view

  • An object-oriented view is a set of collaborating classes.

  • The class inside a component is completely elaborated and it consists of all the attributes and operations which are applicable to its implementation.

  • To achieve object-oriented design it elaborates analysis classes and the infrastructure classes.

2. The traditional view

  • A traditional component is known as module.

  • It resides in the software and serves three important roles which are control component, a problem domain component and an infrastructure component.

  • A control component coordinate is an invocation of all other problem domain components.

  • A problem domain component implements a complete function which is needed by the customer.

  • An infrastructure component is responsible for function which support the processing needed in the problem domain.

3. The Process related view

  • This view highlights the building system out of existing components.

  • The design patterns are selected from a catalog and used to populate the architecture.

Class-based design components

The principles for class-based design component are as follows:

Open Closed Principle (OCP)

Any module in OCP should be available for extension and modification.

The Liskov Substitution Principle (LSP)

The subclass must be substitutable for their base class.

This principle was suggested by Liskov.

Dependency Inversion Principle (DIP)

It depends on the abstraction and not on concretion.

Abstraction is the place where the design is extended without difficulty.

The Interface Segregation Principle (ISP)

Many client specific interfaces is better than the general purpose interface.

The Release Reuse Equivalency Principle (REP)

A fragment of reuse is the fragment of release.

The class components are designed for reuse which is an indirect contract between the developer and the user.

The common closure principle (CCP)

The classes change and belong together i.e the classes are packaged as part of design which should have the same address and functional area.

The Common Reuse Principle (CRP)

The classes that are not reused together should not be grouped together.

Please log in to add an answer.