Requirements - bounswe/bounswe2016group8 GitHub Wiki

Summary

This project is about creating a learning space for learners and teachers. It aims to be an engaging platform that motivates critical thinking and helps people move towards a better understanding new concepts.

This platform will enable teachers or in this context, people who wish to share their knowledge about a particular subject, to create material that exposes students to new concepts and encourage research & exploration.

Since semantic tagging - possibly file system - will be used, a person may search a topic of his/her interest using keywords related to the subject. Also we place great importance on the quality of a feedback system as it provides information and observations about a performance, a paper or in our case content of a topic. Teachers may provide feedback to learners and vice versa, so that the users of our project can improve in the future.

Glossary

  • Content: Text or videos -maybe backed up by some pictures- about some particular subject.
  • Guest: An individual who can only access a limited part of the website.
  • User: Anyone who interacts with the website.
  • Register: Providing a unique e-mail address(that was not used during a prior registration operation) and setting a password, thus creating an e-mail--password pair for the system. Then being recognized as a registered user.
  • Log in: Providing an e-mail address -- password pair that was used during a registration operation, in order to be able to access and interact with a bigger part of the website than a guest.
  • Teacher: A registered user who has authorization to create new content.
  • Student: A registered user who is not a teacher (who has no authorization to create and/or update content), who can interact with the content provided by teachers.
  • Follower(of some teacher(s) ): Registered users who are notified by e-mail when a particular teacher or a group of teachers create or update content.
  • Topic: A content that is created by a teacher.
  • Rate: Assigning a positive integer value to a topic, comment or a user as a feedback for the contributions it/he/she had made to the system.
  • Rating(of a user/topic/comment): The avarage of all the numbers that were assigned(rated) to a user/topic/comment.
  • Discussion Page: Page associated with a topic page on which students and teachers can either comment, ask questions about the topic or discuss relevant subjects with topic.

Requirements

  • 1.Functional Requirements

    • 1.1 Sign Up & Account Management

      • 1.1.1 Guests shall register with a unique email, username and a password to the system.
      • 1.1.2 Guests shall login to the system with their registered email address and chosen password.
      • 1.1.3 Users shall be able to reset their password if necessary.
      • 1.1.4 Users shall be able to set a profile photo.
      • 1.1.5 Users shall be able to choose to have a teacher account, if not chosen their account type will be student type.
      • 1.1.6 Users shall be able to deactivate their account.
      • 1.1.7 Users shall lose their teacher account if they receive reports from other users.
    • 1.2 User Profile Pages

      • 1.2.1 Users shall have a ‘student’ user type if they don't choose to have a teacher account.
        • 1.2.1.1 Students shall see their followed topics on their profile pages.
        • 1.2.1.2 Students shall be able to see last exam results if they take.
        • 1.2.1.3 Students shall see the notifications on their profile pages.
        • 1.2.1.4 Students shall see their activities on their profile pages.
        • 1.2.1.5 Students shall see a search bar on the top of their profile pages.
      • 1.2.2 Users shall choose ‘teacher’ user type to be able to create topics.
        • 1.2.2.1 Teachers shall have all the properties of student user types.
        • 1.2.2.2 Teachers shall have all the features of a student type profile page on their profile pages.
        • 1.2.2.3 Teachers shall be able to create topics from their profile pages.
    • 1.3 Topics

      • 1.3.1 Discussion Page
        • 1.3.1.1 Each created topic shall have a discussion page.
        • 1.3.1.2 Students and teachers shall be able to add comments on discussion page of topics.
          • 1.3.1.2.1 Students shall follow the topic to able to add comments on that topic's discussion page.
          • 1.3.1.2.2 Comments can contain a question or a statement.
        • 1.3.1.3 Students and teachers shall be able to answer the comment.
          • 1.3.1.3.1 Students shall follow the topic to able to answer comments on that topic's discussion page.
        • 1.3.1.4 Users shall be able to rate comments.
          • 1.3.1.4.1 Top scored comments shall be placed at the top of other comments.
      • 1.3.2 Glossary Page
        • 1.3.2.1 Each created topic should have a glossary page if the teacher of the topic created one.
        • 1.3.2.2 Teachers shall be able to edit a Glossary Pages of their topics.
        • 1.3.2.3 Teachers shall be able to link the words in the lecture with Glossary Pages.
          • 1.3.2.3.1 Users should see a hover-box of the word in the Glossary Page.
      • 1.3.3 Reference Page
        • 1.3.3.1 Each created topic should have a reference page if the teacher of the topic created one.
        • 1.3.3.2 Teachers can collect all the references in the reference page.
        • 1.3.3.3 Teachers shall be able to add extra references if they want.
      • 1.3.4 Exam Page
        • 1.3.4.1 Teachers shall be able to create questions about topic
          • 1.3.4.1.1 The questions shall be multiple choice or fill in the blanks style
        • 1.3.4.2 Students shall be able to take created exams
          • 1.3.4.2.1 Students shall be able to take the same exam more than once.
          • 1.3.4.2.2 Students shall be able to see the results after finishing the exam.
          • 1.3.4.2.3 The results of last attempt shall send to their profile.
      • 1.3.5 Topics Main Page
        • 1.3.5.1 The Page shall consist of the all contents about topic added by teacher except references, glossary, and comments.
          • 1.3.5.1.1 The teacher shall be able to add text about content in English
          • 1.3.5.1.2 The teacher shall be able to add images about content in .png format
          • 1.3.5.1.3 The teacher shall be able to add graphs, tables only in image format.
    • 1.4 Connection & Following

      • 1.4.1 Users shall see the notifications on their profile pages.
      • 1.4.2 Teachers shall receive notifications whenever their topics are followed.
      • 1.4.3 When the test results of a topic are announced, users shall receive notification, if they took the test.
      • 1.4.4 Users shall be able to follow teachers.
        • 1.4.4.1 When a teacher opens a new topic, his/her followers shall receive notification.
        • 1.4.4.2 Users shall be able to unfollow teachers.
    • 1.4.5 When a new content is added to a topic page, users shall receive notification if they are following this topic.

    • 1.5 Searching & Tagging

      • 1.5.1 Searching and tagging system shall provide semantic tagging.
      • 1.5.2 Users shall be able to search the topics according to their name, tags, and teachers.
      • 1.5.3 Users shall be able to filter the topics according to their name, tags, teachers, and ratings.
      • 1.5.4 Only the teacher of a topic shall add a tag to his/her topic.
      • 1.5.5 Teachers shall be able to add or delete the tags they created.
      • 1.5.6 Each topic shall hold limited number of tags.
      • 1.5.7 Users should be able to report the irrelevant tags to the system.
    • 1.6 Recommendation

      • 1.6.1 When users search, related materials shall be recommended by the system.
        • 1.6.1.1 The system shall record users' history search.
      • 1.6.2 Users shall be able to filter recommendations.
        • 1.6.2.1 Users shall have recommendation settings.
        • 1.6.2.2 The system shall notify users when their recommendation settings are changed by the system.
      • 1.6.3 Teachers shall be able to recommend materials anonymously to their students.
        • 1.6.3.1 Teachers shall be able to see their follower's history.
      • 1.6.4 Students shall be able to restrict recommendations from their teachers.
    • 1.7 Home Page

      • 1.7.1 Home page should have two sidebars; the left as Categories and the Right as Trending Topics.
        • 1.7.1.1 Categories Section should include general Tags of the Topics.
          • 1.7.1.1.1 Users shall be able to see a list of Topics of that category by clicking on.
          • 1.7.1.1.2 Users should be able to see random topics of each categories.
          • 1.7.1.1.3 Each grouped categories include 10 different topics.
        • 1.7.1.2 Trending topics sidebar should consist of the most recently rated 10 topics.
          • 1.7.1.2.1 The sidebar should be divided into some parts.
            • 1.7.1.2.1.1 Users should be able to see general hot topics.
            • 1.7.1.2.1.2 Users should be able to see hot topics of a category.
        • 1.7.1.3 Users should be able to open the topic's page by clicking on.
      • 1.7.2 Home page should have a searching text box and a search button.
        • 1.7.2.1 Search button should send the User to topics search page.
        • 1.7.2.2 Users shall be able to see recommended words after 3 characters.
      • 1.7.3 Home page should have a button for users to reach their profile page.
      • 1.7.4 Home page should have contact information section.
      • 1.7.5 Home page should have social links section.
        • 1.7.5.1 Users shall be able to reach social pages of the site by clicking on.
    • 1.8 Ratings

      • 1.8.1 Users shall be able rate the topics they are following.
        • 1.8.1.1 Users shall rate a topic once.
      • 1.8.2 If the users follow a topic, they shall be able to rate its teacher.
        • 1.8.2.1 Users shall rate a teacher once.
      • 1.8.3 Users shall be able to change their previous rate on a topic or a teacher.
  • 2. Non- Functional Requirements

    • 2.1 Availability
      • 2.1.1 Search history up to a month shall be available.
      • 2.1.2 Mobile version shall be available.
        • 2.1.2.1 Mobile version shall be available on Android Kitkat and newer versions
      • 2.1.3 Web version shall be available.
        • 2.1.3.1 Web version shall be available on HTML Based Web Browser
    • 2.2 Security and Reliability
      • 2.2.1 Users shall be able to set their privacy settings.
      • 2.2.2 Users shall be able to make their profiles invisible to others.
      • 2.2.3 The system shall protect profile information of users.
    • 2.3 Usability
      • 2.3.1 The system shall have help and ask options.
    • 2.4 Language
      • 2.3.1 The Language of the system should be English.
      • 2.3.2 The Characters used should be English characters.