bounswe / bounswe2022group3

12 stars 1 forks source link

Updating Requirements #269

Closed ersoykadir closed 2 years ago

ersoykadir commented 2 years ago

Issue

We have gone over and reviewed each element of the requirements with the team. The joint decisions of the group about each problematic part of the requirements are documented in #16 and #17 meeting notes. We need to split the work of updating them and do update all. Please, do not just copy paste but read and make sure the update is correct and resembles the view of the team.

Task(s)

Topic Status Person
Glossary
  • - [ ]
@yilmaz-burak
1.1 Account Features
  • - [x]
@salimtirit
1.2/1.4 Profile(UserReq) and Admin
  • - [x]
@berkeozdemir2016400246
1.3 User Actions
  • - [x]
@ersoykadir
2.1 Profile Page
  • - [x]
@mertcan-ozkan
2.2 Communication Channel
  • - [x]
@arfakbaba
2.3 Note Taking
  • - [x]
@ersoykadir
2.4 Recommendations
  • - [x]
@Goko6
2.5 Search Engine
  • - [x]
@bilalcim
2.6 Annotation
  • - [x]
@furkanakkurt1335
2.7 Notification*
  • - [x]
@hsuleerkul
3 Non-func reqs
  • - [x]
@nurlandadashov02

Deliverable(s)

Acceptance Criteria

Deadline of the issue

17.10.2022 @23.59

Reviewer

Kadir Ersoy

Deadline for Review

18.10.2022 @15.00

ersoykadir commented 2 years ago

1.3.4.5 WHAT IS CONNECTING AND TAGGIN NOTES ??

Also wanted to remind a requirement that was talked in meetings but missed in meeting notes.

I reviewed Note Taking and User Actions Sections. Here are the changes.

1.3 User Actions

REQUIREMENT OLD NEW CHANGES
1.3.1.1. 1.3.1 Users shall be able to block other users. (described in 3.3.6) 1.3.1.1 Blocked users shall not be able to view the blocking user’s profile, enroll to their courses, and comment on discussion posts they have created. Blocking action explained.
1.3.3. Users shall be able to use the communication channel. (described in 2.2.) Users shall be able to use the discussion channel of the courses they enrolled in. (described in 2.2.) Discussion channels are specific to each course.
1.3.3.2 Users shall be able to make a comment to an existing question. Users shall be able to make a comment to an existing discussion post. Question, discussion post confusion avoided.
1.3.4. Users shall be able to use note taking features.(described in 2.3.) Note taking features* that described in 2.3 are moved underneath this requirement, removed from system reqs. These reqs are more suitable to be user requirements than system.
1.3.8 Users shall be able to open a course in any subject and they don't need to provide any document regarding their experience on the topic. The user shall become the lecturer of the course s/he opened. Users shall be able to open a course in any subject and they don't need to provide any document regarding their experience on the topic. The detailing of becoming lecturer found unnecessary.
1.3.8.2 and 1.3.8.2.1 Lecturers shall be able to organize and schedule events. The scope of the event depends on the lecturer's initiative. It can be public or private, face-to-face or online, free or with a fee to enter. If the event is private, the lecturer shall have to provide the list of learners who can attend the event. These users shall be notified. Lecturers shall be able to organize and schedule events. The scope of the event depends on the lecturer's initiative. It can be face-to-face or online. Event details like private-public, fee etc. removed for simplicity.
1.3.10. Users shall be able to change their password by visiting the settings on the profile page. Users shall be able to change their password. Unnecessary detail about UI.
1.3.11. Users shall be able to join the attendance list of the event that they would like to participate, for their enrolled classes. Users shall be able to join the attendance list of the event that they would like to participate, for their enrolled classes, in the case that quota is not full. Added quota restriction.
1.3.13. --- Users shall be able to comment on the course chapters, to discuss about the content. New requirement. Content Discussion added.
1.3.14. --- Guest users shall be able to view available courses on the site and their details like title, description and rating. New requirement. Guest user actions specified.

*Note taking features that moved from 2.3 to 1.3.4

2.3 Note Taking

Features of note taking related to user actions moved to User requirements, specifically underneath the requirement 1.3.4

REQUIREMENT OLD NEW CHANGES
2.3.1 --- The system shall provide a notes section in profile. Notes of the user will be categorized according to related courses and course chapters. New Req.
2.3.2 --- The system shall support viewing notes of public and followed users on their profiles. Similarly notes reached by shared links should be visible if only the sharing end is public or followed. New req.
berkeozdemir2016400246 commented 2 years ago

Here are the changes I propose for 1.4. Admin User requirements:

Old:

1.4. Admin User

  • 1.4.1. Admins shall be able to ban users for inappropriate behaviors.
  • 1.4.2. Admins shall be able to delete inappropriate comments and articles.

1.4. Admin User

For the glossary:

Reporting: The action taken by users to when they see another user behaving inappropriately. The admin users can then view those reports and choose to whether act on them or not and mark the issue as resolved.

Other related requirements:

1.3.15. Users shall be able to report comments, notes, annotations and course material to the admins if they think they are inappropriate.

salimtirit commented 2 years ago

I made changes to the Account Features part of User Requirements.

These are the changes I made:

REQUIREMENT OLD NEW CHANGES
1.1.1.1.1. Users who are registered by providing their emails shall confirm their accounts via clicking the link sent in the confirmation email. Users who are registered by providing their emails shall confirm their accounts via the link sent in the confirmation email. clicking word is removed since it is an implementation detail
1.1.1.2. Users shall be able to register using their Facebook, Twitter or Google account. Users shall be able to register using their Google account. Facebook and Twitter integration will not be provided to avoid complexity
1.1.2.2. Users shall be able to log into their account using their Facebook, Twitter or Google account (if they have previously completed 1.1.1.2.). Users shall be able to log into their account using their Google account (if they have previously completed 1.1.1.2.). Facebook and Twitter integration will not be provided to avoid complexity
1.1.2.3. If a user enters their password wrong three times while logging in, they shall reset their password using their email. If a user enters their password wrong three times while logging in their password will be invalidated. They will receive a warning email containing a link to reset their password. Previous one indicated a password change directly from the website or app. It will be safer to send a mail to the user
1.1.2.4. Users shall be able to reset their password via email verification by clicking Forget Password button. Users shall be able to reset their password via email verification. Details of implementation removed.
1.1.2.5. Users shall be able to change their password by using the profile settings page. - Completely removed since 1.3.10 is the same thing (according to meeting notes #16)
mertcan-ozkan commented 2 years ago

These are the changes made on already existing requirements:

REQUIREMENT OLD NEW CHANGES
2.1.2.3.2.2 Interests page shall be created based on the selections of a user from this list Interests page shall be created based on the selections of a user from this list changed "page" to section
2.1.2.4.3 The system shall update the activities page when at least one of the following happens: a learner joins a meeting, a learner completes a course or a section of it, a learner enrolls in a new course, a learner drops a course or a learner attends a quiz The system shall update the activities page when at least one of the following happens: a learner joins a meeting, a learner completes a course or a section of it, a learner enrolls in a new course or a learner drops a course last part removed
2.1.2.4.4 The system shall update the activities page when at least one of the following happens: if a user is also a lecturer in a course, the lecturer arranges a meeting or joins one, the lecturer opens a new course, the lecturer closes a course or the lecturer opens a quiz for one course The system shall update the activities page when at least one of the following happens: if a user is also a lecturer in a course, the lecturer arranges a meeting or joins one, the lecturer opens a new course or the lecturer opens a quiz for one course "the lecturer closes a course" part removed
2.1.3.2. The system shall allow a follower of a user to see the following features of a profile: achievements, monitoring, interests, knowledge, bio and activities. The system shall allow a follower of a user to see the following features of a profile: achievements, monitoring, interests, knowledge, bio ,notes ,annotations and activities. added "notes ,annotations" part
2.1.2.7.2.1. - (2.1.2.7.1.2 in new version) The rating point shall be the average of the ratings of the courses that a user gives. System shall keep the total number of ratings that are given to all courses of the lecturer by the users. The rating point shall be the average of these ratings. now system also keeps the number of people that rated the lecturer ---- Also 2.1.2.7.2.1. is now 2.1.2.7.1.2 - the ordering was faulty
2.1.2.2.3. Users will gain a badge when one the following occurs: a learner completes a course, a learner completes one section of the course, a lecturer opens a new course and a lecturer receives a review point that is greater than 4. (see 2.1.2.7.2.) Users will gain a badge when one the following occurs: a learner completes a course, a learner completes one chapter of the course, a lecturer opens a new course ,a lecturer arranges an event, and lecturer creates a quiz. Changed the conditions for lecturers gaining a badge.Changed "section" into "chapter". Also removed the "(see 2.1.2.7.2.)" part. Since it does not exist?

new requirements are also added:

REQUIREMENT CONTENT DESCRIPTION
2.1.2.8. Notes - now we have a notes section in the profile page!
2.1.2.8.1 The system shall keep a notes section in the profile page. -
2.1.2.8.2 System shall keep all the notes that user has taken during any coure that user has enrolled to. -
2.1.2.8.3 The system shall categorize notes according to courses that they were taken in. QUESTION:are these enough or should we give more details about this section?

requirements to be removed :

REQUIREMENT CONTENT DESCRIPTION
2.1.2.4.2. Activities page shall be visible to the users that follow the owner of the profile page. I think this is unnecessary. This is explained in the "following" section already.
some repeating requirements, changes needed: REQUIREMENT CONTENT DESCRIPTION
2.3.1 The system shall provide a notes section in profile. Notes of the user will be categorized according to related courses and course chapters. this should be written in the profile page section
2.3.2 The system shall support viewing notes of public and followed users on their profiles. Similarly notes reached by shared links should be visible if only the sharing end is public or followed. I think this should be distributed between sections "following" and "privacy"

Some more stuff: Right now the definition of public and private profile is very vague. It only has this:

what sections of the profile should be visible for different profile settings?

note : I will update the requirements after the meeting.

hsuleerkul commented 2 years ago

After adding notifications to the system requirements these are the requirements I've written :

2.7. Notifications

salimtirit commented 2 years ago

After our meeting on 16.10.2022, I wanted to mention the guest users' and other users' views when they enter the app need to be defined or somehow mentioned. Details can be found in the meeting notes.

furkanakkurt1335 commented 2 years ago

I had updated the section 2.6 Annotation, as well as adding 2 new requirements under the section (1.3. User Actions) regarding annotation again, on 15 Oct as:

Requirement ID Body Change Type
2.6.3 The system shall provide a mechanism such that annotation can be applied to any context note or course content. edit
2.6.4. The system shall highlight annotated text portions to emphasize annotation. addition
1.3.6.1. User shall select a portion of the text to annotate. addition
1.3.6.2. User should be able to turn on and off annotation visibility. addition
Goko6 commented 2 years ago

Since the requirements we have written for recommendations were ambigious due to lack of information, I have updated it.

Old:

2.4 Recommendations

  • 2.4.1. The system shall provide a list of recommended courses to learners.
    • 2.4.1.1 The system shall provide learners the option to mark courses in the recommendations list as "not interested".
  • 2.4.2. The system shall rank courses that are similar to recently completed courses of the learner, courses that have the learner's previously completed courses as prerequisites and courses that are related to the learner's area of interests higher in the recommendations list.
  • 2.4.3. The system shall rank the courses of the lecturers with high reputation and courses of the learner's previous teachers higher in the recommendations list.

New: 2.4. Recommendations

bilalaytekin commented 2 years ago

Here are the revised requirements for 2.5. Search Engine.

REQUIREMENT OLD NEW CHANGES
2.5.4 Communication channel for discussions shall be searched by entering keywords. Those results shall be ranked according to date. The title and the first post of discussions in the communication channel shall be searched by entering keywords. Those results shall be ranked according to date. Searching in comment should be out of our scope.
2.5.5 The notes belonging to and shared with a user shall be searchable. The notes belonging to a user shall be searchable. Searching in shared notes is more complicated than it sounds. Searching in user’s own notes should be enough.

Here are the removed requirements for 2.5. Search Engine.

REQUIREMENT OLD REASON
2.5.3.3 The courses that are similar to those that are taken by the users that the user follows should be ranked higher than other courses. Too advanced for our project!
ersoykadir commented 2 years ago

1.4 Admin

Here are the changes I propose for 1.4. Admin User requirements:

Old:

1.4. Admin User

  • 1.4.1. Admins shall be able to ban users for inappropriate behaviors.
  • 1.4.2. Admins shall be able to delete inappropriate comments and articles.

1.4. Admin User

  • 1.4.1. Admins shall have access to all account features described in 1.1 except 1.1.1 and 1.1.2.2.

  • This looks to complicated to understand. Maybe we can use something like,

  • Admins shall be able to login to and logout of their account, provided that they have valid admin email-password pair.

  • 1.4.2. Admins shall be able to see all user profiles regardless of users' privacy status.

  • 1.4.3. Admins shall be able to view all course contents regardless of courses' privacy status.

  • 1.4.4. Admins shall be able to ban users for inappropriate behaviors.

  • 1.4.5. Admins shall be able to delete inappropriate comments, notes, annotations and course material.

  • 1.4.6 Admins shall be able to utilize the search engine to find specific posts and users.

  • These look good.

  • 1.4.7 The system should notify admins when a new report is made.

  • 1.4.8 The system should provide an interface for admins to view and resolve reports.

  • I am not sure we will implement report system. Needs to be discussed with team. For the glossary:

Reporting: The action taken by users to when they see another user behaving inappropriately. The admin users can then view those reports and choose to whether act on them or not and mark the issue as resolved.

Other related requirements:

1.3.15. Users shall be able to report comments, notes, annotations and course material to the admins if they think they are inappropriate.

  • Reporting must be discussed.
ersoykadir commented 2 years ago

I had updated the section 2.6 Annotation, as well as adding 2 new requirements under the section (1.3. User Actions) regarding annotation again, on 15 Oct as:

Requirement ID Body Change Type 2.6.3 The system shall provide a mechanism such that annotation can be applied to any ~context~ note or course content. edit 2.6.4. The system shall highlight annotated text portions to emphasize annotation. addition 1.3.6.1. User shall select a portion of the text to annotate. addition 1.3.6.2. User should be able to turn on and off annotation visibility. addition

For the rest, @bilalcim , @salimtirit , @mertcan-ozkan , @Goko6, @hsuleerkul Thanks for the effort. If you did not updated these on wiki requirements page, I think you can and should do now.

@nurlandadashov02 , @yilmaz-burak , It would be awesome if you can go over your parts as soon as possible.

Since the remaining requirements are glossary and non-functional ones, they would be easy and less controversial. So after Annotations and Admin requirements discussed, this issue can be closed.

arfakbaba commented 2 years ago

After discussion with group and revising the meeting notes #16 and #17. Here are the revised requirements for 2.6. Communıcation Channel.

REQUIREMENT OLD NEW CHANGES
2.2.3. The system should support sharing resources and files. The system should support sharing image files. Sharing resources and files is confusing so only sharing image files is enough for us.
2.2.2 The system shall provide a discussion section for any type of user inside a course. The system shall provide a discussion section after end of each chapter for users to comment and discuss about that specific chapter. The discussion will now be available to the user after the course is over.
nurlandadashov02 commented 2 years ago
Minor update for non-functional requirements. REQUIREMENT OLD NEW
3.4.1. The platform shall respond n at most 3 seconds. The platform shall respond to any request in at most 5 seconds.
ersoykadir commented 2 years ago

Thanks everyone for the effort. Updated requirements can be found here