Software Development Process Models Flashcards

1
Q

Process

A

A process is a series of actions bringing about a result

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

Software Development Process

A
  1. The process by which user needs are translated into software product. The process involves
    - translating user needs into software requirements
    - transforming the software requrirements into design
    - implementing the design into code
    - testing the code
    - and sometimes, installing and checking out the software for operational use
  2. May overlap
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Software Process Model

A
  1. A (software) process model is
    - an abstraction of similar software processes
    - a blueprint (a pattern) used to organize and perform a software process
  2. A software process model should be
    - useful and helpful
    - clearly defined
    - accepted by the development organization
  3. Reduction of project risks!
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Code and Fix

A
  • Coding and error correction together with ad-hoc tests are the only activities performed consciously
  • Systems dont conform to the real requirements
  • Cost for corrections are disproportionately high
  • Important concepts and decisions are not documented
  • Very often this development model is applied altough it is uneconomical
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Waterfall Model

A
  • We work from top left to bottom right
  • If errors are detected we go back to the corresponding activity
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Waterfall Model - Benefits

A
  • Supports project management
  • Supports planning and controlling
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Waterfall Model - Problems

A

Assumptions:
- Requirements are known up front before design
- Requirements rarely change
- Users know what they want and rearely need visualization
- The system is not so complex

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

Spiral Model

A
  1. Reaction to waterfall model
  2. Core idea: Always react to development risks
  3. Repeat the cycle until the project is finished successfully or it fails
    - Identify all the risks
    - Assess all risks to get the most important one
    - Select an approach to eliminate the risk and apply this approach
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Incremental Development

A

Basic idea: We dont develop the whole system

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

Incremental Development - Benefits

A
  • Project progress is shown not by documents but by executable systems
  • Each increment implements a defined set of requirements
  • allows for software to evolve, not be produced in one huge effort
  • allows software to improve, by giving enough time to the evolutionary process itself
  • forces attention on stability, because only a stable foundation can support multiple additions
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Iterative Development

A
  • Controlled continuous revision of software aiming at correcting errors early and integrate improvements
  • We get things wrong before we get them right
  • recognizes the reality of chaning requirements
  • promotes early risk mitigation, by breaking down the system into mini-projects and focusing on the riskier elements first
  • allows you to plan a litte, design a little, code a little
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Prototyping - Idea

A
  • It is easier to describe a system relatively to a similar system than to abstractly specify its requirements
  • Experiences gained in building a prototype are useful for the final system development
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Prototyping - Implications

A
  • A prototype hat to be executable / performable
  • It only implements some selected attributes of the final system
  • It has to be used and assesses by users / clients
  • Based on the feedback, it is modified until it fits to what the user wants
How well did you know this?
1
Not at all
2
3
4
5
Perfectly