代写辅导接单-BSc (Hons) Software Engineering September 2023

欢迎使用51辅导,51作业君孵化低价透明的学长辅导平台,服务保持优质,平均费用压低50%以上! 51fudao.top

FACULTY OF SCIENCE & TECHNOLOGY

BSc (Hons) Software Engineering September 2023

Online Book Event Management System

by

Kwan Ho Lin

Faculty of Science & Technology Department of Computing and Informatics Final Year Project

Abstract

With the rapid development and iteration of information technology, electronic products are now very popular, and personal devices such as smartphones are filled with a large amount of fragmented information like Tiktok short videos. On the contrary, reading that requires long-term concentration slowly fades away from people's vision. In addition, online libraries today generally lack practical actions to encourage reading.

This project aims to discover this phenomenon. This project involves background research and a survey of librarians, and the design of a web tool for librarians. The purpose is to use the convenience of librarians' positions to encourage and help People develop the habit of reading.

Methodologies …

It is easier to write the Abstract the last.]

Dissertation Declaration

I agree that, should the University wish to retain it for reference purposes, a copy of my dissertation may be held by Bournemouth University normally for a period of 3 academic years. I understand that once the retention period has expired my dissertation will be destroyed.

Confidentiality

I confirm that this dissertation does not contain information of a commercial or confidential nature or include personal information other than that which would normally be in the public domain un- less the relevant permissions have been obtained. In particular any information which identifies a particular individual’s religious or political beliefs, information relating to their health, ethnicity, crim- inal history or sex life has been anonymised unless permission has been granted for its publication from the person to whom it relates.

Copyright

The copyright for this dissertation remains with me.

Requests for Information

I agree that this dissertation may be made available as the result of a request for information under the Freedom of Information Act.

Signed: Kwan Ho Lin

Name: Kwan Ho Lin

Date: 1 April 2024

Programme: Software Engineering

Original Work Declaration

This dissertation and the project that it is based on are my own work, except where stated, in accordance with University regulations.

Signed: Kwan Ho Lin

Name: Kwan Ho Lin

Date: 1 April 2024

Acknowledgements

I would like to extend my sincere gratitude to the participants who generously contributed to my questionnaire survey. Their earnest participation and candid feedback greatly facilitated the progress of my research work.

Furthermore, I am deeply indebted to my supervisor, whose guidance and support were invaluable throughout my research journey. In moments of uncertainty, it was their expert assistance that steered me back on track, enabling the continuation of my research endeavours.

I am also thankful to my family and friends for their unwavering support and encouragement, which kept me motivated throughout the completion of my dissertation.

Lastly, I would like to express my appreciation to Bournemouth University for providing a conducive environment, particularly the library facilities, where I could conduct my research without any hindrances. Additionally, I am grateful for the technical assistance provided by the IT service team.

Contents

Abstract 2

Acknowledgements 5

1 Introduction 10

1.1. Problem Definition 10

1.2. Aims and Objectives 11

1.3. Success Criteria 13

2 Background Study 14

2.1. Research Questions 14

2.2. Overview of Current Library 14

3 Methodology 15

3.1. Overview 15

3.2. Introduction 15

3.2.1. Traditional vs Agile Development 16

3.2.2. Methodology Selection 16

3.2.3. Development Model Selection 17

3.2.4. Project Management Model 18

3.2.5. Personal Extreme Programming (PXP) 18

3.2.6. PXP Customization 19

3.3. Project Management Methodology 20

3.4. Project Organisation Methods 21

3.4.1. Progress Monitoring - Weekly Meeting 21

3.4.2. Data Loss Prevention Methods 21

3.4.3. Version Control System 21

3.5. Artifact Methods 22

3.5.1. Requirements Analysis (RA) Methods 22

3.5.2. Development methods 23

3.5.3. Evaluation methods 23

4 Tools 24

4.1. Project Management Tool (PMT) 24

4.1.1. Trello - tasks and workflows organizing 24

4.1.2. Gantt Chart - Project Schedule Tool 24

4.2. Requirements Gathering and Analysis Tool 24

4.2.1. Jisc Online Survey 24

4.3. Design Tools 24

4.3.1. Figma - User Interface (UI) Prototyping 24

4.3.2. Lucidchart - Diagram Drawing 24

4.3.3. Python - Programming Language 24

4.3.4. Flask - Backend Framework 24

4.3.5. Vue.js - UI Framework 25

4.3.6. Mysql - Relational Database Management System (RDBMS) 25

4.4. Implementation Tool 25

4.4.1. PyCharm 25

4.4.2. Visual Studio Code (VS Code) 25

4.5. Testing Tool 25

4.5.1. Pytest 25

5 Artefact 25

5.1. Requirements Analysis 25

5.1.1. Planning 25

5.1.2. Requirements Initialization 25

5.1.3. Backlog 27

5.1.4. Sprint 1 Retrospective 27

5.2. Sprint 1 - Design 27

5.2.1. Planning 27

5.2.2. Prototype Modelling 27

5.2.3. Workflows Diagram 27

5.2.4. Sprint 1 Retrospective 28

5.3. Sprint 2 - Development 28

5.3.1. Planning 28

5.3.2. Implementing 28

5.3.3. Testing 28

5.3.4. Sprint 2 Retrospective 28

5.1. Sprint 3 - Development 28

5.1.1. Planning 28

5.1.2. Implementing 28

5.1.3. Testing 28

5.1.4. Sprint 3 Retrospective 28

5.2. Evaluation 28

5.2.1. Planning 28

5.2.2. Interviews 28

5.2.3. Cognitive Walkthrough 28

5.2.4. Sprint 4 Retrospective 28

6 Conclusion 29

REFERENCES 30

Appendix A - Project Proposal 33

Appendix B - Ethics Checklist 39

Appendix C – Gantt Chart 43

Appendix D – Risk Assessment 44

List of Figures

Example figure 1

Sample figure1 5

List of Table

Introduction

Problem Definition

First, Excessive utilization of electronic devices among young individuals significantly diminishes their ability to focus, consequently contributing to a decline in reading habits.

Electronics have a negative impact on people’s attention and attention span. According to artificial intelligence’s answer to the question “What impact do electronic products have on adults’ attention?”: “

**Increased Distraction**: Electronic products provide access to a vast array of information and entertainment, which can lead to distractions. Adults may find themselves easily drawn away from tasks or conversations by notifications, social media, emails, or other digital stimuli.

**Decreased Attention Span**: Constant exposure to quick, easily digestible content on electronic devices can contribute to a decrease in attention span. Adults may struggle to focus on longer tasks or engage in deep, sustained concentration.” (ChatGPT, 2024)

As we all know, reading books takes a long time and requires good concentration, so it cannot be disturbed by the outside world. The mature development of electronic products not only increases the brain's response to external interference, but also makes it more curious about fragmented focus information, making it impossible to focus on reading for a long time.

Beyond that, As mentioned in the article: "Currently anecdotal evidence indicates that it is popularly believed that there is a drop in reading habits amongst the young, with television, mobile phones, computer games, videos, DVDs and all other new and current distractions from the book seen as contributing to this.” (Hopper, 2005). Hopper proposed why the readership of modern young people continue to decline also.

Second, Modern library systems lack innovation in encouraging reading activities. The majority of online libraries offer outdated and unchallenging services. By comparing the respective libraries of the top ten universities in the UK, Dmytro (2023) found that most systems are focused on providing information. For example, query services for academic papers, query services for book databases, etc. A few library systems provide online borrow services, printing and scanning services and so on. Librarians should be given the ability to organize events and not just handle general library services.

Aims and Objectives

To achieve the goal of providing librarians with a user-friendly platform that encourages people to read, there are several key objectives outlined.

Firstly, we aim to gather preliminary ideas by conducting research and engaging in surveys with various stakeholders, including librarians and potential users. This initial phase will help us understand the needs and preferences of our target audience. Subsequently, we will present our project idea to our supervisor for feedback and guidance, ensuring alignment with our overarching objectives.

Following this, we will conduct a thorough examination of existing solutions in the market, identifying their strengths and weaknesses to inform our design process. This comparative analysis will provide valuable insights into the features and functionalities that resonate most with users. Additionally, we will administer surveys to librarians and individuals over 18 years old to gather feedback and validate our assumptions.

With a clear understanding of user needs and market background, we will proceed to design our artifact—a user-friendly platform tailored to the preferences of our target audience. This design phase will prioritize intuitive navigation and interactive features to enhance the user experience.

Once the design is finalized, we will move on to the implementation stage, where we will develop the platform according to the outlined specifications. Throughout this process, we will remain attentive to user feedback, making adjustments as necessary to ensure optimal usability and satisfaction.

Finally, we will evaluate the effectiveness of our artifact through rigorous testing and user feedback. This iterative approach will allow us to identify areas for improvement and refine our platform to better serve the needs of librarians and readers alike. By following this systematic approach, we are confident in our ability to create a compelling and impactful solution that promotes reading and enriches the library experience.

Success Criteria

These objectives will be completed successfully when the following criteria has been met:

When the Flask server was designed and implemented.

When the VUE interface was designed and implemented.

When the database is designed and implemented.

Core languages and technologies decided on.

Designed the system architecture.

Background Study

In order to further verify whether the online book management services currently on the market provide novel and relevant solutions to solve the illusion that people have lost their enthusiasm for reading, this project conducted an initial survey on online book management in the UK.

Reading Trend

There is a certain inverse relationship between the development of electronic products and the decline in adults’ reading habits.

In recent years, the habit of reading literary works among adults has shown a downward trend.

In recent years, the habit of reading literary works among adults has shown a downward trend. According to a survey, American adults who read any literary works or books accounted for 57.1% of the total adult population in 2017. However, this figure will be 53% in 2022, a total decrease of 4.1%, showing a downward trend; On the other hand, the proportion of U.S. adults who read at least one book (print or electronic version) accounted for 54.6% of the total adult population in 2012. However, this value was 48.5% in 2012, a total decrease of 6.1% , showing a downward trend. (Auclair, 2023)

It follows that the overall trend of active reading among American adults is declining.

On the other hand, a 2013 study by Booktrust found that 27% of UK respondents prefer the internet and social media to reading books, rising to 56% among 18-30 year olds. 45% prefer television and DVDs to reading.” (Woodley & Mantell, 2020).

Therefore, There is a certain inverse relationship between the development of electronic products and the decline in adults’ reading habits.

Current Online Library

Methodology

Overview

This chapter will first compare traditional and agile methodologies. Secondly, it will compare different models and analyse and select suitable models.

Introduction

Software Development Life Cycle (SDLC) is a general concept used to describe and manage various stages in the software development process. The International Organization for Standardization (ISO) defines all activities required in software development and maintenance. Those activities include requirements analysis and design, definition of requirements, architecture design, development, testing and maintenance phases. (STOICA et al., 2013)

Generally, software development models are classified into two categories: traditional and agile. Traditional methodology (such as Waterfall model) is characterized by their weight and comprehensive documentation, whereas agile methodology (such as XP) are known for their lightweight nature and reduced emphasis on documentation. (STOICA et al., 2013)

Figure 1 Software Engineering Life Cycle(SDLC) (STOICA et al., 2013)

Figure 2 Agile Methodology (Slawek-Polczynska, 2020)

Traditional vs Agile Development

Table 1 Comparison of Traditional and Agile development (STOICA et al., 2013)

Methodology Selection

This project needs high flexibility to prevent unpredictable situation such as changes in requirements. In other words, the requirements in the early stage of a project are not very clear. After that, this project needs periodic testing to ensure the feasibility of the technology selected so that to change to an alternative if couldn’t solve a technical problem that makes the project stalled.

Changes in software requirements are generally caused by customer initiative, business planning and operating environment, and are sometimes unavoidable. (Jayatilleke, 2018) As the only stakeholder in the project, librarians put forward many feasible requirements in requirements gathering stage, however, the difficulty of their implementation is immeasurable in actual development. Moscow-based requirements may be adjusted during development based on actual conditions.

According to Table 1, first, traditional development adopts a predictive approach, which means that all aspects of the project need to be planned and defined in as much detail as possible at the beginning of the project, including the requirements specification document. Second, the development direction is fixed, and the project must follow the SDLC model step by step. This obviously does not meet the needs of this project to change its needs and development direction at any time; After that, the traditional method places the testing phase in the late stage of project development, which is not conducive to the need for regular testing in this project.

In contrast, agile has a trait of adaptability. "Responding to change over following a plan." is one of the agile manifestos. It allows requirements to be changed after the project is underway, even late in development. (Fowler & Highsmith, 2001) This makes the development of this project more flexible and reduces the risk of the project. Compared with traditional, agile does not rely on a large number of documents, but focuses on values, principles, and practices, which makes it a more flexible approach to apply to software development projects. (Kumar et al., 2014) Moreover, as shown in Figure 1, traditional development will only test after the coding is completed, while Agile will test in each iteration cycle (Figure 2 Agile Methodology ), which helps this project find problems as early as possible and make adjustments.

To sum up, the traditional development direction is fixed, and there needs to be sufficient certainty in all aspects of the project. On the contrary, agile development not only has an adaptive development direction that allows project requirements and directions to be updated at any time but also allows for regular testing and continuous delivery.

Development Model Selection

There are many models derived from agile. Here are five commonly used models for comparison. Through the analysis of factors such as requirement, team size, time budget, and overall project scale, a development model suitable for this project can be selected.

Table 2 Development model comparison

Model Selection

All methods in Table 2 inherit Agile's characters such as continuous development, frequent customer consultation and small releases. However, their core ideas are slightly different.

The first reason why Scrum was excluded as the development model of this project is that it emphasizes team collaboration and close communication with customers. Although this project involved communicating with librarians in the early stages, the requirements that need to be achieved are relatively limited, in other words, this project emphasizes events' innovation rather than redundant processes; the second reason is that SCRUM requires Conduct frequent sprint meetings and keep records to ensure that the project progress is as planned by the scrum master. This is also a process that is not required for independent projects.

"Crystal family is collection of agile software development methodologies that can be used for different software projects depending upon size, complexity, criticality and number of people involved." (Anwer et al., 2017) However, Crystal methods emphasize people's collaboration and communication rather than process solely. Therefore, it is more suitable for team development.

Next, the Dynamic System Development Method (DSDM) does not consider project criticality (shown in Table 2) which means it is without prioritization of various requirements. It does not meet this project because prioritizing requirements by their importance is necessary because of project time restrictions. Otherwise, it will increase the quality risk of the final delivery.

Compared with the methods mentioned above, the following two methods are more in line with this project and the actual situation of this project.

Extreme Programming (XP) is a team-oriented development method. It does not require the creation of documents and project requirements, and small teams of 12-14 people are the best practice. In addition, customers mainly participate in project requirements gathering in the early stages of SDLC. (Punjab, 2011) By communicating and discussing early in the project, sufficient requirements are obtained, so that the team can immediately start the project development cycle and achieve high efficiency; in addition, XP's repetitive iteration (including development processes such as design, implementation, and testing) and communication can often be rapid deliver and produce high quality products. However, it is a team project development method, and the collaborative development of multiple people leads to the problem of inconsistent code styles, so "Pair Programming" became one of the 12 principles. However, this project was completed independently and did not need to follow the guidelines of a certain coding standard. Therefore, this project adopted the more malleable PXP.

Most software development processes (including traditional and agile) are mainly aimed at team development projects. (Dzhurov et al., 2009) A series of measures such as document recording, meetings, etc. are designed to promote effective communication and coordination between members of the team and between the team and customers, in order to develop products that meet the requirements of each stakeholder. . However, I am an autonomous developer in this project and need to be self-driven, self-managed and self-learning to develop tools suitable for librarians, so a process that promotes customization is very important. PXP exactly meets these characteristics.

Personal Extreme Programming (PXP) is a subset of XP which is a software development approach tailored for individual software engineers. The development process is shown in Figure 3. PXP inherits the advantages of XP including iteration, responding to changes in requirements and modifying task plans. This project omits the process of contacting customers for each small iteration version, because all requirements have been obtained at the requirement stage, and the time saved can be used to overcome technical challenges. In addition, this project omitted User Stories due to time and regional restrictions and focused on the development and testing of tools in order to complete all moscow's core functions within a limited time. The time saved can be used to adjust the plan when progress is stalled due to technical problems, which is more flexible. The PXP based on this project’s requirements is shown in Figure 4 Customized PXP process.

To sum up, this project finally adopted the Personal Extreme Programming (PXP) as the project development methodology. First, compared to the other four methods, it is more biased towards individual developer and project. Secondly, it allows customization based on this project.

Figure 3 PXP process.

Figure 4 Customized PXP process

Project Management

Since this project is completed independently, and the requirements are simple and do not require frequent communication and meetings with team members, a complex project management method such as scrumban will appear too redundant.

Based on the above reasons, this project will use Gantt Chart combined with customized PXP process as the overall project planning and scheduling method. (Please see Appendix C – Gantt Chart for details)The benefit of this is that it quantifies the time required for project completion and better track the progress during all stages of the project. (Kumar, 2005) What this project will do at each stage is listed in the Gantt Chart.

On the other hand, Kanban system is used as a workflow management method during the project development stage. Kanban combines the principles of Just In Time (JIT) and Total Quality Control (TQC), being an excellent tool to reduce the waste of resources and to optimize material flow. (Wakode et al., 2015)

During the development phase of this project, Kanban broke down tasks, visualized them, and prioritized them by urgency. The advantage is that you can effectively understand the completion status of the module. Each subdivided task is divided into the categories of "To do", "doing" and "done" according to its completion progress, so that you can intuitively identify whether a certain task encountered certain difficulties that could not be solved, so strategic adjustments were made. For example, if the librarian's event creation module stays on the "doing" list for a long time, you can clearly see it, and then you can analyze the reasons and make adjustments accordingly.

Project Organisation Methods

Progress Monitoring - Weekly Meeting

The progress of this project will be reported and discussed with the supervisor every Tuesday, and the supervisor's feedback will be used to improve the work content of the past week and complete the work for the next week until the end of the entire project.

Data Loss Prevention Methods

All document files related to this project (including meeting records, questionnaires, etc.) are saved in iCloud in real time, while the code is stored on the Github platform with every update. This ensures that even if the device crashes due to any operation, there will be no loss of files.

Version Control System

The code implementation of this project will use Semantic Versioning 2.0.0 as the development version number management. The naming format is MAJOR.MINOR.PATCH.

In accordance with Preston-Werner's seminal work (2013), The MAJOR version number is used when making incompatible changes to the project, which may be based on brand new requirements. Moreover, MINOR version is used when adding features in a backwards-compatible manner. In other words, this naming is based on existing functionality. Lastly, PATCH version is used when doing a backwards-compatible bug fixing operation.

Semantic versioning provides a beneficial trait of backward compatibility for users who use software libraries or public programming interfaces(APIs). (Raemaekers & Deursen, 2014) Thus, semantic versioning helps other developers continue to develop this project in the future. Additionally, using semantic versioning to manage version releases during the development process of this project will enable the code to be managed systematically. Allowing back to a specified version when needed. This is beneficial for future maintenance.

Artifact Methods

Requirements Analysis (RA) Methods

Hunman Factor - Questionnaire

Questionnaire is one of the user research and needs analysis methods in Human factors engineering. Generally, questionnaire focuses on a certain topic related to the development of the solution such as usability and acceptance. (Aromaa & Heikkilä, 2022)

MosCow

The MoSCoW method, widely employed in software development, serves as a method of software requirements prioritization (SRP) to categorize requirements or tasks according to their significance. (Sania Ahmad et al., 2017)

In this project, MoSCoW method helps identifying the most important requirements from various requirements and then complete them first, while requirements classified as "Won't Have" can be completed without wasting time. This approach makes the core requirements of the project clearer

Additionally, MosCow helps this project save time during the requirements analysis phase because it is simple enough. "The MoSCoW technique is recognized as one of the simplest methods for requirement prioritization, employed by analysts and stakeholders to prioritize requirements collaboratively". (Amman & Jordan, 2018)

Figure 7 MosCow Technique (Amman & Jordan, 2018)

Development methods

Software Design Pattern

…complete if got time

Frontend-Backend Separation

In traditional Java web projects, the mixture of dynamic and static resources on the same server often leads to server crashes, thus adversely affecting the user experience. In the current big data era, the approach of mixing front-end and back-end on a single server is gradually becoming inadequate. Conversely, the separation of front-end and back-end has become mainstream. Over the years, with the development and iteration of front-end technologies, mature frameworks have emerged. Examples include React, Angular, Vue, and other similar frameworks. (Gong et al., 2020)

Frontend-Backend Separation is used in this project.

Evaluation methods

Cognitive Walkthrough - Usability Inspection Technique

Cognitive walkthrough is a usability evaluation method used in the field of Human-Computer Interaction (HCI) and user experience (UX) design. It aims to identify potential usability issues in a software system or interface by simulating the thought processes of users as they interact with it.

Tools

Project Management Tool (PMT)

Trello - tasks and workflows organizing

This project uses Trello as the workflow management tool throughout all phases.

A Kanban board is a visual tool used to manage tasks and workflow in a project or process.

“A basic Kanban Board has states for “waiting,” “in progress,” and “completed.”” (Dalton, 2019)

First, by dragging and dropping tasks into different working stages, it can visually display the completion progress of tasks in the current sprint.

Second, small tasks can be labeled with different labels according to different stages so that it is clear to see what tasks have been done during which stage.

Third, with combining the Scrum method, allowing prioritizing tasks in each sprint by setting them from top to bottom in the Backlog card. Thus the urgent tasks will be identified and completed first.

Gantt Chart - Project Schedule Tool

Gantt charts is a project management tool for planning and scheduling projects. it visualizes the dates of starting and ending. Moreover, it helps to track various projects over specific periods. (Bednjanec & Tretinjak, 2013)

Requirements Gathering and Analysis Tool

Jisc Online Survey

Jisc Online Survey is a popular survey tool which includes different processes such as designing questionnaires, publishing questionnaires, and analyzing survey results. According to their investigation, 88% of UK higher education institutions use online surveys.

Design Tools

Figma - User Interface (UI) Prototyping

Figma is a web-based collaborative design tool. It has rich plugins such as various buttons, labels, etc. Thus, it helps quickly create prototype modules.

Lucidchart - Diagram Drawing

Lucidchart integrates various templates for diagrams, simplifying the process of creating flowcharts by allowing users to focus solely on the logic and ideation. in this project, Entity-Relationship Diagram (ERD), data flow diagram(DFD), and Database Schema Diagram has created in Lucidchart.

Python - Programming Language

As a modern programming language characterized by its ease of learning and use, Python has accumulated a substantial community over the years. With numerous contributors offering ready-made solutions, it aligns with the principle of rapid development in this project.

Flask - Backend Framework

Flask, as a lightweight and adaptable web framework for Python, facilitates rapid and straightforward development. Within this project, its primary utilization will reside in serving as the project's backend, adept at managing logical problem.

Vue.js - UI Framework

Vue is a popular front-end framework known for its lightweight nature and ease of learning, enabling rapid development. Its component-based architecture facilitates the creation of reusable user interfaces and single-page applications, significantly enhancing development efficiency. Furthermore, the use of components fosters modular development, making code maintenance easier and increasing readability. In this project, Vue will serve as the primary tool for interface development.

Mysql - Relational Database Management System (RDBMS)

The information pertaining to librarians and event participants will be stored in separate database tables, thereby accomplishing the objective of data persistence.

Implementation Tool

PyCharm

Integrated Development Environment (IDE) refers to a software application that provides a series set of tools such as code editor, compiler and debugger, etc. to support software development. PyCharm is an IDE specifically used in Python programming language. It is used as a tool for flask backend development.

Visual Studio Code (VS Code)

VSCode is another popular IDE. After years of development and iteration, its plugins community has many excellent third-party plug-ins available for installation and use. This project uses the following plugins:

Live Server: Mainly provides real-time interface performance for web development

Veter: Provides VUE grammatical error correction and other functions

Testing Tool

Pytest

Artefact

Requirements Analysis

Planning

Requirements Initialization

Must Have

Should Have

Could Have

Won’t Have

Backlog

Sprint 1 Retrospective

Sprint 1 - Design

Planning

Prototype Modelling

Figma

Figma will serve as the design tool for the user interface and interactions in this project. Its rich ecosystem of plugins provides us with numerous design inspirations and conveniences. Additionally, its Interaction feature allows the design outcomes to closely simulate the effects of the final product.

Aligning Design to Requirements

Workflows Diagram

Lucidchart

figure

Data Flow Diagram

Sprint 1 Retrospective

Sprint 2 - Development

Planning

Implementing

Testing

A lot of figure

Explain the process of using it

Sprint 2 Retrospective

Sprint 3 - Development

Planning

Implementing

Testing

Sprint 3 Retrospective

Evaluation

Planning

Interviews

Cognitive Walkthrough

Sprint 4 Retrospective

Conclusion

[The text within the square brackets must be deleted along with the square brackets themselves when finalising your chapters.

Conclusion chapter marks the end of the project report and it is a summary which brings together many of the points that you have made in other chapters. Future work, any limitations or potential improvements can be included here.

Word count should be included at the end of the last section. Please look at Section 5 of the Project Handbook for word count policy.]

Word count (main body of the report):

REFERENCES

Hopper, R. (2005) What are teenagers reading? adolescent fiction ... - wiley online library, What are teenagers reading? Adolescentfiction reading habits and reading choices. Available at: https://onlinelibrary.wiley.com/doi/10.1111/j.1467-9345.2005.00409.x (Accessed: 10 December 2023).

Dmytro (2023) QS World University Rankings 2024, Top Universities. Available at: https://www.topuniversities.com/world-university-rankings?countries=gb (Accessed: 17 March 2024).

Amman and Jordan (2018) (PDF) requirements prioritization techniques comparison. Available at: https://www.researchgate.net/publication/322487895_Requirements_Prioritization_Techniques_Comparison (Accessed: 13 April 2024).

Slawek-Polczynska, A. (2020) Is agile always the best solution for software development projects?, SolDevelo. Available at: https://soldevelo.com/blog/is-agile-always-the-best-solution-for-software-development-projects/ (Accessed: 14 April 2024).

Preston-Werner, T. (2013) Semver/semver.md at v2.0.0 · Semver/Semver, Semantic Versioning 2.0.0. Available at: https://github.com/semver/semver/blob/v2.0.0/semver.md (Accessed: 15 April 2024).

STOICA, M., MIRCEA, M. and GHILIC-MICU, B. (2013) Software Development: Agile vs. Traditional. Available at: https://www.revistaie.ase.ro/content/68/06%20-%20Stoica,%20Mircea,%20Ghilic.pdf (Accessed: 17 April 2024).

Jayatilleke, S. and Lai, R. (2018) A systematic review of Requirements Change Management, Information and Software Technology. Available at: https://www.sciencedirect.com/science/article/abs/pii/S0950584917304664 (Accessed: 17 April 2024).

Asri, S.A. et al. (2018) Comparing traditional and agile software development approaches: Case of personal extreme programming, Atlantis Press. Available at: https://www.atlantis-press.com/proceedings/icst-18/55910901 (Accessed: 17 April 2024).

Dzhurov, Y., Krasteva, I. and Ilieva, S. (2009) Personal Extreme Programming–An Agile Process for Autonomous Developers, ResearchGate search. Available at: https://www.researchgate.net/publication/229046039_Personal_Extreme_Programming-An_Agile_Process_for_Autonomous_Developers (Accessed: 17 April 2024).

Beck, K. (1999) Extreme programming explained: Embrace change. 1st edn. Boston: Addison-Wesley.

Aromaa, S. and Heikkilä, P. (2022) Design of a human factors questionnaire to evaluate digital solutions developed for industrial work, VTT’s Research Information Portal. Available at: https://cris.vtt.fi/en/publications/design-of-a-human-factors-questionnaire-to-evaluate-digital-solut (Accessed: 19 April 2024).

Sania Ahmad, K. et al. (2017b) IEEE Xplore, Fuzzy_MoSCoW: A fuzzy based MoSCoW method for the prioritization of software requirements. Available at: https://ieeexplore.ieee.org/Xplore/home.jsp (Accessed: 19 April 2024).

Gong, Y. et al. (2020) The Architecture of Micro-services and the Separation of Frond-end and Back-end Applied in a Campus Information System. Available at: https://ieeexplore.ieee.org/Xplore/home.jsp (Accessed: 20 April 2024).

Dalton, J. (2019) Kanban Board, SpringerLink. Available at: https://link.springer.com/chapter/10.1007/978-1-4842-4206-3_36 (Accessed: 20 April 2024).

Bednjanec, A. and Tretinjak, M.F. (2013) Application of gantt charts in the Educational Process | IEEE Conference publication | IEEE Xplore, Application of Gantt charts in the educational process. Available at: https://ieeexplore.ieee.org/abstract/document/6596335 (Accessed: 20 April 2024).

Raemaekers, S. and Deursen, A. van (2014) Semantic Versioning versus Breaking Changes: A Study of the Maven Repository. Available at: https://ieeexplore.ieee.org/Xplore/home.jsp (Accessed: 22 April 2024).

Alqudah, M. and Razali, R. (2016) (PDF) an empirical study of Scrumban Formation based on the selection of scrum and Kanban practices, An Empirical Study of Scrumban Formation based on the Selection of Scrum and Kanban Practices . Available at: https://www.researchgate.net/publication/329506016_An_Empirical_Study_of_Scrumban_Formation_based_on_the_Selection_of_Scrum_and_Kanban_Practices (Accessed: 22 April 2024).

Fowler, M. and Highsmith, J. (2001) The Agile Manifesto. Available at: https://nitrix-reloaded.com/wp-content/uploads/2010/01/The_Agile_Manifesto_SDMagazine.pdf (Accessed: 23 April 2024).

Auclair, L. (2023) New Data Reveal How Adults Participated in the Arts During COVID-19, National Endowment for the Arts. Available at: https://www.arts.gov/news/press-releases/2023/new-data-reveal-how-adults-participated-arts-during-covid-19#:~:text=82%20percent%20of%20respondents%20attended,taking%20online%20art%20classes%3B%20and (Accessed: 25 April 2024).

Woodley , S. and Mantell, O. (2020) Reading for pleasure. Available at: https://www.theaudienceagency.org/asset/2197 (Accessed: 25 April 2024).

Anwer1 , F. et al. (2017) Agile Software Development Models TDD, FDD, DSDM, and Crystal Methods: A Survey. Available at: http://www.ijmse.org/Volume8/Issue2/paper1.pdf (Accessed: 26 April 2024).

Punjab, R. (2011) A systematic review on Extreme Programming. Available at: https://iopscience.iop.org/article/10.1088/1742-6596/1969/1/012046/pdf (Accessed: 26 April 2024).

Dzhurov, Y., Krasteva, I. and Ilieva, S. (2009) Personal Extreme Programming – An Agile Process for Autonomous Developers, Yani Dzhurov, Iva Krasteva, and Sylvia Ilieva. Available at: https://core.ac.uk/download/pdf/213561553.pdf (Accessed: 27 April 2024).

Kumar, P.P. (2005) Effective Use of Gantt Chart for Managing Large Scale Projects. Available at: https://www.proquest.com/openview/72672e5266e73976dcac3c515234115e/1?pq-origsite=gscholar&cbl=49080 (Accessed: 28 April 2024).

Wakode, R.B., Talmale, P. and Raut, L.P. (2015) Overview on Kanban Methodology and its Implementation. Available at: https://www.proquest.com/openview/72672e5266e73976dcac3c515234115e/1?pq-origsite=gscholar&cbl=49080 (Accessed: 28 April 2024).

Appendix A - Project Proposal

Appendix B - Ethics Checklist

Appendix C – Gantt Chart

Appendix D – Risk Assessment

51作业君

Email:51zuoyejun

@gmail.com

添加客服微信: abby12468