Observing software architectural gaps in industry: A case study

dc.contributor.authorBenjaminsson, David
dc.contributor.authorBengtsson, Edvin
dc.contributor.departmentChalmers tekniska högskola / Institutionen för data och informationstekniksv
dc.contributor.examinerFeldt, Robert
dc.contributor.supervisorHo-Quang, Truong
dc.date.accessioned2021-10-07T06:00:40Z
dc.date.available2021-10-07T06:00:40Z
dc.date.issued2021sv
dc.date.submitted2020
dc.description.abstractThe software architecture is an important part of any software system, especially as today’s software systems become increasingly complex. A key objective of having a software architecture is to encourage a united perception regarding the structure of a system. However, this is no easy task and differences may arise between intention, implementation, and individual workers’ interpretation. These different perceptions of a system’s architecture may cause a threat to the system’s quality. For example, new features and solutions based on a developers perception of the architecture might violate the intended architecture. These violations may in turn cause a threat to system quality attributes such as performance, testability, modularity, etc [1], [2]. This thesis aims to discover and analyze gaps between the implemented architecture and the architecture interpreted by the developers of a software system used in industry. In order to be able to identify such gaps, both the implemented and interpreted architecture first had to be extracted. The implemented architecture was extracted by reverse-engineering, and the interpreted architecture was gathered through interviews with developers working on the system. Several types of gaps were identified while comparing the two architectural views to each other. The second stage of the case study was to gather insights from the developers regarding the causes and effects of the found gaps, establishing how their interpretation and the implementation came to differ and the effects thereof. The study resulted in the discovery of a selection of gaps, such as missing modules or missing communication between modules. Lack of high-level documentation and lost architectural knowledge were two of the identified causes for gaps to arise, resulting in effects such as increased implementation time and higher coupling. The system investigated in this study is called Minihydra and is used as firmware in a selection of products produced by the Swedish company Kvaser.sv
dc.identifier.coursecodeMPSOFsv
dc.identifier.urihttps://hdl.handle.net/20.500.12380/304224
dc.language.isoengsv
dc.setspec.uppsokTechnology
dc.subjectsoftware architecturesv
dc.subjectarchitecture interpretationsv
dc.subjectsoftware architectural gapssv
dc.subjectarchitecture erosionsv
dc.subjectsoftware decaysv
dc.subjectreverse-engineeringsv
dc.titleObserving software architectural gaps in industry: A case studysv
dc.type.degreeExamensarbete för masterexamensv
dc.type.uppsokH
Ladda ner
Original bundle
Visar 1 - 1 av 1
Hämtar...
Bild (thumbnail)
Namn:
CSE 21-140 Benjaminsson Bengtsson.pdf
Storlek:
2.31 MB
Format:
Adobe Portable Document Format
Beskrivning:
License bundle
Visar 1 - 1 av 1
Hämtar...
Bild (thumbnail)
Namn:
license.txt
Storlek:
1.51 KB
Format:
Item-specific license agreed upon to submission
Beskrivning: