Class ViewpointsAndPerspectivesDocumentationTemplate

java.lang.Object
com.structurizr.documentation.DocumentationTemplate
com.structurizr.documentation.ViewpointsAndPerspectivesDocumentationTemplate

public class ViewpointsAndPerspectivesDocumentationTemplate
extends DocumentationTemplate

An implementation of the "Viewpoints and Perspectives" documentation template, from the "Software Systems Architecture" book by Nick Rozanski and Eoin Woods, consisting of the following sections:

  1. Introduction (1)
  2. Glossary (1)
  3. System Stakeholders and Requirements (2)
  4. Architectural Forces (2)
  5. Architectural Views (3)
  6. System Qualities (4)
  7. Appendices (5)

The number in parentheses () represents the grouping, which is simply used to colour code section navigation buttons when rendered.

  • Constructor Details

  • Method Details

    • addIntroductionSection

      public Section addIntroductionSection​(SoftwareSystem softwareSystem, java.io.File... files) throws java.io.IOException
      Adds a "Introduction" section relating to a SoftwareSystem from one or more files.
      Parameters:
      softwareSystem - the SoftwareSystem the documentation content relates to
      files - one or more File objects that point to the documentation content
      Returns:
      a documentation Section
      Throws:
      java.io.IOException - if there is an error reading the files
    • addIntroductionSection

      public Section addIntroductionSection​(SoftwareSystem softwareSystem, Format format, java.lang.String content)
      Adds a "Introduction" section relating to a SoftwareSystem.
      Parameters:
      softwareSystem - the SoftwareSystem the documentation content relates to
      format - the Format of the documentation content
      content - a String containing the documentation content
      Returns:
      a documentation Section
    • addGlossarySection

      public Section addGlossarySection​(SoftwareSystem softwareSystem, java.io.File... files) throws java.io.IOException
      Adds a "Glossary" section relating to a SoftwareSystem from one or more files.
      Parameters:
      softwareSystem - the SoftwareSystem the documentation content relates to
      files - one or more File objects that point to the documentation content
      Returns:
      a documentation Section
      Throws:
      java.io.IOException - if there is an error reading the files
    • addGlossarySection

      public Section addGlossarySection​(SoftwareSystem softwareSystem, Format format, java.lang.String content)
      Adds a "Glossary" section relating to a SoftwareSystem.
      Parameters:
      softwareSystem - the SoftwareSystem the documentation content relates to
      format - the Format of the documentation content
      content - a String containing the documentation content
      Returns:
      a documentation Section
    • addSystemStakeholdersAndRequirementsSection

      public Section addSystemStakeholdersAndRequirementsSection​(SoftwareSystem softwareSystem, java.io.File... files) throws java.io.IOException
      Adds a "System Stakeholders and Requirements" section relating to a SoftwareSystem from one or more files.
      Parameters:
      softwareSystem - the SoftwareSystem the documentation content relates to
      files - one or more File objects that point to the documentation content
      Returns:
      a documentation Section
      Throws:
      java.io.IOException - if there is an error reading the files
    • addSystemStakeholdersAndRequirementsSection

      public Section addSystemStakeholdersAndRequirementsSection​(SoftwareSystem softwareSystem, Format format, java.lang.String content)
      Adds a "System Stakeholders and Requirements" section relating to a SoftwareSystem.
      Parameters:
      softwareSystem - the SoftwareSystem the documentation content relates to
      format - the Format of the documentation content
      content - a String containing the documentation content
      Returns:
      a documentation Section
    • addArchitecturalForcesSection

      public Section addArchitecturalForcesSection​(SoftwareSystem softwareSystem, java.io.File... files) throws java.io.IOException
      Adds an "Architectural Forces" section relating to a SoftwareSystem from one or more files.
      Parameters:
      softwareSystem - the SoftwareSystem the documentation content relates to
      files - one or more File objects that point to the documentation content
      Returns:
      a documentation Section
      Throws:
      java.io.IOException - if there is an error reading the files
    • addArchitecturalForcesSection

      public Section addArchitecturalForcesSection​(SoftwareSystem softwareSystem, Format format, java.lang.String content)
      Adds an "Architectural Forces" section relating to a SoftwareSystem.
      Parameters:
      softwareSystem - the SoftwareSystem the documentation content relates to
      format - the Format of the documentation content
      content - a String containing the documentation content
      Returns:
      a documentation Section
    • addArchitecturalViewsSection

      public Section addArchitecturalViewsSection​(SoftwareSystem softwareSystem, java.io.File... files) throws java.io.IOException
      Adds an "Architectural Views" section relating to a SoftwareSystem from one or more files.
      Parameters:
      softwareSystem - the SoftwareSystem the documentation content relates to
      files - one or more File objects that point to the documentation content
      Returns:
      a documentation Section
      Throws:
      java.io.IOException - if there is an error reading the files
    • addArchitecturalViewsSection

      public Section addArchitecturalViewsSection​(SoftwareSystem softwareSystem, Format format, java.lang.String content)
      Adds an "Architectural Views" section relating to a SoftwareSystem.
      Parameters:
      softwareSystem - the SoftwareSystem the documentation content relates to
      format - the Format of the documentation content
      content - a String containing the documentation content
      Returns:
      a documentation Section
    • addSystemQualitiesSection

      public Section addSystemQualitiesSection​(SoftwareSystem softwareSystem, java.io.File... files) throws java.io.IOException
      Adds a "System Qualities" section relating to a SoftwareSystem from one or more files.
      Parameters:
      softwareSystem - the SoftwareSystem the documentation content relates to
      files - one or more File objects that point to the documentation content
      Returns:
      a documentation Section
      Throws:
      java.io.IOException - if there is an error reading the files
    • addSystemQualitiesSection

      public Section addSystemQualitiesSection​(SoftwareSystem softwareSystem, Format format, java.lang.String content)
      Adds a "System Qualities" section relating to a SoftwareSystem.
      Parameters:
      softwareSystem - the SoftwareSystem the documentation content relates to
      format - the Format of the documentation content
      content - a String containing the documentation content
      Returns:
      a documentation Section
    • addAppendicesSection

      public Section addAppendicesSection​(SoftwareSystem softwareSystem, java.io.File... files) throws java.io.IOException
      Adds an "Appendices" section relating to a SoftwareSystem from one or more files.
      Parameters:
      softwareSystem - the SoftwareSystem the documentation content relates to
      files - one or more File objects that point to the documentation content
      Returns:
      a documentation Section
      Throws:
      java.io.IOException - if there is an error reading the files
    • addAppendicesSection

      public Section addAppendicesSection​(SoftwareSystem softwareSystem, Format format, java.lang.String content)
      Adds an "Appendices" section relating to a SoftwareSystem.
      Parameters:
      softwareSystem - the SoftwareSystem the documentation content relates to
      format - the Format of the documentation content
      content - a String containing the documentation content
      Returns:
      a documentation Section
    • getMetadata

      protected TemplateMetadata getMetadata()
      Description copied from class: DocumentationTemplate
      Gets the metadata associated with this template.
      Specified by:
      getMetadata in class DocumentationTemplate
      Returns:
      a TemplateMetadata object, or null if there is none