Component-based Software Engineering CBSE seminar, Oslo, 4 Feb. 2005 Christian Bunse

Slides:



Advertisements
Similar presentations
1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Component-Based Software Engineering.
Advertisements

Chapter 17 Component-based software engineering
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 1 Service-centric Software Engineering 1.
Chapter 2 – Software Processes Lecture 1 1Chapter 2 Software Processes.
Software Processes Coherent sets of activities for specifying, designing, implementing and testing software systems.
Figures – Chapter 17. Figure 17.1 Component characteristics Component characteristic Description StandardizedComponent standardization means that a component.
Jordan - Amman Tel: Fax: P.O.Box : 166 Copyright © 2011 Applied Science University. All Rights Reserved ASU Open Course.
Basic Concepts in Component-Based Software Engineering
COP th Lecture September 26, 2005 COP 4009 Component-Based Software Engineering Fall 2005 Instructor: Masoud Sadjadi
Page 1 Building Reliable Component-based Systems Chapter 16 - Component based embedded systems Chapter 16 Component based embedded systems.
Software Reuse Building software from reusable components Objectives
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 19 Slide 1 Component-based software engineering.
- 1 - Component Based Development R&D SDM Theo Schouten.
WEL COME PRAVEEN M JIGAJINNI PGT (Computer Science) MCA, MSc[IT], MTech[IT],MPhil (Comp.Sci), PGDCA, ADCA, Dc. Sc. & Engg.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2006Critical Systems Slide 1 Critical Systems Engineering l Processes and techniques for developing critical systems.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Software Process Activities. Process activities Real software processes are inter-leaved sequences of technical, collaborative and managerial activities.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
COMPONENT-BASED SOFTWARE ENGINEERING
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management 1.
Software Reuse Prof. Ian Sommerville
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 1 Design with Reuse l Building software from reusable components.
Jordan - Amman Tel: Fax: P.O.Box : 166 Copyright © 2011 Applied Science University. All Rights Reserved ASU Open Course.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 19 Slide 1 Component-based software engineering 2.
Component Based Development
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 19 Slide 1 Component-based software engineering 1.
Topic 6 Component-based software engineering
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
An Introduction to Software Architecture
Software Models (Cont.) 9/22/2015ICS 413 – Software Engineering1 -Component-based software engineering -Formal Development Model.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 3 Slide 1 Software Processes l Coherent sets of activities for specifying, designing,
1 COSC 4406 Software Engineering COSC 4406 Software Engineering Haibin Zhu, Ph.D. Dept. of Computer Science and mathematics, Nipissing University, 100.
By Xiangzhe Li Thanh Nguyen.  Introduction  Terminology  Architecture  Component  Connector  Configuration  Architectural Style  Architectural.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Lecture 21 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.
Chapter 17 Component-based software engineering 1Chapter 17 Software reuse CS 425 November 20, 2014 Ian Sommerville, Software Engineering, 9 th Edition.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 19 Slide 1 Component-based software engineering.
SWE 316: Software Design and Architecture Objectives Lecture # 18 Introduction to Components SWE 316: Software Design and Architecture To learn:  benefits.
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.
©Ian Sommerville 2000 Software Engineering. Chapter 18Slide 1 Chapters 18/19 Software Reuse / CBSE.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 1 Chapter 14 Design with Reuse.
CBSE Component Based Software Engineering cs. upt
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 32. Review Behavioral Patterns – Observer Pattern – Chain of command.
Chapter 16 - Component-based software engineering Chapter 16 Component-based software engineering119/11/2014.
1 CBSE Process: issues and Challenges From CBSE Landscape document chapter From.
Chapter 16 Component-based software engineering 1 CS 425 November 19, 2015 Ian Sommerville, Software Engineering, 10 th Edition Pearson Education, Addison-Wesley.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2006MSc module: Advanced Software Engineering Slide 1 Component-based software engineering.
Software Engineering, 8th edition. Chapter 4 1 Courtesy: ©Ian Sommerville 2006 FEB 13 th, 2009 Lecture # 5 Software Processes.
Component-based software engineering (Sommervile chapter 17) 1Chapter 17 Software reuse.
Chapter 17 - Component-based software engineering
Chapter 17 - Component-based software engineering
Component Based Software Engineering
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Component-based Software Engineering
Component-Based Software Engineering
Component--based development
ISpec: A Compositional Approach to Interface Specification
Chapter 17 - Component-based software engineering
COMPONENT – BASED SOFTWARE ENGINEERING MODULE 2 – SECOND SEMESTER MKHIZE, BSC HONS COMPUTER SCIENCES, DIP IT, ICDL.
Presentation transcript:

Component-based Software Engineering CBSE seminar, Oslo, 4 Feb Christian Bunse Phone: +49 (0) Fax: +49 (0) based on a presentation by Ian Sommerville

Page 2/X CBSE seminar, Oslo Copyright © Fraunhofer IESE 2005 Component-based Software Engineering Objectives To show that Component-based Software Engineering (CBSE) is concerned with composing systems with standardized components To give a short glimpse on components To show the principal activities in the CBSE process

Page 3/X CBSE seminar, Oslo Copyright © Fraunhofer IESE 2005 Component-based Software Engineering Component-based development Component-based software engineering (CBSE) is an approach to software development that relies on software reuse. CBSE emerged from the failure of object- oriented development to support effective reuse. Single object classes are too detailed and specific. Components are more abstract than objects and classes. Thus, they can be considered to be stand-alone service providers. CBSE requires knowledge, careful planning, and methodological support.

Page 4/X CBSE seminar, Oslo Copyright © Fraunhofer IESE 2005 Component-based Software Engineering Component definitions Szyperski: -A software component is a unit of composition with contractually specified interfaces and explicit context dependencies only. A software component can be deployed independently and is subject to composition by third-parties. Councill and Heinmann: -A software component is a software element that conforms to a component model and can be independently deployed and composed without modification according to a composition standard.

Page 5/X CBSE seminar, Oslo Copyright © Fraunhofer IESE 2005 Component-based Software Engineering Component Characteristics Standardised – Following a standard component model Independent – Usable without Adapators Composable – External interactions use public interface Deployable – Stand-alone entity Documented – Full Documentation

Page 6/X CBSE seminar, Oslo Copyright © Fraunhofer IESE 2005 Component-based Software Engineering CBSE and design principles Apart from the reuse, CBSE is based on sound software engineering principles: -Components are independent → do not interfere with each other; -Component implementations are hidden; -Communication is through well-defined interfaces; -Component platforms are shared and reduce development costs. -Component interfaces and application are „standardized“ to ease application

Page 7/X CBSE seminar, Oslo Copyright © Fraunhofer IESE 2005 Component-based Software Engineering CBSE problems Component trustworthiness - how can a component with no available source code be trusted? Component certification - who will certify the quality of components? Property prediction - how can the emergent properties of component compositions be predicted? Component Dependability – how do we handle components which depend on other components or systems to work properly Requirements trade-offs - how do we do trade-off analysis between the features of one component and another?

Page 8/X CBSE seminar, Oslo Copyright © Fraunhofer IESE 2005 Component-based Software Engineering The CBSE process When reusing components, it is essential to make trade-offs between ideal requirements and the services actually provided by available components. This involves: -Developing outline requirements; -Searching for components then modifying requirements according to available functionality. -Searching again to find if there are better components that meet the revised requirements.

Page 9/X CBSE seminar, Oslo Copyright © Fraunhofer IESE 2005 Component-based Software Engineering The CBSE process From a presentation by Ian Sommerville

Page 10/X CBSE seminar, Oslo Copyright © Fraunhofer IESE 2005 Component-based Software Engineering Key points A component is a software unit whose functionality and dependencies are completely defined by its interfaces. A component model defines a set of standards that component providers and composers should follow. CBSE is a reuse-based approach to define and implement loosely coupled components into systems. During the CBSE process, the processes of requirements engineering and system design are interleaved. Truly applying CBSE is not easy. One has to think about potential risks and carefully to plan ahead