An Introduction to Software Architecture

Posted on Wednesday, March 6th, 2013 at 3:42 pm by shauli

Ever-changing advances in technology are completely changing the field of software architecture.  A fairly new concept, “software architecture” was not a major topic of study until around 1990.  Over the last twenty years or so, the term “software architecture” has become more popular, so much so that this concept of being an architect has shown up on plenty of business cards throughout the field. Whether you are a solutions architect, an application architect, or even an enterprise architect, they all signify the important turn software development has taken over the years.  Software architecture has become so important technically, that it offers a competitive organizational advantage to software engineers.

It’s one of those terms that gets thrown around and most people don’t even really know what it means.  An architect of what?  Well, first of all, the concept of software architecture describes a structure or set of structures that work together to function.  The architecture is present at all stages of development, although many of the big decisions in the design of the architecture are made early.  Software Architecture is abstract and conceptually, it looks at how each element in the system relate to one another and these systems have the potential of growing vastly large and complex.  This is why, to the human brain that cannot retain that much information, software architecture is to be viewed as an abstraction, to be understood in a general sense.

By viewing software architecture in an abstract and conceptual way, one can do a great deal of planning and design before even considering code and committing to something that might be a very expensive and timely commitment.  Over the past two decades, software architecture has taken the focus from being technical and completely internal to addressing issues of design, evaluation, and the impact of external environments.  Know that software architecture is always changing and continuing to grow at a fast rate, so it is important to keep up with the changes and apply new models and concepts when applicable.

Leave a Reply