Planning and Estimating

Slides:



Advertisements
Similar presentations
Software Quality Assurance Plan
Advertisements

Ch 3: Unified Process CSCI 4320: Software Engineering.
CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm.
Difference between project and other assignments  real customer  before programming: negotiations with client to clarify requirements  often.
Software Effort Estimation based on Use Case Points Chandrika Seenappa 30 th March 2015 Professor: Hossein Saiedian.
1 Postdelivery Maintenance Xiaojun Qi. 2 Why Postdelivery Maintenance Is Necessary Corrective maintenance: To correct residual faults –Analysis, design,
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
GPII-2A Planning a software project: Estimation & Measurement.
Slide 9.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Measuring process attributes. Good Estimates Predictions are needed for software development decision-making (figure 12.1) A prediction is useful only.
CSC 395 – Software Engineering
COMS W3156: Software Engineering, Fall 2001 Lecture #10: Planning and Estimation Janak J Parekh
Chapter 5: Project Scope Management
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
Difference between project and other assignments real customer before programming: negotiations with client to clarify requirements often changes.
Defining the Activities. Documents  Goal Statement defines why helps manage expectations  Statement of Work what gets delivered defines scope  Software.
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
1.Database plan 2.Information systems plan 3.Technology plan 4.Business strategy plan 5.Enterprise analysis Which of the following serves as a road map.
1 Software Construction Software Construction Chapter 1.
1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Lecture 22 Instructor Paulo Alencar.
Slide 15.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Estimation Why estimate? What to estimate? When to estimate?
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
GCSE OCR 3 A451 Computing Professional standards
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 26 Slide 1 Software cost estimation 1.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Chapter 23 Software Cost Estimation.
Capability Maturity Models Software Engineering Institute (supported by DoD) The problems of software development are mainly caused by poor process management.
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.
9.1/84 PLANNING AND ESTIMATING. 9.2/84 Prologu e There is no easy solution to the difficulties of constructing a SW product, A large product takes time.
Common Activities Activities and Tasks in the WBS.
Software cost estimation Predicting the resources required for a software development process 1.
Slide 10.1 Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented and Classical Software Engineering Eighth Edition,
Introduction to Software Engineering ECSE-321 Unit 4 – Project Management 10/19/2015Introduction to Software Engineering – ECSE321Unit 4 – Project Management/1.
10/27/20151Ian Sommerville.  Fundamentals of software measurement, costing and pricing  Software productivity assessment  The principles of the COCOMO.
Slide 9.1 Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill,
Quality Software Project Management Software Size and Reuse Estimating.
Slide 2.1 CHAPTER 2 THE SOFTWARE PROCESS. Slide 2.2 Overview l Client, Developer, and User l Requirements Phase l Specification Phase l Design Phase l.
SWE © Solomon Seifu Lesson 8 Project Management & Planning.
1 Software Development Software Engineering is the study of the techniques and theory that support the development of high-quality software The focus is.
Chapter 1 Program design Objectives To describe the steps in the program development process To introduce the current program design methodology To introduce.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 20 Slide 1 Critical systems development 3.
1 The Scope of Software Engineering Xiaojun Qi. 2 Software Engineering Software engineering is a discipline whose aim is the production of fault-free.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
© Pearson Education Limited 2004 OHT 9.1 Cadle and Yeates: Project Management for Information Systems, 4th edition IS estimating issues Unique projects.
Project Management All projects need to be “managed” –Cost (people-effort, tools, education, etc.) –schedule –deliverables and “associated” characteristics.
PLANNING AND ESTIMATING. Planning and Estimating Before starting to build software, it is essential to plan the entire development effort in detail Planning.
Slide 9.1 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach
©Ian Sommerville 2000Software Engineering, 7th edition. Chapter 26Slide 1 Software cost estimation l Predicting the resources required for a software development.
1-1 Software Development Objectives: Discuss the goals of software development Identify various aspects of software quality Examine two development life.
Lecture 4: Software Process Management Dr Valentina Plekhanova University of Sunderland, UK
Software cost estimation. Fundamental estimation questions How much effort is required to complete an activity? How much calendar time is needed to complete.
Software Engineering and Object-Oriented Design Topics: Solutions Modules Key Programming Issues Development Methods Object-Oriented Principles.
CS451 Software Maintenance Yugi Lee STB #555 (816) Note: This lecture was designed based on Stephen Schach’s.
Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach
CS3320-Chap21 Office Hours TR 1:00-2:15 PM W 2:30-3:30 PM By appointment.
Project Planning. Overview Planning and the software process Estimating duration and cost Software project management plan components Software project.
By Manish Shrotriya CSE MS Software Estimation Effort Estimation: how much effort is required to complete an activity. (How to define efforts: Line.
Chapter 5: Software effort estimation
Reference: Object-Oriented and Classical Software Engineering Stephen R. Schach, Eighth Edition, WCB/McGraw-Hill, 2011 (CHAPTER 9) PLANNING AND ESTIMATING.
PLANNING AND ESTIMATING
Software Testing.
ICS 3UI - Introduction to Computer Science
System.
8.4 Management of Postdelivery Maintenance
1. Welcome to Software Construction
IEEE Std 1074: Standard for Software Lifecycle
CHAPTER 2 Testing Throughout the Software Life Cycle
COCOMO Models.
Software Development Cost Estimation Chapter 5 in Software Engineering by Ian Summerville (7th edition) 4/7/2019.
Presentation transcript:

Planning and Estimating Xiaojun Qi

Planning and Estimating Before starting to build software, it is essential to plan the entire development effort in detail Planning continues during development and then postdelivery maintenance Initial planning is not enough Planning must proceed throughout the project The earliest possible time that detailed planning can take place is after the specifications are complete

Planning and the Software Process Figure 9.1 The accuracy of estimation increases as the process proceeds

Estimating Duration and Cost Accurate duration estimation is critical Accurate cost estimation is critical Internal costs: The cost to the developers External costs: The price that the client pays There are too many variables for accurate estimate of cost or duration One big difficulty is the human factor There are differences of up to 28 to 1 between pairs of programmers with respect to product size, product execution time, development time, coding time, and debugging time Critical staff members may resign during the project

Metrics for the Size of a Product Lines of code (LOC) Thousand delivered source instructions ( KDSI) File, flow, process (FFP) Function Points COnstructive COst MOdel (COCOMO): It consists of three models A macro-estimation model for the product as a whole Intermediate COCOMO A micro-estimation model that treats the product in detail

Techniques of Cost Estimation Expert judgment by analogy: Experts compare the target product to completed products Bottom-up approach: Break the product into smaller components There are process-level costs associated with the smaller components The independence of the classes in the object-oriented paradigm assists the cost estimation However, the interactions among the components and classes complicate the estimation process Algorithmic cost estimation models: A metric is used as an input to a model to compute cost and duration An algorithmic model is unbiased, and therefore superior to expert opinion However, estimates are only as good as the underlying assumptions

Components of a Software Project Management Plan The work to be done Project function: Work carried on throughout the project. For example, Project management and quality control Activity: A major unit of work that has precise beginning and ending dates, consumes resources, and result in work product. Task: The smallest unit of work subject to management accountability. The resources with which to do it People Hardware Support software The money to pay for it

Software Project Management Plan (SPMP) Framework There are many ways to construct an SPMP One of the best is IEEE Standard 1058.1 The standard is widely accepted It is designed for use with all types of software products It supports process improvement Many sections reflect CMM key process areas It is ideal for the Unified Process There are sections for requirements control and risk management

Planning Testing The SPMP must explicitly state what testing is to be done Traceability is essential All black box test cases must be drawn up as soon as possible after the specifications are complete

Planning Object-Oriented Projects An object-oriented product consists of largely independent pieces Consequently, planning is somewhat easier The whole is more than the sum of its parts However, reuse induces errors in cost and duration estimates Reuse of existing components during development Production of components for future reuse

Documentation Types and Standards Documentation Types: Planning, Control, Financial, Technical, Source code, and Comments within source code Standards reduce misunderstandings between team members Standards aid SQA Only new employees have to learn the standards Standards assist maintenance programmers Standardization is important for user manuals

Testing the Software Project Management Plan We must check the SPMP as a whole Paying particular attention to the duration and cost estimates