1.2.3 Software Development Flashcards

You may prefer our related Brainscape-certified 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
Q

What are the disadvantages of using agile methodologies?

A

Poor documentation
Requires constant interaction between user and programmer

26
Q

What is extreme programming used for?

A

Small to medium projects with unclear initial requirements and excellent usability

27
Q

What are the advantages of using extreme programming?

A

Produces high quality code
Constant user involvement means high usability

28
Q

What are the disadvantages of using extreme programming?

A

Team is essential
End-user may not be able to be present

29
Q

What is the spiral model used for?

A

Large, risk-intensive projects with high budget

30
Q

What are the advantages of using the spiral model?

A

Thorough risk analysis
Caters to changing user needs
Produces prototypes throughout

31
Q

What are the disadvantages of using the spiral model?

A

Expensive to hire risk assessors
Lack of focus on code efficiency
High costs due to constant prototypes

32
Q

What is RAD used for?

A

Small to medium low-budget projects with short time frames

33
Q

What are the advantages of using RAD?

A

Caters to changing user needs
Highly usable product
Focus on core features, reduces development time

34
Q

What are the disadvantages of using RAD?

A

Poor documentation
Fast pace and late changes may reduce code quality