Let's talk about software architecture


The chapter 14 of Pete Goodliffe's Code Craft, entitled Software Architecture, is an introductory text to the theory and reasons of software architecture. This chapter covers several topics of interest, such as: what is the software architecture, why should we use it, as well as some examples of different architectures and their characteristics. Also, the text mentions that a software architecture is a high level view, all implementation details are hidden; we just see the essential internal structure of the software and its fundamental behavioral characteristics. It also serves to: - Identifiy the key software modules - Identify which components communicate with each other - Helps to identify and determine the nature of all the important interfaces in the system, clarifying the correct roles and responsibilities of the various subsystems On the other hand, the text mentions a phrase that, from my point of view, is the most important in that chapter: "As an up-front activity, the architecture is our first chance to map the problem domain (the Real World problem we are solving) to a solution domain". Also, the text exposes 4 views of an architecture: The conceptual view Sometimes called the logical view, this shows the major parts of the system and their interconnections The implementation view This view is seen in terms of the real implementation modules, which may have to differ from the neat conceptual model. The process view Designed to show the dynamic structure in terms of tasks, processes, and communication, this view is best used when there’s a high degree of concurrency involved. The deployment view This view is used for showing the allocation of tasks to physical nodes, in a distributed system.

Comentarios

Entradas populares de este blog

4 + 1 = 5?

WarGames

SOLID Principles