ERD, Flowcharts and Other Documentation
-
Upload
anna-filina -
Category
Technology
-
view
2.098 -
download
2
description
Transcript of ERD, Flowcharts and Other Documentation
FooLab
ERD, Flowcharts and Other DocumentationNortheast PHP Conference - August 11, 2012
Saturday, August 11, 2012
FooLabWhat It’s Not About
• Not a full analysis and design course
• Not a demo of modeling tools
• Not a detailed explanation of symbology
2
Saturday, August 11, 2012
FooLabWhat It Is About
• What diagrams serve what purpose
• Tie diagrams together
• Real world examples
• More examples
3
Saturday, August 11, 2012
FooLabAnna Filina
• PHP Quebec - user group
• ConFoo - non for profit Web conference
• FooLab Inc. - IT consulting
• I write code.
• I train and supervise programmers.
• I make recommendations.
4
Saturday, August 11, 2012
FooLabWhy No Docs?
• Don't know where to begin
• It's boring
• There’s no point
• Get out of date
• Nobody reads them
5
Saturday, August 11, 2012
FooLabThe Real Problem
• Don't understand diagrams
• Diagrams serve no purpose, not helpful
• Inadequate tools
6
Saturday, August 11, 2012
FooLab
Conference Management Software
Saturday, August 11, 2012
FooLabUse Case
8
Saturday, August 11, 2012
FooLabER Diagram
9
Saturday, August 11, 2012
FooLabER Diagram
9
0 or more(many)
1
Saturday, August 11, 2012
FooLabER Diagram
10
Saturday, August 11, 2012
FooLabER Diagram
10
Non-identifying
Identifying
Saturday, August 11, 2012
FooLabER Diagram
11
Saturday, August 11, 2012
FooLabData Flow Diagram
12
Saturday, August 11, 2012
FooLabData Flow Diagram
12
External entity
Saturday, August 11, 2012
FooLabData Flow Diagram
12
External entity
Saturday, August 11, 2012
FooLabData Flow Diagram
12
External entity
Saturday, August 11, 2012
FooLabData Flow Diagram
13
Saturday, August 11, 2012
FooLabData Flow Diagram
13
1 2 3 4 5 6
78
Saturday, August 11, 2012
FooLabData Flow Diagram
14
Saturday, August 11, 2012
FooLabCommon Mistakes
15
• Data not stored.
• Black hole.
• Grey hole.
• Spontaneous generation.
Saturday, August 11, 2012
FooLabFlowchart
16
Saturday, August 11, 2012
FooLabFlowchart
16
Input
Output
Saturday, August 11, 2012
FooLabMockups
17
Saturday, August 11, 2012
FooLabMockups
18
Saturday, August 11, 2012
FooLabFunction Reference
• Session
• bool isSelected()
• void mailConfirmation(), check logs
• bool saveVote($user, $vote)
• Automate tests of input/output.
19
Saturday, August 11, 2012
FooLabSource Comments
• Inline comments // simple and short explanations
• /** * Commonly used above functions. * Can use annotations with phpDocumentor or other. */Descriptive blocks
• Comment when it’s fresh.
• Big functions with lots of comments = split function.
20
Saturday, August 11, 2012
FooLab
Putting it all togetherA.K.A. “The Manual”
Saturday, August 11, 2012
FooLabManual
• Define chapters. Example:
1. Scope (Use Cases)
2. Database (ERD)
3. Processes (DFD + Flowchart)
4. Mockups (later screenshots)
5. Classes + usage
22
Saturday, August 11, 2012
FooLabManual
• Write topics in bullet point
• Add diagrams
• Write paragraph under each bullet
• Move topics and chapters around
• Fill in with details
23
Saturday, August 11, 2012
FooLab
How much to write?
Saturday, August 11, 2012
FooLabApplication Complexity
25
Grandma’s recipes
vs Facebook
Saturday, August 11, 2012
FooLabApplication Complexity
25
More docsLess docs
Grandma’s recipes
vs Facebook
Saturday, August 11, 2012
FooLabSecurity Requirements
26
Grandma’s recipes
vsIAFIS
fingerprints
Saturday, August 11, 2012
FooLabSecurity Requirements
26
Grandma’s recipes
vsIAFIS
fingerprints
More docsLess docs
Saturday, August 11, 2012
FooLabFinancial Impact
27
Grandma’s recipes vs
Forex currency trading
Saturday, August 11, 2012
FooLabFinancial Impact
27
Grandma’s recipes vs
Forex currency trading
More docsLess docs
Saturday, August 11, 2012
FooLabTeam Size
28
Yourself vs 20 devs
Saturday, August 11, 2012
FooLabTeam Size
28
Yourself vs 20 devs
More docsLess docs
Saturday, August 11, 2012
FooLabTeam Proximity
29
Same office
vs Remote
Saturday, August 11, 2012
FooLabTeam Proximity
29
Same office
vs Remote
More docsLess docs
Saturday, August 11, 2012
FooLabGood Documentation
• Makes your software easier to build and maintain
• Makes your team more effective
• Discover new features before implementation
30
Saturday, August 11, 2012
FooLab
Mind MapsSaturday, August 11, 2012
FooLab
Systems Analysis and Design and/or UML book
Saturday, August 11, 2012
FooLabNext Steps
• I will tweet the slides: @afilina
• Please leave feedback: http://joind.in/6838
33
Saturday, August 11, 2012
FooLab
Ask me which software I use.
Saturday, August 11, 2012
FooLab
Ask me which software I use.
astah, BalsamiqSaturday, August 11, 2012