Charles "Chuck" Lutz presents a host of great resources on the web in this discussion group entry. In particular he provides a reference to a Parnas paper and that is fantastic. As you recall, I encourage any aspiring software engineer to get the Parnas' book of collected papers, Software fundamentals: Collected papers by David L. Parnas, D.M. Hoffman and D.M. Weiss(Eds.), Addison Wesley, 2001, ISBN: 0-201-70369-6. Especially since the gift giving season is upon us, you might give yourself this book. It will serve you well. Highly recommended.
Mary Shaw's paper that Chuck refers to in van Vliet is "Some patterns for software architectures." Mary Shaw and David Garlan also wrote a book on software architecture, Software architecture: Perspectives on an emerging discipline, Prentice Hall, 1996, ISBN:0-13-182957-2. One of the few rigorous books on software architectures.
Attached is Chuck's log, entry, thanks Chuck. Later!
I've got a bunch of stuff to share that I've accumulated over the years which I believe
has relevance to this course. I'll send them along as time permits (I've already got a
FYI: Mary Shaw's paper that van Vliet refers to on p. 273 can be found here.
Parnas' paper "On the Criteria to be Used in Decomposing Systems into Modules" is an
absolute classic of software engineering. It pours a lot of timeless wisdom into just six
pages. A web search yields many sources (I would not be surprised if it is in the top ten
of most referenced papers). Here is the first that Yahoo yielded me.
A few weeks ago Prof. Vesonder mentioned in his notes a review technique of posting
information on a wall. This is a very interesting area to explore, especially in trying to
solve the problem of establishing a common vocabulary and understanding - to "get
everyone on the same page" so-to-speak.
Here are two sources I think you might find interesting:
I'm an "information design" nerd and enjoy following the work of people in the ID and
information architecture fields (IA). I've always enjoyed the work of Marc Rettig. Here is
one take on the "wall" process as applied to product design.
For a more formal take on the "wall" process, including aspects that computer scientists
can relate to, I recommend David Straker's excellent book on getting maximum
collectively derived information using quite cheap materials.
In the future we will have wall-sized displays and software support that maximizes this
resource. I expect such techniques will become increasingly popular as the cost of
making changes decreases in these models as a result of this support.