










































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
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
1 / 50
This page cannot be seen from the preview
Don't miss anything!











































CS 230 Introduction to Software Engineering Copyright © K.Goseva 2006
CS 230 Introduction to Software Engineering Copyright © K.Goseva 2006
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
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
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
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
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
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
For example FP = 4
Inp + 5
Out + 4
Inq + 10
Maf + 7
Inf
Inp
CS 230 Introduction to Software Engineering Copyright © K.Goseva 2006
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
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
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
Expert judgement - Estimation by analogy - Pricing to win - Algorithmic cost modelling
CS 230 Introduction to Software Engineering Copyright © K.Goseva 2006
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
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