473,806 Members | 2,655 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

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 2160

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

Similar topics

3
1230
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, Methods, properties etc and it goes something like this... I. Project: ProjectName A. Class: ClassName 1. New Method: MethodName a. Method Description: Explain method purpose
0
284
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 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...
3
1220
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 web app that I used the business/datalayer class architecture and it works. But my question is, what is the recommended way in 05? DataSets or the 'Classes'? Is there a best way or is it pretty much up to the developer on how to code the...
2
1550
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 something like ths . can someone tell about all this. tahnx --
2
965
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 this on an adhoc basis. What is the "correct" or formal way of doing this? Thanks.
48
2651
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
1491
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 are with these patterns (and anti-patterns) as well as to elicit the information need, the usage behavior, and the experience of software organizations regarding architecture patterns and design patterns.
0
1614
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 are with these patterns (and anti-patterns) as well as to elicit the information need, the usage behavior, and the experience of software organizations regarding architecture patterns and design patterns. Therefore, we would like to invite you...
19
3181
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 certification, possibly that involves C++, but, if not, C++ and UML. All I could find was Java + UML design certifications (one such is detailed on http://www.objectsbydesign.com/tools/certification.html). Although UML is expected to be language independent,...
0
9719
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9598
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
1
10373
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
10111
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
9192
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7650
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 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 a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5683
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
2
3852
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
3010
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

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.