Introduction to Software Engineering: Project Planning, Estimation, and Management, Study Guides, Projects, Research of Software Engineering

An overview of software project planning, estimation, and management. Topics include fundamentals of project planning and estimating, metrics for software productivity assessment, different estimation techniques, and the use of the cocomo algorithmic cost estimation method. The document also covers project scheduling and tracking, and provides a framework for a software project management plan (spmp).

Typology: Study Guides, Projects, Research

Pre 2010

Uploaded on 07/30/2009

koofers-user-zlg
koofers-user-zlg 🇺🇸

4.5

(2)

9 documents

1 / 50

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Slide 1CS 230 Introduction to Software EngineeringCopyright © K.Goseva 2006
SOFTWARE PROJECT
PLANNING
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32

Partial preview of the text

Download Introduction to Software Engineering: Project Planning, Estimation, and Management and more Study Guides, Projects, Research Software Engineering in PDF only on Docsity!

CS 230 Introduction to Software Engineering Copyright © K.Goseva 2006

SOFTWARE PROJECT

PLANNING

CS 230 Introduction to Software Engineering Copyright © K.Goseva 2006

Overview

Fundamentals of project planning and estimating - Metrics for software productivity assessment - Different techniques that can be used for estimation - Algorithmic cost estimation method - COCOMO - Project scheduling and tracking - Framework for Software Project Management Plan(SPMP)

CS 230 Introduction to Software Engineering Copyright © K.Goseva 2006

Planning and estimating

Ideally, we would like to plan the entire softwareproject at the very beginning of the process - The earliest possible detailed planning is after thespecification phase - Accuracy of estimation increases as the processproceeds - Accurate duration estimation is critical - Accurate cost estimation is critical - Internal cost • External cost - There are too many variables for accurate estimate ofcost or duration

Slide 5 CS 230 Introduction to Software Engineering Copyright © K.Goseva 2006

Software pricing factors Factor

Description Market opportunity A development organisation may quote a low price because it wishes to move into a new segment of thesoftware market. Accepting a low profit on one project may give the opportunity of more profit later.The experience gained may allow new products to bedeveloped. Cost estimate uncertainty If an organisation is unsure of its cost estimate, itmay increase its price by some contingency over andabove its normal profit. Contractual terms A customer may be willing to allow the developer toretain ownership of the source code and reuse it in other projects. The price charged may then be less than if the software source code is handed over to thecustomer. Requirements volatility If the requirements are likely to change, an organisation may lower its price to win a contract.After the contract is awarded, high prices may becharged for changes to the requirements. Financial health Developers in financial difficulty may lower their price to gain a contract. It is better to make a small profit or break even than to go out of business. There is not a simple relationship between the development cost and the price charged to the customer

CS 230 Introduction to Software Engineering Copyright © K.Goseva 2006

Programmer productivity

A measure of the rate at which individual engineersinvolved in software development produce softwareand associated documentation - Not quality-oriented although quality assurance is a factor in productivity assessment - Essentially, we want to measure useful functionalityproduced per time unit

CS 230 Introduction to Software Engineering Copyright © K.Goseva 2006

Productivity measures

Size related measures based on some output fromthe software process. This may be lines of deliveredsource code, object code instructions, etc. - Function-related measures based on an estimate ofthe functionality of the delivered software. Function-points are the best known of this type of measure

CS 230 Introduction to Software Engineering Copyright © K.Goseva 2006

Function points (FP)

Based on a combination of program characteristics - external inputs and outputs • user interactions • external interfaces • files used by the system - A weight is associated with each of these - The function point count is computed by multiplyingeach raw count by the weight and summing allvalues

CS 230 Introduction to Software Engineering Copyright © K.Goseva 2006

Function points (contd)

For example FP = 4

×

Inp + 5

×

Out + 4

×

Inq + 10

×

Maf + 7

×

Inf

Inp

  • number of inputs

    Out
    • number of outputs

      Inq
      • inquiries

        Maf
        • master files

          Inf
          • interfaces

            FPs may be subjective

CS 230 Introduction to Software Engineering Copyright © K.Goseva 2006

Object point estimation

Object points are easier to estimate from aspecification than function points as they are simplyconcerned with screens, reports and 3GL modules - They can therefore be estimated at an early point inthe development process. At this stage, it is verydifficult to estimate the number of lines of code in asystem - Object points are used in the COCOMO II estimationmodel

CS 230 Introduction to Software Engineering Copyright © K.Goseva 2006

Productivity estimates

Real-time embedded systems, 40-160 LOC/month - Systems programs, 150-400 LOC/month - Commercial applications, 200-800 LOC/month - In object points, productivity has been measuredbetween 4 and 50 object points/month depending ontool support and developer capability

CS 230 Introduction to Software Engineering Copyright © K.Goseva 2006

Overview

Fundamentals of project planning and estimating - Metrics for software productivity assessment - Different techniques that can be used for estimation - Algorithmic cost estimation method - COCOMO - Project scheduling and tracking - Framework for Software Project Management Plan(SPMP)

CS 230 Introduction to Software Engineering Copyright © K.Goseva 2006

Estimation techniques

Expert judgement - Estimation by analogy - Pricing to win - Algorithmic cost modelling

CS 230 Introduction to Software Engineering Copyright © K.Goseva 2006

Estimation by analogy

The cost of a project is computed by comparing theproject to a similar project in the same applicationdomain - Advantages - Accurate if project data available - Disadvantages - Impossible if no comparable project has been tackled • Needs systematically maintained cost database

CS 230 Introduction to Software Engineering Copyright © K.Goseva 2006

Pricing to win

The project costs whatever the customer has tospend on it - This approach may seem unethical and un-businesslike. However, when detailed informationis lacking it may be the only appropriate strategy - Advantages - You get the contract - Disadvantages - The probability that the customer gets the system he or she wants is small - Costs do not accurately reflect the work required