1992
DOI: 10.1145/141874.141884
|View full text |Cite
|
Sign up to set email alerts
|

Foundations for the study of software architecture

Abstract: The purpose of this paper is to build the foundation for software architecture. We first develop an intuition for software architecture by appealing to several wellestablished architectural disciplines. On the basis of this intuition, we present a model of software architecture that consists of three components: elements, form, and rationale. Elements are either processing, data, or connecting elements. Form is defined in terms of the properties of, and the relationships among, the elements --that is, the cons… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
910
0
16

Year Published

1999
1999
2007
2007

Publication Types

Select...
4
3
3

Relationship

1
9

Authors

Journals

citations
Cited by 1,485 publications
(988 citation statements)
references
References 17 publications
0
910
0
16
Order By: Relevance
“…As with most types of complex systems, software is generally designed as sets of interacting components [58,63]. Software architectures not only influence quality attributes of software, but they are also an important means of coordinating software projects.…”
Section: Software Architecturementioning
confidence: 99%
“…As with most types of complex systems, software is generally designed as sets of interacting components [58,63]. Software architectures not only influence quality attributes of software, but they are also an important means of coordinating software projects.…”
Section: Software Architecturementioning
confidence: 99%
“…Further, the increasing commoditization and distribution of hands-on software development via outsourcing and the use of thirdparty components is causing the demand for traditional software development skills in many areas to be eclipsed by new opportunities available to software engineers who possess certain kinds of enhanced software engineering expertise. To enable engineers to take advantage of these opportunities, we need to augment traditional software engineering strengths in software architecture [3], design, and development processes with new techniques that will enable software engineers to apply engineering principles in larger organizational and project management contexts. We need to produce software engineers who are just as comfortable practicing engineering in environments where the "tools" are distributed project teams and third-party components as they are designing and implementing complete systems themselves.…”
Section: Introductionmentioning
confidence: 99%
“…Perry and Wolf (1992) distinguish between processing elements, data elements, and connecting elements, and this taxonomy by and large persists through most other definitions and approaches.…”
Section: World Of Structuresmentioning
confidence: 99%