Component Based Software Engineering Master of Software Engineering + Master of Information Technology 2010/2011 Conf.dr.ing. Ioana ora

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 1 Service-centric Software Engineering.
Advertisements

Component-Based Software Engineering Main issues: assemble systems out of (reusable) components compatibility of components.
Components Alexey Golubev, What is a component? What is a component? The father of components? The father of components? Components and their.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 1 Service-centric Software Engineering 1.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
CS3773 Software Engineering Lecture 01 Introduction.
Jordan - Amman Tel: Fax: P.O.Box : 166 Copyright © 2011 Applied Science University. All Rights Reserved ASU Open Course.
Page 1 Building Reliable Component-based Systems Chapter 7 - Role-Based Component Engineering Chapter 7 Role-Based Component Engineering.
Software Engineering 6/e, Chapter 8
7M701 1 Software Engineering Object-oriented Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 12 )
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Review 2.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 19 Slide 1 Component-based software engineering.
Software Evolution Managing the processes of software system change
CS 425/625 Software Engineering System Models
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development.
CS565 Advanced Software Development (1 unit) Lecturer: Adrian O’Riordan Contact: is Office: prefab, behind.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
Component-Based Software Engineering Dr R Bahsoon 1 Lecture 1. Introduction Component-Based Software Dr. Rami Bahsoon School of Computer Science The University.
Page 1, August 14, 2015 Advanced CBSE Advanced Component-Based Software Engineering - Course Organization Ivica Crnkovic Mälardalen University Software.
Chapter 1 The Systems Development Environment
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements l.
1 Object Oriented Programming Computer Systems Engineering (D2) and Programming (P)
Introduction To System Analysis and design
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 1 Service-centric Software Engineering 2.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 18 Slide 1 Software Reuse.
Software Engineering Muhammad Fahad Khan
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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 19 Slide 1 Component-based software engineering 2.
L6 - March 1, 2006copyright Thomas Pole , all rights reserved 1 Lecture 6: Software Packaging: Dynamically Integrable Components and Text Ch.
1 8/29/05CS360 Windows Programming Professor Shereen Khoja.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 19 Slide 1 Component-based software engineering 1.
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
Unified Modeling Language, Version 2.0
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements.
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
CBSE 2014 Modeling Components with UML. Bibliography Modelling components in UML – Main text: Kim Hamilton, Russell Miles, Learning UML 2.0, OReilly,
CSC 532 Term Paper Presentation Hybrid approach to component based Engineering  Introduction.  Component based development (CBD).  Pros and Cons of.
1 Construction Chapter Key Concepts Be familiar with the system construction process. Understand different types of tests and when to use Understand.
Component Oriented Programming 1 Introduction to COP.
1/26 On-demand Learning Series Software Engineering of Web Application - Object-Oriented Development & UML Hunan University, Software School.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 1 Chapter 14 Design with Reuse.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 13. Review Shared Data Software Architectures – Black board Style architecture.
Midterm Study Guide COP 4331 and EEL4884 OO Processes for Software Development © Dr. David A. Workman School of EE and Computer Science University of Central.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
1 Software Design Lecture What’s Design It’s a representation of something that is to be built. i.e. design  implementation.
CBSE Component Based Software Engineering cs. upt
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
25 April Unified Cryptologic Architecture: A Framework for a Service Based Architecture Unified Cryptologic Architecture: A Framework for a Service.
©Ian Sommerville 2000, Tom Dietterich 2001 Slide 1 System prototyping l Prototyping is the rapid development of a system l In the past, the developed system.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Introduction to Service Orientation MIS 181.9: Service Oriented Architecture 2 nd Semester,
Final Exam Study Guide COP 4331 and EEL4884 OO Processes for Software Development © Dr. David A. Workman School of EE and Computer Science University of.
Component Based Software Engineering Master of Software Engineering + Master of Information Technology 2010/2011 Conf.dr.ing. Ioana ora
OOP What is problem? Solution? OOP
Chapter 10 Thinking in Objects
Component Based Software Engineering
Service-centric Software Engineering
CBSE 2014 Modeling Components with UML
Component-Based Software Engineering
Component--based development
Software Design Lecture : 14.
CS310 Software Engineering Lecturer Dr.Doaa Sami
Introduction to SOA and Web Services
Presentation transcript:

Component Based Software Engineering Master of Software Engineering + Master of Information Technology 2010/2011 Conf.dr.ing. Ioana ora

Introduction What is this course about ? –A journey in searching for the “holy grail” of software “integrated circuits”

Introduction What is this course about ? –A journey in searching for the “holy grail” of software “integrated circuits”

Advantage 1: Software construction Application Software construction vs. creation: application is developed as an assembly of “integrated circuits”

Advantage 2: Reuse C1 Application 1 Application 2 Software “integrated circuits” are reusable entities It pays off to have as many applications that reuse an entity

Advantage 3: Maintenance & Evolution C1 Application C1new update Maintenance and upgrading can be done by replacing parts, maybe even at runtime

What are the “Entities” to compose ? Functions Modules Objects Components Services … : Douglas McIlroy: “Mass Produced Software Components” 1998: Clemens Szyperski: “Component Software – Beyond Object Oriented Programming”

Introductory Reading Mahesh Dodani: “From Objects to Services: A Journey in Search of Component Reuse Nirvana”, in Journal of Object Technology, Roger Sessions: “Fuzzy Boundaries – Objects, Components and Web Services”, in ACM Queue Magazine, Doug McIlroy, Mass Produced Software Components,

Principles for reuse by composition Key requirements for Black-Box reuse: – Abstraction: an “Entity” is known by its “interface” – Encapsulation: the “insides” of an “Entity” are not exposed to the outside

Commonalities of Reusable Entities All are blobs of code that can do something All have interfaces that describe what they can do. All live in a process somewhere. All live to do the bidding of a client. All support the concept of a client making requests by “invoking a method.” From [ACM Queue]

Reusable Entities by Location and Environment From [ACM Queue] Environment: the hosting runtime environment for the Entity and the Client (Examples: Microsoft.NET, WebSphere EJB)

From [ACM Queue]

Fuzzy Boundaries: Objects, Components, Services Example: plain Java Class From [ACM Queue]

Fuzzy Boundaries: Objects, Components, Services Modern frameworks, compilers and IDE’s make it very easy to: Transform Dog Class into a Distributed Component or Transform Dog Class into a Web Service Problem: this power of transformation creates fuzzy boundaries between concepts From [ACM Queue]

Objects-Components-Services Entities for Reuse and Composition Abstraction Encapsulation ObjectsComponentsServices Location: same process Inheritance Polymorphism Location: different processes, same environment Usually some runtime infrastructure needed No state No shared variables Location: different environments More emphasis on interface/contract/service agreement Mechanisms for dynamic discovery Dynamically composable

Reusable Entities made more usable and more composable Issues: Interface description – what should contain a complete description ? Composition – how are components glued together ? (do I have to write much glue code ?) Discovery – where and how to find the component/service you need ? Dynamic aspects – when to do discovery/selection/composition Less stress on binary implementation – crossing platform/model boundaries

Course Outline Reuse The broad reuse landscape Components Basic concepts in CBSE Modelling components with UML 2.0 Component Models and Technology Short overview of industry standards Architectural components Case study: the Fractal component model Component contracts Component specification techniques Component integration vs Predictable composition Services Key concepts in service oriented computing Web Services as an example in SOC Service composition

Bibliography No single textbook ! Specific chapters from various books – Ian Sommerville, Software Engineering, 8 th edition, chapters 18,19,31 – Ivica Crnkovic, Magnus Larsson. Building reliable component based software systems, Artech House, chapters 1,2,4,9 Articles and technical reports – Active research field: The ACM CBSE conferences series: Important: the course webpage: – Slides – Bibliographic pointers per each topic – Lab assignements – Announcements