Code Analysis Requirements Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In software development, it is challenging to determine the impact of evolving project requirements on the underlying software project, as existing requirements management systems fail to effectively associate requirements with code elements and notify users of potential changes or violations.
Innovation Solution
A system that allows project requirements to be directly associated with underlying code elements, storing these associations in a data store, and providing notifications to users when changes may impact or violate these requirements, using a requirements management application and software development application to analyze and validate these associations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If requirements are managed separately from code elements, then requirements management is simpler, but the impact of code changes on requirements cannot be determined
Solution Approach 1:
The patent merges requirements management with code element tracking by creating associations between requirements and specific code elements. This integration allows the system to automatically determine the impact of code changes on requirements without significantly increasing overall system complexity, as the association mechanism builds upon existing requirements management capabilities.
Solution Approach 2:
The system implements feedback mechanisms that automatically notify users when code elements associated with requirements are modified. This feedback loop provides real-time impact analysis information, enabling project managers to understand how code changes affect requirements without manual analysis, thus preventing information loss while maintaining manageable complexity.
2Reliability
If requirements are tracked with code elements, then impact analysis is improved, but system complexity increases
Solution Approach 1:
The system performs preliminary actions by pre-establishing associations between requirements and code elements before changes occur. This proactive approach enables immediate impact analysis when code changes are made, improving reliability of impact analysis without requiring complex real-time analysis mechanisms, thus managing system complexity effectively.
Solution Approach 2:
The patent uses copying by creating references or links between requirements and code elements rather than maintaining complex interdependent structures. This copying mechanism allows the system to track relationships simply through associations, improving impact analysis reliability while avoiding the complexity of deep integration between requirements and code management systems.
3Ease of manufacture
If manual tracking of requirement impacts is used, then system implementation is simpler, but time consumption increases
Solution Approach 1:
The system implements self-service by automatically tracking and analyzing the impact of code changes on associated requirements without requiring manual intervention. The automated notification system sends alerts to users when code elements are modified, eliminating the time-consuming manual tracking process while keeping implementation straightforward by leveraging existing code versioning and requirements management capabilities.
Solution Approach 2:
The patent replaces the mechanical manual tracking process with an automated electronic notification system. Instead of manually analyzing and reporting impact changes, the system uses automated mechanisms to detect code changes, retrieve associated requirements, and notify users, dramatically reducing time consumption while maintaining ease of implementation through standard software automation techniques.
Data Source
AI summary
Various technologies and techniques are disclosed that allow project requirements to be associated with underlying code elements. A particular software project is analyzed to generate a list of code elements contained in the particular software project. Input is received from a user of a requirements management application to associate one or more project requirements to one or more of the code elements. The project requirements and an association with the one or more code elements are stored in a data store for later retrieval. These associations are used to determine when changes that potentially affect the project requirement are made to the underlying code elements. A software development application is operable to interact with the data store and provide a notice to a user of the software development application that a change to a particular code element of the software project will impact one or more project requirements.


