As I have mentioned previously, I am in the process of writing a technology presentation for the physics department faculty and graduate students at my alma matter. I have been continually running into road blocks when trying to find the best way to describe common concepts in software engineering to people that do not work with software all day.
The topic for today is: software architecture. I did the ususal “define: software architecture” on Google for a baseline and then I queried a number of colleagues for their thoughts. I ended up with many variations on the theme: an arrangement of components to meet a particular objective. The problem with this is that for someone who does not work with software, components is completely undefined. Throwing in the word “software” into the definition does little to elucidate the matter.
I stumbled on this link and from that I was directed to a link at the SEI. (If you’ve read some of my other postings you know that I’m enamored with the CMM and by proxy the SEI). The SEI link provides a trove of information including a section that has user specified definitions. I haven’t settled on my own concise definition as of yet, but the SEI has certainly given me more to go on.