Software Engineering
Effort Estimates
COMP 380: Software Engineering
Estimating Process
Identify Requirements
Create High-Level Design
Break High-Level Design into smaller work packages
Map requirements to work packages
Create work packages for each development activity (Requirements, Design, Implementation, Testing)
Add in work packages related to project management
Add in work packages of other activities
Create Effort Estimate for each work package
Requirements
Create Deliverable
Define attributes
Requirements satisfied by Deliverable
Tasks necessary to complete Deliverable
Save Deliverable
Retrieve Deliverable
Display Deliverable
| Attribute |
| Unique Identifier |
| Name |
| Description |
| Due Date |
| List of Requirements |
| List of Tasks |
Hight-Level Design
Graphical User Interface
Middle-Ware
Database
Work Break-down Structure
Estimating S/W Development Effort - WBS
| Phase | |||||
| Component | Requirements | Design | Implementation | Testing | Total |
| Deliverable Creation Form | |||||
| Deliverable Display Form | |||||
| Create Deliverable | |||||
| Retrieve Deliverable | |||||
| Update Deliverable | |||||
| Delete Deliverable | |||||
| Display Deliverables | |||||
| Associate Requirements to Deliverable | |||||
| Retrieve Requirements for Deliverable | |||||
| Update Requirements for Deliverable | |||||
| Un-associate Requirement to Deliverable | |||||
| Associate Tasks to Deliverable | |||||
| Retrieve Tasks for Deliverable | |||||
| Update Tasks for Deliverable | |||||
| Un-associate Task to Deliverable | |||||
| Grand Total |
Estimating S/W Dev. Effort - COCOMO
| Component | SLOC |
| Deliverable Creation Form | |
| Deliverable Display Form | |
| Create Deliverable | |
| Retrieve Deliverable | |
| Update Deliverable | |
| Delete Deliverable | |
| Display Deliverables | |
| Associate Requirements to Deliverable | |
| Retrieve Requirements for Deliverable | |
| Update Requirements for Deliverable | |
| Un-associate Requirement to Deliverable | |
| Associate Tasks to Deliverable | |
| Retrieve Tasks for Deliverable | |
| Update Tasks for Deliverable | |
| Un-associate Task to Deliverable | |
| Grand Total |
Organic: Effort = [3.2 x (size)1.05] x PROD(f’s)
Semidetached: Effort = [3.2 x (size)1.12] x PROD(f’s)
Embedded: Effort = [3.2 x (size)1.20] x PROD(f’s)
Estimating S/W Dev. Effort - Function Points
| Component | Type | Function Points | Weight | Total |
| Deliverable Creation Form | ||||
| Deliverable Display Form | ||||
| Create Deliverable | ||||
| Retrieve Deliverable | ||||
| Update Deliverable | ||||
| Delete Deliverable | ||||
| Display Deliverables | ||||
| Associate Requirements to Deliverable | ||||
| Retrieve Requirements for Deliverable | ||||
| Update Requirements for Deliverable | ||||
| Un-associate Requirement to Deliverable | ||||
| Associate Tasks to Deliverable | ||||
| Retrieve Tasks for Deliverable | ||||
| Update Tasks for Deliverable | ||||
| Un-associate Task to Deliverable | ||||
| Unadjusted Function Points (UFP) |
Total Complexity Factor (TCF) = 0.65 + [(0.01) x (sum of technical complexity factors)]
Function Points = UFP x TCF
Effort = (Function Points) / (Function Points per Person-Month)
Estimating S/W Dev. Effort – Simplified OO
| Component | Classes | GUI Weight | Productivity | Total |
| Deliverable Creation Form | ||||
| Deliverable Display Form | ||||
| Create Deliverable | ||||
| Retrieve Deliverable | ||||
| Update Deliverable | ||||
| Delete Deliverable | ||||
| Display Deliverables | ||||
| Associate Requirements to Deliverable | ||||
| Retrieve Requirements for Deliverable | ||||
| Update Requirements for Deliverable | ||||
| Un-associate Requirement to Deliverable | ||||
| Associate Tasks to Deliverable | ||||
| Retrieve Tasks for Deliverable | ||||
| Update Tasks for Deliverable | ||||
| Un-associate Task to Deliverable | ||||
| Grand Total |
Project Management Tasks
| Initiating | Planning | Executing | Monitoring and Controlling | Closing |
| Develop Project Charter | Develop Project Management Plan | Direct and Manage Project Work | Monitor & Control Project Work | Close Project or Phase |
| Identify Stakeholders | Plan Scope Management | Perform Quality Assurrance | Perform Integrated Change Control | Close Procurement |
| Collect Requirements | Acquire Project Team | Control Schedule | ||
| Define Scope | Develop Project Team | Control Costs | ||
| Create Work Breakdown Structure | Manage Project Team | Control Quality | ||
| Plan Cost Management | Manage Communications | Control Communications | ||
| Estimate Costs | Conduct Procurement | Control Risks | ||
| Determine Budget | Manage Stakeholder Engagement | Control Procurement | ||
| Plan Quality Management | Control Stakeholder Engagement | |||
| Plan Human Resource Management | ||||
| Plan Communications Management | ||||
| Plan Risk Management | ||||
| Identify Risks | ||||
| Perform Qualitative Risk Analysis | ||||
| Perorm Quantitative Risk Analyiss | ||||
| Plan Risk Response | ||||
| Plan Procurement Management | ||||
| Plan Stakeholder Management |
Other Tasks
Miscellaneous Software Development Tasks
High-Level Design
Training
Help System
Documentation
Integration (Component, Subsystem, System)
Integration Testing (Component, Subsystem, System)
Packaging
Delivery
Other Tasks
Meetings (internal and client)
Other Factors
Use of Libraries and existing code
Use of commercial products (e.g., DBMS)
Re-usability
Interactive Development Environments
Programming Language(s) used
Deliverables
A Deliverable is a tangible or intangible good or service produced as a result of a project that is intended
to be delivered to the Custom er.
Project Managers must know the requirements satisfied by the Deliverable , when each Deliverable is
scheduled to be delivered to the Customer and the Tasks necessary to complete the deliverable .
The PMS shall provide a Project Manager with the capability to create Deliverables and list the
Deliverables created. The PMS shall permit a Project Manager to define the attributes listed
Deliverable
Requirement
Task
Deliverable
Requirement
Task
GUI
Deliverables
Tasks
Deliverable Input
Form
Deliverable List
Project
Management
System
Middleware
Database