Introduction and Goals

arc42 Overview

Application Goals

The application is an application of modern software engineering principles.

The essential features are used to implement all acquisition, project management and financial process of an agile software consulting company.

The smoke test is to run the tangly processes on the ERP solution.

Requirements Overview

ID Type Description Remarks

req-001

import

As a user, I want to import all company data as a set of TSV files so that I can migrate strategic data.

No dependencies to a database shall exit

req-002

export

As a user, I want to export all company data as a set of TSV files so that I can back up strategic data in a human-readable form.

Human-readable form is necessary for audit. The export format is also used as import format.

Quality Goals

Source Code Quality Goals

Documentation Quality Goals

The architecture documentation shall empower a developer to master the bounded domains and build extensions.

ID Type Explanation

doc-001

Correct

Documentation needs to be accurate and free from errors. Wrong documentation is often worse than no documentation.

doc-002

Current

Documentation needs to be correct over time, reflecting changes performed upon code, infrastructure or interfaces of the system.

doc-003

Understandable

Documentation needs to be understood by the intended audience.

doc-004

Relevant

With respect to structure, form and content, documentation shall be relevant for the tasks of its audience.

doc-005

Referencable

Use a consistent numbering schema for headings, diagrams, and tables.

doc-006

Proper language

Use proper language, correct spelling and grammar, active voice, positive statements and short sentences.

doc-007

Maintainable

Maintainability is key to keeping documentation current.

doc-008

Easy to find

Documentation itself should be easy to find whenever needed. Its content should be easily navigable and searchable.

doc-009

Versioned

As the system evolves, so will your documentation, without losing its history

doc-010

Tooling support

Focus on content, reduce time needed for tool-setup

doc-011

Continuously updated

Make it a habit to maintain and expand the documentation with every relevant change in your system.

doc-012

Relevant

Documentation should be written in a public domain format. Multiple public tools should support writing in the selected format.

doc-013

Relevant

Documentation should be searchable to easily access topics.

The current approach is arc42 structure, C4 Model and UML diagrams to document the design. The content is written in Asciidoc format. The documentation is published as a static website using Hugo and Docsy.

The Java source code is documented with Javadoc. Source code in other programming languages is documented with Doxygen.

Categories of Quality Requirements

Stakeholders

Role Relevance Expectations

Open Source Developer

Important

wants to extend the application with functions required for a specific market or user segment.

Company Prospect

Important

looking for a portfolio to show competencies in areas, he is interested to work with us.

Closed Source Developer

Relevant

wants to extend the application with functions she could sell to her customers.

Blog Reader

Relevant

interested to explore a concept discussed in a blog article and exemplary realized in the application.

Application user

Relevant

wants to understand decisions and their impact on the product value or costs.

Bachelor Student

Interesting

wants to use components for semester projects and understand a specific aspect of the design.

The ERP is developed using an open source approach. Development capabilities are dependent on the goodwill and availability of active committers.