Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Software architecture
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==History== The comparison between software design and (civil) architecture was first drawn in the late 1960s,<ref>{{cite web |editor1=P. Naur |editor2=B. Randell |title=Software Engineering: Report of a conference sponsored by the NATO Science Committee, Garmisch, Germany, 7β11 Oct. 1968 |publisher=NATO, Scientific Affairs Division |location=Brussels |year=1969 |url=http://homepages.cs.ncl.ac.uk/brian.randell/NATO/nato1968.PDF |archive-url=https://web.archive.org/web/20030607182458/http://homepages.cs.ncl.ac.uk/brian.randell/NATO/nato1968.PDF |archive-date=2003-06-07 |url-status=live |access-date=2012-11-16}}</ref> but the term "software architecture" did not see widespread usage until the 1990s.<ref>{{Cite journal|author1=P. Kruchten |author2=H. Obbink |author3=J. Stafford |title=The past, present and future of software architecture|journal=IEEE Software |volume=23 |issue=2 |pages=22 |year=2006|doi=10.1109/MS.2006.59 |s2cid=2082927 }}</ref> The field of [[computer science]] had encountered problems associated with complexity since its formation.<ref>{{cite web|author=University of Waterloo|title= A Very Brief History of Computer Science |url=http://www.cs.uwaterloo.ca/~shallit/Courses/134/history.html |year=2006|access-date=2006-09-23}}</ref> Earlier problems of complexity were solved by developers by choosing the right [[data structure]]s, developing [[algorithm]]s, and by applying the concept of [[separation of concerns]]. Although the term "software architecture" is relatively new to the industry, the fundamental principles of the field have been applied sporadically by [[software engineering]] pioneers since the mid-1980s. Early attempts to capture and explain software architecture of a system were imprecise and disorganized, often characterized by a set of box-and-line [[diagram]]s.<ref>{{Cite journal|website=IEEE.org|title= Introduction to the Special Issue on Software Architecture |year=2006|doi= 10.1109/TSE.1995.10003 }}</ref> Software architecture as a concept has its origins in the research of [[Edsger Dijkstra]] in 1968 and [[David Parnas]] in the early 1970s. These scientists emphasized that the structure of a software system matters and getting the structure right is critical. During the 1990s there was a concerted effort to define and codify fundamental aspects of the discipline, with research work concentrating on architectural styles ([[patterns]]), [[architecture description language]]s, [[Software documentation#Architecture design documentation|architecture documentation]], and [[formal method]]s.<ref>{{cite web|author=Garlan & Shaw |title= An Introduction to Software Architecture |url= https://www.cs.cmu.edu/afs/cs/project/able/ftp/intro_softarch/intro_softarch.pdf |year=1994|access-date=2006-09-25}}</ref> Research institutions have played a prominent role in furthering software architecture as a discipline. [[Mary Shaw (computer scientist)|Mary Shaw]] and [[David Garlan]] of [[Carnegie Mellon]] wrote a book titled ''Software Architecture: Perspectives on an Emerging Discipline'' in 1996, which promoted software architecture concepts such as [[software component|components]], connectors, and styles. The [[University of California, Irvine]]'s Institute for Software Research's efforts in software architecture research is directed primarily in architectural styles, architecture description languages, and dynamic architectures. [[IEEE 1471]]-2000, "Recommended Practice for Architecture Description of Software-Intensive Systems", was the first formal standard in the area of software architecture. It was adopted in 2007 by ISO as [[IEEE 1471|ISO/IEC 42010:2007]]. In November 2011, IEEE 1471β2000 was superseded by [[ISO/IEC 42010|ISO/IEC/IEEE 42010:2011]], "Systems and software engineering β Architecture description" (jointly published by IEEE and ISO).<ref name="ISO42010">{{cite web|author=ISO/IEC/IEEE|title=ISO/IEC/IEEE 42010:2011 Systems and software engineering β Architecture description|url=http://www.iso.org/iso/catalogue_detail.htm?csnumber=50508|year=2011|access-date=2012-09-12}}</ref> While in [[IEEE 1471]], software architecture was about the architecture of "software-intensive systems", defined as "any system where software contributes essential influences to the design, construction, deployment, and evolution of the system as a whole", the 2011 edition goes a step further by including the [[ISO/IEC 15288]] and [[ISO/IEC 12207]] definitions of a system, which embrace not only hardware and software, but also "humans, processes, procedures, facilities, materials and naturally occurring entities". This reflects the relationship between software architecture, [[enterprise architecture]] and [[solution architecture]].
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
Software architecture
(section)
Add topic