Skip to main content

Software Architecture


On today’s blog we are going to review a chapter from Pete Goodlife’s Code Craft, which is all about the basic theory of software architecture, where among the topics there is like the definition, reasons of why we should use it and lots of characteristics, of course it includes examples.

One part of the text talks about the high level view, which is when the details of how was it created or implemented doesn’t appear, the only thing we can see is the essential internal structure of it and the most fundamental and important characteristics of its behaviour, which can come in-handy for many thing like identifying the key modules of all the software, identify and determine the nature of all the most relevant interfaces in the software, identify how and which components communicate with each other and to clarify the correct roles and responsibilities of the subsystems

The chapter also talks about other 4 views for the software architecture, one of them is the conceptual view, that can be also called logical view, where this one only shows the major parts of the system and its interconnections.

Other view is the implementation view, which is seen in terms of actual implementation modules which sometimes may differ from the conceptual model.

The process view is designed to show the structure in tasks, communication or process terms in a more dynamic form, this one is used more often when there is a high level of concurrency in the system.

And last but no least, the deployment view, which is basically used for showing the allocation of the tasks to physical nodes in a more distributed system

To end this entry, I would to put a phrase from this chapter which, from my own opinion, is very accurate and makes lots of sense, "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". So now you know it, the basics of software architecture so your ca improve your coding.

Comments

Popular posts from this blog

Hidden Figures

On today’s blog I’m going to talk about a movie called Hidden Figures, directed by Theodore Melfi and released in 2016. I watch this movie during my class of software design and architecture and I have to admit it, I liked it, but not that quite much, is the kind of movie that you could see in a Sunday morning on tv, at least for me. The movie talks about three women and how they helped the NASA during the space race to make during the cold war (I think it was during the cold war) against the Russians. In the movie there are introduced three women, Katherine Goble, Mary Jackson and Dorothy Vaughn, who are trying to contribute and make their own way through their jobs in NASA. More importantly the movie shows how they struggle because of the discrimination at the time, so they couldn’t receive the treat they deserved, all of this happened during the NASA project of the first man to the moon. For many of us, we can´t imagine that kind of discrimination, but in the movie,   it

Microservices

On today’s blog entry we are going to talk about the Microservices architecture. This architecture has an approach where when we are developing a single app, we develop it as lots of small services, each of them running on its own process and communicating with each other with something that can bind them together. Now I have already used microservices without knowing I was actually using them, perhaps this architecture is quite intuitive for best practices or something like that, but anyway the author of the article gives some characteristics about this which are the following: ·          Componentization via Services: The components of the microservice need to be gather into libraries that will be used later on by the microservice to communicate with remote parts of the whole program. ·          Organized around Business Capabilities: This characteristic refers that we need to create divisions, each of the divisions need to be focused on the business capability which includ

War Games

On today’s blog I’m going to talk about a movie released in 1983, War Games, which has been directed by John Badham. The movie shows the story of David Lightman, a kid who is kin of a genius in topics of computer science, the plots consists of how this kid started to hack to the system of the US military by accident because he thought he was hacking a videogame company instead, when he hacks the system he discovers a simulation created by the military called Thermonuclear War, now, Lightman thinks is a game so he stars to play it, the “game” consist on two sides or teams, the USSR or the United States, and after choosing sides, the teams decides where to launch a nuclear bomb, all of this is situated during the Cold war so the simulation has   that theme; the problem starts when the simulation actually prepares to launch real bombs and Lightman gets caught by the government because of the hacking, then when they explain the situation to him he finds the creator of the simulatio