Software Engineering Process Flashcards

1
Q

Fundamental Process Activities

A

Software specification:
- definition of the software to be produced and contraints
Software development:
- Design, implementation and verification
Software validation:
- ensure that software behaves as required by customer
Software evolution:
- adaption and modification to cope with changing requirements

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

Software Engineering Process Model - Waterfall Model

A
  1. Requirements definition:
    - requirements are defined in detail and serve as system specification
  2. System and software design:
    - definition of overall architecture
    - identification of the fundamental abstractions
  3. Implementation and unit testing:
    - software design realized as set of program units
    - testing verifies that specification is met
  4. Integration and system testing:
    - units are integrated and tested as complete system
  5. Operation and maintenance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Software Engineering Process Model - Waterfall Model

Criticism

A
  • early prototyping impossible
  • change of requirements, design, etc. difficult
  • testing start only in later stage
  • different phases executed by different teams
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Software Engineering Process Model - Agile Development

Key Points and Goal

A

Goal: develop software quickly in presence of rapidly changing requirements

Key Points:

  • changing requirements during development highly problematic
  • render development cycles small & fast (agile)
  • customer and developer work closely together
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Software Engineering Process Model - Extreme Programming (XP)

A

set of simple, interdependent elemts/ practices:

  • customer (Element)
  • User Story (Practice)
  • Acceptance Test (Element) (detailes of the user soties)
  • Short Development cycles (Practice)
  • the planning game (Practice) (Business decide how important a feature is, developers decide €)
  • simple design (practice)
  • Test-Driven Development (Element) (Implementation starts with writing tests)
  • Continuous Integration (Practice) (after each commit system is build and tested)
  • Refactoring (Element) (design techniques)
  • Pair Programming (Practice)
  • Collective ownership
  • coding standards
  • Sustainable pace
  • open workspace
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Software Engineering Process Model - Extreme Programming (XP)

User Storys

A

Text stories with rated difficulty that describe requirements identified with the customer

INVEST

  • Independent
  • Negotiable
  • Valuable (deliver value to the end user)
  • Estimable (possible to estimate size)
  • Size appropriately or Small (otherwise split)
  • Testable
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Software Engineering Process Model - Extreme Programming (XP)

Planning

A

Initial Exploration
- identify all significant user stories and rank them
Release Planning
- set first release date
- customer orders user stories and as velocity gains accuracy adjust release plan
Iteration Planning
- customer picks stories for iteration n
- iteration ends on specific date independent from finished stories
- velocity of iteration: succesfull finished stproes / time
- plannend velocity for iteration n + 1 = velocity of iteration n

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