Patent ID: 8352914

Claim:
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.