Exam 2 Study Flashcards

(42 cards)

1
Q

Software Process

A

A general term describing the over-arching process of developing software.

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

What are the five elements of the Software Process?

A
Requirements Gathering
Design
Implementation
Testing 
Maintenance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is the primary object-oriented methodology?

A

The unified process

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

an adaptive methodology for software construction

A

Unified Process

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

The phases of the unified process

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
6
Q

What is meant by a phase of the Unified Process?

A

A phase is a series of smaller steps in a larger process

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

Who is responsible for the correctness of a product?

A

SQA Group (Software Quality Assurance)

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

What are the 5 levels of CMM (Capability Maturity Models)?

A
  1. Initial Level
  2. Repeatable Level
  3. Defined Level
  4. Managed Level
  5. Optimizing Level
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are CASE tools used for?

A

Software tools that assist software engineering teams in developing and maintaining software.

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

Democratic Teams

A

Strengths
High-quality code
good with hard problems

Weakness
senior members may resent appraisals
cannot be externally imposed

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

Classical Chief Programmer Teams

A

Strength
Major success of The New York Times project

Weakness
Impractical

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

Modified Chief Programmer Teams

A

Strength
Many Successes

Weakness
No successes on a large scale

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

Modern Hierarchical Programming Teams

A

Strengths
Team Manager structure eliminates the need for a chief programmer
scales up
supports decentralization when needed

Weakness
Problems can arise unless areas of responsibility of the team manager and the team leader are clearly delineated

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

Synchronize-and-stabilize teams

A

Strength
Encourages creativity
Ensures that a huge number of developers can work toward a common goal

Weakness
No evidence so far that this method can be utilized out side of microsoft

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

Agile Process Teams

A

Strengths
Programmers do not tes their own code
Knowledge is not lost if one programmer leaves
Less-experienced programmers can learn from others

Weakness
Still too little evidence regarding efficacy

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

Open-Source Teams

A

Strength
A few projects are extremely successful

Weakness
Narrowly applicable
Must be led by a superb motivator
Require top caliber participants

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

Name the 7 types of Team Organizations

A
Democratic Teams
Classical Chief Programmer Teams
Modified Chief Programmer Teams
Modern Hierachical Programming Teams
Synchronize and Stabilize Teams
Agile Process Teams
Open-Source Teams
18
Q

What is Brook’s Law?

A

Adding manpower to a late software project makes it later

19
Q

Pair Programming Advantages and Disadvantages

A

Strengths
Team members benefit from each others experience
Programs have fewer bugs

Weaknesses
requires large blocks of uninterrupted time
does not work for shy or overbearing programmers

20
Q

S.P.I.C.E

A

Software Process Improvement Capability Determination

21
Q

ISO 9000

A

International Organization for Standardization ISO9000

22
Q

Version Control Tool

A

A tool that help maintain multiple version of an artifact

23
Q

Configuration Control Tool

A

A tool that tracks and controls revisions

24
Q

Walkthrough vs Testing

A

Testing takes less time and has few steps

25
Failure
A fault as it is observed by a user
26
Fault
a mistake in the software caused by a human
27
Fault Density
A metric to measure the ratio of faults. Such as faults per 1000 lines of code.
28
CMM: Maturity Level 1: Initial Level
No sound software engineering management practices Most cost and time overruns Little planning Team constantly responding to crisis
29
CMM: Maturity Level 2: Repeatable Level
basic project management practices in place planning and management based on experience team begins to gather metrics Respond to problems as they arise
30
CMM: Maturity Level 3: Defined Level
Fully documented processes Reviews are used to achieve quality goals Should Introduce Case Tools
31
CMM: Maturity Level 4: Managed Level
Set quality and productivity goals for all projects Continual measurement and review of metrics Statistical Quality Controls
32
CMM: Maturity Level 5: Optimizing Level
Continuous process improvement Statistical quality and process control techniques Incorporate positive feedback loop
33
Effort
a metric measured in person per month
34
Duration
a metric to determine an amount of time
35
Verification
the process of determining whether a workflow has been correctly carried out
36
Validation
an intensive evaluation process that ensures a product is ready to be delivered to a customer
37
Correctness Proof
a mathematical technique for showing that a thing is correct, or that is satisfies specifications
38
Correctness
The degree to which the product satisfies specifications
39
Performance
response times and space
40
Robustness
Robustness is a softwares ability to cope with errors during execution and or erroneous input.
41
Reliability
the frequency of critical failure
42
Utility
The extent to which the user's needs are met