Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ch8: Management of Software Engineering. 1 Management of software engineering  Traditional engineering practice is to define a project around the product.

Similar presentations


Presentation on theme: "Ch8: Management of Software Engineering. 1 Management of software engineering  Traditional engineering practice is to define a project around the product."— Presentation transcript:

1 Ch8: Management of Software Engineering

2 1 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 2 Management of software engineering (contd..)  Management involves:  Organize an activity that is fundamentally intellectual:  Management decisions are aided by:

4 3 Management functions  Koontz:  Management is considered to consist of five areas:

5 4 Management functions (contd..)  Planning:  Organizing:

6 5 Management functions (contd..)  Staffing:  Directing:  Controlling:

7 6 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 7 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 8 Function points  A productivity measure, empirically justified  Motivation:  Principle:  Appears to work well in business applications

10 9 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 10 Function point definition (contd..)  Inputs/outputs  Inquiries  Files  Interfaces.  Major weakness:  Despite weakness, function point approach is widely used.

12 11 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 12 Productivity metrics: code  Depends on the size of code produced  Problems:  Code is measured in several ways:  Code metrics may penalize:

14 13 Productivity  Factors affecting productivity:  There is a large variance in the productivity of software engineers.

15 14 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 15 Generic formula for effort PM = c.KLOC k 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.

17 16 Typical cost driver categories  Product  Computer  Personnel  Project

18 17 Cost estimation procedure  Steps involved:  COCOMO (Constructive Cost Model) is best known cost estimation model.  COCOMO has evolved to COCOMO II.

19 18 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 19 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-established 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 innovative data processing architectures, algorithms Minimal Some Considerable Premium on early completion Product size range Low <50 KDSI Medium <300 KDSI High All sizes

21 20 COCOMO (contd..) Development Mode Nominal effort Schedule Organic (PM) NOM =3.2(KDSI) 1.05 TDEV=2.5(PM DEV )) 0.38 Semidetached (PM) NOM =3.0(KDSI) 1.12 TDEV=2.5(PM DEV )) 0.35 Embedded (PM) NOM =2.8(KDSI) 1.20 TDEV=2.5(PM DEV )) 0.32 COCOMO nominal effort and schedule equations

22 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 Computer 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 Analyst 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 Projectattributes 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 COCOMO Scaling factors

23 22 Towards COCOMO II  COCOMO's deficiencies

24 23 COCOMO II  A collection of 3 models

25 24 Application composition model  Suitable for:  Uses object points:

26 25 Early design model  Used once:  Cost prediction based on:

27 26 Post-Architecture Model  Involves:  Cost prediction based on

28 27 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: 2 Number of interfaces: 0 FP = 4*#inputs + 5*#outputs + 4*#inquiries + 10*#files + 7*#interfaces FP = 4*2 + 5*2 + 4*1 + 10*2 + 7*0 FP = 42 Java language takes 53 LOC/FP. # of source code lines is 53*42 = 2236

29 28 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 nominal person 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 very high, 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.82 Multiplicative factor for factor #2 – 1.42 Overall multiplicative factor – 0.82*1.42 = 1.164 Revised estimate: 29948 * 1.164 = 34871


Download ppt "Ch8: Management of Software Engineering. 1 Management of software engineering  Traditional engineering practice is to define a project around the product."

Similar presentations


Ads by Google