CisLunarFreighter/Requirement analysis and high level design

From Wikiversity
Jump to navigation Jump to search

Object Oriented Software Engineering

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

CRC Cards[edit | edit source]

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[edit | edit source]

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[edit | edit source]

Terran, Lunar, Asteroid, or Saturn Pirate Base
Mini Map Radar Overview, Cockpit Menu, Headsup Communicator

Components called as Collaborators[edit | edit source]

   * Animation player
   * Background display
   * Main Menu