Slide 1

Slide 1 text

FooLab ERD, Flowcharts and Other Documentation Northeast PHP Conference - August 11, 2012 Saturday, August 11, 2012

Slide 2

Slide 2 text

FooLab What 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

Slide 3

Slide 3 text

FooLab What It Is About • What diagrams serve what purpose • Tie diagrams together • Real world examples • More examples 3 Saturday, August 11, 2012

Slide 4

Slide 4 text

FooLab Anna 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

Slide 5

Slide 5 text

FooLab Why 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

Slide 6

Slide 6 text

FooLab The Real Problem • Don't understand diagrams • Diagrams serve no purpose, not helpful • Inadequate tools 6 Saturday, August 11, 2012

Slide 7

Slide 7 text

FooLab Conference Management Software Saturday, August 11, 2012

Slide 8

Slide 8 text

FooLab Use Case 8 Saturday, August 11, 2012

Slide 9

Slide 9 text

FooLab ER Diagram 9 Saturday, August 11, 2012

Slide 10

Slide 10 text

FooLab ER Diagram 9 0 or more (many) 1 Saturday, August 11, 2012

Slide 11

Slide 11 text

FooLab ER Diagram 10 Saturday, August 11, 2012

Slide 12

Slide 12 text

FooLab ER Diagram 10 Non-identifying Identifying Saturday, August 11, 2012

Slide 13

Slide 13 text

FooLab ER Diagram 11 Saturday, August 11, 2012

Slide 14

Slide 14 text

FooLab Data Flow Diagram 12 Saturday, August 11, 2012

Slide 15

Slide 15 text

FooLab Data Flow Diagram 12 External entity Saturday, August 11, 2012

Slide 16

Slide 16 text

FooLab Data Flow Diagram 12 External entity Saturday, August 11, 2012

Slide 17

Slide 17 text

FooLab Data Flow Diagram 12 External entity Saturday, August 11, 2012

Slide 18

Slide 18 text

FooLab Data Flow Diagram 13 Saturday, August 11, 2012

Slide 19

Slide 19 text

FooLab Data Flow Diagram 13 1 2 3 4 5 6 7 8 Saturday, August 11, 2012

Slide 20

Slide 20 text

FooLab Data Flow Diagram 14 Saturday, August 11, 2012

Slide 21

Slide 21 text

FooLab Common Mistakes 15 • Data not stored. • Black hole. • Grey hole. • Spontaneous generation. Saturday, August 11, 2012

Slide 22

Slide 22 text

FooLab Flowchart 16 Saturday, August 11, 2012

Slide 23

Slide 23 text

FooLab Flowchart 16 Input Output Saturday, August 11, 2012

Slide 24

Slide 24 text

FooLab Mockups 17 Saturday, August 11, 2012

Slide 25

Slide 25 text

FooLab Mockups 18 Saturday, August 11, 2012

Slide 26

Slide 26 text

FooLab Function Reference • Session • bool isSelected() • void mailConfirmation(), check logs • bool saveVote($user, $vote) • Automate tests of input/output. 19 Saturday, August 11, 2012

Slide 27

Slide 27 text

FooLab Source 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

Slide 28

Slide 28 text

FooLab Putting it all together A.K.A. “The Manual” Saturday, August 11, 2012

Slide 29

Slide 29 text

FooLab Manual • 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

Slide 30

Slide 30 text

FooLab Manual • 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

Slide 31

Slide 31 text

FooLab How much to write? Saturday, August 11, 2012

Slide 32

Slide 32 text

FooLab Application Complexity 25 Grandma’s recipes vs Facebook Saturday, August 11, 2012

Slide 33

Slide 33 text

FooLab Application Complexity 25 More docs Less docs Grandma’s recipes vs Facebook Saturday, August 11, 2012

Slide 34

Slide 34 text

FooLab Security Requirements 26 Grandma’s recipes vs IAFIS fingerprints Saturday, August 11, 2012

Slide 35

Slide 35 text

FooLab Security Requirements 26 Grandma’s recipes vs IAFIS fingerprints More docs Less docs Saturday, August 11, 2012

Slide 36

Slide 36 text

FooLab Financial Impact 27 Grandma’s recipes vs Forex currency trading Saturday, August 11, 2012

Slide 37

Slide 37 text

FooLab Financial Impact 27 Grandma’s recipes vs Forex currency trading More docs Less docs Saturday, August 11, 2012

Slide 38

Slide 38 text

FooLab Team Size 28 Yourself vs 20 devs Saturday, August 11, 2012

Slide 39

Slide 39 text

FooLab Team Size 28 Yourself vs 20 devs More docs Less docs Saturday, August 11, 2012

Slide 40

Slide 40 text

FooLab Team Proximity 29 Same office vs Remote Saturday, August 11, 2012

Slide 41

Slide 41 text

FooLab Team Proximity 29 Same office vs Remote More docs Less docs Saturday, August 11, 2012

Slide 42

Slide 42 text

FooLab Good Documentation • Makes your software easier to build and maintain • Makes your team more effective • Discover new features before implementation 30 Saturday, August 11, 2012

Slide 43

Slide 43 text

FooLab Mind Maps Saturday, August 11, 2012

Slide 44

Slide 44 text

FooLab Systems Analysis and Design and/or UML book Saturday, August 11, 2012

Slide 45

Slide 45 text

FooLab Next Steps • I will tweet the slides: @afilina • Please leave feedback: http://joind.in/6838 33 Saturday, August 11, 2012

Slide 46

Slide 46 text

FooLab Ask me which software I use. Saturday, August 11, 2012

Slide 47

Slide 47 text

FooLab Ask me which software I use. astah, Balsamiq Saturday, August 11, 2012