Unit-III Mca SPM
Unit-III Mca SPM
Parameters to be estimated
The project manager estimates two project parameters: Effort and duration.
Duration is usually measured in months. Work-month (wm) and person-month (pm). The person-month
estimate defines the productivity.
Measure of work
Measure of work is also called the size of the project. Direct calculation of cost or time is difficult at the
early stages of planning. The time may vary according to the experience of the software developers.
The size of a project is obviously not the number of bytes, neither is it the size of the executable code.
The project size defines the problem complexity in terms of the effort and time required to develop the
product.
Two methods can be used for this purpose : Source Lines of Code (SLOC) and Function Point
(FP).
the SLOC measure is easy to use and it is widely used. The SLOC method suffers from various types of
disadvantages:
1. ● No precise definition. SLOC is a very imprecise measure. Unfortunately, researchers have not been
consistent on points like does it include comment lines or are data declarations to be included? The writers’ view is
that comment lines are excluded in determining the SLOC measure. This can be debated, but the main point is that
consistency is essential.x
2. Difficult to estimate at start of a project.
3. Only a code measure
4. Programmer-dependent. SLOC gives a numerical value to the problem size that can vary widely with the
coding style of individual programmers.
5. Does not consider code complexity.
The idea behind the function point metric is that the size of a software product is directly dependent on
the number of different functions, files and interfaces. A software product supporting many features would
certainly be of larger size than a product with less number of features. Each function when invoked reads
some input data and transforms it to the corresponding output data.
1
● price to win, where the ‘estimate’ is a figure that seems sufficiently low to win a contract;
● top-down, where an overall estimate for the whole project is broken down into the effort required for
component tasks;
● bottom-up, where component tasks are identified and sized and these individual estimates are
aggregated.
2
This is essentially a top-down approach because only one global figure is produced.
A parametric model will normally have one or more formulae in the form:
effort = (system size) x (productivity rate)
For example, system size might be in the form ‘thousands of lines of code’ (KLOC) and have the specific
value of 3 KLOC while the productivity rate was 40 days per KLOC. These values will often be matters
of judgement.
Suppose, Amit may estimate that the first software module to be constructed is 2 KLOC. He may then
judge that if Sumit undertook the development of the code, with her expertise he could work at a rate of
40 days per KLOCy and complete the work in 2 x 40 days, i.e. 80 days, while Vijay, who is less
experienced, would need 55 days per KLOC and take 2 x 55, i.e. 110 days to complete the task. In this
case KLOC is a size driver indicating the amount of work to be done, while developer experience is a
productivity driver influencing the productivity or work rate.
productivity = effort/size
Some parametric models, such as that implied by function points, are focused on system or task size, while
others, such are COCOMO, are more concerned with productivity factors.
The basis of function point analysis is that information systems comprise five major Components:
● External input (EI) are input transactions which update internal computer files.
● External output (EO)are transactions where data is output to the user. Typically these would be
printed reports, as screen displays
● External inquiry (EQ)– are transactions initiated by the user which provide information but do not
update the internal files.
● Internal Logical file (ILF)- are the files used by the system.
● External interface file (EIF)- allow for output and input that may pass to and from other computer
applications. Examples of this would be the transmission of accounting data from an
order processing system to the main ledger system
Following are the points regarding FPs
FPs are calculated by counting the number and types of functions used. Various functions used in an
application can be put under five types are EI, EO, EQ, ILF, and EIF. These five parameters are also
known as information domain characteristics. All these parameters are then individually assessed for
complexity.
All the parameters mentioned above are assigned some weights (Low, Average or High) that have been
experimentally determined and are shown in Table.
External user type Multiplier
Low Average High
External input (EI) 3 4 6
External output (EO) 4 5 7
External inquiry (EQ) 3 4 6
Internal Logical file (ILF) 7 10 15
External interface file (ELF) 5 7 10
3
After classifying each of the five function types, the UFP is computed using predefined weights for each
function type.
Once the UFP is computed, the technical complexity factor (TCF) is computed next. TCF consider 14.
Each of these 14 factors is assigned from 0 (not present or no influence) to 5 (Essential). The resulting
numbers are summed, yielding the TCF. TCF is computed as
TCF = [0.65 + 0.01 *∑(fi)]).
Finally, FP=UFP*TCF.
Ex-1 Given the following values, compute function point when all complexity adjustment factor (CAF)
and weighting factors are average.
User Input = 50
User Output = 40
User Inquiries = 35
User Files = 6
External Interface = 4
Ans: As Complexity is average so ∑(fi) = 14*3 = 42
So Complexity Adjustment Factor = 0.65 + ( 0.01 * 42 ) = 1.07
As weighting factors are average so
Unadjusted Function Point = (EI*4) + (EO*5) + (EQ*4) + (ILF*10) + (ELF*7)
= (50*4) + (40*5) + (35*4) + (6*10) + (4*7) = 628
Function Point = UFP * CAF
= 628 * 1.07 = 671.96
5
The first step in scheduling a software project involves identifying all the activities necessary to complete
the project. A good knowledge of the details of the project and the development process helps the
managers to effectively identify the important activities of the project. Next, the activities are broken down
into a logical set of smaller activities(subactivities). The smallest subactivities are called tasks which are
assigned to different developers.
After the project manager has broken down the activities into tasks, he has to find the dependency among
the tasks. Dependency among the different tasks determines the order in which the different tasks would
be carried out. If a task A requires the results of another task B, then task A must be scheduled after task
B and A is said to be dependent on B.
Activity on Node (AoN): In this representation, each activity is represented by a rectangular node and
the duration of the activity is shown alongside each task in the node. The inter-task dependencies are
shown using directional edges.
Activity on Edge (AoE): In this representation tasks are associated with the edges. The edges are also
marked with the task duration. The nodes in the graph represent project milestones.
PROBLEM Determine the Activity network representation for the MIS development project for which
the relevant data is given in Table.
TABLE Project Parameters Computed from Activity Network
7
PERT chart example
Another Example
In this method, duration of each activity is mentioned. The network is then analysed using a forward pass,
to calculate the earliest dates at which the project will be completed, and a backward pass, to calculate
the latest start dates for activities and the critical path.
8
The description and example is shown below. A project composed of eight activities whose durations
have been estimated as shown in the table.
The forward pass and the calculation of earliest start dates are carried out according to the following
reasoning.
● Activities A, B and F may start immediately, so the earliest date for their start is zero.
● Activity F will take 10 weeks, so the earliest it can finish is week 10.
9
● Activity C can start as soon as A has finished so its earliest start date is week 6. It will take 3 weeks so
the earliest it can finish is week 9.
● Activities D and E can start as soon as B is complete so the earliest they can each start is week 4.
Activity D, which will take 4 weeks, can therefore finish by week 8 and activity E, which will take 3
weeks, can therefore finish by week 7.
● Activity G cannot start until both E and F have been completed. It cannot therefore start until week 10
– the later of weeks 7 (for activity E) and 10 (for activity F). It takes 3 weeks and finishes in week 13.
● Similarly, Activity H cannot start until week 9 – the later of the two earliest finish dates for the
preceding activities C and D.
● The project will be complete when both activities H and G have been completed. Thus the earliest
project completion date will be the later of weeks 11 and 13 – that is, week 13.
The results of the forward pass are shown in Figure.
● Activity H must therefore start at week 11 at the latest (13 – 2) and the latest start date for activity G
is week 10 (13 – 3).
● The latest completion date for activities C and D is the latest date at which activity H must start – that
is, week 11. They therefore have latest start dates of week 8 (11 – 3) and week 7 (11 – 4) respectively.
● Activities E and F must be completed by week 10 so their earliest start dates are weeks 7 (10 – 3) and
0 (10 – 10) respectively.
● Activity B must be completed by week 7 (the latest start date for both activities D and E) so its latest
start is week 3 (7 – 4).
10
● Activity A must be completed by week 8 (the latest start date for activity C) so its latest start is week
2 (8 – 6).
● The latest start date for the project start is the earliest of the latest start dates for activities A, B and F.
This is week zero. This is, of course, not very surprising since it tells us that if the project does not start
on time it won’t finish on time.
11