Doctor of Philosophy
Nazim H. Madhavji
Big Data applications, like traditional applications, serve end-user needs except that underlying the software system is Big Data which the system operates upon to improve or provide different end-user experience with the application. In comparison to traditional software development where the development processes are usually well-established, the development of Big Data applications is - to our knowledge - not explored to any significant degree. With Big Data, characterised by the well-known "V" attributes, questions arise as to how to elicit, specify, analyse, and document system requirements. While requirements engineering (RE) has long been recognised as critical for downstream development of computer systems, the field is currently passive about how to deal with characteristics of data in the RE process in the development of Big Data software applications. This problem is compounded by the fact that the RE field had no domain model (until recently) for Big Data systems depicting the various artefacts, activities, and relationships amongst them that, in turn, can be used to support RE specifications, product design, project decisions, and maintenance. In this thesis research, we investigated empirically a number of issues in RE involving Big Data applications, leading to the following research contributions: (i) knowledge concerning (a) the state of RE research involving Big Data applications, and (b) RE practices on real-world Big Data applications projects; (ii) a set of RE challenges in creating Big Data applications; (iii) a meta-model depicting the various RE artefacts and their inter-relationships in the context of Big Data software development projects; (iv) a goal-oriented approach (composed of a systematic process, requirements logging templates, checklists, and a requirements language) for modelling quality requirements for Big Data applications; and (v) a prototype tool that implements the proposed Big Data goal-oriented requirements language. These results lay a foundation in RE research involving Big Data applications development with anticipated impact in real-world projects and in RE research.
Summary for Lay Audience
Big Data applications, like traditional applications, serve end-user needs except that underlying the software system is Big Data which the system operates upon to improve or provide different end-user experience with the application. Big Data is a term applied to data sets whose size or type is beyond the ability of traditional relational databases to capture, manage, and process the data. There is ample literature that suggests that the field of Big Data is growing rapidly. Also, there is emerging literature on the need to create end-user Big Data applications. However, just yet there is not a recognisable body of knowledge concerning the development of such applications. This situation is also reflected in the field of Requirements Engineering (RE). RE is the process of finding out, analysing, documenting and checking requirements and its constraints for a particular project. It forms the ground for every software project, defining what the stakeholders (e.g., users and customers) need from it, and what it must do to satisfy that needs. Therefore, in this thesis, we investigated several aspects of RE involving the development of Big Data applications leading to the following contributions: (i) knowledge concerning (a) the state of RE research involving Big Data applications, and (b) RE practices on a real-world Big Data application project; (ii) a set of RE challenges in creating Big Data applications; (iii) a descriptive depicting the various RE artefacts (e.g., documents) and their inter-relationships in the context of Big Data software development projects; (iv) an approach for modelling quality requirements for Big Data applications; and (v) a prototype tool that enables the use of the proposed approach.
Florencio de Arruda, Darlan, "Requirements Engineering in the Context of Big Data Software Applications" (2020). Electronic Thesis and Dissertation Repository. 6808.
Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.