Skip to content
Paperback The CRC Card Book

ISBN: 0201895358

ISBN13: 9780201895353

The CRC Card Book

Select Format

Select Condition ThriftBooks Help Icon

Selected

Format: Paperback

Condition: Very Good

$7.99
Save $31.96!
List Price $39.95

1 Available

Book Overview

CRC cards are a useful development tool in helping developers facilitate brainstorming or acting out the running of an application just as if it were a working system. This text addresses the actual details involved with using CRC cards, including coverage of program code (Java, C++, and Smalltalk) derived from the use of the CRC card method.

Customer Reviews

5 ratings

One of the simplest and most effective tools to begin the software development process

The CRC card (Class, Responsibilities and Collaborations) is a simple, non-technical tool that can and should be used in the development of large object-oriented software projects. They are nothing more than simple, blank index cards measuring either 3 x 5 inches or for the verbose among us 5 x 7 inches. The first step of the software development project is to get a small group (5-6 is considered ideal) of people together that have experience across the entire spectrum of stakeholders, from developers to end users. Their task is to begin the process by writing down the key classes, what they will do and the fundamentals of their interactions. The primary advantage of using the cards at this stage is that very little can be written on a card, which keeps the discussion at a high-enough level for the initial stages. This requires that the rules of card content be rigidly reinforced, "if it cannot fit on a card, then it is too detailed." In this book the authors make a convincing case for the use of CRC cards in software development projects. The opening chapter is a basic introduction to what CRC cards are and the second is largely a throwaway, as it is a review of object-oriented concepts and the vocabulary. Quite frankly, if you don't know these concepts, the 12 pages of the second chapter will not help. The action starts in chapter 3, the authors start slowly but then really get the process going, noting that six is the ideal group, where each person represents one of the groups {user, analyst, programmer, facilitator, designer, user}. As all effective software designers/developers understand, the key point is to know what questions to ask, in other words separating the relevancies from the extraneous. There is a case study in stocks and bonds as well as another in traffic control. While these are not algorithmic-like constructions, they do demonstrate how the people in the group should interact with each other and their tools as they create their classes that also must interact. One of the most effective actions is when the people actors become the class actors, as they role-play, using the CRC cards as their script. By stepping through the process, they can have fun as well as refine and debug their creations. How to implement CRC cards in Smalltalk and C++/Java are the topics of chapters 10 and 11 respectively. The final chapter describes the limits of CRC cards and how to manage the transition to a methodology. Older, simpler ideas are not necessarily bad and archaic ideas and CRC cards are certainly a throwback to the days of designing on paper rather than using software. Yet within the limits described in this book, they work very well as you take the first steps in the creation of your software.

High-effective but fragile

This book encourages better OO design and analysis, shows how to involve the entire team of developers to the design of the whole system. The authors also describe how to gain benefit from involving the user and other parties to the OO design process. I was in OO development for five years and I was thinking about a solution which will improve the efficiency of OO design and help to avoid splitting the program between developers who create their own set of classes they are responsible for. Such splitting leads to integration problems and overall design imbalance. Fred Brooks has described this consequences in his famous book "The Mythical Man-Month", where the modules are being written first and integrated later, and the coordination of interfaces between modules written by each developer requires essential effort and time. The CRC Card Book shows how to have "the interfaces" coordinated in the very beginning. However, the methodology described in this book is "fragile". As soon as it isn't followed by all of the developers, it became useless. But if it is followed, the results are amazing. The book, however, is not very easy to read and lack something which can attract the developers who are "neutral" to improving their way of creating OO programs. But, for the people who already have strong OO background and are seeking the way how to improve their efficiency significant, the book is a must-have.

Informal down to earth technique for everybody

This book and the stream of thought it stems from is one of the most influental in OO software engineering. It focuses on sharing responsibility in a system. It takes into account the obvious parallels between software teams and their software systems.The technique itself can be very enjoyable and if you can convince very formal people to use it, it will change their lives, much more then any formal OO methodology will do. CRC Cards make you live software systems! This should be the first experience of everybody who wants to learn OO. You can even use it to explain your work to your kids:-)

Ideal for getting you started on "how to" identify Classes.

You want to know a great way on "how to" identify classes from any type of user requiremnets? Buy this book now!A lot of OOA books like to tell how to design from start to finish. However, some (most) of us are thrown in some obligatory process without consent. CRC will bridge the gap on getting your Classes defined. Also, CRC works well for "Use Cases". I use CRC after a good Use Case session for Class Diagrams. Some prefer to do CRC before Use Cases. That's the beauty, CRC can be injected anywhere you deem fit. And, finally, this book will get you "thinking in objects" fast!

Great book for helping do high level OO design.

I have been trying to teach OOD to new graduates for a couple of years. Now I teach through this book first. It has more good information about how to get groups to come up with good designs than any other book I have found. Be warned, it's not about UML or Java. The book is about how to get people to work out a design together.
Copyright © 2023 Thriftbooks.com Terms of Use | Privacy Policy | Do Not Sell My Personal Information | Cookie Preferences | Accessibility Statement
ThriftBooks® and the ThriftBooks® logo are registered trademarks of Thrift Books Global, LLC
GoDaddy Verified and Secured