A Typology Based Approach to Assign Responsibilities to Software Layers

Authors Sjaak Brinkkemper, Wiebe Wiersema, Leo Pruijt
Publication date 2014
Type Lecture


In software architecture, the Layers pattern is commonly used. When this pattern is applied, the responsibilities of a software system are divided over a number of layers and the dependencies between the layers are limited. This may result in benefits like improved analyzability, reusability and portability of the system. However, many layered architectures are poorly designed and documented. This paper proposes a typology and a related approach to assign responsibilities to software layers. The Typology of Software Layer Responsibility (TSLR) gives an overview of responsibility types in the software of business information systems; it specifies and exemplifies these responsibilities and provides unambiguous naming. A complementary instrument, the Responsibility Trace Table (RTT), provides an overview of the TSLR-responsibilities assigned to the layers of a case-specific layered design. The instruments aid the design, documentation and review of layered software architectures. The application of the TSLR and RTT is demonstrated in three cases.

Language English