Exam 1 Study Flashcards

1
Q

What is the definition of software engineering?

A

A discipline whose aim is the production of fault free software, delivered on-time, within budget and that satisfies the clients needs.

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

What are three criteria of a successful software project?

A

on-time
budget
satisfies clients needs

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

6 Stages of Classical Waterfall Model

A
  1. Requirements Phase
  2. Analysis Phase
  3. Design Phase
  4. Implementation Phase
  5. Post-delivery Maintenance
  6. Retirement
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Temporal Maintenence

A

In the temporal model the activities defined as maintenance are define as such because they occur after development.

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

8 Principles of Software Engineering

A
Public
Client
Product
Judgment
Management
Profession
Colleagues
Self
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Benefits of incremental process

A

Generates working software quickly
More flexible
Easier to test and debug
Easier to manage risk

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

Disadvantages of incremental process

A

Rigid phases cannot overlap

not all requirements are known upfront

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

What is a specification?

A

a specification defines what the software should do.

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

What is design?

A

The process of turning requirement specification into a design model

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

What actions are performed during implementation?

A

code is generated and tested

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

What is the purpose of testing?

A

identifying bugs

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

Plan Driven

A

All activities are specified in advance

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

A project management process with no detailed plan, that uses incremental development

A

Agile

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

Refactoring

A

re-organizing code to make it simpler, straightforward and satisfactory

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

5 Core workflows of iterative model

A
Requirements Workflow
Analysis Workflow
Design Workflow
Implementation Workflow
Test Workflow
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

List 9 Life Cycle Development Models

A
Evolution Tree Model
Iterative and Incremental Life Cycle Model
Code and Fix Life Cycle Model
Waterfall Life Cycle Model
Rapid Prototyping Life Cycle
Open Source Life Cycle Model
Agile Processes
Synchronize and Stabilize Life Cycle Model
Spiral Life Cycle Model
17
Q

Planning Phase Activities

A

Preliminary Planning
Software Project Management Plan
Monitor SPMP

18
Q

What is pair programming?

A

a programming process where two programmers alternate typing every 15 minutes. One programmer generates code the other checks the code as it is being generated.

19
Q

Millers’ Law

A

human beings are only capable of concentrating on 7 pieces of information at a time.

20
Q

What are the pros of the Iterative Incremental Software Development model?

A
Defects are spotted early
Robustness can be determined early
Early risk detection/mitigation
Always have working version of software
Empirical Evidence supports it
21
Q

Negatives of the Iterative Incremental Software Development model?

A

Phases are rigid and do not overlap
More project management required
Difficult to predict the project completion date