Top Banner
Agile architecture documentation using Confluence and Sparx Enterprise Architect Per Spilling, Objectware JavaZone 2009
41

Agile documentation with Confluence and Sparx Enterprise Architect

May 17, 2015

Download

Technology

Per Spilling

A presentation showing how one can create high quality agile software architecture documentation by creating a mashup of Confluence and the Sparx Enterprise Architect UML tool.

*Update:*
The source code for the Sparx EA diagram export tool is now available on github: https://github.com/perspilling/eatools
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Agile documentation with Confluence and Sparx Enterprise Architect

Agile architecture documentation using Confluence and Sparx Enterprise Architect

Per Spilling, ObjectwareJavaZone 2009

Page 2: Agile documentation with Confluence and Sparx Enterprise Architect

Agenda

• Why mashup of wiki & UML tool

• How

• Tips for architecture documentation in Confluence

Page 3: Agile documentation with Confluence and Sparx Enterprise Architect

Typical problems with traditional documentation

Page 4: Agile documentation with Confluence and Sparx Enterprise Architect

Doc 1.0

App 1.0 App 2.0

Page 5: Agile documentation with Confluence and Sparx Enterprise Architect

Foo Bar Foo Bar

Page 6: Agile documentation with Confluence and Sparx Enterprise Architect
Page 7: Agile documentation with Confluence and Sparx Enterprise Architect
Page 8: Agile documentation with Confluence and Sparx Enterprise Architect
Page 9: Agile documentation with Confluence and Sparx Enterprise Architect

Better way

UML tool

wiki

UML model Repository

Documentation Repository

Page 10: Agile documentation with Confluence and Sparx Enterprise Architect

UML tool

wiki

Sparx Enterprise Architect Atlassian Confluence

The chosen tools

Page 11: Agile documentation with Confluence and Sparx Enterprise Architect
Page 12: Agile documentation with Confluence and Sparx Enterprise Architect
Page 13: Agile documentation with Confluence and Sparx Enterprise Architect
Page 14: Agile documentation with Confluence and Sparx Enterprise Architect

Exporting from EA

Page 15: Agile documentation with Confluence and Sparx Enterprise Architect

hmm...

EARoot/EA1/EA11.png

Page 16: Agile documentation with Confluence and Sparx Enterprise Architect

The solution: Generate diagrams via the EA API

Page 17: Agile documentation with Confluence and Sparx Enterprise Architect

Running the eatools program

Page 18: Agile documentation with Confluence and Sparx Enterprise Architect

The names of the generated files correspond with the model

model/domain_model/domain_model.png

Page 19: Agile documentation with Confluence and Sparx Enterprise Architect

The result: “Live” UML diagrams in wiki

Page 20: Agile documentation with Confluence and Sparx Enterprise Architect

Confluence tips & tricks

Page 21: Agile documentation with Confluence and Sparx Enterprise Architect
Page 22: Agile documentation with Confluence and Sparx Enterprise Architect

Examples of useful plugins

• Reporting Plugin

• Linking Plugin

• Copy Space

• Label Tools

• Metadata Plugin 2

• Navigation Plugin

• ImageMap Plugin

• Jira Plugin

• Graphviz Plugin

• Chart plugin

Page 23: Agile documentation with Confluence and Sparx Enterprise Architect

Copy space plugin

Page 24: Agile documentation with Confluence and Sparx Enterprise Architect

Versioning

Page 25: Agile documentation with Confluence and Sparx Enterprise Architect

Dynamic table of contents

Page 26: Agile documentation with Confluence and Sparx Enterprise Architect

.. do this

Update the page layout (Confluence admin). See recipe: http://confluence.atlassian.com/display/DOC/Adding+a+Navigation+Sidebar

Page 27: Agile documentation with Confluence and Sparx Enterprise Architect

Confluence page templates

Page 28: Agile documentation with Confluence and Sparx Enterprise Architect

Dictionary term template

Page 29: Agile documentation with Confluence and Sparx Enterprise Architect

Navigation Plugin

Dictionary term template

Page 30: Agile documentation with Confluence and Sparx Enterprise Architect

Metadata Plugin 2

Dictionary term template

Page 31: Agile documentation with Confluence and Sparx Enterprise Architect

Label Tools plugin

Dictionary term template

Page 32: Agile documentation with Confluence and Sparx Enterprise Architect

Using the template

Page 33: Agile documentation with Confluence and Sparx Enterprise Architect

Creating reports using metadata

Metadata Plugin 2: {metadata-report}

Page 34: Agile documentation with Confluence and Sparx Enterprise Architect

Add-page “buttons”

Linking Plugin

Specify which template to use

Page 35: Agile documentation with Confluence and Sparx Enterprise Architect

Use labels to specify relationships

Page 36: Agile documentation with Confluence and Sparx Enterprise Architect

depends_on_bird-app-003

Page 37: Agile documentation with Confluence and Sparx Enterprise Architect

depends_on_bird-app-003

Page 38: Agile documentation with Confluence and Sparx Enterprise Architect

Project reports with Chart & Metadata Plugin

Page 39: Agile documentation with Confluence and Sparx Enterprise Architect

{chart:type=bar|width=500|height=200|orientation=horizontal}|| || Tasks |||| Ikke påbegynt | {metadata-matches:Status|root=@parent|pages=@descendents|label=pcom_oppgave}Ikke påbegynt{metadata-matches} ||| Påbegynt | {metadata-matches:Status|root=@parent|pages=@descendents|label=pcom_oppgave}Påbegynt{metadata-matches} ||| Ferdig | {metadata-matches:Status|root=@parent|pages=@descendents|label=pcom_oppgave}Ferdig{metadata-matches} |{chart}

Page 40: Agile documentation with Confluence and Sparx Enterprise Architect

Graphviz plugin - ex: {spacegraph}

Page 41: Agile documentation with Confluence and Sparx Enterprise Architect

Thank you

Java program for generating diagrams will be made available for downloading after the conference