1 / 26

Quality Assurance for Component-Based Software Development

This presentation discusses the importance of quality assurance in component-based software development and explores current component technologies. It also includes a case study and highlights open problems in QA for CBSD.

ssimons
Download Presentation

Quality Assurance for Component-Based Software Development

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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. Component 1 Software systems Component 2 Component n assemble select Commercial Off-the-shelf (COTS) components 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. Application Layer Application2 Application3 Application1 Special business components Common components Basic components 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(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 Object-Oriented Design Method Design Object Design Attributes of Objects Communication Among Objects Object Definition

  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

More Related