Building Reliable Component-based Systems - Chapter 1: Basic Concepts in Component-Based Software Engineering. This chapter presents the following content: The component, interfaces, contracts, patterns, frameworks, relationships between concepts, conclusion. | Chapter 1 Basic Concepts in Component-Based Software Engineering Page Building Reliable Component-based Systems Chapter 1 - Basic Concepts in Component-Based Software Engineering Overview The Component Interfaces Contracts Patterns Frameworks Relationships between concepts Conclusion Page Building Reliable Component-based Systems Chapter 1 - Basic Concepts in Component-Based Software Engineering What is a Component? We can find several definitions of a component in literature, however everyone agrees that a component is a piece of software. These definitions begin from the consideration of CBSE from different viewpoints and focus on different aspects of software engineering such as: Different phases (design, implementation and run-time phases), Business aspects, Architectural issues. Page Building Reliable Component-based Systems Chapter 1 - Basic Concepts in Component-Based Software Engineering The Component: Szyperski Szyperski defines a component precisely by . | Chapter 1 Basic Concepts in Component-Based Software Engineering Page Building Reliable Component-based Systems Chapter 1 - Basic Concepts in Component-Based Software Engineering Overview The Component Interfaces Contracts Patterns Frameworks Relationships between concepts Conclusion Page Building Reliable Component-based Systems Chapter 1 - Basic Concepts in Component-Based Software Engineering What is a Component? We can find several definitions of a component in literature, however everyone agrees that a component is a piece of software. These definitions begin from the consideration of CBSE from different viewpoints and focus on different aspects of software engineering such as: Different phases (design, implementation and run-time phases), Business aspects, Architectural issues. Page Building Reliable Component-based Systems Chapter 1 - Basic Concepts in Component-Based Software Engineering The Component: Szyperski Szyperski defines a component precisely by enumerating its characteristic properties as follows: A software component is a unit of composition with contractually specified interfaces and explicit context dependencies only. A software component can be deployed independently and is subject to composition by third party. Page Building Reliable Component-based Systems Chapter 1 - Basic Concepts in Component-Based Software Engineering Implications of Szyperski’s Definition The following implications arise as a result of Szyperski’s definition: For a component to be deployed independently, a clear distinction from its environment and other components is required. A component must have clearly specified interfaces. The implementation must be encapsulated in the component and is not directly reachable from the environment . Page Building Reliable Component-based Systems Chapter 1 - Basic Concepts in Component-Based Software Engineering The Component: D'Souza and Wills D'Souza and Wills define a component as A reusable part of .