Skip to content

Project Requirements

nevzatersoy edited this page Nov 24, 2019 · 49 revisions

Index

Glossary

Definitions

  • Admin: A priviliged user who is responsible for providing secure environment for users.An admin has the ability to delete contents, ban users and arrange system contents.
  • Advanced Search: Finds exercises with respect to exercises' type, topic, difficulty and scope.
  • Annotation: Explanatory content attached to an item.
  • Approval: Acceptance or Rejection of a material after evaluation by experts.
  • Authorization: Authorization is a security mechanism used to determine user/client privileges.
  • Chat: Communication with other users via texting on the platform in order to improve colloquial language.
  • Client-side : The environment that runs scripts on a browser.
  • Comment: A body of text about users or learning materials.
  • Content: Each of reachable course material.
  • Content Search: Finding exercises with keywords and tags, system will bring only exact matches.
  • Essay: Writing assignment which is sent to experts.
  • Expert: A user who accept essays in one language to review and approves if suggested materials are appropriate for platform.
  • GDPR:General Data Protection Regulation is to better protect the personal data of European Union data subjects.
  • Guest: A person who is not registered.
  • Header injection: A general class of web application security vulnerability which occurs when Hypertext Transfer Protocol (HTTP) headers are dynamically generated based on user input.
  • HTML sanitization: The process of examining an HTML document and producing a new HTML document that preserves only whatever tags are designated "safe" and desired.
  • HTTPS: The secure version of the standard “hypertext transfer protocol” your web browser uses when communicating with websites.
  • Input validation: the proper testing of any input supplied by a user or application.
  • Learner: A user who select one language to learn.
  • Learning Material: Every document or exam which helps to learn a language.
  • Level: Borders used by system to rectrict users to reach contents.Users are attended to a certain level once they solve the proficiency exam.
  • Native Speaker: User who registered his/her nation with the stated language as the spoken language of that nation.
  • Proficiency Exam: Exam containing Vocabulary, Grammer, Reading, Listening sections to determine a user's degree of knowledge in the relevant language. It is done to place students in appropriate degrees
  • Request: The message that the system send while communicating with server-side or client-side.
  • Semantic Search: Finding exercises with keywords and tags, system will bring related exercises.
  • Server-side: The environment that runs scripts on a web server.
  • Tag: Keyword or term assigned to a piece of information. Used in categorization of topics existing in the course material.

Requirements

1. Functional Requirements

    1.1. User Requirements
    • 1.1.1. Registration and Login
      • 1.1.1.1. Users shall be able to either create an account or continue as a guest user.
      • 1.1.1.2 Registered User
        • 1.1.1.2.1. Users shall be able to sign up by providing a username with at most 10 characters, an email, at least six character long password and native language.
        • 1.1.1.2.2. Users shall be able to login to the application by providing his/her username or email and password.
      • 1.1.1.3 Guest User
        • 1.1.1.3.1. Guest users shall have limited access to content.(Only first exercises of exercise types)
      • 1.1.1.4 Admin User
        • 1.1.1.4.1. Admin users shall be able to delete abusive content and users.
        • 1.1.1.4.2. Admin users shall be able to alter the content of exercises.
    • 1.1.2. Course Material
      • 1.1.2.1. Users shall be able to apply to any language he/she wants to learn.
      • 1.1.2.2. Users shall be able to request a proficiency exam, with respect to users’ level, to level up. Users shall be able to level up if their number of correct answers is at least twice as many as their incorrect answers.
      • 1.1.2.3. Users shall be able to take listening, reading, grammar, vocabulary exercises.
      • 1.1.2.4. Users shall be able to access the lower level contents.
      • 1.1.2.5. Users shall be able to suggest new material for a language.
      • 1.1.2.6. Admins shall review and approve suggested new materials to the system.
      • 1.1.2.7. Users shall be able to see the correct answers after the exercise.
    • 1.1.3 Writing Assignment
      • 1.1.3.1. Users shall be able to upload a text file or image file that includes text as a writing exercise
      • 1.1.3.2. Users shall be able to select one user and see recommended users who are provided by the application.
      • 1.1.3.3. Users shall be able to communicate with the users that are currently reviewing his/her writing exercise through a built-in communication mechanism
      • 1.1.3.4. Users shall be able to reject an essay request.
    • 1.1.4 Annotation in writing exercise
      • 1.1.4.1 Users shall be able to annotate essays that are in either text or image form, as a feedback for the writing exercises.
      • 1.1.4.2 Users shall be able to comment to annotations.
      • 1.1.4.3 Users shall be able to annotate images or texts.
    • 1.1.5 Chat
      • 1.1.5.1 Users shall be able to chat with other users.
    • 1.1.6 Tracking for progress
      • 1.1.6.1 Users shall be able to track progress and what she/he accomplished so far.
      • 1.1.6.2 Users shall be able to see statistics about the ratio of completed exercises.
      • 1.1.6.3 Users shall be able to view average grade.
    • 1.1.7 Rating & Comment
      • 1.1.7.1 Users shall be able to view user's rates and comments about her/him.
      • 1.1.7.2 Users shall be able to vote users to whom they've sent an essay.
      • 1.1.7.3 Users shall be able to comment about users to whom they have sent an essay.
    • 1.1.8 Search
      • 1.1.8.1. Users shall be able to search a user and a content semantically through keywords.
      • 1.1.8.2. Users shall be able to do advanced search a user and a content through tags.
      • 1.1.8.3. Users shall be able to suggest tags and keywords about material which they suggest.
      • 1.1.8.4. Admin users shall be able to approve or reject the suggested tags for the materials.
    1.2. System requirements
    • 1.2.1 Recommendation
      • 1.2.1.1 The system shall provide a recommendation mechanism for users in order to suggest a set of users that are eligible to review a writing exercise.
    • 1.2.2 Search
      • 1.2.1.1 The system shall provide a mechanism for searching a content semantically.
      • 1.2.1.2 The system shall provide a mechanism for searching a content with exact matching.
    • 1.2.3 Education Language
      • 1.2.3.1 System shall supply materials for learners in Turkish, English and German.
    • 1.2.4 Commenting and Rating
      • 1.2.4.1 System should keep comments and votes mentioned in 1.1.7 and evaluate overall ratings for the relevant user profiles.
    • 1.2.5 Annotation
      • 1.2.5.1 The system shall provide an annotation mechanism for users to annotate a text, an image file or a part of an image file.
    • 1.2.6 Communication System
      • 1.2.6.1 System should provide an interface for communication between users.
    • 1.2.7 Adding New Learning Materials
      • 1.2.7.1 System should redirect the materials suggested from users mentioned in 1.1.2.5 to admins in order to get approval about materials.
    • 1.2.8 Apparency & Privacy
      • 1.2.8.1 System should maintain the privacy by restricting the accessibility to user profiles from guest users.
      • 1.2.8.2 System should restrict guest users from rating & commenting for the user profiles.
    • 1.2.9 Progress & Statistics
      • 1.2.9.1 System should provide an interface to let user track and monitor his/her progress.
      • 1.2.9.2 System should also provide statistics of ratio of completed exercises, average grade.
    • 1.2.10 Automatic Grading
      • 1.2.10.1 System shall automatically grade listening, reading, grammar and vocabulary exercises and shall be capable of highlighting the correct answer if the provided one by the user is wrong.

2. Nonfunctional Requirements

    2.1. Availability and Accessibility
    • 2.1.1. The system should work on any web browsers except IE10 and older versions.
    • 2.1.2. The application shall be provided for Android 7 and later versions.
    • 2.1.3. The system should inform the user if the application is not able to provide a service.
    • 2.1.4. If a failure happens, the problem should be fixed within 1 hour.
    2.2. Performance and Response time
    • 2.2.1. The system shall block an excessive amount of access requests made in a short amount of time.
    • 2.2.2. The system shall back-up user-expert messages once a month.
    • 2.2.3. The system shall use encryption for user messages and passwords.
    2.3. Annotations
    • 2.3.1. W3C Web Annotation Data Model shall be used for writing exercises which are annotated by learners and experts.

    • 2.3.2. Implementation of this system will follow the standards introduced by the World Wide Web Consortium (W3C).

    2.4. Reliability
    • 2.4.1. The system shall endure up to 250 users without breaking.
    • 2.4.2. The system shall provide materials to searches within 3 seconds.
    2.5. Security
    • 2.5.1. The system should use input validation.
    • 2.5.2. The authorization should always be done on the server side.
    • 2.5.3. The system should not use redirect to prevent header injection.
    • 2.5.4. The system should sanitize the user input.
    2.6. Privacy and GDPR
    • 2.6.1. The system should have a privacy policy and this policy should be seen easily by users.
    • 2.6.2. The user should have right to object processing of self data for direct marketing.
    • 2.6.3. The user should have right to object processing that is based on profiling.
    • 2.6.4. The system should not collect or try to predict users personal data like religion, gender, identity, race, political leanings.
Clone this wiki locally