Software Processes Flashcards

1
Q

Life Cycle

A

Refers to the building of the software until the company no longer works/associates with it.

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

Process

A

A set of actions.

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

Issues with software.

A

Evolution always equals faults, and if the original programmers leave, then there could be no understanding of the original code.

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

The Waterfall Model

A

Essentially, you complete the whole software by the requirements you have already been set, allowing no change until it is complete. This is inflexible and is only appropriate when the requirements are final.
Order is:
- Requirements definition
- System and software design
- Implementation and unit testing
- Integration and system testing
- Operation and maintenance

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

Evolutionary Development

A

Allows development of the software based upon specification, but also allows validation of the software too, which means going to the user and checking if there is anything they like/don’t like etc.
Order is:
- Outline description
- Specification (initial version), development (intermediate version), validation (final version).

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

Agile Development

A

This is more of a test driven development.
Uses pair programming and self organised teams (one could be tester, the other the developer etc).

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

Software Specification

A

Establishing what services are required and the constraints on the system’s operation and development.

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

Defect Amplification

A

Minor wrong details leads to bigger problems down the line.

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

Software Design and Implementation

A

Designing a software that realises the specification and creating executable code from that design. These may be inter-leaved.

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

Architectural Design

A

Sub-systems are identified and documented.

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

Abstract Specification

A

For each sub-system, specification of operational constraints and services are produced.

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

Interface Design

A

For each sub-system, an unambiguous interface with other sub-systems are produced.

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

Component Design

A

Services are allocated to components / interfaces of the components are designed.

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

Data structure Design

A

Data structures used in system implementation are designed in detail and specified.

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

Algorithm Design

A

Algorithms used in components to provide services are produced.

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

Testing Process

A

Unit testing
Module testing
Sub-system testing
System testing
Acceptance testing

17
Q

Unit Testing

A

Testing individual components

18
Q

Module Testing

A

Testing related collections of components

19
Q

Sub-system Testing

A

Testing sub-systems (collections of modules)

20
Q

System Testing

A

The system as a whole is tested

21
Q

Acceptance Testing

A

Testing with customer data.

22
Q

SCRUM sprints.

A

We also use SCRUM sprints, which is the development being broken up into increments and focuses more on user testing/requirements.