cbse process: issues and challenges

22
1 CBSE Process: issues CBSE Process: issues and Challenges and Challenges Gerald Kotonya Gerald Kotonya Computing Department Computing Department Lancaster University Lancaster University United Kingdom United Kingdom

Upload: sanura

Post on 19-Jan-2016

46 views

Category:

Documents


0 download

DESCRIPTION

CBSE Process: issues and Challenges. Gerald Kotonya Computing Department Lancaster University United Kingdom. Organisation. Background CBSE Process Elements of CBSE Process Conclusions. Background. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: CBSE Process: issues and Challenges

1

CBSE Process: issues CBSE Process: issues and Challengesand Challenges

CBSE Process: issues CBSE Process: issues and Challengesand Challenges

Gerald KotonyaGerald Kotonya

Computing DepartmentComputing Department

Lancaster UniversityLancaster University

United KingdomUnited Kingdom

Gerald KotonyaGerald Kotonya

Computing DepartmentComputing Department

Lancaster UniversityLancaster University

United KingdomUnited Kingdom

Page 2: CBSE Process: issues and Challenges

www.comp.lancs.ac.uk

22

OrganisationOrganisationOrganisationOrganisation

BackgroundBackground

CBSE ProcessCBSE Process

Elements of CBSE Process Elements of CBSE Process

ConclusionsConclusions

BackgroundBackground

CBSE ProcessCBSE Process

Elements of CBSE Process Elements of CBSE Process

ConclusionsConclusions

Page 3: CBSE Process: issues and Challenges

www.comp.lancs.ac.uk

33

BackgroundBackgroundBackgroundBackgroundCBSE is the CBSE is the processprocess of building software systems of building software systems from pre-fabricated software componentsfrom pre-fabricated software componentsMotivationMotivation

Improving software quality andImproving software quality andReducing development costsReducing development costs

However software component technology is still However software component technology is still immature and poses many challenges for immature and poses many challenges for organisations intending to adopt itorganisations intending to adopt it

Poorly documented componentsPoorly documented componentsVulnerability riskVulnerability riskLimited adaptability of componentsLimited adaptability of componentsLimited interoperability across component Limited interoperability across component technologiestechnologiesComponent volatilityComponent volatility

Many of these problems can be mitigated by a Many of these problems can be mitigated by a better appreciation of the processes for better appreciation of the processes for developing component-based systemsdeveloping component-based systems

CBSE is the CBSE is the processprocess of building software systems of building software systems from pre-fabricated software componentsfrom pre-fabricated software componentsMotivationMotivation

Improving software quality andImproving software quality andReducing development costsReducing development costs

However software component technology is still However software component technology is still immature and poses many challenges for immature and poses many challenges for organisations intending to adopt itorganisations intending to adopt it

Poorly documented componentsPoorly documented componentsVulnerability riskVulnerability riskLimited adaptability of componentsLimited adaptability of componentsLimited interoperability across component Limited interoperability across component technologiestechnologiesComponent volatilityComponent volatility

Many of these problems can be mitigated by a Many of these problems can be mitigated by a better appreciation of the processes for better appreciation of the processes for developing component-based systemsdeveloping component-based systems

Page 4: CBSE Process: issues and Challenges

www.comp.lancs.ac.uk

44

CBSE Processes

Development for reuse

Component Certification

Local certifier

External certifier

Domain analyst Specifier

Designer

Integrator

Maintainer

Development with reuse

CBSE Processes

Designer Implementer

Maintainer

Component librarian

Component vendor

Component broker

Market analyst

Component procurement

Component repository/

marketplace

Page 5: CBSE Process: issues and Challenges

www.comp.lancs.ac.uk

55

Development with reuse

Verification Plan

Define system requirements

Design system architecture

Compose system

-Elicit requirements -Rank requirements -Model requirements

-Design abstract architecture

-Partition/assign requirements

Deve

lopm

ent

- Establish availability of software components (or services)

-Establish viability of component-based solution

-Perform regression testing

-Analyse architecture

-Test subsystem assembly

-Perform non-functional testing

Managem

ent

-Adapt components

Negotiate

Planning and Negotiation

-Test and qualify software components

-Establish component interfaces

-Compose sub-systems

Page 6: CBSE Process: issues and Challenges

www.comp.lancs.ac.uk

66

Development processDevelopment processDevelopment processDevelopment process

The planning phase sets out:The planning phase sets out:Justification, objectives, strategies (methods and Justification, objectives, strategies (methods and and resources to achieve the development and resources to achieve the development objectives)objectives)

Tactics ( start and end dates, tasks with duration) Tactics ( start and end dates, tasks with duration) for the development projectfor the development project

The development phase implements the agenda The development phase implements the agenda set out in the planning phaseset out in the planning phase

The verification phase is intended to verify the The verification phase is intended to verify the extent of “fitness” of various component extent of “fitness” of various component solutionssolutions

The negotiation phase attempts to find an The negotiation phase attempts to find an acceptable trade-off between the software acceptable trade-off between the software components and system being builtcomponents and system being built

The planning phase sets out:The planning phase sets out:Justification, objectives, strategies (methods and Justification, objectives, strategies (methods and and resources to achieve the development and resources to achieve the development objectives)objectives)

Tactics ( start and end dates, tasks with duration) Tactics ( start and end dates, tasks with duration) for the development projectfor the development project

The development phase implements the agenda The development phase implements the agenda set out in the planning phaseset out in the planning phase

The verification phase is intended to verify the The verification phase is intended to verify the extent of “fitness” of various component extent of “fitness” of various component solutionssolutions

The negotiation phase attempts to find an The negotiation phase attempts to find an acceptable trade-off between the software acceptable trade-off between the software components and system being builtcomponents and system being built

Page 7: CBSE Process: issues and Challenges

www.comp.lancs.ac.uk

77

RE for development with reuseRE for development with reuseRE for development with reuseRE for development with reuse

Good requirements engineering is essential Good requirements engineering is essential for successful component-based system for successful component-based system development (Ncube and Maiden, ’99)development (Ncube and Maiden, ’99)

Basis for component specificationBasis for component specificationBasis for initial system designBasis for initial system designCritical for understanding change impactCritical for understanding change impact

ChallengeChallengeTo develop requirements models and methods To develop requirements models and methods that allow us make the best use of the that allow us make the best use of the available component technology available component technology By balancing aspects of requirements with the By balancing aspects of requirements with the

capabilities offered by software components, and the capabilities offered by software components, and the architectural assumptions embodied in the software architectural assumptions embodied in the software componentscomponents

Good requirements engineering is essential Good requirements engineering is essential for successful component-based system for successful component-based system development (Ncube and Maiden, ’99)development (Ncube and Maiden, ’99)

Basis for component specificationBasis for component specificationBasis for initial system designBasis for initial system designCritical for understanding change impactCritical for understanding change impact

ChallengeChallengeTo develop requirements models and methods To develop requirements models and methods that allow us make the best use of the that allow us make the best use of the available component technology available component technology By balancing aspects of requirements with the By balancing aspects of requirements with the

capabilities offered by software components, and the capabilities offered by software components, and the architectural assumptions embodied in the software architectural assumptions embodied in the software componentscomponents

Page 8: CBSE Process: issues and Challenges

www.comp.lancs.ac.uk

88

Requirements Requirements engineeringengineeringRequirements Requirements engineeringengineering

Need to understand the system requirements Need to understand the system requirements from ‘external perspectives’ (Kotonya ’99, from ‘external perspectives’ (Kotonya ’99, Nuseibeh ’98)Nuseibeh ’98)

Component-based systems development is primarily Component-based systems development is primarily a problem of integrating a problem of integrating black-boxblack-box components components rather than creating componentsrather than creating components

Need for mechanisms that allow us to model Need for mechanisms that allow us to model the behavioural and non-behavioural the behavioural and non-behavioural propertiesproperties

Most requirement methods are concerned with Most requirement methods are concerned with functional properties of systemfunctional properties of system Service modelling? Analysis by contract? etc…Service modelling? Analysis by contract? etc…

Need to provide a mechanism for evaluating Need to provide a mechanism for evaluating and ranking requirements and ranking requirements

Cost-value analysis (criticality, effort, risk, stability etc)Cost-value analysis (criticality, effort, risk, stability etc)

Need to understand the system requirements Need to understand the system requirements from ‘external perspectives’ (Kotonya ’99, from ‘external perspectives’ (Kotonya ’99, Nuseibeh ’98)Nuseibeh ’98)

Component-based systems development is primarily Component-based systems development is primarily a problem of integrating a problem of integrating black-boxblack-box components components rather than creating componentsrather than creating components

Need for mechanisms that allow us to model Need for mechanisms that allow us to model the behavioural and non-behavioural the behavioural and non-behavioural propertiesproperties

Most requirement methods are concerned with Most requirement methods are concerned with functional properties of systemfunctional properties of system Service modelling? Analysis by contract? etc…Service modelling? Analysis by contract? etc…

Need to provide a mechanism for evaluating Need to provide a mechanism for evaluating and ranking requirements and ranking requirements

Cost-value analysis (criticality, effort, risk, stability etc)Cost-value analysis (criticality, effort, risk, stability etc)

Page 9: CBSE Process: issues and Challenges

www.comp.lancs.ac.uk

99

Requirements engineering Requirements engineering (contd.)(contd.)Requirements engineering Requirements engineering (contd.)(contd.)

Need for schemes that support negotiation Need for schemes that support negotiation (PORE, AHP, SMART)(PORE, AHP, SMART)

In practice the desired level of component software In practice the desired level of component software capability and quality is rarely achievedcapability and quality is rarely achievedEarly evaluation is useful for establishing the Early evaluation is useful for establishing the availability and broad capabilities of off-the-shelf availability and broad capabilities of off-the-shelf software componentssoftware componentsFor certain critical requirements, a component For certain critical requirements, a component (COTS) solution may not be adequate or even (COTS) solution may not be adequate or even appropriateappropriate

Need requirements schemes that reflect the Need requirements schemes that reflect the changing ‘face’ of software component changing ‘face’ of software component technologytechnology

Component as a leased serviceComponent as a leased serviceComponent as an off-the-shelf black-box softwareComponent as an off-the-shelf black-box software

Need for schemes that support negotiation Need for schemes that support negotiation (PORE, AHP, SMART)(PORE, AHP, SMART)

In practice the desired level of component software In practice the desired level of component software capability and quality is rarely achievedcapability and quality is rarely achievedEarly evaluation is useful for establishing the Early evaluation is useful for establishing the availability and broad capabilities of off-the-shelf availability and broad capabilities of off-the-shelf software componentssoftware componentsFor certain critical requirements, a component For certain critical requirements, a component (COTS) solution may not be adequate or even (COTS) solution may not be adequate or even appropriateappropriate

Need requirements schemes that reflect the Need requirements schemes that reflect the changing ‘face’ of software component changing ‘face’ of software component technologytechnology

Component as a leased serviceComponent as a leased serviceComponent as an off-the-shelf black-box softwareComponent as an off-the-shelf black-box software

Page 10: CBSE Process: issues and Challenges

www.comp.lancs.ac.uk

1010

Design for development with Design for development with reusereuseDesign for development with Design for development with reusereuse

Component-based system designComponent-based system designDescribes how the components that make Describes how the components that make up the system interact to deliver the up the system interact to deliver the desired functionality and,desired functionality and,

the appropriateness of particular the appropriateness of particular components and services in different components and services in different contextscontexts

Provides a good basis for performing Provides a good basis for performing impact analysisimpact analysis

Component-based system designComponent-based system designDescribes how the components that make Describes how the components that make up the system interact to deliver the up the system interact to deliver the desired functionality and,desired functionality and,

the appropriateness of particular the appropriateness of particular components and services in different components and services in different contextscontexts

Provides a good basis for performing Provides a good basis for performing impact analysisimpact analysis

Page 11: CBSE Process: issues and Challenges

www.comp.lancs.ac.uk

1111

Design processDesign processDesign processDesign processNeed for formal mechanisms that allow the Need for formal mechanisms that allow the designer to define architectural elements and designer to define architectural elements and their relationships and to support their their relationships and to support their evolution through levels of abstraction (UML evolution through levels of abstraction (UML 2.0?, Catalysis, D’Souza ’98; ADLs Shaw, ‘96; 2.0?, Catalysis, D’Souza ’98; ADLs Shaw, ‘96; Medvidovic ‘00)Medvidovic ‘00)

The design process starts with the partitioning of The design process starts with the partitioning of the system requirements (services and associated the system requirements (services and associated constraints) into logical “components” or “sub-constraints) into logical “components” or “sub-systems”systems”The initial partitioning is driven by architectural The initial partitioning is driven by architectural considerations (possibly supported by design considerations (possibly supported by design patterns that lend themselves to those properties)patterns that lend themselves to those properties)Subsequent partitioning is subject to a negotiation Subsequent partitioning is subject to a negotiation process that must take into account business process that must take into account business concerns, architectural considerations and software concerns, architectural considerations and software component considerationscomponent considerations

Need for formal mechanisms that allow the Need for formal mechanisms that allow the designer to define architectural elements and designer to define architectural elements and their relationships and to support their their relationships and to support their evolution through levels of abstraction (UML evolution through levels of abstraction (UML 2.0?, Catalysis, D’Souza ’98; ADLs Shaw, ‘96; 2.0?, Catalysis, D’Souza ’98; ADLs Shaw, ‘96; Medvidovic ‘00)Medvidovic ‘00)

The design process starts with the partitioning of The design process starts with the partitioning of the system requirements (services and associated the system requirements (services and associated constraints) into logical “components” or “sub-constraints) into logical “components” or “sub-systems”systems”The initial partitioning is driven by architectural The initial partitioning is driven by architectural considerations (possibly supported by design considerations (possibly supported by design patterns that lend themselves to those properties)patterns that lend themselves to those properties)Subsequent partitioning is subject to a negotiation Subsequent partitioning is subject to a negotiation process that must take into account business process that must take into account business concerns, architectural considerations and software concerns, architectural considerations and software component considerationscomponent considerations

Page 12: CBSE Process: issues and Challenges

www.comp.lancs.ac.uk

1212

Design process (contd.)Design process (contd.)Design process (contd.)Design process (contd.)

Need for mechanisms that allow the designer Need for mechanisms that allow the designer to evaluate the extent of “fitness” of a to evaluate the extent of “fitness” of a component or group of components in a component or group of components in a contextcontext

The main objective of designer is to achieve The main objective of designer is to achieve “fitness for use”“fitness for use”

Fitness is a property which is achieved when a Fitness is a property which is achieved when a component has an acceptable match with the component has an acceptable match with the context in which it is going to operate. context in which it is going to operate.

Need for mechanisms that allow the designer Need for mechanisms that allow the designer to evaluate the extent of “fitness” of a to evaluate the extent of “fitness” of a component or group of components in a component or group of components in a contextcontext

The main objective of designer is to achieve The main objective of designer is to achieve “fitness for use”“fitness for use”

Fitness is a property which is achieved when a Fitness is a property which is achieved when a component has an acceptable match with the component has an acceptable match with the context in which it is going to operate. context in which it is going to operate.

Page 13: CBSE Process: issues and Challenges

www.comp.lancs.ac.uk

1313

CompositionCompositionCompositionCompositionNeed for formal mechanisms to support Need for formal mechanisms to support system compositionsystem composition

System composition proceeds by replacing abstract System composition proceeds by replacing abstract design level components with concrete design level components with concrete ‘equivalents’ and integrating them‘equivalents’ and integrating themConcrete components might be required to fulfil Concrete components might be required to fulfil certain constraints (cost, architectural, resource certain constraints (cost, architectural, resource etc ) before a replacement is allowed to proceed etc ) before a replacement is allowed to proceed

Support for adaptationSupport for adaptationFor many systems there is need to repair a design For many systems there is need to repair a design “misfit” “misfit” The accompanying integration process may make The accompanying integration process may make use of some "gluing technology", which may be use of some "gluing technology", which may be unrelated to the components:unrelated to the components: To provide an interface between componentsTo provide an interface between components To adapt incompatible componentsTo adapt incompatible components

Need for formal mechanisms to support Need for formal mechanisms to support system compositionsystem composition

System composition proceeds by replacing abstract System composition proceeds by replacing abstract design level components with concrete design level components with concrete ‘equivalents’ and integrating them‘equivalents’ and integrating themConcrete components might be required to fulfil Concrete components might be required to fulfil certain constraints (cost, architectural, resource certain constraints (cost, architectural, resource etc ) before a replacement is allowed to proceed etc ) before a replacement is allowed to proceed

Support for adaptationSupport for adaptationFor many systems there is need to repair a design For many systems there is need to repair a design “misfit” “misfit” The accompanying integration process may make The accompanying integration process may make use of some "gluing technology", which may be use of some "gluing technology", which may be unrelated to the components:unrelated to the components: To provide an interface between componentsTo provide an interface between components To adapt incompatible componentsTo adapt incompatible components

Page 14: CBSE Process: issues and Challenges

www.comp.lancs.ac.uk

1414

VerificationVerificationVerificationVerification

Component and system testing is a Component and system testing is a critical aspect of component-based critical aspect of component-based developmentdevelopment

Black-box nature of componentsBlack-box nature of components

Perception of quality may varyPerception of quality may vary

Extraneous features Extraneous features

Component and system testing is a Component and system testing is a critical aspect of component-based critical aspect of component-based developmentdevelopment

Black-box nature of componentsBlack-box nature of components

Perception of quality may varyPerception of quality may vary

Extraneous features Extraneous features

Page 15: CBSE Process: issues and Challenges

www.comp.lancs.ac.uk

1515

ComplicationsComplicationsComplicationsComplications

Poor specificationPoor specificationThe lack of detailed component specification The lack of detailed component specification diminishes the quality of testing that can be done.diminishes the quality of testing that can be done.

Enterprise heterogeneityEnterprise heterogeneityDifferent, possibly competing vendors may supply Different, possibly competing vendors may supply componentscomponents

Technological heterogeneityTechnological heterogeneityIn a distributed environment, different components In a distributed environment, different components may be developed for different hardware and may be developed for different hardware and operating system platformsoperating system platforms

Test adequacy assessmentTest adequacy assessmentA major problem with testing component-based A major problem with testing component-based systems is the lack of a sufficient theoretical basis systems is the lack of a sufficient theoretical basis for assessing the adequacy of the testsfor assessing the adequacy of the tests

Inability to perform ‘direct’ testsInability to perform ‘direct’ testsAs in the case of web servicesAs in the case of web services

Poor specificationPoor specificationThe lack of detailed component specification The lack of detailed component specification diminishes the quality of testing that can be done.diminishes the quality of testing that can be done.

Enterprise heterogeneityEnterprise heterogeneityDifferent, possibly competing vendors may supply Different, possibly competing vendors may supply componentscomponents

Technological heterogeneityTechnological heterogeneityIn a distributed environment, different components In a distributed environment, different components may be developed for different hardware and may be developed for different hardware and operating system platformsoperating system platforms

Test adequacy assessmentTest adequacy assessmentA major problem with testing component-based A major problem with testing component-based systems is the lack of a sufficient theoretical basis systems is the lack of a sufficient theoretical basis for assessing the adequacy of the testsfor assessing the adequacy of the tests

Inability to perform ‘direct’ testsInability to perform ‘direct’ testsAs in the case of web servicesAs in the case of web services

Page 16: CBSE Process: issues and Challenges

www.comp.lancs.ac.uk

1616

Suggested solutionsSuggested solutionsSuggested solutionsSuggested solutions

Voas (Voas, ‘98) the risk posed by unreliable Voas (Voas, ‘98) the risk posed by unreliable components should lead developers to think components should lead developers to think in terms of disposable software systemsin terms of disposable software systems

Dean (Dean ’99) independent certification of Dean (Dean ’99) independent certification of components is the way to address the components is the way to address the problem, particularly for critical systemsproblem, particularly for critical systems

Harrold (Harrold ’99) the component vendor Harrold (Harrold ’99) the component vendor should make a summary of the test and should make a summary of the test and analysis information available with the analysis information available with the componentcomponent

Others have suggested that components Others have suggested that components have built in tests (e.g. IST COMPONENT+)have built in tests (e.g. IST COMPONENT+)

Voas (Voas, ‘98) the risk posed by unreliable Voas (Voas, ‘98) the risk posed by unreliable components should lead developers to think components should lead developers to think in terms of disposable software systemsin terms of disposable software systems

Dean (Dean ’99) independent certification of Dean (Dean ’99) independent certification of components is the way to address the components is the way to address the problem, particularly for critical systemsproblem, particularly for critical systems

Harrold (Harrold ’99) the component vendor Harrold (Harrold ’99) the component vendor should make a summary of the test and should make a summary of the test and analysis information available with the analysis information available with the componentcomponent

Others have suggested that components Others have suggested that components have built in tests (e.g. IST COMPONENT+)have built in tests (e.g. IST COMPONENT+)

Page 17: CBSE Process: issues and Challenges

www.comp.lancs.ac.uk

1717

Testing regimesTesting regimesTesting regimesTesting regimes

ToTo address these problems, component- address these problems, component-testing regimes should serve the following testing regimes should serve the following aims:aims:

DiscoveryDiscovery

VerificationVerification

Fitness for purposeFitness for purpose

MaskingMasking

AdequacyAdequacy

ToTo address these problems, component- address these problems, component-testing regimes should serve the following testing regimes should serve the following aims:aims:

DiscoveryDiscovery

VerificationVerification

Fitness for purposeFitness for purpose

MaskingMasking

AdequacyAdequacy

Page 18: CBSE Process: issues and Challenges

www.comp.lancs.ac.uk

1818

Trust as mechanism for Trust as mechanism for verificationverificationTrust as mechanism for Trust as mechanism for verificationverification

Models of trustModels of trustContractual schemesContractual schemes are intended to are intended to provide provide cover against the effects of cover against the effects of unsatisfactory or unexpected performance of unsatisfactory or unexpected performance of a particular producta particular productCertification schemesCertification schemes are based on the are based on the belief that belief that certified products have undergone certified products have undergone rigorous testing and found to be fit for use rigorous testing and found to be fit for use (conform to certain quality standards)(conform to certain quality standards)Experience-based schemesExperience-based schemes r rely on reputed ely on reputed trusttrustLocal evaluation schemesLocal evaluation schemes strive to strive to establish ‘demonstrated trust’. May be based establish ‘demonstrated trust’. May be based onon Detailed evaluationDetailed evaluation Self certificationSelf certification

Models of trustModels of trustContractual schemesContractual schemes are intended to are intended to provide provide cover against the effects of cover against the effects of unsatisfactory or unexpected performance of unsatisfactory or unexpected performance of a particular producta particular productCertification schemesCertification schemes are based on the are based on the belief that belief that certified products have undergone certified products have undergone rigorous testing and found to be fit for use rigorous testing and found to be fit for use (conform to certain quality standards)(conform to certain quality standards)Experience-based schemesExperience-based schemes r rely on reputed ely on reputed trusttrustLocal evaluation schemesLocal evaluation schemes strive to strive to establish ‘demonstrated trust’. May be based establish ‘demonstrated trust’. May be based onon Detailed evaluationDetailed evaluation Self certificationSelf certification

Page 19: CBSE Process: issues and Challenges

www.comp.lancs.ac.uk

1919

Management: Maintenance and Management: Maintenance and extended developmentextended developmentManagement: Maintenance and Management: Maintenance and extended developmentextended development

The maintenance and extended The maintenance and extended development of a component-based development of a component-based application poses many risks to the application poses many risks to the customer (Dean and Vidger ’99)customer (Dean and Vidger ’99)

Nature of the development processNature of the development process

Application domainApplication domain

System design characteristics System design characteristics

Choice of software components usedChoice of software components used

The maintenance and extended The maintenance and extended development of a component-based development of a component-based application poses many risks to the application poses many risks to the customer (Dean and Vidger ’99)customer (Dean and Vidger ’99)

Nature of the development processNature of the development process

Application domainApplication domain

System design characteristics System design characteristics

Choice of software components usedChoice of software components used

Page 20: CBSE Process: issues and Challenges

www.comp.lancs.ac.uk

2020

Elements of riskElements of riskElements of riskElements of riskDifferent vendor-customer evolution cyclesDifferent vendor-customer evolution cyclesFunding riskFunding riskVulnerability riskVulnerability riskUpgrade riskUpgrade risk

Hidden incompatibilities Hidden incompatibilities New data formats that may require that the contents New data formats that may require that the contents of existing files and databases be modifiedof existing files and databases be modifiedChanges in the quality attributes Changes in the quality attributes Additional capabilities that may have to be Additional capabilities that may have to be suppressed or restricted due to security concernssuppressed or restricted due to security concernsIncompatibility with the existing hardware or Incompatibility with the existing hardware or operating platformoperating platformChanges in system resource requirements may be Changes in system resource requirements may be incompatible with the existing hardware and incompatible with the existing hardware and operating systemoperating system

Different vendor-customer evolution cyclesDifferent vendor-customer evolution cyclesFunding riskFunding riskVulnerability riskVulnerability riskUpgrade riskUpgrade risk

Hidden incompatibilities Hidden incompatibilities New data formats that may require that the contents New data formats that may require that the contents of existing files and databases be modifiedof existing files and databases be modifiedChanges in the quality attributes Changes in the quality attributes Additional capabilities that may have to be Additional capabilities that may have to be suppressed or restricted due to security concernssuppressed or restricted due to security concernsIncompatibility with the existing hardware or Incompatibility with the existing hardware or operating platformoperating platformChanges in system resource requirements may be Changes in system resource requirements may be incompatible with the existing hardware and incompatible with the existing hardware and operating systemoperating system

Page 21: CBSE Process: issues and Challenges

www.comp.lancs.ac.uk

2121

Addressing the risksAddressing the risksAddressing the risksAddressing the risksAsset managementAsset management

Need for mechanisms for managing and tracking the Need for mechanisms for managing and tracking the acquisition, usage and evolution software acquisition, usage and evolution software components components

impact analysisimpact analysisNeed for impact analysis techniques. Need for impact analysis techniques. The system management process must consider the The system management process must consider the

different ways that a component might cause changes to different ways that a component might cause changes to the operational system the operational system

Quality controlQuality controlNeed for cost-effective quality control methods that Need for cost-effective quality control methods that address the problem of the fault identification, repair, address the problem of the fault identification, repair, and the tracking of system fixes.and the tracking of system fixes.

Configuration management Configuration management Need for a framework for tracking and controlling the Need for a framework for tracking and controlling the versions of components and custom software versions of components and custom software installed at all sitesinstalled at all sites

Market research Market research

Asset managementAsset managementNeed for mechanisms for managing and tracking the Need for mechanisms for managing and tracking the acquisition, usage and evolution software acquisition, usage and evolution software components components

impact analysisimpact analysisNeed for impact analysis techniques. Need for impact analysis techniques. The system management process must consider the The system management process must consider the

different ways that a component might cause changes to different ways that a component might cause changes to the operational system the operational system

Quality controlQuality controlNeed for cost-effective quality control methods that Need for cost-effective quality control methods that address the problem of the fault identification, repair, address the problem of the fault identification, repair, and the tracking of system fixes.and the tracking of system fixes.

Configuration management Configuration management Need for a framework for tracking and controlling the Need for a framework for tracking and controlling the versions of components and custom software versions of components and custom software installed at all sitesinstalled at all sites

Market research Market research

Page 22: CBSE Process: issues and Challenges

www.comp.lancs.ac.uk

2222

SummarySummarySummarySummaryComponent-based system development is a Component-based system development is a highly iterative process requiring simultaneous highly iterative process requiring simultaneous consideration of:consideration of:

The system context (system characteristics such as The system context (system characteristics such as requirements, cost, schedule, operating and requirements, cost, schedule, operating and support environments), support environments), Capabilities of software components in the Capabilities of software components in the marketplacemarketplaceViable architectures and designsViable architectures and designs

We have identified the challenges and problems We have identified the challenges and problems likely to be faced by component-based system likely to be faced by component-based system developersdevelopersThe importance of verification has been The importance of verification has been emphasised and a discussion of the management emphasised and a discussion of the management challenges of component-based systems providedchallenges of component-based systems providedWe have highlighted the importance of the We have highlighted the importance of the process in mitigating the problems posed by CBDprocess in mitigating the problems posed by CBD

Component-based system development is a Component-based system development is a highly iterative process requiring simultaneous highly iterative process requiring simultaneous consideration of:consideration of:

The system context (system characteristics such as The system context (system characteristics such as requirements, cost, schedule, operating and requirements, cost, schedule, operating and support environments), support environments), Capabilities of software components in the Capabilities of software components in the marketplacemarketplaceViable architectures and designsViable architectures and designs

We have identified the challenges and problems We have identified the challenges and problems likely to be faced by component-based system likely to be faced by component-based system developersdevelopersThe importance of verification has been The importance of verification has been emphasised and a discussion of the management emphasised and a discussion of the management challenges of component-based systems providedchallenges of component-based systems providedWe have highlighted the importance of the We have highlighted the importance of the process in mitigating the problems posed by CBDprocess in mitigating the problems posed by CBD