Abstractness, specificity, and complexity in software design

09/05/2017
by   Stefan Wagner, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/29/2021

Storytelling in human–centric software engineering research

BACKGROUND: Software engineering is a human activity. People naturally m...
research
05/31/2018

Artefacts in Software Engineering: What are they after all?

Artefacts play a vital role in today's software and systems development ...
research
06/17/2021

Towards Assurance-Driven Architectural Decomposition of Software Systems

Computer systems are so complex, so they are usually designed and analyz...
research
01/19/2021

Asset Management in Software Engineering – What is it after all?

When developing and maintaining software-intensive products or services,...
research
06/06/2023

Description Logics with Abstraction and Refinement

Ontologies often require knowledge representation on multiple levels of ...
research
03/11/2021

Exploring the Mysteries of System-Level Test

System-level test, or SLT, is an increasingly important process step in ...
research
11/23/2019

Inflationary Constant Factors and Why Python is Faster Than C++

Constant-factor differences are frequently ignored when analyzing the co...

Please sign up or login with your details

Forgot password? Click here to reset