a software architect's view on diagramming
DESCRIPTION
Diagramming is an important tool to have in one’s repertoire but how can one go about learning to do it effectively? This presentation will shed some light on some use cases plus share some research. Learn about different types of software diagrams, the different diagramming tools available, and Visio tips & tricks to make your diagrams pretty.TRANSCRIPT
A Software Architect’s View on Diagramming
By: Keith Schreiner
Types of Diagrams
• High-Level• (Enterprise Architecture) [Very few boxes]
• Hardware• (System Architecture) [The Servers]
• Application• (Application or Component Architecture)
• Sequence
(for this presentation)
UML Diagrams• Unified Modeling Language (UML)• A standard (ISO 19501) general-purpose modeling
language for software engineering.• Created in the 1990’s by Rational Software.
Other types of diagrams:
UML DiagramsOther types of diagrams:
Class Diagram State Diagram
UML DiagramsOther types of diagrams:
Activity Diagram
Database DiagramsOther types of diagrams:
Types of Diagrams
• High-Level• (Enterprise Architecture) [Very few boxes]
• Hardware• (System Architecture) [The Servers]
• Application• (Application or Component Architecture)
• Sequence
(for this presentation)
High-Level Example
High-Level Example
High-Level Example
Hardware Diagrams
• Also called:– “System Architecture”– “Logical Architecture”– “Physical Architecture”
• Lists servers• Can be simple or complex
Hardware Example
Hardware Example
Hardware Example
Hardware Example
Hardware Example
Application Diagrams
• Also called “Component Diagrams”• Are the most common type of diagram• Can show how app’s interact, or• Can show the “internals” of an app• Are often complex• But the goal is to make them easy to “read”
Application Example
Application Example
Application Example
Application Example
Application Example
Application Example
Application Example
Application Example
Application Example
Sequence Diagrams
• An interaction diagram that shows how processes operate with one another and in what order.
• Also called:– Event Diagram– Timing Diagram
Sequence Example
Sequence Example
Tools?
Whiteboard
Paper & Pencil orWhiteboard and Camera
• Very easy and quick to use.• Should be your starting point before going to
an electric tool.• No rules, just draw, erase, and draw some
more.
Microsoft Visio• The “500 pound gorilla” of diagramming software. • While a part of the “Office” suite, Visio is its own product.• It used to be a part of an MSDN subscription, but no more. • $300 - $600. Or $13 to $18 a month with Office 365.
OmniGraffle for MacLike Visio, but on a Mac or iPad ($100-$200)
Sparx System’s “Enterprise Architect”
A diagramming tool with many awards & versions. $200-$700. Like “Visual Studio”. Big learning curve.
SmartDrawA top diagramming and charting tool. Like an easy-to-use Microsoft Office. $300-$600
Online Tools
• Gliffy• Lucid Chart• Draw.io• Creatley• More… Some free, some paid.
WebSequenceDiagrams.com• Other tools can create sequence diagrams, but
this is the easiest.• Free, create an account (to save diagrams on
their server), and a paid version (for more features)
• Demo: Arrows, Notes, Groups, more… • API. • Plug-ins.
Demo: http://www.websequencediagrams.com/
Microsoft Visio• Visio can be intimidating & complex, but it can
do lots of things.• To help myself get starting, I either steal an
existing diagram or start with my “Legend” diagram.
• Can also start from one of Visio’s templates.
Visio Tips and Tricks• Boxes• Arrows• Add Notes, Steps• Other objects– Visio Stencils– Clip Art– Google Image Search
Visio Tips and Tricks• Add a Title• Figure out who this diagram is for.– Create different diagrams for different people.
• Use Colors• Add a Legend• Make lines don’t overlap• Make readable • Possibly be printer-friendly.