Download presentation
Presentation is loading. Please wait.
Published byKatharina Kraus Modified over 5 years ago
1
Quality Assurance for Component-Based Software Development
Presented by: Cai Xia Supervised by: Prof. Michael Lyu 11 April, 2000
2
Presentation Outline Introduction Current component technologies
Case study Quality Assurance for component-based software systems 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 n Software systems Component repository ... 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 Application Layer
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(1) CORBA is an open standard for application interoperability
V1.1 defines IDL, API, ORB (1991) V2.0 defines true interoperability (1994) ORB is a middleware that establishes the client/server relationships between objects
9
CORBA(2) 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
10
COM/DCOM(1) 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
11
COM/DCOM(2) 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
12
JavaBeans/EJB (1) 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
13
JavaBeans/EJB (2) 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
14
Case Study: IBM SanFrancisco
subjective: 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
15
SanFrancisco Infrastructure
16
Software Quality Assurance (SQA)
Process-oriented (Software Quality Engineering) subjective: procedures, techniques and tools standard: ISO9000-3, CMM Product-oriented (Software Quality Control) subjective: software product delivered method: testing tools, metrics
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
Metrics for OO Software
Aim at: Complexity Understandability Maintainability Reusability Testability
20
Testability Factors in OO Systems
21
Example Metrics for OO Software
22
QA for Component-Based Software
How to qualify a component? How to qualify a component-based software system?
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
Q & A Section
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.