Getting started with Software Architecture (Goodliffe 14)
I remember my first classes of software engineering with professor Humberto Cardenas, in which he described that software was produced early as an artisan craftsmanship, where engineers would just write the whole thing without premeditation and relying only on their own skill as a programmer.
I believe this also happened with the very first tents that any kind of hominid had built. With time they learnt that the quickest way to build a tent is such that you have separate and specific components for your tent that you could replace instead of abandoning the whole thing. Similarly to software blueprints became something necessary when you had specific requirements for your tent or building.
I believe this reading emphasizes how architecture helps make a smoother development .stage on by creating a unified and clear vision. I believe planning is key even when developing on your own however having a unified vision is key for larger projects where teams are assigned a specific module of software. They must know specifically what is the role of their component, what it must spit out when given a specific set of data. The lecture describes a set of views of the whole system, and personally I have never thought about all of them. Maybe as a programmer from my previous job experiences I have never been concerned about a single one of these.
Also I have never thought about the close relationship that the marketing team must have with the designers of the software. There are some clear examples about enhanced features that the user can pay for. Last semester I had a course about IBM's Z mainframe system, and one of the key concepts for marketing the transaction machine was having redundant physical and logical components, mostly for ensuring the continuous service, but it was also widely exploded for commercial concerns. You need some extra punch for an important sales night? No problem, the backup processors were designed to run whatever you need for the night. Of course that level of redundancy came at a price, and it was quite expensive! I hope later in the course we will learn some way of creating cost effective designs.
I believe this also happened with the very first tents that any kind of hominid had built. With time they learnt that the quickest way to build a tent is such that you have separate and specific components for your tent that you could replace instead of abandoning the whole thing. Similarly to software blueprints became something necessary when you had specific requirements for your tent or building.
I believe this reading emphasizes how architecture helps make a smoother development .stage on by creating a unified and clear vision. I believe planning is key even when developing on your own however having a unified vision is key for larger projects where teams are assigned a specific module of software. They must know specifically what is the role of their component, what it must spit out when given a specific set of data. The lecture describes a set of views of the whole system, and personally I have never thought about all of them. Maybe as a programmer from my previous job experiences I have never been concerned about a single one of these.
Also I have never thought about the close relationship that the marketing team must have with the designers of the software. There are some clear examples about enhanced features that the user can pay for. Last semester I had a course about IBM's Z mainframe system, and one of the key concepts for marketing the transaction machine was having redundant physical and logical components, mostly for ensuring the continuous service, but it was also widely exploded for commercial concerns. You need some extra punch for an important sales night? No problem, the backup processors were designed to run whatever you need for the night. Of course that level of redundancy came at a price, and it was quite expensive! I hope later in the course we will learn some way of creating cost effective designs.
Comentarios
Publicar un comentario