3 Software Components Flashcards

1
Q

Component Definition

A
unit of composition
can be deployed independently
-has provided (and required) interfaces
-hides its implementation
-is self-contained
-adheres to a component model
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Informal Definition

A

A component is a contractually specified
building block for software that can be
readily used by third parties without
understanding its internal structure

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

Comp and layered Arch.

A

usually comprise the application and domain layer

infrastructure layers may also use comps

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

Encapsulation

A

Information hiding principle:
An interface should describe an abstraction of the implementation. Allows revision of the encapsulated design
-> inheritance is conflicting with the black box principle

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

Benefits of encapsulation

A

Comprehensibility
Faster development
Less redundancy
Maintainability/adaptability

Applies to
Functions, Procedures
Modules
Classes
Components
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

BGW Box

A

Black box:
No Internal Information

Grey Box:
an abstract view of internals
e.g. specification of internal behavior

White box:
all information about a compoinent is given
eg specification and source code

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

Benefits of Comps

A

Encapsulation
better construction and maintainability

Block-box reuse
 development
 -with reuse: planned (marketplace), unplanned (pragmatic software search)
 -for reuse: components, product lines
better quality, time, costs

Engineering approach to software development

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

Component Lifecycle

A
  1. comp specification
  2. comp implementation
  3. installed/deployed comp
  4. “comp object” (running comp)
    - in some comp defs comps can have state
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Diff btw Classes and Components - Classes

A

Class is design time entity
object is run time entity
usable by inheritance and delegation
source code often required for reuse by inherit.
often designed for one system
traditionally, deploymnt context does not change after compilation

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

Diff btw Classes and Components - Components

A

Can be design-time or executable run-time entity
may contain several classes
source code may not be available
only usable by delegation
description by interfaces
developed seperately
deployment context is not fixed at compilation time

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

Modules

A

a modules encaps.es a design decision
can only be accessed via interfaces
interfaces should provide sufficient information for
using and implementing the module

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

Module vs Comp similar

A

Elemts for hierarchical system decomposition
used through interface
often only one isntance available

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

Module vs Comp different

A

different goals:
-comps are building block (variation, reuse)
-modules hide design decisions
->may have different levels of granularity
modules are nof (fully) contractually specified entities
import-clause of modules is insufficient for a requires-interface

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