EasyCRC
A friendly tool for CRC-cards based design
News
- 18/1/08 - New version - version 5 - fixed a bug that after the load you can't set a message source.
- 17/11/07 - New version - version 4 - backward compatibility for older file that had problems with version 3.
- 11/7/07 - New version - version 3.
- 18/2/06 - Added drag and drop support for the solution tree.
- 21/12/06 - New e-mail for help -
- 20/12/06 - A link to the .NET framework was added - install it before you run EasyCRC.
- 16/12/06 - New version - version 2 - collaborators bug fixed.
Introduction
This site presents the results of an effort to automate the process of defining classes from a written, “plain language” description of a system via CRC cards. We have created a tool to analyze text, to help find objects within it, to create CRC cards from the objects, and to help find the responsibilities of each of the items through sequence diagrams.
We have identified the need for a good tool to help students in OOSE courses. During OOSE courses, students are exposed to a plethora of new ideas and frequently have difficulty preparing assignments: identifying the cards from the requirements text, describing the scenarios simulations as use cases, and identifying the responsibilities and collaborators. This made the need for an efficient automating tool apparent.
Associating common nouns with data types makes the notion of data types more intuitive. Most people possess an intuitive understanding of common nouns.
We reviewed different tools that have the capability of editing CRC cards and creating other diagrams. We concluded that of the available tools that exist today, none enable the user to follow a productive CRC card method that will take the user all the way from a written “plain language” description to a complete set of CRC cards capable of being transformed into the appropriate classes. In most tools, the CRC card diagram seems to be detached from the other diagrams.
There is a need for a course design tool, specifically for students of OOSE, which can be used in the early stages of the design process. The tool must be easy to use, intuitive, to ensure that students’ time is optimized in learning OOSE design, not spent on learning how to use the tool. In addition, the tool must be able to export its product to an XML format, allowing for interoperability with other tools.
2. The "EasyCRC" Tool
Our study began with an actual need for a computerized tool that can be used by students during the OOSE design courses. We wanted to follow the process of CRC cards based design from the first stages of finding the objects from a definition test; then to the use of CRC cards to mimic sequence scenarios to the stage of class definition from the CRC cards; then to the export of the results, to be edited through more advanced tools. The CRC card use is usually in the first stages of the design process – the stage where the user identifies the base objects, responsibilities and methods of the objects. We wanted a tool that will help the student with these complex tasks, but will not be too complicated, to be used easily with little time spent on learning how to use it.
The use of the tool is splintered into two major stages – identifying the objects (CRC cards) from plain text and then identifying the collaborators and responsibilities by simulating scenarios through sequence diagrams.
The tool is a MS window based tool that was develoyped using the MS .NET technology.
3. Downloads
You will need: .NET framework 2.0 (install it before you run EasyCRC).
The current version of the "EasyCRC" tool: EasyCRC_v5.zip
The “Easy CRC” tool description paper: EasyCRC.pdf
Sample data files: sample_data.zip
Sample output: sample_output.htm
A sample of an import of the XMI output into Visual Paradigm: hospital.vpp
If you want to use WordNet to analyze nouns - download it from here
4. Screenshots
CRC card diagram:
Sequence diagram:
Text analysis window:
A sample of a sequence diagram loop:
A sample of an import of EasyCRC XMI output into Visual Paradigm for UML:





