CBSE process: Issues and challenges - PowerPoint PPT Presentation

1 / 32
About This Presentation
Title:

CBSE process: Issues and challenges

Description:

CBSE process: Issues and challenges. Presented by. Asha Chitrapur. Topic Overview ... The challenges of software engineering - how can component software help? ... – PowerPoint PPT presentation

Number of Views:158
Avg rating:3.0/5.0
Slides: 33
Provided by: ashachi
Category:

less

Transcript and Presenter's Notes

Title: CBSE process: Issues and challenges


1
CBSE process Issues and challenges
  • Presented by
  • Asha Chitrapur

2
Topic Overview
  • The challenges of SW- how can CBD help?
  • What is a software component?
  • Component-based Software Engineering
  • Case study
  • Problems and research issues
  • Conclusion
  • References

3
The challenges of software engineering - how can
component software help?
  • Software engineering problems
  • The software crisis (1968) still exists
  • SW is late
  • SW is buggy
  • SW is expensive
  • How to develop high quality software in an
    efficient an inexpensive way?

NATO conf 1968 SW crisis SW engineering components
4
SW problems and CBD
  • SW is late ,buggy ,expensive
  • because too often applications are
    created instead of constructed, requiring
  • re-invention
  • re-coding
  • re-testing
  • Component-based software engineering
    focuses on reuse of
  • subsystems
  • infrastructure

5
Component Definitions
  • Councill and Heinmann
  • A software component is a software element that
    conforms to a component model and can be
    independently deployed and composed without
    modification according to a composition standard.
  • Szyperski
  • A software component is a unit of composition
    with contractually specified interfaces and
    explicit context dependencies only. A software
    component can be deployed independently and is
    subject to composition by third-parties.

6
(No Transcript)
7
Component-Based Software Engineering
  • Component-based software engineering (CBSE) is an
    approach to software development that relies on
    software reuse
  • Developing new software from pre-built
    components.
  • Attempt to make an association between SE and
    other engineering disciplines.

8
  • This approach is based on the idea to develop
    software systems by selecting appropriate
    off-the-shelf components and then assemble them
    with a well-defined software architecture.
  • CBSE has three major functions
  • Developing software from prefabricated,reusable
    parts.
  • The ability to use those parts in other
    applications.
  • Easily maintaining and customizing those parts to
    produce new functions and features.

9
Component-based software construction (1)
components
Component
1
construction
application
Component
Component
Component
1
2
4
Component
2
Component
Component
3
4
Component
3
10
Component-based software construction (2)
Application 1
Component
Component
1
2
Component
Component
components
3
4
Component
construction
Application 2
1
Component
Component
1
5
Component
Component
3
6
11
Component-based software construction (3)
application
Component
Component
component
1
2
New Component 4
Component
Component
3
4
update
12
CBSE Process model
  • Gather requirement
  • Establish architectural design
  • Examine requirements to determine what subsets
    are amenable to composition
  • Identify components required
  • Hunt for component (in-house or COTS)

13
Component Identification Issues
  • Trust
  • You need to be able to trust the supplier of a
    component
  • At best, an untrusted component may not operate
    as advertised at worst, it can breach your
    security
  • Requirements
  • Different groups of components will satisfy
    different requirements
  • Validation
  • The component specification may not be detailed
    enough to allow comprehensive tests to be
    developed
  • Components may have unwanted functionality how
    can you test this will not interfere with your
    application?

14
Ariane Launcher Failure
  • In 1996, the first test flight of the Ariane 5
    rocket ended in disaster when the launcher went
    out of control 37 seconds after take off
  • The problem was due to a reused component from a
    previous version of the launcher (the Inertial
    Navigation System) that failed because
    assumptions made when that component was
    developed did not hold for Ariane 5
  • The functionality that failed in this component
    was not required in Ariane 5

15
Differences from other processes
  • Team attempts to modify or remove system
    requirements that cannot be implemented with COTS
    or in-house components
  • If requirement cannot be changed or deleted, then
    target component development (CBD)

16
Lifecycle of a Component based System
Requirements Analysis
Software Architecture Analysis Selection and
Evaluation
Component identification and customization
System Integration
System Testing
System Maintenance
17
Case Study
  • Software Engineering Laboratory (SEL), known for
    empirical study of software development practice,
    provides guides to NASA/GSFC projects.
  • SEL developed a process for COTS-based
    development for Flight Dynamics Division
  • 15 COTS projects were studied to evaluate and
    improve the process model

18
Case study Objectives
  • To learn about the actual COTS process used at
    the FDD at NASA
  • To analyze the issues raised by the project
    members
  • To define a new process to address and resolve
    these issues

19
Development process
20
3 Types of COTS-based Systems
  • Defined by Carney
  • Turnkey systems Build around a suite of
    commercial products such as Microsoft Office.
    Customization does not change the nature of the
    initial product.
  • Intermediate systems Built around one COTS but
    integrate other (also developed in-house)
  • Other Built on several COTS with same importance.

21
Study of the Actual Process
  • Structured interviews using the GQM approach
  • 25 representatives from 15 projects in 2. and
    3.category of Carney definition.
  • Two study teams
  • Interviewer
  • Scribe
  • Analysis by constant comparison method

22
Major issues
  • Slippage in schedule due to delays in releasing
    COTS by vendor
  • Incomplete or non-reliable documentation
  • The learning curve with the product is hard to
    estimate
  • Not all promised functions are implemented
  • Communication with vendor can be one way

23
Differences between COTS projects and traditional
projects
  • More effort on requirements, test and
    integration, less on design and coding.
  • 3 types of differences
  • New activities COTS selection, COTS
    familiarization, vendor interaction
  • Reduced activities coding, debugging, unit
    testing.
  • Modified activities design, architecture issues
    (compatibility, configurability)

24
Disadvantage of COTS projects
  • Dependence on vendor functionality available,
    the schedule for release, the reliability level,
    documentation
  • Flexibility in requirements COTS drives the
    requirements at least to some extent
  • A trade-off between disadvantage and the benefits
    of COTS

25
New COTS Process
  • Main phases are
  • Requirement
  • Design
  • Coding
  • Integration

26
Requirements
  • Make versus buy decision I
  • Consider trade-off between non-technical issues
    and disadvantages of COTS project
  • Requirement definition
  • COTS identification and selection
  • Graph based modeling of the component
    acquisition problem.
  • COTS familiarization learn about COTS

27
Requirements contd
  • Feasibility study
  • describe the product on a high level, an effort
    estimation, a risk assessment model. Both for
    COTS and non-COTS.
  • Make versus buy decision II
  • The result is the product variant that will be
    developed
  • Requirements Review

28
Design
  • Definition of architecture and integration issues
    at lower level of details
  • Decision on glueware
  • Design Review

29
New Roles
  • COTS Team
  • At the organization level
  • A repository about COTS
  • Interface with vendors
  • At the project level
  • Build partnership with vendors

30
Conclusion
  • COTS-based processes differ considerably from
    traditional software development
  • New activities
  • Reduced activities
  • Modified activities
  • Disadvantage of COTS projects
  • Dependence on vendors
  • Flxibility in requirements

31
Conclusion
  • CBSE can help overcome the challenges faced by
    traditional software development mechanisms,
    nevertheless its adoption requires, as any new
    practice, utmost care by software development
    organizations.

32
Thank you for your attention!
  • References
  • 1 Council, William T. and Heineman, George T.,
    Component-Based Software Engineering.
    Addison-Wesley Upper Saddle River, 2001.
  • 2 Pour, Gilda, Component-Based Software
    Development approach New Oppurtunities and
    Challenges, Proceedings of the 26th
    International Conference on Technology of
    Object-Oriented Languages and Systems, 1998.
  • 3 Crnkovic, Ivica, Component-based Software
    Engineering New Challenges in Software
    Development, in 27th Int. Conf. Information
    Technology Interfaces ItI 2003, June 1-19, 2003,
    Cavtat, Croatia.
  • 4 Way, Ju An, Towards Component-Based Software
    Engineering, Proceedings of the eighth annual
    consortium on Computing in Small Colleges Rocky
    Mountain conference, pg. 177-189, Orem, Utah,
    2000
Write a Comment
User Comments (0)
About PowerShow.com