Automated relationship traceability between software design artifacts
First Claim
1. A computer implemented method for determining relationships between concepts of a plurality of different types of software design artifacts related to a software application design, the method comprising:
- receiving data representing a plurality of software design artifacts, wherein the plurality of software design artifacts comprise at least one requirements specification artifact, at least one test plan artifact, at least one use-case artifact, and at least one class specification artifact;
from the data representing the plurality of software design artifacts, extracting at least some concepts correspondingly associated with the plurality of the software design artifacts;
from the at least some extracted concepts, extracting at least some key terms correspondingly associated with the at least some extracted concepts;
determining term significance weights correspondingly associated with the at least some key terms;
at least based on the term significance weights, quantifying relationships between at least some of the extracted concepts of the plurality of the software design artifacts, the quantifying relationships comprising;
generating a matrix of relationship quotients that represent the quantified relationships between at least some of the extracted concepts of the plurality of the software design artifacts;
normalizing value of a relationship quotient with highest value in the matrix to a value of 1 and normalizing values of rest of the relationship quotients proportionally thereto to generate a normalized version of the matrix; and
based on the normalized values of the relationship quotients, classifying each relationship into one of the following three categories;
High level relationship, Medium level relationship, and Low level relationship; and
presenting the quantified relationships to a user via a user interface, including displaying the quantified relationships organized into their associated categories of High level relationship, Medium level relationship, and Low level relationship.
1 Assignment
0 Petitions
Accused Products
Abstract
Tools and methods are described herein that allows for measuring and using the relationship between artifacts of a software design, such as requirements, test plans, and so on. The relationship can be quantified by determining a relationship quotient for quantifying a similarity between components of software design artifacts and presenting the quantified relationships to a user, such as a software designer, so that he or she can account for the relationship between such components during design changes and so on. The relationship quotient is made more representative of substantive similarity by selecting the key terms that are to be submitted to a similarity analysis such that words that are too common in the English language, such as conjunctions, articles, etc., are not used. Ubiquity of certain key terms in an enterprise is accounted for by adding a term significance weight to the similarity analysis. The similarity analysis is made contextual, for instance, by the use of inputs from domain ontology including Entity Descriptions, and Entity Relationships.
149 Citations
18 Claims
-
1. A computer implemented method for determining relationships between concepts of a plurality of different types of software design artifacts related to a software application design, the method comprising:
-
receiving data representing a plurality of software design artifacts, wherein the plurality of software design artifacts comprise at least one requirements specification artifact, at least one test plan artifact, at least one use-case artifact, and at least one class specification artifact; from the data representing the plurality of software design artifacts, extracting at least some concepts correspondingly associated with the plurality of the software design artifacts; from the at least some extracted concepts, extracting at least some key terms correspondingly associated with the at least some extracted concepts; determining term significance weights correspondingly associated with the at least some key terms; at least based on the term significance weights, quantifying relationships between at least some of the extracted concepts of the plurality of the software design artifacts, the quantifying relationships comprising; generating a matrix of relationship quotients that represent the quantified relationships between at least some of the extracted concepts of the plurality of the software design artifacts; normalizing value of a relationship quotient with highest value in the matrix to a value of 1 and normalizing values of rest of the relationship quotients proportionally thereto to generate a normalized version of the matrix; and based on the normalized values of the relationship quotients, classifying each relationship into one of the following three categories;
High level relationship, Medium level relationship, and Low level relationship; andpresenting the quantified relationships to a user via a user interface, including displaying the quantified relationships organized into their associated categories of High level relationship, Medium level relationship, and Low level relationship. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer system for tracing relationships between concepts of a plurality of different types of software design artifacts related to a software application design, the system comprising:
-
memory; and a traceability engine comprising at least one processor that is communicative with the memory and, based on instructions stored in the memory, the traceability engine operable to; receive data representing a plurality of software design artifacts; from the data representing the plurality of software design artifacts, extract at least some key terms corresponding to concepts associated with the plurality of the software design artifacts, wherein the plurality of software design artifacts comprise at least one requirements specification artifact, at least one test plan artifact, at least one use-case artifact, and at least one class specification artifact; determine corresponding term significance weights for at least some of the key terms corresponding to the concepts of the plurality of the software design artifacts; at least based on the term significance weights, quantify the relationships between concepts associated with the plurality of the software design artifacts, the quantifying relationships comprising; generating a matrix of relationship quotients that represent the quantified relationships between at least some concepts associated with the plurality of the software design artifacts; normalizing value of a relationship quotient with highest value in the matrix to a value of 1 and normalizing values of rest of the relationship quotients proportionally thereto to generate a normalized version of the matrix; and based on the normalized values of the relationship quotients, classifying each relationship into one of the following three categories;
High level relationship, Medium level relationship, and Low level relationship; andpresent, to a user via a user interface, a display of the quantified relationships organized into their associated categories of High level relationship, Medium level relationship, and Low level relationship. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A computer readable storage medium useful in connection with a computer which includes a processor and a memory, the computer readable storage medium storing computer executable instructions which are configured to cause the computer to process data related to software design artifacts for quantifying relationships between concepts of a plurality of different types of software design artifacts related to a software application design by performing the method steps of:
-
receiving data representing a plurality of software design artifacts, wherein the plurality of software design artifacts comprise at least one requirements specification artifact, at least one test plan artifact, at least one use-case artifact, and at least one class specification artifact; from the data representing the plurality of software design artifacts, extracting at least some concepts correspondingly associated with the plurality of the software design artifacts; from the at least some extracted concepts, extracting at least some key terms correspondingly associated with the at least some extracted concepts; determining term significance weights correspondingly associated with the at least some key terms; at least based on the term significance weights, quantifying the relationships between at least some of the extracted concepts of the plurality of the software design artifacts, the quantifying the relationships comprising; generating a matrix of relationship quotients that represent the quantified relationships between at least some of the extracted concepts of the plurality of the software design artifacts; normalizing value of a relationship quotient with highest value in the matrix to a value of 1 and normalizing values of rest of the relationship quotients proportionally thereto to generate a normalized version of the matrix; and based on the normalized values of the relationship quotients, classifying each relationship into one of the following three categories;
High level relationship, Medium level relationship, and Low level relationship; andpresenting the quantified relationships to a user via a user interface, including displaying the quantified relationships organized into their associated categories of High level relationship, Medium level relationship, and Low level relationship. - View Dependent Claims (16, 17, 18)
-
Specification