Software Processes Flashcards

1
Q

what is a process

A

series of activities

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

Name some characteristics of processes

A

pescribes all major activities.
Has entry and exit criteria
organized in a sequence
contraints may apply

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

what is a life cycle

A

process involves the building of some product.

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

What is the software process

A

structured set of activities require to develop a software system consisting of specification, design and implementation, validation and evolution.

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

What is a software process model

A

abstract representation of a process.

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

What is the waterfall problem

A

seperate and distinct phases of specification and development

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

Problems with waterfall problem

A

difficult of accomodating change after the process is underway - inflexible partioning. static view of requirements so ignores changing needs. Lack of user involvement. Problems arent detected until late in the process.

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

Where is the waterfall model used in?

A

military and aerospace industries

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

When is it appropriate to use the waterfall model?

A

when the final requirements are well understood which is rare

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

Advantages of waterfall model

A

easy to remember
each step is an important step in software development
squence is important. Design before code.

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

What is evolutionary development

A

based upon the idea of developing an initial implementation, exposing to user and refining it based on their response.

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

what is throw away prototyping

A

understand system requirements. Start with poorly understood requirements. Develop quick and dirty system, expose to user comment, refine.

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

Problems with evolutionary development

A

lack of process visibility, systems are sometimes poorly structred, special skills may be required. Used in all types of system but rare in safety critical.

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

What is formal systems development?

A

based on the transformation of a mathematical specification.

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

what does correctness preserving mean in terms of transformation?

A

program conforms to its specification. Embodied in the ‘cleanroom’ approach.

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

Problems with formal system development

A

need for specialised skill and training. (higher inital cost).
can be difficult to formally specify aspects of the system like user interface
can be more time consuming
Used in critical systems

17
Q

what is incremental development?

A

development and delivery is broken down into increments. User requirements are prioritised and once development is started the requirements are frozen so later increments continue to evolve.

18
Q

name some advantages of increment development

A

customer value
early increments
lower risk of overall project failure
highest priority system services tend to recieve more testing

19
Q

In reality, which method of development to software use and why?

A

Prototyping and iterative buiding as it reduces the risk of making wrong product, allows the software to undergo more testing, less chance of inventory loss.

20
Q

what is the software specification

A

process of establishing what services are required and the constraints.

21
Q

Name some design process activities

A
architectural design (sub systems)
abstract specification
interface design
component design
data structure design
algorithm design
22
Q

what is a model

A

graphical view of the operation/structure of the system. Can be dynamic or static.

23
Q

Why have models?

A

formalises the type and format of require info.
easier to get a big picture than text
do not rely on natural language.

24
Q

what is verification, validation and system testing

A

verification - systems conforms to its specifications
validation - meets the requirements of the user
system testing involves executing the system with test cases

25
Q

name some testing stages

A

unit testing, module testing, sub system testing, system testing, acceptance testing.

26
Q

What is CASE?

A

software to support software development and evolution process. Doesnt support teach activities.