1.2.3 Software Development Flashcards

1
Q

State the 7 stages of a software development life cycle.

A

Analysis
Design
Development
Testing
Implementation
Evaluation
Maintenance

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

State the 4 types of testing.

A

Alpha testing
Beta testing
White box testing
Black box testing

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

What is the analysis stage of the SDLC?

A

Collecting information from stakeholders
Using information to clearly define the problem & system requirements

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

What is the design stage of the SDLC?

A

Different aspects of the new system are defined including inputs, outputs, security features, hardware set-up & user interface
Test plan may be designed

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

What is the development stage of the SDLC?

A

Design is used to split project into individual self-contained modules

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

What is the testing stage of the SDLC?

A

The program is tested against test plan

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

What is meant by alpha testing?

A

Carried out in-house by software development teams within company
Bugs are pinpointed & fixed

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

What is meant by beta testing?

A

Carrited out by end-users
Feedback from users informs the next stage of development

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

What is meant by white box testing?

A

Carried out by software development teams
Test plan is based on internal structure of program
All possible routes through program are tested

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

What is meant by black box testing?

A

Testers not aware of internal structure
Either within company or end-users
Test plan traces through inputs/outputs

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

What is meant by implementation?

A

Installed onto users systems after appropriate changes made

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

What is meant by evaluation?

A

Effectiveness of software is evaluated against system requirements
Robustness, reliability, portability & maintainability are considered

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

What is meant by maintenance?

A

Errors or improvements are flagged by end-users
Software updates are sent out to fix bugs, security issues & improvements

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

Describe the waterfall lifecycle.

A

Stages are completed in sequence
To make a change programmers must revisit all stages inbetween
Low user involvement

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

Describe agile methodologies.

A

Different sections of the prototype are devloped in parallel
Adapt quickly to changes in user requirements
Provides user satisfaction over documentation

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

Describe extreme programming.

A

Agile model
Each iteration through cycle generates a “working version” of program

17
Q

Describe the spiral model.

A

Manages risk-heavy projects
Loops through analysis, risk assessment, implementation, evaluation

18
Q

Describe rapid application development.

A

Each iteration generates an “incomplete version” given to user to trial
User feedback is used to generate next, improved prototype

19
Q

What six key qualities do all good algorithms have?

A

Inputs must be clearly defined
Must always produce a valid output for any defined input
Must be able to deal with invalid inputs
Must always reach a stopping condition
Must be well-documented for reference
Must be well-commented for modifications

20
Q

What is the waterfall model used for?

A

Low risk projects with little user input

21
Q

What are the advantages of using the waterfall model?

A

Easy to manage
Well documented

22
Q

What are the disadvantages of using the waterfall model?

A

Lack of flexibility
No risk analysis
Limited user involvement

23
Q

What are agile methodologies used for?

A

Small to medium projects with unclear initial requirements

24
Q

What are the advantages of using agile methodologies?

A

Produces high quality code
Flexible to changing requirements
Regular user input

25
What are the disadvantages of using agile methodologies?
Poor documentation Requires constant interaction between user and programmer
26
What is extreme programming used for?
Small to medium projects with unclear initial requirements and excellent usability
27
What are the advantages of using extreme programming?
Produces high quality code Constant user involvement means high usability
28
What are the disadvantages of using extreme programming?
Team is essential End-user may not be able to be present
29
What is the spiral model used for?
Large, risk-intensive projects with high budget
30
What are the advantages of using the spiral model?
Thorough risk analysis Caters to changing user needs Produces prototypes throughout
31
What are the disadvantages of using the spiral model?
Expensive to hire risk assessors Lack of focus on code efficiency High costs due to constant prototypes
32
What is RAD used for?
Small to medium low-budget projects with short time frames
33
What are the advantages of using RAD?
Caters to changing user needs Highly usable product Focus on core features, reduces development time
34
What are the disadvantages of using RAD?
Poor documentation Fast pace and late changes may reduce code quality