Skip to content

Commit

Permalink
[Doc] Define the user roles
Browse files Browse the repository at this point in the history
  • Loading branch information
Huy-Ngo authored Jan 30, 2021
1 parent f0ea2f0 commit 502807f
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 0 deletions.
1 change: 1 addition & 0 deletions docs/source/req/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,6 @@ This section concerns requirements for the system-to-be.
.. toctree::
:maxdepth: 2

users
use-case/index
suppl-spec
50 changes: 50 additions & 0 deletions docs/source/req/users.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
Types of Users
==============

Firstly, to understand which use cases that need to be implemented,
we analyzed which types of users there are and how they interact
with our system.

The primary users are **students** and their **supervisors**.
They can interact quite similarly with the system:

- Create a new project
- Edit public information about a project
- Invite new members to a project
- Create new tasks
- Evaluate the tasks

However, there are differences between what students and supervisors can do.
Unlike supervisors, students are not allowed to evaluate the project.
On the other hand, supervisors should not be able to do tasks nor to upload
project reports and slides while students can do those tasks.

After the students submit the reports, there will be **judges**
whose responsibility is to assess these reports. They also evaluate
the groups' project oral defense (also called *presentation*).
They should therefore be allowed to access and evaluate
reports and slides of projects they are assigned.

During the process, **academic assistants** of each faculties should collect
statistical reports of each project and print the results of the subject.

The system's user categories can be summarized in the table below

.. tabularcolumns:: |l|L|L|

========== ========================= ===============================
Type Responsibility Ability
========== ========================= ===============================
Student progress the project manage projects,
manage and complete tasks,
upload reports and slides
Supervisor support the group and create tasks, evaluate projects
evaluate the project
Judge evaluate groups' access and evaluate
reports and presentations reports and presentation
Assistant collect statistical aggregate and export
report and evaluation projects' evaluation
========== ========================= ===============================

In the system, we assigned users of each group a role: ``student``,
``supervisor``, ``assistant``, ``judge``.

0 comments on commit 502807f

Please sign in to comment.