By Team 14
The planning stage is identified by many as the most important process in the software development process as it is essential for capturing user and client requirements which form the basis of any well-designed fit-for-purpose system. For our project, we were supplied with an official brief by our clients (as shown below) which, through further discussion with them, was altered to fit our development time-frame and the skills/assets at our disposal. In our meetings, we also identified a list of requirements for our systems as shown on this page.
"Data journalism solution for analysing all of the UK House of Commons debates since 1988. Big data semantics similarity search with Machine Learning APIs"
The official brief changed and the machine learning aspect of the project has been take out. We are also including all the debates that have been recorded since 1802 rather than 1988 onwards. Our API will be accessible by the public.
Fundamentally, our system is to be made in the form of a web application and it would be hosted on the web, which would be accessed by users through a web page. Our system has to somehow extract text from the Hansard database and display search results when queried. We also need to provide the public with API, which could be in the form of RESTful or Java API.
On top of the fundamental requirements, the system should also provide at least a few important features to provide better usability to the users. The users should be able to search by topic, either by choosing from a given list or by filling a form field. After a search has been performed, the system should also suggest texts that are similar to the one currently presented. The users should also be able to choose the size of the texts being displayed. This can range from individual sentences to whole debates.
| Requirement No. | Name | Description | Priority | Functionality |
|---|---|---|---|---|
| RQ01 | Web-site | The system is to be hosted on the web, being accessed through a web-page | Must-have | Functional |
| RQ02 | Retrieve Text From Hansard | The systems is to retrieve text from the Hansard online database and then show this data to the user | Must-have | Functional |
| RQ03 | Create Open-Source API | Wrap the core functionality in an API to let users interact with the data. Either RESTful or Java API | Must-have | Non-Functional |
| RQ04 | Different-Sized Text Retrieval | The ability to retrieve whole debates, paragraphs or sentences from the Hansard database at the user's request | Should-have | Non-Functional |
| RQ05 | Browse Data by Topic | Select a topic from a list or search using a form field to retrieve all data relating to the topic | Should-have | Functional |
| RQ06 | Similarity Suggestions | Suggest similar text from the Hansard database to the one being currently viewed | Should-have | Functional |
| RQ07 | Graphical Representation | Implementation of tools which allow for a graphical representation of data such as pie-charts of what parties talk about a particular project | Could-have | Non-Functional |
| RQ08 | Political trend-finding | Retrieve text to find trends of hypocrisy and consistency of political parties | Could-have | Non-Functional |
| RQ09 | Spell-Checking | Suggests alternate queries if a spelling mistake is detected | Would-have | Non-Functional |