1. (General Brainstorming Questions) We wish to compare the relative advantages and disadvantages of using the objectoriented...

Question:

1. (General Brainstorming Questions)

We wish to compare the relative advantages and disadvantages of using the objectoriented approach (classes, inheritance and subtype polymorphism) and the more general approach taken in this chapter. To keep the discussion concrete you can refer to the example on numerical quadrature in Section 3.9. We examine these solutions from the viewpoints of the ISO 9126 product quality standard. The characteristics of ISO 9126 that we address in this exercise are:

1. Functionality: a set of attributes that bear on the existence of a set of functions and their specified properties. The functions are those that satisfy stated or implied needs.

2. Reliability: a set of attributes that bear on the capability of software to maintain its level of performance under stated conditions for a stated period of time.

3. Efficiency: a set of attributes that bear on the relationship between the level of performance of the software and the amount of resources used, under stated conditions.

4. Maintainability: a set of attributes that bear on the effort needed to make specified modifications.

5. Portability: a set of attributes that bear on the ability of software to be transferred from one environment to another.

In general, all software products need to conform to one or more of the above characteristics

(they may even be implicit and their absence in the software may (unexpectedly)

surface at the later stages of a software development project). The objective in this exercise is to determine whether the object-oriented approach is a better fit to requirements 1 to 5 than the approach using std::function<> and lambda functions. As specific use cases consider the following requirements:

 The ability of the software to operate with different programming styles.

 Supporting double and float types.

 Integrating (possibly incompatible) libraries and code with the current software.

 Avoiding run-time memory allocation and deallocation.

Which ISO 9126 characteristics are related to the above points?

Fantastic news! We've Found the answer you've been seeking!

Step by Step Answer:

Related Book For  book-img-for-question
Question Posted: