Top Banner
COSC 310: Software Engineering Dr. Bowen Hui University of British Columbia Okanagan 1
30

COSC 310: Software Engineering

Nov 22, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: COSC 310: Software Engineering

COSC 310: Software Engineering

Dr. Bowen Hui University of British Columbia Okanagan

1

Page 2: COSC 310: Software Engineering

Recall Estimation from PM Lecture

•  prediction of resources needed to complete a project based on predicted size o  estimate work effort

•  cost is always estimated in terms of effort, not actual dollars

•  considers: o  calendar time o  staffing availability, capability, productivity o  budget constraints o  creeping requirements o  what-if analysis

Page 3: COSC 310: Software Engineering

Fundamental Estimation Questions

•  how much work is required to be produced in order to complete an activity?

•  how much effort and calendar time are needed to complete an activity?

•  what is the total cost of an activity? o  this is monetary cost: hardware, software, travel,

training, human resources, insurance

Page 4: COSC 310: Software Engineering

"Best" Estimates

•  there is no simple way to make accurate estimate of effort required to develop software

•  initial estimates often based on: o  inadequate requirements o  unfamiliar technology o  limited information about development team

•  project cost estimates may be self-fulfilling o  estimates defined to meet expected budget

Page 5: COSC 310: Software Engineering

Brief History

Page 6: COSC 310: Software Engineering

Size-Based vs Time-Based Estimates

Page 7: COSC 310: Software Engineering

COCOMO •  stands for constructive cost model •  data collected from 63 software projects

o  actual LOC o  actual effort o  actual schedule duration

•  regression analysis was used to develop equations that best describe the data o  a statistical technique used to find relationships

between variables for predicting future values •  several COCOMO models have been developed

o  Ex: agile COCOMO o  http://sunset.usc.edu/research/cocomosuite

Page 8: COSC 310: Software Engineering

(Basic) COCOMO Overview

•  3 modes (project types) o  organic, semi-detached, embedded

•  3 levels of analysis (varies in accuracy) o  basic, intermediate, detailed

•  idea: o  estimate effort o  estimate development time o  estimate staffing needs o  estimate productivity o  extension to allow for cost drivers and complex

system structure

Page 9: COSC 310: Software Engineering

Modes (Project Types)

Page 10: COSC 310: Software Engineering

Basic Analysis

Page 11: COSC 310: Software Engineering

Prescribed Constants

Page 12: COSC 310: Software Engineering

Example of Basic Analysis

Page 13: COSC 310: Software Engineering

Example (cont.)

Page 14: COSC 310: Software Engineering

Intermediate Analysis

Page 15: COSC 310: Software Engineering

Effort Adjustment Factor (EAF)

Page 16: COSC 310: Software Engineering

Cost Drivers - Product Attributes

Page 17: COSC 310: Software Engineering

Remaining Cost Drivers

Page 18: COSC 310: Software Engineering

Intermediate Analysis Effort Calculation Steps

Page 19: COSC 310: Software Engineering

EAF Example

Page 20: COSC 310: Software Engineering

Comments on Cost Drivers

Page 21: COSC 310: Software Engineering
Page 22: COSC 310: Software Engineering

Detailed Analysis

Page 23: COSC 310: Software Engineering

COCOMO Pros and Cons

•  Pros: o  ?

Page 24: COSC 310: Software Engineering

COCOMO Pros and Cons

•  Pros: o  a repeatable process o  back fitted from real data o  allows new cost drivers o  supports different modes and analysis levels

•  Cons: o  ?

Page 25: COSC 310: Software Engineering

COCOMO Pros and Cons

•  Pros: o  a repeatable process o  back fitted from real data o  allows new cost drivers o  supports different modes and analysis levels

•  Cons: o  assumes waterfall SDLC o  assumes simplistic view of lifecycle phases o  original model divided effort as 30% design, 30%

code and unit test, 40% integration o  all analysis levels are size dependent

Page 26: COSC 310: Software Engineering

COCOMO II

•  accounts for different SDLCs •  allows for FP estimates (rather only LOC) •  supports different models:

o  application composition §  suitable for GUI builder tools §  based on object points (not FPs)

o  early design §  obtain rough estimates of costs and duration without

system architecture §  based on unadjusted FP

o  post architecture §  most detailed of all §  use after architecture is developed

Page 27: COSC 310: Software Engineering

Estimation in Agile Projects

Page 28: COSC 310: Software Engineering

Current Agile Estimation Methods

Page 29: COSC 310: Software Engineering

Summary Challenges with Current Methods

Page 30: COSC 310: Software Engineering

Midterm Format

•  midterm next Friday •  80 minutes •  cheatsheets allowed •  no calculators •  8 questions •  each question: shows sub-questions and

associated points

•  review next class