An Android Application for Secure Collaborative Editing
Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit
An Android Application for Secure Collaborative Editing
1 Introduction
We will be creating a mobile application for Android devices to ensure secure collaborative editing. Collaborative editing services like Google give users the luxury of real-time collaboration, but with this, security issues are introduced. Our application will add an extra layer of security while still allowing users to collaborate in real-time. This is a brief overview of how the project will work, a user will create a new document and share it with the users of their choice, users can then edit the document freely just like any other collaborative editing service. Once the document is saved it will be encrypted.
2 User Class
2.1 General User
General users will login to the application and see that a document has been shared with them by the owner. The users will then be able to to collaboratively edit the document, view the document, and encrypt the document, once it has been shared with them.
2.2 User Owner
Document owners will have authoritative privileges over the document. The owner of the document will login to the application, create a document, and share it with other users of their choice.
3 Functional Requirements
User Class 1: General Users - People using the application for common or everyday uses
User Class 2: Document Owners
Functional Requirements for User Class 2 only:
Functional requirement 2.1: Create the document
User owners will create the document.
Functional requirement 2.2: Share the document
The mobile app interface shall allow client users to send requests to other users to share the document.
Functional Requirements shared between User Class 1 and User Class 2:
Functional requirement 1.1/2.3: Account Registration
The system shall allow client users to sign up in the system on the mobile app’s welcome page. A client user needs to sign up in the system to create a new account with password registered.
Functional requirement 1.2/2.4: System Login Function
The system shall allow client users to log in to the system on the mobile app’s welcome page. A client user needs to log in to the system using his/her account and password, so that the client can view and proceed to use other app functionalities.
Functional requirement 1.3/2.5: System Logout Function
The system shall allow client users to log out from the system on the mobile app interface at any time. A client user needs to be able to quit the app when not using it to avoid possible breaches.
Functional requirement 1.4/2.6: User Account Management
The system shall allow client users to manage his/her own account such as changing login password.A client needs to regularly update own passwords for security reason.
Functional requirement 1.5/2.7: Processing Shared Requests
The mobile app interface shall allow the user to process (accept or reject) adding requests sent by other users. A client needs to accept or reject received requests by own judgement.
Functional requirement 1.6/2.8: Deleting Requests
The mobile app interface shall allow users to delete existing users from the list. A client needs to remove existing requests when file sharing with them are no longer needed.
Functional requirement 1.7/2.9: Sending Short Message
The mobile app interface shall allow users to send short messages to other users. A client needs to instantly communicate with other users before sharing files.
Functional requirement 1.8/2.10: Viewing Message
The mobile app interface shall allow users to view short messages from other users. A client needs to instantly communicate with other users before sharing files.
Functional requirement 1.9/2.11: Initiating File Sharing
The mobile app interface shall allow the user to initiate a request to send a file share to another user.File sharing needs to be initiated by a client first.
Functional requirement 1.10/2.12: Processing File Sharing
The mobile app interface shall allow users to receive and process (agree or reject) file sharing requests from other users.File sharing needs to be accepted or rejected by another client then.
Functional requirement 1.11/2.13: Shared File Online Viewing
The mobile app interface shall allow users to view the shared files they have received online. A client may need to check the received files.
Functional requirement 1.12/2.14: Shared File Download
The mobile app interface shall allow users to download the files they have received that have been shared. A client may need to download the received files.
Functional requirement 1.13/2.15: Password Manager Authentication
The mobile app interface shall require the user to enter a password when first accessing the password manager as part of the authentication process for using the password manager.Second authentication is needed for the access of the password manager.
Functional requirement 1.14/2.16: Password manager adding new password
The mobile app interface shall allow the user to add a new password (including password content and comments) in the password manager. Add new passwords is needed for a password manager.
Functional requirement 1.15/2.17: Password Manager Viewing Password
The mobile app interface shall allow the user to view all the passwords they have in the password manager. Viewing all passwords is needed for a password manager.
Functional requirement 1.16/2.18: Password Manager Updating Password
The mobile app interface shall allow users to update any of the passwords they have in the password manager (including password content and comments). Updating existing passwords is needed for a password manager.
Functional requirement 1.17/2.19: Password Manager Deleting Password
The mobile app interface shall allow users to delete any of the passwords they have in the password manager. Removing existing passwords is needed for a password manager.
Functional requirement 1.18/2.20: Collaborative Editing Services
The ability for multiple users to work from individual devices on the same document. Each participant in the group can make their own individual contributions. The edited document can then be viewed by all the users who have access to it with real time, simultaneous editing.
Functional requirement 1.19/2.21: Document Encryption
The document needs security features to ensure the data is not compromised from outside third-party source. Thus, the implementation of document encryption, or the encoding of the document informa-tion to prevent unauthorized access.
Functional requirement 1.20/2.22: When document is opened by user the application will decrypt the document
After encryption is used in the saving process, the document will later by decrypted back into its original unencrypted form.
Functional requirement 1.21/2.23: Consistency Controls
Information must be in accordance to the defined rules.
Functional requirement 1.22/2.24: Document Encryption
The application will save after an interval of time and have explicit saving for users. The document must be saved in order to be encrypted.
4 Non-Functional Requirements
Requirement 1: update notifications
Every user will receive update notification in their device if any changes is made by another user. if there are number of user and every user is allowed to make some changes then it will be easier for everyone to see the updated version.if one user decided to download the files and work on it,he will miss the updated file.so, it will be more user friendly and every user can be on a same phase with this system.
Requirement 2: Performance
Performance describes how your solution behaves when users interact with it in various scenarios.poor performance may lead to a negative user experience and jeopardize system safety.
Requirement 3: Scalability
Scalability is a non-functional property of a system that describes the ability to handle increasing or decreasing workloads.if number of people want to work together depending on amount of work it will limit the user as well as it will limit the user on sharing.
Requirement 4: Capacity
All user shall be provided with cloud capacity for online file editing and storage, and premium user may be provided with extra cloud storage capacity.
Requirement 5: Compatibility
The system shall only be usable in Android with a version of 8 and above. It will not be supported in other platform.
Requirement 6:Security
The system shall require all users to pass the authentication procedure at the time of login using a unique 6 digit code. The system will lock a user account for while if user attempts and fails in login procedure number of times.
5 Operating Requirements
Operational Requirement 2.4.1: Android device:
The Operating Requirements for this android application is very straight forward. The primary Op-erating requirements is that all the users must have Android devices to use this feature. This device is only compatible with android device. we have specified minimum android version of 8 or higher will only able to use this Android application. if the users have the Android version below 8 then they can either update the android version if applicable or they must need other android device that has higher version to use this application.
Operational Requirement 2.4.2: Google Account:
To access this application, users need to create a Google account. Users just need a valid email ad-dress(accepting google Term’s and Conditions) associate with google to create a new document or to upload a file to the system. The users must allow the email address to access the google drive for the storage purpose. Also users are required to have some additional space on their google drive to store the document.
6 Design and Implementation Restraints
Constraint 1: For the document to be encrypted the last user who made an update must save the document
If a user decides they are done editing they must save the document to be encrypted. The application will not save the document after every change is made. The application will save in timed intervals and explicit saving done by the user.
Constraint 2: Cross platform compatibility
It is not cross platform for Apple products.
Constraint 3: Android Version 9
This application is best suited for Android Version 9 as the application will not be compatible will latest versions of Android because not everyone has access to this, which would make the application only suitable for a limited number of users.
2021-10-09