DMCA
Deursen, “A cognitive model for software architecture complexity,” in ICPC
Venue: | IEEE Comp. Soc |
Citations: | 3 - 2 self |
Citations
7004 |
Design Patterns: Elements of Reusable Object-Oriented Software
- Gamma, Helm, et al.
- 1995
(Show Context)
Citation Context ...sser & van Deursen – A Cognitive Model for Software Architecture Complexity SERG 4 TUD-SERG-2010-009 that chunking, hierarchies and schemata can help software developers to cope with large structures =-=[23, 24, 25, 26, 14]-=-. In parallel, general design principles have been developed in the last 40 years that support these mental processes: modularization [27, 28] and abstraction through interfaces [27] to foster chunkin... |
2521 |
The Sciences of the Artificial
- Simon
- 1996
(Show Context)
Citation Context ...sser & van Deursen – A Cognitive Model for Software Architecture Complexity SERG 4 TUD-SERG-2010-009 that chunking, hierarchies and schemata can help software developers to cope with large structures =-=[23, 24, 25, 26, 14]-=-. In parallel, general design principles have been developed in the last 40 years that support these mental processes: modularization [27, 28] and abstraction through interfaces [27] to foster chunkin... |
1889 |
Cognition in the wild
- Hutchins
- 1995
(Show Context)
Citation Context ...ng CML only consider understanding from within a single person. In other words, the theories only consider how understanding works inside the mind of the individual. In his book Cognition in the wild =-=[20]-=-, Hutchins argues against the view of the person as the unit of cognition that needs to be studied. Instead, he argues that cognition is fundamentally a cultural process. For instance, in any society ... |
1585 | On the criteria to be used in decomposing systems into modules,
- Parnas
- 1972
(Show Context)
Citation Context ...ware developers to cope with large structures [23, 24, 25, 26, 14]. In parallel, general design principles have been developed in the last 40 years that support these mental processes: modularization =-=[27, 28]-=- and abstraction through interfaces [27] to foster chunking, avoiding cyclic structures [29, 16, 30] and layering [31, 32] to support hierarchies as well as design patterns and architectural styles [3... |
1108 | A metrics suite for object oriented design
- Chidamber, Kemerer
- 1994
(Show Context)
Citation Context ...al. [15] and Henderson-Sellers [16] introduce intra-module metrics for complexity. Descending even lower, we can find metrics for complexity on a unit level in, for example, the Chidamber and Kemerer =-=[17]-=- metrics suite and the overview of Zuse [18]. Figure 1. General structure of factor-criteria-metrics-models A major limitation of all these contributions is the fact that they only provide insight int... |
560 |
Cognitive Psychology and Its Implications
- Anderson
- 1995
(Show Context)
Citation Context ...o they solve problems related to complexity?” Within cognitive psychology, three mental strategies have been described that are used by human beings to deal with large structures and complex mappings =-=[21, 22]-=-: chunking, formation of hierarchies and the development of schemata. Chunking refers to a strategy for making more efficient use of short-term memory by recoding detailed information into larger chun... |
512 |
Agile Software Development.
- Cockburn
- 2002
(Show Context)
Citation Context ...oped in the last 40 years that support these mental processes: modularization [27, 28] and abstraction through interfaces [27] to foster chunking, avoiding cyclic structures [29, 16, 30] and layering =-=[31, 32]-=- to support hierarchies as well as design patterns and architectural styles [33, 34] to facilitate schemata. Based on the three mental strategies from cognitive psychology and the above listed general... |
433 |
Patterns of Enterprise Application Architecture
- Fowler
- 2002
(Show Context)
Citation Context ...8] and abstraction through interfaces [27] to foster chunking, avoiding cyclic structures [29, 16, 30] and layering [31, 32] to support hierarchies as well as design patterns and architectural styles =-=[33, 34]-=- to facilitate schemata. Based on the three mental strategies from cognitive psychology and the above listed general design principles, we define three personal factors for architectural complexity to... |
213 |
Object-Oriented Design Heuristics.
- Riel
- 1996
(Show Context)
Citation Context ...sser & van Deursen – A Cognitive Model for Software Architecture Complexity SERG 4 TUD-SERG-2010-009 that chunking, hierarchies and schemata can help software developers to cope with large structures =-=[23, 24, 25, 26, 14]-=-. In parallel, general design principles have been developed in the last 40 years that support these mental processes: modularization [27, 28] and abstraction through interfaces [27] to foster chunkin... |
161 | Cognitive design elements to support the construction of amentalmodel during software exploration,
- Storey, Fracchia, et al.
- 1999
(Show Context)
Citation Context ...principles have been developed in the last 40 years that support these mental processes: modularization [27, 28] and abstraction through interfaces [27] to foster chunking, avoiding cyclic structures =-=[29, 16, 30]-=- and layering [31, 32] to support hierarchies as well as design patterns and architectural styles [33, 34] to facilitate schemata. Based on the three mental strategies from cognitive psychology and th... |
127 |
Design Complexity Measurement and Testing",
- McCabe, Butler
- 1989
(Show Context)
Citation Context ...lexity metrics are based on the dependencies between components. For example, it has been suggested to count the number of dependencies [11], or to use the cyclomatic complexity of the used relations =-=[12]-=- between components. Other metrics defined on the level of the complete architecture can be found in the work of Kazman et al. [13] and Ebert [14]. Kazman defines architecture complexity as a combinat... |
126 | Domain-Driven Design, Tackling Complexity in the Heart of Software.
- Evans
- 2004
(Show Context)
Citation Context ...8] and abstraction through interfaces [27] to foster chunking, avoiding cyclic structures [29, 16, 30] and layering [31, 32] to support hierarchies as well as design patterns and architectural styles =-=[33, 34]-=- to facilitate schemata. Based on the three mental strategies from cognitive psychology and the above listed general design principles, we define three personal factors for architectural complexity to... |
115 | E.: A survey on software architecture analysis methods.
- Dobrica, Niemela
- 2002
(Show Context)
Citation Context ...es allow or preclude nearly all of the system’s quality attributes [2]. Many architecture evaluation methods have been introduced to evaluate the quality of a software architecture (for overviews see =-=[3, 4]-=-). However, many of these evaluation methods do not define a notion of “quality”. Usually, the methodology defines a step or a phase in which evaluators are urged to define which quality aspects are i... |
97 |
Agile software development: principles, patterns, and practices. Alan Apt series, Prentice-Hall, pub-PH:adr
- Martin
- 2003
(Show Context)
Citation Context ...ware developers to cope with large structures [23, 24, 25, 26, 14]. In parallel, general design principles have been developed in the last 40 years that support these mental processes: modularization =-=[27, 28]-=- and abstraction through interfaces [27] to foster chunking, avoiding cyclic structures [29, 16, 30] and layering [31, 32] to support hierarchies as well as design patterns and architectural styles [3... |
84 | Evaluating Software Architectures.
- Clements, Kazman, et al.
- 2002
(Show Context)
Citation Context ...ts, connections, constraints, and rationale [1]. The quality of the software architecture of a system is important, since Architectures allow or preclude nearly all of the system’s quality attributes =-=[2]-=-. Many architecture evaluation methods have been introduced to evaluate the quality of a software architecture (for overviews see [3, 4]). However, many of these evaluation methods do not define a not... |
49 |
Software complexity: Measures and methods.
- Zuse
- 1992
(Show Context)
Citation Context ...e intra-module metrics for complexity. Descending even lower, we can find metrics for complexity on a unit level in, for example, the Chidamber and Kemerer [17] metrics suite and the overview of Zuse =-=[18]-=-. Figure 1. General structure of factor-criteria-metrics-models A major limitation of all these contributions is the fact that they only provide insight into the complexity of a single or a small set ... |
33 | Assessing architectural complexity
- Kazman
- 1998
(Show Context)
Citation Context ...cies [11], or to use the cyclomatic complexity of the used relations [12] between components. Other metrics defined on the level of the complete architecture can be found in the work of Kazman et al. =-=[13]-=- and Ebert [14]. Kazman defines architecture complexity as a combination of the number of architecture patterns needed to cover an architecture, and which proportion of an architecture is covered by a... |
31 | A framework for classifying and comparing software architecture evaluation methods
- BABAR, ZHU, et al.
- 2004
(Show Context)
Citation Context ...es allow or preclude nearly all of the system’s quality attributes [2]. Many architecture evaluation methods have been introduced to evaluate the quality of a software architecture (for overviews see =-=[3, 4]-=-). However, many of these evaluation methods do not define a notion of “quality”. Usually, the methodology defines a step or a phase in which evaluators are urged to define which quality aspects are i... |
23 | An empirical study of cycles among classes in Java.
- Melton, Tempero
- 2007
(Show Context)
Citation Context ...oped in the last 40 years that support these mental processes: modularization [27, 28] and abstraction through interfaces [27] to foster chunking, avoiding cyclic structures [29, 16, 30] and layering =-=[31, 32]-=- to support hierarchies as well as design patterns and architectural styles [33, 34] to facilitate schemata. Based on the three mental strategies from cognitive psychology and the above listed general... |
11 |
Gorton,"Software architecture review: The state of practice",
- Babar, I
- 2009
(Show Context)
Citation Context ...cialized skills, experience and time. Of course, such a model can be reused in future evaluations, but the initial investment to start performing architecture evaluations is rather high. Babar et al. =-=[5]-=- conclude that this lack of out-of-the box process and tool support is one of the reasons for the low adoption of architecture evaluations in industry. To counter this lack of adoption, we recently in... |
11 | Source-based software risk assessment
- Deursen, Kuipers
- 2003
(Show Context)
Citation Context ...ld be used to explain the system attributes found by Bouwers et al. Table II shows that SACM is capable of doing this. Because of this, SACM can be used as a model inside the Software Risk Assessment =-=[35]-=- process of the Software Improvement Group (SIG) and as a formal backup for the Light-weight Sanity Check for Implemented Architectures [6]. This shows that there is a direct application of SACM withi... |
10 |
metrics: measures of complexity,” UpperSaddle River,
- Henderson-Sellers
- 1996
(Show Context)
Citation Context ...sixteen measures which have been identified in discussions that took place during a workshop. In addition to these types of architecture level metrics, both AlSharif et al. [15] and Henderson-Sellers =-=[16]-=- introduce intra-module metrics for complexity. Descending even lower, we can find metrics for complexity on a unit level in, for example, the Chidamber and Kemerer [17] metrics suite and the overview... |
9 | On assessing the complexity of software architectures
- Zhao
- 1998
(Show Context)
Citation Context ...ty metrics can be found in [8, 10]. In many cases, proposed complexity metrics are based on the dependencies between components. For example, it has been suggested to count the number of dependencies =-=[11]-=-, or to use the cyclomatic complexity of the used relations [12] between components. Other metrics defined on the level of the complete architecture can be found in the work of Kazman et al. [13] and ... |
8 |
610.12-1990: IEEE standard glossary of software engineering terminology,
- Std
- 1990
(Show Context)
Citation Context ...limitations of the model are. Finally, Section VII concludes the paper and explores areas for future work. II. SCOPE AND CONTRIBUTION In the IEEE Standard Glossary of Software Engineering Terminology =-=[9]-=-, the term “complexity” is defined as: The degree to which a system or component has a design or implementation that is difficult to understand and verify. SERG Bouwers, Lilienthal, Visser & van Deurs... |
6 | Deursen, “Criteria for the evaluation of implemented architectures
- Bouwers, Visser, et al.
- 2009
(Show Context)
Citation Context ...introduced LiSCIA, a Light-weight Sanity Check for Implemented Architectures [6]. This method is based on system attributes that have shown to be indicators for the maintainability of an architecture =-=[7]-=- and represent experience in evaluating software architectures. LiSCIA comes with a set of questions which together form an implicit, informal model based on the system attributes. However, the method... |
6 |
Complexity traces: an instrument for software project management
- Ebert
- 1995
(Show Context)
Citation Context ...o use the cyclomatic complexity of the used relations [12] between components. Other metrics defined on the level of the complete architecture can be found in the work of Kazman et al. [13] and Ebert =-=[14]-=-. Kazman defines architecture complexity as a combination of the number of architecture patterns needed to cover an architecture, and which proportion of an architecture is covered by architecture pat... |
5 |
Assessing the complexity of software architecture
- AlSharif
- 2005
(Show Context)
Citation Context ...complexity vector based on sixteen measures which have been identified in discussions that took place during a workshop. In addition to these types of architecture level metrics, both AlSharif et al. =-=[15]-=- and Henderson-Sellers [16] introduce intra-module metrics for complexity. Descending even lower, we can find metrics for complexity on a unit level in, for example, the Chidamber and Kemerer [17] met... |
5 | The Architect’s Dilemma – Will Reference Architectures Help
- Haft, Humm, et al.
- 2005
(Show Context)
Citation Context ...sser & van Deursen – A Cognitive Model for Software Architecture Complexity SERG 4 TUD-SERG-2010-009 that chunking, hierarchies and schemata can help software developers to cope with large structures =-=[23, 24, 25, 26, 14]-=-. In parallel, general design principles have been developed in the last 40 years that support these mental processes: modularization [27, 28] and abstraction through interfaces [27] to foster chunkin... |
5 |
Object Oriented Software Engineering: Conquering Complex and Changing Systems
- Bernd, Allen
(Show Context)
Citation Context ...principles have been developed in the last 40 years that support these mental processes: modularization [27, 28] and abstraction through interfaces [27] to foster chunking, avoiding cyclic structures =-=[29, 16, 30]-=- and layering [31, 32] to support hierarchies as well as design patterns and architectural styles [33, 34] to facilitate schemata. Based on the three mental strategies from cognitive psychology and th... |
2 | Deursen. A lightweight sanity check for implemented architectures
- Bouwers, van
(Show Context)
Citation Context ...of the reasons for the low adoption of architecture evaluations in industry. To counter this lack of adoption, we recently introduced LiSCIA, a Light-weight Sanity Check for Implemented Architectures =-=[6]-=-. This method is based on system attributes that have shown to be indicators for the maintainability of an architecture [7] and represent experience in evaluating software architectures. LiSCIA comes ... |
2 | Architectural complexity of large-scale software systems - Lilienthal |
1 |
The software architecture renaissance,” The Software Engineering
- Kogut, Clements
- 1994
(Show Context)
Citation Context ...omplexity, Cognitive models I. INTRODUCTION Software architecture is loosely defined as the organizational structure of a software system including components, connections, constraints, and rationale =-=[1]-=-. The quality of the software architecture of a system is important, since Architectures allow or preclude nearly all of the system’s quality attributes [2]. Many architecture evaluation methods have ... |
1 |
Komplexität von Softwarearchitekturen, Stile und Strategien
- Lilienthal
- 2008
(Show Context)
Citation Context ... form of metrics. The following overview is by no means complete, but is meant to give a small taste of the available work in this area. A more complete overview of complexity metrics can be found in =-=[8, 10]-=-. In many cases, proposed complexity metrics are based on the dependencies between components. For example, it has been suggested to count the number of dependencies [11], or to use the cyclomatic com... |