# US 8,752,013 B2 · System and method for evaluating and selecting software components and services

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

- Number: US 8,752,013 B2
- Document ID: US8752013B2
- Status: Granted
- Kind: B2
- Application number: 12/725,859
- Filed: 2010-03-17
- Published: 2011-09-22
- Granted: 2014-06-10
- Earliest claimed: 2010-03-17
- Assignees: CA, Inc.
- Applicants: Eitan Hadar; Yaakov Noson Shapiro
- Inventors: Eitan Hadar; Yaakov Noson Shapiro
- Web page: https://patentgrep.com/patent/US8752013B2

## CPC

- G06Q 30/06: Buying, selling or leasing transactions
- G06Q 10/00: Administration; Management
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

A system that includes one or more computer processors is configured to receive parameters relating to non-functional attributes of a proposed software component, parameters relating to non-functional attributes of one or more available software components, and a weight for each of the non-functional attributes. The system calculates a quality and a risk for each available software component as a function of the parameters of the proposed software component, the parameters for the one or more available software components, and the weight for each of the non-functional attributes. The system outputs to a display device one or more of the quality and the risk for the one or more available software components.

## Claims

### Claim 1

A system comprising:
one or more computer processors configured to:
receive parameters relating to non-functional attributes of a proposed software component or service;
receive parameters relating to non-functional attributes of one or more available software components or services;
receive a weight for each of the non-functional attributes;
calculate a quality and a risk for each available software component or service as a function of the parameters of the proposed software component or service, the parameters for the one or more available software components or services, and the weight for each of the non-functional attributes; and
output to a display device, a computer memory, or another computer processor one or more of the quality and the risk for the one or more available software components or services.

### Claim 2 (depends on 1)

The system of claim 1, wherein the one or more processors are configured to select a particular available software component or service as a function of the calculated quality and risk in connection with an integration of new technology and best practices in a software architecture change in an organization.

### Claim 3 (depends on 1)

The system of claim 1, wherein the one or more processors are configured to calculate the quality and risk repeatedly over a period of time, thereby providing an evolutionary analysis for a software system architecture.

### Claim 4 (depends on 1)

The system of claim 1, wherein the risk comprises a measure of non-conformance to user requirements of a particular software component or service as a function of the parameters and weights.

### Claim 5 (depends on 1)

The system of claim 1, comprising a network connection configured to permit access to one or more ecommerce sites offering the one or more available software components or services.

### Claim 6 (depends on 1)

The system of claim 1, wherein the weights for the non-functional attributes of a particular available software component or service add up to a predetermined value.

### Claim 7 (depends on 1)

The system of claim 1, wherein the non-functional attributes are selected as a function of the requirements or style of a software system architecture, such that a current software component or service can be selected so as to match those architectural requirements of style.

### Claim 8 (depends on 1)

The system of claim 1, wherein the quality of a single component is calculated as follows:
Quality
=
∑
i
=
1
n
⁢
W
i
*
(
Required
i
-
Actual
i
)
wherein n comprises a number of non-functional attributes;
wherein Required comprises non-functional attributes of the proposed software component or service;
wherein Actual comprises non-functional attributes of the available software components or services; and
wherein W comprises a set of weights associated with non-functional attributes.

### Claim 9 (depends on 1)

The system of claim 1, wherein the risk is calculated as follows:
Risk
=
∑
i
=
1
n
⁢
W
i
*
(
Required
i
-
Actual
i
)
*
X
i
X
i
=
{
1
,
when
⁢
[
(
Required
]
i
-
Actual
i
)
<
0
0
,
when
⁢
[
(
Required
]
i
-
Actual
i
)
≥
0
}
wherein n comprises a number of non-functional attributes;
wherein Required comprises non-functional attributes of the proposed software component or service;
wherein Actual comprises non-functional attributes of the available software components or services; and
wherein W comprises a set of weights associated with non-functional attributes.

### Claim 10 (depends on 1)

The system of claim 1, wherein the display outputs one or more of the quality and the risk for a plurality of user types of a set of components.

### Claim 11 (depends on 1)

The system of claim 1, wherein the display outputs one or more of the quality and the risk for a plurality of software components or services.

### Claim 12 (depends on 1)

The system of claim 1, wherein the parameters comprise numeric parameters and the weight comprises a numeric weight.

### Claim 13

A computerized process comprising:
receiving into a computer processor parameters relating to non-functional attributes of a proposed software component or service;
receiving into the computer processor parameters relating to non-functional attributes of one or more available software components or services, wherein the available software components comprise software components that are available for purchase in a catalog of off the shelf software components;
receiving into the computer processor a weight for each of the non-functional attributes;
calculating with the computer processor a quality and a risk for each available software component or service as a function of the parameters of the proposed software component or service, the parameters for the one or more available software components or services, and the weight for each of the non-functional attributes; and
outputting to a display device, a computer memory, or to another computer processor one or more of the quality and the risk for the one or more available software components or services.

### Claim 14 (depends on 13)

The computerized process of claim 13, comprising selecting a particular available software component or service as a function of the calculated quality and risk.

### Claim 15 (depends on 13)

The computerized process of claim 13, comprising calculating the quality and risk repeatedly over a period of time, thereby providing an evolutionary analysis for a software system architecture.

### Claim 16 (depends on 13)

The computerized process of claim 13, comprising establishing a network connection configured to permit access to one or more ecommerce sites offering the one or more available software components or services.

### Claim 17 (depends on 13)

The computerized process of claim 13, wherein the non-functional attributes are selected as a function of the requirements or style of a software system architecture, such that a current software component or service can be selected so as to match those architectural requirements or style.

### Claim 18 (depends on 13)

The computerized process of claim 13, wherein the quality of a single component is calculated as follows:
Quality
=
∑
i
=
1
n
⁢
W
i
*
(
Required
i
-
Actual
i
)
wherein n comprises a number of non-functional attributes;
wherein Required comprises non-functional attributes of the proposed software component or service;
wherein Actual comprises non-functional attributes of the available software components or services; and
wherein W comprises a set of weights associated with non-functional attributes.

### Claim 19 (depends on 13)

The computerized process of claim 13, wherein the risk is calculated as follows:
Risk
=
∑
i
=
1
n
⁢
W
i
*
(
Required
i
-
Actual
i
)
*
X
i
X
i
=
{
1
,
when
⁢
[
(
Required
]
i
-
Actual
i
)
<
0
0
,
when
⁢
[
(
Required
]
i
-
Actual
i
)
≥
0
}
wherein n comprises a number of non-functional attributes;
wherein Required comprises non-functional attributes of the proposed software component or service;
wherein Actual comprises non-functional attributes of the available software components or services; and
wherein W comprises a set of weights associated with non-functional attributes.

### Claim 20

A non-transitory machine-readable medium storing instructions, which, when executed by a processor, cause the processor to perform a process comprising:
receiving into a computer processor parameters relating to non-functional attributes of a proposed software component or service;
receiving into the computer processor parameters relating to non-functional attributes of one or more available software components or services;
receiving into the computer processor a weight for each of the non-functional attributes;
calculating with the computer processor a quality and a risk for each available software component or service as a function of the parameters of the proposed software component or service, the parameters for the one or more available software components or services, and the weight for each of the non-functional attributes; and
outputting to a display device, a computer memory, or to another computer processor one or more of the quality and the risk for the one or more available software components or services.

### Claim 21 (depends on 20)

The non-transitory machine-readable medium of claim 20, comprising instructions for selecting a particular available software component or service as a function of the calculated quality and risk.

### Claim 22 (depends on 20)

The non-transitory machine-readable medium of claim 20, comprising instructions for calculating the quality and risk repeatedly over a period of time, thereby providing an evolutionary analysis for a software system architecture.

### Claim 23 (depends on 20)

The non-transitory machine-readable medium of claim 20, comprising instructions for establishing a network connection configured to permit access to one or more ecommerce sites offering the one or more available software components or services.

### Claim 24 (depends on 20)

The non-transitory machine-readable medium of claim 20, wherein the quality of a single component is calculated as follows:
Quality
=
∑
i
=
1
n
⁢
W
i
*
(
Required
i
-
Actual
i
)
wherein n comprises a number of non-functional attributes;
wherein Required comprises non-functional attributes of the proposed software component or service;
wherein Actual comprises non-functional attributes of the available software components or services; and
wherein W comprises a set of weights associated with non-functional attributes.

### Claim 25 (depends on 20)

The non-transitory machine-readable medium of claim 20, wherein the risk is calculated as follows:
Risk
=
∑
i
=
1
n
⁢
W
i
*
(
Required
i
-
Actual
i
)
*
X
i
X
i
=
{
1
,
when
⁢
[
(
Required
]
i
-
Actual
i
)
<
0
0
,
when
⁢
[
(
Required
]
i
-
Actual
i
)
≥
0
}
wherein n comprises a number of non-functional attributes;
wherein Required comprises non-functional attributes of the proposed software component or service;
wherein Actual comprises non-functional attributes of the available software components or services; and
wherein W comprises a set of weights associated with non-functional attributes.
