Defining "Software Architecture"

Photo by Kevin Mazur
keithrichards.com

What is software architecture?

In The Changing Field of Software Architecture authors Rick Kazman, Len Bass, Paul Clements offer this answer, a quote from their book Software Architecture in Practice:

The software architecture of a system is the set of structures needed to reason about the system, which comprise software elements, relations among them, and properties of both.

They explain:

This definition stands in contrast to many other definitions that talk about the system's "early" or "major" design decisions. Many architectural decisions are made early, but not all are. Many decisions are made early that are not architectural. And it's hard to look at a decision and tell whether or not it's "major." So we prefer to focus attention on structures, relationship, and properties.

Discussion around that question is as resilient as Keith Richards — and that's a good thing: if people are talking about software architecture, they're thinking about software architecture.

So how do you define software architecture?

Comments:

Software Architecture is essentially the art and science of designing and building software applications that meet the needs of its intended users over a period of time and patterns of usage. Given that: ""Software architecture is the building blocks or components of software, their definition, and how those components are connected together, and their interactions"".

Just a thought while using archiCAD of graphisoft.com.au.

Posted by John Jackman on July 21, 2014 at 01:29 AM EDT #

Post a Comment:
  • HTML Syntax: NOT allowed
About

Google+

Search

Archives
« July 2015
SunMonTueWedThuFriSat
   
2
4
5
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
       
Today