Software Design Specification Management with Functional Rule Versioning
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current software design documentation tools lack efficient management of functional rules and component versions, leading to complexity and difficulty in tracking changes and dependencies across software releases, resulting in potential undetected design changes or bugs.
Innovation Solution
A method and system for managing software design specifications with functional rule versioning, which involves storing references to software components and functional rules in a database, allowing for selection, assignment, navigation, and editing of these components and rules, along with archiving changes and providing a graphical display of logical hierarchies and rule assignments.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional software design documentation tools are used, then software design specifications can be created, but tracking changes and dependencies across software releases becomes complex and difficult
Solution Approach 1:
The patent segments software design specifications into discrete functional rules and software components, each with unique identifiers and version numbers. This segmentation allows independent tracking of each element through database tables, enabling precise change tracking without managing entire documentation sets as monolithic units.
Solution Approach 2:
The patent introduces a database system as an intermediary between software components and functional rules. The database stores relationships, versions, and assignments objectively, mediating the complexity of tracking dependencies. Users interact with this structured intermediary rather than directly managing complex relationships.
2Loss of information
If detailed software design documents are created to define software behavior, then comprehensive specifications are achieved, but the complexity of managing and navigating these specifications increases
Solution Approach 1:
The patent adds a dimensional layer of organization by introducing version numbers and assignment relationships as separate dimensions. Instead of navigating a flat document structure, users can navigate through version history and assignment matrices, transforming the navigation problem into a multi-dimensional space that is more manageable.
Solution Approach 2:
The patent creates a universal database structure that serves multiple functions: storing functional rules, tracking versions, managing assignments, and maintaining relationships. This multi-functional system replaces multiple separate documentation tools, simplifying navigation while preserving specification completeness.
3Productivity
If functional rules are assigned to multiple software components across different releases, then rule reuse is enabled, but tracking the history and current state of assignments becomes difficult
Solution Approach 1:
The patent implements feedback mechanisms through database queries that can retrieve assignment history and current state. The system continuously feeds back information about rule assignments, versions, and relationships to users, enabling them to track the complete history and current state of functional rule assignments across multiple components and releases.
Solution Approach 2:
The patent performs preliminary actions by pre-establishing the database structure with version tracking and assignment relationship tables before any functional rules are assigned. This preliminary setup enables automatic tracking of all assignments and changes without requiring additional manual effort during the assignment process.
Data Source
AI summary
A method of managing software design specifications with functional rule versioning may include storing references to a plurality of software components in a database system, and storing references to a plurality of functional rules in the database system. In some embodiments, the functional rules may define behaviors that may be assigned to the plurality of software components. The method may also include receiving a selection of one or more software components from the plurality of software components. The one or more software components may define a software product. The method may additionally include receiving assignments of the plurality of functional rules to the one or more software components, and providing an interface for navigating through the one or more software components and editing the assignments.


