Talk:Software architecture

From Wikipedia, the free encyclopedia

Contents

[edit] Standards Organizations

There are many standards orgs, including the IEEE, ISO, and others.

[edit] "Software Architecture" book reference

In references "Software Architecture by Rick Kazman" is mentioned. The closest match I could find on the net is this one:

Software Architecture in Practice, Second Edition by Len Bass (Author), Paul Clements (Author), Rick Kazman (Author) (ISBN 0321154959)

Kazman is the third author. Is this the book mentioned in references?

[edit] Large-Scale Software Architecture

I've removed the following information since I fail to see why this particular book is important, there are tons of software architecture books, so why this one?

--S.K. 22:53, 20 Dec 2004 (UTC)

[edit] Reference to creativity?

Reference to creativity is noticeably missing

[edit] Structured Link

I've linked the "Structured" list item to "Structured System Analysis and Design". Somebody please check up on me, because I'm no expert on this topic.

--DugDownDeep 16:33, 19 Apr 2005 (UTC)

[edit] Examples

The Examples don't distinguish between inter-application architectures (or systems using different processes, even computers, with inter-process communication), like peer-to-peer and client-server, and intra-application architectures. Seems like a significant architectural distinction worth highlighting, to me. In fact, why not consider the difference between inter-app and intra-app architectures in the article?

[edit] Relationship to other articles

What about something on the relationship between software architecture and software design? And software engineering? Is there a page on software development? Hmm, there is, but it redirects to software engineering. I don't like that. I think the whole computer software set of articles needs somewhat better organization. Brent 00:31:36, 2005-08-19 (UTC)

I agree there should be something, but it's not entirely clear what yet. Under software development were you looking for something like software development process? --David.alex.lamb 22:09, 23 February 2006 (UTC)

[edit] Software ontology

I've never heard of anyone claiming that software ontology is a superset of sofwtare architecture. System architecture and systems architecting yes, but not software ontology. Can anyone provide a reference to back up this claim? If not, I will delete it in a few days. --Allan McInnes (talk) 17:14, 11 April 2006 (UTC)

[edit] "To Be Engineered"

Any particular reason why "To Be Engineered" is in title case instead of lower case? I cannot find any references using the specific term in title case. Please let me know, just in case. Bwefler 18:59, 5 July 2006 (UTC)

Problem has since been fixed -- thanks. Bwefler 22:44, 13 July 2006 (UTC)

[edit] Architectural Reviews

I would like to see info on software architectural reviews, such as the Architecture Tradeoff Analysis Method (ATAM) (see the Wiki article link), and others such as the Cost-Benefit Analysis Method (CBAM), as covered in referenced book "Software Architecture in Practice" (Bass, Clements, Kazman). (Such reviews seemed like the majority of an SWA course I took...)

Thanks. --Bwefler 13:57, 20 July 2006 (UTC)

  • FYI such reviews are ways to verify the architecture. --Bwefler 01:08, 3 August 2006 (UTC)


[edit] Definition

The current definition seems unclear to me. The part about "a representation of a software system, as well as the process and discipline for effectively implementing the design(s) for such a system" implies that an architecture also encompasses such things as SDLC, which is not the understanding of architecture I find in my source materials. --Stephen e nelson 00:51, 21 September 2006 (UTC)

Part of the problem may be that the current definition is perhaps conflating what a software architect produces (a "software architecture") with what a software architect does (which might also be called "software architecting"). The other problem is of course that the current definition is totally unreferenced... --Allan McInnes (talk) 01:13, 21 September 2006 (UTC)
I agree. A paraphrase of Software Architecture In Practice p. 23 might do the job. How about: "A software architecture defines the software components of the system, their externally visible properties, and their relationships with one another." Still kind of a muddle, but at least a citeable one. --Stephen e nelson 01:24, 21 September 2006 (UTC)
This SEI page has a pretty good collection of definitions from different sources. We can't really interpolate all of those definitions (that'd be original research). But the Software Architecture In Practice definition seems to me to be a pretty good distillation of the common elements in the different definitions. It's also the first definition given on the page, where it is identified as one of two "modern definitions" of software architecture. The other "modern" definition, from ANSI/IEEE Std 1471-2000, is roughly the same, but adds ...the principles governing [the system's] design and evolution... --Allan McInnes (talk) 05:05, 21 September 2006 (UTC)
Went bold and changed to a rewritten intro paragraph referring to Bass. I think it's a less confusing introduction. Adding the reference to the specific page duplicates the reference to SAiP; I've left them both in since I agree that SAiP is a very good overall intro, but perhaps it should be moved to a "further reading" section? --Stephen e nelson 18:37, 21 September 2006 (UTC)
I'm a bit hesitant to edit this page given that I am sure people will disagree whatever it says. The already cited SEI page lists numerous definitions with varying degrees of authority. In my opinion the most authoritive one, and the one most often cited is that by the ANSI/IEEE Std 1471-2000 document. It not necessarily captures all relevant aspects (hence the other definitions) but it sort of represents a broad consensus (or at least the attempt to create such a thing) at least. A wikipedia specific definition without proper citation is the last thing the world needs. I'm in favour of citing both the IEEE definition and mentioning that this remains a hotly debated topic, along with a reference to the SEI page with definitions. Anything else would be biased in favor of someone's opinion. Unless wikipedia has a strong reason to deviate from the IEEE standard definition, it shouldn't. For better or for worse, the IEEE definition is the only widely endorsed definition available. True, software architecture in practice definition is also widely cited. I would argue that it is mostly the same as the IEEE definition and arguably they are closely related in their origin. The principles bit in the IEEE definition is quite relevant and does not contradict the other definition. It's also worth noting in the article that this definition remains a hotly debated topic at relevant conferences such as e.g. WICSA (working ifip conference on software architecture), much to the dismay of veteran attendees. Jillesvangurp 18:51, 26 January 2007 (UTC)

[edit] Views caveats

The paragraph starting "Several languages..." makes a number of assertions that are not cited. I don't think that they belong in this article. Anyone have a problem with me removing them? --Stephen e nelson 01:15, 21 September 2006 (UTC)

[edit] Background

The Background section covers the definition of "system", the definition of "software architect", a good definition of a software architecture, the definition of a "robust software architecture", traceability between the architecture and other views of the system (requirements, system tests, etc.). All very good stuff, but I had to reread it three times before I understood the general thrust of the section. I think it needs a reorg and rewrite. Thoughts? --Stephen e nelson 18:55, 21 September 2006 (UTC)

Digging in further: the entire first paragraph is a definition of "system". Since the article is specifically about software architecture, I don't see how it advances the cause. I'm going to delete it in 5 days unless someone has a defense of it or a suggestion on how to rewrite it. --Stephen e nelson 23:58, 22 September 2006 (UTC)

Deleted for me. :) --Stephen e nelson 02:32, 24 September 2006 (UTC)

The first paragraph has a specific reference for the definition, and a reliable, respectable, and publically available secondary citation for it as well. See http://www.sei.cmu.edu/architecture/ accessed 25 Sep 2006. In my mind that is sufficient defence to support keeping it largely intact, although it doesn't preclude an overall article rewrite for better organization and clarity. ThreePD 01:05, 26 September 2006 (UTC)

Yes, I think that the current first paragraph is good. I was referring to a previous one. :) --Stephen e nelson 17:17, 28 September 2006 (UTC)
The history is a bit incomplete. In my opinion, the 1992 article by Perry and Wolf kicked off the renewed interest in software architecture and largely defined the field. Dewayne E. Perry, Alexander L. Wolf, "Foundations for the study of software architecture", ACM SIGSOFT Software Engineering Notes, Volume 17, Issue 4, Pages: 40 - 52, 1992. Before then, software architecture was not a big topic in research or practice. Jillesvangurp 19:02, 26 January 2007 (UTC).