Firebrand Architect®

Human Aspects of Software Architecture - views from the trenches.

Wednesday, April 23, 2008

Microsoft’s Architecture Journal 15

The latest issue of the Microsoft’s Architecture Journal is bound to rekindle the topic of maturity and purpose of the software / enterprise / technical / infrastructure / data architecture discipline. The issue is fresh off the press. Microsoft is correctly anticipating the onslaught of responses by setting up a special discussion forum. As of writing of this post the forum is not yet active, but once it becomes active the phrase tra-ta-ta-ta-ta will take on a whole new meaning.

Constantin K.
Firebrand Architect™
www.SoftwareArchitectures.com

Labels: , , ,

Saturday, April 19, 2008

Boundaries between "Architecture", "Design", and "Implementation" formally defined

Insightful paper by Rick Kazman & Amnon Eden, presented at ICSE 2003, that defines the boundaries between "Architecture", "Design", and "Implementation" by formalizing the ‘Intension and the Locality criteria, which imply that the distinction between architecture, design, and implementation is qualitative and not merely quantitative.’

Basic understanding of formal notation (esp. Zed) is necessary for enriched reading experience.

Download the paper from SoftwareArchitectures.com or SEI.

Constantin K.
Firebrand Architect™
www.SoftwareArchitectures.com

Labels: , ,

Thursday, September 20, 2007

Architecture is in expressly delightful

"Architecture is expressly delightful, and of the greatest convenience to mankind in all respects, both public and private; and in dignity not inferior to the most excellent. …. Him I shall call an architect who, by a sure and wonderful art and method, is able, both with thought and invention, to devise and, with execution, to complete all those works which, by means of the movement of greatest weights and the conjunction and amassment of bodies, can, with the greatest beauty, be adapted to the uses of mankind: and to be able to do this, he must have a thorough insight into the noblest and most curious sciences." Leon Battista Alberti (1450)


Firebrand on duty: Constantin K.
www.SoftwareArchitectures.com

Labels:

Thursday, August 09, 2007

Revisiting the definition of software architecture

When was the last time you thought about the definition of a software architecture? It has been quite some time since I read the definitions posted on the SEI’s Community Software Architecture Definitions page. Some interesting definitions:

Eoin Woods (Software Architect, Investment Bank, London, UK): Software architecture is the set of design decisions which, if made incorrectly, may cause your project to be cancelled.

Adu Matthaeus (Systems Architect, Eikon, Centurion South Africa): A configurable skeleton of any kind of software beast on which you hang implementation specific muscle to make it live.

Jeff Winter (Software Engineer): … Architecture is necessarily a series of abstractions, depicting details relevant to one perspective while suppressing details relevant to other perspectives, and therefore expressed as a series of complimentary views. To say what those views are, you must embrace some ones method or make up your own.

Steve Wright (Consultant - Sr. Data Architect, Knowledge Management, Boston, MA): Architecture is the set of decisions that must be made at the enterprise level before specific applications are designed and built in order to provide conceptual integrity and sanity across the enterprise’s systems. Architecture includes a decomposition of the systems into separate orthogonal viewpoints along with the enforced rules that enable this clean decomposition and isolation of design viewpoints. This is done so functional (application requirements) and non-functional (system qualities) and other aspects of the application system may be defined and built by independent specialists in their specific field. An architecture not only divides the system, it also divides the roles and responsibilities of those who work with the system into separate organizational concerns and disciplines that are conceptually tractable and can be effectively managed.

Balakrishnan Thiruvadi (Technical Manager, HTC Global Services, Chennai, India): It is an art of defining, implementing, maintaining system and software environments that will assist and grow with business requirements.

Tim Simmons (Student, Southern Adventist University, Nashville TN USA): The architecture of a software system is its very essence. It is not merely a schematic showing interconnected components, but a description of those components and the way in which they interact. It is the foundation upon which the entire system is built.

Firebrand on duty: Constantin K.
www.SoftwareArchitectures.com

Labels: , ,