Download presentation
Presentation is loading. Please wait.
Published byBeverly Porter Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.