Automated Sequence Diagram Generation from CRC Information
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing software development processes face challenges in maintaining up-to-date sequence diagrams and class diagrams due to their cumbersome nature, making them less useful for validating designs as projects progress.
Innovation Solution
A method and system for automatically generating and updating sequence diagrams and class diagrams using Class-Responsibility-Collaborator (CRC) information, where objects, responsibilities, and collaborators are associated to generate messages and dependencies, enabling processors to create these diagrams efficiently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If sequence diagrams and class diagrams are manually created and maintained, then design visualization is achieved, but the diagrams become out-of-date and less useful as the project progresses
Solution Approach 1:
The patent applies preliminary action by automatically generating sequence diagrams and class diagrams from CRC cards before the actual software development work begins. The diagrams are created in advance based on the CRC model, establishing a baseline that can be automatically updated as development progresses, thus maintaining accuracy without manual intervention.
Solution Approach 2:
The patent implements self-service by enabling the system to automatically update its own documentation. When CRC cards are modified during development, the sequence diagrams and class diagrams are automatically regenerated from the updated CRC information, allowing the documentation to self-update without requiring manual intervention from developers.
2Loss of information
If sequence diagrams are manually generated, then system behavior can be captured, but the process becomes cumbersome and maintenance-intensive
Solution Approach 1:
The patent merges the creation and maintenance of sequence diagrams with the CRC card modeling process. Instead of treating diagram creation as a separate, cumbersome task, the system combines it with the existing CRC card development workflow, automatically generating diagrams from the same source material used for system design, thus reducing maintenance complexity while preserving complete system behavior documentation.
3Productivity
If multiple software programmers develop multiple elements independently, then development productivity is improved, but integration and validation become difficult
Solution Approach 1:
The patent applies universality by creating a common CRC card-based modeling framework that serves multiple functions: it acts as both a design specification tool for individual programmers and an automatic generation source for sequence diagrams and class diagrams used for integration validation. This multi-functional approach allows independent development while maintaining design consistency across all team members.
Data Source
AI summary
A system and computer-executed method automatically generate a sequence diagram from Class-Responsibility-Collaborator (CRC) information. The CRC information identifies objects, responsibility information for each object, and collaborator information for each object, and the CRC information corresponds with each activity in an activity diagram. The method includes storing, in a storage device, the objects and corresponding class types of the objects according to the CRC information and associating, by a processor, each of the objects with one or more other objects according to the collaborator information of the CRC information. The method also includes determining, by the processor, messages from each of the objects to associated objects according to the responsibility information, and the processor automatically generating the sequence diagram including the objects and the messages among the objects.


