Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ERD, Flowcharts and Other Documentation

ERD, Flowcharts and Other Documentation

Documentation is much more than just commenting code. It can be a lot more fun too. Learn what types of documentation are useful, when it is appropriate to use and how to write it. Through real-world examples, this talk will teach you how to create meaningful and helpful documentation.

Anna Filina

August 11, 2012
Tweet

More Decks by Anna Filina

Other Decks in Programming

Transcript

  1. 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
  2. FooLab What It Is About • What diagrams serve what

    purpose • Tie diagrams together • Real world examples • More examples 3 Saturday, August 11, 2012
  3. 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
  4. 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
  5. FooLab The Real Problem • Don't understand diagrams • Diagrams

    serve no purpose, not helpful • Inadequate tools 6 Saturday, August 11, 2012
  6. FooLab Data Flow Diagram 13 1 2 3 4 5

    6 7 8 Saturday, August 11, 2012
  7. FooLab Common Mistakes 15 • Data not stored. • Black

    hole. • Grey hole. • Spontaneous generation. Saturday, August 11, 2012
  8. FooLab Function Reference • Session • bool isSelected() • void

    mailConfirmation(), check logs • bool saveVote($user, $vote) • Automate tests of input/output. 19 Saturday, August 11, 2012
  9. 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
  10. 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
  11. 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
  12. FooLab Financial Impact 27 Grandma’s recipes vs Forex currency trading

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

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

    Less docs Saturday, August 11, 2012
  15. 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
  16. FooLab Next Steps • I will tweet the slides: @afilina

    • Please leave feedback: http://joind.in/6838 33 Saturday, August 11, 2012