Component-Based Software Engineering - PowerPoint PPT Presentation

Loading...

PPT – Component-Based Software Engineering PowerPoint presentation | free to view - id: 704c89-MDllZ



Loading


The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
About This Presentation
Title:

Component-Based Software Engineering

Description:

Title: Component-Based Software Engineering Author: Student Last modified by: Aaron Created Date: 3/29/2010 11:20:25 PM Document presentation format – PowerPoint PPT presentation

Number of Views:80
Avg rating:3.0/5.0
Slides: 32
Provided by: Stude2233
Category:

less

Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: Component-Based Software Engineering


1
Component-Based Software Engineering
  • Aaron J Miller
  • Software Engineering
  • UW-Platteville
  • milleraar_at_uwplatt.edu

2
Overview
  • 1. Introduction
  • 2. Development Life-Cycle
  • 3. Current Component Technologies
  • 4. Component Quality Assurance
  • 5. Advantages and Disadvantages

3
Introduction
  • What is component based software engineering
    (CBSE)?
  • Components
  • Component Model
  • Component Framework

4
Component Development Diagram
5
What is a Component?
  • An abstract implementation of functionality that
    conforms to a component model.
  • Small systems for small pieces of functionality.
  • Designed by third party developers.

6
Component Model
  • Specify rules that must be obeyed by the
    components
  • Standardized Assumptions
  • Control Flow
  • Synchronization
  • Needed to remove sources of interface mismatches.

7
Component Framework
  • 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

8
Lego Example
9
Developing a Component
10
Life-Cycle of CBSE
  • 1. Requirements Analysis
  • 2. Software Architecture Selection
  • 3. Component Identification and Customization
  • 4. System Integration
  • 5. System Testing
  • 6. Software Maintenance

11
Requirements Analysis
  • Determine what functionality is required by
    client.
  • Look at requirements with possible components in
    mind.

12
Architecture Selection
  • 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.

13
Component Identification
  • 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.

14
System Integration
  • Bring all the chosen components together
  • Components are built on top of chosen
    architecture framework.
  • Other Tasks
  • Testing
  • Change and Reintegration

15
System Testing
  • Tests are needed for each individual component
  • Tests for the system framework
  • Testing of the components is limited
  • Less testing required for software components

16
Software Maintenance
  • 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.

17
Current Component Technologies
  • Visual Basic Controls (VBX)
  • ActiveX controls
  • Class Libraries
  • JavaBeans
  • CORBA
  • COM

18
CORBA
  • 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.

19
JavaBeans
  • 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.

20
COM
  • 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.

21
Technologies Comparison
22
Quality Assurance
  • Quality Characteristics of Components
  • Size
  • Complexity
  • Reuse Frequency
  • Reliability

23
QA Characteristic Size
  • Components cannot be too large
  • Large components are costly and may not be cost
    effective until used multiple times.

24
QA Characteristic Complexity
  • 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.

25
QA Characteristic Reuse Frequency
  • 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.

26
QA Characteristic Reliability
  • Probability of failure free operations.
  • Failing components can be easily replaced.

27
Other QA Questions
  • How to certify quality of a component?
  • How to certify quality of software systems based
    on components?

28
Advantages of CBSE
  • Independent extensions
  • Component Market
  • Component models lessen unanticipated
    interactions between components
  • Reduced time to market
  • Reduced Costs

29
Disadvantages of CBSE
  • 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.

30
Review
  • Component-Based Development
  • Components
  • Look at the quality of the components
  • Independent Extensions
  • Reduced Time-to-Market
  • Conflict between reusability and usability

31
Questions???
About PowerShow.com