Chapter 2: SPE Overview Flashcards

1
Q

What is Software Performance Engineering?

A

A systematic, quantitative approach to constructing software systems that meet performance objectives.

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

What are some benefits of using SPE early in the lifecycle?

A

* Don’t need to throw out bad designs after they’ve been written * Improved quality & usefulness of the resulting SW product as a result of sound design choices * Cost-control with respect to the hardware required to implement the product * Enhanced productivity during implementation, testing, and early operational stages as sufficient computing power is made available

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

The first step of SPE is “assess performance risk”. Explain this step.

A

Assess the performance risk to determine how much effort to put into performance engineering. Minimal effort can happen when: * The project is similar to a previous effort * The project is not important for mission or economic survival * The project will have low resource utilization Otherwise, a more significant SPE effort is required.

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

What are the critical use cases of a system?

A

The use cases that are important to the operation of the system, or are important to the responsiveness as seen by the user. Critical use case selection is risk driven

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

What are key performance scenarios?

A

As it is unlikely that the scenarios from each critical use case will be important from a performance perspective, key performance scenarios are identified. Key performance scenarios are executed frequently, are critical to the perceived performance of a system, and correspond to a workload.

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

What is workload intensity?

A

Workload intensity specifies the level of usage for the scenario (arrival rate) i.e. the workload intensity of a customer transaction is the number of customer transactions/their arrival rate during the peak period

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

What are performance objectives?

A

A specification of quantitative criteria for evaluating performance characteristics of a system under development - response time, throughput, or constraints on resource usage i.e. 30 seconds or less to complete an end-to-end ATM transaction

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

What are performance models?

A

Execution graphs and sequence diagrams used to represent software processing steps

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

What is this figure called, and what does it represent?

A

It is a sequence diagram, and represents the real process that happens between a user, a device, and a backend (database) server.

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

What is this figure called, and what does it represent?

A

An execution graph, and it indicates the processes or functions that must take place in a given sequence of operations.

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

What are software resource requirements?

A

The computational needs that are meaningful from a software perspective

i.e. number of screens (login screen, payment screen, etc)

number of interactions from ATM to host bank

number of log entries written

delay in cash dispenser or receipt printing

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

What are computer resource requirements?

A

Computer resource requirements map the software resource requirements onto the amount of service key devices in the execution environment

i.e. types of processors/devices (CPU, disk, display, delay), quantity, speed

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

If a performance model indicates that there are problems, what are the two alternatives available to you?

A
  • Modify the product concept: look for feasible cost-effective alternatives to satisfy the use case
  • Revise performance objectives: If no feasible alternative exists, modify performance goals to affect reality
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is model verification? What is model validation?

A

Model verification and validation are ongoing activities that proceed in parallel with construction and evaluation of models

Verification is aimed at determinining whether the model predictions are an accurate reflection of the software’s performance

Validation is concerned with determining whether the model accurately reflects the execution characteristics of the software

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

What is the simple model strategy?

A

The simple-model strategy leverges the SPE effort to provide rapid feedback on the performance of the proposed software

One starts with the simplest possible model that identifies problems with the system architecture, design, or implementation plans

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