SFWR ENG 3KO4 Slide 1 Management of Software Engineering Chapter 8: Fundamentals of Software Engineering C. Ghezzi, M. Jazayeri, D. Mandrioli.

Slides:



Advertisements
Similar presentations
Estimation using COCOMO More Science, Less Art. COCOMO History COCOMO History Constructive Cost Model Dr. Barry Boehm TRW in 1970s COCOMO
Advertisements

Project Estimation: Metrics and Measurement
Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan Kelley 16 November 2000.
Software Cost Estimation Main issues:  What factors determine cost/effort?  How to relate effort to development time?
ICS Management Poor management is the downfall of many software projects Software project management is different from other engineering management.
Project Risks and Feasibility Assessment Advanced Systems Analysis and Design.
May 11, 2004CS WPI1 CS 562 Advanced SW Engineering Lecture #5 Tuesday, May 11, 2004.
Ch8: Management of Software Engineering. 1 Management of software engineering  Traditional engineering practice is to define a project around the product.
1 COST ESTIMATION Basics, COCOMO, FP. 2 What is estimated? TIME MONEY TIME: –duration, chronological weeks, months, years –effort, person-month (man-month)
COCOMO II 資管研一 張永昌. Agenda Overall Model Definition COCOMO II Models for the Software Marketplace Sectors COCOMO II Model Rationale and Elaboration Development.
CSC 395 – Software Engineering
Chapter 23 – Project planning Part 2. Estimation techniques  Organizations need to make software effort and cost estimates. There are two types of technique.
1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
Information System Economics Software Project Cost Estimation.
© The McGraw-Hill Companies, Software Project Management 4th Edition Software effort estimation Chapter 5.
Management of Software Engineering
1 Management of Software Engineering Dr. Mai Fadel.
Cost22 1 Question of the day u If you were the boss, what would you do for cost estimation?
1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Lecture 22 Instructor Paulo Alencar.
COCOMO Models Ognian Kabranov SEG3300 A&B W2004 R.L. Probert.
After Lesson 6 next is Lesson 13 to fit topic on Software Development SOFTWARE PROJECT MANAGEMENT.
Chapter 6 : Software Metrics
Project Management Estimation. LOC and FP Estimation –Lines of code and function points were described as basic data from which productivity metrics can.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Chapter 23 Software Cost Estimation.
CEN th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Effort estimation.
By K Gopal Reddy.  Metrics in software are of two types.direct and indirect.  Function points as indirect metrics.  Function points are used to measure.
CS /39 Illinois Institute of Technology CS487 Software Engineering David A. Lash.
A Brief Introduction to COCOMO Hossein Saiedian EECS810: Software Engineering.
1 Software Cost Estimation. Outline  Introduction  Inputs and Outputs  Methods of Estimation  COCOMO  Conclusion 2.
Group Members: Ayush Newatia, Barry Foye, Billy Felton, Kevin Anderson, Shahnaz Begum and Adam Jasinski Constructive Cost Model is a technique used to.
Cost13 1 Cost Estimation Estimates based on LOC. cost13 2 Boehm's COCOMO u Software Engineering Economics u Prentice-Hall c1981 u type COCOMO in a search.
T. E. Potok - University of Tennessee CS 594 Software Engineering Lecture 3 Dr. Thomas E. Potok
Cost Estimation. Problem Our ability to realistically plan and schedule projects depends on our ability to estimate project costs and development efforts.
Cost Estimation What is estimated? –resources (humans, components, tools) –cost (person-months) –schedule (months) Why? –Personnel allocation –Contract.
Project Estimation Model By Deepika Chaudhary. Factors for estimation Initial estimates may have to be made on the basis of a high level user requirements.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 26 Slide 1 Software cost estimation 2.
Software Project Estimation IMRAN ASHRAF
1 Planning a Software Project. 2 Defining the Problem Defining the problem 1.Develop a definitive statement of the problem to be solved. Include a description.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 43 Introduction to Software Engineering.
©Ian Sommerville, adapted by Werner Wild 2004Project Management Slide 1 Software cost estimation u Predicting the resources required for a software development.
Estimation using COCOMO
Function Points Synthetic measure of program size used to estimate size early in the project Easier (than lines of code) to calculate from requirements.
Estimating “Size” of Software There are many ways to estimate the volume or size of software. ( understanding requirements is key to this activity ) –We.
Effort Estimation In WBS,one can estimate effort (micro-level) but needed to know: –Size of the deliverable –Productivity of resource in producing that.
SOFTWARE ENGINEERING. Objectives Have a basic understanding of the origins of Software development, in particular the problems faced in the Software Crisis.
The COCOMO model An empirical model based on project experience. Well-documented, ‘independent’ model which is not tied to a specific software vendor.
بشرا رجائی برآورد هزینه نرم افزار.
Cost Estimation Software Quality Assurance and Testing.
Chapter 33 Estimation for Software Projects
Project Cost Management
Software Engineering.
Software Project Management
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Software Planning
Constructive Cost Model
Software Engineering.
COCOMO Model Basic.
Chapter 5: Software effort estimation- part 2
Activities During SPP Size Estimation
More on Estimation In general, effort estimation is based on several parameters and the model ( E= a + b*S**c ): Personnel Environment Quality Size or.
COCOMO Models.
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
COCOMO 2 COCOMO 81 was developed with the assumption that a waterfall process would be used and that all software would be developed from scratch. Since.
Chapter 33 Estimation for Software Projects
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Software Cost Estimation
COnstructive COst MOdel
Chapter 26 Estimation for Software Projects.
COCOMO MODEL.
Presentation transcript:

SFWR ENG 3KO4 Slide 1 Management of Software Engineering Chapter 8: Fundamentals of Software Engineering C. Ghezzi, M. Jazayeri, D. Mandrioli

SFWR ENG 3KO4 Slide 2 Outline  Why is management needed?  What are the main tasks of managers?  What is special in the case of software?  How can productivity be measured?  Which tools may be used for planning and monitoring?  How can teams be organized?  How can organizations' capabilities be defined and measured?

SFWR ENG 3KO4 Slide 3 Management  Software engineering projects involve many software engineers  Management is needed to coordinate the activities and resources involved in projects "The creation and maintenance of an internal environment in an enterprise where individuals, working together in groups, can perform efficiently and effectively toward the attainment of group goals" (Koontz et al, 1980)

SFWR ENG 3KO4 Slide 4 Making decision is difficult!  Invest on modern tools?  Invest on formal techniques?  Short time-to-market?  Adding new features?  Develop or purchase?  Re-engineering or development? State-of-practice in project management is to make judgments, check them against expert opinions, try to achieve consensus, and if possible, calibrate it against the data on previous similar projects within the same organization

SFWR ENG 3KO4 Slide 5 Management tasks  Planning: What resources are required to achieve the objectives  Organizing: defining the responsibilities and authorities for group activities to achieve the goals  Staffing: hiring personnel for the positions that are identified by the organizational structure  Directing: guiding the groups to understand the goals of the enterprise  Controlling: measuring and correcting activities to make sure the goals are achieved. … and dealing with deviations from the plan “Plan the work and work the plan”

SFWR ENG 3KO4 Slide 6 Management challenges  Balance conflicting goals  Deliver a high-quality product with limited resources  Organize an activity that is fundamentally intellectual  this complicates the traditional techniques for productivity measurement, project planning, cost and schedule estimation

SFWR ENG 3KO4 Slide 7 Software productivity  How to define/measure it?  TV production VS. Software production  In terms of lines of code produced  few tens per day  Student project VS. professional program .. but what do engineers do?  up to half of their time spent in meetings, administrative matters, communication with team members

SFWR ENG 3KO4 Slide 8 Function points  A productivity measure, empirically justified value  Motivation: define and measure the amount of value (or functionality) produced per time unit  Principle: determine complexity of an application as its function point

SFWR ENG 3KO4 Slide 9 Function point definition  A weighted sum of 5 characteristic factors

SFWR ENG 3KO4 Slide 10 A byproduct  Function points used to measure the relative power of different languages  compute number of source lines required to code a function point  numbers range from 320 (assembler languages), 128 (C), 91 (Pascal), 71 (Ada83), 53 (C++, Java), 6 (“spreadsheet languages”)

SFWR ENG 3KO4 Slide 11 Size of code  Size of code produced per unit of time as productivity measure  must define exactly what "size of code" means Delivered Source Instructions (DSI) Non-commented source statements (NCSS) .. but how good is this metric?

SFWR ENG 3KO4 Slide 12 Factors affecting productivity  Professionals' capabilities  Product complexity  Schedule constraints  Previous experience (Overly aggressive scheduling may have negative effect)

SFWR ENG 3KO4 Slide 13 People and productivity  Because software engineering is an intellectual activity, the most important ingredient for producing high-quality software efficiently is people  Large variability in productivity between engineers

SFWR ENG 3KO4 Slide 14 Cost estimation  We need predictive methods to estimate the complexity of software before it has been developed, then:  Predict size of the software  Use it as input for deriving the required effort

SFWR ENG 3KO4 Slide 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) Initial estimate then calibrated using a number of "cost drivers"

SFWR ENG 3KO4 Slide 16 Typical cost driver categories  Product  e.g., reliability requirements or inherent complexity  Computer  e.g., are there execution time or storage constraints?  Personnel  e.g., are the personnel experienced in the application area or the programming language being used?  Project  e.g., are sophisticated software tools being used?

SFWR ENG 3KO4 Slide 17 Cost estimation procedure  Estimate software size, and use it in the model’s formula to get initial effort estimate (Person Month)  Revise effort estimate by using the cost driver or other scaling factors given by the model  Apply the model’s tools to the estimate effort derived in step 2 above to determine the total effort, activity distribution, etc.

SFWR ENG 3KO4 Slide 18 COCOMO models Constructive Cost Model proposed by B. Boehm evolved from COCOMO to COCOMO II

SFWR ENG 3KO4 Slide 19 COCOMO  Size estimate based on delivered source instructions, KDSI  Categorizes the software as different modes:  organic  semidetached  embedded each has an associated formula for nominal development effort based on estimated code size

SFWR ENG 3KO4 Slide 20 Examples of software modes  Organic :  In the organic mode, relatively small software teams develop software in a highly familiar, in-house environment. Most people connected with the project have extensive experience in working with related systems within the organization, and have a thorough understanding of how the system under development will contribute to the organizations objectives. Very few organic-mode projects have developed products with more than 50 thousand delivered source instructions (KDSI)  Scientific models, business models, Familiar OS or compilers  Semidetached :  The semidetached mode of software development represents an intermediate stage between the organic and embedded modes. "Intermediate" may mean either of two things: An intermediate level of project characteristic. A mixture of the organic and embedded mode characteristics. The size range of a semidetached mode product generally extends up to 300 KDSI  Most transaction processing systems, New OS, DBMS, ambitious inventory production control, simple command control

SFWR ENG 3KO4 Slide 21 Examples of software modes  Embedded  The major distinguishing factor of an embedded-mode software project is a need to operate within tight constraints. The product must operate within (is embedded in) a strongly coupled complex of hardware, software, regulations, and operational procedures.  Large complex transaction processing systems, ambitious very large OS, avionics, ambitious Command and Control systems....

SFWR ENG 3KO4 Slide 22 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

SFWR ENG 3KO4 Slide 23 COCOMO nominal effort and schedule equations

SFWR ENG 3KO4 Slide 24 COCOMO scaling factors The nominal effort estimation is multiplied by these ratings to produce the estimated effort for a specific project

SFWR ENG 3KO4 Slide 25 COCOMO Tool