Title: CBSE process: Issues and challenges
1CBSE process Issues and challenges
- Presented by
- Asha Chitrapur
2Topic 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
3The 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
4SW 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
5Component 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)
7Component-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. -
9Component-based software construction (1)
components
Component
1
construction
application
Component
Component
Component
1
2
4
Component
2
Component
Component
3
4
Component
3
10Component-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
11Component-based software construction (3)
application
Component
Component
component
1
2
New Component 4
Component
Component
3
4
update
12CBSE 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)
13Component 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?
14Ariane 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
15Differences 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
17Case 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
18Case 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
19Development process
203 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.
21Study 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
22Major 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
23Differences 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)
24Disadvantage 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
25New COTS Process
- Main phases are
- Requirement
- Design
- Coding
- Integration
26Requirements
- 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
27Requirements 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
28Design
- Definition of architecture and integration issues
at lower level of details - Decision on glueware
- Design Review
29New Roles
- COTS Team
- At the organization level
- A repository about COTS
- Interface with vendors
- At the project level
- Build partnership with vendors
30Conclusion
- 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
31Conclusion
- 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.
32Thank 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 -