Control flow points based software size and effort estimation
First Claim
1. A computer-implemented method, comprising:
- identifying a software-based project including one or more functional requirements, the software-based project including computer-implemented programing language code;
for each functional requirement, identifying one or more controls flows associated with the functional requirement, each control flow including one or more components;
accessing one or more first reference tables that indicate, for a value of a parameter of a respective component of the one or more components, a complexity of the respective component;
determining, for each component of the one or more components, the complexity of the component based on a comparison with the one or more first reference tables;
accessing a second reference table that indicates, for the complexity of a respective component of the one or more components, an analyze value, a design value, a build value, and a test value of the respective component;
based on the second reference table, determining, for each component of the one or more components, the analyze value, the design value, the build value, and the test value of the respective component;
determining, for each component of the one or more components, an analyze-design-build-test (ADBT) effort of the component based on respective analyze, design, build, and test values; and
estimating a total effort of the software-based project based on the ADBT effort of each component of the one or more control flows associated with the one or more functional requirements to provide a component summation.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for size and effort estimation of software-based projects. The software-based project includes functional requirements and computer-implemented programing language code. The method includes that for each functional requirement, identifying one or more controls flows associated with the functional requirement, each control flow including one or more components; accessing one or more reference tables; determining, for each component of the one or more components, a complexity of the component based on a comparison with the one or more reference tables; and estimating an effort of the software-based project based on the complexity of each component of the one or more control flows associated with the one or more functional requirements.
-
Citations
19 Claims
-
1. A computer-implemented method, comprising:
-
identifying a software-based project including one or more functional requirements, the software-based project including computer-implemented programing language code; for each functional requirement, identifying one or more controls flows associated with the functional requirement, each control flow including one or more components; accessing one or more first reference tables that indicate, for a value of a parameter of a respective component of the one or more components, a complexity of the respective component; determining, for each component of the one or more components, the complexity of the component based on a comparison with the one or more first reference tables; accessing a second reference table that indicates, for the complexity of a respective component of the one or more components, an analyze value, a design value, a build value, and a test value of the respective component; based on the second reference table, determining, for each component of the one or more components, the analyze value, the design value, the build value, and the test value of the respective component; determining, for each component of the one or more components, an analyze-design-build-test (ADBT) effort of the component based on respective analyze, design, build, and test values; and estimating a total effort of the software-based project based on the ADBT effort of each component of the one or more control flows associated with the one or more functional requirements to provide a component summation. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system comprising:
-
one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising; identifying a software-based project including one or more functional requirements, the software-based project including computer-implemented programing language code; for each functional requirement, identifying one or more controls flows associated with the functional requirement, each control flow including one or more components; accessing one or more first reference tables that indicate, for a value of a parameter of a respective component of the one or more components, a complexity of the respective component; determining, for each component of the one or more components, the complexity of the component based on a comparison with the one or more first reference tables; accessing a second reference table that indicates, for the complexity of a respective component of the one or more components, an analyze value, a design value, a build value, and a test value of the respective component; based on the second reference table, determining, for each component of the one or more components, the analyze value, the design value, the build value, and the test value of the respective component; determining, for each component of the one or more components, an analyze-design-build-test (ADBT) effort of the component based on respective analyze, design, build, and test values; and estimating a total effort of the software-based project based on the ADBT effort of each component of the one or more control flows associated with the one or more functional requirements to provide a component summation. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:
-
identifying a software-based project including one or more functional requirements, the software-based project including computer-implemented programing language code; for each functional requirement, identifying one or more controls flows associated with the functional requirement, each control flow including one or more components; accessing one or more first reference tables that indicate, for a value of a parameter of a respective component of the one or more components, a complexity of the respective component; determining, for each component of the one or more components, the complexity of the component based on a comparison with the one or more first reference tables; accessing a second reference table that indicates, for the complexity of a respective component of the one or more components, an analyze value, a design value, a build value, and a test value of the respective component; based on the second reference table, determining, for each component of the one or more components, the analyze value, the design value, the build value, and the test value of the respective component; determining, for each component of the one or more components, an analyze-design-build-test (ADBT) effort of the component based on respective analyze, design, build, and test values; and estimating a total effort of the software-based project based on the ADBT effort of each component of the one or more control flows associated with the one or more functional requirements to provide a component summation. - View Dependent Claims (16, 17, 18, 19)
-
Specification