QuickCRC is a software design tool for responsibility driven design of object-oriented software using CRC cards. CRC cards are used to discover and document classes, responsibilities, attributes and collaborations between classes. They are popular among developers using agile methods or as a front end to the UML modeling notation.|
QuickCRC uses a diagram workspace for creating card and scenario objects. A card represents the properties of a class including its name, description, superclasses, subclasses, attributes, responsibilities and collaborating objects. Card information is typically entered through a dialog, but can also be edited on-screen by dragging or renaming cards, attributes, responsibilities and collaborations. A CRC project is saved as an XML file.
The software designer can assign the attribute access of each card responsibility. The tool shows an attribute access graph from the card information to help developers discover, refine and eliminate unnecessary card attributes.
A scenario object represents a design mechanism defined as a series of steps involving communicating objects. Scenarios can reference cards or other scenarios. Cards and scenarios can also reference external agents defined by the designer to identify system and user interfaces.
Card and scenario objects can be separated into different diagrams based on functional areas of a complex design or cut and pasted between different project documents. Separate diagrams partition a model into subject areas.
The contents view allows a designer to navigate between diagrams shown as folder icons that can be opened or closed. From the contents view, a card or scenario can be dragged between diagrams or double-clicked to edit its properties. This makes it easy to locate and modify information as the model grows.
QuickCRC provides active simulation of an evolving design. Features include single stepping backwards, forwards or over a called scenario or jumping to a specific location in the scenario stack of a multiple scenario simulation. Its fast and easy to step through your design, just select a scenario and click the Simulate button.
QuickCRC automatically maintains relationships between cards, scenarios and external agents as fluid design changes take place during the early phase of a development project. For example, if a card references undefined subclasses or superclasses, those cards are generated automatically. Other relationships that can be modeled between cards include aggregation and interface implementation. Name changes and cross references between objects get updated instantly. Card and scenario objects can be arranged visually on the diagram by QuickCRC based on user specified criteria to highlight relationships between objects.
The inheritance graph concisely illustrates the class inheritance structure of the model. It gets generated from information on the CRC cards regardless of how the cards are physically arranged or partitioned between diagrams. Several inheritance graphs can be active for different root classes in the CRC model to focus attention on different parts of a large design. The properties of a card can be viewed or edited by double-clicking its name on the inheritance graph.
Import, Export & Error Checking
CRC models can be verified to locate errors. Information can be listed to a text or HTML report to serve as a coding specification. Models can also be exported to text and then imported to WinA&D for detailed design or code generation. WinTranslator can be used to automatically generate CRC cards from existing object-oriented code.
QuickHelp Linux is tested with the KDE and GNOME desktop on popular Linux distributions including Suse, RedHat and Mandrake Linux. It should also work on most other Linux distributions and desktop environments. The computer should have at least 64 MB RAM and 10 MB hard disk.
5 User Site and Unlimited User Site Licenses are available.
Take a peek at QuickCRC now. To learn more, see the QuickCRC Introduction.