Ch8: Management of Software Engineering. 1 Management of software engineering Traditional...
-
date post
20-Dec-2015 -
Category
Documents
-
view
221 -
download
0
Transcript of Ch8: Management of Software Engineering. 1 Management of software engineering Traditional...
2
Management of software engineering
Traditional engineering practice is to define a project around the product to be developed.
Project manager oversees the project and must:
Staffing: Human resource acquisition
3
Management of software engineering (contd..)
Management involves:
Organize an activity that is fundamentally intellectual:
Management decisions are aided by:
7
Project planning
Clear statement of goals is required to guide software engineers
Project manager creates plans to achieve goals Software cost estimation:
Time it takes software engineer to accomplish a task is a function of:
Software development time depends on the intellectual ability of the engineers
8
Software productivity
How to define/measure it? Ideal metric:
Two types of metrics have been proposed:
But what do engineers do?
Metrics are still considered controversial
9
Function points
A productivity measure, empirically justified Motivation:
Principle:
Appears to work well in business applications
10
Function point definition
A weighted sum of 5 characteristic factors
Item Weight Number of inputs 4 Number of outputs 5 Number of inquiries 4 Number of files 10 Number of interfaces 7
11
Function point definition (contd..)
Inputs/outputs Inquiries Files Interfaces. Major weakness:
Despite weakness, function point approach is widely used.
12
A byproduct
Function points used to measure the relative power of different languages Numbers range from 320 (assembler languages), 128 (C),
91 (Pascal), 71 (Ada83), 53 (C++, Java), 6 (“spreadsheet languages”)
13
Productivity metrics: code
Depends on the size of code produced Problems:
Code is measured in several ways:
Code metrics may penalize:
14
Productivity
Factors affecting productivity:
There is a large variance in the productivity of software engineers.
15
Cost estimation
Primary cost Two purposes to cost estimation:
Structural metrics:
Predictive metrics:
We need predictive methods to estimate the complexity of software before it has been developed
16
Generic formula for effort
PM = c.KLOCk
Legend• PM: person month• KLOC: K lines of code• c, k depend on the model• k>1 (non-linear growth)
Lines of code is a good metric for total life-cycle costs of software.Most cost estimation methods use size of software for deriving total effort required for a project. Initial estimate is then calibrated using a number of cost drivers.
18
Cost estimation procedure
Steps involved:
COCOMO (Constructive Cost Model) is best known cost estimation model.
COCOMO has evolved to COCOMO II.
19
COCOMO
Size estimate based on delivered source instructions, KDSI
Categorizes the software as:
Each category has an associated formula for nominal development effort based on estimated code size
20
COCOMO (contd..)
Mode
Feature Organic Semidetached Embedded
Organizational understanding of
product objectives
Thorough Considerable General
Experience in working with related
software systems
Extensive Considerable Moderate
Need for software conformance with
pre -es tablished requirements
Basic Considerable Full
Need for software conformance with
external interface specifications
Basic Considerable Full
Concurrent development of
associated new hardware and
operational procedures
Some Moderate Extensive
Need for inn ovative data processing
architectures, algorithms
Minimal Some Considerable
Premium on early completionProduct size range
Low<50 KDSI
Medium<300 KDSI
HighAll sizes
21
COCOMO (contd..)
Development Mode
Nominal effort Schedule Organic (PM)NOM=3.2(KDSI)1.05 TDEV=2.5(PMDEV))0.38 Semidetached (PM)NOM=3.0(KDSI)1.12 TDEV=2.5(PMDEV))0.35 Embedded (PM)NOM=2.8(KDSI)1.20 TDEV=2.5(PMDEV))0.32
COCOMO nominal effort and schedule equations
COCOMO (contd..) Ratings
Cost Drivers Very low Low Nominal High Very High
Extra High
Product attributes Required software
reliability
.75 .88 1.00 1.15 1.40
Data base size .94 1.00 1.08 1.16 Product complexity .70 .85 1.00 1.15 1.30 1.65 Comput er attributes Execution time constraints 1.00 1.11 1.30 1.66 Main storage constraints 1.00 1.06 1.21 1.56 Virtual machine volatility* .87 1.00 1.15 1.30 Computer turnaround time .87 1.00 1.07 1.15 Personnel attributes Anal yst capability 1.46 1.19 1.00 .86 .71 Applications experience 1.29 1.13 1.00 .91 .82 Programmer capability 1.42 1.17 1.00 .86 .70 Virtual machine
experience*
1.21 1.10 1.00 .90
Programming language
experience
1.14 1.07 1.00 .95
Project attributes Use of modern
programming practices
1.24 1.10 1.00 .91 .82
Use of software tools 1.24 1.10 1.00 .91 .83 Required development
schedule
1.23 1.08 1.00 1.04 1.10
COCOMOScaling factors
28
Function Point case study
Compute the function point FP for a payroll program that reads a file of employees and a file of information for the current month and prints checks for all employees. The program is capable of handling an interactive command to print an individual requested check immediately.
Number of inputs: 2 (file of employees + file for current month)Number of outputs: 2 (checks for all employees + individual check)Number of inquiries: 1 (interactive command)Number of files: 2Number of interfaces: 0
FP = 4*#inputs + 5*#outputs + 4*#inquiries + 10*#files + 7*#interfacesFP = 4*2 + 5*2 + 4*1 + 10*2 + 7*0FP = 42
Java language takes 53 LOC/FP.# of source code lines is 53*42 = 2236
29
COCOMO model case study
Consider an organic application with a size estimate given in terms of KDSI of 2000. Determine the initial effort estimate in terms of nominalperson months. Revise the initial estimate by considering the impact of two cost drivers, namely, use of modern applications experience, and programmer capability. The impact of former factor can be rated veryhigh, and the impact of the latter factor can be rated very low.
(PM)NOM = 3.2(KDSI)1.05
(PM)NOM = 3.2(2000)1.05 = 29948
Multiplicative factor for factor #1 – 0.82Multiplicative factor for factor #2 – 1.42 Overall multiplicative factor – 0.82*1.42 = 1.164
Revised estimate: 29948 * 1.164 = 34871