Skip to content

Requirements

omerfaruktayfur edited this page Dec 15, 2016 · 47 revisions

#Glossary System: The software project that we are developing. User: A person that uses this system. Member: A user that is registered to the system. Guest User: A user that is not registered to the system.
#: Entering the system as a member with a correct username or e-mail address and a password. #: Registering the system as a member by providing an unregistered e-mail address and a proper password with 6-127 characters.
Topic: A subject that you talk or write about.
Post: Writings about a specific topic.
Content: The text or media which is involved in writings(Post)
Comment: An opinion related to a specific post. Rate: Judging the quality of topics, posts, comments and relations between topics. Relation: A connection between two topics.
Profile Page: Section that includes personal information, profile picture and activities of the member in the system. Emotion: Expressing thoughts to a post in a given set of feelings.
Grappi: Topics that have contributions most often on website or application at recent times.
Create Topic: Adding a new topic to the system. Add Relation: Connecting two topics.
Contribution : Everything that users produce and add to application such as topic, post or comment.
Notification : Alerts for actions of followed users and favourited topics.
Summary : A post that generally explains the topic and take some parts of others posts and summarise them.
Following: The user that you want to follow his/her activities.
Favourite: The topics that user likes.
Activity: Any contribution of a user such as rating, adding relation, following a user etc.
Tag: A label that specifies the topic or post.
Semantic Tag : Distinguishing tag that specifies the topics with the same title.
Close Post : When the creator of post close the post, nomore users are eligible to comment about post.
Location : It's an optional property of topic, the creator can directly state location to let other users who are around the given location to see topics that may concern them.
Tracking : Following the user actions in our system.
Trending Topic : Topics that have contributions most often on website or application at a particular time

REQUIREMENTS

1 FUNCTIONAL REQUIREMENTS

1.1 #-Up

  1.1.1 The system shall let guest users register with an unique username, an e-mail and a proper password.
  1.1.2 The system shall let member # providing her\his correct e-mail and password.				
  1.1.3 The system shall let member have an option to reset password in case of that s/he forgets her/his password.

1.2 Topics

   1.2.1 The system shall let member create a topic.	
     1.2.1.1 The system shall let member create a topic with unique title.				
     1.2.1.2 The system shall let member create a topic with an existing title if member adds semantic tag.
   1.2.2 The system shall let member relate the topics.	
   1.2.3 The system shall let member add tags to the topics.
   1.2.4 The system shall let member add a location to the topics.	
   1.2.5 The system shall show the users trending topics.   
   1.2.6 The system should present the topics around location if asked by user.   
   1.2.7 The system should be initially populated with topics during lunch.   
 
 
	

1.3 Relationships

   1.3.1 The system shall be able to add a relation among topics.
      1.3.1.1 Relations can be unidirectional or bi-directional.	
      1.3.1.2 There can be many relations between two topics.
   1.3.3 Members shall be able to rate relationships.

1.4 Visualization

     1.4.1 The system shall show trending topics on grappi.   
     1.4.2 The system shall show related topics of topics that is focused. 
     1.4.3 The system shall show relations with directions.   
     1.4.4 The system shows the relation with high rating when there are many relations.	
			

1.5 Posts

   1.5.1 The system shall let member create a post under a topic.				
   1.5.2 A member shall be able to add a media to the post.			
   1.5.3 The system shall let member add posts to his/her favourites.    
   1.5.4 The system shall let member to view posts according to rated,recent or trending criteria

1.6 Comment

   1.6.1 The system shall let members add their comments to any posts and remove their existing comments.			
   1.6.2 The system shall show comments according to written time.			
   1.6.3 The system shall not allow members comment to closed post.	     
   1.6.4 The system shall let members to order comments by ratings.		

1.7 Rating

  1.7.1 Members shall be able to rate posts.					
    1.7.1.1 Members and guests shall be able to see rating of any post.	
  1.7.2 Members shall be able to rate comments 	
    1.7.2.1 Members and guests shall be able to see rating of any comment.	
  1.7.3 Members shall be able to rate relationships.					

1.8 Search Topics and Posts

   1.8.1 The system shall provide a searching algorithm.	
     1.8.1.1 Searching algorithm shall be accessible for both guests and users.					
     1.8.1.2 Searching algorithm shall be able to process around topics and post of topics.	
     1.8.1.3 Searching algorithm shall return results with priority to topics and later tags   
             of posts and later contents of posts.			
     1.8.1.4 Searching algorithm should show the results according to similarity. 
     1.8.1.5 Searching algorithm should be able to sort result according to date, rate or popularity.
   1.8.2 The system shall suggest semantically related topics according to the query if searched       
         words are not found.					
   1.8.3 The system shall store the searches that have done by users.					
   1.8.4 The system shall show the search results with filters.					
     1.8.4.1 The system shall provide filtering according to update date of topics. 					
     1.8.4.2 The system shall provide filtering from the most related to least related.	 

1.9 Profile Page

   1.9.1. A member shall have a profile page.					
     1.9.1.1 A member shall have a profile picture in his/her profile page.				
     1.9.1.2 A member shall be able to change his/her profile information except the username.				
   1.9.2 A member shall be able to see his/her activity history such as his/her past topics, posts and comments.	
   1.9.3 Any user shall be able to see members’ profile pages.
   1.9.4 A member shall be able to follow any people.
     1.9.4.1 A member shall be able to see followers in his/her profile page.

1.10 Semantic Tag

   1.10.1 The system shall provide semantic tags to topics. For example; when the topic "java" is added,   
         since it's an instance of programming languages, this semantic tag will also be added to "java" topic.    
     1.10.1.1 The system shall use an API to add semantic tags to topics.
   1.10.2 The system shall relate the contents that have common semantic tags in the database.For example,   
         both "java" and "python" is an instance of programming languages so that there is an absolute relation   
         and when a search is occurred, both python and java will appear when someone looks for programming languages.

1.11 Tag

   1.11.1 The system shall let users add tags to posts.
     1.11.1.1 The system shall let owner of a post tag the post.
     1.11.1.2 The system shall let users reading post tag the post.
   1.11.2 The system shall recommend tags to the users who want to tag the post.
   1.11.3 The system shall let members add tags to topics.

1.12 Topic Tracking

   1.12.1 The system shall trace the footprints of the user in the system and store them.
   1.12.2 The system shall recommend topics to the user by analyzing the early processes in the system. 

##2. NONFUNCTIONAL REQUIREMENTS ###2.1. Security

   2.1.1 Information of users shall not be shared with any person or third party companies.
   2.1.2 Password of users shall be stored as encrypted using RSA crypto system. 

###2.2. Availability

   2.2.1 The system shall be implemented as both web and Android application.
   2.2.2 The system shall be supported by latest versions of Mozilla Firefox, Google Chrome, Internet Explorer    
         and Safari and it will be responsive. 

###2.3. Languages

   2.3.1 Default language of the system shall be English 
   2.3.2 The system shall provide a language selection section to user.

###2.4. Usability

   2.4.1 The system shall provide a well-structured user manual for newcomers.
   2.4.2 The system shall have an interface in which the system elements within the system including human     
         elements interact with each other easily according to **IEEE 9.4.7** 			

Team Members

  • [Mehmet Doğan](Mehmet Doğan)
  • [Işıl Kurt](Işıl Kurt)
  • [Ömer Faruk Tayfur] (Ömer Faruk Tayfur)
  • [Abdulmenaf Kasap] (Abdulmenaf Kasap)
  • [Seha Yiğit Güryol] (Seha Yiğit)
  • [Haluk Aydın] (Haluk Aydın)
  • [Serpil Kuzu] (Serpil Kuzu)
  • [Uğur Taş] (Uğur Taş)
  • [Mert Even] (Mert Even)

##Milestone Reports

  • [First Presentation Milestone Report] (First-Presentation-Milestone-Report)
  • [Second Presentation Milestone Report] (Second-Presentation-Milestone-Report)
  • [Final Presentation Milestone Report] (Final-Presentation-Milestone-Report)

##Project

  • [Project Description] (Project Description)
  • [Domain Analysis] (Domain Analysis)
  • [Themes/Features] (Themes)
  • [Personas] (Personas)
  • [User Stories] (User Stories)
  • [Communication Plan] (Communication Plan)
  • [Requirements] (Requirements)
  • [Responsibility Assignment Matrix] (Responsibility Assignment Matrix)
  • [Use Cases and Use Case Diagram] (Use Cases)
  • [Class Diagram] (Class Diagram)
  • [Sequence Diagram] (Sequence Diagram)
  • [Activity Diagram] (Activity Diagram)
  • [Mockups] (Mockups)
  • [Test Plan] (TestPlan)

##Meetings (451)

  • [Week 1 Meeting - 09/26/16 Monday Ağaç Ev] (Meeting1 451)
  • [Customer Meeting 1 - 09/29/16 Thursday BM-A2] (Customer Meeting 1 451)
  • [Week 2 Meeting - 10/04/16 Tuesday BM-Lounge] (Meeting 2 451)
  • [Week 4 Meeting - 10/23/16 Sunday BM-Lounge] (Meeting 4 451)
  • [Week 5 Meeting - 11/9/16 Wednesday BM-Lounge] (Meeting 5 451)
  • [Customer Meeting with Suzan Uskudarli- 11/18/16 Friday BM-Lounge] (Customer-Meeting-with-Suzan-Uskudarli)

##Tutorials

  • [Git Versioning System] (Git Versioning System)
  • [Issue System] (https://guides.github.com/features/issues)
  • [How to Write User Stories] (UserStoryWriting)
  • [Requirements: What & How ?] (HowToRequirements)
  • [Tutorial for Programming Environment] (Setup Tutorial)
Clone this wiki locally