Morozzzko / java

Structurizr for Java

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Structurizr

Structurizr for Java

This GitHub repository is an official client library for the Structurizr cloud service and on-premises installation, both of which are web-based publishing platforms for software architecture models based upon the C4 model. This repository is supported by Structurizr Limited, as a part of the Structurizr service.

The component finder, adr-tools importer, and alternative diagram export formats (e.g. PlantUML) can be found at Structurizr for Java extensions.

A quick example

As an example, the following Java code can be used to create a software architecture model and an associated view that describes a user using a software system.

public static void main(String[] args) throws Exception {
    Workspace workspace = new Workspace("Getting Started", "This is a model of my software system.");
    Model model = workspace.getModel();
    
    Person user = model.addPerson("User", "A user of my software system.");
    SoftwareSystem softwareSystem = model.addSoftwareSystem("Software System", "My software system.");
    user.uses(softwareSystem, "Uses");
    
    ViewSet views = workspace.getViews();
    SystemContextView contextView = views.createSystemContextView(softwareSystem, "SystemContext", "An example of a System Context diagram.");
    contextView.addAllSoftwareSystems();
    contextView.addAllPeople();
}

The view can then be exported to be visualised using the Structurizr service, or other formats including PlantUML, WebSequenceDiagrams and Graphviz via the Structurizr for Java extensions.

Views can be exported and visualised in many ways; e.g. PlantUML, Structurizr and Graphviz

Table of contents

Build Status

About

Structurizr for Java

License:Apache License 2.0


Languages

Language:Java 100.0%