Upload
elijah-copeland
View
215
Download
2
Embed Size (px)
Citation preview
Hybrid approach to component based
Engineering
Introduction.Component based development (CBD).Pros and Cons of Component based Development.Using hybrid approach.
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.
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.
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
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.
Component based development Lifecycle
Analysis
Component –Oriented Design
Component Composition
Integration Test
Component Acquisition
System Test
Fig 1: Lifecycle of component based development
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
Components notation in UML
<<interface>> <<subsystem
>>
<<subsystem>>
Canonical Form
Elided Form
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.
Cons of CBD
Requires trusted components. Requires component certification. Composition predictability. Rapidly changing standards. Skilled people are required for developing.
Using hybrid approach
Vertical framework – developing vertical components. Horizontal framework – developing horizontal components.
Vertical framework
services restricted to single domain such as Accounting, Manufacturing or Insurance Policy Management.
Horizontal framework
services across the different verticals. E. g. Network security.
Known Component Models
EJB CORBA COM+
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