Software Development: Software Development Process Flashcards

1
Q

Explain why the Software Development Process is an ‘Iterative Process’

A
  • It is described as an iterative process because stages in the process may be revisited as a result of information gained in later stages
  • This means that the solution will be constantly be redefined until perfected
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is the ‘Software Specification’ document?

A

It is a formal specification of the scope and boundaries of a piece of software, and forms parti of a legally binding contract between the client and the development team

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

What are 2 purposes of the ‘Software Specification’ document

A
  • To act as part of a legally binding contract between the client and the developers
  • To identify scope and boundaries of problem so that the problem can be contained
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the 7 stages of the Software Development process

A
  • Analysis
  • Design
  • Implementation
  • Testing
  • Documentation
  • Evaluation
  • Maintenance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Explain fully the Analysis stage, including purpose, personnel and documentation

A

Purpose
• To define the extent of the software task to be carried out

Personnel
• Client and systems analyst

Documentation
• Software specification

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

Describe and explain 2 techniques used during the analysis stage

A
  • Interviewing, which involves asking employers and employees being asked what is needed in the software
  • Inspection of Existing Documentation, which involves looking over existing documents to understand how data is currently collected by the clients
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Explain fully the Design stage, including purpose, personnel and documentation

A

Purpose
• To design a method of solving the clients problem

Personnel
• Project manager and systems analyst

Documentation
• Algorithm

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

Describe 3 features that make a good GUI

A
  • There should be consistency in layouts of menus, layouts and text
  • It should be possible to reverse action, such as using an UNDO button
  • Commands should be indicated with simple verbs and not large amounts of text
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is stepwise refinement?

A

This is the process of repeatedly breaking down larger difficult problems step by step into smaller, easier-to-solve problems

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

What is top down design?

A

Breaking down a problem into sub problems

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

What is bottom up design?

A

Using solved sub problems to put together, making one big solution to a problem using these sub problems

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

What is pseudocode?

A

Pseudocode is a detailed outline of a program written in English to help a programmer understand problems and sub problems

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

What are 2 features of using pseudocode?

A
  • It describes the detailed logic of a program without having to bother about the details of how it is going t be implemented in the chosen programming language
  • It shows the stepwise refinement of the problem in levels of decomposition
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What does the following icon represent in a structure diagram? DIAGRAM

A

A module requiring further refinement

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

What does the following icon represent in a structure diagram? DIAGRAM

A

Repetition

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

What does the following icon represent in a structure diagram? DIAGRAM

A

Selection

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

What does the following icon represent in a structure diagram? DIAGRAM

A

A module requiring no further refinement

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

Explain fully the Implementation stage, including purpose, personnel and documentation

A

Purpose
• To write code in a chosen programming language

Personnel
• Programmer and Project Manager

Documentation
• Program code

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

3 ways that program code can be improved to build a solution to a problem

A
  • Use internal commentary to explain functions of code throughout the program
  • Use meaningful variable names
  • Make the program modular, by breaking down the program into procedures and functions
20
Q

2 factors you should consider when choosing a programming language

A
  • The type of data the language has to support, e.g. floating point numbers or images
  • The arithmetical and logical operations required, e.g. string operations and substrings
21
Q

Explain fully the Testing stage, including purpose, personnel and documentation

A

Purpose
• To test that a program matches its specification

Personnel
• Independent Test Group

Documentation
• Sets of test data and reports

22
Q

What is a syntax error?

A

This is when there is a mistake in the grammar of a programming language, which is reported by the translator

23
Q

What is a run-time error?

A

These are errors that aren’t detected by a translator, but is discovered when the program is run, often by crashing the program

24
Q

What is a logic error?

A

This is when a program gives incorrect results, despite having correct syntax and no run-time errors.

25
Q

Name and describe 2 ways you could locate and remove errors

A
  • A structured walkthrough, which involves following through the logic of the instructions line by line using a structured listing of the code
  • A dry run, which involves stepping through the program instructions and manually working out on paper how the program variables are updated
26
Q

What is systematic testing?

A

This involves a progression through testing subroutines to testing the whole system

27
Q

What is comprehensive testing?

A

This involves choosing test data to test that the software can cope with as many cases as possible, including normal, extreme(boundary) and exceptional data

28
Q

2 reasons why an Independent Test Group is used

A
  • The group will test the program without bias and no expectation of a certain output
  • The group will not sign off the project just to make a deadline
29
Q

Explain fully the Documentation stage, including purpose, personnel and documentation

A

Purpose
• To produce documentation to be distributed within the software

Personnel
• Client, Systems Analyst and Programmer

Documentation
• User guide and technical guide

30
Q

What is a user guide?

A

A document to teach the users how to use the feature of the software

31
Q

What is a technical guide?

A

A document to help technical staff to maintain software, and includes things such as software installation and memory and storage requirements

32
Q

Explain fully the Evaluation stage, including purpose, personnel and documentation

A

Purpose
• To report upon the quality of the software according to given criteria

Personnel
• Any

Documentation
• Project evaluation report

33
Q

What is meant by ‘robustness’?

A

The ability of software to cope with errors during running

34
Q

What is meant by ‘reliability’?

A

How well software operates without stopping due to design faults

35
Q

What is meant by ‘efficiency’?

A

How much memory and processor time software uses

36
Q

What is meant by ‘portability’?

A

The ability of software to run on a system other than the one it was designed for

37
Q

What is meant by ‘maintainability’?

A

The ease with which changes can be made to software, and is determined by factors such as readability and modularity

38
Q

Explain fully the Maintenance stage, including purpose, personnel and documentation

A

Purpose
• To make changes to the software after the product is handed over to the client

Personnel
• Programmer and Client

Documentation
• Maintenance report

39
Q

What are the 3 categories of maintenance?

A
  • Corrective maintenance
  • Adaptive maintenance
  • Perfective maintenance
40
Q

What is corrective maintenance?

A

Corrective maintenance involves removing errors in the software that were not detected during development

41
Q

What is adaptive maintenance?

A

Adaptive maintenance involves adapting to new hardware as it improves over time

42
Q

What is perfective maintenance?

A

Perfective maintenance involves adding enhancements to the software from request by the client to modify the programs function

43
Q

Name and describe 2 factors that affect maintenance

A
  • Staff mobility, as people change jobs constantly so those who worked on a program may leave
  • Poor documentation, as modifying a program requires detailed documentation of how a program was developed and it’s previous features
44
Q

What is the purpose of data flow?

A

To identify which variables will be passed as parameters

45
Q

Explain how could you make a program more efficient?(2)

A

Don’t include any unecessary code in the program, so that the processor is not required to carry out unecessary commands