There are some decisions to make. These decisions are basically our tools preparation. Let’s start from the frameworks
Frameworks
Architecture frameworks:
- arc42 - describes the structure, tools are up to implementors, can be used with other frameworks
- 4+1 - Generic and can be not enough for complex systems, can be used with other frameworks
- C4 model - lacking the structure, often used with arc42
- UML - SW oriented language. No documentation structure can be used with other frameworks. But as a visual framework it is very developed and widely used.
- RM-ODP - for Distributed Processing. It seems not very suitable for the project
- Systems Modeling Language (SysML) - extension of UML to support not only SW systems. Should be
- TOGAF - popular framework for enterprise architecture. To be honest, looks too complicated for me and my project.
- ArchiMate - a visual addition to TOGAF. These folks are super developed and have a very steep learning curve, so I will skip them for this time.
My choice is:
🎉 arc42 + SysML 🎉
Having them two, I will have a text guidance + visual guidance. Also, I already have a quite comprehensive experience with UML, so it should help the process.
Subjects of Development
Now let’s consider what we are going to create. In the book Clean Architecture, the author provides a picture like this to illustrate what is the clean architecture:
We should start from defining the core and delay the rest decision as long as possible. The outer layer should be dependent on the inner one.
Next Step
Next time, I will define some basic entities we will be working with and will describe the first chapters of the arc42 template, such as:
- Introduction and Goals
- Constraints
- Context and Scope
- Solution Strategy
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.