P RESENTATION ON C OMPONENT B ASED S OFTWARE E NGINEERING Presented by: Richard Akono Burak Çamdereli Yousef Al Sharma Volkan Ozdamar Eastern Mediterranean.

Slides:



Advertisements
Similar presentations
Component-Based Software Engineering Main issues: assemble systems out of (reusable) components compatibility of components.
Advertisements

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Component Oriented Programming 1 Chapter 2 Theory of Components.
CS487 Software Engineering Omar Aldawud
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
Metrics for Process and Projects
Component-Based Software Development: Technologies, Quality Assurance Schemes, and Risk Analysis Tools Cai Xia Supervisor: Prof. Michael R. Lyu Markers:
Jordan - Amman Tel: Fax: P.O.Box : 166 Copyright © 2011 Applied Science University. All Rights Reserved ASU Open Course.
COP th Lecture September 26, 2005 COP 4009 Component-Based Software Engineering Fall 2005 Instructor: Masoud Sadjadi
Object-Oriented Analysis and Design
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
SE curriculum in CC2001 made by IEEE and ACM: Overview and Ideas for Our Work Katerina Zdravkova Institute of Informatics
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 19 Slide 1 Component-based software engineering.
Page 1 Building Reliable Component-based Systems Chapter 19 - Industrial Experience with Dassault Système Component Model Chapter 19 Industrial Experience.
- 1 - Component Based Development R&D SDM Theo Schouten.
Testing Components in the Context of a System CMSC 737 Fall 2006 Sharath Srinivas.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
Component-Based Software Engineering (CBSE) Speaker: Jerry Gao Ph.D. San Jose State University URL:
Seminar of “CBSE” Course Mohammad Mahdizadeh SM. University of Science and Technology Mazandaran-Babol January 2010 Adaptation of.
 1. Introduction  2. Development Life-Cycle  3. Current Component Technologies  4. Component Quality Assurance  5. Advantages and Disadvantages.
COMPONENT-BASED SOFTWARE ENGINEERING
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Quality Assurance for Component- Based Software Development Cai Xia (Mphil Term1) Supervisor: Prof. Michael R. Lyu 5 May, 2000.
Component Based Development
L6 - March 1, 2006copyright Thomas Pole , all rights reserved 1 Lecture 6: Software Packaging: Dynamically Integrable Components and Text Ch.
1 ICS 122: Software Specification and Quality Engineering Spring 2002Lecturers: H. Muccini and D. J. Richardson Lecture 13: Summary The three aspects:
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 19 Slide 1 Component-based software engineering 1.
What is a life cycle model?
Software Models (Cont.) 9/22/2015ICS 413 – Software Engineering1 -Component-based software engineering -Formal Development Model.
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
What is a life cycle model? Framework under which a software product is going to be developed. – Defines the phases that the product under development.
Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu.
Introduction To System Analysis and Design
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
Design engineering Vilnius The goal of design engineering is to produce a model that exhibits: firmness – a program should not have bugs that inhibit.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki 1 Machine Learning.
Service Oriented Architecture CCT355H5 Professor Michael Jones Suezan Makkar.
CSC 532 Term Paper Presentation Hybrid approach to component based Engineering  Introduction.  Component based development (CBD).  Pros and Cons of.
Component-Based Software Engineering(CBSE) Xingui Tang CS532, Fall /6/2015.
Component Oriented Programming 1 Introduction to COP.
Chapter 3: Software Project Management Metrics
Frameworks CompSci 230 S Software Construction.
Basic Concepts of Component- Based Software Development (CBSD) Model-Based Programming and Verification.
Design Reuse Earlier we have covered the re-usable Architectural Styles as design patterns for High-Level Design. At mid-level and low-level, design patterns.
SOFTWARE ENGINEERING. Objectives Have a basic understanding of the origins of Software development, in particular the problems faced in the Software Crisis.
CBSE Component Based Software Engineering cs. upt
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 32. Review Behavioral Patterns – Observer Pattern – Chain of command.
 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.
Source Mastering UML with Rational Rose 2002 Information System Engineering Introduction to UML.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Lecture 21: Component-Based Software Engineering
©Ian Sommerville 2006MSc module: Advanced Software Engineering Slide 1 Component-based software engineering.
Component-based Software Engineering CBSE seminar, Oslo, 4 Feb Christian Bunse
Chapter 17 - Component-based software engineering
Chapter 17 - Component-based software engineering
Systems Analysis and Design in a Changing World, 6th Edition
Component Based Software Engineering
Service-centric Software Engineering
Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Component-Based Software Engineering
Component--based development
Service Oriented Architecture (SOA)
CS310 Software Engineering Lecturer Dr.Doaa Sami
Automated Analysis and Code Generation for Domain-Specific Models
Quality Assurance for Component-Based Software Development
Chapter 17 - Component-based software engineering
COMPONENT – BASED SOFTWARE ENGINEERING MODULE 2 – SECOND SEMESTER MKHIZE, BSC HONS COMPUTER SCIENCES, DIP IT, ICDL.
Presentation transcript:

P RESENTATION ON C OMPONENT B ASED S OFTWARE E NGINEERING Presented by: Richard Akono Burak Çamdereli Yousef Al Sharma Volkan Ozdamar Eastern Mediterranean University

O VERVIEW Introduction What is Component Component characteristics Fundamental Principals Terms & Attributes used in Software Component Model Component Based Software Development Life Cycle in CBSD Metric used in CBSD Benefits in CBSD Difficulties in CBSD CBSE vs. Traditional SE Current Component Technologies Applications Conclusion

I NTRODUCTION CBSE embodies the “the ‘buy, don’t build’ philosophy". Because of the extensive uses of components, the Component- Based Software Engineering (CBSE) process is quite different from that of the traditional waterfall approach. It emphasizes on developing new software from pre-built components.

W HAT IS C OMPONENT A component is an independent software unit that can be composed with other components to create a software system. Council and Heineman define a component as: “ A software element that conforms to a component model and can be independently deployed and composed without modification accordingly to a composition standard”

C OMPONENT C HARACTERISTICS Independent: A component should be independent Composable: It means that all external interactions must take place through publicly defined interfaces. Deployable: A component has to be self- contained and must be able to operate as a stand- alone entity

F UNDAMENTAL P RINCIPALS Independent Software Development: Large software systems are necessarily assembled from components developed by different people. To facilitate independent development, it is essential to decouple developers and users of components. Reusability: Some parts of a large system will necessarily be special-purpose software, it is essential to design and assemble pre-existing components in developing new components. Software quality: A component or system needs to be shown to have desired behavior, either through logical reasoning, tracing or testing.

T ERMS & A TTRIBUTES USED IN S OFTWARE C OMPONENT M ODEL Syntax : It refers to the ‘grammar’ or the rules followed in the code as per the specific programming language. Semantics: It refers to the actual meaning and view of the components. A component is associated with a name, an interface and the body that includes the code. Composition: This relates to the construction and working together of components.

C OMPONENT B ASED S OFTWARE D EVELOPMENT Component-based software development(CBSD) approach is based on the idea to develop software systems by selecting appropriate off-the-shelf components and then to assemble them with a well-defined software architecture. The term component-based software development (CBD) can be referred to as the process for building a system using components.

L IFE C YCLE IN C OMPONENT -B ASED D EVELOPMENT Requirements analysis Software architecture selection, construction, analysis, and evaluation Component identification and customization System integration System testing Software maintenance

P HASES OF C OMPONENT DEVELOPMENT System requirements Design the component Develop the component Testing Functional or Black Box Testing, Structural or White Box Testing

M ETRIC USED IN CBSD Software metrics are intended to measure software quality and performance characteristics quantitatively encountered during the planning and execution of software development resource and effort allocation, scheduling and product evaluation. These can serve as measures of software products for the purpose of comparison, cost estimation, fault prediction and forecasting.

M ETRIC USED IN CBSD CONT … Poulin presented a set of metrics used by IBM to estimate the efforts saved by reuse. Reuse Percentage measures how much of the product can be attributed to reuse and is given as:- Product Reuse Percentage = (RSI / (RSI + SSI)) * 100% Where SSI= Shipped Source Instructions RSI= Reused Source Instructions

M ETRIC USED IN CBSD CONT … The second approach is a metric called Component Reusability level (CRL) to measure particular component’s reuse level per application in a CBSD. This metric is again divided into two sub-metrics. First is CRLLOC, which is measured by using lines of code, and is expressed as percentage as given as:- CRL LOC ( C ) = (Reuse ( C ) / Size ( C )) *100%

B ENEFITS IN CBSD Management of Complexity Reduce Development Time Increased Productivity Improved Quality Reliability is increased since the components have previously been tested in various contexts Maintenance costs are reduced. Efficiency and flexibility is improved due to the fact that components can easier be added or replaced

D IFFICULTIES IN CBSD Development of Components Quality of Components is questionable Lack of effective software matrix Component Maintenance Costs Reliability and Sensitivity to changes Unsatisfied Requirements

CBSE VS. T RADITIONAL SE CBSE views the system as a set of off-the-shelf components integrated within an appropriate architecture. SE seeks to create a system from scratch(building something without tools). CBSE does not have any standard development models like UML for SE. CBSE is young, therefore long term maintainability is largely unknown. SE can fulfill requirements more easily. CBSE fulfillment of requirements is based on the available components.

CBSE VS. T RADITIONAL SE- CONT.. CBSE Life Cycle is shorter. CBSE is less expensive [3] CBSEWaterfall Find Select Requirements Analysis Design Adapt Test Deploy Implementation Test Release ReplaceMaintenance

C URRENT C OMPONENT T ECHNOLOGIES

CORBA: Common Object Request Broker Architecture COM: Component Object Model IDL: Interface Description Language EJB: Enterprise JavaBeans (Java APIs)

A PPLICATIONS This emerging component development approach is being widely used in various distinct domains.

C ONCLUSION CBSD is an inevitable next wave solution that has potential to improve time-to-market and man power/cost trends that have been ongoing. CBSD is best implemented using more modern software technologies like: COM JAVA EJB CORBA ActiveX

T HANK Y OU