sen lecture07

32
IT314 - Software Engineering  Asim Banerjee 25 th January 2011 [email protected]

Upload: abhijeet

Post on 09-Apr-2018

228 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sen Lecture07

8/7/2019 Sen Lecture07

http://slidepdf.com/reader/full/sen-lecture07 1/32

IT314 - Software Engineering

 Asim Banerjee

25th January 2011

[email protected]

Page 2: Sen Lecture07

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.

Page 3: Sen Lecture07

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

Page 4: Sen Lecture07

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.

Page 5: Sen Lecture07

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.

Page 6: Sen Lecture07

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

Page 7: Sen Lecture07

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.

Page 8: Sen Lecture07

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.

Page 9: Sen Lecture07

8/7/2019 Sen Lecture07

http://slidepdf.com/reader/full/sen-lecture07 9/32

IT314 - Software Engineering 9

 Any Questions?

Page 10: Sen Lecture07

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

Page 11: Sen Lecture07

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.

Page 12: Sen Lecture07

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

Page 13: Sen Lecture07

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

Page 14: Sen Lecture07

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).

Page 15: Sen Lecture07

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.

Page 16: Sen Lecture07

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

Page 17: Sen Lecture07

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)

Page 18: Sen Lecture07

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.

Page 19: Sen Lecture07

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

Page 20: Sen Lecture07

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

Page 21: Sen Lecture07

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.

Page 22: Sen Lecture07

8/7/2019 Sen Lecture07

http://slidepdf.com/reader/full/sen-lecture07 22/32

IT314 - Software Engineering 22

 Any Questions?

Page 23: Sen Lecture07

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.

Page 24: Sen Lecture07

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.

Page 25: Sen Lecture07

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

Page 26: Sen Lecture07

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.

Page 27: Sen Lecture07

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

Page 28: Sen Lecture07

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

Page 29: Sen Lecture07

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

Page 30: Sen Lecture07

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

Page 31: Sen Lecture07

8/7/2019 Sen Lecture07

http://slidepdf.com/reader/full/sen-lecture07 31/32

IT314 - Software Engineering 31

 Any Questions?

Page 32: Sen Lecture07

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.