Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Component-based software engineering (CBSE)

software


CBSE -

Component-based software engineering (CBSE) is an approach to software development that relies on software reuse.

It emerged from the failure of object-oriented development to support effective reuse. Single object classes are too detailed and specific.

Components are more abstract than object classes and can be considered to be stand-alone service providers.



Essentials

Independent components specified by t 343i83d heir interfaces.

Component standards to facilitate component integration.

Middleware that provides support for component inter-operability.

A development process that is geared to reuse.

Design and principles

Apart from the benefits of reuse, CBSE is based on sound software engineering design principles:

Components are independent so do not interfere with each other;

Component implementations are hidden;

Communication is through well-defined interfaces;

Component platforms are shared and reduce development costs.

Problems

Component trustworthiness - how can a component with no available source code be trusted?

Component certification - who will certify the quality of components?

Emergent property prediction - how can the emergent properties of component compositions be predicted?

Requirements trade-offs - how do we do trade-off analysis between the features of one component and another?

2.Graphical(Analog) better than digital presentation of numerical values

Digital presentation

Compact - takes up little screen space;

Precise values can be communicated.

Analogue presentation

Easier to get an 'at a glance' impression of a value;

Possible to show relative values;

Easier to see exceptional data values.

Concerned with techniques for displaying large amounts of information.

Visualisation can reveal relationships between entities and trends in the data.

Possible data visualisations are:

Weather information collected from a number of sources;

The state of a telephone network as a linked set of nodes;

Chemical plant visualised by showing pressures and temperatures in a linked set of tanks and pipes;

A model of a molecule displayed in 3 dimensions;

Web pages displayed as a hyperbolic tree.

3.Application Frameworks

Frameworks are a sub-system design made up of a collection of abstract and concrete classes and the interfaces between them.

The sub-system is implemented by adding components to fill in parts of the design and by extending the abstract classes in the framework.

Frameworks are moderately large entities that can be reused.

Framework classes:

Frameworks are a sub-system design made up of a collection of abstract and concrete classes and the interfaces between them.

The sub-system is implemented by adding components to fill in parts of the design and by extending the abstract classes in the framework.

Frameworks are moderately large entities that can be reused.

Extending Frameworks

Frameworks are generic and are extended to create a more specific application or sub-system.

Extending the framework involves

Adding concrete classes that inherit operations from abstract classes in the framework;

Adding methods that are called in response to events that are recognised by the framework.

Problem with frameworks is their complexity which means that it takes a long time to use them effectively.

4.Object oriented SE, object models:

Approach to the whole software development process:

Express system requirements using an object model; represent both system data and its processing.

Design using objects.

Develop the system in an OO programming language.

Object Models

Object models describe the system in terms of object classes and their associations.

An object class is an abstraction over a set of objects with common attributes and the services (operations) provided by each object.

Various object models may be produced

Inheritance models;

Aggregation models;

Interaction models.

Natural ways of reflecting the real-world entities manipulated by the system

More abstract entities are more difficult to model using this approach

Object class identification is recognised as a difficult process requiring a deep understanding of the application domain

Object classes reflecting domain entities are reusable across systems

5.Requirements completeness and consistency

In principle, requirements should be both complete and consistent.

Complete

They should include descriptions of all facilities required.

Consistent

There should be no conflicts or contradictions in the descriptions of the system facilities.

In practice, it is impossible to produce a complete and consistent requirements document.

6.lab_DesignPatterns_3.pdf

-

Participants:

Component

declares the interface for objects in the composition.

implements default behavior for the interface common to all classes, as appropriate.

declares an interface for accessing and managing its child components.

(optional) defines an interface for accessing a component.s parent in the recursive

structure, and implements it if that.s appropriate.

Leaf

represents leaf objects in the composirion; a leaf has no children.

defines behavior for primitive objects in the composition.

Composite

defines behavior for components having children.

stores child components.

implements child-related operations in the Component interface.

Client

manipulates objects in the composition through the Component interface.

Aplicability when:

you want to represent part-whole hierarchies of objects.

you want clients to be able to ignore the difference between compositions of objects and

individual objects; clients will treat all objects in the composite structure uniformly.

Applying COMPOSITE design pattern to our example, the class diagram will be:

The constructor of the Client class gets a reference to the top component of the tree structure.

On this component the method print( is called. Being a composite, it will start another iteration

on its components, and print() will be called recursivelly until leaf components are encountered.

On all leaf components the metod print( will actualy print the information about the student

coresponding to the leaf.

In the previous example we have used an internal iterator

The same structure can be traversed using an external iterator obtained by combining the

COMPOSITE design pattern with the ITERATOR design pattern.

An external iterator introduces more flexibility, allowing us to apply filters on the listed components.


Document Info


Accesari: 787
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )