tailieunhanh - Lecture Software design and architecture – Chapter 15

A component is a deployable software package that can provide services to its clients; it may also itself require services from other components. A component remains self-contained and substitutable as long as its interface is unchanged. This chapter presents the following content: What is a component? Contractual interfaces, applicable domains of component-based architecture. | SOFTWARE DESIGN AND ARCHITECTURE LECTURE 15 Review Interaction-Oriented Software Architectures MVC Outline Component Based Architecture Component based software architecture Component Based Software Architecture Component-based software architecture divides a problem into sub-problems each associated with component partitions. The interfaces of the components play important roles in the component-based design. The main motivation behind component-based design is component reusability. Component Based Software Architecture Designs can make use of existing reusable commercial off-the-shelf (COTS) components or ones developed in-house, and they may produce reusable components for future reuse. This increases overall system reliability since the reliability of each individual component enhances the reliability of the whole system via reuse. Component A component is a deployable software package that can provide services to its clients; it may also itself require services from other . | SOFTWARE DESIGN AND ARCHITECTURE LECTURE 15 Review Interaction-Oriented Software Architectures MVC Outline Component Based Architecture Component based software architecture Component Based Software Architecture Component-based software architecture divides a problem into sub-problems each associated with component partitions. The interfaces of the components play important roles in the component-based design. The main motivation behind component-based design is component reusability. Component Based Software Architecture Designs can make use of existing reusable commercial off-the-shelf (COTS) components or ones developed in-house, and they may produce reusable components for future reuse. This increases overall system reliability since the reliability of each individual component enhances the reliability of the whole system via reuse. Component A component is a deployable software package that can provide services to its clients; it may also itself require services from other components. A component remains self-contained and substitutable as long as its interface is unchanged. Component Component is a higher level of abstract concept than class. A component may consist of many related classes stored and deployed in the same binary assembly. Component The interface of a component plays the role of contract between its implementation and its clients; hence the approach is also called a contract-oriented software architecture. The first step in component-based software design is to identify firstcut components and specify all necessary connections among these components. The connections are conducted via the interfaces of components. N tier Architecture 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 Connectors Connectors connect components, specifying and ruling their interaction. Component interaction can take the form of method invocations, .