Jump to content

Talk:Software architecture

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by SineBot (talk | contribs) at 15:44, 20 February 2011 (Signing comment by Aludstartups - ""). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Standards Organizations

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

"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?

Software Architecture - An Emerging Discipline by Garlan and Shaw Sujayg (talk) 04:29, 1 July 2008 (UTC)[reply]

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)

Reference to creativity?

Reference to creativity is noticeably missing

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)

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?

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)[reply]

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)[reply]

"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)[reply]

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

I feel that the need for software architecture is a key issue to be addressed ; like "Why is Software Architecture needed". Some people still think that once you understand what the requirement document says, you have understood it all. Maybe at some point of time I shall writing on this. Sujayg (talk) 04:36, 1 July 2008 (UTC)[reply]

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)[reply]


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)[reply]

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)[reply]
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)[reply]
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)[reply]
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)[reply]
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)[reply]
The well-known definition of software architecture that appears in "Software Architecture in Practice" (Bass et al) is very often cited in the literature and presentations. However, this definition was revised (improved) by their authors and colleagues at the Software Engineering Institute. The revised definition appears in the 2nd edition of "Documenting Software Architectures: Views and Beyond". I updated the page with this new definition. Pmerson (talk) 18:26, 25 October 2010 (UTC)[reply]

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)[reply]

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)[reply]

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)[reply]

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

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 16 Sep 2009. 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)[reply]

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)[reply]
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).[reply]

Architectural Styles

I guess a section on Software Architectural Styles need to be added to this article. Is it OK with everyone if I add it? —The preceding unsigned comment was added by Kamyar1 (talkcontribs) 18:37, 12 May 2007 (UTC).[reply]

"-ilities" pedantry

As great a word as "-ilities" is, "security" is unfortunately not an "-ility".

Proposed change: make it "securitility" instead?

Distinction between pattern and style

Without any explanation the terms pattern and style are used together as section headline in this article. But where are the differences? I know there are some but not sure where. I would be very happy if anybody could clarify this issue.

Architecture Frameworks

I wonder why the mentioned architecture frameworks have been put in this Software Architecture Page. Ideally other than the 4+1, rest of them are all related to the Enterprise Architecture domain. If anyone could clarify on this, it would be great. Else I would like to remove all the frameworks mentioned except 4 +1, RM-ODP and SMOF. Sai Geetha (talk) 05:47, 21 July 2009 (UTC)[reply]

Good point. However I think it is maybe even better to explain. Something like: Frameworks relate to the domain of software architecture are 4 +1, RM-ODP and SMOF... Other architectures such .... as relate to the field of Enterprise_architecture. I will give it a try in the article. -- Marcel Douwe Dekker (talk) 11:31, 21 July 2009 (UTC)[reply]

Removal of text from Views section

In the process of delinking a deleted page, I noticed what seemed to me off-topic WP:OR in section {{Section link}}: required section parameter(s) missing, and removed it. I also took in account the following statement from Talk:Notational bias:

The programming part is nonsense. If you use a hammer instead of a chair trying to put a nail in the wall you don't have a "pro-hammer bias", you just use the best available tool. If a language would not support lists of integers, but you happen to need one and hash tables (strange enough) are available, using them would not be a bias but probably a rational choice. If you'd use hash tables and there are faster, simpler, etc. options it still wouldn't be a bias but just a lack of knowledge in which case the rational thing to do would still be to use hash tables. The music example sounds better, but still doesn't really convince me of the actual existence of this bias. The questionnaire example isn't a bias, if people must choose between A and B and the best option would be C, they do know that C is not there. It's just a bad questionnaire instead of people changing their minds to think A or B. Joepnl (talk) 03:38, 15 December 2009 (UTC)

("The programming part" referred to following text:

Computer programming languages provide another example. Each programming language provides a notation which can introduce a bias in how problem solving is approached. For example, if a programming language makes it easy to notate a hash table then hash tables are more likely to feature in the programmer's articulation of the algorithm used to solve a problem.

) — Sebastian 17:19, 31 December 2009 (UTC)[reply]

about the dysfunctional meaning of functional requirements

Sadly I don't have the level of English to fix this but at least I want to make a point: Some people en the MIT and along with they several communities in the world thinks that non functional requirements is a "dysfunctional definition" due the fact that all quality attributes requirements even performance are functional the other ones... and there are too constraints or restrictions and not functional requirements are the union of both quality attributes requirements and constraint. And you can elicit and work with quality attributes requirements but constraint are just that constraint you can "balance" it.

moreover quality attributes requirements need it own section I'll left the references: http://www.sei.cmu.edu/library/abstracts/reports/95tr021.cfm and of course kasman, clemments and garlan books on software architecture. — Preceding unsigned comment added by Aludstartups (talkcontribs) 15:43, 20 February 2011 (UTC)[reply]