Fog Creek Software
Discussion Board




Help with Modeling Architecture

I'm going to be put in a position in a few months that might require me to map components and information flow from end-user to database. I was wondering if anyone had any recommendations for books or web sites to learn more about drawing diagrams or UML, and what programs you use?

If it helps, I currently spend my days coding JSP and servlets, with some HTML thrown in for good fun, but that's the limit of my experience.

Thanks.

Need to Learn to Draw
Tuesday, February 25, 2003

First off I use pencil & paper. Then when I am ready to program in  Java I use the free Open Source IDE Eclipse. It is pretty nice and the community has built a lot of add ons for it. I use a UML add on for it which automatically builds the UML from my classes.

I currently use the following plugins for it:

Java
BEA Weblogic
Source Safe
XML
UML
Ant

These links may help:

http://www.eclipse.org/
http://www.genuitec.com/products.htm
http://sourceforge.net/projects/vssplugin
http://r2tech-eclipse.sourceforge.net/

KenB
Tuesday, February 25, 2003

Thanks KenB, but I need it more for planning the architecture before I get the green light to write a single line of code. Pen and paper work great, I agree, and if it were JUST ME that had to look at it, that's what I'd be using. However, I need something that conforms to a standard that the project managers will understand. I was thinking UML/entity diagrams, but I really am clueless in this regard.

Does Visio have these capabilities?

Any more tips on books/websites/software are greatly appreciated.

Need to Learn to Draw
Tuesday, February 25, 2003

Although i've never used Visio, I believe it is a general tool and can be used for entity relationship diagrams and UML. 

If you are looking to print entity relationship diagrams, I prefer Access (easy to follow) or SQL Server Enterprise Manager.

If you just want to make a flowchart modeling how the information flows through the organization to the database, then I think Visio or CorelFlow would work fine.

Dave B.
Tuesday, February 25, 2003

Visio will do the job. I use it in the case where I will not be coding for a while and I need to present to to others.

I also used to use the Visual Modeler app that comes with Visual Studio 6 - it is a lite version of Rational Rose Modeler.

KenB
Tuesday, February 25, 2003

argouml.tigris.org

free uml tool

apw
Tuesday, February 25, 2003

Pick your poision -- there are a lot of drawing programs on the market that are cheaper than Visio and will help you draw UML or entity diagrams.

You might want to check out SmartDraw Professional's web site.  They have lots of pictures and examples on their site.

One Programmer's Opinion
Tuesday, February 25, 2003

An excellent product which covers the full UML spectrum is Enterprise Architect from www.sparxsystems.com.au. Very powerful, very easy to use and very reasonably priced.

Neil Butterworth
Tuesday, February 25, 2003

I'm a big believer in crayons (esp. Crayola brand).  Before you laugh, think about it.  Maintaining the right level of detail is incredibly important in representing software architectures. 

Crayons, because they only draw thick, bold lines, keep you at the right level of abstraction.  I can iterate through potential designs much faster with crayons than with any computer drawing tool.  They also keep you from taking yourself too seriously. 

Unlike whiteboards, keeping a stack of legal pad sized crayon drawings is very easy.  I often find myself going back to earlier drawings and resurrecting ideas that I had initially discarded.  You can do that with Visio or other tools, but it is much harder.

If your organization standardizes around some lame computer based tool, you will find that it is not that difficult to replicate your final design into the tool.

If you are still sceptical, all I can say is:
Try it and you will see...

John Cavnar-Johnson
Tuesday, February 25, 2003

Books:

UML Distilled by Martin Fowler
Patterns of Enterprise Architecture by Martin Fowler
Design Patterns Explained by Shalloway and Trott
Design Patterns by Gamma, et al
Pragmatic Programmer by Thomas and Hunt


Web Sites:

www.modelingstyle.info
www.martinfowler.com
www.netobjectives.com/dpexplained/dpe_cop.htm


UML Tools:

Enterprise Architect (Visio is a horrible UML too - it's too much of a generic diagramming tool) - www.sparxsystems.com.au


Java IDE:

IDEA (sure you don't have to pay for Eclipse, but you have to pay for the massive memory upgrade you'll need to run it, IDEA 3 supports plug-ins and once you use it you won't go back - there's no point) - www.intellij.com

Walter Rumsby
Wednesday, February 26, 2003

Rational Rose

Just Kidding!
Wednesday, February 26, 2003

Try the 45-day evaluation of sybase powerdesigner.

ERD/conceptual datamodelling and UML and business process modelling in one tool.

Generation template language to script your ant build file, deployemnt descriptors  generation,

Scriptable meta model. Tighter integration with eclipse coming - sybase is member of eclipse board.

Karel
Wednesday, February 26, 2003

The most useful book on UML I've used is Using UML by Stevens, Pooley, its refreshingly practical.

Rational is the tool I use but that's just cos its so damn expensive and as I have it I need to use it.  But I only use about 10% of it.

In the end any diagram that shows the state will work there's a lot of post hoc justification for some of the nether regions of UML it becomes a documentation of documentation instead of anything approaching real.

I'd also suggest you look at ORM, Object Role Modelling (a perrenial suggestion of mine, it must be almost Spring).

Simon Lucy
Wednesday, February 26, 2003

I joined a project that was using Rational Rose. Talk about bloatware. I hated it and since then I have done all my architecture diagrams in Microsoft Word, with a sprinkling of Visio thrown in for the more complex stuff that isn't just boxes and lines.

Better than being unemployed...
Wednesday, February 26, 2003

Awesome guys, thanks for the help.

Need to Learn to Draw
Wednesday, February 26, 2003

Far too much time can be spent drawing boxes on the screen that could have been sketched in 5 secs on a piece of paper.

powerpoint has always done fine for turning that crayon drawing into something presentable for meetings.

Focus on the design, not the tools :-)

nice
Wednesday, February 26, 2003

Best design tool I've ever seen is a nice big whiteboard. My bedroom's small for the one I want (not that I could afford a 5x30 whiteboard anyway)...

Mike Swieton
Thursday, February 27, 2003

*  Recent Topics

*  Fog Creek Home