Skip to content

Software Requirements Specification

Doruk Büyükyıldırım edited this page Mar 24, 2024 · 3 revisions

These requirements are gathered from requirement elicitation interview and refined through a design process:

Functional Requirements

FR-1 Users will authenticate with their username and passwords which they set during registration

FR-2 There are 4 types of users -looking from a community perspective-:

  1. non-members/ wanderers: these type of users will not have access to private communities. They will be shown popular content when visiting main landing page and community pages ().
  2. members: will have access to community -if the community is private, they should be invited and joined the community through invitation-, can create posts, can comment on posts
  3. Community moderators/ moderator: Builders of community, community creators and other moderators can add a user as a moderator. Can create new post-templates, ban users.
  4. Creator/ owner: The account who creates the community has the ownership. The ownership can be transferred. Owner is also a moderator. There can be multiple owners of a community. An owner cannot close community, only archive (read-only community) it.

FR-3 There should be a basic search and an advanced search where users can filter: communities, post types (post template types), post creator, and filter for specific data fields belonging to a post type.

FR-4 The main page of the application will display the following:

  1. For non users: Popular posts (recent, upward trending posts) in an order
  2. For registered users: Popular posts from subscribed communities, non-member communities with similar interest (similarity can be inferred by analyzing other users subscribed communities)

FR-5 Each post will be created by using a post template created by the moderators. A post template dictates the format of the post. It consists of any number of information fields set by the moderator (template creator). An information field consists of three elements:

  1. Field name
  2. Field data type
  3. Requirement of the field (is the field required or not)

FR-6 All XSD data types should be supported by the post templates

FR-7 Moderators can kick people if they have to.

FR-8 Moderators cannot kick other moderators, the owner(s) can.

FR-9 The data cannot be deleted unless it is found to be harmful. Such content requires can be deleted by a moderator.

FR-10 Communities, data inside communities cannot be deleted but archived.

FR-11 private communities will require an invitation process to get in.

FR-12 An owner cannot leave a community without transferring the ownership.

FR-13 Any type of user can put a profile picture/ avatar

FR-14 Users can edit or delete content but, it should be made clear to other users.

FR-15 There will be an upvote down-vote mechanism to promote dynamic participation

FR-16 There will be a reporting system for the usage statistics, trending communities etc.

FR-17 There will not be a direct messaging option for the system

FR-18 Users should be able to follow other users and see their activities

Clone this wiki locally