Filed under: Software Architecture

Review on Foundations for the Study of Software Architecture, Dewayne E. Perry and Alexander L. Wolf

This paper gives the foundation of Software Architecture, in a very methodical manner. Well established architectural fields are analyzed to make an intuitive case for software architecture. While one would expect this to be an exploratory paper, based upon its title, it is has actually followed the problem-solution-validation model[1] for writing good software engineering research papers. This is followed by providing a context for the role of software architectures, and then by the problems they intend solving using a formal model for software architecture, which is proposed in the paper. This is model is validated based on the popularly accepted architecture of the compiler as an example.

This paper, showed software architecture as a bridge between system requirements and design, with the notion of Form in its {Elements-Form-Rationale} Model, which is over and above the common notion of the notion of just the Elements – a framework to effectively develop programs in a large system. This actually allowed for the requirements to be showcased in an organized manner via the architecture, thus, assisting in refining and consolidating the requirements themselves, even though the paper doesn’t state it.

The discussion of architectural styles, specifically about how the architecture of one product can be taken up as the architectural style of another product was fundamental. This allows, extension of existing products, on top of their architecture or framework towards a better or newer products with a different functionality, thus invoking the idea of extensibility. e.g., The development of new tools and apps using the framework of APIs provided by various social networking platforms.

While discussing the benefits of software architectures, the managerial basis for cost estimation and process management has not been discussed substantially. A remote reference can be found in the compiler’s parallel architecture description, as to how application oriented properties were an indicator the system’s complexity and thus be co-related with cost. No other substantial points were discussed.
________________________________

[1] Mary Shaw, Writing Good Software Engineering Research Papers Minitutorial