sen lecture07
TRANSCRIPT
8/7/2019 Sen Lecture07
http://slidepdf.com/reader/full/sen-lecture07 1/32
IT314 - Software Engineering
Asim Banerjee
25th January 2011
8/7/2019 Sen Lecture07
http://slidepdf.com/reader/full/sen-lecture07 2/32
IT314 - Software Engineering 2
Project Management Process
P
roper management of the project is an integral partof software development and it involves the planning,
monitoring and control of the people, process and
events that occur as software evolves from a
preliminary concept to an operational implementation.
To meet the cost, quality and schedule objectives
± resources have to be properly allocated to each activity
of the project
± progress of different activities has to be monitored
± corrective actions have to be taken, if needed.
8/7/2019 Sen Lecture07
http://slidepdf.com/reader/full/sen-lecture07 3/32
IT314 - Software Engineering 3
Project Management Process
The activities in project management can bebroadly grouped into three categories
± Planning
± Monitoring and control (aka project tracking and
control) ± Termination analysis
8/7/2019 Sen Lecture07
http://slidepdf.com/reader/full/sen-lecture07 4/32
IT314 - Software Engineering 4
Who Does It?
Everyone ³manages´ to some extent but thescope of management activities varies with the
person doing it i.e.
± A software engineer manage their day-to-day
activities, planning, monitoring and controllingtechnical tasks.
± Project managers plan, monitor and control the
work of a team of software engineers.
± Senior managers coordinate the interfacebetween the business and the software
professionals.
8/7/2019 Sen Lecture07
http://slidepdf.com/reader/full/sen-lecture07 5/32
IT314 - Software Engineering 5
Project Planning (1/2)
Project management begins with planning,which is perhaps the single largest
responsibility of the project management.
The goal of this phase is to develop is to
develop a plan for software developmentfollowing which the objectives of the project can
be met successfully and efficiently .
The project plan provides the fundamentalbasis for project management.
8/7/2019 Sen Lecture07
http://slidepdf.com/reader/full/sen-lecture07 6/32
IT314 - Software Engineering 6
Project Planning (2/2)
The activities of project planning are: ± Cost estimation
± Schedule and milestone determination
± Project staffing
± Quality control
± Monitoring and Control
The work product produced as a result of
project planning is the Project Plan
8/7/2019 Sen Lecture07
http://slidepdf.com/reader/full/sen-lecture07 7/32
IT314 - Software Engineering 7
The Project Plan
The project plan is usually produced before thedevelopment activity begins and is updated as
development proceeds and data about the
progress of the project becomes available.
The plan
± Defines the process and tasks to be conducted
± The people who will do the work
± The mechanisms of assessing risks, controllingchange and evaluating quality.
8/7/2019 Sen Lecture07
http://slidepdf.com/reader/full/sen-lecture07 8/32
IT314 - Software Engineering 8
Project Team Assignment
Prepare a project plan for your
respective projects. Identify the
milestones and the deliverablesassociated with those milestones.
Submit by: 24th January 2011 12:00hrs.
8/7/2019 Sen Lecture07
http://slidepdf.com/reader/full/sen-lecture07 9/32
IT314 - Software Engineering 9
Any Questions?
8/7/2019 Sen Lecture07
http://slidepdf.com/reader/full/sen-lecture07 10/32
IT314 - Software Engineering 10
Cost Estimation (1/2)
For a given set of requirements it is desirable toknow or estimate
± How much it will cost to develop the software to
satisfy the given requirements?
± How much time the development will take?
These estimates are needed
± For bidding for software projects
± To enable the client or developer to perform the costbenefit analysis
8/7/2019 Sen Lecture07
http://slidepdf.com/reader/full/sen-lecture07 11/32
IT314 - Software Engineering 11
Cost Estimation (2/2)
These estimates are needed (Continued)
± For determining the staffing level for a project during
different phases
± For project monitoring and controlNOTE: For a software development project, detailed
and accurate cost and schedule estimates are
essential prerequisites for managing the project.
8/7/2019 Sen Lecture07
http://slidepdf.com/reader/full/sen-lecture07 12/32
IT314 - Software Engineering 12
Cost of a Project (1/2)
Cost in a project is due to the requirements for ± Software
Tools
Compilers etc.
± Hardware Computer time
Terminal time
Memory
Dedicated hardware boards etc.
± Human Resources
8/7/2019 Sen Lecture07
http://slidepdf.com/reader/full/sen-lecture07 13/32
IT314 - Software Engineering 13
Cost of a Project (2/2)
Cost is often determined in terms of effort that is
expressed in person months.
NOTE:
1. Most cost estimation procedures focus on cost of thehuman resources needed since it is the bulk of the
cost.
2. By properly including ³overheads´ (cost of hardware,
software, office space, etc.) in the cost per personmonth, most costs for a project can be incorporated
by using person month as the basic measure
8/7/2019 Sen Lecture07
http://slidepdf.com/reader/full/sen-lecture07 14/32
IT314 - Software Engineering 14
Cost Estimation ± Problems (1/2)
The accuracy of the estimate depends on ± The amount of r eliable information available about the
final product.
NOTE: The cost estimations done with uncertaintyabout the actual specifications of the final productcan be off by a factor of four from the actual cost.
The accuracy of the cost estimates to the actualcost will depend on the effectiveness andaccuracy of the cost estimation procedure(models) and the process (how predictable it is).
8/7/2019 Sen Lecture07
http://slidepdf.com/reader/full/sen-lecture07 15/32
IT314 - Software Engineering 15
Cost Estimation ± Problems (2/2)
NOTE: Achieving a cost estimate after the
requirements have been specified within 20% of
the actual cost incurred is termed as a good costestimate.
8/7/2019 Sen Lecture07
http://slidepdf.com/reader/full/sen-lecture07 16/32
IT314 - Software Engineering 16
Problem Size and Program Size (1/2)
In context of software development, words
³problem size´ and ³program size´ are often
used interchangeably
What is meant by program size? ± It is an indicator of the amount of effort and time
required to develop the program
± It indicates the ³development complexity´
NOTE: It is not: Number of bytes of source code
Number of bytes of executable code
8/7/2019 Sen Lecture07
http://slidepdf.com/reader/full/sen-lecture07 17/32
IT314 - Software Engineering 17
Problem Size and Program Size (2/2)
Estimating problem size is fundamental to
estimating effort, cost and duration for a
planned project
Several metrics are available for measuringproblem size:
± LOC (Lines Of Code)
± FP (Function Point)
8/7/2019 Sen Lecture07
http://slidepdf.com/reader/full/sen-lecture07 18/32
IT314 - Software Engineering 18
Parameters Affecting Cost
The cost of a project is a function of manyparameters
± Size of the project ± primary factor controlling the cost
± Programmer ability
± Experience of the developers in the area
± Complexity of the project
± Reliability requirements
NOTE: The goal of a cost model is to determine whichof these many parameters have a ³significant´ effect on
the cost and then establish the relationships between
the cost and these parameters.
8/7/2019 Sen Lecture07
http://slidepdf.com/reader/full/sen-lecture07 19/32
IT314 - Software Engineering 19
Project Estimation Techniques (1/2)
During project planning, one needs to estimatethese parameters:
± Project size
± Effort required to develop software ± Project cost
± Project duration
Project estimation techniques:
Empirical estimation techniques
± Use educated guess based on past experience e.g.
Expert judgement; Delphi
8/7/2019 Sen Lecture07
http://slidepdf.com/reader/full/sen-lecture07 20/32
IT314 - Software Engineering 20
Project Estimation Techniques (2/2)
Project estimation techniques (Continued):
Heuristic estimation techniques
± Assume that project parameters can be modeled
using mathematical expressions e.g. ConstructiveCost Model (COCOMO), Function Point (FP)
Analytical estimation techniques
± Are based on certain basic assumptions regarding
the project e.g. Halstead¶s metric
8/7/2019 Sen Lecture07
http://slidepdf.com/reader/full/sen-lecture07 21/32
IT314 - Software Engineering 21
Reading Assignment
Find out the details about the Delphi
estimation technique and the
Halstead¶s met r ic for projectestimation.
Complete by: 26th January 2011
17:00 hrs.
8/7/2019 Sen Lecture07
http://slidepdf.com/reader/full/sen-lecture07 22/32
IT314 - Software Engineering 22
Any Questions?
8/7/2019 Sen Lecture07
http://slidepdf.com/reader/full/sen-lecture07 23/32
IT314 - Software Engineering 23
Constructive Cost Model (COCOMO) (1/2)
Resource estimates can depend on many different
factors (multivariable models).
The COCOMO model starts with an initial estimate
determined by using the static single variable modelequations (depends on size) and then adjusting the
estimates based on other variables.
The model implies that size is the primary factor for
cost and other factors have lesser effect.
8/7/2019 Sen Lecture07
http://slidepdf.com/reader/full/sen-lecture07 24/32
IT314 - Software Engineering 24
Constructive Cost Model (COCOMO) (2/2)
The model estimates the total effort in terms of
person months of the technical staff.
NOTE: The effort estimate includesdevelopment, management and support tasks
but does not include the cost of the secretarial
and other staff that might be needed in an
organization.
8/7/2019 Sen Lecture07
http://slidepdf.com/reader/full/sen-lecture07 25/32
IT314 - Software Engineering 25
Basic Steps in COCOMO Model (1/2)
Obtain an initial estimate of the development effortfrom the estimate of thousands of delivered lines of source code (KDLOC)
Ei = a * (KDLOC)b
Determine a set of 15 multiplying factors fromdifferent attributes of the project called the cost driver attributes
Adjust the effort estimate by multiplying the initial
estimate with all the multiplying factors together called the effort adjustment factor (EAF).
Ea = (EAF) * Ei
8/7/2019 Sen Lecture07
http://slidepdf.com/reader/full/sen-lecture07 26/32
IT314 - Software Engineering 26
Basic Steps in COCOMO Model (2/2)
NOTE: The 15 attributes are called the cost
d r iver attributes that determine the 15
multiplying factors. They depend on product,
computer, personnel and technologyattributes.
8/7/2019 Sen Lecture07
http://slidepdf.com/reader/full/sen-lecture07 27/32
IT314 - Software Engineering 27
Classification of Projects in COCOMO
Projects are classified into:
± Organic ± projects in an area in which the organization
has considerable expertise and requirements are less
stringent e.g. simple data processing system. a = 3.2 and
b = 1.05
± Embedded ± projects are ambitious and novel and the
organization has little or no prior experience in those areas
and there are stringent requirements to be met e.g.
embedded avionics system. a = 2.8 and b = 1.20
± Semidetached ± projects that fall between the above
two categories e.g. new operating system, database
management system (DBMS). a = 3.0 and b = 1.12
8/7/2019 Sen Lecture07
http://slidepdf.com/reader/full/sen-lecture07 28/32
IT314 - Software Engineering 28
Cost Driver Attributes (1/3)
Product Attributes
± Reliability
± Database size
± Complexity Computer Attributes
± Execution time
± Storage requirement
± Virtual memory volatility
± Turnaround time
8/7/2019 Sen Lecture07
http://slidepdf.com/reader/full/sen-lecture07 29/32
IT314 - Software Engineering 29
Cost Driver Attributes (2/3)
Project attributes ± Modern programming practices
± Use of SW tools
± Development schedule
Personnel Attributes
± Analyst capability
± Application experience
±P
rogrammer capability ± Virtual machine experience
± Programming language experience
8/7/2019 Sen Lecture07
http://slidepdf.com/reader/full/sen-lecture07 30/32
IT314 - Software Engineering 30
Cost Driver Attributes (3/3)
Each cost driver has a rating scale and for each rating a multiplying factor is provided.
Multiplying factors for all 15 cost drivers are
multiplied to get the effort adjustment factor (EAF)
The final effort is obtained by multiplying the
initial estimate by the EAF
E = (EAF) * Ei
8/7/2019 Sen Lecture07
http://slidepdf.com/reader/full/sen-lecture07 31/32
IT314 - Software Engineering 31
Any Questions?
8/7/2019 Sen Lecture07
http://slidepdf.com/reader/full/sen-lecture07 32/32
IT314 - Software Engineering 32
That¶s all for now«
We¶ll continue in the next class.