A Software Architect's View On Diagramming
-
Upload
meghantaylor -
Category
Software
-
view
367 -
download
2
description
Transcript of A Software Architect's View On Diagramming
![Page 1: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/1.jpg)
A Software Architect’s View on Diagramming
By: Keith Schreiner
![Page 2: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/2.jpg)
![Page 3: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/3.jpg)
Types of Diagrams
• High-Level• (Enterprise Architecture) [Very few boxes]
• Hardware• (System Architecture) [The Servers]
• Application• (Application or Component Architecture)
• Sequence
(for this presentation)
![Page 4: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/4.jpg)
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:
![Page 5: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/5.jpg)
UML DiagramsOther types of diagrams:
Class Diagram State Diagram
![Page 6: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/6.jpg)
UML DiagramsOther types of diagrams:
Activity Diagram
![Page 7: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/7.jpg)
Database DiagramsOther types of diagrams:
![Page 8: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/8.jpg)
Types of Diagrams
• High-Level• (Enterprise Architecture) [Very few boxes]
• Hardware• (System Architecture) [The Servers]
• Application• (Application or Component Architecture)
• Sequence
(for this presentation)
![Page 9: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/9.jpg)
High-Level Example
![Page 10: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/10.jpg)
High-Level Example
![Page 11: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/11.jpg)
High-Level Example
![Page 12: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/12.jpg)
Hardware Diagrams
• Also called:– “System Architecture”– “Logical Architecture”– “Physical Architecture”
• Lists servers• Can be simple or complex
![Page 13: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/13.jpg)
Hardware Example
![Page 14: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/14.jpg)
Hardware Example
![Page 15: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/15.jpg)
Hardware Example
![Page 16: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/16.jpg)
Hardware Example
![Page 17: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/17.jpg)
Hardware Example
![Page 18: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/18.jpg)
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”
![Page 19: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/19.jpg)
Application Example
![Page 20: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/20.jpg)
Application Example
![Page 21: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/21.jpg)
Application Example
![Page 22: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/22.jpg)
Application Example
![Page 23: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/23.jpg)
Application Example
![Page 24: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/24.jpg)
Application Example
![Page 25: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/25.jpg)
Application Example
![Page 26: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/26.jpg)
Application Example
![Page 27: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/27.jpg)
Application Example
![Page 28: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/28.jpg)
Sequence Diagrams
• An interaction diagram that shows how processes operate with one another and in what order.
• Also called:– Event Diagram– Timing Diagram
![Page 29: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/29.jpg)
Sequence Example
![Page 30: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/30.jpg)
Sequence Example
![Page 31: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/31.jpg)
Tools?
![Page 32: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/32.jpg)
Whiteboard
![Page 33: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/33.jpg)
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.
![Page 34: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/34.jpg)
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.
![Page 35: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/35.jpg)
OmniGraffle for MacLike Visio, but on a Mac or iPad ($100-$200)
![Page 36: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/36.jpg)
Sparx System’s “Enterprise Architect”
A diagramming tool with many awards & versions. $200-$700. Like “Visual Studio”. Big learning curve.
![Page 37: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/37.jpg)
SmartDrawA top diagramming and charting tool. Like an easy-to-use Microsoft Office. $300-$600
![Page 38: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/38.jpg)
Online Tools
• Gliffy• Lucid Chart• Draw.io• Creatley• More… Some free, some paid.
![Page 39: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/39.jpg)
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/
![Page 40: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/40.jpg)
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.
![Page 41: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/41.jpg)
Visio Tips and Tricks• Boxes• Arrows• Add Notes, Steps• Other objects– Visio Stencils– Clip Art– Google Image Search
![Page 42: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/42.jpg)
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.
![Page 43: A Software Architect's View On Diagramming](https://reader033.fdocuments.net/reader033/viewer/2022061208/548b3133b47959ff698b4735/html5/thumbnails/43.jpg)