When I first heard about software architecture, I was intrigued. What was this mysterious and elusive concept that seemed to be so important for software development? How did it relate to software design, which I was a bit more familiar with? Was it ...