UOPeople Software Engineering 1: Estimation Flashcards

1
Q

What is the purpose of Measurement and Estimation?

A

To estimate Cost and Effort so that management can make decisions regarding the budget and delivery dates

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

How much is the estimated maintenance cost?

A

Approx 70% of lifetime cost

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

When should estimation take place?

A

If the purpose of software measurement is an estimation of cost and effort, we would like to measure
at an early stage in the software life-cycle. Typically a budget allocation is set at an early phase of
a procurement process and a decision on contract price made on these budget constraints and

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

Factors that determine the time it takes to complete a project

A

Functional requirements: These are often represented with use cases (Section 2.3). The complexity of use cases, in turn, depends on the number and complexity of the actors and the number of steps (transactions) to execute each use case.

Nonfunctional requirements: These describe the system’s non-functional properties, known as FURPS+ (see Section 2.2.1), such as security, usability, and performance. These are also known as the “technical complexity factors.”

Environmental factors: Various factors such as the experience and knowledge of the development team, and how sophisticated tools they will be using for the development.

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

What is considered a reasonably accurate estimate

A

within 20% of the estimated time

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

Formula for UCP

A

UCP = UUCP x TCF x EFC

The formula for calculating UCP is composed of three variables:

  1. Unadjusted Use Case Points (UUCP), which measures the complexity of the functional
    requirements. Consists of the following two components:

a. The Unadjusted Actor Weight (UAW), based on the combined complexity of all the actors
in all the use cases.

b. The Unadjusted Use Case Weight (UUCW), based on the total number of activities (or
steps) contained in all the use case scenarios.

  1. The Technical Complexity Factor (TCF), which measures the complexity of the
    nonfunctional requirements
  2. The Environment Complexity Factor (ECF), which assesses the development team’s
    experience and their development environment
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

UCP: Actor classification

A

Simple 1 Point: The actor is another system that interacts with our system through a defined application programming interface (API).

Average 2 Points The actor is a person interacting through a text-based user interface, or another system interacting through a protocol, such as a network
communication protocol.

Complex 3 Points: An actor is a person interacting via a graphical user interface.

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

UCP: Use Case Weights

A

Simple 5 Points: Simple user interface. Up to one participating actor (plus initiating actor). Number of steps for the success scenario: <= 3. If presently available, its domain model includes <= 3 concepts.

Average 10 Points: Moderate interface design. Two or more participating actors. Number of steps for the success scenario: 4 to 7. If presently available, its domain model includes between 5 and 10 concepts.

Complex 15 Points: Complex user interface or processing. Three or more participating actors. Number of steps for the success scenario: >=7. If available, its domain model includes >=10 concepts.

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

The formula for Technical Complexity Factor

A

TCF = Constant1 + (Constant2 * Technical Factor Total)

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

Cyclomatic Complexity

A

Cyclomatic complexity corresponds roughly to an intuitive idea of the number of
different paths through the program—the greater the number of different paths through a
program, the higher the complexity.

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

The formula for calculating project duration

A

Duration = UCP x PF

The Productivity Factor is the ratio of development person-hours needed per use case point.
Experience and statistical data collected from past projects provide the data to estimate the initial
PF. For instance, if a past project with a UCP of 112 took 2,550 hours to complete, divide 2,550
by 112 to obtain a PF of 23 person-hours per use case point.
If no historical data has been collected, the developer can consider one of these options:
1. Establish a baseline by computing the UCP for projects previously completed by your
team (if such are available).
2. Use a value for PF between 15 and 30 depending on the development team’s overall
experience and past accomplishments (Do they normally finish on time? Under budget?
etc.). For a team of beginners, such as undergraduate students, use the highest value (i.e.,
30) on the first project.

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