cbse process: issues and challenges
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 PresentationTRANSCRIPT
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
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
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
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
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
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
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
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)
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
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
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
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.
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
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
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
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+)
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
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
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
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
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
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