Implementation of E-Learning System
Student’s Name
Institutional Affiliation
Table of Contents
Justification of the Project. 4
Non-Functional Requirements. 6
Design of the Proposed E-Learning Website. 6
Security Implementation in E-Learning System.. 8
Implementation of E-Learning System
Introduction
Technology and computing have become ubiquitous, thus leading to developments of web-based applications to serve the needs of the users. With the increased use of E-Learning applications, most students can pursue their courses virtually and access reading materials, tutorials, videos, assessment content, and any other relevant resources via online platforms. The application of such an e-learning website will require the user to register an account using a password and email address, to be able to access resources via the system. This paper aims at developing a technical proposal for the development of an e-learning website, which will be dynamic.
Statement of the Problem.
The main problem that can be highlighted in this case study is the lack of a comprehensive system for e-learning that can allow users to register and enter the profiles to access relevant -eLearning materials, download the materials, and submitting online assessments. In resolving this problem, the requirement is to develop a PHP eLearning website with the functionalities to enable users to access relevant operations. The eLearning website is also expected to provide solutions on system administration aspects, such as adding and removing a member from the system, editing and storing member’s records, exporting the records in excel format. This will be discussed in detail under the functional requirement section.
Objectives of the Study
- The primary objective of this paper is to propose the development of a PHP eLearning website. Other objectives include:
- To develop a system that follows interface and interface design heuristics.
- To develop a system that will store the records of the users in the database.
- To develop a system that will allow the addition and deletion of records by system admin.
- To develop a system that will easily support SEO.
- To develop a system that will allow members to access and download the materials.
Technical Specification
In ensuring the successful development of an eLearning website, the initial requirement is to gather and analyze all the requirements that capture the system’s functionality. Secondly, since the eLearning system will be a dynamic website, it will require PHP, MYSQL, HTML5, and CSS. This will be paramount to ensure the development of a responsive website. The eLearning website will be expected to be responsive in different platforms such as desktops, tablets, and smartphones. Additionally, the site will be supported by all the browsers. The proposed development framework for eLearning is Kohanna framework, which supports faster development. Additionally, the code will be committed via SVN for backup as well as for future access. The site will be supported by all browsers, especially the modern ones, and will be responsive in nature, meaning that users can use tablets, and smartphones to access it.
Justification of the Project.
Implementation of the proposed eLearning system can be justified for the following reasons: (a) eLearning facilities provides the learners with an opportunity to access relevant training materials at their convenience, and freely, i.e. the learners can easily access classed virtually at their own place and time. (b) The second justification is that it is easy to access the system online using either computer, smartphone or a tablet. (c) Another benefit is the reduction of administration jobs for the trainers, thus making it easier for them to closely teach students
Functional Requirements
Every application must have specific functional requirements, which defines what a system can do. According to Eriksson (2012), functional requirements specify systems behaviors. Functional requirements for the eLearning system will be as follows:
- The system should allow users to register and log in with an email and password.
- The system should allow users to access uploaded reading materials, watch videos, and complete online assessment.
- The system should allow users to download the materials.
- The system should allow users to view their profile and check the learning progress.
- The system should allow users to view them and answer questions in all learning modules.
- The system should allow users to generate an E-learning certificate via the email account.
- The system should allow users to complete a short questionnaire before receiving the module certificate.
- The system should allow admin to add or remove a member.
- The system should allow admin to edit a member.
- The system should allow admin to store member records in a database.
- The system should allow admin to export member records in excel format.
- The system allows admin to edit content and teaching material.
- The system should allow admin to add/remove banners and set URLs.
- The system should allow admin to add/ remove training modules, assessment content, videos, or reading materials.
- The system should facilitate the removal/ additional meta tags on every page.
Non-Functional Requirements
The primary goal of non-functional requirements is to ensure that those essential services and do not directly influence the functionality of a system have been implemented. According to Chung, Nixon & Mylopoulos (2012), non-functional requirements define the criteria for judging the system’s operations. Below are non-functional requirements associated with the learning website.
- The system should guarantee security while registering, logging in, and interacting with it.
- The system should provide 100% reliability without any downtime.
- The system should be developed using interface design principles and heuristics.
Design of the Proposed E-Learning Website
In this section, the idea is to present models/ diagrams, showing how the eLearning system will be implemented. The diagrams include use case diagrams and a sequence diagram. The diagrams provide how the system will work, as captured below.
Use Case Diagram
Sequence Diagram
Security Implementation in E-Learning System
Web security is paramount in ensuring that data is not exposed to unauthorized people search as hackers. In E-Learning system, its implementation will be guided by Open Web Application Security Project (OWASP), which is a document that creates standards for web developers, while implementing web security. The document addresses various web application security risks and provide guidelines on how such risks can be minimized. The first risk in this case is cross-site scripting, which occurs when a web application has untrusted data in web pages without adequate validation. In ensuring that the problem of cross-site scripting is resolved, the developers validate inputs and preventing the retrieval of data received as input directly to the browser.
Injection flaws is another web security vulnerability, which mostly occurs when data that cannot be trusted is sent as part of command by an interpreter. In most cases, hackers can pass injection code to trick the interpreter, thus leading to authorization access to sensitive data. In resolving this during the development of the proposed E-Learning system, is by ensuring that the development code do not have a direct access to the external interpreters and libraries that are not authenticated. Insecure cryptographic storage is another common vulnerability which do occur when sensitive data is not store in a secure form. Poor coding schemes is one of the major causes of this vulnerability. In resolving the issue insecure cryptographic storage during the development of eLearning system, proper key management storage will be put in place and using proper coding algorithms. Other vulnerabilities that will be looked at keenly to ensure development of a web application that is secure, include malicious file execution, insecure direct object reference, cross site request surgery, failure to restrict URL access, among others.
Understandably, with proper security measures put in place during the development an application, will prevent the issues of web vulnerabilities. Apart from measures of enhancing web security as discussed above, other measures to be implemented include use of SSL to reduce the vulnerabilities. SSL stands for secure socket layer, which is a standard security technology, to establish encrypted links between the server and the clients (Bugliesi, Calzavara & Focardi, 2017). Additionally, penetration testing will be paramount in ensuring that the eLearning system does not possess any vulnerabilities. This will be summed up with the use protecting the server, where the system will be hosted, the system expects to run in Apache, using Centos 7 operating system. Hence,creation of IP Tables firewalls rules and Fail2ban will be useful in banning suspicious IP addresses.
Project Timeline
The development of E-Learning system is expected to kick off from 1st September 2020 to 31st October 2020, which will be a duration of 2 months. The development will involve system analysis and design, coding, testing, and then deployment within the given timeline. The development will be done by to competent PHP developer. The table below provides the breakdown of the project activities based on the timeline
Project Activity | Start Date | End Date |
Requirements analysis | 01/09/2020 | 6/09/2020 |
System Analysis and Design | 07/09/3030 | 14/09/2020 |
Coding/ Programming | 15/09/2020 | 14/10/2020 |
Acceptance Testing | 15/09/2020 | 29/10/2020 |
Deployment | 30/10/2020 | 21/10/2020 |
Development and Testing
The two PHP developers will work on the project from the start to the end and will use the designs made to develop the final project. The development will be done on module basis until all system modules have been fully development. To ensure that each module is developed as per the set standards, both developers will be required to do a review. It is a requirement to have unit testing after the completion of each module, then with the completion of all modules, integration testing, system and acceptance testing will be done, to ensure that the system is working without any bugs. The developers will also create a documentation, which will act a user manual, as well as technical documentation.
References
Bugliesi, M., Calzavara, S., & Focardi, R. (2017). Formal methods for web security. Journal of Logical and Algebraic Methods in Programming, 87, 110-126.
Chung, L., Nixon, B. A., Yu, E., & Mylopoulos, J. (2012). Non-functional requirements in software engineering (Vol. 5). Springer Science & Business Media.
Eriksson, U. (2012). Functional vs Non-Functional Requirements. Retrieved from https://reqtest.com/requirements-blog/functional-vs-non-functional-requirements/
Kashima, T., Matsumoto, S., & Diara, T. (2010, March). Proposal of an e-Learning system with skill-based homework assignments. In World Congress on Engineering 2012. July 4-6, 2012. London, UK. (Vol. 2189, pp. 1405-1410). International Association of Engineers.