Example: bankruptcy

Component-based software engineering

Ian Sommerville 2004 software engineering , 7th edition. Chapter 19 Slide 1 Component-based softwareengineering Ian Sommerville 2004 software engineering , 7th edition. Chapter 19 Slide 2 Objectives To explain that CBSE is concerned withdeveloping standardised components andcomposing these into applications To describe components and componentmodels To show the principal activities in the CBSE process To discuss approaches to componentcomposition and problems that may arise Ian Sommerville 2004 software engineering , 7th edition. Chapter 19 Slide 3 Topics covered Components and component models The CBSE process Component composition Ian Sommerville 2004 software engineering , 7th edition.

©Ian Sommerville 2004 Software Engineering, ... There is a trade-off between reusability and usability • The more general the interface, the greater the reusability but it is then more complex and hence less usable. ©Ian Sommerville 2004 Software Engineering, 7th edition.

Tags:

  Engineering, Usability

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Advertisement

Transcription of Component-based software engineering

1 Ian Sommerville 2004 software engineering , 7th edition. Chapter 19 Slide 1 Component-based softwareengineering Ian Sommerville 2004 software engineering , 7th edition. Chapter 19 Slide 2 Objectives To explain that CBSE is concerned withdeveloping standardised components andcomposing these into applications To describe components and componentmodels To show the principal activities in the CBSE process To discuss approaches to componentcomposition and problems that may arise Ian Sommerville 2004 software engineering , 7th edition. Chapter 19 Slide 3 Topics covered Components and component models The CBSE process Component composition Ian Sommerville 2004 software engineering , 7th edition.

2 Chapter 19 Slide 4 Component-based development Component-based software engineering (CBSE) is an approach to softwaredevelopment that relies on software reuse. It emerged from the failure of object-orienteddevelopment to support effective object classes are too detailed andspecific. Components are more abstract than objectclasses and can be considered to be stand-alone service providers. Ian Sommerville 2004 software engineering , 7th edition. Chapter 19 Slide 5 CBSE essentials Independent components specified by theirinterfaces. Component standards to facilitatecomponent integration. Middleware that provides support forcomponent inter-operability.

3 A development process that is geared toreuse. Ian Sommerville 2004 software engineering , 7th edition. Chapter 19 Slide 6 CBSE and design principles Apart from the benefits of reuse, CBSE isbased on sound software engineering designprinciples: Components are independent so do notinterfere with each other; Component implementations are hidden; Communication is through well-definedinterfaces; Component platforms are shared and reducedevelopment costs. Ian Sommerville 2004 software engineering , 7th edition. Chapter 19 Slide 7 CBSE problems Component trustworthiness - how can a componentwith no available source code be trusted?

4 Component certification - who will certify the qualityof components? Emergent property prediction - how can theemergent properties of component compositions bepredicted? Requirements trade-offs - how do we do trade-offanalysis between the features of one componentand another? Ian Sommerville 2004 software engineering , 7th edition. Chapter 19 Slide 8 Components Components provide a service withoutregard to where the component is executingor its programming language A component is an independent executableentity that can be made up of one or moreexecutable objects; The component interface is published and allinteractions are through the published interface; Ian Sommerville 2004 software engineering , 7th edition.

5 Chapter 19 Slide 9 Component definitions Councill and Heinmann: A software component is a software element thatconforms to a component model and can beindependently deployed and composed withoutmodification according to a composition standard. Szyperski: A software component is a unit of composition withcontractually specified interfaces and explicit contextdependencies only. A software component can bedeployed independently and is subject to composition bythird-parties. Ian Sommerville 2004 software engineering , 7th edition. Chapter 19 Slide 10 Component as a service provider The component is an independent,executable entity.

6 It does not have to becompiled before it is used with othercomponents. The services offered by a component aremade available through an interface and allcomponent interactions take place throughthat interface. Ian Sommerville 2004 software engineering , 7th edition. Chapter 19 Slide 11 Component characteristics 1 StandardisedComponent standardisation means that a component that isused in a CBSE process has to conform to some standardisedcomponent model. This model may define componentinterfaces, component meta-data, documentation, compositionand component should be independent it should be possible tocompose and deploy it without having to use other specificcomponents.

7 In situations where the component needsexternally provided services, these should be explicitly set outin a requires interface a component to be composable, all external interactionsmust take place through publicly defined interfaces. Inaddition, it must provide external access to information aboutitself such as its methods and attributes. Ian Sommerville 2004 software engineering , 7th edition. Chapter 19 Slide 12 Component characteristics 2 DeployableTo be deployable, a component has to be self-contained andmust be able to operate as a stand-alone entity on somecomponent platform that implements the component usually means that the component is a binary componentthat does not have to be compiled before it is have to be fully documented so that potentialusers of the component can decide whether or not they meettheir needs.

8 The syntax and, ideally, the semantics of allcomponent interfaces have to be specified. Ian Sommerville 2004 software engineering , 7th edition. Chapter 19 Slide 13 Component interfaces Provides interface Defines the services that are provided by thecomponent to other components. Requires interface Defines the services that specifies whatservices must be made available for thecomponent to execute as specified. Ian Sommerville 2004 software engineering , 7th edition. Chapter 19 Slide 14 Component interfaces Ian Sommerville 2004 software engineering , 7th edition. Chapter 19 Slide 15A data collector component Ian Sommerville 2004 software engineering , 7th edition.

9 Chapter 19 Slide 16 Components and objects Components are deployable entities. Components do not define types. Component implementations are opaque. Components are language-independent. Components are standardised. Ian Sommerville 2004 software engineering , 7th edition. Chapter 19 Slide 17 Component models A component model is a definition of standards forcomponent implementation, documentation anddeployment. Examples of component models EJB model (Enterprise Java Beans) COM+ model (.NET model) Corba Component Model The component model specifies how interfacesshould be defined and the elements that should beincluded in an interface definition.

10 Ian Sommerville 2004 software engineering , 7th edition. Chapter 19 Slide 18 Elements of a component model Ian Sommerville 2004 software engineering , 7th edition. Chapter 19 Slide 19 Middleware support Component models are the basis for middlewarethat provides support for executing components. Component model implementations provide: Platform services that allow components writtenaccording to the model to communicate; Horizontal services that are application-independentservices used by different components. To use services provided by a model, componentsare deployed in a container. This is a set ofinterfaces used to access the serviceimplementations.


Related search queries