software engineering Flashcards

1
Q

Name two traditional software engineering methodologies [2 marks]

A

Waterfall, V Model, Spiral, Iterative

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

Name and explain briefly the four fundamental activities common to all Software Engineering processes. [4 marks]

A

specifying what you wnat to build; building/coding; testing/validation; evolution/maintenance.

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

Many Quality Assurance managers consider gathering Requirements to be the most important activity in the Software Engineering process. Identify and explain two reasons for this belief. [4 marks]

A

the whole plan is based upon the requirements; its cheapest to fix a miscommunication in the requirements stage, compared to later in the project; you define the criteria by which the client agrees to pay for the product

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

UML can be used to model both requirements and specifications. Explain how the same tool is used differently for these things. 4 marks

A

a sequence diagram can be used to model the sequence of actions between several people and systems (requirements), and then to design the sequence of function calls the new code will take (specifications)

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

Describe the difference between ‘low-fidelity’ or ‘high-fidelity’ prototyping. 2 marks

A

lo-fi is about quickly producing possible ideas to help making decisions; hi-fi is about checking the final idea is right

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

Companies often use coding conventions and standards. Describe two reasons why coding conventions help maintain implementation quality. 2 marks

A

increases readability of code; defines good practice; creates a single style

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

Paired programming is an implementation approach designed to increase quality of software. Describe 3 benefits provided by paired programming. 3 marks

A

sharing best practice; reviewing and coding at the same time; separating thinking and coding

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

Describe the primary role of the release testing team. 1 mark

A

to stop the code going out if it is not ready

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

A common software engineering mistake is to presume that acceptance testing should only happen at the end of the project. Describe how the principle of acceptance testing should be considered differently to maximise Software Quality. [3 marks]

A

More likely to accept the final product if they have seen lots of progress before; they should ideally accept the designs; should also see and accept incremental versions of the software

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

Companies often have to produce software for different platforms, and different version histories of operating systems. Describe how Configuration Management can be used to generate software for different versions of Android (or iOS). [3 marks]

A

configuration management involves creating build scripts that work for different platforms; each build script might pull in different libraries at build time that work for e.g. older vresions of android, or different platforms; these build scripts get automatically triggered and deployed to a matching virtual machine

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