Component based software engineering (CBSE Week7) Flashcards

1
Q

What can be reused in software engineering?

A

Application Systems
- Whole application can be reused

Component Reuse
- Parts (‘components’) of an application may be reused

Object/Function reuse
- Single, well defined object or function can be reused

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

What are the benefits of reuse?

A

Dependability
- Software has been already tested

Time
- Reuse speeds up development

Reduced risk
- Costs are more accurately known. Developing software from scratch involves cost estimation

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

What are the problems with reuse?

A

Maintenance costs
- Source code might not be available, system changes might create incompatibilities

NIMBY
- People want to write their own software. Could be due to trust, or they think they can do a better job

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

What are views? (CBSE)

A

Interface components for displaying information

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

What are models? (CBSE)

A

Models handle requests or events

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

What are Controllers? (CBSE)

A

Controller decides which components to call for a particular request

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

What are Data Access Objects? (CBSE)

A

Provides abstract interfaces for databases

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

What are plugins? (CBSE)

A

Plugins extend functionality of an app

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

What are APIs? (CBSE)

A

APIs are a set of functions or procedures that allow the creation of applications which access the features or data of an operating system, application or other service

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

What are component identification issues?

A

Trust

  • You need to be able to trust a component
  • Have a level of confidence on it working

Requirements
- Different groups of components will satisfy different requirements

Validation

  • The component specification might not give enough information to allow for adequate testing
  • Components could have undesired functionality
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Describe the process of component composition

A

Process of assembling components to create a system

May have to write ‘glue code’ or develop ‘adaptor components’to fit components together (Addresses problems of incompatibility between components)

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

What are the benefits of CBSE?

A

Increased dependability
- Components that have been tried and tested in working systems are usually more dependable than new software

Effective use of specialists
- Instead of reusing domain specific specialists on reoccurring project problems, reusable components can be developed, encapsulating their knowledge.

Accelerated development

  • Bringing a system to market as early as possible is often more important than overall development costs
  • Reusing software can speed up system production because both development and validation time should be reduced
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are the downsides of CBSE?

A

Increased maintenance cost
- if the source code of a reused software system or component is not available maintenance costs may increase as the reused elements of the system may become increasingly incompatible with system changes

Creating and maintaining a component library
- Populating a reusable component library ensuring the software developers can use this library can be expensive

Finding, understanding and adapting reusable components
- Software components have to be discovered in a library, understood and sometimes adapted to work in a new environment. - A component search is part of the normal development process

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