Ir al contenido principal

Software Architecture

For developing a very efficient system, it has to me modulated, in a way each module has its own functions and communicates with other modules through the whole system. In order to maintain the efficiency of this system is by analyzing every module at its own way. Seeing each and every module as a black box, that receives information from other modules to perform a very complex task, the way of looking to all modules as a black box is in point of view from seeing the whole complete system. But like a microscope, by observing each module will give the information of that special feature each modules performs. By mentioning modules it also comes the term component, in a well designed system, it has to have a balance between modules and component, trying to assure low coupling and high cohesion. Depending on the systems problem complexity, it as a certain type of architecture, such as, layered architecture, pipe and filter architecture, client server architecture, component based architecture, and frameworks.



Every model that applies to software architecture is based or inspired on human history, for instance the Roman Empire.



Is like seeing the whole system as a EuroRack synthesizer, each module controls certain functions and performs oscillations and filters, the way they communicate between modules is the Control Voltage, with certain Voltages it can control the oscillation and each filter in order to perform such beautiful algorithmic melodies.








Architecture is important because we say is important, it is important to have a structure in the creation of technology, is the structure is well defined, it is easy to manage and control, defects and failures will be less, and we could manage to add more complexity on everything we are working. Therefor architecture is important, it is the column of out entire creation.

http://34.212.143.74/apps/s201911/tc3049/activity_software_architecture/

Comentarios

Entradas más populares de este blog

Software Craftsmanship

Software Craftsmanship can be seen as a methodology in order to create good software, which has strong key elements that established the measures and techniques to create professional software development. It is the strong and complete philosophy to practice and helping others learn this craft, and as the Software Craftsmanship Manifesto ( http://manifesto.softwarecraftsmanship.org/ ) established some “rules” that completes this task. Such as the work on software that has to be performed to a well-crafted software, the response to change and the steadily adding value, the relationship between individuals and interactions and through the community of professionals developing software and finally customer collaboration with also productive partnership. Software Craftsmanship has a strong structure that can help the software industry in order to produce software quality, this philosophy can be applied in other topics. During the podcast with Bob Martin, or well known as “Uncle Bo...

WarGames

How far technology can go? It is an often question everyone ask, including such philosophical questions about we humans and our creations, just like our Frankenstein Monster, our creation could bring chaos to ourselves. We have the power to create and the limit of our creation could be bypass by that same creation. This movie called War Games, bring this topic and it is an actual matter, and now even more because now a days technology had reached tremendous power and capacity that is very impressive, some tasks that we humans cannot do, or maybe as fast, are done by our own creation. Just like the arguments of the Android David in the movies Prometheus and Alien Covenant, David reached a conscious level that defined him to be as he was and committing every action during the movie. It is that self evolution that keeps growing and it hasn’t the same limits as human interpretation has. Another example is this classic movie 2001 A Space Odyssey, from S. Kubrik, HAL 9 000, who has e...

Understanding the SOLID Principles

T here exist some principles that make a procedure easier to perform, with this resource, it is viable to create clean products. In programming, exist something called SOLID principles that ensure quality and good performance while developing code, this acronym SOLID are the 5 widely accepted principles: S - S ingle Responsibility Principle A class should have exactly one responsibility. O - O pen/Closed Principle A class or a function should be open for extension but closed for modification. L - L isvok Substitution Principle Keep the relationship between classes and functions. I – I nterface Segregation Principle Avoiding interfaces that overloads classes with responsibilities that this classes don’t actually need. D – D ependency Inversion Principle “ Depend upon abstractions not upon concretions.” By understanding each one of this SOLID Principles, we could manage to create good code, and by good code I mean cleaner code that is maint...