- Log in to post comments
Document the as-is and to-be architecture of an application to be modernized according to a 4+1 view framework.
This service allows the automatic generation of a software application’s architecture documentation from a model encoded in a UML or SysML modeling tool, based on Kruchten’s 4+1 view framework, including the use case, logical, process, implementation, and deployment views. It requires the project to be structured according to this logic and recommends the use of Enterprise Architect, though it can be adapted to other structures and tools.
It can produce two types of target documents:
Traditional “linear” documents, typically in Word or PDF format
Hypertext documents intended for online publication and consultation

What is the typical effort for this activity ?
Assuming the architecture is available in the target tool (here Enterprise Architect) and documentation field are filed, the documentation can be produced in a matter of minutes. It can even be automated inside a CI/CD pipeline.
Encoding an available 4+1 view should take less than a day for small system and a couple of days for bigger systems.
If 4+1 view is not available of missing, it needs to be recovered from available documentation or the source code (see reverse engineering activity).
Other target formats also requires some adaptation effort of the generator which needs to be assessed on a case by case basis.
What are the possible dependencies with other activities ?
The activity requires an architecture to be available, if it is not it needs to be recovered using the reverse engineering activity
It will produce an architecture document either in the initial context (if none was available) which is mandatory for the planning and execution phases.
During project execution it provides useful architecture milestone to drive the iterations.
At the end of the project the modernised view which will become the new as-is reference.
What is the expertise required to achieve this activity ?
No technical expertise is required as this is mainly a publication task which can even be automated as part of a CI/CD workflow.
Ability to edit the source format (here in Entreprise Architect) is required to fix issue noticed in the target documentation (the model need to be update as the document is meant to be generated again and again). Alternative format may also be purely textual e.g. using PlantUML
Is there a recommended methodology to support this activity ?
The recommended methodology is to use the 4+1 view architectural model.
See the related FAQ for more detail !
What is the recommended tooling for this activity ?
Many tools may fit the need as long as they are able to support the 4+1 views (i.e. support of UML diagrams) and support or connect with document generation. Two representative scenario could be:
- Enterprise Architect (proposed here) as low-cost commercial tool which supports many other activities and avoid the need to integrate many tools. Other similar tools but more costly tools include: Rhapsody, VisualParadigm, PTC Windchill
- PlantUML which is Open Source and provides textual syntax which it is easy to process for document generation (e.g. possibly relying on AI) and also supporting textual versioning
What is the 4+1 view architecture model ?
The 4+1 View Architecture is a model proposed by Philippe Kruchten to document and organize the software architecture of a complex system. It breaks down the architecture into five complementary perspectives, making it easier to communicate among different stakeholders (developers, architects, clients, etc.).
The five views are as follows:
Logical View 🧩
Describes the software structure in terms of components, classes, objects, and interactions.
Useful for developers and designers.
Diagrams: Class diagram, Object diagram (UML).Physical View 🖥️
Shows how the software is deployed on the hardware.
Represents servers, network nodes, and physical interactions.
Used by system administrators and DevOps teams.
Diagrams: Deployment diagram (UML).Process View 🔄
Describes the system’s dynamics and concurrency (processes, threads, interprocess communication).
Relevant for system architects and performance specialists.
Diagrams: Activity diagram, Sequence diagram (UML).Development View 🛠️
Represents the organization of the source code, modules, libraries, and their management.
Useful for developers and project managers.
Diagrams: Component diagram (UML).Use Case View (the “+1”) 🎭
Provides a guiding thread by describing functional requirements as use case scenarios.
Helps illustrate and validate the other views.
Diagrams: Use Case
Is it possible to produce other types of documentation, e.g. based on the C4 model
Yes, the service can be adapted to other structures that rely on UML/SysML standards in their notations — as is the case with C4.
However, this requires the following adaptations, which requires extra effort:
- Adjustment of the project template to match the target structure and methodological description.
- Adjustment of the generation scripts (the generic scripts available, based on packages, should require minimal modification in principle).Oui, le service peut-être adapté à d'autres structures qui s'appuie sur les standards UML/SysML dans leur notations, c'est le cas de C4