1 cbse process: issues and challenges from cbse landscape document chapter from

14
1 CBSE Process: issues CBSE Process: issues and Challenges and Challenges From From CBSE Landscape document CBSE Landscape document chapter chapter

Upload: darleen-burns

Post on 08-Jan-2018

223 views

Category:

Documents


0 download

DESCRIPTION

CBSEnet 3 CBSE Processes

TRANSCRIPT

Page 1: 1 CBSE Process: issues and Challenges From CBSE Landscape document chapter From

1

CBSE Process: issues CBSE Process: issues and Challengesand Challenges

From From CBSE Landscape document CBSE Landscape document

chapterchapter

Page 2: 1 CBSE Process: issues and Challenges From CBSE Landscape document chapter From

CBSEnet 22

BackgroundBackgroundCBSE 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 developing better appreciation of the processes for developing component-based systemscomponent-based systems

Page 3: 1 CBSE Process: issues and Challenges From CBSE Landscape document chapter From

CBSEnet 33

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 4: 1 CBSE Process: issues and Challenges From CBSE Landscape document chapter From

CBSEnet 44

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 5: 1 CBSE Process: issues and Challenges From CBSE Landscape document chapter From

CBSEnet 55

Development 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 phaseThe verification phase is intended to verify the The verification phase is intended to verify the extent of “fitness” of various component solutionsextent of “fitness” of various component solutionsThe 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 6: 1 CBSE Process: issues and Challenges From CBSE Landscape document chapter From

CBSEnet 66

Design 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

Page 7: 1 CBSE Process: issues and Challenges From CBSE Landscape document chapter From

CBSEnet 77

Design 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

Page 8: 1 CBSE Process: issues and Challenges From CBSE Landscape document chapter From

CBSEnet 88

Management: 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 processApplication domainApplication domainSystem design characteristics System design characteristics Choice of software components usedChoice of software components used

Page 9: 1 CBSE Process: issues and Challenges From CBSE Landscape document chapter From

CBSEnet 99

SummarySummaryComponent-based system development is a highly Component-based system development is a highly iterative process requiring simultaneous 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

Page 10: 1 CBSE Process: issues and Challenges From CBSE Landscape document chapter From

CBSEnet 1010

Page 11: 1 CBSE Process: issues and Challenges From CBSE Landscape document chapter From

CBSEnet 1111

CompositionCompositionNeed 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 12: 1 CBSE Process: issues and Challenges From CBSE Landscape document chapter From

CBSEnet 1212

VerificationVerification

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 componentsPerception of quality may varyPerception of quality may varyExtraneous features Extraneous features

Page 13: 1 CBSE Process: issues and Challenges From CBSE Landscape document chapter From

CBSEnet 1313

Testing regimesTesting regimesToTo address these problems, component- address these problems, component-testing regimes should serve the following testing regimes should serve the following aims:aims:

DiscoveryDiscoveryVerificationVerificationFitness for purposeFitness for purposeMaskingMaskingAdequacyAdequacy

Page 14: 1 CBSE Process: issues and Challenges From CBSE Landscape document chapter From

CBSEnet 1414

Trust 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