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.