Software Architecture: Laying the Foundations of Software Design

In this entry we will discuss chapter 14 of the book Code Craft: The Practice of Writing Excellent Code from Pete Goodliffe. At first sight there is a comparison between building and software architecture, in both case they ensure their quality with the requirement, constructions methods, maintainability and other specifications. Furthermore, software design can bee easily seen, if you identify the components necessary to function, and that would help you to build your own project.
In this chapter it is mentioned there are different software views that are the key to make it function according to the requirements. These are conceptual view, implementation view, process view and deployment view. However, in software architecture we need some actions in order to ensure the conditions of the system, like validate if it is feasible to build, communicate the design to all interested parties and discriminate.
Good system architecture is simple. For a small program, the architecture may fit on the back of an envelope, with just a few modules and some simple interconnections. A large system naturally requires more effort and more envelopes. On the other hand, architecture identifies the key components of the system and how they interact. It doesn’t define how they work.
In software architecture there are different architectural styles, it may be chosen for various reasons. Having said that this would help you to perform appropriate system design. The most common are no architecture, layered architecture, pipe and filter architecture, server/client architecture, component based architecture and frameworks.
In conclusion we can see that ARCHITECTURE is the initial system design, like the kernel of a computer. As I said in many times before if the basis of your work is not well done, the development of it will be bad and the result would not be what you want or need.

Comentarios

Entradas populares