# US 2017/0286105 A1 · Control flow points based software size and effort estimation

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2017/0286105 A1
- Document ID: US20170286105A1
- Status: Published application
- Kind: A1
- Application number: 15/084,127
- Filed: 2016-03-29
- Published: 2017-10-05
- Earliest claimed: 2016-03-29
- Assignees: Accenture Global Solutions Limited
- Applicants: Accenture Global Solutions Limited
- Inventors: Vijay Ashok Gurav
- Web page: https://patentgrep.com/patent/US20170286105A1

## CPC

- G06F 8/77: Software metrics
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## 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.

## Claims

### 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.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the one or more components include an external trigger (ET) component, a control flow with rules and validations (CFRV) component, and an external integration/data operation (EI/DO) component.

### Claim 3 (depends on 2)

The computer-implemented method of claim 2, the method further comprising:
identifying a type of one or more ET components of the one or more components;
for each of the ET components, determining a complexity of the ET component based on a comparison of the identified type of the ET component and a respective first reference table of the one or more first reference tables; and
for each of the ET components, determining the effort of the ET component based on the respective determined complexity.

### Claim 4 (depends on 2)

The computer-implemented method of claim 2, the method further comprising:
identifying a type of one or more EI/DO components of the one or more components;
for each of the EI/DO components, determining a complexity of the EI/DO component based on a comparison of the identified type of the EI/DO component and a respective first reference table of the one or more first reference tables; and
for each of the EI/DO components, determining the effort of the EI/DO component based on the respective determined complexity.

### Claim 5 (depends on 2)

The computer-implemented method of claim 2, the method further comprising:
identifying a quantity of rules and validations associated with each CFRV component of the one or more components,
for each CFRV component, determining a complexity of the CFRV component based on a comparison of the identify quantity of rules and validation associated with the CFRV component and a respective first reference table of the one or more first reference tables; and
for each CFRV component, determining the effort of the CFRV component based on the respective determined complexity.

### Claim 6

(canceled)

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, wherein estimating the effort of the software-based project further comprises:
for each component, summing the effort of the component of each of the one or more control flows associated with the one or more functional requirements to provide a component summation; and
summing each of the component summations to provide the effort.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, further comprising estimating the size of the software-based project, the size of the software-based projected based on one or more of an estimated total project size of the software-based project in control flow points, an estimated total project effort of the software-based project in hours, an estimated total number of test cases of the software-based project, and an estimated total number of integration test cases of the software-based project.

### Claim 9

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.

### Claim 10 (depends on 9)

The system of claim 9, wherein the one or more components include an external trigger (ET) component, a control flow with rules and validations (CFRV) component, and an external integration/data operation (EI/DO) component.

### Claim 11 (depends on 10)

The system of claim 10, the operations further comprising:
identifying a type of one or more ET components of the one or more components;
for each of the ET components, determining a complexity of the ET component based on a comparison of the identified type of the ET component and a respective first reference table of the one or more first reference tables; and
for each of the ET components, determining the effort of the ET component based on the respective determined complexity.

### Claim 12 (depends on 10)

The system of claim 10, the operations further comprising:
identifying a type of one or more EI/DO components of the one or more components;
for each of the EI/DO components, determining a complexity of the EI/DO component based on a comparison of the identified type of the EI/DO component and a respective first reference table of the one or more first reference tables; and
for each of the EI/DO components, determining the effort of the EI/DO component based on the respective determined complexity.

### Claim 13 (depends on 10)

The system of claim 10, the operations further comprising: identifying a quantity of rules and validations associated with each CFRV component of the one or more components,
for each CFRV component, determining a complexity of the CFRV component based on a comparison of the identify quantity of rules and validation associated with the CFRV component and a respective first reference table of the one or more first reference tables; and
for each CFRV component, determining the effort of the CFRV component based on the respective determined complexity.

### Claim 14 (depends on 9)

The system of claim 9, wherein estimating the effort of the software-based project further comprises:
for each component, summing the effort of the component of each of the one or more control flows associated with the one or more functional requirements to provide a component summation; and
summing each of the component summations to provide the effort.

### Claim 15 (depends on 9)

The system of claim 9, the operations further comprising estimating the size of the software-based project, the size of the software-based projected based on one or more of an estimated total project size of the software-based project in control flow points, an estimated total project effort of the software-based project in hours, an estimated total number of test cases of the software-based project, and an estimated total number of integration test cases of the software-based project.

### Claim 16

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.

### Claim 17 (depends on 16)

The computer-readable medium of claim 16, wherein the one or more components include an external trigger (ET) component, a control flow with rules and validations (CFRV) component, and an external integration/data operation (EI/DO) component.

### Claim 18 (depends on 17)

The computer-readable medium of claim 17, the operations further comprising:
identifying a type of one or more ET components of the one or more components;
for each of the ET components, determining a complexity of the ET component based on a comparison of the identified type of the ET component and a respective first reference table of the one or more first reference tables; and
for each of the ET components, determining the effort of the ET component based on the respective determined complexity.

### Claim 19 (depends on 17)

The computer-readable medium of claim 17, the operations further comprising:
identifying a type of one or more EI/DO components of the one or more components;
for each of the EI/DO components, determining a complexity of the EI/DO component based on a comparison of the identified type of the EI/DO component and a respective first reference table of the one or more first reference tables; and
for each of the EI/DO components, determining the effort of the EI/DO component based on the respective determined complexity.

### Claim 20 (depends on 17)

The computer-readable medium of claim 17, the operations further comprising:
identifying a quantity of rules and validations associated with each CFRV component of the one or more components,
for each CFRV component, determining a complexity of the CFRV component based on a comparison of the identify quantity of rules and validation associated with the CFRV component and a respective first reference table of the one or more first reference tables; and
for each CFRV component, determining the effort of the CFRV component based on the respective determined complexity.
