软件工程 实践者的研究方法 第33章答案

Problem:

Assume that you are the project manager for a company that builds software for household robots. You have been contracted to build the software for a robot that mows the lawn for a homeowner. Write a statement of scope that describes the software. Be sure your statement of scope is bounded. If you’re unfamiliar with robots, do a bit of research before you begin writing. Also, state your assumptions about the hardware that will be required. Alternate: Replace the lawn-mowing robot with another problem that is of interest to you.

Answer:

A company that build software for house – hold robotis.

Function

User interface and control facilities (UICF) – 2,300

The dimensional geometric analysis (2DGA) – 5,300

Three dimensional geometric analysis (3DGA) – 6,800

Database management (DBM) – 3,3,50

Computer graphics display facilities (CGDF) – 4,950

Peripheral control function (PCF) – 2,100

Design analysis modules (DAM) – 8,400

Estimate lines of code 33,200

Problem:

Software project complexity is discussed briefly in Section 33.1. Develop a list of software characteristics (e.g., concurrent operation, graphical output) that affect the complexity of a project. Prioritize the list.

Answer:

4633-26-2P SA: 9420

SR: 6376

The complexity of a project is very much affected by the way the system is designed, coded and tested. There are a number of software characteristics that affect the complexity of a project. List of some characteristics that are arranged in a prioritized manner are:

1. Project size

2. Language used

3. Language characteristics

4. Programming style

5. Programming length

6. Availability of information

7. structure

8. Lack of complete knowledge and experience

9. Number of modules and functions

10. Time and space needed

11. Hardware limitations

Problem:

Performance is an important consideration during planning. Discuss how performance can be interpreted differently depending upon the software application area.

Answer:

Performance is necessary to consider at during the planning of software. At this time, functionalities of performance and constraints are interrelated besides. Sometimes, complexity arises from a poorly established interface between the customer and the software developer. Discounting that, the following technical characteristics should be considered:

a. real-time attributes

b. multiprocessing requirement (concurrency)

c. nature of the algorithm

d. requirement for recursion

e. nature of input

f. determinacy of input

g. nature of output

h. language characteristics

i. Knowledge/experience of staff on application.

In some applications performance is done through raw processing of data that is measured by CPU time and interrupt servicing efficiency.

In the engineering applications / for large systems, data must be in the form of numerical/ alphabetic considerations. And also consider about input-output accuracy.

In the commercial applications most efficiency feature is I/O.

In the interactive applications user "wait time" is one of the performance consideration.

In the microprocessor applications, performance is considered by CPU time and memory requirement

Problem:

Do a functional decomposition of the robot software you described in Problem 33.1. Estimate the size of each function in LOC. Assuming that your organization produces 450 LOC/pm with a burdened labor rate of $7,000 per person-month, estimate the effort and cost required to build the software using the LOC-based estimation technique described in this chapter.

Answer:

Using functional decomposition

UICF – 2,300

2DGA – 5,300

3DGA – 6,800

DBM – 3350

CGDF – 4950

PCF – 2,100

DAM – 8,400

Estimate line of code – 33,200

Organization produces –592-23-4p-i1.png

Burdened labor rate - 592-23-4p-i2.png

Using the data noted in the problem

592-23-4p-i3.png

592-23-4p-i4.png

592-23-4p-i5.png(approximately)

Problem:

Use the software equation to estimate the lawn-mowing robot software. Assume that Equation (33.4) is applicable and that P = 8,000.

202767-33-5IP1.png

Answer:

4633-26-6P SA: 9420

SR: 6376

We have an estimation model of the form

4633-26-6p-i1.png

Where,

E = effort in person-months or person-years

t = project duration in months or years

B = special skills factors

For small programs, B = 0.16 and for programs greater than 70 KLOC, B = 0.39. So for our lawn mower software system, we take an average of the two values as B.

Hence, B = (0.16 + 0.39) / 2

=0.28

P = productivity parameter

= 8000 (Given)

Let us assume, LOC = 33,200 (independent parameter)

To simplify the estimation process and use a more common form for the estimation, a set of equations are derived from the software equation. They are:

Minimum development time,4633-26-6p-i2.png in months

4633-26-6p-i3.png in person-months

4633-26-6p-i4.png

=15.01 calendar months

=1.2 years

4633-26-6p-i5.png

= 87 person-months

Problem:

Develop a spreadsheet model that implements one or more of the estimation techniques described in this chapter. Alternatively, acquire one or more online models for estimation from Web-based sources.

Answer: Problem:

For a project team: Develop a software tool that implements each of the estimation techniques developed in this chapter.

Answer: Problem:

It seems odd that cost and schedule estimates are developed during software project planning—before detailed software requirements analysis or design has been conducted. Why do you think this is done? Are there circumstances when it should not be done?

Answer:

Cost and schedule estimates are developed during software project planning-before detailed software requirements analysis or design has been conducted as Costs and schedule are estimated early because such information is demanded as early as possible. If a project is extremely complex with high technological risk and a fixed price proposal is to be submitted, costing of the project should be delayed until after requirements analysis.

If it is not done and well much time will be lost with a project planning which if we would be unrealizable.

 


Solution: Chapter 33 ESTIMATION FOR SOFTWARE PROJECTS

 

 

33.1Even if you normally don't assign homework, you might try this one. What you're looking for is a reasonable work breakdown structure, but your students will struggle because they don't have a bounded scope. You can help them by defining the basic characteristics of the software.

33.2Sometimes, complexity arises from a poorly established interface between the customer and the software developer. Discounting that, the following technical characteristics should be considered:

  • real-time attributes
  • multiprocessing requirement (concurrency)
  • nature of the algorithm
  • requirement for recursion
  • nature of input
  • determinacy of input
  • nature of output
  • language characteristics
  • knowledge/experience of staff on application.

33.3Performance:

  • real time application—raw processing of data measured by CPU time and possibly interrupt servicing efficiency
  • engineering/scientific applications—numerical accuracy and for large systems, CPU time.
  • commercial applications—I/O efficiency
  • interactive applications—user "wait time"
  • microprocessor applications—CPU time and memory requirement

33.4For our purposes here, we do a simple functional decomposition:

  • user interaction (2400)
  • sensor monitoring (1100)
  • message display (850)
  • system configuration (1200)
  • system control [activation/deactivation] (900)

LOC estimates for each function are noted in parentheses. A total of 6450 LOC are estimated. Using the data noted in the problem:

6450 LOC / 450 LOC/pm = 14.3 pm

Cost: 14.3 pm * $7,000/pm = $100,000 (approximate)

 

33.5 Using the relationship noted in equations Section 33.7.3 (note that this project is a bit small for these equations)

 

assuming B=0.16 and P = 8,000

 

t.min = 8.14 * (LOC / P)0.43=

= 8.14 * (6450/8000)0.43= 8.14 * 0.91 = 7.41 months

 

t = 7.41 month / 12 months/year = 0.62 years

 

E = 180 * B * t3

= 180 * 0.16 * (0.62)3= 6.77 person months

 

33.6 Answers will vary

 

33.7 Answers will vary

 

33.8 Costs and schedule are estimated early because such information is demanded (by upper management) as early as possible. If a project is extremely complex with high technological risk and a fixed price proposal is to be submitted, costing of the project should (if possible) be delayed until after requirements analysis. Note: the cost of requirements analysis alone can be estimated early.

posted @ 2021-01-23 11:12  mike6606  阅读(777)  评论(0编辑  收藏  举报