Download:
|
by Rick Kazman, Kavita Reddy
http://pukapuka.inrialpes.fr/Olan/Docs/Bibliotheque/SE_SA/KR96.ps.gz
Add To MetaCart
Abstract:
Abstract: Recent research in software architecture and design patterns has focussed on identifying existing large-scale chunks of design, with the intent of communicating these designs so that they may be reused. However, these design patterns, idioms, and styles are typically given to designers whole and the rationale for their internal structure is seldom made clear. Because of this, the relationship between these operations and non-functional qualities is difficult to reason about. This paper presents a theory of more primitive design operations (called unit operations) that have been derived through a study of the software design literature and interviews with expert software designers. Unit operations are common structure-modifying operations that designers regularly employ, things like: abstraction, resource sharing, is-a decomposition, etc. The relationship between unit operations and non-functional qualities is determined through an empirical study that surveys expert industrial designers of large-scale software systems. The result of this study is a design space---a set of design rules---that not only clarifies the complex relationships between the unit operations, system requirements, and nonfunctional qualities, but suggests areas where further refinement of the operations needs to be made.
Citations
|
784
|
On the criteria to be used in decomposing systems into modules
– Parnas
- 1972
|
|
487
|
A cookbook for using the Model-ViewController user interface paradigm in Smalltalk-80
– Krasner, Pope
- 1988
|
|
477
|
The process group approach to reliable distributed computing
– Birman
- 1993
|
|
309
|
The X window system
– Scheifler, Gettys
- 1986
|
|
188
|
et al. Object-Oriented Modeling and Design
– Rumbaugh
- 1991
|
|
148
|
Architectural mismatch: Why reuse is so hard
– Garlan, Allen, et al.
- 1995
|
|
125
|
The Structure of THE Multiprogramming System
– Dijkstra
- 1968
|
|
102
|
Scenario-Based Analysis of Software Architecture
– Kazman, Abowd, et al.
- 1996
|
|
95
|
The house of quality
– Hauser, Clausing
- 1988
|
|
60
|
Prospects for an Engineering Discipline of Software
– Shaw
- 1990
|
|
56
|
Tool Integration in Software Engineering Environments
– Wasserman
- 1989
|
|
33
|
Disk arrays: High-performance, high-reliability storage subsystems
– Ganger
- 1994
|
|
22
|
The Use of Adapters to Support Cooperative Sharing
– Trevor, Rodden, et al.
- 1994
|
|
13
|
Five Ways to Destroy a Development Project
– Lindstrom
- 1993
|
|
11
|
Using style to give meaning to software architecture
– Abowd, Allen, et al.
- 1993
|
|
11
|
Aims for Identifying Conflicts Among Quality Requirements
– Boehm
- 1996
|
|
7
|
A design space and design rules for user interface software architecture
– Lane
- 1990
|
|
5
|
An extensible virtual toolkit (XVT) for portable GUI applications
– Rochkind
- 1992
|
|
3
|
Design Patterns---Miroarchitectures for Reusable Object-Oriented Software
– Gamma, Helm, et al.
- 1994
|
|
3
|
Software Architectures for Human-Computer Interaction: Analysis and Construction
– Kazman, Bass
- 1996
|
|
1
|
Structural Modeling: an O-O Framework and Development Process for Flight Simulators
– Abowd, Bass, et al.
- 1993
|
|
1
|
A Survey of Architectural Design Operations
– Reddy
- 1996
|