Entradas

Is Design Dead?

Imagen
In this post, I will discuss the article: "Is Design Dead?", written by Martin Fowler. In the last entries, we have discussed how important is the design and adoption of techniques and patterns for software development. It seems that what will be discussed in this post will be a bit different. There are two design styles, the most common (and disastrous) is E volutionary Design , is the design of the system grows as the system is implemented (code and fix), this style makes it difficult to change the system.  On the other hand, we have the Planned Design , here the designers don't need to write code because they aren't building the software, they are designing it, in this way, they avoid entropy by making decisions and carrying out the development of the software. Although the second style is much better, it still has faults, not designing and coding at the same time, it can introduce complex problems in the programming stage. The other fault, which I fou...

Who Needs an Architect?

Imagen
I n this post, I will discuss the article: "Who needs an architect? " , written by Martin Fowler. In the last entry we defined the software architecture as a high-level design, the IEEE definition also defines architecture as “the highest level concept of a system in its environment. The architecture of a software system is its organization or structure of significant components interacting through interfaces".  It seems that Martin Fowler and many other people do not agree with his definition, like Ralph Johnson, who tells us there's no highest level concept of a system. The best definition they propose is the following:“In most successful software projects, the expert developers working on that project have a shared understanding of the system design. This shared understanding is called ‘ architecture. ’ This understanding includes how the system is divided into components and how the components interact through interfaces.” Sounds better to me, because...

Software Architecture

Imagen
I n this post, I will discuss chapter 14: "Software Architecture: Laying the Foundations of Software Design" from the book "Code Craft: The Practice of Writing Excellent Code." , written by Pete Goodliffe. Although the software is not made of bricks, software architects, like building designers, have to take much into consideration before building something, in order to cover each and every one of the requested requirements (This is key!). Software architecture is a high-level design. "Is our first chance to map the problem domain to a solution domain. " To develop software, you need a detailed plan with all the important features included and its fundamental behavioral characte ristics. It should be a general description of the system, the details must be hidden for the moment.  I had not taken it so seriously that architecture is the single biggest influence on the design and future growth of a software system, i t is very necessary to do...

Moon Machines

Imagen
Take the man to the moon and bring him back safe and sound. It sounded like an impossible and crazy mission. Many people had to work hard to make this dream possible, encountering many problems and challenges on their way. Creating a system (navigation computer) to guide the rocket to the moon was not an easy task, the MIT was in charge of carrying out this important project. In this institution, there were brilliant minds, great research and important technological advances, which would be the basis or guide to create the navigation system for the rocket. Something that I found very interesting and of great importance and that also relates to some of the basic concepts that we reviewed in the first class of the subject was that, each material and component of the gyroscope and the digital computer for the control and handling of the navigation system, had to be carefully prepared and assembled to obtain a final product with the highest quality and precision, a small err...