DESIGN AND IMPLEMENTATION OF A COLLABORATIVE SOFTWARE AS A SERVICE BASED OFFICE MANAGEMENT SYSTEM

5,000.00

TABLE OF CONTENT
Title Page i
Certification Page ii
Approval Page iii
Dedication iv
Acknowledgement v
Table of Content vi
List of Figures x
List of Tables xi
9
Abstract xii
CHAPTER ONE
INTRODUCTION
1.1 Background of the Study 1
1.2 Statement of the Problem 2
1.3 Aim and Objectives of the Study 2
1.4 Significance of the Study 2
1.5 Scope of the Study 3
1.6 Limitations of the Study 3
1.7 Definition of Terms 3
CHAPTER TWO
LITERATURE REVIEW
2.1 Cloud Computing 5
2.2 Cloud Computing Service Models 6
2.2.1 Infrastructure-As-A-Service (Iaas) 6
2.2.1.1 Components of IaaS 7
2.2.2 Platform-as-a-Service (PaaS) 7
2.2.2.1 Stakeholders of Platform-as-a-Service 7
2.2.3 Software-as-a-Service (SaaS) 8
2.2.3.1 Quality Model 8
2.3 Cloud Deployment Models 11
2.4 File Management 13
2.4.1 File Management System 14
2.4.2 Objectives for a File Management System 14
2.4.3 Features Required for a File Management System 14
10
2.5 Security in Cloud Computing 14
2.5.1 Security Issues in Cloud Computing 16
2.6 Review of Related Literature 17
2.7 Deductions from the Reviewed Works 18
CHAPTER THREE
SYSTEM ANALYSIS AND METHODOLOGY
3.1 Introduction 19
3.2 Analysis of the Existing System 19
3.2.1 Activities Procedure in Systematics 19
3.2.2 Advantages of the Existing System 20
3.2.3 Disadvantages of the Existing System 21
3.3 Analysis of the Proposed System 21
3.4 Methodology Adopted 22
3.4.1 Object Oriented Hypermedia Design Methodology (OOHDM) 22
3.5 High Level Model of the Proposed System 24
3.6 Justification of the Proposed System 25
CHAPTER FOUR
SYSTEM DESIGN AND IMPLEMENTATION
4.1 Objective of the design 26
4.2 Decomposition and Cohesion of the High Level Model 26
4.2.1 High Level Decomposition of the Admin (Employer) Phase of the System 27
11
4.2.2 High Level Decomposition of the Members (Employee) Phase of the System 28
4.3 System to User – Interaction 28
4.4 Conceptual Design 30
4.5 Navigational Design 32
4.6 Specifications 34
4.6.1 Database development tools 34
4.6.2 Database Design and Table Structures 35
4.6.3 Data Dictionary 37
4.6.4 Program Module Specification 38
4.6.4.1 Sequence Diagram Depicting Object Interaction on Some Basic Operations 39
4.7 Input-Output Specification 40
4.8 System Requirements 41
4.8.1 Hardware Requirements 42
4.8.2 Software Requirements 42
4.9 Program Development 42
4.9.1 Choice of Programming Environment 42
4.9.2 Justification of Languages and Tools Used 42
4.9.3 Database Implementation 44
4.10 System Implementation and Conversion 44
4.10.1 Changeover procedure Recommended 45
4.11 System Security 45
4.12 Training 45
12
CHAPTER FIVE
SUMMARY, RECOMMENDATION AND CONCLUSION
5.1 Summary 46
5.2 Review of Achievement 46
5.3 Application Areas 46
5.4 Recommendations 47
5.5 Suggested Areas for Further Studies 47
5.6 Conclusion 47
References 48
Appendix 1 52
Appendix 2 62
13
LIST OF FIGURES
Figure 2.1 Quality Model of SaaS 8
Figure 2.2 Cloud Computing service models 10
Figure 2.3 A Private Cloud 11
Figure 2.4 A Hybrid Cloud 12
Figure 2.5 An example of a “community” of organizations accessing IT resources
14
from a community cloud 13
Figure 3.1 Dataflow Diagram the Existing System 20
Figure 3.2 Object Oriented Hypermedia Design Methodology Sequence 23
Figure 3.3 High Level Model of the Proposed System 24
Figure 4.1 Admin Module Decomposition 27
Figure 4.2 Member User Module Decomposition 28
Figure 4.3 User Interaction Diagram (UID) showing the sign-up procedure 29
Figure 4.4 Use Case diagram of the Proposed System 31
Figure 4.5 Conceptual Schema of the Proposed System 32
Figure 4.6 Navigational Context Schema 33
Figure 4.7 Database Relationship Structure 37
Figure 4.8 Sequence Diagram 40
Figure 4.9 Error Message feedback 41
15
LIST OF TABLES
Table 2.1 Cloud Computing Security 16
Table 4.1 Part of the Conceptual – Navigational Mapping table 34
Table 4.6.2.1 organisations table 35
Table 4.6.2.2 user_details table 36
Table 4.6.2.3 Audit _session 36
Table 4.6.2.4 files table 36
Table 4.6.2.5 shared_files 36
Table 4.6.3.1 Fields used in tables 38
16
ABSTRACT
This project work sets out to improve the file management processes in organisations. It has been observed that the major problem of file management system is that accessibility and availability to stored files is limited to users in that particular environment which also limits the collaborative sharing of electronic data over a large network coverage or at distance. This usually determines the workflow of an organization, which negates the aim and objectives for which a particular organization was set up in the first place. The project work revealed that the traditional file management system is not flexible, extensible and interoperable and as such slows down the workflow, and not readily available outside the work environment thereby decreasing the output of any particular organization. Object Oriented Hypermedia and Design Methodology (OOHDM), was found efficient to Web applications as navigational views over an object model. Thus, this work is to be deployed on the cloud, using the Software as a Services model for a very efficient user experience. PHP and JQuery were the programming languages used for its design. Structured Query Language (SQL) was used for the database. The project work offers efficient file management in corporate establishment.
17
CHAPTER ONE
INTRODUCTION
1.1 Background of the Study
File management is the process of storing, accessing, retrieving and manipulating files. The necessity of moving a file from the RAM to a secondary storage calls for future reference (re-usability), availability (having this file ready and at hand at any time anywhere), safety (ensuring data integrity without the fear of loss or damage) and most times privacy (authentication and access control). This purpose is not fully achieved when files are saved just by the traditional file management system usually provided by the user‟s operating system or the manual system. The traditional system is exposed to insecurity, unavailability, and data loss through viral attacks and other malicious software. This created the need of an additional system for saving files (back up mechanism), where files will be available with or without the user‟s workstation, highly secured platform, and cost effective system.
Storage and access to files which has been a core concept of computing and information technology requires the moving of files to a better environment where availability and security is assured. The cloud system is a recent development which has dramatically changed the landscape of software development. It provides a simple interface where the user is abstracted from the underlying framework of the system. According to Hancleng (2009), Cloud computing is a model of enabling ubiquitous, convenient, on demand network access to shared pool of configurable computing resources (e.g networks, servers, storage, application and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.
Moving files to a cloud system has been a welcomed advancement in file management but has failed in addressing challenges. Some of these challenges include security and cost. Adopting Software as a Service (SaaS) as the befitting cloud computing model for this work does not only provide software availability but also provides an efficient means of billing users. The billing system will be monitored by the number of times the application will be used. That is, keeping a log of records, which in turn aids in monitoring any form of intrusion created by unauthorized access.
Conclusively, cloud computing and file management has „security‟ as its mediator. It is well understood that no one could take an additional step of moving files to the cloud system for
18
storage or backup if such files are not important. Therefore, every cloud computing system should make adequate provisions for security.
1.2 Statement of the Problem
In traditional file management platform, it was discovered that accessibility and availability to stored files is restricted to the user having the device present. Also in file sharing, it is restricted by distance and network coverage whereby the conventional network facilities use cables, infra-red rays, Bluetooth etc.
The traditional approach lacks the ability to detect intrusion of any sort thus creating insecurity. Again among the existing platforms for file sharing, file size limitations is another major problem.
The problem the researcher intends to solve in this work is to provide a collaborative office management system as a cloud service to enable file sharing and collaboration among users in a system (department) with no distance and storage space limitations.
1.3 Aim and Objectives of Study
The aim of this study is to design a collaborative office management system using Software as a Service Cloud computing Model. In order to achieve the desired aim, the following objectives were considered:
1. Provides a standard database system for storing user information that is compatible with virtually every operating system.
2. Deploying useful applications on cloud for managing files which eliminates the need for setup and installation of such application on user system.
3. Provide a more secured service through file encryption and log management.
1.4 Significance of the Study
The research work will offer enormous benefits to organization, companies and even individuals. Such benefits includes:
1. Provides security compliance and easy accessibility of information.
2. Cost effectiveness in running application.
19
3. Effective office experience in managing and sharing files
4. Creating awareness of cloud based file management system as it creates a better and effective resource management irrespective of the distance or storage capacity.
1.5 Scope of the Study
File management is broad and vast. This work will cover the generic file management approach such as creating, editing, updating etc. and also some additional security measures to enhance effective management. The security implementation of this work is limited to just the user integrity, authentication and authorization. These include:
a. Encrypting files on upload.
b. Storing files in its encrypted form.
c. Decrypting with the user private key.
d. Keeping log/Audit records.
1.6 Limitations of the Study
The researcher was limited to the above mentioned scope of study due to some factors such as:
1. Cloud computing being a new innovation poses the limitation of resources (materials) for this research.
2. Fund: not having a free access to the internet was another constraint as that was the main area our research was based. Funding subscriptions to internet providers to ensure a fast and consistent connectivity.
1.7 Definition of Terms
Advanced Encryption Standard (AES) Encryption – Is a symmetric-key block cipher algorithm for secure and classified data encryption and decryption.
Authentication – Is any process by which a system verifies the identity of a user he wishes to access its resources.
Authorization – The process of granting or denying access to a network resource.
20
Cloud – Is a communications network. The word “cloud” often refers to the internet, and more precisely to some datacenter full of servers that is connected to the internet.
Decryption – Is the process of taking encoded or encrypted text or data and converting it back into the format you or the computer can read and understand.
Encryption – Is the process of encoding messages or information in such a way that only authorized parties can read it.
Intrusion – The act of compromising a computer system in order to gain unauthorized access.
Man in the Cloud Attack (MITC) – Is an attack where the attacker secretly replays and possibly alters the communication between two parties who believe they are directly communicating with each other.
Network – A group of interconnected computers and peripherals that is capable of sharing software and hardware resources among users.
Software as a Service (SaaS) is a software licensing and delivery model in which software is licensed on a subscription basis and is centrally hosted. SaaS is an on-demand software typically accessed via a web browser.
Session Hijacking – Is the exploitation of a valid computer session to gain unauthorized access to information or services in a computer.
Structured Query Language (SQL) Injection – Is a computer attack in which malicious code is embedded in a poorly designed application and then passed to the backend database. The malicious data then produces database query or results or actions that should never have been executed.