Exam 2 Study Flashcards

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
Q

Failure

A

A fault as it is observed by a user

26
Q

Fault

A

a mistake in the software caused by a human

27
Q

Fault Density

A

A metric to measure the ratio of faults. Such as faults per 1000 lines of code.

28
Q

CMM: Maturity Level 1: Initial Level

A

No sound software engineering management practices
Most cost and time overruns
Little planning
Team constantly responding to crisis

29
Q

CMM: Maturity Level 2: Repeatable Level

A

basic project management practices in place
planning and management based on experience
team begins to gather metrics
Respond to problems as they arise

30
Q

CMM: Maturity Level 3: Defined Level

A

Fully documented processes
Reviews are used to achieve quality goals
Should Introduce Case Tools

31
Q

CMM: Maturity Level 4: Managed Level

A

Set quality and productivity goals for all projects
Continual measurement and review of metrics
Statistical Quality Controls

32
Q

CMM: Maturity Level 5: Optimizing Level

A

Continuous process improvement
Statistical quality and process control techniques
Incorporate positive feedback loop

33
Q

Effort

A

a metric measured in person per month

34
Q

Duration

A

a metric to determine an amount of time

35
Q

Verification

A

the process of determining whether a workflow has been correctly carried out

36
Q

Validation

A

an intensive evaluation process that ensures a product is ready to be delivered to a customer

37
Q

Correctness Proof

A

a mathematical technique for showing that a thing is correct, or that is satisfies specifications

38
Q

Correctness

A

The degree to which the product satisfies specifications

39
Q

Performance

A

response times and space

40
Q

Robustness

A

Robustness is a softwares ability to cope with errors during execution and or erroneous input.

41
Q

Reliability

A

the frequency of critical failure

42
Q

Utility

A

The extent to which the user’s needs are met