University Institute of Engineering Department of Computer Science & Engineering

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 21

University Institute of Engineering

DEPARTMENT OF COMPUTER SCIENCE


& ENGINEERING
Bachelor of Engineering (Computer Science & Engineering)
Subject Name: Software Engineering
Subject Code: CST-220

SOFTWARE PROJECT MANAGEMENT DISCOVER . LEARN . EMPOWER


SOFTWARE PROJECT
MANAGEMENT
Course Outcome
CO Number Title Level
CO1 To have good understanding of Software Engineering concepts Remember
and design of and handling of software products.  
CO2 Defining the basic concepts and importance of Software Understand
project Management concepts like cost estimation, scheduling  
and reviewing progress. Will be covered in this
CO3
lecture
An ability to work in one or more significant application Understand
domains.
CO4 Work as an individual and as part of a multidisciplinary team to Understand
develop and deliver quality software 
CO5 Demonstrate an understanding of and apply current theories, Understand
models, and techniques that provide a basis for the software
lifecycle.

CO6 Demonstrate an ability to use the techniques and Understand


tools necessary for engineering practice.

2
Topics covered
• Software project planning

• Project Estimation techniques

• COCOMO model

• Scheduling

3
PROJECT PLANNING
• Once a project is found to be feasible, software project managers undertake project planning.

• Project planning is undertaken and completed even before any development activity starts.

4
PROJECT PLANNING ACTIVITIES
• Estimation:
• Effort, cost, resource, and project duration
• Project scheduling:
• Staff organization:
• staffing plans
• Risk handling:
• identification, analysis, and abatement procedures
• Miscellaneous plans:
• quality assurance plan, configuration management plan, etc.

5
PROJECT ESTIMATION TECHNIQUES
• Estimation of various project parameters is a basic project planning activity.

• The important project parameters that are estimated include: project size, effort required to develop the software,
project duration, and cost.

• There are three broad categories of estimation techniques:


• Empirical estimation techniques
• Heuristic techniques
• Analytical estimation techniques

6
EMPIRICAL ESTIMATION TECHNIQUE
• Empirical estimation techniques are based on making an educated guess of the project parameters.

• While using this technique, prior experience with development of similar products is helpful.

• Empirical estimation techniques are based on common sense, different activities involved in estimation have been
formalized over the years.

• Two popular empirical estimation techniques are: Expert judgment technique and Delphi cost estimation.

7
Expert judgment technique Expert judgment technique

• Experts divide a software product into component units:


• e.g. GUI, database module, data communication module, billing module, etc.

• Add up the guesses for each of the components.

8
Delphi cost estimation
• Delphi estimation is carried out by a team comprising of a group of experts and a coordinator.
• In this approach, the coordinator provides each estimator with a copy of the software requirements specification (SRS)
document and a form for recording his cost estimate.
• Estimators complete their individual estimates anonymously and submit to the coordinator. In their estimates, the
estimators mention any unusual characteristic of the product which has influenced his estimation.
• The coordinator prepares and distributes the summary of the responses of all the estimators, and includes any unusual
rationale noted by any of the estimators.
• Based on this summary, the estimators re-estimate. This process is iterated for several rounds. No discussion among the
estimators is allowed during the entire estimation process.
• After the completion of several iterations of estimations, the coordinator takes the responsibility of compiling the results
and preparing the final estimate.

9
Heuristic techniques
• Heuristic techniques assume that the relationships among the different project parameters can be modeled using
suitable mathematical expressions. Once the basic (independent) parameters are known, the other (dependent)
parameters can be easily determined by substituting the value of the basic parameters in the mathematical expression.

• Different heuristic estimation models can be divided into the following two classes:
• Single variable estimation model: It provide a means to estimate the desired characteristics of a problem, using
some previously estimated basic (independent) characteristic of the software product such as its size. A single
variable estimation model takes the following form:
Estimated Parameter = c1 * ed1

• multivariable cost estimation model: takes the following form: Multivariable estimation models are expected to
give more accurate estimates compared to the single variable models, since a project parameter is typically
influenced by several independent parameters.
Estimated Resource = c1*e1d1 + c2*e2d2 + ...

10
COCOMO MODEL
• COCOMO (COnstructive COst MOdel) proposed by Boehm.

• Divides software product developments into 3 categories:


• Organic
• Semidetached
• Embedded

11
Elaboration of product classes
• Organic:
• Relatively small groups
• working to develop well-understood applications.

• Semidetached:
• Project team consists of a mixture of experienced and inexperienced staff.

• Embedded:
• The software is strongly coupled to complex hardware, or real-time systems.

12
COCOMO model
• Software cost estimation is done through three stages:

• Basic COCOMO,
• Intermediate COCOMO,
• Complete COCOMO.

13
Basic COCOMO model
• Gives only an approximate estimation:
• Effort = a1 (KLOC)a2
• Tdev = b1 (Effort)b2
• KLOC is the estimated kilo lines of source code,
• a1,a2,b1,b2 are constants for different categories of software products,
• Tdev is the estimated time to develop the software in months,
• Effort estimation is obtained in terms of person months (PMs).

14
Basic COCOMO model
• Development time does not increase linearly with product size:
• For larger products more parallel activities can be identified:
• can be carried out simultaneously by a number of engineers.

15
Intermediate COCOMO model
• Intermediate COCOMO model recognizes this fact:
• refines the initial estimate obtained by the basic COCOMO by using a set of 15 cost drivers (multipliers).
• If modern programming practices are used,
• initial estimates are scaled downwards.
• If there are stringent reliability requirements on the product :
• initial estimate is scaled upwards.

16
Complete COCOMO model
• Cost of each sub-system is estimated separately.

• Costs of the sub-systems are added to obtain total cost.

• Reduces the margin of error in the final estimate.

• A Management Information System (MIS) for an organization having offices at several places across the country:
• Database part (semi-detached)
• Graphical User Interface (GUI) part (organic)
• Communication part (embedded)

• Costs of the components are estimated separately:


• summed up to give the overall cost of the system.

17
Scheduling
• Scheduling is an important activity for the project managers.
• To determine project schedule:
• Identify tasks needed to complete the project.
• Determine the dependency among different tasks.
• Determine the most likely estimates for the duration of the identified tasks.
• Plan the starting and ending dates for various tasks.

18
REFERENCES
Reference Books:
1. Suman Ugrasen, “Software Engineering - Concepts and Practices”, First Edition, Cengage.
2. Mohammad Ali Shaikh, “Software Engineering with UML”, Third Edition, Notion Press.
3. Somerville Ian, “Software Engineering”, Addison Wesley, 8th Edition.

Text Books:
4. Pressman Rogers, “Software Engineering: A Practitioner's Approach”, Sixth edition. Patterson and Hennessy, “Computer
Architecture” , Fifth Edition Morgaon Kauffman.
5. Rajib Mall, “Fundamentals of Software Engineering’’, Fourth Edition, Pearson, PHI.

Reference Website
6. https://www.geeksforgeeks.org/computer-organization-and-architecture-tutorials/

19
Assessment Pattern
• Element1(Assignment 1,2,3(Average)): 12 Marks
• Element2(Surprise Test): 9 Marks
• Element3(Tutorial/Optional): 9 Marks
• Element4(Quiz): 12 Marks
• MST1: 36 Marks
• MST2: 36 Marks
• Final Examination: 60 Marks

20
THANK YOU

Email: [email protected]

You might also like