SOFTWARE PROCESSES II Flashcards

1
Q

Describe the Code-and-fix model

A

 This model starts with an informal general product idea and just develops code until a product is ”ready” (or money/time runs out). Work is in random order.
 The most expensive way for maintenance (i.e., maintenance nightmare)
 The product is implemented without requirements or
specifications, or any attempt at design.
 The developers simply throw code together and rework it as many times as necessary to satisfy the client.

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

Illustrate the Code and Fix model

A

*See notes

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

What are the advantages of the code and fix model

A

 No administrative overhead
 Signs of progress (code) early.
 Low expertise, anyone can use it!
 Useful for small “proof of concept” projects, e.g. as part of risk reduction

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

What are the disadvantages of the code and fix model

A

 No visibility/control
 No resource planning
 No deadlines
 Mistakes hard to detect/correct
 Impossible for large projects because it leads to
communication breakdown and chaos.
 The most expensive way for maintenance (i.e., maintenance nightmare)

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

Describe software design and implementation

A

The process of converting the system specification into an executable system

 Software Design (inputs: specifications)
Design a software structure that realizes the specification;

 Implementation
Translate this model / structure into an executable app;
Programming is the implementation of the design.

The activities of design and implementation are closely
related and may be inter-leaved and definitely are using
many modern development processes

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

Illustrate the general model of the design process

A

*See notes

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

Describe the activities that are part of the design process

A

 Architectural design, where one identifies the overall
structure of the system, the principal components
(sometimes called sub-systems or modules or layers,
etc…), their relationships and how they are distributed.
 Interface design, where one defines the interfaces
between system components
(Recognize that to the end user, the UI is the application.)
 Component design where one takes each system
component and design how it will operate
 Database design where one designs the system data
structures and how these are to be represented in a
database.

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

Describe software validation and verification

A

 Verification and validation (V & V) is intended to show that a system conforms to its specification and meets the requirements of the system customer.
 Involves checking and review processes and system
testing.

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

What is system testing

A

 System testing involves executing the system with test cases that are derived from the specification of the real data to be processed by the system.
 Testing is the most commonly used V & V activity.

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

Illustrate and explain the stages of testing

A

 Development or component testing (Unit testing)
-Individual components are tested independently;
-Components may be functions or objects or coherent
groupings of these entities.
 System testing
-Testing of the system as a whole. Testing of emergent
properties is particularly important.
 Acceptance testing
-Testing with customer data to check that the system meets the customer’s needs

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

Describe software evolution

A

 Software is inherently flexible and can change.
 As requirements change through changing business
circumstances, the software that supports the business
must also evolve and change.
 Although there has been a demarcation between
development and evolution (maintenance) this is
increasingly irrelevant as fewer and fewer systems are
completely new (greenfield)

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