Impact analysis of software change requests
First Claim
1. A system to determine an impact of an implementation of a change request on a software program, the system comprising:
- a processor; and
a memory in communication with the processor, the memory including computer code and an architecture model of the software program that uses an architecture description language, wherein the architecture model of the software program includes a plurality of components that each model functionality at a level of abstraction and a plurality of connectors that each model communication between two or more of the plurality of components, wherein the computer code is executable to;
determine a plurality of identified changes from the change request, wherein each of the identified changes identifies a corresponding change in the software program to implement the change request;
determine a plurality of component impacts based on the identified changes by;
identifying, based on the plurality of components and the plurality of connectors included in the architecture model of the software program, components included in the architecture model of the software program impacted by the identified changes,for each of the identified components, determining a level of difficulty associated with changing the identified component impacted by the identified changes, andfor each of the identified components, determining a degree of effort needed to implement changes to the identified component impacted by the identified changes based on the determined level of difficulty; and
determine an overall impact of implementing the change request based on the determined degree of effort of each of the component impacts, wherein the plurality of components included in the architecture model of the software program are associated keywords; and
wherein identifying, based on the plurality of components and the plurality of connectors included in the architecture model of the software program, components included in the architecture model of the software program impacted by the identified changes comprises;
parsing, from the change request, a keyword;
comparing the parsed keyword from the change request to the keywords associated with the plurality of components included in the architecture model of the software program; and
identifying, based on the comparison, one or more components included in the architecture model of the software program that are associated with a keyword that matches the parsed keyword.
4 Assignments
0 Petitions
Accused Products
Abstract
In one example, a system is provided to determine the impact of implementing a change request on a software program. The system may include an architecture model of the software program that includes components. Each of the components may have attributes that may be used by the system to determine a degree of effort to modify each respective one of the components. Components may be associated with keywords. The system may search the change request for the keywords to identify components that may be impacted by the change request. The system may determine the degree of effort to modify any impacted component based on the architecture model. The system may determine the overall impact on the software program based on the degree of effort determined for the impacted components.
49 Citations
19 Claims
-
1. A system to determine an impact of an implementation of a change request on a software program, the system comprising:
-
a processor; and a memory in communication with the processor, the memory including computer code and an architecture model of the software program that uses an architecture description language, wherein the architecture model of the software program includes a plurality of components that each model functionality at a level of abstraction and a plurality of connectors that each model communication between two or more of the plurality of components, wherein the computer code is executable to; determine a plurality of identified changes from the change request, wherein each of the identified changes identifies a corresponding change in the software program to implement the change request; determine a plurality of component impacts based on the identified changes by; identifying, based on the plurality of components and the plurality of connectors included in the architecture model of the software program, components included in the architecture model of the software program impacted by the identified changes, for each of the identified components, determining a level of difficulty associated with changing the identified component impacted by the identified changes, and for each of the identified components, determining a degree of effort needed to implement changes to the identified component impacted by the identified changes based on the determined level of difficulty; and determine an overall impact of implementing the change request based on the determined degree of effort of each of the component impacts, wherein the plurality of components included in the architecture model of the software program are associated keywords; and
wherein identifying, based on the plurality of components and the plurality of connectors included in the architecture model of the software program, components included in the architecture model of the software program impacted by the identified changes comprises;parsing, from the change request, a keyword; comparing the parsed keyword from the change request to the keywords associated with the plurality of components included in the architecture model of the software program; and identifying, based on the comparison, one or more components included in the architecture model of the software program that are associated with a keyword that matches the parsed keyword. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method to determine an impact of an implementation of a change request on a software program, the method comprising:
-
accessing an architecture model of the software program that uses an architecture description language, the architecture model including a plurality of components that each model functionality at a level of abstraction and a plurality of connectors that each model communication between two or more of the plurality of components; determining, with a processor, identified changes from the change request, wherein each of the identified changes identifies a corresponding change in the software program to implement the change request; determining, with a processor, a plurality of component impacts based on the identified changes by; identifying, based on the plurality of components and the plurality of connectors included in the architecture model of the software program, components included in the architecture model of the software program impacted by the identified changes, for each of the identified components, determining a level of difficulty associated with changing the identified component impacted by the identified changes, and for each of the identified components, determining a degree of effort needed to implement changes to the identified component impacted by the identified changes based on the determined level of difficulty; determining an overall impact of implementing the change request based on the determined degree of effort of each of the component impacts; and displaying the overall impact of implementing the change request, wherein the plurality of components included in the architecture model of the software program are associated keywords; and
wherein identifying, based on the plurality of components and the plurality of connectors included in the architecture model of the software program, components included in the architecture model of the software program impacted by the identified changes comprises;parsing, from the change request, a keyword; comparing the parsed keyword from the change request to the keywords associated with the plurality of components included in the architecture model of the software program; and identifying, based on the comparison, one or more components included in the architecture model of the software program that are associated with a keyword that matches the parsed keyword. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A non-transitory computer-readable medium encoded with computer executable instructions, the computer executable instructions executable with a processor, the computer-readable medium comprising:
-
instructions executable to retrieve an architecture model of a software program that uses an architecture description language, the architecture model including a plurality of components that each model functionality at a level of abstraction and a plurality of connectors that each model communication between two or more of the plurality of components; instructions executable to determine a plurality of identified changes from a change request, wherein each of the identified changes identifies a corresponding change in the software program to implement the change request; instructions executable to determine a plurality of component impacts based on the identified changes by; identifying, based on the plurality of components and the plurality of connectors included in the architecture model of the software program, components included in the architecture model of the software program impacted by the identified changes, for each of the identified components, determining a level of difficulty associated with changing the identified component impacted by the identified changes, and for each of the identified components, determining a degree of effort needed to implement changes to the identified component impacted by the identified changes based on the determined level of difficulty; and instructions executable to determine an overall impact of implementing the change request based on the determined degree of effort of each of the component impacts, wherein the plurality of components included in the architecture model of the software program are associated keywords; and
wherein identifying, based on the plurality of components and the plurality of connectors included in the architecture model of the software program, components included in the architecture model of the software program impacted by the identified changes comprises;parsing, from the change request, a keyword; comparing the parsed keyword from the change request to the keywords associated with the plurality of components included in the architecture model of the software program; and identifying, based on the comparison, one or more components included in the architecture model of the software program that are associated with a keyword that matches the parsed keyword. - View Dependent Claims (16, 17, 18, 19)
-
Specification