Skip to content

3. Software Requirements

Amos Wong edited this page Feb 1, 2017 · 28 revisions

The Goal of the Project

Requirement Gathering Process

Non-functional Requirements

  • #141 Webapp should be able to get fully loaded under 30 seconds using NUS network
  • #140 Webapp and platform should be able to handle at least 350-450 users concurrently
  • #139 Webapp should be compatible with IE >= 9, Firefox, Chrome, Edge, Safari, iOS Safari, Android Chrome >= 4.4
  • #138 Users should be able to access the document on their devices through a web browser
  • #137 Webapp should be able to read an existing document without internet connection

Functional Requirements

1. EditorView

1.0 Basic

  • #131 Editor can add title to the note
  • #70 Editor can redo a mistake
  • #68 Editor can undo a mistake
  • #34 Editor can create a new document
  • #10 Editor can save the document as a .md file
  • #6 Editor can create document using HTML and CSS
  • #3 Editor can create document using markdown

1.1 Advance

  • #90 Editor can construct a glossary of terms with page number included
  • #45 Editor can create transition in their document
  • #42 Editor can drag and drop images
  • #30 Editor can scale the image within the document
  • #29 Editor can crop the image within the document
  • #27 Editor can reposition the image freely within the document
  • #20 Editor can replace searched text within the document
  • #19 Editor can search text within the document
  • #17 Editor can use local image in the document
  • #16 Editor can import external PDF into his own document
  • #15 Editor can sort a list of blocks in alphabetical order
  • #4 Editor can create document using LaTeX

1.2 GUI

  • #11 Editor can edit the document using a GUI

2. ViewerView

2.0 Advance

  • #134 Editor can split the view or editor screen into within a split screen
  • #133 Editor can split the view or editor screen into top and bottom layouts
  • #132 Editor can split the view or editor screen into side by side layouts
  • #86 Users can navigate around document using headers/page number

2.1 Basic

  • #130 Software can synchronize the scrolling of the editor view and viewer view
  • #97 Viewer can select overlapping contents via a content browser/tab
  • #8 Editor can view the formatted document concurrently while editing the document
  • #1 Viewer can view the formatted document

3. DocumentTransformation

  • #99 User can change the output from a presentation format to a document format with a button click
  • #64 Software can auto-format the markup text into printer friendly format.
  • #53 Editor can generate multiple document versions from a single source
  • #24 Editor can change orientation of document layout
  • #14 Editor can manage page break within the document

4. FileManagement

  • #106 User can make a copy of the document
  • #49 User can upload a markdown document
  • #46 User can download an existing document
  • #40 User can delete an existing document
  • #38 Viewer can read an existing document
  • #9 Editor can update an existing document

5. Conditional

  • #104 Software can hide part of the information in presentation mode
  • #96 Presenter can hide partial information of document from audiences
  • #93 Editor can hide partial information of document from other viewers
  • #18 Viewer can select sections of the document to print.

6. MarkdownExtras

  • #35 Editor can insert formatted snippets of code
  • #32 Editor can type mathematical formulas using latex
  • #28 Editor can create a Table of content for document
  • #22 Editor can create diagram using textual representation

7. Annotations

  • #73 Viewer can add annotations to the documents via touchscreen input
  • #61 Audience can save presenter's annotation on the document
  • #57 Audience can view presenter's annotation on the document
  • #54 User can annotate documents using a keyboard
  • #52 User can annotate on the document using a mouse
  • #48 User can annotate on the document using an active digital stylus
  • #13 Teaching Assistant can save the annotations
  • #7 Teaching Assistant can draw annotations on the slides
  • #2 Teaching Assistant can type annotations on the slides

8. ExtensivePlugins

8.0 Basic

  • #79 The application can prevent plugins from accessing HTML content beyond its own root
  • #31 System can allow editor to still interact with the plugin when there is no internet connection
  • #25 Editor can embed additional plugin into the document
  • #12 System can allow editor to embed additional plugins into the document

8.1 Supports

  • #78 Editor can embed a 3D visualisation tool into the document
  • #62 Editor can embed Octave-Online into the document
  • #59 Editor can embed an online IDE into the document
  • #51 Editor can embed an online code editor into the document
  • #50 Editor can embed a diagramming tool document
  • #41 Editor can embed a video player into the document

9. UsersManagement

  • #101 User can invite other readers to view his document
  • #100 User can add other users to have access to view the document he created
  • #94 Software can send a password reset link to the user's email upon request
  • #91 The software can send the user's username to his email upon request
  • #89 User can request for his username with a valid email
  • #88 User can request to reset password with a valid username and email
  • #87 Software can send email to a user
  • #85 User can reset password
  • #83 User can logout
  • #81 User can login
  • #80 User can register for an account
  • #65 Editor have full editing abilities to the document they have access to

10. CloudStorage

  • #33 User can store documents in the online storage

11. DocumentSharing

  • #107 User can take ownership of his own document
  • #105 User can share presentation file with other users
  • #103 Software allows sharing of presentation file only
  • #102 User can invite collaborators to edit his document
  • #75 Editor can edit documents that they have published
  • #66 User can receive notification on changes made to the document they subscribed to

12. Discussion

  • #71 Viewer can reply to a pinned comment
  • #69 Viewer can pin comments to a highlighted section within a document

13. ClassroomSession

  • #109 Lecturer can set a session for the quiz
  • #84 Audience can view where the Presenter is currently located in the document
  • #82 Presenter can display statistics about where the audiences are currently viewing in the document as a heatmap
  • #76 Editor can notify subscribed users on the updated documents
  • #43 Viewer can click a button to jump to the presenter's current viewing location within the document
  • #37 Viewer can see an indication on where the presenter's current viewing location within the document
  • #21 Teaching Assistant can share the annotations with the class

15. Quiz

  • #114 Lecturer can view the number of students who select each choice in multiple choice question
  • #113 Software can tabulate the number of students who answers each choice in multiple choice question
  • #112 Software can collect answers from the students in a quiz
  • #111 Lecturer can create multiple choice question for the quiz
  • #110 Lecturer can set a time limit for the quiz
  • #108 Lecturer can create a quiz

16. Feedback

  • #121 Software can plot graph with data
  • #120 Software can collect the time they spent to annotate their lecture notes in written form
  • #119 Software can collect the number of students viewing at each section at a particular time interval
  • #118 Software can collect how many characters a user annotate in text for a lecture note
  • #117 Software can collect user login time
  • #116 Student can add questions real-time to clarify their doubts
  • #115 User can submit an anonymous feedback to the software (WebApp)

17. Security

  • #98 Software prevent unauthorized access to a document

99. Uncategorised

  • #95 Viewer can summarise the document easily
  • #67 Software will keep a revision control