Quality Assurance for Component-Based Software Development - PowerPoint PPT Presentation

About This Presentation
Title:

Quality Assurance for Component-Based Software Development

Description:

Survey on Software Quality Assurance. A draft QA model for ... How to certify quality of a component? How to certify quality of a component-based ... – PowerPoint PPT presentation

Number of Views:43
Avg rating:3.0/5.0
Slides: 39
Provided by: CSE
Category:

less

Transcript and Presenter's Notes

Title: Quality Assurance for Component-Based Software Development


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
...
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
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
DCOM
? 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
11
JavaBeans/EJB
? 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
12
JavaBeans/EJB
? 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
13
Case Study IBM SanFrancisco
? 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
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
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
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
25
Open Problems About QA for CBSD
? Identification of the QA characteristics ?
Well-defined Standards ? Models ? Metrics ?
Testing tools
26
Quality Characteristics of Components
? Functionality ? Interface ? Userability ?
Testability ? Modifiability (Maintainability) ?
Documentation ? Fault Tolerance (Reliability)
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
Write a Comment
User Comments (0)
About PowerShow.com