Quality Assurance for Component-Based Software Development

Slides:



Advertisements
Similar presentations
Welcome to Middleware Joseph Amrithraj
Advertisements

Overview of Web Services
COM vs. CORBA.
Microsoft COM Component Object Model Microsoft Corporation ™
Component-Based Software Development: Technologies, Quality Assurance Schemes, and Risk Analysis Tools Cai Xia Supervisor: Prof. Michael R. Lyu Markers:
University of British Columbia Software Practices Lab Introduction to Middleware for Software Engineering Eric Wohlstadter 539D.
CIM2564 Introduction to Development Frameworks 1 Overview of a Development Framework Topic 1.
Technical Architectures
1 IBM SanFrancisco Product Evaluation Negotiated Option Presentation By Les Beckford May 2001.
Distributed Object Computing Weilie Yi Dec 4, 2001.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
Chapter 13 Physical Architecture Layer Design
Middleware Technologies compiled by: Thomas M. Cosley.
Component Based Systems Analysis Introduction. Why Components? t Development alternatives: –In-house software –Standard packages –Components 60% of the.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
Object Based Operating Systems1 Learning Objectives Object Orientation and its benefits Controversy over object based operating systems Object based operating.
12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
COM vs. CORBA Integration via middleware By: Don Villanueva CS 524 Software Engineering II Fall II 2007 – Sheldon X. Liang, Ph. D.
 1. Introduction  2. Development Life-Cycle  3. Current Component Technologies  4. Component Quality Assurance  5. Advantages and Disadvantages.
Quality Assurance for Component- Based Software Development Cai Xia (Mphil Term1) Supervisor: Prof. Michael R. Lyu 5 May, 2000.
L6 - March 1, 2006copyright Thomas Pole , all rights reserved 1 Lecture 6: Software Packaging: Dynamically Integrable Components and Text Ch.
Middleware-Based OS Distributed OS Networked OS 1MEIT Application Distributed Operating System Services Application Network OS.
Web services: Why and How OOPSLA 2001 F. Curbera, W.Nagy, S.Weerawarana Nclab, Jungsook Kim.
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
Chapter 3: Objects, Components, and the Web Textbook IT Architectures and Middleware, Second Edition Chris Britton and Peter Bye AIT 600 Jeff Schmitt September.
Enterprise Java Beans Part I Kyungmin Cho 2001/04/10.
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Other Topics RPC & Middleware.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
Enterprise JavaBeans. What is EJB? l An EJB is a specialized, non-visual JavaBean that runs on a server. l EJB technology supports application development.
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
DCOM (Overview) by- Jeevan Varma Anga.
Distributed Processing and Client/Server
1 Distributed Systems Distributed Objects & Remote Invocation II (CORBA VS DCOM) Dr. Sunny Jeong. With Thanks to.
Slide 1 Physical Architecture Layer Design Chapter 13.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
SEMINOR. INTRODUCTION 1. Middleware is connectivity software that provides a mechanism for processes to interact with other processes running on multiple.
.NET Enterprise Services COM+ 1.5 麥超俊 Bobby Mak 架構技術推廣經理開發工具暨平台推廣處台灣微軟股份有限公司.
Distributed Objects and Middleware. Sockets and Ports Source: G. Coulouris et al., Distributed Systems: Concepts and Design.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Presented By:- Sudipta Dhara Roll Table of Content Table of Content 1.Introduction 2.How it evolved 3.Need of Middleware 4.Middleware Basic 5.Categories.
The World Leader in Making Software Work Together ™ Copyright IONA Technologies 1999 Building CORBA Applications (On OS/390 ?) Dusty Rivers Enterprise.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
IT 620 Enterprise Systems Integration January 31, 2002.
An Introduction to Web Services Web Services using Java / Session 1 / 2 of 21 Objectives Discuss distributed computing Explain web services and their.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
25 April Unified Cryptologic Architecture: A Framework for a Service Based Architecture Unified Cryptologic Architecture: A Framework for a Service.
Enterprise Computing Distribution and components.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 15 System Architecture III.
CORBA Antonio Vasquez, John Shelton, Nidia, Ruben.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
Internet and Distributed Application Services
Common Object Request Broker Architecture (CORBA)
Common object request broker
Chapter 9 – RPCs, Messaging & EAI
Systems Analysis and Design With UML 2
CORBA Within the OS & Its Implementation
#01 Client/Server Computing
Ch > 28.4.
Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.
Inventory of Distributed Computing Concepts
Component--based development
Service Oriented Architecture (SOA)
Chapter 17: Client/Server Computing
COM, DCOM and Software Components
What is Middleware? Application Application Middleware Middleware
Introduction to SOA and Web Services
#01 Client/Server Computing
Presentation transcript:

Quality Assurance for Component-Based Software Development Presented by: Cai Xia Supervised by: Prof. Michael Lyu 11 April, 2000

Presentation Outline  Introduction  Current component technologies  Case study  Quality Assurance for component-based software systems  Conclusion

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

What is Component-Based Software Development ? Component n Software systems Component repository ... select assemble Commercial Off-the-shelf (COTS) components

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.

System Architecture  Layered  Modular Application Layer Special business components Common components Basic components Application2 Application1 Application3 Application Layer

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

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

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

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

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

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

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

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

SanFrancisco Infrastructure

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

QA for Object-Oriented Systems Key concepts in OO Design  Object  Class  Polymorphism  Inheritance

Object-Oriented Design Method Design Object Design Object Definition Attributes of Objects Communication Among Objects

Metrics for OO Software Aim at:  Complexity  Understandability  Maintainability  Reusability  Testability

Testability Factors in OO Systems

Example Metrics for OO Software

QA for Component-Based Software  How to qualify a component?  How to qualify a component-based software system?

Life Cycle of A Component

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

Open Problems About QA for CBSD  identification of the QA characteristics  well-defined Standards  models  metrics  testing tools

Q & A Section