View this PageEdit this PageAttachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide
Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007

Fall2001 Midterm Review: Design Critique

Link back to Fall 2001 Midterm Review

1. CRC cards are apart of the OOA design stage. You shouldn't be talking about the instances of classes here. In this stage you are just creating definitions. Therefore talks of maps objects in the System should be excluded"

2. & 3. Need some guidance. I dont' think I really understand what we are critiquing
Jared Parsons

2 and 3 makes it sound like MapManager is to much of a middle man or "God" class. Thus it seems to be bad design to make MapManager a central class.
Shwetak Patel

2. The class ProcessMap sounds more like an action than an object. In fact, I don't see why a map does not know how to process itself. The processing of the map should be a responsibility of the class Map. Also a more descriptive method should be used, since it's performing a very specific processing, namely getting the map on the website.
Christopher Henke

Yes, managers often imply God classes. Yes, a process is a noun, but to process is a verb. Mark Guzdial

When I sound out the name "ProcessMap", it sounds like I'm issuing a command, namely "Process the dang map, if you will." If you wanted it to sound more like a noun, switch the words to MapProcess. A MapProcess is a type of process. Although a process is not necessarily physical thing, Squeak does implement processes and processor objects in it's system.

My main point is that ProcessMap should not be a class, but renamed as processForWeb, which is a method in the class Map. A ProcessMap, sounds like it has one function and no real object qualities. I can only assume that some great God Class is using this underling for its evil bidding. Mwha ha ha ha (Evil Overbearing Laugh)!
Christopher Henke

3. This design makes all of the objects interdependent upon a central object. That's not very good OO design at all. Objects should be independent entities that can function on their own. Making themd dependent upon another class will severly hamper that ability.
Jared Parsons

1. Since there are collections already available in the system (e.g. OrderedCollection) why do you need to build another one. There shouldn't need to be another class for this. However, I think this question needs a little more description, since we don't know if there needs to be extra functionality (i.e. Map Linked list could sub-class OrderedCollecion.

2. Why do you need a ProcessMap class when a map should know how to process itself for the webpage. Actions acting on data generally should be held in the same class as the data.

Eric Price

1. If you're talking CRC cards, you shouldn't be thinking Linked Lists. When you're that early in the design stage, you're just trying to figure out who the main players are going to be and what they do. You don't care about something on such a low level as what kind of structure to use to store certain data.

ASIDE: You actually wouldn't be building another Collection with LinkedList. LinkedList is a subclass of Collection. Check out the figure on page 28 of the book.

Shetu Shah
Shetu's right. Eric, you don't want to talk AT ALL about what kinds of collections are available (or anything else language specific) at the OOA level. Mark Guzdial

1. A main feature of the object oriented approach to design involves thinking of problems in terms of real-world objects as opposed to computer science constructs Andy Foster

1. The point of OOA is to understand the problem and how you're going to model it. That's the CRC part. Then when you go on to OOD, you start talking about computer science constructs and more detailed relationships with the class diagrams. But even then you won't put linked lists on the class diagrams... does that mean that you don't consider LL at this level, or you consider them, but you just don't put them on the class diagrams?
Shetu Shah

Link to this Page