Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.

Slides:



Advertisements
Similar presentations
P SATel Institute for Information Processing University of Pisa SantAnna school Pisa Today trends in Software Engineering 1. Distributed Objects 2. Component.
Advertisements

Overview of Web Services
COM vs. CORBA.
Microsoft COM Component Object Model Microsoft Corporation ™
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
Component-Based Software Development: Technologies, Quality Assurance Schemes, and Risk Analysis Tools Cai Xia Supervisor: Prof. Michael R. Lyu Markers:
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 3 – Building.
Object Oriented Paradigm An evolutionary path. Programming At Its Infancy A program is a single block of procedural code Disadvantages: Reusability is.
CIM2564 Introduction to Development Frameworks 1 Overview of a Development Framework Topic 1.
Technical Architectures
Chapter 17: Client/Server Computing Business Data Communications, 4e.
Distributed Systems Architectures
Distributed Object Computing Weilie Yi Dec 4, 2001.
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.
Java Server Team 8. Overview What is a Java Server? History Architecture Advantages Disadvantages Current Technologies Conclusion.
 1. Introduction  2. Development Life-Cycle  3. Current Component Technologies  4. Component Quality Assurance  5. Advantages and Disadvantages.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
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.
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
1 G52IWS: Distributed Computing Chris Greenhalgh.
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.
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
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.
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:
Chapter 17: Client/Server Computing Business Data Communications, 4e.
WebService. Outline Overview of Web Services SOAP (messaging) WSDL (service description) UDDI (registry)
CSC 480 Software Engineering Lecture 18 Nov 6, 2002.
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.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
An Introduction to Web Services Web Services using Java / Session 1 / 2 of 21 Objectives Discuss distributed computing Explain web services and their.
 Many models have been proposed to deal with the problems of defining activities and associating them with each other  The first model proposed was the.
CORBA AND SOAP Unmesh Kulkarni i2 Group Ashish V. Tendulkar Directory Database integration group ( Persistent Systems Pvt. Ltd.
L6 - March 1, 2006copyright Thomas Pole , all rights reserved 1 Lecture 7: Dynamically Integrable Autonomously Executable Components and Text.
Lecture 21: Component-Based Software Engineering
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
A service Oriented Architecture & Web Service Technology.
CORBA Antonio Vasquez, John Shelton, Nidia, Ruben.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
Survey 2: RT-CORBA Group A3 Ka Hou Wong Jahanzeb Faizan Jonathan Sippel.
Internet and Distributed Application Services
J2EE Platform Overview (Application Architecture)
CORBA: An Overview Mojtaba Hosseini.
Common Object Request Broker Architecture (CORBA)
Common object request broker
CORBA Within the OS & Its Implementation
#01 Client/Server Computing
Overview of Web Services
Component Based Software Engineering
Inventory of Distributed Computing Concepts and Web services
Ch 15 –part 3 -design evaluation
Inventory of Distributed Computing Concepts
Component--based development
Service Oriented Architecture (SOA)
Chapter 17: Client/Server Computing
Web services introduction, application and its future
Quality Assurance for Component-Based Software Development
Copyright 1999 B.Ramamurthy
#01 Client/Server Computing
CORBA and COM TIP Two practical techniques for object composition
Presentation transcript:

Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko APSEC 2000, Singapore

Presentation Outline  Introduction  Current Component Technologies  Quality Assurance Issues for Component-Based Software Development (CBSD)  A QA model for CBSD  Conclusion

Introduction  Software systems become more and more large-scale, complex and uneasily controlled  One of 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? Software systems can be developed by selecting appropriate off-the-shelf components and then assembling them with a well-defined software architecture. Component 1 Component 2 Component n ... Software systems Component repository select assemble Commercial Off-the-shelf (COTS) components

Advantages of CBSD Reduce • Development cost • Time-to-market Improve • Maintainability • Reliability • Overall quality of software systems

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 App2 App3 Special business components Common components Basic components App2 App1 App3 Application Layer Components Layer

Current Component Technologies  Common Object Request Broker Architecture (CORBA) from Object Management Group (OMG)  Component Object Model (COM) and Distributed COM (DCOM) from Microsoft  JavaBeans and Enterprise JavaBeans (EJB) from Sun Microsystems

CORBA  CORBA is an open standard for application interoperability  Allows applications/components to communicate with one another despite of different locations and designers.  The interface is the only way that applications/ components communicate with each other.  Object Request Broker (ORB) is the middleware that establishes the client-server relationships between components.  CORBA is widely used in OO distributed systems including component-based software systems

COM/DCOM  COM is a general architecture for component software Defines how components and their clients interact directly and dynamically  DCOM is a protocol that enables software components to communicate directly over a network  Designed for use across multiple network transports, including Internet protocols such as HTTP

JavaBeans/EJB  JavaBeans for client-side component development, while Enterprise JavaBeans for server-side component development  Offers an efficient solution to the portability, security and reliability of component-based development.  The features are well suited for developing robust server objects independent of OS, Web servers and database management server.

Comparison of Current Component Technologies   CORBA EJB COM/DCOM Development environment Underdeveloped Emerging Supported by a wide range of strong development environments Binary interfacing standard Not binary standards Based on COM; Java specific A binary standard for component interaction is the heart of COM Compatibility & portability Particularly strong in standardizing language bindings; but not so portable Portable by Java language specification; but not very compatible. Not having any concept of source-level standard of standard language binding. Modification & maintenance CORBA IDL for defining component interfaces, need extra modification & maintenance Not involving IDL files, defining interfaces between component and container. Easier modification & maintenance. Microsoft IDL for defining component interfaces, need extra modification & maintenance Services provided A full set of standardized services; lack of implementations Neither standardized nor implemented Recently supplemented by a number of key services Platform dependency Platform independent Platform dependent Language dependency Language independent Language dependent Implementation Strongest for traditional enterprise computing Strongest on general Web clients. Strongest on the traditional desktop applications

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

QA for Component-Based Software Two inseparable parts:  How to certify quality of a component?  How to certify quality of a component-based software system? Metrics for components:  Size  Complexity  Reuse frequency  Reliability

A Quality Assurance Model for CBSD  Component  System

Main Practices  Component requirement analysis  Component development  Component certification  Component customization  System architecture design  System integration  System testing  System maintenance

Process Overview  Component Requirement Analysis

Process Overview  Component Development

Process Overview  Component Certification

Process Overview  Component Customization

Process Overview  System Architecture Design

Process Overview  System Integration

Process Overview  System Testing

Process Overview  System Maintenance

Conclusion  The life cycle of component-based software development is much different from that of traditional approach.  QA for CBSD should contain two different parts: component and system.  The QA model covers several key processes of component-based software development.