Discussion Questions for Fowler, Chapter 1
Some Acronyms
CASE: Computer-Assisted Software Engineering
MDA: Model Driven Architecture
OMG: Object Management Group
UML: Unified Modeling Langauge
Uses of UML
-
What are the advantages of looking at UML as a programming language vs. a
blueprint or a sketch? How effective is it to use UML as a programming
language? (Mike C)
-
How is the UML useful in modelling non-object-oriented programming models.
(Elijah)
-
What advantages does using UML have over using pseudo-code or hard code?
(Alex)
-
What are the current limitations of UML? Are there any significant ones,
and should they exist, is it possible for programmers to "go around" these
problems? (Dimitar)
-
Electrical engineers build computer models of circuits and then simulate
them in SPICE programs. Most of these programs decompose UML-like
graphical circuit descriptions into an assembly-like language before
running simulations. Engineers could code circuits in the assembly
language, but there's no need, because there are no penalties for designing
in the more productive graphical 'language'. Right now there are large
penalties for coding in UML (compiled code is slow and current tools don't
support all of UML?s features), but is it conceivable (or inevitable) that
in the near future most computer programs, like circuits, will be written
in graphical languages? (John)
-
On Page 14 Fowler says that "UML is not enough". He goes on to give us the
different alternatives available such as a screen flow diagram, a decision
table, however says nothing about how and why UML is not enough. In what
ways is UML limited? (Gaurav)
-
The text says that the UML is meant to be able to create models suitable to
multiple languages (or no language in particular). Is there a standard that
defines what features must be implemented for a language to be considered
object oriented? Are there situations where the model the UML provides
doesn't really hold true to its implementation in Java? (Elijah)
-
Why has a concrete standard not been established if UML is being used as a
programming language by some designers? (Mike L)
-
How does the fact that UML standard is open to multiple interpretations
(13) affect the way UML is used? Fowler says that UML standard can be the
primary source of information on UML but not the only one. What are some
other sources on UML and where do they come from? (Mike C)
-
Will we be using MDA? (David)
Graphical Programming
-
How long has graphical programming been around? What were the other
popular languages before UML, and why did they ultimately fail? (John)
-
On PAGE 9, the author discusses Notations and meta-models. There he says
that most graphical languages have very little rigor. He also says that
mehtodologists are looking for ways to improve the rigor of methods without
sacrifcing their usefulness. How is the usefulness affected by the
increase in rigor? does it not depend on who the user is and not on how
rigorous the graphical language is? (Gaurav)
-
What are the advantages of graphical programming, and what are the
advantages of textual programming? (Jingsheng)
-
It seems graphical programming will produce codes, then is that efficient
enough to avoid some useless iteration? Sometimes, designers have to choose
from either TIME or SPACE, how is UML working? (Jingsheng)
UML as a Programming Language
-
How does the use of UML as a programming language compare to other
languages? (Mike L)
-
How is UML used as a programming language? (Saugar)
-
How can a computer take a UML diagram and turn it into executable code?
(Alex)
-
Why do the creators of UML see the language's diagrams as secondary to UMLs
ability to act as a programming language? (Jonathan)
-
Why doesn't a UML diagram translate directly into code? What elements of
UML prevent this? What elements of differing programming languages prevent
this? (Jonathan)
-
Would it be possible to create a compiler/converter of sorts in which a
programmer could type his/her program in UML and then convert that program
into any major language they wanted? I suppose the real question is,
whether or not UML is a fluid enough language that a computer could read it
and then spit out source code for another language? (Dave)
-
The author has mentioned that "language-independent design is an oxymoron"
( pg.6). For which programming language is UML used to create a design?
(Saugar)
-
This one might be irrelavant to the topic but is the reason for using JAVA
is because it is platform-independent? Can you discuss more about the
process that transform programming ideas into machine code and maybe tell
us more about how each platform work(perhaps just give some examples about
how programs actually run on an intel x86 machine). (Chayapan)
UML Tools
-
What are UML tools? (Monica)
-
Is there a UML editor out yet that is usable? and if so is there a way to
dl it and explore programming in UML? (Dave)
-
What kind of tools are we using to do UML besides flow chart generator like
DIA? Are there any other cool, and perhaps free, programs that can
transform abstract ideas into machine code and are we going to use them for
the class? (Chayapan)
-
What are the advantages / disadvantages of using Executable UML instead of
full UML? (Dimitar)
Additional Questions
-
How does the decision table on page 16 work? (Monica)
-
Why has the term CASE become a "dirty word"?
(David)
This document is available on the World Wide Web as
http://www.cs.grinnell.edu/~walker/courses/223.sp02/readings/fowler-1.shtml