Skip to content

Specification of Requirements

stebjan edited this page Apr 30, 2014 · 1 revision

1. Introduction

1.1 Subject of Specification

This specification describes requirements of EEG/ERP Portal that is a web-based application serving for storing and managing EEG/ERP experiments and data.

1.2 The Target Audience

This specification is intended to developers and testers of EEG/ERP Portal.

1.3 Project Scope

EEG/ERP Portal enables community researchers to store, update, download and search data and metadata from EEG/ERP experiments. The system is developed as a standalone product; the database access is available through a web interface. The EEG/ERP Portal is mainly used for scientific purpose.

2. General Description

2.1 System Context

EEG/ERP Portal is a standalone product developed as a web-based application. It is a new project and is not dependent on other applications or components. Functionality of the Portal is only dependent on remote PostgreSQL database for storing experimental data and metadata.

2.2 Functionality of Product

EEG/ERP Portal provides the following main features:

  • Registration and log-in
  • Registration of research groups and managing them
  • Storing, updating and sharing experiments
  • Storing, updating and sharing experimental scenarios
  • Publishing and editing articles and comments
  • Full-text and advanced search
  • Analyzing experimental data
  • Adding and updating experimental environments and other parameters
  • Administration

2.3 Class of Users

Anonymous user is able to register.

Registered user has read-only access to public experiments and scenarios. He/she is able to register another person or research group.

Registered user – member of group has – in addition to registered user – read-only access to private experiments and scenarios of research groups, where he/she is a member.

Experimenter has to be member of any group. He/she has read-only access to public and group experiments and scenario. He/she is able to add his/her own experiment or scenario and to edit them. He/she also can add subject persons.

Administrator has access to all experiments, scenarios and personal data. He/she is able to watch history of downloading and can also change permission of other users.

2.4 Design and Implementation Restrictions

EEG/ERP Portal is written in Java language. It uses Spring MVC framework. Access to the database ensures framework Hibernate with JPA annotations. For presentation layer, the framework Wicket is used.

3. System functionality

3.1 Registration and Log-in

A user of the EEG/ERP Portal is able to register filling the registration form. When a user hits the registration button, the filled form is validated (non-empty fields, valid email address, unique account name, double checking of password, and captcha). When validated, the unconfirmed registration is stored into the database.

A confirmation email will be sent to the user’s email. When hitting the confirmation link, the registration is changed to confirmed.

When confirmed, a user is able to log-in filling the log-in form in homepage. This form is compared by credentials stored in the database. If the credentials match, a user is logged-in. A user is also able to log-in via his/her Facebook or LinkedIn account. 

If a user forgets his/her password, system sends him/her newly generated password via email (after he/she fills his/her username).

3.2 Managing account

A logged user is able to manage his/her account clicking on My account link on the top of a page. It provides following features:

  • Account overview – A user can look at his/her account summary and group membership
  • Change password – A user is requested for filling his/her old password and for filling the new password twice. This form is validated; the old password must match with the password stored in the database. When validated, the new password is stored into the database
  • Social networks – A user can link his/her account with his/her LinkedIn or Facebook account.

3.3 Articles

A registered user is able to create and publish articles. He/she is requested for filling the title of an article and a text of this article. Title and text are validated (non-empty fields, max length of title/text).

Users are able to comment articles or can comment previous comments. An owner of an article or a comment is able to edit or delete (the comment) it.

Users are able to choose by the checkbox, whether they want to display articles posted via LinkedIn as well.

3.4 Search

The feature Search is split into two types:

  • Full-text search is available for all registered users on the top of a page. A user fills a text field and hits the Search button. Full-text search goes over data/metadata stored into the database and LinkedIn articles. It displays related results to the result page.
  • Advanced search is divided into three groups:
    • Experiment search – It search data/metadata related to experiment. A user is able to select field and fill requested string. The search algorithm returns experiments that contain the string in a specific field (start time, end time, gender, scenario name, temperature, environment note, hardware).
    • Scenario search – It search data/metadata related to scenario. A user is able to select field and fill requested string. The search algorithm returns scenarios that contain the string in a specific field (title, length, description).
    • People search – It search data/metadata related to person. A user is able to select field and fill requested string. The search algorithm returns persons that contain the string in a specific field (name, surname, gender, year of birth, note).

A user is able to add new fields and set conditions among field (and/or).

3.5 Experiments

The experiments section is available from main menu on the top of a page clicking on label Experiments. A registered user is able to display all public experiments. If a user is a subject person, he/she is also able to display experiments, where he/she is a subject (even if they are private). The button All experiments in the left menu displays these experiments as well.

The button Me as subject causes that DAO finds and the presentation layer displays all experiments, where the user is a subject person.

Registered user have also access to their own experiments (if they are or was experimenters) hitting the button My experiments in the left menu. System finds and displays all experiments that the user owns.

Experimenters are able to add their own experiments. When a user hits the button Add experiment in the left menu, the wizard form is displayed. This form is divided into three parts:

  • Scenario – An experimenter fills related research group, used scenario, start and end time, subject person, and experimenters. This form is validated (non-empty fields, valid time and date). Hitting the button Next, the environment part is displayed.
  • Environment – An experimenter fills used hardware and software, if the subject has any disease and uses any pharmaceuticals, the environment temperature and note. This form is validated (non-empty fields, length of the note, correct format of temperature). Hitting the button Next, the data part is displayed. Hitting the button Previous, the filled scenario part is displayed.
  • Data – An experimenter uploads data file(s). The field file(s) must not be empty. Hitting the button Finish, the experiment is stored into the database and the experimenter is set as an owner. Hitting the button Previous, the filled environment part is displayed.

 

//TODO Licenses

List of experiments (all, me as subject, my experiments) provides an opportunity to display a detail of selected experiment. Detail includes data and metadata, and provides to users following features:

  • Download experiment – After hitting the button Download experiment on the bottom of the page, the downloading form is displayed. A user chooses what data and metadata wants to download (only owner and administrator can download personal data). Then the system creates a zip file containing selected data/metadata for download.
  • Edit experiments – Owners and administrators are able to edit stored experiments. The filled wizard is displayed when a user hits the button Edit.
  • Add additional parameters – Owners and administrators are able to add additional parameters. When a user click on the button Add additional parameters, the form allowing the addition is displayed.

List of experiments also provides an opportunity to direct download the experiment without looking at the detail. The link Download displays the downloading form of the selected experiment. A user chooses what data and metadata he/she wants to download. The list provides services for analyzing data of selected experiment (see paragraph 3.6). displays the downloading form of the selected experiment. A user chooses what data and metadata he/she wants to download. The list provides services for analyzing data of selected experiment (see paragraph 3.6). displays the downloading form of the selected experiment. A user chooses what data and metadata he/she wants to download. The list provides services for analyzing data of selected experiment (see paragraph 3.6).

3.6 Data Analyzing

When a user wants to analyze data from any experiment, he/she displays a list of experiments, select requested experiment and hits the link Services.

The EEG/ERP Portal sends a request to the EEG Data Processor and obtains list of available methods. A user chooses the method and click on the button Next. System obtains a list of requested parameters and displays a form. When a user fills the form and click on the button Run, data and parameters are send to EEG Data Processor. Obtained result is stored into the database and the user is set as an owner.

A user is able to obtain results by hitting the button Services results in the left menu. A list of results is displayed and he/she is able to download or delete them.

3.7 Scenarios

The scenarios section is available from main menu on the top of a page clicking on label Scenarios. A registered user is able to display all public scenarios. If a user owns any scenarios, these scenarios are displayed as well. All these scenarios are also available by clicking on All scenarios in the left menu.

A user is able to display his/her own scenarios by hitting the button My scenarios in the left menu.

An experimenter is able to add his/her own scenario by clicking on the button Add scenario. System displays the form and a user fills scenario details. This form is validated (unique and length of the title, length of the description, format of the length field). Uploading scenario file is optional. Hitting the button Save, the scenario is stored into the database and the user is set as an owner.

List of scenarios (all/my) provides an opportunity to display a detail of selected scenario. An owner is able to edit id. If the scenario contains a file, a user is able to download it.

List of scenarios also provides an opportunity to direct download the scenario (the button Download) if the selected scenario contains it.

3.8 Groups

The groups section is available from main menu on the top of a page clicking on label Groups. When a user hits this label or the button All groups in the left menu of this section, system displays all registered groups. The list of all groups provides an opportunity to display a detail of selected group. This detail includes name and description of this group. A user is able to request a membership when he/she clicks on button Membership request in the detail of the group. This request is sent by email to an administrator of the group.

The button My groups displays groups, where a user is a member. This list also provides an opportunity to display a detail of selected group. This detail includes name and description of this group and provides an opportunity to display a list of members by the button List of members.

A member of any group is able to request the change of his/her group role. The button Roles in the left menu displays a form, where a user chooses the group and requested role. When he/she clicks on the button Send request, the system sends this request to an administrator of this group by email.

A user is able to create his/her research group. The button Create group in the left menu displays a form and the user fills name and description of the group. This form is validated (non-empty fields, unique name, length of name and description). When a user clicks on the button Save, the group is stored into the database and the user is set as an administrator of the group. He/she is able to add members.

3.9 People

The people section is available from main menu on the top of a page clicking on label People. When a user hits this label or the button All people in the left menu of this section, system displays all registered or added persons.

This list provides an opportunity to display a detail of selected person. Experimenters and administrators of the EEG/ERP Portal are able to see all personal data.

Administrators are able to edit personal data clicking on the button Edit.

Experimenters and administrators are able to add a new person. When a user clicks on the button Add person, the system displays a form. This form is similar to the registration form and is also validated (see the paragraph 3.1). Password to this person is automatically generated and sent to a person’s email. Confirmation is not required.

3.10 Lists

The lists section is available from main menu on the top of a page clicking on label Lists. The left menu of this section includes following lists:

  • Hardware
  • Software
  • Disease
  • Pharmaceuticals
  • Project type
  • Optional parameters
  • File metadata
  • Weather
  • Artifacts
  • Artifact removal

When a user clicks on any button (e.g. Hardware), the list of selected items (e.g. hardware) is displayed. Items are divided into default (available for all groups) and group items. The page with list of items includes group filter. A user can select a group and the system displays items belonging to the selected group.

A user is able to add/edit an item. He/she is requested to fill a form and hit the button Save. All forms are validated (non-empty fields, if they are required, and length of fields). A user chooses the group that the item belongs to.

These items are used in wizard for adding experiments.

3.11 History

Downloading of experiments, data, and scenario files is stored into history (the database). Section history is available for administrators only. When an administrator clicks on the label History in main menu on the top of a page, the graphic visualization of history is displayed. An administrator can switch among daily, weekly and monthly history using buttons in the left menu of this section.

3.12 Administration

The administration section is available only for administrators. It allows to administrators changing role of other users.

4. Requirement for External Interface

4.1 User Interface

User interface of the EEG/ERP Portal is accessible via web browser. Any web page is divided into following sections:

  • Main menu – is set on the top of any page. It includes the logo, login (logout), account management, full-text search, and section links.
  • Left menu – is set on the left of any page (excluding homepage and registration page). Content of the left menu is dependent on selected section.
  • Content – is set on the center-right of any page and includes content of a page.
  • Footnote – is set on the bottom of any page.

4.2 Software Interface

EEG/ERP Portal is running on Linux operating system. It uses Java 1.6 and Jetty web server 6.1.9. Data are stored in PostgreSQL database.

4.3 Communication Interface

EEG/ERP Portal is a web application therefore, a web browser is required. This application is controlled by a mouse and a keyboard.

Attachment A: List of Abbreviations

EEG – electroencephalography

ERP – event-related potential

MVC – model – view – controller

JPA – Java persistence API

DAO – data access object

SQL – structured query language