Cost estimators need to estimate both software and hardware for a software development project. What is essential for them to understand?
How software and hardware estimates are developed, particularly significant cost drivers
This module focuses on the estimation of the software portion of software development projects.
What is the significance of COTS products in software development?
Aid in development and speed up the process
However, human factors still impact these projects.
What are the three categories that influence software development costs?
These factors are similar to those influencing hardware development costs.
How is size measured in software development?
By metrics such as Function Point (FP) counts, Software Lines of Code (SLOC), COSMIC Function Point (CFP) counts, or MARK II FP counts
New methodologies like agile development use story points or use case points.
True or false: Complexity in software relates only to the functionality that the software must perform.
FALSE
Complexity can also be reflected in the language(s) and platform used.
What are the system engineering steps for software development?
These steps outline the fundamental process of software development.
What does the Work Breakdown Structure (WBS) provide for software acquisitions?
A defined and structured framework for breaking down projects into components
It facilitates estimation, tracking, and management.
What are the main cost drivers in software cost estimation?
These drivers influence the total cost of software projects.
What is the primary cost driver for software development?
Size of the development effort
Accurate size measurement is critical for good cost estimates.
What is code size growth often caused by?
Requirements growth
This can result from poor understanding of requirements or the addition of new requirements during development.
Fill in the blank: The first step in the software development process is __________.
System Requirements and Design
This step involves documenting requirements and defining the overall plan.
What is the primary cause of code size growth?
Requirements growth
Requirements growth can stem from poor understanding of user needs, lack of stakeholder engagement, and new legal or market requirements.
List factors that contribute to requirements growth.
These factors can significantly increase software development costs and schedules.
True or false: Code growth can occur due to a poor initial size estimate.
TRUE
Subjective estimates like SLOC can lead to optimistic bias affecting risk analysis and assumptions.
What does SLOC stand for?
Source Lines of Code
SLOC includes executable instructions and data declarations but excludes comments, blanks, and continuation lines.
What are the advantages of using SLOC as a size measure?
Despite its subjectivity, SLOC remains a common measure in software estimation.
What are the disadvantages of using SLOC?
These issues can lead to poor estimating and productivity variations.
Fill in the blank: Equivalent Source Lines of Code (ESLOC) adjusts the count to reflect the effort required for _______.
adapted code
ESLOC accounts for design modifications, code modifications, and integration/testing efforts.
What is the equation to calculate ESLOC?
ESLOC = SLOC * [(0.40 * % design modified) + (0.30 * % code modified) + (0.30 * % integration and test)]
This equation reflects the effort required for new development based on adaptations.
What are Function Points (FP) based on?
Functional User Requirements (FUR)
FPs were developed by IBM in the 1970s and are defined in the Counting Practices Manual (CPM).
List the steps to count Function Points.
These steps help in obtaining a function point count for software projects.
What are the advantages of Function Points?
FPs are not affected by programmer skills or coding styles.
What are the disadvantages of Function Points?
IFPUG has developed SNAP to address non-functional requirements.
What factors drive software complexity?
Complexity is assumed to be a cost driver, although statistical analysis is limited.