< CisLunarFreighter

Object Oriented Software Engineering

Component, Responsibility, Collaborators (CRC)Cards - 4" X 6" note cards
Design, Code, or Case Scenario Walkthroughs

CRC Cards

This exercise is based loosely upon the technique demonstrated in Chapter One of Classic Data Structures in C++ by Timothy A. Budd, cp1994 by Addison-Wesley Publishing Company, Inc. In a local object orieted design project using C++ CRC (Component, Responsibility, Collaborating Objects) cards are used to jot down names and bullets outlining the high level components identified in walkthrough as required for the project design.

Local Adaptation

A procedure we may use here for asnychronous, distributed, walkthroughs is as follows: Individual files shall be created for proposed components. Responsibilities for that component jotted down in bullet form at the top of the screen, simulating a 4" X 6" note card. When another component is called a link will eventually be created to that component. Actions the component must complete are listed in the bottom half of the computer screen/file.

For the highest level walkthough or design Budd designates the most important characteristics of potential design components as: 1. A small set of well defined responsibilities must result. If the component has too many responsibilities then it should be busted into multiple components and the walkthrough reaccomplished. 2. Interactions with other components should be minimalized to the greatest extent possible.

Effort expended achieving the two characteristics above are alleged to provide large benefits in the coding process and final code.

Draft Component/Card Set

Terran, Lunar, Asteroid, or Saturn Pirate Base
  • cisLunarFreighter CRC Card Pilot's Cockpit Screen
Mini Map Radar Overview, Cockpit Menu, Headsup Communicator

Components called as Collaborators

   * Animation player
   * Background display
   * Main Menu

This article is issued from Wikiversity. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.