15
Hybrid approach to component based Engineering Introduction. Component based development (CBD). Pros and Cons of Component based Development. Using hybrid approach.

CSC 532 Term Paper Presentation Hybrid approach to component based Engineering Introduction. Component based development (CBD). Pros and Cons of

Embed Size (px)

Citation preview

Page 1: CSC 532 Term Paper Presentation Hybrid approach to component based Engineering  Introduction.  Component based development (CBD).  Pros and Cons of

Hybrid approach to component based

Engineering

Introduction.Component based development (CBD).Pros and Cons of Component based Development.Using hybrid approach.

Page 2: CSC 532 Term Paper Presentation Hybrid approach to component based Engineering  Introduction.  Component based development (CBD).  Pros and Cons of

Introduction Component - A software component is a unit of composition with contractually specified interface and explicit context dependencies only. A software component can be deployed independently and is subject to composition by third party's.

Page 3: CSC 532 Term Paper Presentation Hybrid approach to component based Engineering  Introduction.  Component based development (CBD).  Pros and Cons of

Component Based Development and

objectives

Definition: It is the creation and deployment of software-intensive systems assembled from components, as well as the development and harvesting of such components.Objectives: Reuse components, lower development costs, lower maintenance costs and increase productivity.

Page 4: CSC 532 Term Paper Presentation Hybrid approach to component based Engineering  Introduction.  Component based development (CBD).  Pros and Cons of

Differences between CBD and conventional reuse

Characteristics Conventional CBD

Architecture monolithic modular

Components Implementation and white box

Interface and black box

Process Water-fall Evolutional and concurrent

Methodology Build from scratch

Composition

Organization Monolithic Specialized component vendor, broker and integrator

Page 5: CSC 532 Term Paper Presentation Hybrid approach to component based Engineering  Introduction.  Component based development (CBD).  Pros and Cons of

Differences between component and object

Specialization - a component is a specialization of an object. A Component is an object, but an object isn't necessarily a Component.

Scale - Components tend to encapsulate more than one object.

Functional Responsibilities - The container, or environment, within which the Component lives, may place certain responsibilities on it.

Functional Limitations - Again the container may impose restrictions on the functionality of the Component.

Page 6: CSC 532 Term Paper Presentation Hybrid approach to component based Engineering  Introduction.  Component based development (CBD).  Pros and Cons of

Component based development Lifecycle

Analysis

Component –Oriented Design

Component Composition

Integration Test

Component Acquisition

System Test

Fig 1: Lifecycle of component based development

Page 7: CSC 532 Term Paper Presentation Hybrid approach to component based Engineering  Introduction.  Component based development (CBD).  Pros and Cons of

Component development and application development

Component Development

ApplicationDomain

Domain Analysis Modeling

Component design and

implementation

Domain components

ApplicationRequirements

Component based design methodology

Component composition

Application systems

Component / application

development support

Component warehouse and broker

Application requirements (component composition)

Fig 2: component development and application development using components

Page 8: CSC 532 Term Paper Presentation Hybrid approach to component based Engineering  Introduction.  Component based development (CBD).  Pros and Cons of

Components notation in UML

<<interface>> <<subsystem

>>

<<subsystem>>

Canonical Form

Elided Form

Page 9: CSC 532 Term Paper Presentation Hybrid approach to component based Engineering  Introduction.  Component based development (CBD).  Pros and Cons of

Pros of CBD Unit of maintenance and upgrade Parallel development Scalable Infrastructure standardized. Manageable and self contained units. Higher level capabilities. Reduces complexity. Incremental testing. Higher flexibility in meeting various requirements.

Page 10: CSC 532 Term Paper Presentation Hybrid approach to component based Engineering  Introduction.  Component based development (CBD).  Pros and Cons of

Cons of CBD

Requires trusted components. Requires component certification. Composition predictability. Rapidly changing standards. Skilled people are required for developing.

Page 11: CSC 532 Term Paper Presentation Hybrid approach to component based Engineering  Introduction.  Component based development (CBD).  Pros and Cons of

Using hybrid approach

Vertical framework – developing vertical components. Horizontal framework – developing horizontal components.

Page 12: CSC 532 Term Paper Presentation Hybrid approach to component based Engineering  Introduction.  Component based development (CBD).  Pros and Cons of

Vertical framework

services restricted to single domain such as Accounting, Manufacturing or Insurance Policy Management.

Page 13: CSC 532 Term Paper Presentation Hybrid approach to component based Engineering  Introduction.  Component based development (CBD).  Pros and Cons of

Horizontal framework

services across the different verticals. E. g. Network security.

Page 14: CSC 532 Term Paper Presentation Hybrid approach to component based Engineering  Introduction.  Component based development (CBD).  Pros and Cons of

Known Component Models

EJB CORBA COM+

Page 15: CSC 532 Term Paper Presentation Hybrid approach to component based Engineering  Introduction.  Component based development (CBD).  Pros and Cons of

References Ivica Crnkovic, “Component-based software

engineering – New challenges in software development”, http://www.idt.mdh.se/~icc/, last visited 10/22/2003.

Ivica Crnkovic and Magnus Larson, “Component-based software engineering – New Paradigm of software development”, http://www.idt.mdh.se/~icc/, last visited 10/22/2003.

Ivica Crnkovic and Magnus Larson, “Demands on component-based Development”, Proc. 22nd International Conference on software Engineering, ACM Press, 2000