Discussion Questions for Riel, Chapter 11
Comparison of the Data-Driven and Behavior-Driven Model
-
in practice, which is the more common method, data driven model or behavior
driven model?? I would think the behavior model, but...(dave v)
-
Data-driven analysis tries to consider about operations later, but as Reil
says that he does not believe a designer can find a complete object model
without talking about behavior. How else can we think about behaviors when
designing with data-driven methedology? (Chayapan)
-
Why do some other people support only data-driven or behavior -driven
methods instead of a hybrid of both? (monica)
-
If we apply Iterative Model, it seems data-driven model solves problems
efficiently at the beginning: just give the users what they need. But the
more complex the system becomes, the more efficient the behavior-driven
model is. Then the question is: What work should a group do to convince
itself to apply the behavior-driven at the beginning, which has less
efficiancy, especially when the group is given a deadline. (Sheng)
-
The author talks about what method he would use; but in our group-design,
sometimes,different members prefer different methods. e.g if one uses
data-driven, another uses behavior-driven model, how can they come up with
somewhat agreement? (Sheng)
The ATM Example
-
Why is it usually desirable to distribute system intelligence away from a
containing class (208)? What are some arguments about why the ATM should
get the pin number from the card reader vs. the SuperKeypad? (Mike C)
Why is it that natural aggregations can only be found during analysis time
for data-driven models? (Jonathan)
-
What would an ATM or Bank proxy look like? (monica)
-
Even though we don't have to program a way for the ATM to dispense cash
without checking, does that make the ATM vulnerable to a hack that can
intercept the sending of the ATM information? (Alex)
-
With the requirement like that makes the ATM unable to block the Bank
Proxy, how does object-oriented design deals with these kind of conflicts
in the actual implementation? (Chayapan)
-
What does ATM do that SuperKeypad doesn't? (Alex)
-
On page 205, Riel suggests the ATM should control the interactions between
all its components. Would it be alright to have the various ATM components
communicate directly to each other through generalized interfaces (in the
same way Riel suggests the card reader could communicate to the ATM through
the SecureDevice interface)? (Jonh)
-
In making the card reader class more reusable, Riel creates a "secure
object" class whose only purpose is to contain the card reader. Does this
violate heuristics that ensure all classes have meaningful data and
behavior? Is reusability always the more important design concern?
(Lorelei)
Trade-offs in Design
-
On Page 204 in section 11.4 Riel supports having a centralised system,
which is contrary to the previous readings. Why so? (Gaurav)
-
How do you know when you need another containing class such as the
SuperKeypad class? (Mike L.)
-
Can you clarify the difference between the two approaches to handling lists
of accounts in the Tranfer transactions in section 11.7? (Lorelei)
-
If it becomes clear during the course of a design implementation that no
matter what some heuristics must be violated is there an order of
precedence that some take over others, or should the designer just choose
the implementation that violates the fewest number of heuristics? (dave v)
Other Design Issues
-
It seems like the process of coming up with an appropriate object model
takes a lot of trial and error kind of thinking? Does Riel think this is a
process one should take or does he do this to point out flaws in other
ideas to once again enforce the Heuristics? (David D)
-
Should we always assume that natural aggregations are correct? (Mike L.)
Can you elaborate on the Rumbaugh method? (Gaurav)
-
In the section about "explicit case analysis due to accidental complexity"
Riel says that the problem is caused by a non-object oriented interface. Is
there anyway to create an object oriented interface, or do designers just
have to wrap their interfaces? (Jonathan)
Other Questions
-
How would Riel respond to the formalism of UML? He doesn?t use any in his
book, and he kind of slams the design methodologies of the three creators
(bottom of page 201). Is this because he has something against it, in
principle, or just because UML wasn?t well known enough at the time he
wrote the book (1996). (John)
-
Wouldn't it be better if Riel started out the book with a big example and
then throughout each chapter showed how the heuristics applied to the
example? (David D)
-
Riel seems to agree with the concept of object-oriented languages
supporting a feature by which a class can limit access to parts of its
public interface to a list of classes. However, he makes this a special
case because of the great size of the development effort of a huge
company. What is a good standard of judging when this concept is
appropriate and when it hinders software reuse? (Mike C)
This document is available on the World Wide Web as
http://www.cs.grinnell.edu/~walker/courses/223.fa05/readings/riel-11.shtml