Table of Contents

Class SoftwareSystem

Namespace
C4.Net
Assembly
C4.Net.Core.dll

A software system.

[DataContract]
public sealed class SoftwareSystem : StaticStructureElement, IEquatable<SoftwareSystem>
Inheritance
SoftwareSystem
Implements
Inherited Members

Properties

CanonicalName

Gets the canonical name for this software system.

public override string CanonicalName { get; }

Property Value

string

Containers

The set of containers within this software system.

[DataMember(Name = "containers", EmitDefaultValue = false)]
public ISet<Container> Containers { get; }

Property Value

ISet<Container>

Location

The location of this software system.

[DataMember(Name = "location", EmitDefaultValue = true)]
public Location Location { get; set; }

Property Value

Location

Parent

Software systems do not have a parent element in the static structure hierarchy.

public override Element Parent { get; set; }

Property Value

Element

Methods

AddContainer(string)

Adds a container with the specified name (unless one exists with the same name already).

public Container AddContainer(string name)

Parameters

name string

the name of the container (e.g. "Web Application")

Returns

Container

The created container, or null if a container with the same name already exists.

AddContainer(string, string)

Adds a container with the specified name and description (unless one exists with the same name already).

public Container AddContainer(string name, string description)

Parameters

name string

the name of the container (e.g. "Web Application")

description string

a short description/list of responsibilities

Returns

Container

The created container, or null if a container with the same name already exists.

AddContainer(string, string, string)

Adds a container with the specified name, description and technology (unless one exists with the same name already).

public Container AddContainer(string name, string description, string technology)

Parameters

name string

the name of the container (e.g. "Web Application")

description string

a short description/list of responsibilities

technology string

the technology choice (e.g. "Spring MVC", "Java EE", etc)

Returns

Container

The created container, or null if a container with the same name already exists.

Equals(SoftwareSystem)

Compares this software system with another software system by canonical identity.

public bool Equals(SoftwareSystem softwareSystem)

Parameters

softwareSystem SoftwareSystem

The software system to compare with.

Returns

bool

true when both software systems represent the same model element; otherwise, false.

GetContainerWithId(string)

Gets the container with the specified ID (or null if it doesn't exist).

public Container GetContainerWithId(string id)

Parameters

id string

The identifier of the container to find.

Returns

Container

The matching container, or null when no container has that identifier.

GetContainerWithName(string)

Gets the container with the specified name (or null if it doesn't exist).

public Container GetContainerWithName(string name)

Parameters

name string

The name of the container to find.

Returns

Container

The matching container, or null when no container has that name.

GetRequiredTags()

Returns the tags that are always applied to software systems.

public override List<string> GetRequiredTags()

Returns

List<string>

The required software system tags.