473,378 Members | 1,207 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,378 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 2123

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...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
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: 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...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...

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.