Component-Based Software Engineering
description
Transcript of Component-Based Software Engineering
![Page 1: Component-Based Software Engineering](https://reader035.fdocuments.in/reader035/viewer/2022062409/56814f37550346895dbcd56d/html5/thumbnails/1.jpg)
![Page 2: Component-Based Software Engineering](https://reader035.fdocuments.in/reader035/viewer/2022062409/56814f37550346895dbcd56d/html5/thumbnails/2.jpg)
1. Introduction 2. Development Life-Cycle 3. Current Component Technologies 4. Component Quality Assurance 5. Advantages and Disadvantages
![Page 3: Component-Based Software Engineering](https://reader035.fdocuments.in/reader035/viewer/2022062409/56814f37550346895dbcd56d/html5/thumbnails/3.jpg)
What is component based software engineering (CBSE)?› Components› Component Model› Component Framework
![Page 4: Component-Based Software Engineering](https://reader035.fdocuments.in/reader035/viewer/2022062409/56814f37550346895dbcd56d/html5/thumbnails/4.jpg)
![Page 5: Component-Based Software Engineering](https://reader035.fdocuments.in/reader035/viewer/2022062409/56814f37550346895dbcd56d/html5/thumbnails/5.jpg)
An abstract implementation of functionality that conforms to a component model.
Small systems for small pieces of functionality.
Designed by third party developers.
![Page 6: Component-Based Software Engineering](https://reader035.fdocuments.in/reader035/viewer/2022062409/56814f37550346895dbcd56d/html5/thumbnails/6.jpg)
Specify rules that must be obeyed by the components
Standardized Assumptions› Control Flow› Synchronization
Needed to remove sources of interface mismatches.
![Page 7: Component-Based Software Engineering](https://reader035.fdocuments.in/reader035/viewer/2022062409/56814f37550346895dbcd56d/html5/thumbnails/7.jpg)
Software services to support and enforce a component model.
Usually designed by the developer using the component model.
Can be viewed as a mini operating system
![Page 8: Component-Based Software Engineering](https://reader035.fdocuments.in/reader035/viewer/2022062409/56814f37550346895dbcd56d/html5/thumbnails/8.jpg)
![Page 9: Component-Based Software Engineering](https://reader035.fdocuments.in/reader035/viewer/2022062409/56814f37550346895dbcd56d/html5/thumbnails/9.jpg)
![Page 10: Component-Based Software Engineering](https://reader035.fdocuments.in/reader035/viewer/2022062409/56814f37550346895dbcd56d/html5/thumbnails/10.jpg)
1. Requirements Analysis 2. Software Architecture Selection 3. Component Identification and
Customization 4. System Integration 5. System Testing 6. Software Maintenance
![Page 11: Component-Based Software Engineering](https://reader035.fdocuments.in/reader035/viewer/2022062409/56814f37550346895dbcd56d/html5/thumbnails/11.jpg)
Determine what functionality is required by client.
Look at requirements with possible components in mind.
![Page 12: Component-Based Software Engineering](https://reader035.fdocuments.in/reader035/viewer/2022062409/56814f37550346895dbcd56d/html5/thumbnails/12.jpg)
Choosing a component model to be used in your solution.
Determines what components will be available to you.
Different software architectures can be more appropriate than others based on the application.
![Page 13: Component-Based Software Engineering](https://reader035.fdocuments.in/reader035/viewer/2022062409/56814f37550346895dbcd56d/html5/thumbnails/13.jpg)
Most important phase of CBSE Two main parts of this phase
› 1. Evaluation of each component canidate› 2. Customization of the chosen
components Need to look at included functionality
and customization options of each component.
![Page 14: Component-Based Software Engineering](https://reader035.fdocuments.in/reader035/viewer/2022062409/56814f37550346895dbcd56d/html5/thumbnails/14.jpg)
Bring all the chosen components together
Components are built on top of chosen architecture framework.
Other Tasks› Testing› Change and Reintegration
![Page 15: Component-Based Software Engineering](https://reader035.fdocuments.in/reader035/viewer/2022062409/56814f37550346895dbcd56d/html5/thumbnails/15.jpg)
Tests are needed for each individual component
Tests for the system framework Testing of the components is limited Less testing required for software
components
![Page 16: Component-Based Software Engineering](https://reader035.fdocuments.in/reader035/viewer/2022062409/56814f37550346895dbcd56d/html5/thumbnails/16.jpg)
Correcting faults, improving system performance, and adapting the system.
Most controllable maintenance is done on the component architecture/framework
Maintenance of components handled primarily by developer of the component.
![Page 17: Component-Based Software Engineering](https://reader035.fdocuments.in/reader035/viewer/2022062409/56814f37550346895dbcd56d/html5/thumbnails/17.jpg)
Visual Basic Controls (VBX) ActiveX controls Class Libraries JavaBeans CORBA COM
![Page 18: Component-Based Software Engineering](https://reader035.fdocuments.in/reader035/viewer/2022062409/56814f37550346895dbcd56d/html5/thumbnails/18.jpg)
Common object request broker architecture
Allows for communication between applications developed separately.
A server object call ORB controls things.
ORB locates the objects that clients call to use.
![Page 19: Component-Based Software Engineering](https://reader035.fdocuments.in/reader035/viewer/2022062409/56814f37550346895dbcd56d/html5/thumbnails/19.jpg)
Model consists of two parts› The clients side component development› Server side component development
Uses portable Java bytecodes and java applets trust security.
Offers a portable, secure, and reliable environment for developing robust components.
![Page 20: Component-Based Software Engineering](https://reader035.fdocuments.in/reader035/viewer/2022062409/56814f37550346895dbcd56d/html5/thumbnails/20.jpg)
Component object model Defines how clients and components
will interact Provides a binary standard that
components and clients must follow. Extension of COM known as DCOM or
distributed COM.
![Page 21: Component-Based Software Engineering](https://reader035.fdocuments.in/reader035/viewer/2022062409/56814f37550346895dbcd56d/html5/thumbnails/21.jpg)
![Page 22: Component-Based Software Engineering](https://reader035.fdocuments.in/reader035/viewer/2022062409/56814f37550346895dbcd56d/html5/thumbnails/22.jpg)
Quality Characteristics of Components› Size› Complexity› Reuse Frequency› Reliability
![Page 23: Component-Based Software Engineering](https://reader035.fdocuments.in/reader035/viewer/2022062409/56814f37550346895dbcd56d/html5/thumbnails/23.jpg)
Components cannot be too large
Large components are costly and may not be cost effective until used multiple times.
![Page 24: Component-Based Software Engineering](https://reader035.fdocuments.in/reader035/viewer/2022062409/56814f37550346895dbcd56d/html5/thumbnails/24.jpg)
Makes the components difficult to use.
Overly simple components may not be beneficial for reuse.
Quality is more difficult to ensure with a complex system.
![Page 25: Component-Based Software Engineering](https://reader035.fdocuments.in/reader035/viewer/2022062409/56814f37550346895dbcd56d/html5/thumbnails/25.jpg)
The number of times that a component is used is a very valuable indicator of how useful a component is.
Offer financial saving, which can allow resources to be used elsewhere to improve quality.
![Page 26: Component-Based Software Engineering](https://reader035.fdocuments.in/reader035/viewer/2022062409/56814f37550346895dbcd56d/html5/thumbnails/26.jpg)
Probability of failure free operations.
Failing components can be easily replaced.
![Page 27: Component-Based Software Engineering](https://reader035.fdocuments.in/reader035/viewer/2022062409/56814f37550346895dbcd56d/html5/thumbnails/27.jpg)
How to certify quality of a component?
How to certify quality of software systems based on components?
![Page 28: Component-Based Software Engineering](https://reader035.fdocuments.in/reader035/viewer/2022062409/56814f37550346895dbcd56d/html5/thumbnails/28.jpg)
Independent extensions Component Market Component models lessen
unanticipated interactions between components
Reduced time to market Reduced Costs
![Page 29: Component-Based Software Engineering](https://reader035.fdocuments.in/reader035/viewer/2022062409/56814f37550346895dbcd56d/html5/thumbnails/29.jpg)
Time to develop software components takes a big effort.
Components can be pricey. Requirements in component
technologies lacking Conflict between usability and
reusability of components. Maintenance cost for components
increased.
![Page 30: Component-Based Software Engineering](https://reader035.fdocuments.in/reader035/viewer/2022062409/56814f37550346895dbcd56d/html5/thumbnails/30.jpg)
Component-Based Development Components Look at the quality of the components Independent Extensions Reduced Time-to-Market Conflict between reusability and
usability
![Page 31: Component-Based Software Engineering](https://reader035.fdocuments.in/reader035/viewer/2022062409/56814f37550346895dbcd56d/html5/thumbnails/31.jpg)