Note
|
Within the following text, the "arc42 template" shall be abbreviated arc42 |
Goals: |
the fundamentals |
Usage: |
Stakeholders and their perspective on arc42. |
Formats: |
Technical formats, like MS-Word © (docx), pdf, html or others. |
Toolchains: |
Tools supported to apply arc42 or maintain Required Formats or Required Versions |
Versions: |
Content versions, e.g. the pure structure, with help content, with examples etc. Versions can be available in various Required Formats. |
arc42 is well-suited for software architecture documentation and communication. It is free, both for commercial or open-source projects or systems.
arc42 shall be:
-
Agnostic towards
-
development process, arc42 can be used in iterative, strict, formal or informal processes
-
applied technologies of the system (programming languages, frameworks, operating systems)
-
system domain
-
kind of system (i.e. interactive, batch, server/backend, mobile, client/server etc.)
-
system size, arc42 shall support small to medium systems without modification (up to approx 1 million LOC)
-
system lifecycle phase: it can be used a-priori and a-posteriori for planning, designing or describing systems.
-
-
Easily usable. It shall
-
contain clear and helpful documentation
-
provide various examples
-
be available in various
-
formats (e.g. MS-Word ©, pdf, Confluence ©, etc.)
-
versions (e.g. without help, with help included, with examples included etc.)
-
languages, at least English and German
-
-
have low requirements to use in the supported toolchains
-
-
Flexible
-
Users (software architects and developers) can adapt and modify arc42 towards their needs.
-
arc42 can be used with different toolchains.
-
User |
works on a software system, needs to communicate or document architectural aspects (decisions, structures, concepts, requirements etc) of this system. |
Contributor |
support and improve template formats, Required Versions, toolchains and/or content. Help to answer questions on Stackoverflow or forum or fix bugs. |
Founders |
Peter Hruschka and Gernot Starke ensure conceptual integrity of the arc42 ecosystem. |
-
Document: use arc42 to document or communicate a software architecture. This use-case is supported by the available output formats (e.g. docx ©, html, asciidoc)
-
Maintain: work on the arc42 ecosystem by either
-
adding Required Formats, Required Versions or examples
-
improving the maintenance infrastructure
-
Output formats are used to document existing or planned software systems with the documentation use-case.
arc42 shall support the following output formats:
-
Microsoft © Word docx format, single file, including
-
table-of-contents
-
header and footer, optionally containing logo
-
-
Confluence © format, providing the complete template as space
-
supporting Confluence versions from 3.x up to the latest versions.
-
-
AsciiDoctor format (modularized), together with build-system to generate/compile results into html/pdf.
-
html format, especially the versions including help text and samples
-
pdf format, restricted to version including help text and samples
-
Word © or similar text processors, combined with any graphical tool for diagrams.
-
UML modeling tool, either for diagrams-only or for the complete documentation.
-
Wikis (e.g. Confluence ©), combined with any graphical tool for diagrams.
-
Text-based formats (like AsciiDoctor), combined with any graphical tool for diagrams.
For all toolchains, requirements for its application shall be kept low.
arc42 shall be supplied in the following versions:
-
Skeleton version, containing
-
all headers
-
appropriate title-page with formal section (name-of-system, authors etc.)
-
table-of-contents
-
plain structure without help text or samples
-
placeholders for substructures, like black- and whitebox templates
-
empty tables, e.g. for stakeholder, quality-goals, external interfaces etc.
-
-
With-Help version, containing the complete skeleton, plus
-
help texts for all chapters and sections
-
explanations
-
-
Multiple samples version, containing the complete skeleton, plus example diagrams, tables for every chapter and section.
-
arc42 is free and open-source, under a liberal Creative-Commons Sharealike license. It can be used in arbitrary projects for arbitrary systems without any fees or restrictions. Please note - there is no guarantee!
-
It is hosted and maintained on GitHub.
-
Generation of formats shall be automated as much as possible
-
Build of output formats can be done with
-
Gradle (first priority)
-
others, if demand arises
-