Software Architecture
Software Architecture
This week I
read the chapter 14 of the book "Code Craft: The Practice of Writing
Excellent Code" titled " SOFTWARE ARCHITECTURE Laying the Foundations
of Software Design"
the first
thing we should do is define what is software architecture, as we use the word
architecture sounds logical that a building comes to our mind, but talking
about software we can take the idea of a structure, so the author told us we
can join the concepts to create in our brain the idea of high level design but
of course the reason of the “similarity” in the concepts comes because the
software architecture is used to create a propitious place to make code, at the
end this can be used as a guide for the development.
Some benefits
of the software architecture are that this helps to validate requirements and
conditions of a project so it can be used in a more free way for the different
areas like design and development and can help to “talk the same language”,
what this means is that they have a common vision of the project, the way it is
going to be constructed and how the construction will work.
One of the
thing that I keep in mind from the chapter was the idea of simplicity, we
should not try to make ridiculous complex solutions that will make the problem
to solve even more complex, or bare solutions which will not be enough to solve
what we want, we need to make a proportional solution to the problem, that is what
I understand for simplicity.
The author mentions
four kinds of views that will help building the architecture:
- The conceptual view: It shows the principal parts of the system and the connections between them
- The implementation view: this one shows the implementation modules
- The process view: It shows the dynamic structure
- The deployment view: which shows the allocation of task
Comentarios
Publicar un comentario