System and method for software estimation
First Claim
Patent Images
1. A computer-implemented software estimation system for use in software engineering, comprising a processor and a memory for storing components comprising:
- a) at least one neuro-fuzzy component, wherein each neuro-fuzzy component has the learning capability of a neural network and implements a plurality of fuzzy rules, wherein said at least one neuro-fuzzy component takes as input a plurality of contributing factor ratings and processes said contributing factor ratings in accordance with said fuzzy rules to compute numerical parameter values for an algorithmic model, and wherein said at least one neuro-fuzzy component comprises;
i) a neuro-fuzzy inference system for resolving the effect of dependencies among a plurality of contributing factors associated with said plurality of contributing factor ratings, wherein said neuro-fuzzy inference system implements a first subset of said plurality of fuzzy rules, and wherein said neuro-fuzzy inference system takes as input said plurality of contributing factor ratings and processes each of said plurality of contributing factor ratings in accordance with said first subset to compute a plurality of adjusted ratings; and
ii) a neuro-fuzzy bank coupled to said neuro-fuzzy inference system, wherein said neuro-fuzzy bank implements a second subset of said plurality of fuzzy rules, and wherein said neuro-fuzzy bank takes as input said plurality of adjusted ratings and processes each of said plurality of adjusted ratings in accordance with said second subset to compute said numerical parameter values; and
b) an algorithmic model module coupled to said at least one neuro-fuzzy component, wherein said module takes as input said numerical parameter values and processes said numerical parameter values in accordance with said algorithmic model to compute at least one output metric;
wherein each output metric provides an estimate of a characteristic associated with a software development project, said at least one output metric for use in analyzing the feasibility of the software development project;
wherein said first subset of said plurality of fuzzy rules is defined byFuzzy Rule (i,k);
IF (RF1 is A1jik) AND (RF2 is A2jik) AND . . . AND (RFN is ANjik) THEN ARFi=PFPik·
RFi=1,2, . . . , N, k=1,2, . . . , M1 where RFi, is a rating of contributing factor i, ARFi, is an adjusted rating of contributing factor i, Mi, is a number of fuzzy rules with contributing factor i as a consequent, PFPik is an adjustable parameter associated with the fuzzy rule (i,k), and Asjik, is a fuzzy set associated with a iik-th rating level of contributing factor s for fuzzy rule (i,k);
wherein said plurality of adjusted ratings computed by said neuro-fuzzy inference system satisfy;
0 Assignments
0 Petitions
Accused Products
Abstract
A system and method for software estimation. In one embodiment, the software estimation system comprises a pre-processing neuro-fuzzy inference system used to resolve the effect of dependencies among contributing factors to produce adjusted rating values for the contributing factors, a neuro-fuzzy bank used to calibrate the contributing factors by mapping the adjusted rating values for the contributing factors to generate corresponding numerical parameter values, and a module that applies an algorithmic model (e.g. COCOMO) to produce one or more software output metrics.
36 Citations
14 Claims
-
1. A computer-implemented software estimation system for use in software engineering, comprising a processor and a memory for storing components comprising:
-
a) at least one neuro-fuzzy component, wherein each neuro-fuzzy component has the learning capability of a neural network and implements a plurality of fuzzy rules, wherein said at least one neuro-fuzzy component takes as input a plurality of contributing factor ratings and processes said contributing factor ratings in accordance with said fuzzy rules to compute numerical parameter values for an algorithmic model, and wherein said at least one neuro-fuzzy component comprises; i) a neuro-fuzzy inference system for resolving the effect of dependencies among a plurality of contributing factors associated with said plurality of contributing factor ratings, wherein said neuro-fuzzy inference system implements a first subset of said plurality of fuzzy rules, and wherein said neuro-fuzzy inference system takes as input said plurality of contributing factor ratings and processes each of said plurality of contributing factor ratings in accordance with said first subset to compute a plurality of adjusted ratings; and ii) a neuro-fuzzy bank coupled to said neuro-fuzzy inference system, wherein said neuro-fuzzy bank implements a second subset of said plurality of fuzzy rules, and wherein said neuro-fuzzy bank takes as input said plurality of adjusted ratings and processes each of said plurality of adjusted ratings in accordance with said second subset to compute said numerical parameter values; and b) an algorithmic model module coupled to said at least one neuro-fuzzy component, wherein said module takes as input said numerical parameter values and processes said numerical parameter values in accordance with said algorithmic model to compute at least one output metric;
wherein each output metric provides an estimate of a characteristic associated with a software development project, said at least one output metric for use in analyzing the feasibility of the software development project;wherein said first subset of said plurality of fuzzy rules is defined by Fuzzy Rule (i,k);
IF (RF1 is A1jik) AND (RF2 is A2jik) AND . . . AND (RFN is ANjik) THEN ARFi=PFPik·
RFi=1,2, . . . , N, k=1,2, . . . , M1where RFi, is a rating of contributing factor i, ARFi, is an adjusted rating of contributing factor i, Mi, is a number of fuzzy rules with contributing factor i as a consequent, PFPik is an adjustable parameter associated with the fuzzy rule (i,k), and Asjik, is a fuzzy set associated with a iik-th rating level of contributing factor s for fuzzy rule (i,k); wherein said plurality of adjusted ratings computed by said neuro-fuzzy inference system satisfy; - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A software estimation method comprising the steps of:
-
a) computing numerical parameter values for an algorithmic model in at least one neuro-fuzzy component, wherein each neuro-fuzzy component has the learning capability of a neural network and implements a plurality of fuzzy rules, wherein said at least one neuro-fuzzy component takes as input a plurality of contributing factor ratings and processes said contributing factor ratings in accordance with said fuzzy rules, and wherein said at least one neuro-fuzzy component comprises; i) a neuro-fuzzy inference system for resolving the effect of dependencies among a plurality of contributing factors associated with said plurality of contributing factor ratings, wherein said neuro-fuzzy inference system implements a first subset of said plurality of fuzzy rules, and wherein said neuro-fuzzy inference system takes as input said plurality of contributing factor ratings and processes each of said plurality of contributing factor ratings in accordance with said first subset to compute a plurality of adjusted ratings; and ii) a neuro-fuzzy bank coupled to said neuro-fuzzy inference system, wherein said neuro-fuzzy bank implements a second subset of said plurality of fuzzy rules, and wherein said neuro-fuzzy bank takes as input said plurality of adjusted ratings and processes each of said plurality of adjusted ratings in accordance with said second subset to compute said numerical parameter values; and b) computing at least one output metric in an algorithmic model module, wherein said module takes as input said numerical parameter values and processes said numerical parameter values in accordance with said algorithmic model, and wherein each output metric provides an estimate of a characteristic associated with a software development project, said at least one output metric for use in analyzing the feasibility of the software development projects; wherein said first subset of said plurality of fuzzy rules is defined by Fuzzy Rule (i,k);
IF (RF1 is A1jik) AND (RF2 is A2jik) AND . . . AND (REN is ANjik) THEN ARFi=PFPk·
RFi, i =1, 2, . . . N, k=1, 2, . . . , Miwhere RFi is a rating of contributing factor i, ARFi is an adjusted rating of contributing factor i, Mi is a number of fuzzy rules with contributing factor i as a consequent, PEPik is an adjustable parameter associated with the fuzzy rule (i,k), and Asjik is a fuzzy set associated with a iik-th rating level of contributing factor s for fuzzy rule (i,k); wherein said plurality of adjusted ratings computed by said neuro-fuzzy inference system satisfy; - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
Specification