Component based software engineering Flashcards

(6 cards)

1
Q

What is a component?

A

A hardware, software, or firmware part or element of a larger system with well-defined inputs and outputs and a specific function.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the essential characteritics of a component?

A
  1. Composable: For a component to be composable, all external interactions must take place through publicly defined interfaces. In addition, it must provide external access to information about itself, such as its methods and attributes.
  2. Deployable: To be deployable, a component has to be self-contained. It must be able to operate as a stand-alone entity on a component platform that provides an implementation of the component model. This usually means that the component is binary and does not have to be compiled before it is deployed. If a component is implemented as a service, it does not have to be deployed by a user of that component. Rather, it is deployed by the service provider.
  3. Documented: Components have to be fully documented so that potential users can decide whether or not the components meet their needs. The syntax and, ideally, the semantics of all component interfaces should be specified.
  4. Independent: A component should be independent–it should be possible to compose and deploy it without having to use other specific components. In situations where the component needs externally provided services, these should be explicitly set out in a “requires” interface specification.
  5. Standardized: Component standardisation means that a component used in a CBSE process has to conform to a standard component model. This model may define component interfaces, component metadata, documentation, composition, and deployment.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are the two types of CBSE processes?

A

· CBSE for reuse is concerned with developing components or services that will be reused in other applications. It usually involves generalizing existing components.

· CBSE with reuse is the process of developing new applications using existing components and services.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the component identification issues?

A

· You need to be able to trust the supplier of a component. At best, an untrusted component may not operate as advertised; at worst, it can breach your security.

· Different groups of components will satisfy different requirements.

· Validation: The component specification may not be detailed enough to allow comprehensive tests to be developed. Components may have unwanted functionality. How can you test this will not interfere with your application?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are the three types of component composition?

A
  1. Sequential composition where the composed components are executed in sequence. This involves composing the provides interfaces of each component.
  2. Hierarchical composition where one component calls on the services of another. The provides interface of one component is composed with the requires interface of another.
  3. Additive composition where the interfaces of two components are put together to create a new component. Provides and requires interfaces of integrated component is a combination of interfaces of constituent components.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are issues that can occur when a component is developed independently for reuse?

A
  1. Parameter incompatibility where operations have the same name but are of different types.
  2. Operation incompatibility where the names of operations in the composed interfaces are different.
  3. Operation incompleteness where the provides interface of one component is a subset of the requires interface of another.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly