Presentation is loading. Please wait.

Presentation is loading. Please wait.

Quality Assurance for Component-Based Software Development

Similar presentations


Presentation on theme: "Quality Assurance for Component-Based Software Development"— Presentation transcript:

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


Download ppt "Quality Assurance for Component-Based Software Development"

Similar presentations


Ads by Google