04 Lecture Flashcards

1
Q

Define Software Lifecycle

A

Set of activities and their relationships to each other to support the development of a software system

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

Define Software Lifecycle Model

A

An abstraction that represents a software lifecycle for the purpose of understanding monitoring or controlling the development of a software system

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

What is Tailoring and which three Activities does it include?

A

Adjusting a lifecycle model to fit a project

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

Which three Activities do Model support?

A
  1. Communication
  2. Analysis/Design
  3. Archival
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

A&D of Modeling

A

+ Modeling enables developers to deal with complexity
+ Modeling males implicit knowledge about the system explicit
+ Modeling formalizes knowledge so that a number of participants can share it

  • If one is not careful model can become as complex as the system being modeled
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

How are models that support communication called

A

Communication Models

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

How are Models that support Analysis and Design called

A

Specification Models

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

Define Validation

A

Assurance that a product, service, or system meets the needs of the customer and other identified stakeholders

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

Define Verification

A

Evaluation whether or not a product, service, or system complies with a regulation, requirement, specification, or imposed condition

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

What are the two major views of software lifecycles

A
  1. Activity centered

Software development consists of a set of development activities

  1. Entity centered

Software development consists of the creation of a set of deliverables

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

What does a process group consist of?

A

Consists of a set of processes

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

What does a process consist of?

A

Consists of activities

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

What does an Activity consist of?

A

Consists of sub activities and tasks

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

Which kind of life cycle models are distinguished?

A

Sequential
Iterative
Agile

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

Name two Sequential SLM

A

Waterfall Model

V-Model

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

Name three Iterative SLM

A

Spiral Model
V-Model XT
Unified Process

17
Q

Name three Agile SLM

A

Extreme Programming (XP)
Kanban
Scrum

18
Q

Describe the Waterfall Model

A
  • Activity-oriented
  • Only if an activity is completely finished, the next one can start
  • Assumes that software development can be scheduled as a step-by-step process that transforms user needs into code
19
Q

Describe the V Model

A
  • Separation between development and testing

- Mapping between development and testing activities

20
Q

Describe Unified Process

A

Four Stages: Inception, Elaboration, Construction, Transition

21
Q

Who invented Extreme Programming

A

Kent Beck
Ron Jeffries
Ward Cunningham

22
Q

What are the four basic principles of Kanban

A

1) Start with existing process
2) Agree to pursue incremental, evolutionary change
3) Respect the current process, roles, responsibilities and titles
4) Leadership at all levels

23
Q

Describe Scrum

A
  • Management and control process
  • Focus on early risk management
  • Deliver working software, incrementally and empirically
  • Simple framework for effective team collaboration
24
Q

What is the purpose of a Software lifecycle Model?

A

To understand, monitor, or control the development of a software system.