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.2.1 Users shall have a ‘student’ user type if they don't choose to have a teacher account.
-
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.4.1 Teachers shall be able to create questions about topic
- 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.3.5.1 The Page shall consist of the all contents about topic added by teacher except references, glossary, and comments.
- 1.3.1 Discussion Page
-
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.6.1 When users search, related materials shall be recommended by the system.
-
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.2.1 The sidebar should be divided into some parts.
- 1.7.1.3 Users should be able to open the topic's page by clicking on.
- 1.7.1.1 Categories Section should include general Tags of the Topics.
- 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.7.1 Home page should have two sidebars; the left as Categories and the Right as Trending Topics.
-
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.
- 1.8.1 Users shall be able rate the topics they are following.
-
-
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.
- 2.1 Availability