Software Architecture Definitions
Program-Transformation.Org: The Program Transformation Wiki
Definitions of Software Architecture.
There are many definitions of what
SoftwareArchitecture is: an overview of these is given at
http://www.sei.cmu.edu/architecture/definitions.html,
to which you can even add your own favorite definition.
The
IEEE defines software architecture as
Conceptually that definition of sw arch is ok, but practically it doesn't provide any concrete guidelines for the process of
describing a swarchitecture. I usually prefer to use the definition that we elaboratedduring an European project (ARES)
and it's reported in the book "Software Architecture for Product Families"
http://www.amazon.com/exec/obidos/ASIN/0201699672/ref=ase_re/002-9221677-3311232
The definition emphasizes the purpose of a sw arch that is to satisfy
functional and quality requirements of a system:
- Software architecture is a set of concepts and design decisions about structure and texture of software that must be made prior to concurrent engineering to enable effective satisfaction of architecturally significant, explicit functional and quality requirements, and implicit requirements of the problem and the solution domains.
--
ClaudioRiva?
I should probably read the book, but
- what is the texture of software?
- Doesn't "architecturally significant" introduce a cycle?
--ArieVanDeursen
Software Architecture in Practice by Bass, Clements and Kazman
(Addison Wesley, 1998), pp 23-24, defines architecture as follows:
- The software architecture of a program or computing system is the structure or structures of the system, which comprise software components, the externally visible properties of those components, and the relationships among them.
What I like about this defintition is that it includes the notion of architectural structure, and that one system can consists of multiple structures. In other words, no one structure can claim to be the architecture --
ArieVanDeursen.
In their book on the
UnifiedProcess?, Jacobson and friends also emphasize that architecture
is a set of design decisions.
In addition to structure, architecture in their view is also
concerned with usage, functionality, performance, resilience, reuse, comprehensibility, economomc and technological constrains and trade-offs, and aesthetics (The Unified Software Development Process, p. 61 / 443) --
ArieVanDeursen
CategoryArchitecture | Contibutions by
ArieVanDeursen,
RainerKoschke,
ClaudioRiva?