1 Software Process Models Flashcards

1
Q

Code and fix leads to…

A
badly structured code
non systematic improvements
no real team work, as tasks can not be planned
missing design and documentation
complications in maintenance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Software Development Process

A
Waterfall model
Spiral model
V model
RUP
Agile methods
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

SDP Def

A

A description of a process from some particular perspective
Recommendations and guidelines for
-which activieties are to be carried out
-who has to carry out what
-which products are to be built until when
-which techniques and tools are to be used

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

Waterfall Model Phases

A
Planung
Definition
Entwurf
Implementierung
Testen
Abnahme Einsatz u. Wartung
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

WM Disadvantages

A

Infelxible partitioning of the project into distinct stages
Insensitive to changing customer requirements
High-risk due to “big bang” integration

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

WM Applicability

A

Only feasible when requirements are well understood
Requires lot of exp. with dev. techniques and tools
Not well suited for complex and unprecedented projects

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

V-Model Modeling & Design Activities

A
Users expectiations
 User requirements 
 Requirements specification
 System design
 Component specifications
 Component design
 Component Implementation
-> TESTING
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

V-model Testing

A

MODELING

  • > Executable components
  • > Executable system
  • > Usable system
  • > Deployed system
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Spiral model

A

I. Objective Setting (Determine objectives, alternatives, constraints)
II. Risk assessment and reduction (Evaluate alternatives, identify & resolve risks)
III. Implementation and validation (Develop, verify next-level product)
IV. Planning (Plan next phases)

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

Iterative Development

A

Project split into short fixed length mini-projects = iterations
Outcome of each is a tested, integrated executable PARTIAL system

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

ID Key Aspects

A

Typical assumtions:

  • Successive enlargement -> incremental developement
  • Successive refinement, cyclic feedback and adaptation -> evolutionary and adaptive development

Terms oftren used interchangeably with ID

  • Iterative & Incremental Development IID
  • Evolutionary Development
  • Adaptive Development
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

An Increment

A

Each increment contains part of the req. funcitonality
Risk driven iterative development (riskiest features first)
client drive iterative development (client chooses)
normally combination of both is recommendet

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

ID Advantages

A

Early rather than late attetntion for high risks
early visible progress
early feedback
managed complexity
exp from iterations can be used to improve process itself

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

ID Disadvantages

A

Additional overhead involved in planning and integr.
refactoring may be needed as additional requirements are addressed
cost estimation is claimed to be harder

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

Rational Unified Process (RUP)

A

Disciplined approach to assing tasks and responsibilities within an organization in order to develop specific products

Roles -> Who?
-Defines a set of skills and responsibilities

Activities/Tasks -> How?

  • Describes work packages that need to be carried out by a role
  • Implementation in disciplines (aka workflows) in each iteration

Artifacts/Work Products -> What?
-Result of a task, eg, models and documents

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

RUP phases

A

Inception
-Define project scope, estimate cost, define risks

Elaboration
-Specify requirements in greater detail, validate architecture, staff project team

Construction
-Model, build, test system, develop documentation

Transition
-System testing, user testing, system rework, sys. deployment

17
Q

RUP artifacts

A

Lifecycle objectives (LCO)

Lifecycle Architecture (LCA)

Initial operational Capability (IOC)

Product Release (PR)

18
Q

Unified Process UP

A
  • 4 abstract phases (same as RUP)
  • 9 Discriplines (6 engineering, 3 supporting)
  • 6 best practices:
  • -develop software iteratively
  • -manage requirements
  • -use component-based architectures
  • -model software visually
  • -verify software quality
  • -control changes to software
19
Q

Iteration Length UP

A

Short iterations -> rapid feedback & adaptation
Long interations increase project risk
normally fixed in lenght (time boxed)
UP recommends:
-short timeboxed iterations btw. 2-6 Weeks
-if meeting deadline difficult:
–remove tasks or requirements from iteration
– inclde them in future iteration

20
Q

Software prototyping

A

initial version of a system used to demonstrate concepts and try out deisng options

Prototyping significantly reduces requirement and design errors, esp. for user interfaces

different ways:

  • ui sketches on paper
  • executable prototypes
  • tradeoff between expected benefit and effort
21
Q

Prototyping benefits

A

Imporived system usability
a closer match to users real needs
imporived design quality and maintainability
eventually reduces develoopment effort

22
Q

Agile development

A
lightweight approach to software dev.
philosophy that encompasses many concrete methods
four main value statements:
-individuals and interactions
-working software
-customer collaboration
-responding to change
23
Q

Agile dev principles

A
satisfy customer through continuous delivery
welcome changing requirements
work together daily, face-to-face
motivated individuals
working software is primary measure of progress
promote sustainable development
technical excellence and good design
simplicity
self-organizing teams
24
Q

Agile dev advantages

A

System is developed incrementally
early feedback guaranteed
simple managment model
rapid response to change is feasible

25
Q

Agile def disadv.

A

require frequent refactoring cycles
sometimes used as an exuse when there exists no process at all
not feasible for distributed projects
may lead to systems with suboptimal maintainability

26
Q

Agile Unified Process

A

Combines best practices from UP and the agile world
the way UP was inteded

Main principles:

  • adapt up to the specific project
  • select up activities and artifacts
  • apply up with agile modeling practices
27
Q

Agile Modeling practices

A
support understanding and communication
only UML-model unusual or difficult parts
use simplest tool possible
dont model alone -> in pairs
create models in parallel
use simple notation