Results 1 -
3 of
3
Assessing architectural complexity
- In Proceedings of the 2nd Euromicro Conference on Software Maintenance and Reengineering (CSMR
, 1998
"... While it is widely agreed that architectural simplicity is a key factor to the success of large software systems, it is not obvious how to measure architectural complexity. Our approach to measuring complexity is based on observation that large systems with a regular substructure are simple to creat ..."
Abstract
-
Cited by 33 (4 self)
- Add to MetaCart
While it is widely agreed that architectural simplicity is a key factor to the success of large software systems, it is not obvious how to measure architectural complexity. Our approach to measuring complexity is based on observation that large systems with a regular substructure are simple to create and maintain, whereas even relatively small systems created in an ad hoc fashion quickly become unmaintainable. This paper describes a system, called IAPR, that aids in architectural exploration and measurement by attempting to match patterns to an architecture. To do this, IAPR implements a heuristic form of sub-graph isomorphism—an NPhard problem—using the Constraint Satisfaction paradigm to limit the complexity of the problem space.
Software Architectures for Human-Computer Interaction: Analysis and Construction
"... : Software architectures have long been a focus of research and development in humancomputer interaction. This paper analyzes the history of architectures for user interface software in terms of their evolution in response to the pressures of non-functional quality goals. These goals are things like ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
: Software architectures have long been a focus of research and development in humancomputer interaction. This paper analyzes the history of architectures for user interface software in terms of their evolution in response to the pressures of non-functional quality goals. These goals are things like modifiability, integrability, and performance that expert software designers commonly endeavor to satisfy when creating large software systems. To codify the knowledge that expert designers bring to bear on this problem, we introduce the notion of "unit operations"---structuremodifying architectural operations. These operations are used to analyze the evolution of user interface software architectures in terms of their structural changes in response to non-functional quality goals. This analysis provides a means of understanding these architectures, their motivations, similarities and differences. To describe the effects of unit operations, we present two parallel evolutionary tracks: those...
An Empirical Study of Architectural Design Operations
"... : 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 t ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
: 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 design...