Unit 1 Flashcards

1
Q

Describe the essential characteristics of a good software system

A

A good software system is one that meets its users’ needs. We can characterise a good software system as useful, usable, reliable, flexible, available and affordable.

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

What is a fit criteria, give an example

A

A quantification or a measurement of a requirement expressed in a way that allows you to assess whether or not the final product satisfies, or fits, that requirement.
e.g. Must load something in x seconds

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

What is a usability requirement, list examples

A

A non-functional requirement about the product’s ease of use or other usability considerations.
e.g. existing staff find it easy to use

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

What is a performance requirement, give examples

A

A non-functional requirement about how fast, how safe, how accurate, how available and how reliable the product must be.
e.g. The system shall be capable of responding to requests within 0.2 second.

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

List some response measures

A

Latency, throughput, jitter, miss rate, data loss

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

Describe latency

A

The time taken to process a stimulus e.g. how long does a search engine take to respond to a query

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

Describe throughput

A

The number of events dealt with in a given time

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

Describe jitter

A

The amount of variation in latency

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

Describe miss rate

A

The proportion of events that are not responded to

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

Describe data loss

A

How much data is lost because the system fails to record it.

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

What is the difference between a provided interface and a required interface?

A

A provided interface describes the operations a component provides to
other components. A required interface describes the operations a
component requires from other components.

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

When is agile development recommended?

A

Requirements are constantly changing – agile deals with well with change
Developers and users can communicate regularly – agile demands close involvement of developers and users
The team is small, so that everyone can take part in a single stand-up
meeting.

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

When is agile development not recommended?

A

Heavily regulated environment – agile is not amenable to heavy regulated documentation
Predictability is more important than flexibility – agile values flexibility rather than predictability
Large software development with distributed teams – difficulty to scale has been a constant criticism of agile; distributed teams put a heavy burden on communication which so central to agile
Requirements are well defined and unlikely to change
Customer is distant –agile demands close involvement of customer

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

What is black box testing?

A

Used to test each aspect of the customer’s requirements is handled correctly by an implementation. It see’s a system through it specification

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

What is white box testing?

A

Used to check that the details of the implementation are correct. It ignores the big picture of the requirements and instead looks to detailed designs to check that the system does what it is supposed to do correctly, ideally representatively testing all paths. Must also check the outputs are correct.

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