473,385 Members | 1,309 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,385 software developers and data experts.

design and architecture documentation

I'm an architect for a very large fortune 100 company and
we still struggle with the best balance. However, I use a
couple of simple guidelines that have worked very well
for me in almost all cases (there have been some times
when I've lived to regret some decisions).

Use case work flows are the bread and butter of the
documentation and all others flow from them. Each of the
high-level processes needs to be broken down into lower
level processes and so forth. Without these documents
there is no point in writing the application. They also
provide a model for moving through processes in the
application and the order those process should occur.
They also point out areas of re-usability. From this
comes the object model.

I believe that you must have a UML object model. No
arguments. The objects must relate back to the user
requirements for traceability. So if the user says the
app needs to do this you better be able to say which
classes support that process. This helps eliminate any
extraneous classes. This does not mean that you need a
model down to the method level. If you aren't using any
code generation techniques (which I have found to get a
project only part of the way) it isn't important and
requires too much upkeep. The problem with most
documentation is that if it is too large no one will
either read it or update it and it becomes worse than no
documentation at all in my experience.

Sequence diagrams are things that I require for specific
tasks and design patterns. For example, in my book I have
a specific pattern for editing lookup tables which
involves loading a proxy, loading a record, editing a
record, checking business rules, saving a record,
handling concurrency issues. I have a set of sequence
diagrams that outlines this particular pattern. I also
have sequence diagrams for subsets such as just the
concurrency section of the process which can be used for
other processes.

The only other piece of documentation that I routinely
require is a deployment diagram. If you don't know how
the objects are going to communicate across app domains
then all bets are off when it comes to designing the
basic infrastructure and that's just a disaster waiting
to happen.

Other pieces of documenation are required depending on
the project, but these are the big four. I won't start a
project without them anymore.

Hope that helps.

Jeff Levinson

Author of "Building Client/Server Applications with
VB.NET: An Example Driven Approach"

-----Original Message-----
I don't know if this is the best place to put this, but...
I was having a discussion with developer/architect friends of mine on thesubject of what documentation was important to have before coding began on aproject. We had arguments that depending on the size of the project,certain documentation and design had to be done, for example, class diagramsand object diagrams.

Another argument stated that sequence diagrams or some type of flowchart anda class diagram would be enough to handle all documentation that was neededfor technical and non-technical people involved with the project.
Personally, I argue that the more documentation (usable) the better, butwhere do we draw the line when it comes to architecture and design docs?Any opinions?

tia
.

Jul 19 '05 #1
0 2125

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
by: SpamProof | last post by:
I'm looking for an example of a detailed design that I can follow or get ideas from before programming in vb.net. Currently, I'm using this outline approach that describes my Project, Classes,...
0
by: Jeff Levinson [mcsd] | last post by:
I'm an architect for a very large fortune 100 company and we still struggle with the best balance. However, I use a couple of simple guidelines that have worked very well for me in almost all...
3
by: CSharpguy | last post by:
I have a 03 .NET web that does not use Typed DataSets, it uses a Busines Layer/DataLayer classes. Alot of my reading on .NET 05 is using the DataSets for the datalayer/business layer. I have a 05...
2
by: SemSem | last post by:
how to make a well design web pages and web form in ,net as all form ido is very simple iwant to improve it . if there some tools to used in .net or some techneque iheard about css or...
2
by: C | last post by:
Hi, I have a Business Requirements Document and Functional Spec from my customer / user. How should I go about approaching the Database Design and Object Model Design? Generally I have done...
48
by: Tony | last post by:
How much bloat does the STL produce? Is it a good design wrt code bloat? Do implementations vary much? Tony
0
by: Joerg Rech | last post by:
Dear software practitioners, consultants, and researchers, we are currently conducting an international survey about architecture and design patterns. Our goal is to discover how familiar people...
0
by: Joerg Rech | last post by:
Dear software practitioners, consultants, and researchers, we are currently conducting an international survey about architecture and design patterns. Our goal is to discover how familiar people...
19
by: neelsmail | last post by:
Hi, I have been working on C++ for some time now, and I think I have a flair for design (which just might be only my imagination over- stretched.. :) ). So, I tried to find a design...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...
0
by: ryjfgjl | last post by:
In our work, we often need to import Excel data into databases (such as MySQL, SQL Server, Oracle) for data analysis and processing. Usually, we use database tools like Navicat or the Excel import...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.