Presentation is loading. Please wait.

Presentation is loading. Please wait.

Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.

Similar presentations


Presentation on theme: "Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko."— Presentation transcript:

1 Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko APSEC 2000, Singapore

2 Presentation Outline  Introduction  Current Component Technologies
 Quality Assurance Issues for Component-Based Software Development (CBSD)  A QA model for CBSD  Conclusion

3 Introduction  Software systems become more and more large-scale, complex and uneasily controlled  One of the most promising solution now is component-based software development approach  The process of CBSD is totally different from traditional systems  Quality Assurance is very important for component-based software systems

4 What is Component-Based Software Development?
Software systems can be developed by selecting appropriate off-the-shelf components and then assembling them with a well-defined software architecture. Component 1 Component 2 Component n ... Software systems Component repository select assemble Commercial Off-the-shelf (COTS) components

5 Advantages of CBSD Reduce • Development cost • Time-to-market Improve
• Maintainability • Reliability • Overall quality of software systems

6 What is A Component?  A component is an independent and replaceable part of a system that fulfills a clear function  A component works in the context of a well-defined architecture  It communicates with other components by the interfaces

7 System Architecture  Layered  Modular Application Layer App2 App3
Special business components Common components Basic components App2 App1 App3 Application Layer Components Layer

8 Current Component Technologies
 Common Object Request Broker Architecture (CORBA) from Object Management Group (OMG)  Component Object Model (COM) and Distributed COM (DCOM) from Microsoft  JavaBeans and Enterprise JavaBeans (EJB) from Sun Microsystems

9 CORBA  CORBA is an open standard for application interoperability
 Allows applications/components to communicate with one another despite of different locations and designers.  The interface is the only way that applications/ components communicate with each other.  Object Request Broker (ORB) is the middleware that establishes the client-server relationships between components.  CORBA is widely used in OO distributed systems including component-based software systems

10 COM/DCOM  COM is a general architecture for component software
Defines how components and their clients interact directly and dynamically  DCOM is a protocol that enables software components to communicate directly over a network  Designed for use across multiple network transports, including Internet protocols such as HTTP

11 JavaBeans/EJB  JavaBeans for client-side component development, while Enterprise JavaBeans for server-side component development  Offers an efficient solution to the portability, security and reliability of component-based development.  The features are well suited for developing robust server objects independent of OS, Web servers and database management server.

12 Comparison of Current Component Technologies
CORBA EJB COM/DCOM Development environment Underdeveloped Emerging Supported by a wide range of strong development environments Binary interfacing standard Not binary standards Based on COM; Java specific A binary standard for component interaction is the heart of COM Compatibility & portability Particularly strong in standardizing language bindings; but not so portable Portable by Java language specification; but not very compatible. Not having any concept of source-level standard of standard language binding. Modification & maintenance CORBA IDL for defining component interfaces, need extra modification & maintenance Not involving IDL files, defining interfaces between component and container. Easier modification & maintenance. Microsoft IDL for defining component interfaces, need extra modification & maintenance Services provided A full set of standardized services; lack of implementations Neither standardized nor implemented Recently supplemented by a number of key services Platform dependency Platform independent Platform dependent Language dependency Language independent Language dependent Implementation Strongest for traditional enterprise computing Strongest on general Web clients. Strongest on the traditional desktop applications

13 Life Cycle of CBSD  Requirements analysis
 Software architecture selection, creation, analysis and evaluation  Component evaluation, selection and customization  Integration  Component-based system testing  Software maintenance

14 QA for Component-Based Software
Two inseparable parts:  How to certify quality of a component?  How to certify quality of a component-based software system? Metrics for components:  Size  Complexity  Reuse frequency  Reliability

15 A Quality Assurance Model for CBSD
 Component  System

16 Main Practices  Component requirement analysis
 Component development  Component certification  Component customization  System architecture design  System integration  System testing  System maintenance

17 Process Overview  Component Requirement Analysis

18 Process Overview  Component Development

19 Process Overview  Component Certification

20 Process Overview  Component Customization

21 Process Overview  System Architecture Design

22 Process Overview  System Integration

23 Process Overview  System Testing

24 Process Overview  System Maintenance

25 Conclusion  The life cycle of component-based software development is much different from that of traditional approach.  QA for CBSD should contain two different parts: component and system.  The QA model covers several key processes of component-based software development.


Download ppt "Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko."

Similar presentations


Ads by Google