Click here to Skip to main content
15,913,773 members

Welcome to the Lounge

   

For discussing anything related to a software developer's life but is not for programming questions. Got a programming question?

The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.

 
GeneralRe: Tech: Advanced or backwards (better or worse) Pin
Marc Clifton8-Jun-17 5:01
mvaMarc Clifton8-Jun-17 5:01 
GeneralRe: Tech: Advanced or backwards (better or worse) Pin
raddevus8-Jun-17 7:25
mvaraddevus8-Jun-17 7:25 
GeneralRe: Tech: Advanced or backwards (better or worse) Pin
Sander Rossel8-Jun-17 21:14
professionalSander Rossel8-Jun-17 21:14 
GeneralRe: Tech: Advanced or backwards (better or worse) Pin
MadMyche9-Jun-17 1:19
professionalMadMyche9-Jun-17 1:19 
GeneralCreating useful Technical Documentation for a project Pin
Jacquers8-Jun-17 0:30
Jacquers8-Jun-17 0:30 
GeneralRe: Creating useful Technical Documentation for a project PinPopular
Marc Clifton8-Jun-17 0:47
mvaMarc Clifton8-Jun-17 0:47 
GeneralRe: Creating useful Technical Documentation for a project Pin
Jacquers8-Jun-17 1:48
Jacquers8-Jun-17 1:48 
GeneralRe: Creating useful Technical Documentation for a project PinPopular
raddevus8-Jun-17 2:27
mvaraddevus8-Jun-17 2:27 
The most important thing is to :
1. give just the amount of information the (receiving) person needs.
2. provide a way for the person to get more information when the information from #1 leads them into thinking about deeper issues.

But, how do you do this?

I believe that is where (a few) UML diagrams come in.
It has taken me years to understand this, but I'll try to explain.

A good example to start out with is the Use Case Diagram which is often considered (especially by developers) as so abstract that it might even be useless.

However, the use case diagram shows three important things:
1. scope
2. high level view of functionality the system provides
3. system boundary

With a proper Use Case Diagram you can immediately get a feel for how large (scope) the project is and an idea of what it does. You also see a boundary and other systems (actors) which may use the system.

People at higher levels (Project Manager, Sales) may never need more than the Use Case Diagram. They just want to know what the system does.

That diagram _should_ lead the viewer to ask more questions.

I wish there were a way to include images here.
Suppose we have a Use Case diagram like the following:
ATM example[^]


A customer can make a deposit.
How does that work?
Now, you are going to want to create a flow of some sort.
This will be an behavioral diagram which shows how things work.
[ Customer clicks Start button]
[ Customer selects Deposit choice]
[ Customer chooses type of deposit (cash or check) ]
You'll use the activity diagram something like the following:
Activity diagram[^]
Now, more details are beginning to become apparent.

But, the developer wants to know what the structures in your program look like.
For example, is there a deposit object? Now you need a Class diagram (structural document).

After that, the developer wants to know how the Deposit object interacts with the Account object to store and update the amount that is in the Account.
For that, you'll show more detail in a Sequence diagram which shows (behavioral) interactions between the objects as functionality runs.
For this you want a sequence diagram:
sequence diagram[^]

A Key To Understanding Documentation
Keep in mind that each document really only explains things from one viewpoint.
Generally those viewpoints can be broken down into two categories:
1. behaviorial
2. structural


Each of these items allows the particular viewer to dig further and further into the amount of detail they need.
It's how it all adds up to actually present your ideas.
GeneralRe: Creating useful Technical Documentation for a project PinPopular
Jacquers8-Jun-17 2:35
Jacquers8-Jun-17 2:35 
GeneralRe: Creating useful Technical Documentation for a project Pin
raddevus8-Jun-17 2:39
mvaraddevus8-Jun-17 2:39 
GeneralRe: Creating useful Technical Documentation for a project Pin
Marc Clifton8-Jun-17 2:36
mvaMarc Clifton8-Jun-17 2:36 
GeneralRe: Creating useful Technical Documentation for a project Pin
Jacquers8-Jun-17 2:37
Jacquers8-Jun-17 2:37 
GeneralRe: Creating useful Technical Documentation for a project Pin
agolddog9-Jun-17 4:21
agolddog9-Jun-17 4:21 
GeneralRe: Creating useful Technical Documentation for a project Pin
Member 99020369-Jun-17 1:20
Member 99020369-Jun-17 1:20 
GeneralRe: Creating useful Technical Documentation for a project Pin
KC@CahabaGBA9-Jun-17 1:54
KC@CahabaGBA9-Jun-17 1:54 
GeneralRe: Creating useful Technical Documentation for a project Pin
Nelek8-Jun-17 1:42
protectorNelek8-Jun-17 1:42 
AnswerRe: Creating useful Technical Documentation for a project Pin
ronlease8-Jun-17 2:10
professionalronlease8-Jun-17 2:10 
GeneralRe: Creating useful Technical Documentation for a project Pin
buffetboy9-Jun-17 4:54
buffetboy9-Jun-17 4:54 
GeneralRe: Creating useful Technical Documentation for a project Pin
F-ES Sitecore8-Jun-17 3:45
professionalF-ES Sitecore8-Jun-17 3:45 
JokeRe: Creating useful Technical Documentation for a project Pin
Marc Clifton8-Jun-17 5:04
mvaMarc Clifton8-Jun-17 5:04 
GeneralRe: Creating useful Technical Documentation for a project Pin
kalberts8-Jun-17 21:36
kalberts8-Jun-17 21:36 
GeneralRe: Creating useful Technical Documentation for a project Pin
BillWoodruff11-Jun-17 10:36
professionalBillWoodruff11-Jun-17 10:36 
GeneralRe: Creating useful Technical Documentation for a project Pin
F-ES Sitecore11-Jun-17 22:06
professionalF-ES Sitecore11-Jun-17 22:06 
GeneralRe: Creating useful Technical Documentation for a project Pin
yacCarsten12-Jun-17 11:56
yacCarsten12-Jun-17 11:56 
GeneralRe: Creating useful Technical Documentation for a project Pin
sir_download_alot8-Jun-17 20:49
professionalsir_download_alot8-Jun-17 20:49 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.