• 软件工程 实践者的研究方法 第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.

  • 相关阅读:
    单例模式
    BeanFactory VS ApplicationContext
    java利用接口和适配器进行完全解耦参考《thinking in java》
    javascr*pt对象的创建相对java 怎样去创建了"类"*以及实例化对象
    实例化bean
    Spring AOP With AspectJ
    spring入门之环境搭建
    项目中ApplicationContext
    BeanFactory VS FactoryBean
    软开心法十四||软件改进
  • 原文地址:https://www.cnblogs.com/mikecracker/p/14316996.html
Copyright © 2020-2023  润新知