rewording bits and pieces of analysis

master
Teyras 8 years ago
parent 7c6863bd90
commit 87e4bcd39a

@ -393,14 +393,14 @@ recruiters and also some universities.
# Analysis # Analysis
None of the existing projects we came across is capable of all the required None of the existing projects we came across fulfills all the requested features
features for the new system. There is no grading system which is designed to for the new system. There is no grading system which supports arbitrary-length
support a complicated evaluation pipeline, so this unexplored field has to be evaluation pipeline, so we have to implement this feature ourselves, cautiously
designed with caution. Also, no project is modern and extensible enough so it treading through unexplored fields. Also, no existing solution is extensible
could be used as a base for the new system. After considering all these facts, enough to be used as a base for the new system. After considering all these
it is clear that a new system has to be written from scratch. This implies, that facts, it is clear that a new system has to be written from scratch. This
only a subset of all the features will be implemented in the first version, the implies that only a subset of all the features will be implemented in the first
others coming in the following releases. version, the others coming in the following releases.
Gathered features are categorized based on priorities for the whole system. The Gathered features are categorized based on priorities for the whole system. The
highest priority has main functionality similar to current CodEx. It is a base highest priority has main functionality similar to current CodEx. It is a base
@ -417,7 +417,7 @@ side) and command-line submit tool. Plagiarism detection is not likely to be
part of any release in near future unless someone other makes the engine. The part of any release in near future unless someone other makes the engine. The
detection problem is too hard to be solved as part of this project. detection problem is too hard to be solved as part of this project.
We named the new project as **ReCodEx -- ReCodEx Code Examiner**. The name We named the new project **ReCodEx -- ReCodEx Code Examiner**. The name
should point to the old CodEx, but also reflect the new approach to solve should point to the old CodEx, but also reflect the new approach to solve
issues. **Re** as part of the name means redesigned, rewritten, renewed, or issues. **Re** as part of the name means redesigned, rewritten, renewed, or
restarted. restarted.
@ -446,28 +446,29 @@ of the system.
## Basic concepts ## Basic concepts
The system is designed as a web application. The requirements say, that user The system is designed as a web application. The requirements say that the user
interface must be accessible from students' computers without installation interface must be accessible from students' computers without the need to
additional software. This immediately implies that users are connected to the install additional software. This immediately implies that users have to be
internet, so it is used as communication medium. Today, there are two main ways connected to the internet, so it is used as communication medium. Today, there
of designing graphical user interface -- native app or web page. Make nice and are two main ways of designing graphical user interface -- as a native
multi-platform application with graphical interface is almost impossible because application or a web page. Creating a nice and multi-platform application with
of large number of different environments. Also, these applications often graphical interface is almost impossible because of the large number of
requires installation or at least downloading its files (sources or binaries). different environments. Also, these applications often requires installation or
However, creating web application is easier, because every personal computer has at least downloading its files (sources or binaries). On the other hand,
a internet browser installed. Also, browsers supports sort of unified and distributing a web application is easier, because every personal computer has an
standardized environment of HTML5 and JavaScript. CodEx is also web application internet browser installed. Also, browsers support an (mostly) unified and
and everybody seems happy about it. There are other communicating channels every standardized environment of HTML5 and JavaScript. CodEx is also a web
user have available like email or git, but they are totally inappropriate for application and everybody seems satisfied with it. There are other communicating
designing user interfaces on top of them. channels most programmers have available, such as e-mail or git, but they are
inappropriate for designing user interfaces on top of them.
The application interacts with users. From the project assignment is clear, that
the system has to keep personalized data about users and adapt presented content The application interacts with users. From the project assignment it is clear,
according to this knowledge. User data cannot be publicly visible, so that that the system has to keep personalized data about users and adapt presented
implies necessity of user authentication. The application also has to support content according to this knowledge. User data cannot be publicly visible, so
multiple ways of authentication (university authentication systems, a company that implies necessity of user authentication. The application also has to
LDAP server, an OAuth server...) and permit adding more security measures in the support multiple ways of authentication (university authentication systems, a
future, such as two-factor authentication. company LDAP server, an OAuth server...) and permit adding more security
measures in the future, such as two-factor authentication.
User data also includes a privilege level. From the assignment it is required to User data also includes a privilege level. From the assignment it is required to
have at least two roles, _student_ and _supervisor_. However, it is wise to add have at least two roles, _student_ and _supervisor_. However, it is wise to add
@ -481,22 +482,21 @@ duties related with lecturing of labs are already associated with supervisors,
so this role seems not so useful. In addition, no one requested more than three so this role seems not so useful. In addition, no one requested more than three
level privilege scheme. level privilege scheme.
School labs are lessons for some students lead by one (or sometimes two or School labs are lessons for some students lead by supervisors. Students have the
three) supervisors. Students have the same homework and supervisors are same homework and supervisors are evaluating its solutions. This organization
evaluating its solutions. This organization has to be carried into the new has to be carried into the new system. Counterpart to real labs are virtual
system. Counterpart to real labs are virtual groups. This concept was already groups. This concept was already discussed in previous chapter including need
discussed in previous chapter including need for hierarchical structure of for hierarchical structure of groups. Right for attending labs has only a
groups. Right for attending labs has only a person, who is student of the person, who is student of the university and is recorded in university
university and is recorded in university information system. To allow information system. To allow restriction of group members in ReCodEx, there two
restriction of group members in ReCodEx, there two type of groups -- _public_ type of groups -- _public_ and _private_. Public groups are open for every
and _private_. Public groups are open for every registered users, but to become registered users, but to become a member of private group one of its supervisors
a member of private group one of its supervisors have to add that user. This have to add that user. This could be done automatically at beginning of the term
could be done automatically at beginning of the term with data from information with data from information system, but unfortunately there is no such API yet.
system, but unfortunately there is no such API yet. However, creating this API However, creating this API is now considered by university leadership. Another
is now considered by university leadership. Another just as good solution for just as good solution for restricting membership of a group is to allow anyone
restricting membership of a group is to allow anyone join the group with join the group with supplementary confirmation of supervisors. It has no
supplementary confirmation of supervisors. It has no additional benefits, so additional benefits, so approach with public and private groups is implemented.
approach with public and private groups is implemented.
Supervisors using CodEx in their labs usually set minimum amount of points Supervisors using CodEx in their labs usually set minimum amount of points
required to get a credit. These points can be get by solving assigned exercises. required to get a credit. These points can be get by solving assigned exercises.

Loading…
Cancel
Save