sábado, 26 de enero de 2019

LAYING THE FOUNDATIONS OF SOFTWARE DESIGN


LAYING THE FOUNDATIONS OF SOFTWARE DESIGN

I believe the comparison between the architects who design buildings is close enough to architects that design software. Because both works carefully and methodically during the process of design, both have requirements, construct methods, maintain their work, they care about aesthetics and so on.

This chapter made us reason about the system without the necessity of understanding how every single individual part work on the system and show us how system should be extended over time.
We should be aware that in many projects we must specify hardware components, in some systems the number of processors between them might be an architectural issue, architecture also describe specific algorithms or data structures.

I didn´t see software in different views such as conceptual view, implementation view, process view and deployment view before I read this chapter.

It is important to know that system architecture is used to validate what is going to be built, communicate the design to all interested parties and discriminate (which means to help us make decisions).

We must keep in mind that a good architecture is simplicity and needs to be comprehensible.
There are some types of architectures like spaghetti ball architecture, which is a messy, uncontrollable, unmanageable morass of interwoven gloop architecture or Lasagne, which is several distinct layers, arranged one on top of another. There is another type called cannelloni, which is good conduit for its contents, suits situations very well.

A client/server type can be the Gemelli, which is to complementary strands woven tightly together. In this type of architectures, the server provides well-defined services to clients. In the other hand, clients consume a server´s services. This is also known as a two tier architecture, and it is very common in development world

No hay comentarios.:

Publicar un comentario