Requirements
Project Background and Client Introduction
We started the project with the goal of being able to socialize the idea of AI model testing with a focus on user centric development. Current solutions host datasets, but what is provided by data scientists are either research papers, or at best source code. Training models or requesting code takes time and recourses, and you can run into problems with dependencies, versioning, and lack of expertise.Our solution will provide trained, dockerised, machine learning models ready to be run on local machines. Our service will also hosts datasets for testing these models, and users can upload results back onto the platform to provide feedback.
Our client is Dr Joseph Connor of the NHS, and he is representative of the clinicians and data scientists that would use our product in the future.
Project Goals
Machine Learning Models such as Image Classifiers are very useful tools to help aid doctors in the diagnosis of various diseases. While developing these tools, it is imperative to have a collaborative platform to host models and datasets to help with versioning, collecting feedback and sharing models (as well as training them on various datasets uploaded by clinicians.
This is why we set out to build this brand new platform, to socialise the goal of AI model testing within the NHS. Current solutions host datasets, but what is provided by data scientists are either research papers, or at best source code. Our goal was to provide trained docker models, ready to be run on local machines. Datasets will be displayed with their compatibilities and users can upload results back into the platform to provide feedback. This allows to effective and secure collaboration. More specific functionality are stated below:
- A closed system, where administrators can add new users with either read permissions or read and write permissions.
- Upload and download of datasets and trained machine learning models which are dockerised server side.
- These uploaded docker images can be downloaded and users can test these models with provided feedback.
- Users themselves can them submit feedback on these models to support collaboration
- These requirements have turned into finished functionality and hosted on Linode
Requirement Gathering and Personas
How did we collect requirements?
We conducted interviews with pseudo–NHS Clinicians and Data Scientists to understand our two main user types, their underlying motivations and what features they want the app to have. Our findings have been consolidated into notes and aided in devising our personas and scenarios. We used the features our pseudo users expressed to formulate a list of requirements which we then discussed with our client. After negotiation on what is needed and what we could deliver efficiently and quickly, we came up with our functional and non- functional MoSCoW chart.
How we designed the questions + analysis of responses (Personas)
We conducted all requirements gathering in the form of video interviews with pseudo users. Based off the problem and project background we were presented with from our client, we designed a survey. We went through this survey with our pseudo users and user their insights to devise our feature list. We ensured the list of questions were open ended, to prevent an interviewer bias.Personas


Use Cases
Use Case Diagrams



Master Use Case Table
ID | Use Case |
---|---|
UR01 | Viewing the datasets and models |
UR02 | Download dataset |
UR03 | Download and run model |
UW01 | Upload dataset |
UW02 | Upload model |
UW03 | Delete dataset |
UW04 | Delete model |
UU01 | Add new users |
Use Case Table Breakdowns
ID | Actor | Description | Main Flow | Result |
---|---|---|---|---|
UR01 | User with Read Permission | Viewing Datasets and Models | Users logs in. Browses through the pages using the given navigation buttons at the bottom of the page. They can then choose to view the datasets or the models by clicking corresponding buttons. | Viewing Datasets and Models |
UR02 | User with Read Permission | Download Dataset | The user searches for a dataset and views the dataset. They can also download the dataset and open the downloaded dataset. | Local copy of wanted dataset on user’s machine |
UR03 | User with Read Permission | Download and run model | The user searches for a model and views the model. Then, they download the model, run it with the instructions from the readme and test it. Optionally, the user can give feedback on the platform. | Local copy of wanted model on user’s machine and they can run on datasets to view results and provide feedback. |
UW01 | User with Read and Write Permissions | Upload dataset | The user uploads a dataset using the provided information, after uploading, the user can search for the uploaded dataset. Finally, the user can navigate to the dashboard and verify dataset has been uploaded. | Dataset hosted on the platform |
UW02 | User with Read and Write Permissions | Upload a model | The user uploads a model using the provided information and set up their own requirements and config files. After the user uploads the relevant files, they can navigate to the dashboard and verify the model has been uploaded. | Model hosted on the platform |
UW03 | User with Read and Write Permissions | Delete dataset | The user navigates to the dashboard and views the datasets they have uploaded, optionally, they can delete their datasets | Dataset deleted off the platform |
UW04 | User with Read and Write Permissions | Delete model | The user can navigate to the dashboard, view the models they have uploaded, optionally, they can delete their models | Model deleted off the platform |
UU01 | User with Read, Write and Create New User Permissions | Add new users | The user navigates to the dashboard section, and clicks the ‘add new user’, they then enter the new user's credentials and permissions before adding them to the system. | New user added to the team |
MoSCoW requirements
Functional
ID | Requirements | Priority |
---|---|---|
1 | A closed authentication / login system where clinicians have download access and data scientists have download and upload access. | Must |
2 | Upload of trained machine learning models which are dockerised | Must |
3 | Docker images can be downloaded and run locally with a provided frontend, allowing users to make predictions. | Must |
4 | Upload of datasets as zips | Must |
5 | Download of datasets as zips | Must |
6 | Functioning deployment onto Linode | Must |
7 | Administrative user type which can create new users | Should |
8 | Delete uploaded models | Should |
9 | Delete uploaded datasets | Should |
10 | Search for datasets / models through a search bar | Should |
11 | Private dashboard to view the users own uploaded datasets and models | Should |
12 | Upload results / feedback onto the platform | Could |
13 | Records of model downloads stored to prompt users to give feedback | Could |
Non Functional
ID | Requirements | Priority |
---|---|---|
1 | Security | Must |
2 | Performance | Must |
3 | Reliability | Must |
4 | Usability | Must |
5 | Software Portability | Should |
6 | Maintainability | Should |
7 | Testability | Should |
8 | Interoperability | Could |
9 | Extensibility | Could |
10 | Open Source | Won't |