An Open Architecture Approach for the Design and Development of Web and Mobile Software

University dissertation from Växjö : Linnaeus University Press

Abstract: The rapid evolution of web and mobile technologies as well as open standards are important ingredients for developing open software applications. HTML5, affordable electronics, and connectivity costs are some of the trends that drive the web towards an open platform and lead to an increased use of distributed applications. Proprietary software technologies have been extensively deployed throughout multiple platforms, including desktop, web, and mobile systems. Such systems are closed in many cases. Thus, it is rather difficult to expand existing and create additional features for them. Web and mobile software development is fragmented with the existence of multiple browsers and mobile operating systems, that comply differently with web standards. The evolution of web and mobile technologies, coupled with the changes in the deployment environments in which they operate, has resulted in complex requirements that are challenging to satisfy. Additionally, the largest part of the development lifecycle is related to the need to constantly change/modify these software systems within a short-time period. The fact that these systems evolve over time makes it difficult to meet the changing requirements.In this thesis, we offer a novel open architecture approach in the area of web and mobile software design and development when dealing with heterogeneous device environments, together with constantly evolving and dynamic requirements. This approach is grounded on our experiences gained during the last four years of project work regarding the development of a web and mobile software system to support mobile inquiry learning. This case served as a testbed for experimentation with heterogeneous device environments. After five development iterations, our software solution is considered robust, flexible, and expandable as a platform. Among others, this was validated with being tested with more than 500 users. The open architecture approach is also grounded on a literature survey of state of the art projects and definitions related to this concept. The outcomes of this thesis show that an open architecture approach is characterized by flexibility, customizability, and extensibility, which are instantiated into a set of properties. The importance of stressing these three characteristics and their properties in the open architecture approach is based on the identified needs of using open source components, using open data standards, and reducing development time. The research efforts in this thesis resulted in a refined definition of an open architecture approach as well as the initial and refined models that are contextualized within the field of web and mobile software. For validation of the research, the Goal Question Metric (GQM) approach is adapted and extended with a layer of Tasks/Activities. The data is collected from the project work mentioned above and three follow-up cases. The results show that the benefits of an open architecture approach can be reflected in terms of: achievement of the software system’s long-term goals; reduced development time; and increased satisfaction of the users. These benefits refer to the possibility to easily adapt emerging technologies and address dynamic changes and requirements. The contributions of this thesis are threefold: (1) for researchers, our open architecture approach could be used to analyze a system from a top down perspective; (2) for developers, it could be used as an approach to identify and address the needs for building an open evolvable system from a bottom up perspective; (3) for domain experts in the technology enhanced learning field, it could be used as a sustainability approach through which to integrate new tools and address complex requirements when designing new educational activities.

  This dissertation MIGHT be available in PDF-format. Check this page to see if it is available for download.