tailieunhanh - Lecture Software design and architecture – Chapter 32

In this chapter, the following content will be discussed: Behavioral patterns, observer pattern, chain of command, component based software engineering, components, component based design, component model, CBSE. | SOFTWARE DESIGN AND ARCHITECTURE LECTURE 32 Review Behavioral Patterns Observer Pattern Chain of command Outline Component Based Software Engineering Components Component Based Design Component Model CBSE Component Based Software Engineering Component-based software engineering How do you define a “Component”? How do you define “Component-based software engineering”? 5 What is a Component? Several definitions of a component in literature, however everyone agrees that a component is a piece of software But this requires clarification! 6 What is a Component? Components provide a service without regard to where the component is executing or its programming language A component is an independent executable entity that can be made up of one or more executable objects The component interface is published and all interactions are through the published interface 7 Component The Object Management Group’s “Modeling Language Specification” defines a component as “a physical, replaceable part | SOFTWARE DESIGN AND ARCHITECTURE LECTURE 32 Review Behavioral Patterns Observer Pattern Chain of command Outline Component Based Software Engineering Components Component Based Design Component Model CBSE Component Based Software Engineering Component-based software engineering How do you define a “Component”? How do you define “Component-based software engineering”? 5 What is a Component? Several definitions of a component in literature, however everyone agrees that a component is a piece of software But this requires clarification! 6 What is a Component? Components provide a service without regard to where the component is executing or its programming language A component is an independent executable entity that can be made up of one or more executable objects The component interface is published and all interactions are through the published interface 7 Component The Object Management Group’s “Modeling Language Specification” defines a component as “a physical, replaceable part of a system that packages implementation and provides the realization of a set of interfaces. A component represents a physical piece of system’s implementation, including software code (source, binary or executable) or equivalents, such as scripts or command files. Component Provides a service: implementation-independent Need not to be compiled Executable More abstract than classes Components can be made of Source code Classes – one or more, possibly related Executable code Object code Virtual object code Other files Images, text, indices Motivation for CBSE Develop software systems as assemblies of components Reuse-driven & market-driven software development Easing maintenance and evolution: design for change! 11 11 Component view points There are many definitions of components: Consideration of CBSE from different viewpoints and focus on different aspects of software engineering Design viewpoint: components as reusable design parts Architecture viewpoint: High-level .