Software Architecture
We can
define the software architecture as the top-level design of software systems.
It hides the details of how the software needs to be developed, but it has the
overall system characteristics. Basically, in this architectural view, we just
see the internal software structure such as:
· The key software modules
· The communications and interactions
between components
· The roles and responsibilities of
subsystems
In other
words, the software architecture helps us to understand the system as a whole,
then the later development must fit the designed architecture.
The
software architecture is also a guide of how the system could be extended in
the future. Moreover, it could help us to define the scope of the system.
Personally,
in my short experience, software architecture is very important in every
software project. It provides you a clear idea of what you are going to do.
Also, it is a guideline to have a better understand of the problem. As the
reading says, it is easier to divide the work in teams, because you already
define the different modules and also the interactions between them. In my
experience, I have been working following software architectural designs using
AWS such as Lambda, SNS, SQS and API Gateway. On each project, before we
started to code, we have design meetings to discuss the problem that we have to
solve. Then, we discuss the needed components to solve the problem. Once we have
the requirements and the components needed, we use to draw a diagram of how the
components, and which technologies, are going to communicate each other.
Finally, we divide the work among the developers, and each of us must to follow
the architecture. It makes the assigned work clearer and team work more efficient.
I think that software is the key of success of every software project.
Comentarios
Publicar un comentario