Title
Abstractness, specificity, and complexity in software design
Abstract
Abstraction is one of the fundamental concepts of software design. Consequently, the determination of an appropriate abstraction level for the multitude of artefacts that form a software system is an integral part of software engineering. However, the very nature of abstraction in software design and particularly its interrelation with equally important concepts like complexity, specificity or genericity are not fully understood today. As a step towards a better understanding of the trade-offs involved, this paper proposes a distinction of abstraction into two types that have different effects on the specificity and the complexity of artefacts. We discuss the roles of the two types of abstraction in software design and explain the interrelations between abstractness, specificity, and complexity. Furthermore, we illustrate the benefit of the proposed distinction with multiple examples and describe consequences of our findings for software design activities.
Year
DOI
Venue
2017
10.1145/1370164.1370173
Proceedings of the 2nd international workshop on The role of abstraction in software engineering
Keywords
Field
DocType
software system,genericity,complexity,specificity,appropriate abstraction level,important concept,abstractness,fundamental concept,software design activity,proposed distinction,better understanding,software design,software engineering,different effect,software systems
Abstraction,Software design,Systems engineering,Software analysis pattern,Computer science,Software system,Theoretical computer science,Abstraction layer,Software development,Software framework
Journal
Volume
ISSN
Citations 
abs/1709.01304
Proceedings of the 2nd International Workshop on The Role of Abstraction in Software Engineering (ROA '08), pages 35-42, ACM, 2008
2
PageRank 
References 
Authors
0.36
10
2
Name
Order
Citations
PageRank
Stefan Wagner174855.74
Florian Deissenboeck277035.84