A Software Framework for Storing User Workspaces of Desktop Applications - Lehesvuo, Arvi (My University, 2012)
There are many design problems faced in user interface design of desktop applications. For most of the problems there is some suitable design pattern or existing software component to cope the problem, without having to spend too much design time on it. This research concentrates on one design problem repeatedly faced when designing desktop applications; storing and restoring user workspaces. The main goal of this thesis is to solve presented design problem by constructing a design model for a software component which can be used in the upcoming application projects. The aim is also to build this design as an external software framework and to test its applicability in practice. The solution developed during this research will be built and evaluated through a case study at an industrial software subcontractor company. Constructive research approach is used as the research method for this study, because the purpose of this thesis is to produce a practically relevant solution for an explicit problem, which is usually the baseline of a constructive study. At first, the theory related to the subject is presented and discussed. Existing project documentation in the case organization is studied to gather the requirements for the solution. How to create the solution as a reusable software framework is also discussed. Collected theoretical knowledge is then applied in practice by building the software framework. Practical relevance of the software framework is evaluated by deploying it to different types of application projects. The testing is performed by a group of software designers working in the case organization. A questionnaire then held for the software designers shows that the developed framework succeeds to fulfill its requirements.
Keywords: software engineering; design pattern; framework; user workspace; desktop application; fi=Tietotekniikka (KTM)|en=Computer Science|; fi=Tietotekniikan koulutusohjelma (DI)|