Professional Documents
Culture Documents
Software Project Planning: The objective of software planning is to provide a framework that
enables the manager to make reasonable estimates of resources, cost and schedule. These
estimates are made within a limited time frame at the beginning of a software project and should
be updated regularly as the project progresses.
➢ The first activity in software project planning is the determination of the scope.
Function and performance should be assessed to establish a project scope that is
unambiguous and understandable at management and technical levels. A statement of
software scope must be bounded. That is, quantitative data (e.g. number of simultaneous
users, size of mailing list, maximum allowable response time, etc) are stated explicitly,
constraints and limitations (e.g. product cost that restricts memory size) are noted and
helpful factors (e.g. algorithms that are well understood and available) are described.
Since both cost and schedule estimates are functionally oriented, some degree of
decomposition is often useful.
➢ Once scope is established, it is necessary to determine if the cost is feasible or not. The
feasibility of the project must be determined keeping in mind four major aspects:
1) Technology
2) Finance
3) Time
4) Resources (other than financial)
➢ The next task is the estimation of resources required to accomplish the software
development effort. At the beginning, software and hardware tools must exist to support
the development effort. At a higher level, the primary resource i.e. manpower, must
exist. Each resource is specified with four characteristics:
1) Description of the resource.
2) Statement of availability
3) Time at which the resource will be required
4) Duration of time the resource will be applied
4.1 Management Spectrum of 4 P’s
In software engineering, the management spectrum describes the management of a software
project. The management of a software project starts from requirement analysis and finishes
based on the nature of the product, it may or may not end because almost all software
products faces changes and requires support. It is about turning the project from plan to
reality.
The management spectrum focuses on the four P‘s; people, product, process and project.
1. The People:
• People of a project includes from manager to developer, from customer to end
user.
• But mainly people of a project highlight the developers.
• It is so important to have highly skilled and motivated developers that the
Software Engineering Institute has developed a People Management Capability
It is assumed that there is a very small probability that the actual size results will fall outside
the optimistic or pessimistic value.
Once the expected value for estimation variable has been determined, historical LOC or FP
data are applied and person months, costs etc are calculated using the following formula.
Productivity = KLOC / Person-month
Quality = Defects / KLOC
Cost = $ / LOC
Documentation = pages of documentation / KLOC
Where,
KLOC stand for no. of lines of code (in thousands).
Person-month stand for is the time(in months) taken by developers to finish the product.
Defects stand for Total Number of errors discovered
Example:
Problem Statement: Take the Library management system case. Software developed for library
will accept data from operator for issuing and returning books. Issuing and returning will
require some validity checks. For issue it is required to check if the member has already issued
the maximum books allowed. In case for return, if the member is returning the book after the
due date then fine has to be calculated. All the interactions will be through user interface. Other
operations include maintaining database and generating reports at regular intervals.
Major software functions identified.
1. User interface
2. Database management
3. Report generation
For user interface
Sopt : 1800
Sm : 2000
Spess : 4000
EV for user interface
EV = (1800 + 4*2000 + 4000) / 6
EV = 2300
Information domain characteristics are determined and counts are provided in the appropriate
table location. Information domain values are defined in the following manner:
i) Number of user inputs
Each user input that provides distinct application-oriented data to the software is counted.
Inputs should be distinguished from enquiries, which are counted separately.
ii) Number of user outputs
Each user output that provides application-oriented data to the user is counted. In this context
output refers to reports, screens, error messages, etc. Individual data items within a report are
not counted separately.
iii) Number of user enquiries
An enquiry is defined as an on-line input that results in the generation of some immediate
software response in the form of an on-line output. Each distinct enquiry is counted.
iv) Number of files
Each logical master file is counted.
v) Number of external interfaces
All machine-readable interfaces (e.g. data files on storage media) that are used to transmit
information to another system are counted.
Once this data is collected, a complexity value is associated with each count. Criteria are
developed to determine whether a particular entry is simple, average or complex.
To compute function points (FP) the following relationship is used:
FP = count total * [0.65 + 0.01 * Σ(Fi)]
The Fi (i = 1 to 14) are "complexity adjustment values" based on responses to the following
questions:
1. Does the system require reliable backup and recovery?
2. Are data communications required?
3. Are there distributed processing functions?
4. Is performance critical?
5. Will the system run in an existing, heavily utilized operational environment?
6. Does the system require on-line data entry?
7. Does the on-line data entry require the input transaction to be built over multiple screens or
operations?
8. Are the master files updated on-line?
Once function points have been calculated, productivity, quality, cost and
documentation can be evaluated.
Productivity = FP / person-month
Quality = defects / FP
Cost = $ / FP
Documentation = pages of documentation / FP
Complexity weighing factors are determined and the following results are obtained.
Factor Value
Backup Recovery 4
Data Communication 1
Distributed processing 0
Perfomance Critical 3
Existing Operating Environment 2
On-line data entry 5
Input transaction over multiple screens 5
Master file updated online 3
Information domain values complex 3
Internal processing complex 2
Code design for reuse 0
Conversion/Installation in design 1
Multiple installations 3
Application designed for change 5
Sum ( Fi ) 37
Depending on the problem at hand, the team might include a mixture of experienced and less
experienced people with only a recent history of working together.
The Basic COCOMO equations take the form:
E = ab (KLOC)bb
D = cb (E)db
SS = E/D persons
P = KLOC/E
Where E = effort
D = Deployment time
SS = staff size
P = productivity
ab ,bb ,cb ,db = Coefficients
Example
Use COCOMO model for organic, semi-detached, embedded mode to calculate effort
and development time for size of project 600 KLOC.