Font Size: a A A

Architectural Assumptions And Their Management In Software Development

Posted on:2019-11-26Degree:DoctorType:Dissertation
Country:ChinaCandidate:C YangFull Text:PDF
GTID:1368330545999887Subject:Software engineering
Abstract/Summary:PDF Full Text Request
There are many uncertainties existing in the software development lifecycle,while stakeholders have to work within such a context.To deal with these uncertainties,one way is to make implicit or explicit assumptions.An assumption in software development is a type of software knowledge taken for granted or accepted as true without evidence.In this thesis,we concentrated on a specific type of assumption,i.e.,architectural assumption,and we tried to address the following core problem:how can we systematically manage architectural assumptions in software development?To systematically analyze the state of the art regarding architectural assumptions and their management,we first performed a systematic mapping study to gather and analyze data from reserach literature.The main results are:(1)We collected twelve types of activities for assumption management,while no general process was identified to connect the activities as a whole.(2)It is challenging to manage assumptions in software development practices.(3)Invalid or implicit assumptions should be paid more attention.Besides the analysis of literature,it was critical to investigate the state of the practice regarding architectural assumptions and their management in industry.To this end,we conducted a case study.The results of the case study confirm the results of the systematic mapping study on assumptions and their management.As an example,we identified the same twelve architectural assumption management activities(e.g.,Making and Description)from the case study,while we did not find any process to encompass the activities as a whole.Since a general architectural assumption management process is critical in architectural assumption management,we first designed such a process and then evaluated the proposed process through a case study.The proposed process is comprised of four architectural assumption management activities:Architectural Assumption Making,Description,Evaluation,and Maintenance.The results of the case study show that:(1)the ease of understanding and the effort of conducting the process are moderate;(2)the process can help to make architectural assumptions explicit and to identify and reduce invalid architectural assumptions in projects;(3)various factors can influence the aforementioned results.During the evaluation of the proposed assumption management process,we confirmed a high-priority need to systematically describe architectural assumptions.After finding out that existing approaches cannot satisfy certain concerns from stakeholders in documenting architectural assumptions,we designed an Architectural Assumption Documentation Framework,comprised of four viewpoints(i.e.,the Detail,Relationship,Tracing,and Evolution viewpoint)that specifically frame such concerns.We also evaluated the framework through a case study.The results of the case study show that:(1)the framework can be understood by architects in a short time;(2)the Architectural Assumption Evolution view requires the least time to create,followed by the Detail view and Relationship view;(3)the framework can help stakeholders to identify risks and understand architectural assumptions documented by other stakeholders.
Keywords/Search Tags:Software Architecture, Architectural Assumption, Architectural Assumption Management
PDF Full Text Request
Related items