Presentation is loading. Please wait.

Presentation is loading. Please wait.

Quality Assurance for Component- Based Software Development Cai Xia (Mphil Term1) Supervisor: Prof. Michael R. Lyu 5 May, 2000.

Similar presentations


Presentation on theme: "Quality Assurance for Component- Based Software Development Cai Xia (Mphil Term1) Supervisor: Prof. Michael R. Lyu 5 May, 2000."— Presentation transcript:

1 Quality Assurance for Component- Based Software Development Cai Xia (Mphil Term1) Supervisor: Prof. Michael R. Lyu 5 May, 2000

2 Presentation Outline  Introduction  Current Technologies for Component  Case Study  Survey on Software Quality Assurance  A draft QA model for Component-Based Software Development  Conclusion

3 Introduction  Software systems become more and more large-scale, complex and uneasily controlled  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 ? Component repository Component 1 Component 2 Component n Software systems select assemble... Commercial Off-the-shelf (COTS) components

5 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

6 System Architecture  Layered  Modular Special business components Common components Basic components Application2 Application1 Application3 Application Layer

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

8 CORBA  CORBA is an open standard for application interoperability  Allows heterogeneous environments operating systems/execution environment/ programming languages  Allows integration of existing components  CORBA is widely used in OO distributed systems including component-based software systems

9 COM  Introduced in 1993  Platform-dependent (Windows, WindowsNT)  Language-independent  Defines how components and their clients interact directly and dynamically  Enables on-line software update and cross- language software reuse

10  Introduced in 1996  Extension of COM  A protocol that enables software components to communicate directly over a network  In a reliable, secure, and efficient manner  Across multiple network transports, including Internet protocols such as HTTP DCOM

11  JavaBeans for client-side component development  Enterprise JavaBeans for server-side component development  Platform-independent  Language-dependent (Java)  Enables scalable, secure, business-critical, multiplatform, reusable components JavaBeans/EJB

12  Efficient data access across heterogeneous server  Faster Java client connections, transaction state management, caching and queuing  Connection multiplexing  Transaction load balancing across servers  Easier modification and maintenance than CORBA or COM/DCOM JavaBeans/EJB

13  Objective: solving the high cost and low efficiency problems when modernizing or maintaining complex specific software systems  Provides a distributed object infrastructure and a set of application components  Programming language: Java  Platforms: Windows NT, OS/400, AIX, Solaris, HP_UX and Reliant UNIX Case Study: IBM SanFrancisco

14 SanFrancisco Infrastructure

15 Software Quality Assurance (SQA)  Process-oriented (Software Quality Engineering) Objective: procedures, techniques and tools standard: ISO9000-3, CMM  Product-oriented (Software Quality Control) Objective: software product delivered method: testing tools, metrics

16 Software Quality Standard & Model  ISO9000 (International Organization for Standardization)  development and management process  CMM (Software Engineering Institute SEI)  five levels of increasing process maturity  HKSQA Model (Hong Kong Productivity Council)  a framework of local software standard practices

17 QA for Object-Oriented Systems Key concepts in OO Design  Object  Class  Polymorphism  Inheritance

18 Object-Oriented Design Method Design Object Design Object Definition Attributes of Objects Communication Among Objects

19 Testability Factors in OO Systems

20 Example Metrics for OO Software

21 QA for Component-Based Software  How to certify quality of a component?  How to certify quality of a component- based software system?

22 Component vs. Object  Object: Defined at a low level Component: higher-level entity  Object: multiple inheritance model  inherent dependency Component: multiple interfaces  flexibility

23 Life Cycle of A Component

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

25  Identification of the QA characteristics  Well-defined Standards  Models  Metrics  Testing tools Open Problems About QA for CBSD

26  Functionality  Interface  Userability  Testability  Modifiability (Maintainability)  Documentation  Fault Tolerance (Reliability) Quality Characteristics of Components

27 A Draft QA Model for CBSD  Component  System

28 Main Practices  Component requirement analysis  Component development  Component evaluation  Component customization  System architecture design  System integration  System testing  System maintenance

29 Process Overview Diagrams  Component Requirement Analysis

30 Process Overview Diagrams  Component Development

31 Process Overview Diagrams  Component Evaluation

32 Process Overview Diagrams  Component Customization

33 Process Overview Diagrams  System Architecture Design

34 Process Overview Diagrams  System Integration

35 Process Overview Diagrams  System Testing

36 Process Overview Diagrams  System Maintenance

37 Conclusion and Future Work  QA for CBSD should contain two different parts: component and system  Materialize the draft model  Evaluate existing testing tools for specific component technology, e.g. JavaBeans  Metrics

38 Q & A Section


Download ppt "Quality Assurance for Component- Based Software Development Cai Xia (Mphil Term1) Supervisor: Prof. Michael R. Lyu 5 May, 2000."

Similar presentations


Ads by Google