Discussion Questions for Fowler, Chapters 6-8
Object or Instance Diagrams
-
What is the difference between instance specifications and true instances?
(Mike L.)
-
Are object/instance diagrams only useful as examples? Or do they also serve
other purposes? (Jonathan)
-
Why would one need to use an Object diagram? What is their functionality,
and do they have any practical use? (Dimitar)
Packages
-
When they talk about Packages in the book are they talking about Packages
such as Java Packages? (Dave V)
-
Fowler states that "Different programming environments have different rules
about visibility between packaging constructs," (90). What are some
examples of these different environments and what exactly is meant by a
"programming environment"? (Mike C.)
-
Does packaging in actual usage means grouping several class files in a
folder (like in Java)? If so, is there anything more subtle that I missed?
(Chayapan)
-
Sometimes Packages seem identical to Objects in Chapter 7, is there a clear
distinction between the two? (Dave V)
-
"UML packages also define constructs to allow packages to import and merge
classes from one package into another, using dependencies with keywords to
notate tis." What are some examples of these keywords? (Eric)
-
When should one create seperate diagrams for different package structures
within a single package?
-
Is the only difference between a package that is 'global' and a package
that is not that the global package has a lot of dependencies? (Jonathan)
-
Fowler says that package diagrams should be 'ideally' generated from the
code base itself. I assume he means, if you have a bunch of existing code,
you should use an automatic package diagram generator instead of making the
diagrams by hand, not that you should wait until after you have code to
make package diagrams. Is this correct? (John)
Dependencies
-
Why there cannot be a double-direction dependency between two package?
(Sheng)
-
In Chapter 7, it says "Often, you can identify a clear flow because all the
dependencies run in a single direction."
-
What exactly does Fowler mean by keeping cycles in dependencies from
crossing layers? (Lorelei)
-
Could you give us more information about "the Stable Dependencies
Principle"? (Sheng)
Deployment Diagrams
-
Can you give an example of a good use of a Deployment Diagram that is
related to our projects?(David D)
-
Deployment Diagrams seem to have multiple functionality. What is their
full functionality, and where can we find more examples of their use?
(Dimitar)
-
Is there a grey line that seperates devices and execution environments? How
do you distinguish the two? OS? (Chayapan) What is a pattern Seperated
interface? (Gaurav)
Visibility
-
In C++ (and I think Java, too) classes and methods have their own scopes,
so even if a class in the current package has the name XXX, while inside of
a method you can define a new class called XXX and you won?t run into any
trouble. Are there such local scopes in UML? (John)
-
What kinds of variations would different languages have when referring to
"public", "private", "package", and "protected"? (Alex)
Other Questions
-
Can a set of mutually exclusive guards work with both synchronous and
asynchronous calls? Is there an advantage to using one over the other?
(Alex)
-
What is an unstereotyped dependecy? (monica)
-
What's an example of following the convention of your programming
environment concerning different rules about visibility between packaging
constructs even if it means bending UML's rules?(David D)
-
Can we have some examples on the Common Closure Principle and the Common
Reuse Principle and how they help deciding as to which classes do we put in
which packages? (Gaurav)
-
What are some examples of times that it would be a good idea to leave
mandatory attributes empty? [the reading states that it is 'legal'] (Eric)
-
Figure 7.3 on pg. 93 is a non standard UML diagram that separates the
structure of layers in an application from the structure of subject areas.
(Mike C.)
-
What are the functions of a data mapper package? (monica)
-
How can one tell from the UML notation that the two aspects of a package
diagram are being split? For example, in the book Fowler splits the layers
and the subject areas. (Mike L.)
This document is available on the World Wide Web as
http://www.cs.grinnell.edu/~walker/courses/223.sp05/readings/fowler-6-8.shtml