Ijraset Journal For Research in Applied Science and Engineering Technology
Authors: Christopher A. Mignon
DOI Link: https://doi.org/10.22214/ijraset.2022.46592
Certificate: View Certificate
The Learning Management System commonly abbreviated (LMS), is an internet based software application that is used to deliver educational courses and manage training pro¬grams. Usually used to administer the delivery of course content, student registration, ad¬ministration of assignments and quizzes and record keeping; the LMS is a versatile edu¬cational tool which can also be used to facilitate online, distance and hybrid courses and professional training programs. In this report we discuss the design and implementation of a new Learning management System named Conception, which will be used by secondary schools in Grenada as a sup¬plementary learning tool. Firstly an overview of Learning Management Systems; the fea¬tures and functions served as a basis for identifying and defining the software requirements and specifications for the new learning solution. Additionally a survey was done involving the stakeholders to further validate the specific requirements and to obtain valuable feed¬back, opinions and recommendations regarding the impact of the adoption and use of a new learning software solution. Moreover an integrated approach was used to guide the overall development process by incorporating both Agile and instructional design methodologies to design and build a functional LMS. The main features of Conception includes: an administrator module capable of user management and school information management. An instructor module capable of up¬loading assignments and learning content as well as creating quizzes. Finally a student module which allows student s to download learning content, submit assignments, take quizzes and view their grades. Conception also includes a messaging feature which allows communication between instructors and students. The system supports a wide range of file types and uses a mobile first responsive web interface.
I. INTRODUCTION
As we entered a new millennium, we observed how technical revolution began to play a major role in education as a number of schools and universities began to utilize the internet and educational technology to assist them in the pedagogical processes. Among these readily available tools is the internet based Leaning Management Systems (LMS) such as: TalentLMS, Desire2Learn and Moodle. The LMS today is used by many institutions as a means to support classroom instruction as well as online learning and other methods of instruction [5]. A Learning Management System allows teachers and instructors to organize, publish learning content and actively engage students using the internet as an instructional tool as well as a method for communicating. The LMS incorporates the internet other online resources into the teaching process while offering multiple instructional and assessment tools. This provides both the student and instructor with better interaction and an increase in the effectiveness and efficiency of the teaching-learning processes [6].
A. Interest
Encouraging the use of educational technology may encourage instructors to be more creative and innovative with lesson planning and their teaching methods. Teachers may utilize role plays and simulations to allow students to empathize and reflect upon real life situations, this may increase learner motivation and allow learners to more readily transfer learning from an abstract context to a real life context. It is well known that students bring their prior skills and knowledge to the learning environment. Instructors with the aid of educational technology structure new learning situations to promote interaction among students in order to develop new knowledge and reinforce what they already know. Additionally, learning software solutions can be utilized to facilitate both online courses, as well as several hybrid forms, such as blended learning and turn-down lessons which may prove effective in increasing student engagement, interactivity and knowledge retention [7]. It is commonly agreed by most educators that collaborative learning plays an important role in both the traditional approach to teaching and technology assisted learning; as it allows participants to exchange information as well as produce ideas, simplify problems, and resolve the tasks.
In this approach the teacher is an advisor and interactive partner of the learning process, not just a source of the information bestowing his or her own knowledge to a passive and reactive student as in traditional approach to learning. With the use E-learning technology instructors can introduce students to game based learning which as the ability to immerse the users into simulated scenarios whereby learners would be motivated to play a more active role in the learning process as opposed to being passive. Learning technology encourages learners to share learning experiences and practice skills learned with each other while enjoying themselves in the process [8]. E-learning technology allows students to easily play an active role in the learning process, allowing them to keep track of their progress and review learning material in order to better understand the information being taught [7]. Additionally the internet has made it possible for students to engage in learning despite geographical limitations, as many institutions now offer courses online allowing more learners to obtain a formal education and learn new skills.
B. Significance of the Study
The utilization of online-based learning technology may prove effective in facilitating Distance learning, by providing both teachers and student with a reliable platform. Moreover, it helps the instructor deliver materials to students, conduct tests and other tasks, track student performance, and keep records of student performance [7]. The proposed systems may enable teachers from different geographical locations (i.e. the three main islands of Grenada) to collaborate and effectively meet the objectives of the curriculum regardless of teaching styles or learning materials. Teachers may also share content among each other and also share ideas on how to assist students with different learning styles. In school's Principals and Teachers will be able to generate more current, detailed, reports thus allowing them to provide students with better academic guidance for their present and future academic endeavors. Moreover, the proposed Learning Management System may also include a smart feature which will make use of the data in students'records to make recommendations to students about career path and majors to study in College and university based on their academic performance. It is widely accepted that parents play a major role in their children's education and they are encouraged to take a more active role. Teachers should also provide feedback to parents about their child's performance in school and in specific subjects. The proposed LMS may be able to provide parents with convenient access to their child’s grades and school records. Moreover, the proposed E-Learning system may be able to facilitate convenient communication between both parents and instructors; as teachers are encouraged to provide students with feedback and guidance on assignments [9].
Learning technology may prove beneficial in facilitating adult education and continued learning. There are cases where working adults would like to either obtain a formal education of continue their education but do not have the time to complete all the activities required in a traditional classroom setting [10].
C. Objectives
II. LITERATURE REVIEW
A. Background
In this modern age it widely accepted that technology impacts all aspects of society. One of the most prominent changes has occurred in the education field. The manner in which schools conduct administration, educators teach, and students learn are affected by technological advancements. Instructional technology in education is defined as the combined approach of instructional design and instructional development [6]. Currently there are many different approaches to implementing technology to facilitate the teaching and learning processes, these approaches include Virtual Classrooms(VC), Massive Open Online Courses (MOOC) and Learning Management Systems (LMS). The implementation of the Learning Management System LMS is not a unique approach as previously stated; however it has never been utilized to facilitate Educating and Learning Management at the national level in the country of Grenada [11].
The importance of technology in education cannot be ignored; in fact it is safe to say that with the onset of computers in education, it has become easier for teachers to impart knowledge and for students to acquire it. The use of technology has made the process of teaching and learning all the more enjoyable [12]. By using technology as an instructional tool, learning which previously was passive and reactive has now become aggressive and interactive allowing students to take an active role in their learning therefore better equipped to understand and retain concepts.
In classrooms the use of projectors and visual aids along with power-point presentations and short videos are now being used my many learning institutions all over the world as a way to make learning more interactive, interesting and fun for students. These visual aids have helped many students overcome problems with understanding certain concepts and even allows them to obtain a better insight into the subject matter. Students prefer to look at visually stimulating images and videos rather than just read words, as this improves their motivation and interest while enticing them to think, form their own ideas and participate in the lesson [8].
There are instructors who actively incorporate a mixture of both online and classroom based instruction into their teaching styles, this hybrid approach is known as blended learning. Students will attend physical classes while also complete a portion of their learning activities online. Some schools also incorporate computer video game based learning into their curriculum in order to better engage learners who find it difficult to learn using the traditional classroom methods. This approach engages the students with interactive and exciting video games which also teaches them useful concepts and knowledge [13].
Outside of the classroom students and learners of all ages make use of online learning platforms to obtain an education and further develop themselves. This is made possible by institutions adopting the use of online learning portals to reach students who live in areas that are difficult to attend physical classes. Massive open online courses (MOOC) which are online courses which are accessible to all, provide learners with a means of obtaining certification and learning new skills for the job market. Additionally many institutions including top universities are now offering fully accredited online degrees. These opportunities for online learning are being used by students and learners who are currently employed and those who might want to undertake a course of study at a university located in another country.
Social media also plays a role in students' learning, as it gives them an opportunity to engage in group discussions and actively interact with each other. In 2013 a group of researchers at three Australian universities carried out a Student Experience and Expectation of Technology (SEET) survey, which was first developed in 2010 as a collaborative project between the universities. The aim of the SEET survey was to assess student's use of technology in their learning activities. The survey was originally done in 2010 and then repeated in 2013 with modifications to reflect the changes in technology. The survey showed an increasing trend in students not only using the internet to research information but also utilizing social media and other online forums as a means of communication to share knowledge and engage in participatory learning.
Figure 2.1 shown below reflects some of their findings as it related to how students use technology to assist them with learning.
Figure 2.1: The common ways technology is used by university students [1]
2. The Learning Management System
(Gautreau, 2011) defines a Learning Management System as “a self-contained web based software or web application with embedded instructional tools that permit faculty to organize academic content and engage students in their learning” [6]. (Adzharuddin, 2013) goes further to state that“it is an online portal that connects instructors and students. It provides an avenue for classroom materials or activities to be shared easily. It is also a portal that enables instructors and students to interact outside of the classroom, having discussions through forums that could otherwise take up too much of the time supposed to be spent learning in the classroom” [14].
3. The Functions of a Learning Management System
Learning Management Systems provides teachers and trainers with tools and functions to support teaching and learning. The basic functions and features of a LMS may include but are not limited to the following:
a. Online electronic grade book and attendance sheet, to record student's grades and attendance to classes. Teachers may also configure the grading schemes for different courses and also display these grades to the students.
b. Course content creation and publishing, instructors can develop new course material and may even utilize existing content to design the online courses. Course material such as: Video clips, Power-point presentations, Documents, Books and Interactive games can be used to stimulate students' interests [15].
c. Online discussion forums, these can facilitate the creation a cyber-learning community where students can engage in collaborative learning. Students can come together to share ideas and discuss assignments and solutions to course related problems. The online discussion forum also helps to improve student-teacher communication; the teacher then takes on a more passive role in the learning process by acting as a guide and allowing the students to actively engage each other.
d. Online assessments and evaluations. Instructors can utilize the online learning platform to provide students with a variety of assessment options such as quizzes which can be instantly and automatically graded. Additionally, instructors and administrators may choose to use evaluation tools within the LMS to request a course evaluation from the students [16].
4. Benefits of LMS
a. A LMS provides access to student-centered teaching approaches, increased accessibility, assessment and evaluation features, and improved management of course content and administrative tasks [13]. (Mungal, 2019) stated that; “Learning management systems allowed social interaction among students that exposed them to multiple perspectives on the same issue while ensuring effic. ient and cost-effective access to learning resources”[17].
b. With the arrival of modern technologies, the internet has can be transformed a platform for online learning and an educational resource for remote students or students without the means to physically attend classes. Students can therefore continue to learn outside of traditional a classroom setting at their convenience, students can also undergo self-centered learning without the distractions of other students in the classroom and can review learning materials at their convenience [9].
c. Learning institutions that utilize a LMS as a learning tool can actively promote better communication between the students and instructors. The LMS provides the instructors with more insight on the students learning as they are able to monitor the learning progress. This provides more opportunities for students and educators to interact effectively when compared to classroom-based teaching methods. Instructors can therefore plan lessons more effectively ensuring that all or most of the learning objectives can be met within a given session and then provide additional resources for students to learn on their own [9].
d. A LMS can assist students with learning impairments such as Dyslexia by improving Lexical access (i.e. The process involved in obtaining the meaning of written words.), Processing speed and working memory (i.e. The ability to temporarily retain information in memory, work with it or operate on it, and produce a result.) [18].
e. The use of a LMS may be more cost efficient when compared to traditional methods of teaching. All the parties involved can benefit as the cost of learning can be reduced through the use of digital course materials, online quizzes and assignments. Students and instructors would save cost by reducing the need to print assignment and learning materials, additionally students'report cards and communication to teachers can be sent through the LMS or via email.
f. Learning through the use of technology has numerous advantages and the internet has helped many to improve their knowledge and understanding. Recent studies have shown that web-based learning methods and resources have many advantages over traditional teaching-learning methods since it provides learners with a superior learning background. LMS has the potential to upgrade the nature of teaching and learning in the modern age and improve the learning ability of learners [19].
g. Learning management systems can support a number of teaching methods which are able to assist learners with different learning needs. The different teaching methods include: traditional face-to-face classroom instruction, Online learning, Blended learning (i.e. The blended learning approach is a mixture of both online educational materials and the traditional Face-to-Face classroom methods.) and Mobile or Distance learning.
5. Disadvantages of LMS
a. Though technology provides benefits to the teaching and learning processes there are some drawbacks to the use of LMS. Practical and vocational courses that require the learners to gain hands on practice and skills cannot be effectively taught using an online learning platform. Some professions such as medicine for example require practical skills that students cannot gain online and it is safe to say that: ’No one wants a doctor who was trained online’. In the case of secondary school education, subjects such as biology, chemistry and technical subjects such as electronics need practice and skills developed over a period of time. Moreover there are some courses in the curriculum that require students to develop interpersonal communication skills which would not be suitable to be taught through the use of a LMS. Furthermore informal learning is also difficult to incorporate into a lesson taught through the use of a LMS [20].
b. Some instructors may not be able to use the LMS to effectively deliver a lesson based on their teaching style and personality; there are also instructors that are not used to using different styles of teaching to deliver a particular lesson. Teachers who are unable to grasp the use of the LMS or other learning technology may affect the students' performance in class.
c. In the early stages of using the LMS teachers and instructors may be burdened with extra work; teachers will have to create learning content as well as assist students by providing instructions on how to properly use the LMS. The teachers may also have a difficult time focusing on both the physical classroom and the students online. This cause the teachers to feel overwhelmed at first until they find an approach that will enable them to cater to the learning needs of all their students [20].
d. Another disadvantage of using a LMS is that students, especially younger students may start to develop tunnel vision when it comes to learning. This essentially means that students may think of learning only through the use of the LMS and may not think about any other opportunities for learning. Students may be reluctant to read material other than those within the learning platform. Additionally students may choose not to interact with each other and may not communicate effectively with the instructor which can negatively impact their learning [20].
e. When using learning technology especially the internet, students may be tempted to look up and copy assignments directly. Plagiarism may become a major issue when using a LMS; this might affect the fair assessment of students' work and learning performance.
f. There might also be cases where students'pace of learning and learning progress is negatively affected by the use of a LMS. Some learners may choose not read the learning material on time and may lag behind the others. In the case of a class where some learners attend physical classes and others attend the online class the virtual learners may not be at the same pace since some learners are quicker than others and may read ahead. This might prove difficult for instructor to synchronize both groups of students[19].
6. Issues with LMS
There are some cases where a Learning management system might be in improper and inadequate ways by the academic staff and management.
The LMS might only be used to upload learning content online without consideration of learning outcomes and academic criteria, this practice is not recommended since learners may become confused and it my negatively affect their performances [21]. It is assumed that this practice may be due to the unplanned implementation of a LMS or a lack in the instructor's academic and or technical aptitude.
Therefore it is important for instructors to give clear instructions to students in regards to using the LMS and learning materials[20].
There are also cases where instructors may choose not to use the learning technology which may hinder the effective use of the LMS. (Kafyulilo at.el,2016) outlined three important factors that may hinder the implementation and effective use of technology to facilitate the teaching and learning processes, these factors are listed in as follows in Table 2.1.
Table 2.1: The factors that may hinder the use of technology in learning [4].
Factors |
Description |
Technical factors |
The lack of adequate resources available to staff can pose a con- straint to implementing a Learning management system. Another factor is student access to a computer or an internet capable mobile device and also a reliable internet connection. |
Personal factors |
There is evidence to suggest that a number of teachers lack the technical competence to effectively use the technology. |
Institutional factors |
In some cases, the institution's own educational policy may hin- der the use of learning technology, as many institutions prefer a more traditional approach to teaching and learning. |
Teachers claimed that co-planning and co-facilitating an online or blended course posed a number of administrative and pedagogical challenges. It demanded a lot, in terms of planning and implementation time and required constant communication between the instructors. Due to other work commitments, the instructors were challenged by lack of availability, inability to decide on a convenient time for planning and communication delays that resulted in a failure to follow-through on some activities. A lack of planning time hampered the sophistication and the variety of the learning experiences that were offered to students. In particular, the teachers should devote more time at the beginning of the course for informal activities which enables student-student interaction so that students could get to know each other better before participation in the formal learning activities [17].
B. Web Applications
A web Application commonly called a web App is application software that runs on a web server and accessed by the user through a web browser. The web application is managed by the server and uses a combination of server-side and client scripts to present the information to the user and accept user input[22]. A web application is essentially software that runs remotely and usually require user authentication; it depends fundamentally on a processing and a data storage back-end; this type of software architecture is called the Browser-Server model or B/S model. Web applications usually allow the user to perform a number of actions on the data displayed to them in the browser, these operations include: create, read, update and delete more commonly referred to using the acronym CRUD [23]. An example of a web application is Google docs which contain similar functions and features of Microsoft word but can be accessed from any web browser. The diagram shown below in in Figure 2.2 illustrates the web application architecture and the interactions between the components. As shown in Figure 2.2, web applications consists of both a front-end also known as the client-side which handles user interaction and a back-end also called the server-side which handles the HTTP requests and data operations. At the front end the user interacts with the web application through the browser; the user can enter data and make requests to the web server, these requests are then processed and the requested data is sent back to the front end. The front-end of a web application is usually written in HTML, CSS and JavaScript. The back-end or the server-side of the web application which is usually written using languages such as: ASP, PHP and python etc.; is responsible for handling and responding to the HTTP requests from the user on the front-end, data manipulation and data storage. Normally the back-end of a web application is not accessible by the user[24].
When a user enters a URL into a web browser, they usually do not know if the information displayed is originating from a website or from a web application as both are displayed in a similar manner on the users'end. The web application though it may resemble a website to the user, is different because it allows the user to interact with and manipulate the data or information presented to them in the browser software. A website shows static or dynamic data that is predominantly sent from the server to the user only, whereas a web application serves dynamic data specific to the user with full two way interaction [23]. Both websites and web applications can be responsive meaning that the size and orientation of the content displayed changes accordingly to suit the screen size of the device being used to access it [25].
a. Accessibility- Web applications can work with most browsers and can be accessed by most devices regardless of operating system; this ensures that users will get a similar experience regardless of the device or operating system platform they are currently using. Web applications can also be customized to different devices which increases user-friendliness and productivity as users are not restricted to a particular device or type of device as with a traditional desktop application [26].
b. Ease of Deployment and Management- Web applications reside on a remote server the users are therefore not required to download and install any files on their device. Additionally software changes and upgrades are performed from a central point. When the application needs to be updated, the update is applied to the host server and there is no need to in install the update on every device as with desktop and native mobile applications. This means the time taken to make changes to the application is reduced and consistency is maintained [26].
c. Increased Security- Web applications are usually deployed to a secured dedicated server which is managed by authorized server administrators. This central point of administration makes it easier and more effective to monitor the application. Security breaches are noticed and dealt with faster and more efficiently thus avoiding the need to maintain security of every device on which the application is being used [23].
d. Interoperability- Web applications can be integrated with other systems with greater ease than localized desktop applications. Web applications can be integrated with an existing web site or web applications, additionally web applications can be linked together thus increasing overall effectiveness and productivity [24].
2. The Disadvantages of Web Applications
a. Internet Dependent- Web applications are accessed through the internet and therefore users are required to have a stable internet connection. Generally web applications are slower than locally installed desktop applications and in cases where the internet connection is slow or unstable, the application may not work properly or have limited functionality.
b. Very High Demand on the Server- web applications can be complex and since the server handles the user authentication and processing the demand for resources from the server may become extremely high. An increase in the number of users/clients that connects to the server to use the web application will cause a subsequent increase in the server load in proportion to the increase of users'requests [27].
c. Browser incompatibility and limitations- There may be situations where the browser installed on the client's device might be incompatible with some of the features of the web application. Some web applications may also require some additional plug-ins such as: Flash, QuickTime and Silverlight; relying on these external dependencies may result in a subsequent increase in the complexity and support cost of the application [27].
d. Security Concerns- Web applications send information over the internet, this may pose a security risk as the data could be intercepted and changed. Additionally a number of security attacks specifically target Web applications; these include injection attacks, such as: Cross Site Scripting or SQL Injection [28]. Measures should be implemented to protect against these security threats.
3. Web Application Architectures
The web application architecture defines the logical relationships and interactions between the components of the web application. There are two commonly used web application architectures which are the Two-tier architecture and the N tier architecture.
a. Two-tier Architecture
In the Two-tier architecture or two layered approach, the client-end is considered the first tier. The user interacts with the web application using the browser in the client-end and then sends the requests to the server or back-end.
The second tier is the server or back-end which contains the web application server and database server housed in the same physical server machine. The second tier responds to the client's requests, communicates with the database, processes the data and returns it to the client-end. This architecture is preferred by many small organizations since it allows them to house the web server and database server in a single device which delivers increased performance and reliability at a reduced cost [29]. Figure 2.3 gives an illustration of the Two-tier architecture.
b. N-Tier Architecture
In the N-tier architecture, the logical web application components are distributed across multiple logical tiers, n is the number of logical tiers; usually it is configured in a three- tier model or a four tier model.
In the three-tier architecture, the web application server and database server reside on separate physical server machines. The first tier is the client, the second tier is the web application server and the third tier is the database server. Similarly as in the two-tier architecture, the client communicates with the web server on the second tier and the web server handles the client requests and fetches the required data from the database server. On the third tier, the database server is only required to handle data operations [29].
This architecture is preferred by larger organizations with a large user base. The web application server and database server can therefore fully utilize the processing power of their host machine which can result in increased performance. This approach is much more scalable than the two-tier architecture as multiple servers can be added to both the second tier and third tier to provide redundancy increase the availability and reliability of the system. One drawback of this approach is the cost as multiple servers have to be installed and managed separately [29]. The three- tier architecture is illustrated below in Figure 2.4.
c. Four Tier Architecture
Additional components can be added to scale and increase the performance, reliability and security of the system. In the four-tier architecture a firewall and load balancer can be added between the first tier and the second tier. This approach is normally used at the enterprise level where the system needs to respond to millions of clients on a daily basis. Additionally this approach is much more costly than the first two since specialized hardware and software components needs to be installed and configured [30].
C. Agile Software Development Methods
Of the many different software development methods in existence, Software developers nowadays prefer adopting the Agile method since it can overcome many challenges previously faced by traditional methods in developing software. The agile method and the different variations such as SCRUM, Extreme programming (XP), Adaptive Software Development (ASD) and feature driven development (FDD) are preferred over traditional approaches such as the waterfall and the V-Model. These methods are advantageous since they are more flexible, iterative, cost efficient and reduce many software process overheads such as documentation. Agile development methods focus mainly on delivering a working software product and continuously improving it based on the customers input over time [31].
However despite their flexibility and efficiency, Agile software development methods lack instructional design attributes which is crucial when addressing the pedagogical needs required in designing software for supporting teaching and learning [32]. When choosing an appropriate Agile method for designing and developing learning software it must be combined with a compatible instructional design model so that the learning educational needs are considered during the design process [3].
A brief comparison of the agile development methods weighing one method over the other in terms of key points, special features and identified weakness are shown in Table 2.2.
Table 2.2: General features and comparisons of Agile development methods [3].
Method |
Key Points |
Special Features |
Identified Weaknesses |
ASD |
Adaptive culture, collaboration, mission-driven, component based, Iterative development. |
Organizations are seen as adaptive systems. Creating an emergent order out of a web of interconnected individuals. |
ASD is more about con- cepts and culture than the software practice |
DSDM |
Application of con- trols to RAD, use of time boxing and empowered DSDM teams. |
First truly agile software development method, use of prototyping, several user roles:“ambassador”,“vi-sionary”and “advisor” |
While the method is avail- able, only consortium members have access to white papers dealing with the actual use of the method |
XP |
Customer driven development, small teams, daily builds. |
Refactoring-the ongoing re- design of the system to improve its performance and responsiveness too change. |
While individual practices are suitable for many situations, overall view and management practices are given less attention. |
SCRUM |
Independent, small, self-organizing development teams, 30-day release cycles. |
Enforce a paradigm shift from the “defined and re-peatable”to the“new product development view of Scrum”. |
While Scrum details in spe- cific how to manage the 30-day release cycle, the integration and acceptance tests are not detailed |
FDD |
Five-step process, object-oriented component (i.e. feature) based development. |
Method simplicity, design and implement the system by features, object modeling. |
FDD focuses only on de- sign and implementation. Needs other supporting approaches. |
According to the information shown in Table 2.2, the Feature driven development method (FDD) is the most object oriented among the agile methods. It's design is based on object oriented components, therefore it is simple to use and is suitable for large projects. The FDD method is a simple efficient model however its weaknesses such as lack of clear requirement gathering and lack of instructional design [32].The five phases of the FDD model are depicted below in Figure 2.5.
The phases of the FDD model shown in figure 2.5 are described below:
The Feature driven development model is a pragmatic agile approach suitable for both simple and large complex projects. It is a suitable choice suitable for teams that need a simple but structure agile method for developing a system that is both scalable and focused on delivering a finished product. One drawback of this model is that it needs supporting models as it doesn't include a formal requirements analysis and testing phases.
According to (Aris Apostolopoulos, 2018), "the ADDIE model is one of the most common models used in the instructional design field". The ADDIE instructional design model is used by instructional designers all over the world as part of their planning for online, offline, or even blended learning sessions [34]. The ADDIE model helps instructional designers and teachers to create an efficient, and effective teaching design by applying the processes of the ADDIE model on any instructional product [3]. ADDIE is an acronym for: Analyze Design, Develop, Implement and Evaluate [2]. The phases in the ADDIE instructional design model are shown below in Figure 2.6.
The phases of the ADDIE instructional design model shown in Figure 2.6 are described below.
a. Analysis Phase-This phase can be considered as the“Goal-Setting Stage.”The focus of the designer in this phase is on the target audience. Several key components are to be utilized to make sure analysis is thorough; the learning needs of the audience, the topics and material that will be covered and the tasks involved [2][34].
b. Design Phase- This phase determines all goals, tools to be used to gauge performance. This stage involves planning and the determining the resources. In this phase, the focus is on learning objectives, content, subject matter analysis, exercise, lesson planning, assessment instruments used and media selection. The approach in this phase should be systematic with a logical, orderly process of identification, development and evaluation of planned strategies which target the attainment of the project's goals[2][34].
c. Development Phase-In this phase, designers make use of the data collected from the two previous phases, and use this information to create a program that will relay what needs to be taught to participants. The Development phase is all about putting it into action the analysis and design of the two previous phases. This usually includes three tasks; namely drafting, production and evaluation. Development thus involves the creating and testing of learning outcomes [2][34].
d. Implementation Phase- The implementation phase reflects the continuous modification of the program to make sure maximum efficiency and positive results are obtained. Here is where instructional designers strive to redesign, update, and edit the course in order to ensure that it can be delivered effectively. Design evaluation is done in the implementation phase and can be continuously evaluated for further improvement. Developers should consistently analyze, redesign and enhance the product to ensure effective product delivery[2][34].
e. Evaluation Phase- Evaluating the effectiveness of the instructional materials, tools, and activities; investigating the achievement of learning objectives, impact of teaching and learning process, and identifying changes and modification for future delivery [2][34].
The ADDIE model is an effective tool in aiding the design and development of instructional materials and online courses. This design model by itself is not a software development model however it can be used in the context of aiding the design process of instructional software as a means of creating a system tailored to focus on the educational needs of the users thus increasing the effectiveness by providing the instructors with learning tools similar to what they currently utilize[3].
2. The Integrated ADDIE-FDD Model
As previously mentioned, when designing and developing learning software the design approach should incorporate a compatible instructional design model so that the learning and educational needs are considered [3].
After carefully reviewing both the FDD method and the ADDIE model; a decision was made to incorporate the instructional design considerations and methodology of the ADDIE model together with the agile FDD model's object oriented and feature driven approach as the chosen development methodology for the creation of the proposed LMS Conception.
The integrated ADDIE-FDD design model was created by a group of Instructional Designers and Software Engineers in the University of Dar-es-Salaam, Tanzania in 2019. The approach taken for designing the integrated model includes a mixture of design strategies used for developing models. The ADDIE model was first converted into a template using a template based method which regarded the ADDIE phases as template components. The FDD model was then deconstructed using the decomposition method into simplified sub processes then the sub processes were merged into related components of the template using the composition method [3].
A detailed description of the integrated ADDIE-FDD model shown in Figure 2.7 is given below.
a. Phase 1- Analysis Phase- This phase initializes the project and proceeds with a survey to gather the necessary information from the users and professionals in the education field. This phase is important since it provides the basis for the system design and features. After the initial information gathering is completed an analysis should be conducted in order to complete the FDD sub processes:
b. Phase 2 Design Phase- Design the system features and modules and create an overall design of the system. This phase completes the Design by Feature FDD sub process.
c. Phase 3 Development Phase- In this phase each feature module is coded and built as per the design, the constructed modules are then integrated into a working prototype. This phase completes the Build by Feature FDD sub process.
d. Phase 4 Integration Phase- This phase involves deploying the system in the real world working environment, creating the learning content and assessing the learning content to ensure that it meets the learner’s needs and learning outcomes. In this phase support is provided to the users especially the instructor and content designers to ensure that the system can be used effectively and meet the overall objectives of the system.
e. Phase 5 Evaluation Phase- After the Integration phase is completed, both the system and learning content should be evaluated to ensure that the outcomes listed in the requirements are met. Additionally this phase includes a summative assessment to evaluate the learning achievement, effectiveness of the system, the learning content and learner's reaction to the system. The information gathered in this phase will be used to make the necessary future adjustments to learning content and the overall system.
3. Limitations
The integrated ADDIE-FDD model has the potential to integrate develop and implement highly effective system which can deliver appropriate learning content however the integration and evaluation phases will not be included in the scope of this project. These phases includes tasks such developing learning content, providing support to users and evaluating the overall effectiveness of the system which is beyond the scope of the objectives of the project stated in chapter one of this report.
D. Development Environment and Tools
The Learning Management System Conception was developed on a Redmi book 14 whit the following specifications:
a. Visual Studio Code: Visual Studio Code is a free cross-platform source-code editor created by Microsoft in April 2015 and it is one of the most popular code editors used by software developers today. Visual studio code or VS-code as it is most commonly known is a light-weight editor that supports almost all of the commonly used programming and scripting languages [35]. VS-code come with a number of built-in features such as: code refactoring, intelligent code completion, syntax highlighting, snippets, embedded version control support (i.e. Git) and supports debugging [36]. In addition to its many built-in features, visual studio code allows users to download and install extensions which greatly improve its functionality and user friendliness [35]. Additionally visual studio code supports a number of languages; the default language is English however other language packs can be downloaded from the extension marketplace [36].
b. MySQL: MySQL is a free open source relational database management system which is one of the most popular used database management systems for software development today [37]. The MySQL database system is essentially a client/server system that supports various client programs and administrative tools which use the SQL language to create, manage and maintain relational databases. MySQL also has an extensive library support and a wide range of application programming interfaces supported across multiple operating system platforms. MySQL provides developers and users with a fast, reliable, scalable and easy to use database solution which can be used in many different systems and design architectures [37]. The MySQL server can be administered using a command line interface and it also works with a number of third party database administration tools such as navicat, php-MyAdmin and MySQL workbench, additionally there is an enterprise version which is used in large enterprise systems [37]. MySQL is a component of the LAMP and WAMP software development stack and is used as the back-end database for many popular web applications and content management systems such as Drupal, Joomla and WordPress [38]. Some of the features of MySQL include: Cross-platform support, stored procedures, triggers, updatable views, SSL support, query caching, built-in replication support, Unicode support and online Data Definition Language (DDL) when using the InnoDB storage engine [39].
c. phpMyAdmin: phpMyAdmin is a free open source database administration tool for MySQL; it is a portable web application written in PHP, which provides users with a graphical web interface to administer and manage MySQL databases. phpMyAdmin has become one of the most popular MySQL administration tools, especially for web hosting services and many web hosting platforms include it as their default database administration tool in the control panel [40]. phpMyAdmin is simple to install and includes a wide variety of features which makes administering a MySQL database easy and simple. Features included such as: support for MySQL and MariaDB, the ability to import and export to various file formats and administering multiple servers. phpMyAdmin also allows users to create, edit, delete and query databases; using either the graphical tool or command line query tool. Additional features include: creating graphics of your database layout in various formats, the ability to create complex queries using Query-by-example (QBE), searching globally in a database or a subset of it and live charts to monitor MySQL server activity [41].
d. MySQL Workbench: MySQL Workbench is a graphical database design and administration tool, it allows developers to perform database administration, development, design, and maintenance for the MySQL database system [42]. MySQL Workbench enables the creating, configuration and management of database connections to MySQL database servers. MySQL Workbench also provides the ability to execute SQL queries on the database connections using the built-in SQL editor. It is also used for Database Design and Modeling by providing developers with graphical tools to create models of a database schema. MySQL workbench also allows developers to reverse and forward engineer between a schema and a live database and edit all aspects of the database including: tables, columns, indexes, triggers, partitioning, options, inserts, privileges, routines and views using a comprehensive data table editor [43]. MySQL workbench is also used for Server Administration; by enabling database administrators to administer MySQL server instances including: administering users, performing database backup and recovery, inspecting audit data, viewing database health, and monitoring the MySQL server performance. Additionally it allows developers and DBAs to migrate databases and database objects from different platforms such as: Microsoft SQL Server, Microsoft Access, Sybase ASE, SQLite, SQL Anywhere, PostreSQL, and other RDBMS. Migration also supports migrating from earlier versions of MySQL to the latest releases [43].
e. XAPP: XAMPP is a free open source platform independent web server solution developed by Apache. XAMPP is an acronym which stands for: cross-platform (X), Apache (A), Mari-aDB (M), PHP (P) and Perl (P). It mainly consists of HTTP Server, MariaDB database and interpreters for PHP and Perl programming languages. XAMPP is a lightweight Apache distribution that allows developers to create local web server for developing and testing of web applications [44]. XAMPP is a development tool that allows developers to deploy and test web solutions using a locally installed WAMP or LAMP stack before migrating to a live server [45]. The full XAMPP package includes: Apache web server, MySQL, a php interpreter, MiniPerl, OpenSSL, phpMyAdmin, XAMPP Control Panel, Webalizer web log analysis software, Mercury Mail Transport System, FileZilla FTP Server, SQLite, ADODB, Zend Optimizer, XAMPP Security and Apache Tomcat [46].
2. Development Languages and Frameworks
a. PHP: The acronym PHP stands for the recursive initialism PHP:Hypertext Preprocessor, it is a widely used free open source general-purpose scripting language. PHP is especially suited for web application development where it is used as a server side scripting language [47]. PHP supports a number of programming paradigms such as: imperative, functional, object-oriented, procedural and reflective [47]. PHP is an interpreted language, therefore code written in PHP is usually processed on a web server by a PHP interpreter, which is an application included in the PHP installation that converts the PHP code into HTML or another format [48]. This distinguishes PHP from client-side scripting languages such as JavaScript which is usually executed on the client's browser. The result of the executed PHP script is then sent and displayed to the client, web servers can also be configured to process all the HTML files with PHP resulting in a smooth delivery of content without the client having any knowledge of the underlying code [47]. PHP is simple to learn and is quite versatile offering many advanced features to both the novice and professional software developers. PHP aside from being a server-side scripting language can also be used for command line scripting and some advance features allow the creating of desktop applications with the use of use PHP-GTK [47]
b. AJAX: Asynchronous JavaScript and XML or commonly known as AJAX does not refer to a specific technology but describe a set of development techniques used for developing dynamic websites and web applications [49]. AJAX is primarily used to asynchronously update web content which in turns allows web applications to appear, behave and function more like traditional desktop applications. The functionality provided by AJAX allows web applications to only load the required content without the need to reload the entire web page when only a small portion of content on the page needs to change [49]. The two main components of AJAX are JavaScript and XML, through the use of the XMLHttpRequest object; a W3C open standard API used for fetching web resources. By using the XMLHttpRequest API, web applications can fetch data asynchronously; when an event is invoked JavaScript creates an XMLHttpRequest object, which then transfers data in an XML format between a web browser and a web server. The XMLHttpRequest object sends a standard HTTP POST or GET request to update page data to the web server and returns control to the client-side after issuing the request. The server processes the request, a response is then created on the server-side and sent back to the browser, which then use JavaScript to process the response and display it in the browser as updated content. While the HTTP request is being handled on the server the use web application is free to continue functioning as normal and is not required to wait on the response. This callback model in AJAX is similar to the operating system method of using interrupt handlers [50].
c. JQuery: jQuery is an open source JavaScript library that simplifies the development of dynamic web pages and web applications. jQuery is one of the more popular JavaScript libraries used today in web development [51]; it is packed with many useful features which enable developers to accomplish a wide variety of tasks, ranging from simple to complex with ease. jQuery makes accessing elements of a HTML file and traversing the HTML DOM (i.e. Document Object Model) easier by providing a simple but robust method; with jQuery it is easier to select, inspect, retrieve and manipulate data from a specific part of the HTML file [51]. jQuery makes implementing CSS and CSS animations easier, it can also enable developers to change the classes or individual styles applied to HTML file even after the page has been rendered. With jQuery CSS can be applied in a more dynamic way while ensuring that the content will have a uniform look and feel across different browsers [52]. Additionally the interactivity of a web page can be greatly enhanced with animations that provide visual feedback to the user; effects such as fades and wipes can be added to make the user experience better. With jQuery retrieving information from the web server is simplified, as it allows the implementation of AJAX; retrieving information from the server and updating page content without refreshing the entire web page. JQuery provides a layer of abstraction that enables developers to focus on the server side functionality without having to take into consideration the complexity and standards of different browsers [52]. Additional features of jQuery include: event handling, JSON parsing, utilities such as feature detection, extensibility through plug-ins and cross browser support [52].
d. BootStrap: BootStrap is a free open-source web development framework that is enables web developers to create enhanced, visually appealing web content by using a number of pre-built CSS templates. BootStrap is primarily used for creating responsive mobile-first (i.e. a web design approach that makes web pages render well on a variety of device screen sizes especially mobile devices) front-end web designs. It consists of CSS and JavaScript based design templates which can be used for buttons, forms, icons, layout, navigation, pagination and other front-end interface components [53]. Originally released in 2014 BootStrap is now one of the most stared open source projects on GitHub and is used by many front-end web designers to simplify front-end web development. The BootStrap framework is easy to use and add to a project, well documented, and allows developers to add their own customizations; giving them more control over the look and feel of the web content[53]
E. Summary
Upon investigating learning technology and Learning Management Systems, one can observe a growing trend in E-learning and the increased use of technology and online tools to assist with classroom instruction. It is safe to conclude that technology does indeed have a positive impact on education and learning. Given the current trends both instructors and learners can benefit from its adoption and use both in and outside of the classroom environment. Aside from the positive aspects there are also a few drawbacks, some of which were previously stated in this chapter, regarding the misuse and limitations of LMS. In order to ensure that a Learning Management System meets the educational needs of both the teachers and students, it is essential to include instructional design considerations during the design phase of the system development process. This will improve the overall effectiveness and impact of the system. The use of the integrated ADDIE-FDD model as the chosen development model may prove effective in addressing some of the more critical pedagogical and instructional design issues. Moreover the investigation of web application technologies provided further insight in the design of web based software solutions and how these technologies can be used to implement quality software to meet the specific needs of the users.
III. REQUIREMENTS ANALYSIS
???????A. Introduction
In software engineering, establishing and defining a set of software requirements are essential as they are used to guide the design and development processes. The process of obtaining and specifying the requirements from the stakeholders is known as requirements engineering. The requirements engineering process involves eliciting a number of possible software requirements from the stakeholders, elaborating and redefining each of the requirements obtained in a manner that is both easily understood by the stakeholders and developers. The next step is to specify each of the requirements and verifying that these requirements are necessary for domain specific objectives that the software system needs to achieve. The final step is the validation of the requirements to ensure that they are no inconsistencies or conflicting views regarding the requirements and that each of the requirements are achievable. In this chapter, we discuss the survey conducted, the research methods utilized and the analysis of the data in order to create an overall solution model along with a list of features which are required for a functional system prototype. Additionally a project schedule is developed to guide the upcoming design and development phases. This is chapter accomplishes the integrated ADDIE-FDD model's FDD sub-processes: Gather System Requirements, build an overall model, build a features list and plan by feature respectively.
B. Overall Description
As described in the previous chapter, the main functions of a Learning Management System are: course content design and publishing, evaluation, assessment, communication and record keeping. These basic functions were validated by stakeholders during the interviews. To accomplish this, the proposed LMS includes the following: An administrative module to administer users and enter the relevant information into the system, an instructor module which will allow instructors to administer classes and perform teaching tasks and a student module to allow students to engage in learning activities.
Each of the modules would be pared to the different roles of the users supported by the system which are: Administrators, Instructors and Students. In each module an interface would be created to enable the users to accomplish the required tasks which are relevant to their specific user role.
C. Overall Solution Model
Based on the overall description stated in the previous section of this chapter, an overall solution model was developed which outlines the required modules and basic features of the system. This was done by first identifying the necessary tasks that are to be performed by each of the three modules and then mapping these tasks as features to each module.
The overall model developed is shown below in Figure 3.1.
The overall model show above in Figure 3.1 gives an overall depiction of the system architecture which will be used as a guide for future design and development. To further elaborate the solution model, an overall system use case diagram was developed showing the different users of the system as actors and the tasks or functions to be performed by each user and their assigned roles.
The overall use case diagram shows a better description of the different functions to be performed by each of the user roles and additional supporting functions that the system is required to perform automatically. The use case diagram is shown below in Figure 3.2.
D. System features
The next step in the analysis phase of the integrated ADDIE-FDD model is to create a features list, using the overall solution model shown in Figure 3.1, a list of features was developed, prioritized according to their importance to the overall functionality and classified by the user role which will require the feature. The features are essentially the functional requirements of the system each of which are an important module or function that needs to be developed and integrated into the working prototype of the system. The features list is shown below in Table 3.1.
Table 3.1: Features list: showing features, development priority and the targeted user role
Feature |
Priority |
Actions and tasks performed |
User(s) |
Manage Users |
High |
|
Administrator |
Manage Class Information |
High |
|
Administrator |
Manage Subject Information |
High |
|
Administrator |
View User Logs |
Medium |
View user activity log |
Administrator |
Edit Calendar of Events |
Medium |
|
Administrator |
Publish Announcements |
Medium |
Publish announcements |
Administrator, Instructor |
Create Content |
High |
Create and upload learning content. |
Instructor |
Manage class |
High |
|
Instructor |
Assess Student Performance |
High |
|
Instructor |
Message Users |
Medium |
|
Instructors, Students |
View Learning Content |
High |
View and read learning content. |
Student |
Take Quiz |
High |
|
Student |
View Assignments |
High |
|
Student |
View Grades |
High |
|
Instructors, Students |
In addition to the main features identified and listed above in table 3.1, a number of functional supporting features are also required. These supporting features or functions are performed by the system and they are essential as they provide additional functionality to the main features and the overall system. The list of supporting functions is shown below in in Table 3.2.
To further elaborate and highlight the activities performed by each of the three user roles a use case analysis was performed.
Each of the user roles and their required features and functions listed in Table 3.1 was depicted using use case diagrams.
Table 3.2: List of required supporting functions performed by the system.
Feature |
Priority |
Actions and tasks performed |
Log User activity |
Medium |
|
Grade Quizzes |
High |
Automatically Grade quizzes |
Authenticate User Login |
High |
|
a. The Administrator Role
The administrator role to which the administrator's interface is parred, has the most privileges as it will allow administrators perform a number of administrative tasks. Administrators can create and edit user accounts for both teachers and students as well as enter classes, subjects and their relevant information into the system. Administrators can also view the log activity of users such as their login and logout times.
Figure 3.3 below shows the Administrator use case and the functions performed by the Administrator user role.
b. The Instructor Role
The instructor or teacher module which is parred to the instructor's interface allows the teachers to create and upload course content, create and administer quizzes, create assignments and assign them to classes. The instructor interface should also allow instructors to communicate with students and other instructors. Additional functions performed by the administrator interface include creating announcements and uploading additional resources to students. Figure 3.4 illustrates the Instructor Use case and the functions performed by the Instructor user role.
c. The Student Role
The student module which is parred to the student's interface will allow students to view the learning material, read and submit assignments as well as take part in quizzes. The students interface will also allow students to communicate with other students and teacher. The Student Use case is shown below in Figure 3.5 illustrating the functions performed by the student user role.
2. Non-functional Requirements
Non-functional requirements are additional attributes, constraints or functions that are added to a software system to improve either the performance, quality and or security [54]. These additional functions are sometimes overlooked by the stakeholders and users during the elicitation of the system requirements, however without them developing quality fault-tolerant software would be an extremely difficult task.
During the requirements analysis two non-functional requirements were identified, these are:
a. User Profile Avatar-Both teachers and students have the ability to upload a profile picture or avatar which will be used to better identify them during classes and to also enhance the overall user experience. Teachers and students also have the ability to change their avatar at any time.
b. Change User Password-When using a password protected system, it I essential that users have the ability to change their login password; this might be due to the user's password being compromised or the user choosing a stronger more secure password.
3. External Interface Requirements
Responsiveness
The content of web applications are rendered by the browser of the client device and the types of devices used to access the internet and web content varies in screen size, orientation and resolution. With this knowledge web developers will have to consider the different devices used by clients to access and use the web application and therefore implement measures to ensure that a web application's content is displayed properly on all or most of the devices which a client may use.
To accomplish this one of two approaches may be chosen: The first approach is designing multiple web interfaces for the different devices; this is the most effective solution as it ensures that the content will be rendered according to the specifications of the developer on each device. This approach however is more time consuming and work intensive as designing and implementing a web interface for each device is not practical and there is the possibility that new devices with unknown specifications might be used to access the system in the future. The second approach is to implement measures that will allow the web interface to automatically adjust to suit the dimensions and resolution of the client ensuring that the content is displayed properly on most devices. This approach is more efficient and practical as only one web interface needs to be designed and developed, additionally it will also be able to support new devices of which the developer may not have knowledge of.
4. Data Requirements
In-order to support the features and functions listed in table 3.1 and the supporting functions in table 3.2 a database will be required to provide storage and retrieval functionality. The database will be required to save the following information:
a. User Information such as the user's name, Username, Password, user role etc.
b. Teacher Information such as the teacher's name, school, login information, classes etc.
c. Student Information such as the students name, class, login information, student status and grades.
d. Class Information the rel event information about the classes.
e. School Information relevant information about the school such as the name, principal etc.
f. Subject Information, this includes the subject name, subject code and other relevant information.
g. Assignment and Quiz Information, the relevant assignments and quizzes such as the name of the assignment, the name of the quiz, the quiz questions etc.
h. File Information, the relevant information of the files uploaded by both teachers and students; assignments and learning materials such as the file name, description and file location.
To meet the needs meet the data needs of the system a MySQL database will be designed and implemented as the main database of the system. further details of the database will be discussed and explained in chapter four of this report.
5. Security Requirements
Security is an essential part of computer software requirements engineering, especially software that manages large amounts of sensitive information. In the case of a Learning Management System the information managed is very sensitive as it includes user's personal information, student's academic records and school information.
The basic security requirement of the LMS is user rights assignment; this ensures that users of the system have access only to information that their respective user role permits them to access therefore preventing any unauthorized access and modification of school or student assessment information.
The LMS should be able to log the users'access to the system, which includes the login time and logout times; as this will provide a record of the times each user accessed the system. Additionally the activity of the administrator account should also be logged; these activities include the creation and modification of user accounts, modifications made to the school events calendar and school information. A log of the administrators 'activity will provide a record of which changes were made by a particular admin user and the time these changes were made. In the event of any inconsistencies with user or school information the activity log can be referenced to verify that information reflects the activity of a legitimate administrator account.
The users of the LMS should also be required to create strong secure passwords which can be easily remembered. In the event that a user forgets his or her password the system should also include a password recovery module to help users recover lost or forgotten passwords.
Finally the LMS sends information between the client and server over the internet; this can pose a significant threat as the information can be captured and or modified by a third party. To mitigate this threat it is recommended that server side SSL security be implemented as this will ensure that the system is safe from malicious users and intrusion attacks.
E. Project Schedule
The final step in the analysis phase of the integrated ADDIE-FDD model is the plan by feature; this entails creating a project timeline which is plan to schedule the estimated time needed to complete the required design and coding tasks. Table 3.3 shown below gives a detailed breakdown of the project schedule. It identifies the tasks that were carried out, the duration of each task in the number of weeks and the order in which they were executed. The estimated time for completion was approximately 25 weeks.
Table 3.3: Project schedule.
Task Number |
Task |
Time Duration (Weeks) |
1 |
Analyse User Requirements and Features List |
1 |
2 |
Identify and Establish List of Required Feature Modules and Sub-modules |
1 |
3 |
Design the Overall System Architecture |
2 |
4 |
Design the Administrator Module and Sub- Modules |
2 |
5 |
Design the Instructor Module and Sub-Modules |
2 |
6 |
Design the Student Module and Sub-Modules |
2 |
7 |
Design the Administrator Interface |
1 |
8 |
Design the Instructor Interface |
1 |
9 |
Design the Student Interface |
1 |
10 |
Analyse Data Requirements |
1 |
11 |
Design and Build System Database |
1 |
12 |
Develop and Build Administrator Module and Sub-modules |
3 |
13 |
Develop and Build Instructor Module and Sub- modules |
3 |
14 |
Develop and Build Student Module and Sub- modules |
3 |
15 |
Integrate and Merge Modules into the Overall Sys- tem Prototype |
1 |
???????F. Summary
This chapter first discussed the method used to obtain and verify the user and system requirements from the users and stakeholders. The requirements were then used to create an overall solution model and a list of possible features to be included into the system. A use case analysis was performed this identified the functions and features required by each of the three user roles supported by the LMS. Additionally the required supporting functions performed by the system as well as the nonfunctional requirements, external interface requirements, data and security requirements were discussed; these features and functions were essential since they enhanced both the usability and overall system integrity and functionality.
Establishing and defining the user requirements is an essential stage in the software development process; this not only lays the foundation for design and development but also provides both the stakeholders and developers with a clear understanding of the functions and capabilities of the software solution.
IV. SYSTEM DESIGN
The design phase of the ADDIE-FDD model is an essential stage in the overall process model as it is used as a basis for completing the development phase therefore it has to be done correctly in order to prevent mistakes which may result in the overall finished product not meeting the requirements of the users and stakeholders. When considering the design of a software system the designers and developers have to consider the following: usability, functionality, reliability, efficiency, maintainability and security. The considerations are to be made when it comes to representing the system requirements in to a design model and design diagrams. This chapter discusses the ADDIE-FDD models design by feature phase and shows the overall system design and the design of the different feature modules and their containing sub-modules which provide the required functionality to the system.
A. Overall Architectural Design
The first step in designing the LMS prototype is create an overall system architectural model; this step is important as it serves as the foundation for the design of the main feature modules and other required components. The system architectural model was developed as an integration of the overall solution model and the required features in the feature list then represented as a design model. The architectural model considers the main components as well as the different functions they are required to perform; these are the three main modules which are: The Administrator Module, The Instructor Module and The Student Module. Each of these main modules has a number of sub modules which are the feature modules that accomplish the list of functions that are required by each user role. To represent the overall system architecture the component diagram was chosen as it not only shows the different components of the system buy also the relationships between them. A component diagram illustrating the overall system architectural design model is shown below in Figure 4.1.
B. The Administrator Module
The Administrator module which is one of the major components, has a number of sub-modules which provides features and functions related to the administrator user role. These sub-modules include: User management, school information and the Calendar of events. These sub-modules are essential since they provide a number of various functions which allow the other modules in the system to work properly. The design of the Administrator module is elaborated and depicted below in Figure 4.2, it shows the different sub-modules, the various features provided and functions performed by this module.
In the diagram shown above in Figure 4.2, the information provided by the administrator module is depicted as interfaces; these interfaces are essential as they allow access to valuable information by the other modules and components of the system. An example of this is the school information interface which is used by both the Instructor and Student modules to assess information regarding the school year, classes and subjects. The relationships between the components of the administrator are also shown; the subject management and and class management functions are extensions of the school management sub-module.
One of the components of the Administrator module is the User management sub-module; this component is responsible for managing user account and user information. This sub-module consists of the list of users, the add user form and the edit user form for each user role. The component level design of the user management sub-module is illustrated in a component diagram shown below in Figure 4.3.
The add user form takes the user data input from the client (browser) and then sends it to the save user component which then saves it to the database. The edit user form first loads the selected user account data then displays it on client-end and then sends the modified data to the save user component which then updated the user account on the database. The list of users displays the user accounts saved in the database. An activity diagram depicting the user management function is shown below in Figure 4.4.
2. School Management Sub-module
The school management sub-module is another important component; it is responsible for allowing the administrator to enter the relevant information regarding the school, classes and subjects. The design of the school information sub-module is depicted below in Figure 4.5.
Similar to the manage user function; the manage school information function first obtains the user input from the client (browser), the information is then validated on the client end and then sent to the database. When modifying the school information the selected data is loaded into the edit form and the modified data is then sent and saved in the database. The manage school information function is illustrated in an activity diagram shown in Figure 4.6.
C. The Instructor Module
The instructor module is another one the main components of the system, it contain the instructor's interface as well as a number of sub-modules which perform the features and required by the instructor user role. These sub-modules include the Class Management sub-module, the The class assessment sub-module and the learning content module. The components (sub-modules) in the instructor module similar to the administrator module uses a number of component interfaces to receive and provide data to the different modules in the system. The instructor module is illustrated below in Figure 4.7.
D. The Student Module
The student module is another one the main components of the system, it contain the students's interface as well as a number of sub-modules which perform the features and required by the student user role. These sub-modules include the student class sub-module the student assignment sub-module and the learning content module. The design approach to this module and its containing sub-modules is similar to that of the previous administrator and instructor modules. The student module is illustrated below in Figure 4.8.
E. Database Design
The database is at the core of the data operations of the LMS. the database was designed accord to the data requirements. Additional tables were added to improve the integrity and stability of the overall database. A total of 39 tables were use in to accomplish all the necessary data requirements of the system; this include both functional requirements and nonfunctional requirements. The schema diagram of the main database tables is shown below in Figure 4.9.
According to the FDD model's design by feature principle; the database tables were designed according to the data requirements of the main feature modules. Each of the feature modules required access to specific data tables in order to accomplish their required functions. the following section gives a description on the design of the required data tables for each feature module.
2. Data Tables Required for User Management
The User Management Sub-module responsible for handling user account information which allows the user to login and perform the tasks allowed by their user role. Additionally this Sub-module is also responsible for managing the user log information.
a. The Activity Log Table
In the Activity log is required to save the information about changes made to the system by the administrators; this includes the action that was performed the, the time the action was performed and the username of the administrator to identify who performed the changes. The Activity Log table is shown below in Table 4.1.
Table 4.1: The data description of the Activity logs table.
Activity Logs Table (activity_log) |
|||
Column Name |
Datatype |
Null |
Description |
activity_log_id |
INT (11) |
NO |
Primary key, used to identify the activity logs. |
username |
VARCHAR (100) |
NO |
The username of the administratorwho performed action(s). |
time |
TIMESTAMP |
NO |
The time the action was performed. |
action |
VARCHAR (100) |
NO |
The name or description of the action performed. |
b. The Administrator Table
The administrator table saves the information about the Administrator user account such as their name, username and password. The Administrator table is shown below in Table 4.2.
Table 4.2: The data description of the Administrator table.
The Administrator Table (admin) |
|||
Column Name |
Datatype |
Null |
Description |
user_id |
INT (11) |
NO |
Primary key, used to identify the ad- min user. |
firstname |
VARCHAR (100) |
NO |
The administrator's first name. |
lastname |
VARCHAR (100) |
NO |
The administrator's surname. |
username |
VARCHAR (100) |
NO |
The administrator's username. |
password |
VARCHAR (100) |
NO |
The administrator's password. |
c. The Administrator Log Table
This table includes the information required for the administrator user logs. This includes: the login and logout times as well as the username and ID which can be used to identify the admin user. The administrator log table is shown below in Table 4.3.
Table 4.3: The data description of the Administrator log table.
The Administrator Log Table (admin_log) |
|||
Column Name |
Datatype |
Null |
Description |
log_id |
INT (11) |
NO |
Primary key, used to identify the ad- min user log. |
username |
VARCHAR (100) |
NO |
The username of the administrator who logged in. |
login_time |
TIMESTAMP |
NO |
The time the administrator logged in. |
logout_time |
TIMESTAMP |
NO |
The time the administrator logged out. |
user_id |
INT (11) |
NO |
Foreign key linking to the Administra- tor table- user_id field; used to record the ID of the administrator logged. |
d. The Instructor Table
The Instructor table saves the information about the instructor user account such as their name, username, password and other user account details. The Instructor table also saves information which is related to the Instructor user role which includes: the school the instructor is assigned to and the teacher's status. The details of the Instructor table is shown below in Table 4.4.
Table 4.4: The data description of the Instructor table.
The Instructor Table (teacher) |
|||
Column Name |
Datatype |
Null |
Description |
teacher_id |
INT (11) |
NO |
Primary key, used to identify the in- structor. |
firstname |
VARCHAR (100) |
YES |
The instructor's first name. |
lastname |
VARCHAR (100) |
YES |
The instructor's surname. |
username |
VARCHAR (100) |
NO |
The instructor's username. |
password |
VARCHAR (100) |
NO |
The instructor's password. |
school_id |
INT (11) |
YES |
Foreign key linking to the School table- school_id field; this field provided a reference to the school the instructor belongs to. |
picture |
VARCHAR (100) |
YES |
The file path to the instructor's avatar. |
about |
VARCHAR (100) |
YES |
A brief introduction about the instruc- tor. |
teacher_status |
INT (11) |
NO |
Foreign key linking to the teacher_status table- status_id field; this provides a reference to the instructor's status. |
e. The Instructor Log Table
The Instructor log table saves the information required for the instructor user logs. This includes: the login and logout times as well as the username and ID which can be used to identify the instructor. The details of the Instructor log table is shown below in Table 4.5.
f. The Instructor's Status Table
The Instructor's Status table saves the information about the instructor's status for using the system; which may be active or inactive. The details of the Instructor's status table is shown below in Table 4.6.
Table 4.5: The data description of the Instructor Log table.
The Instructor Log Table (teacher_log) |
|||
Column Name |
Datatype |
Null |
Description |
log_id |
INT (11) |
NO |
Primary key, used to identify the log record. |
username |
VARCHAR (100) |
YES |
The instructor's name. |
login_time |
TIMESTAMP |
YES |
The login time of the instructor. |
logout_time |
TIMESTAMP |
YES |
The logout time of the instructor. |
teacher_id |
INT (11) |
NO |
Foreign key linking to the teacher table- teacher_id field; this provides a reference to the instructor's ID. |
Table 4.6: The data description of the Instructor's status table.
The Instructor Status Table(teacher_status) |
|||
Column Name |
Datatype |
Null |
Description |
status_id |
INT (11) |
NO |
Primary key. |
status |
VARCHAR (100) |
NO |
Active or Inactive. |
g. The student Table
The student table saves the information about the student user account such as their name, username, password and other user account details. The student table also saves information which is related to the student user role which includes: the class the student is assigned to and the student's status. The details of the student table is shown below in Table 4.7.
h. The Student Log Table
The Student log table saves the information required for the student user logs. This includes: the login and logout times as well as the username and ID which can be used to identify the student. The details of the Student log table is shown below in Table4.8.
Table 4.7: The data description of the Student table.
The Student Table (student) |
|||
Column Name |
Datatype |
Null |
Description |
student_id |
INT (11) |
NO |
Primary key; used to identify the stu- dent. |
firstname |
VARCHAR (100) |
NO |
The student's first name. |
lastname |
VARCHAR (100) |
NO |
The student's surname. |
username |
VARCHAR (100) |
NO |
The student's username. |
password |
VARCHAR (100) |
NO |
The student's password. |
class_id |
INT (11) |
YES |
Foreign key linking to the Class table- class_id field; this field provided a reference to the class the student belongs to. |
picture |
VARCHAR (100) |
YES |
The file path to the student's avatar. |
status |
INT (11) |
NO |
Foreign key linking to the stu- dent_status table- status_id field; this provides a reference to the students's status. |
Table 4.8: The data description of the Student Log table.
The Student Log Table (student_log) |
|||
Column Name |
Datatype |
Null |
Description |
log_id |
INT (11) |
NO |
Primary key, used to identify the log record. |
username |
VARCHAR (100) |
YES |
The students's name. |
login_time |
TIMESTAMP |
YES |
The login time of the student. |
logout_time |
TIMESTAMP |
YES |
The logout time of the student. |
student_id |
INT (11) |
NO |
Foreign key linking to the student table- student_id field; this provides a reference to the student's ID. |
i. The Student's Status Table
The Student's Status table saves the information about the student's registration status; this may be Registered or Unregistered. The details of the student's status table is shown below in Table 4.9.
Table 4.9: The data description of the Student's status table.
The Student Status Table (student_status) |
|||
Column Name |
Datatype |
Null |
Description |
status_id |
INT (11) |
NO |
Primary key. |
status_name |
VARCHAR (100) |
NO |
Registered or Unregistered. |
3. Data Tables Required for School Information Management
The School Management Sub-module responsible for handling the information about the schools, subjects, classes and calendar events. The information managed by this Sub-module is important since it is used by other modules and sub-modules in the system to perform their various required functions..
a. The School Table
The school table saves the information about the school and the school'principal. The details of the school table is shown below in Table4.10.
Table 4.10: The data description of the School table.
The School Table(school) |
|||
Column Name |
Datatype |
Null |
Description |
school_id |
INT (11) |
NO |
Primary key, used to identify the school. |
school_name |
VARCHAR (100) |
NO |
The name of the school. |
principal |
VARCHAR (100) |
NO |
The name of the school principal. |
b. The Class Table
The school table saves the information about the different classes. In each school there are a number of classes for which students are assigned to. The details of the class table is shown below in Table4.11.
Table 4.11: The data description of the Class table.
The Class Table(class) |
|||
Column Name |
Datatype |
Null |
Description |
class_id |
INT (11) |
NO |
Primary key, used to identify the class. |
class_name |
VARCHAR (100) |
NO |
The name of the class . |
c. The Subject Table
The Subject table saves the information about the different subjects or courses taught. This includes: the subject name, code, the subject category, description and the number of required units as well as the term (semester) in which the subjects are taught. The details of the Subject table is shown below in Table4.12.
Table 4.12: The data description of the Subjects table.
The Subjects Table (subject) |
|||
Column Name |
Datatype |
Null |
Description |
subject_id |
INT (11) |
NO |
Primary key, used to identify the sub- ject. |
subject_code |
VARCHAR (50) |
NO |
A simple Alphanumeric code used to identify the subject. |
subject_title |
VARCHAR (100) |
NO |
The name of the subject. |
category |
INT (11) |
YES |
Foreign key linking to the category table- category_id field; this provides a reference to the subject category . |
description |
MEDIUMTEXT |
YES |
A brief description of the subject and the objectives. |
unit |
INT (11) |
YES |
The number of units required for the subject. |
pre_req |
VARCHAR (100) |
YES |
The prerequisite subject or course. |
term |
INT (11) |
YES |
Foreign key linking to the term table- term_id field; this provides a reference to the term the subject will be taught. |
d. The Subject Category Table
The different subjects or courses taught are normally grouped together into categories such as: Sciences, Arts and Humanities and Technical, the information about the different subject categories are saved the the Subject Category table. The details of the Subject category table is shown below in Table4.13.
Table 4.13: The data description of the Subject Category table.
The Subject Category Table(category) |
|||
Column Name |
Datatype |
Null |
Description |
category_id |
INT (11) |
NO |
Primary key. |
category_name |
VARCHAR (100) |
NO |
The name of the category. |
e. The Events Table
The Events table saves the information about the school calendar and upcoming events as well the information in the class calendar for the different class events. The details of the Events table is shown below in Table4.14.
Table 4.14: The data description of the Events table.
The Events Table(event) |
|||
Column Name |
Datatype |
Null |
Description |
event_id |
INT (11) |
NO |
Primary key, used to identify the event. |
event_title |
VARCHAR (100) |
NO |
The title of the event. |
teacher_class_id |
INT (11) |
NO |
Foreign key linking the teacher_class table - teacher_class_id field; this field provides a reference to a specific teacher_class. |
date_start |
DATE |
NO |
The start date for the event. |
date_end |
DATE |
NO |
The end date for the event |
4. Data Tables Required for Class Management
The Class Management Sub-module performs tasks such as: assigning instructors and students to classes. There are a number of data tables required by the different components of this sub-module; the two main tables the described as follows.
a. The Teacher's Class Table
The Teacher's Class table saves information about the class that the instructor is assigned to teach. This information includes a reference to the instructor, the class, the subject or course taught and the school year. The details of the Teacher's Class table is shown below in Table 4.15.
Table 4.15: The data description of the teacher's class table.
The Teacher's Class Table(teacher_class) |
|||
Column Name |
Datatype |
Null |
Description |
teacher_class_id |
INT (11) |
NO |
Primary key, used to identify the class. |
teacher_id |
INT (11) |
NO |
Foreign key linking the teacher table - teacher_id field; this field provides a reference to the teacher. |
class_id |
INT (11) |
NO |
Foreign key linking the class table - class_id field; this field provides a reference to the class. |
subject_id |
INT (11) |
YES |
Foreign key linking the subject table - subject_id field; this field provides a reference to the subject. |
thumbnails |
VARCHAR (100) |
NO |
The file path of the thumbnail image to identify the class. |
school_year |
VARCHAR (100) |
YES |
The school year. |
b. The Student's Class Table
The Student's Class table has us used to save the information for the students who belong to a particular class. The information in this table in closely related to the Teacher's Class shown above in 4.15; this information provides a reference to the teacher'class the student and the teacher. The details of the Student's Class Table is shown below in Table 4.16.
Table 4.16: The data description of the student's class table.
The Student's Class Table(teacher_class_student) |
|||
Column Name |
Datatype |
Null |
Description |
teacher_class_student_id |
INT (11) |
NO |
Primary key, used to identify the stu- dent class. |
teacher_class_id |
INT (11) |
NO |
Foreign key linking the teacher_class table - teacher_class_id field; this field provides a reference to the teacher's class. |
student_id |
INT (11) |
NO |
Foreign key linking the student table -student_id field; this field provides a reference to the student. |
teacher_id |
INT (11) |
NO |
Foreign key linking the teacher table - teacher_id field; this field provides a reference to the teacher of the class. |
5. Data Tables Required for Assessments and Learning content
Both the Student Assessment and the Learning Content Sub-Modules respectively manage information essential to the student's learning and assessment of learning. In order to accomplish these required tasks a numbers of database tables are required; these database tables are needed to save the assignments, quizzes, the file path to the uploaded learning content as well as the results of the assessments. The main database tables needed to accomplish these tasks are discussed and shown as follows.
a. The Quiz Table
The Quiz Table saves the information about the quiz which includes: the quiz title, the description, the date the quiz was created as well as the ID number of the instructor who created the quiz. The details of the Quiz Table is shown below int Table 4.17.
Table 4.17: The data description of the Quiz table.
The Quiz Table(quiz) |
|||
Column Name |
Datatype |
Null |
Description |
quiz_id |
INT (11) |
NO |
Primary key, used to identify the quiz. |
quiz_title |
VARCHAR (100) |
NO |
The title of the quiz. |
quiz_description |
VARCHAR (100) |
NO |
The description of the quiz. |
date_added |
TIMESTAMP |
YES |
The time the quiz was created. |
teacher_id |
int (11) |
NO |
Foreign key linking the teacher table - teacher_id field; this field provides a reference to the teacher that created the quiz. |
b. The Quiz Question Type Table
The Quiz Question Type Table saves the information regarding the type of questions used; this can be ether a true or false question or a multiple choice question. The details of the Question Type Table is shown below int Table 4.18.
Table 4.18: The data description of the Quiz Question Type table.
The Quiz Question Type Table(question_type) |
|||
Column Name |
Datatype |
Null |
Description |
question_type_id |
INT (11) |
NO |
Primary key, used to identify the ques- tion type. |
question_type |
VARCHAR (100) |
NO |
The type of the question, (i.e. multiple choice or true or false. |
c. The Quiz Question Table
The Quiz Question Table saves information about the quiz questions such as the question text, the points awarded for each question, the correct answer of the question and the time the question was created. Additionally it also saves a references to the quiz which the question belong to as well as the type of question. The details of the Quiz Question table is illustrated as follows in Table 4.19.
Table 4.19: The data description of the Quiz Question table.
The Quiz Question Table(quiz_question) |
|||
Column Name |
Datatype |
Null |
Description |
quiz_question_id |
INT (11) |
NO |
Primary key, used to identify the ques- tion. |
quiz_id |
INT (11) |
NO |
Foreign key linking the quiz table - quiz_id field; this field provides a reference to the quiz which uses this question. |
question_text |
VARCHAR (200) |
NO |
The question text. |
question_type_id |
INT (11) |
NO |
Foreign key linking the question_type table - question_type_id field; this field provides a reference to the type of question. |
answer |
VARCHAR (100) |
NO |
The correct answer for the question. |
points |
INT (11) |
NO |
The points awarded for the question. |
date_added |
TIMESTAMP |
YES |
The time the question was added. |
d. The Class Quiz Table
This database table saves the information about the quiz assigned to a particular class by the instructor. The information saved includes the time allocated for the quiz as well as references to both the teachers's class and the quiz assigned. The details of the Class Quiz table is shown below in Table 4.20.
e. The Assignment table
The Assignment Table as the name suggests saves information about the assignments created by instructors. The information saved in this database table includes: the name of the assignment, the description, the time the assignment was created as well as references the the teacher who created it and the class of students it was assigned to. The details of the Assignment table is shown below in Table 4.21.
Table 4.20: The data description of the Class Quiz table.
The Class Quiz Table(class_quiz) |
|||
Column Name |
Datatype |
Null |
Description |
class_quiz_id |
INT (11) |
NO |
Primary key, used to identify the class quiz. |
teacher_class_id |
INT (11) |
NO |
Foreign key linking the teacher_class table - teacher_class_id field; this field provides a reference to the teacher_class the quiz is assigned to. |
quiz_time |
INT (11) |
NO |
The time allocated for each quiz. |
quiz_id |
INT (11) |
NO |
Foreign key linking the quiz table - quiz_id field; this field provides a reference to the quiz that is being assigned to the class. |
Table 4.21: The data description of the Assignment table.
The Assignment Table(assignment) |
|||
Column Name |
Datatype |
Null |
Description |
assignment_id |
INT (11) |
NO |
Primary key, used to identify the quiz answer. |
floc |
VARCHAR (200) |
NO |
the path on the server where the up- loaded file is located. |
fdatein |
TIMESTAMP |
NO |
The date and time the assignment was uploaded. |
fdesc |
VARCHAR (300) |
YES |
The description of the file uploaded. |
teacher_id |
INT (11) |
NO |
Foreign key linking to the teacher ta- ble - teacher_id field; this field provides a reference to the teacher who created the assignment. |
class_id |
INT (11) |
NO |
Foreign key linking to the class table - class_id field; this field provides a reference to the class the assignment is assigned to. |
fname |
VARCHAR (100) |
NO |
The name of the assignment file up- loaded. |
f. The Learning Content Table
The Learning Content Table saves the information about the downloadable learning content which will be uploaded by the instructors. The information saved in this table includes: the name of the file, the date the file was uploaded, the description, as well as references to the instructor who created it and the class it was assigned to. The details of the Learning Content table is shown below in Table 4.22
Table 4.22: The data description of the Learning Content table .
The Learning Content Table(files) |
|||
Column Name |
Datatype |
Null |
Description |
file_id |
INT (11) |
NO |
Primary key, used to identify the up- loaded file. |
floc |
VARCHAR (200) |
NO |
The location of where the file is saved. |
filedatein |
TIMESTAMP |
YES |
Foreign key linking the teacher_class table - teacher_class_id field; this field provides a reference to a specific teacher_class. |
fdesc |
MEDIUMTEXT |
NO |
The description of the uploaded file. |
fname |
VARCHAR (100) |
NO |
The name of the uploaded file. |
teacher_id |
INT (11) |
NO |
Foreign key linking the teacher table - teacher_id field; this field provides a reference to the teacher who uploaded the file. |
class_id |
INT (11) |
NO |
Foreign key linking the class table - class_id field; this field provides a reference to the specific class that the lesson is assigned to. |
6. Data Tables Required for Messages and Announcements
Messages and Announcements allows communication between students and instructors. The components which manage the messaging and announcements functions rely of the database to save the the information which is used to support these functions. The main database tables required for the messages and announcements are discussed as follows.
a. The Messages Table
The Message Table saves the information about the message, this includes: the message content, the time the message is sent and the information about the sender and receiver. The details of the Message table is shown below in Table 4.23.
Table 4.23: The data description of the Messages table.
The Messages Table(message) |
|||
Column Name |
Datatype |
Null |
Description |
message_id |
INT (11) |
NO |
Primary key, used to identify the mes- sage. |
receiver_id |
INT (11) |
NO |
The ID number of the receiver. |
sender_id |
INT (11) |
NO |
The ID number of the sender. |
content |
MEDIUMTEXT |
YES |
The content of the message. |
date_sended |
TIMESTAMP |
YES |
The message was sent. |
receiver_name |
VARCHAR (100) |
NO |
The name of the receiver. |
sender_name |
VARCHAR (100) |
NO |
The name of the sender. |
message_status |
VARCHAR (100) |
NO |
The status of the message. |
b. The Notifications Table
The Notifications Table saves the information about the announcements and notifications that the students receive. The information saved in this database table include: the notification text, the time of notification, the item that prompted the notification as well as a reference to the class that receives the notification. The details of the Notification table is shown below in Table 4.24.
Table 4.24: The data description of the Notifications table.
The Notifications Table(notification) |
|||
Column Name |
Datatype |
Null |
Description |
notification_id |
INT (11) |
NO |
Primary key, used to identify the noti- fication. |
teacher_class_id |
INT (11) |
NO |
Foreign key linking the teacher_class table - teacher_class_id field; this field provides a reference to the class that receives the notification. |
notification |
VARCHAR (200) |
NO |
The content of the notification. |
date_of_notification |
TIMESTAMP |
NO |
The time of the notification. |
link |
VARCHAR (100) |
YES |
The item the notification is linked to. |
???????7. Summary
This chapter gives a brief description of the overall architectural design and the component level design of the main modules and different feature sub-modules. The system architectural model was developed as a more detailed representation of the overall solution model shown in the requirements analysis, illustrating the inter-connectivity between the different modules and system components.
The component level designs were created by first analysing the user and system requirements discussed in the previous chapter and then modeling these requirements based on the features and the functions that each of the modules were required to perform. In addition to the respective system modules and components the design of the database was accomplished by analysing the data requirements of the respective feature modules. Finally each of the required data tables, additional supporting tables and relationships between them were designed according the objectives listed in the data requirements.
In the software development process,the designs phase is very important and the technical diagrams created during this phase are essential as they provide a clear guideline to developers on how to develop and build each of the necessary software components and database objects.
V. SYSTEM DEVELOPMENT
This chapter discusses how the system was developed and the different modules and their respective sub-modules were implemented. The main feature modules are discussed and a brief description of the different options and links are given along with a screenshot of the finished prototype as well as code excerpts of the functions modules.
a. Login Module
The Learning Management System is based on the B/S web application architecture, therefore the user is not required to install any software at the client end; the user just enters the URL of the LMS into the browser gains access to the Login page as shown below in Figure 5.1.
Before the user gains access to the system the user has to enter a username and password; according to the password entered the user will be directed to either the Student's interface or the Instructor's interface.
The main login page also provides the ability to register a new user account for both teachers and students as well as the basic public information about the system and the school.
The Administrator's login page is located on a separate page from the main login page; it is accessed by adding the a forward slash and the word admin (/admin) to the end of the URL. The administrator's login page shown below in Figure 5.2 is not as graphically appealing as the main login page; however it allows the admin users to enter the administrator's interface.
B. Administrator Module
The administrator module which contains the administrator's interface allows the administrator to perform various administrative functions previously stated in the requirements analysis. After the administrator successfully logs in, the admin user is redirected to the administrator control panel which provides the necessary tools and options to perform administrative functions.
To the left of the administrator interface is the administrative sidebar which contains links to the different sub-modules and functions that they perform. The top most like is the link to the dashboard which displays a graphical summary of the number of teachers indicating the number of active teacher, the number of students indicating the number of registered students.
The number of classes, subjects and downloadable files are also displayed to the administrator. This feature was made possible by utilizing the easy pie chart JavaScript plugin; which is a free lightweight plugin used to draw simple, animated pie charts for single values. The administrator dashboard is shown below in Figure 5.3.
The following three links; Admin Users, Teachers and Students are part of the user management sub-module. These options allow the administrator to perform user management for the the three user roles permited by the web application. The actions allowed are adding new users, editing the user information and deleting the users. the user management sub-module is discussed further in the next section of this chapter.
The following six options in the sidebar: Schools, Classes, Subjects, Downloadable Materials, Uploaded Assignments and Content; are part of the school information management sub-module. these options allows the administrator to manage (i.e. enter, update and delete) the information regarding the schools, classes and subjects. This sub-module also allows the administrator to view and monitor the learning content and assignments uploaded by the teachers. The content option allows the administrator to publish additional information regarding school events and notifications; the information published is accessible to all.
The following four options are an extension of the user management sub-module; they allow the administrator to view the users logs of both students and teacher as well as view the activity logs of other administrative users. The activity log option is a security feature as it records any changes made in the administrative interface which may serve as a reference if there is any unusual changes to either the user or school information.
The last two options which are the School year and Calendar of Events; they allow the administrator to enter the school year and publish announcements regarding upcoming school events respectively.
The user management sub-module as previously stated allows the administrator to manage the different users of the system and their user accounts. This sub-module contains three separate options for managing the three different user roles. This was implemented as a means of simplifying the user management process; and also to prevent mistakes, managing multiple user accounts which belong to different user roles can be prone to mishaps which may lead to the security and integrity of the learning Management system being compromised. An example of the administrator using the students option to add a new student account is shown below in Figure 5.4. The add student function depicted in Figure 5.4 was implemented using a combination of jQuery and PHP; the student user information entered in the browser was first validated on the client side and then sent to the server where it was then inserted into the database. After the process was complete a notification was displayed and the administrator was redirected to the list of users. Additionally in the background the action was recorded in the activity log table of the database. The source code excerpts of the add student function is shown below in Figures 5.5 and 5.6.
Similarly when the administrator edits a user account information; the information of the selected user is first loaded from the database into the client browser; the changes are validated on the client-end then sent to the server to be inserted into the database and an entry is made in the activity log table of the database. The administrator is then redirected to the list of users. An example of the edit user function is shown below in Figure 5.7, and the source code excerpt is also shown in Figure 5.8.
2. School Information Management Sub-module
The school information management sub-module is responsible for accomplishing a number of different tasks; these include: Entering, updating and deleting information pertaining the school such as: the school name, Principal name, the class name as each school has a number of classes, the different subjects and the relevant information regarding these subjects. Additionally this module also allows the administrator to publish content about the school such as notifications to students and parents as well as edit the calendar of events. One of the options in this sub-module is the manage subject function. This function allows the administrator to add new subjects and edit their relevant information. This function was implemented similarity to the add user function the only major difference is that there is the implementation of a WYSIWYG rich text editor tinymce which is an open source JavaScript plugin that allows text editing capabilities. This text editor plugin is used to provide text editing capabilities when entering the description of the subject as well as in other function modules. The manage subject function is shown below in Figure 5.9.
As shown in Figure 5.9, the administrator is shown the list of subjects and from there a number of operations can be performed; these include adding a new subject, editing an existing subject and deleting a subject.The add subject function is shown below in figure
5.10. The source code excerpt of this function is shown below in Figure 5.11.
Another function that relates to managing school is the calendar of events, this function allows the administrator to publish information in the school's calendar to inform students of up coming events.
This function was implemented using a plugin written in CSS and JavaScript; Full-Calendar which allows the creation of calendar objects. An example of the calendar of events is shown below in figure 5.12. Figures 5.13 and 5.14 shows the source code excerpts of the calendar event function.
C. The Instructor Module
The instructor module contains the instructor interface allows instructors to perform a the required tasks to engage students in learning as stated in the requirements analysis. After the instructor successfully logs in, the instructor is redirected to the teacher dashboard which contains the teacher control panel.
On the left hand side of the teacher dashboard is the teacher sidebar which provides the instructor with a number of options as links to perform the various tasks. At the top of the sidebar is the My Class option which displays the number of classes that the instructor currently teaches, the following option; Notification option which allows the teacher to view notifications about submitted assignments and completed quizzes. The following option Message allows the instructor to send messages to students and other instructors, the next option below is the teacher backpack, this is the instructor's personal repository of files; uploaded files can be added to the teacher backpack. The following two options are part of the learning content sub-module they are:the Add Downloadables option allows the instructor to upload learning content which can be viewed and downloaded by the students; the Add Announcements option which allows the instructor to publish announcements to students.
The add assignments option which allows the creation of assignments and the Quiz option that allows the instructor to create quizzes are part of the student assessment sub-module. finally the shared Files displays the list of files showed by the instructor. The teacher dashboard and the options available to instructors are shown below in Figure 5.15.
To the right of the teacher dashboard is the add class option which allows the instructor to add a new class; additionally when the instructor clicks on one of the classes shown in the class list the instructor is redirected to the class management sub-module.
The class management sub-module shown below in figure 5.17 display a list of students in the selected class in the form of icons, these icons display the student name and the students'avatar or profile picture. Using the sidebar on the left,the instructor can perform a number of tasks which include: adding a subject overview, managing downloadable files as well as announcements and class events for the selected class. In this sub-module the instructor can also manage the assignments and quizzes assigned to the selected class.
The instructor is also provided with options to add students to the class and generate a printable class list; these functions are made available by the two buttons to the top right corner of the list of students. Additionally the instructor can remove a student from the class by clicking the remove link at the bottom of the student icon. The class management sub-module is shown below in figure 5.17, the source code excerpt of the class management sub-module is shown below in Figure 5.18
2. Learning Content Sub-module
The learning content sub-module allows the instructor to create, upload and publish learning content to students. this module is presented to the instructor in the both the teacher panel where the instructor can assign content to multiple classes and in the class management sub-module to assign content to the selected class. An example of the add downloadable content function is shown below in Figure 5.19.
3. Student Assessment Sub-module
The student assessment sub-module allows the instructor to create quizzes and upload assignments to assess students performance. Figure 5.20 depicts an example of an uploaded assignment viewed from the instructor's interface.
D. The Student Module
The student module contains the student interface which allows the student to login, view the learning content, download assignments and learning materials, submit assignments and take quizzes. Students can also send messages to other students and instructors and view the class calendar. The student module comprises of the Assignment sub-module, the Learning Content sub-module and the Quiz sub-module.
When the student successfully logs in, the student is redirected to the student dashboard shown in Figure 5.22, in the student dashboard a number of options are presented to the student on the left sidebar. These option are the My Class option which displays a list of classes or courses that the student is currently enrolled in, The Notification option which allows the student to view notification and announcements, the Message options which allows the student to send and receive messages and the Backpack option which is the student's personal file repository. Figure 5.23 shows the student module My Class option displaying the list of classes that the student is currently enrolled in.
The Assessment sub-module allows the student to view and submit assignments uploaded by the instructor. When a new assignment is uploaded, the student receives a notification about the assignment; the student can then click on the assignment notification which will redirect them to the assignment sub-module and the newly uploaded assignment. An example of a student assignment is shown in Figure 5.24; the student has the option to down and view the assignment and also submit the completed assignment.
The source code excerpts of the upload assignment function is shown in Figures 5.25 and 5.26.
2. Quiz Sub-Module
The quiz sub-module allows the student to view and take quizzes created by the instructor, theses quizzes are automatically gra9d4ed by the the system. The student is notified about the new quiz and by clicking on the notification the student is redirected to the quiz sub-module. The quiz displayed to the student along with the description and the time allocated. The student may attempt the quiz by clicking on the "Take this Quiz" link. The quiz sub-module is shown in figure 5.27.
Figure 5.29 shows that after the quiz is submitted the questions are graded and the results are shown to the student. The results are also recorded in the instructor module where the instructor can review the student's performance on the quiz.
E. Summary
Each of the modules, required sub-modules and components of the LMS were developed according to the specifications created in the design phase. After the different components were built they were the merged into the overall system; the completed system was then given a set of sample data in order to test the functions and features to ensure that they were indeed capable of meeting the user requirements and specifications.
VI. SUMMARY, CONCLUSION AND RECOMMENDATIONS
This chapter gives an overall summary and the work undertaken in the process of completing this project, which includes the analysis of the literature and the findings of the survey conducted in order to draw conclusions from the overall study conducted and also highlight the possible implications this project might have in the future. Based on the conclusions, recommendations will be made to facilitate to a successful implementation of the proposed Learning Management System and its further development in the future.
A. Summary
Information and communication technology today is responsible for playing a major role in the development of many smaller developing countries by addressing and providing solutions to problems faced in daily life. These technical advancements and developments are not limited to E-Commerce but also in the field of education and social development. The Covid-19 pandemic and the measures which were subsequently adopted to curb the spread and control the rate of infection has inadvertently exposed much inefficiency in many sectors of small developing Caribbean nations such as Grenada. This was the spark that led to the inception of a software solution in the form of an Online Learning Management System in secondary schools, though it may be just a small step but may prove effective in addressing some of the issues and inefficiencies related to education in Grenada.
The main objective of this research was to design and develop a new Learning Management System for secondary schools in the country of Grenada. A subsequent review of the literature on Learning Management Systems; helped to better understand its core functions, features, user requirements and specifications. The literature review also provided better apprehension of the role of technology in the education and the different applications of educational technology; as well as a more in-depth comprehension of the modern approach to the teaching and learning processes as well as the different teaching and learning styles used by institutions and educators in developed countries. The literature review also explored the web application; the features, functionalities and capabilities as well as the different web application architectures used in modern web development. Additionally a brief review of the different programming languages, frameworks and software tools used was done which allowed a more in-depth grasp of the features and capabilities of said languages and frameworks and how these features can be used in an efficient manner to develop a web application as a prototype for the LMS.
A research involving students, teachers and other stakeholders was undertaken in order to better understand and validate the both the requirements and specifications of the learning platform; as well as to ascertain the implications, impacts on the stakeholders and users and also to discover the overall opinions, concerns and recommendations as it relates to introducing the new LMS Conception to secondary schools. The research adopted the use of both qualitative and quantitative methods which were in the form of questionnaires and interviews; additionally a focus group was done to further specify the requirements and obtain feedback and additional recommendations from stakeholders and ICT professionals. The findings obtained from the research indicated that stakeholders namely students and teachers were generally welcoming to the idea of implementing a Learning Management System in secondary schools; however it also revealed a number of issues such as some teachers may lack technical expertise and experience in using learning technology. Subsequently further analysis of the findings lead to the decision to implement the integrated ADDIE-FDD model as the chosen software development model; which is an integration of the instructional design model ADDIE and the Agile software development model Feature Driven Design FDD. This design model was chosen because it not only incorporates instructional design to the Agile, Object Oriented FDD model but also the ADDIE model is one of the more widely used standardized instructional design models used for designing online learning content. The Analysis, Design and Development phases were applied in the creation of the new LMS. The system was realized by using PHP as the main development language, the user interface was developed using a combination of dynamic HTML (i.e. HTML, CSS and JavaScript) embedded in PHP. The data operations were implemented using a combination of AJAX and PHP.
???????B. Conclusion
Based of the literature presented and the findings from the survey conducted; the new Learning Management System Conception, was able satisfy all of the system and user requirements established in the requirements analysis.
The completed modules of the system include the Administrator module, the Instructor module and the Student module. In the Administrator module, the admin user can login, create, delete and modify user accounts for all the three user roles supported by the system. The admin user can also enter and modify school information such as subjects, classes and school calendar events. Additionally the admin user can also view the user logs and admin activity logs and view the list of files uploaded by instructors.
The Instructor module allows the instructors to login, upload downloadable learning content, upload assignments, grade assignments and create and administer quizzes. The instructors can also create a class of students add and remove students from classes and also publish announcements and class calendar events. Additionally the instructors can create and send messages to other instructors and students. The Student module allows the students to login, enter their respective classes, download and read learning content, submit assignments, take quizzes and view grades. Additionally students can create and send messages to other students and instructors, copy files to their personal file repository and view class and school calendar events. The new LMS also includes a mobile first responsive web user inter face which is not only user friendly but also ensures that all users and their different devices are catered for. In concluding the overall functionality of the LMS is more than capable of meeting the objectives of this research; however due to geographical limitations the overall effectiveness and impact of the system cannot be evaluated at this point in time.
C. Recommendations
In order to properly evaluate the effectiveness and overall performance of the new LMS it should be deployed to a live web hosting server and implemented in schools. The implementation will be on a trial basis lasting for 2 months to ensure that both instructors and students properly understand and grasp the use of the features and functions; at the end of the trial period an additional survey should be conducted to evaluate the effectiveness of the new LMS. The main aspects of the evaluation should be the overall usability, the effectiveness of the features and possible challenges faced by the users. The feedback obtained from the evaluation will be used as a basis to refine and modify the LMS to better meet the needs of the users.
2. Recommendation 2: Include Additional Features
A number of additional features can be added to the new LMS, which may improve the overall functionality and enhance the effectiveness of the new system. These features include the following:
a. A Principal's Interface-which will allow school principals to monitor and evaluate the performance of instructors and students within their respective schools. The Principal's interface should also allow the principals to generate adequate reports based the performance of students within the different classes and also to manage the school calendar information. Additional functions provided by this feature will include: messaging and communication with instructors and students, publishing of announcements to students and instructors and school information management.
b. A Education Officer's Interface-Which will allow district education officers to evaluate the different schools within their respective districts. This feature will allow education management at the district level and will enable the education officers to better asses and compare the performance of students in the different schools.
c. A Parent's Interface- Which will allow parents to login and view their child's performance in school. This feature will also allow the parents to communicate with instructors and principals regarding their child's performance in school and may prove effective in encouraging parents to take a more active role in the education of their children.
3. Recommendation 3: Include a Recommendation System
The successful implementation of the new LMS will provide will provide Instructors and Principals with the students' performance data in the different subjects areas. This data can be saved in the system as the students progress through secondary school. A recommendation system could be designed and implemented as part of the LMS, by using the students grades and results accumulated throughout their five years of secondary school to recommend possible areas of study and majors that a student may be more suited for at the undergraduate or Diploma level.
4. Recommendation 4: Provide Training to Instructors
The findings of the survey conducted revealed that a number of instructors have little or no experience in using a LMS or other educational technology; it is recommended that the Ministry of Education in Grenada organize training workshops to provide instructors who are lacking in technical expertise with the necessary training in the use of the new LMS as well as other educational software tools.
VII. ACKNOWLEDGEMENTS
First of all I want to extend a heart felt thank you to thank my academic supervisor, Professor Wang bin hui for the successful completion of this research. I would like to thank him for his careful guidance and valuable suggestions throughout the whole process, I would also like to express my gratitude to Professor Wang for his selfless help in the process of writing the report. Professor Wang's strict attitude towards learning, his tireless spirit of teaching and his moral demeanor will always affect my future study, life and work, which will benefit me a lot throughout my life.
I would also like to extend my gratitude to my mother, as she provided the needed emotional support throughout my studies especially during the Covid-19 Lockdown.
I would also like to extend my greatest and deepest gratitude to my Colleague, Teacher, Mentor, and Friend the late Mr. Martin Williams. I want to thank him for his contribution and participation in this research, as well as his his guidance and support throughout my studies. Unfortunately he recently passed away due to his failing health, however his contributions will always be remembered.
Finally, I would like to express my gratitude to all the individuals who have rendered valuable assistance to my study.
[1] M.Gosper, J.McKenzie, J.Malfroy, and Ashford-Rowe, “Student use of technologies for learning and what has changed since 2010,” in Rethoric and Reality, Critical per¬spectives in Educational Technology, pp. 298–310, ASCILITE, 2014. [2] Dr. Serhat Kurt, “Addie model: Instructional design, educational technology.” https://educationaltechnology.net/the-addie-model-instructional-design/. , Retrieved February 14th 2021. [3] C. M. Budoya, M. M.Kissake, and J. S.Mtebe, “Instructional design enabled Agile Method using ADDIE Model and Feature Driven Development method,” Interna¬tional Journal of Education and Development using Information and Communication Technology, vol. 15, no. 1, pp. 35–54, 2019. [4] A.Kafyulilo, P.Fisser, and J.Voogt, “Factors affecting teachers’continuation of tech¬nology use in teaching.,” Education and Information Technologies, vol. 21, pp. 1535–1554, 2016. [5] N. Fathema, D. Shannon, and M. Ross, “Expanding the Technology Acceptance Model (TAM) to Examine Faculty Use of Learning Management Systems (LMSs) In Higher Education Institutions.,” MERLOT Journal of Online Learning and Teaching, vol. 11, no. 2, pp. 210–232, 2015. [6] C. Gautreau, “Motivational Factors Affecting the Integration of a Learning Manage¬ment System by Faculty.,” Journal of Educators Online, vol. 8, no. 1, pp. 1–25, 2011. [7] Emma Rundle, “The benefits of distance learning with lms..” https://elearningindustry.com/the-benefits-of-distance-learning-with-lms., Retrieved November 29 2020. [8] V. R. Ulbricht, C. H. Berg, L. Fadel, and S. R. P. Quevedo, “The emotion component on usability testing human computer interface of an inclusive learning management system,” in Learning and Collaboration Technologies. Designing and Developing Novel Learning Experiences (P. Zaphiris and A. Ioannou, eds.), (Cham), pp. 334–345, Springer International Publishing, 2014. [9] N. Y. Asabere, “Article: Benefits and challenges of mobile learning implementation: Story of developing nations,” International Journal of Computer Applications, vol. 73, [10] pp. 23–27, July 2013. Full text available. [11] Dhanarajan, Gajaraj , “Combating poverty through adult education (commonwealth of learning (col).” http://dspace.col.org/handle/11599/1576, Retrieved December 15 2020. [12] Ministry of Education. Grenada now. Press release, “E-learning support for students displaced by adverse circumstances..” https://www.nowgrenada.com/2020/03/e-learning-support-for-students-displaced-by-adverse-circumstances/, Retrieved November 28 2020. [13] R. Raja and P. C. Nagasubramani, “Impact of modern technology in education,” Jour¬nal of Applied and Advanced Research, vol. 3, no. 1, 2018. [14] S. Laster, “ Model-driven design: Systematically building integrated blended learning experiences.,” Journal of Asynchronous Learning Networks, vol. 8, no. 5, pp. 23–40, 2005. [15] N. A. Adzharuddin and L. H. Ling, “Learning Management System (LMS) among University Students: Does It Work?,” International Journal of e-Education, e-Business, e-Management and e-Learning, vol. 3, no. 3, pp. 248–252, 2013. [16] M. Pivec, O. Dziabenko, and I. Schinnerl, “Aspects of game-based learning,” 2003. [17] H. Cartner and J. Hallas, “Aligning assessment, technology, and multi-literacies,” E-Learning and Digital Media, vol. 17, no. 2, pp. 131–147, 2020. [18] Claudette Fongkong-Mungal and Emmanuel Royston , “Opening up access to e-learning experiences: A caribbean case study, (commonwealth of learning (col).” http://dspace.col.org/handle/11599/3337, Retrieved December 20 2020. [19] C. Mejía, A. Díaz, J. E. Jiménez, and R. Fabregat, “Considering cognitive traits of university students with dyslexia in the context of a learning management system,” in Foundations of Augmented Cognition. Directing the Future of Adaptive Systems (D. D. Schmorrow and C. M. Fidopiastis, eds.), (Berlin, Heidelberg), pp. 432–441, Springer Berlin Heidelberg, 2011. [20] K.Sprague and F.Grijpink and J.Manyika and L.Moodely and B.Chappius and K.Pattabiraman and J.Bughin, “Offline and falling behind: Barriers to internet adop-tion,” tech. rep., McKinsey and Company, 2014. [21] Dipti Arora, “Learning management system (lms) using csharp, asp.net and sql-server.,” tech. rep., St.Cloud State University, 2018. [22] C. Vrasidas, “Issues of pedagogy and design in e-learning systems,” in Proceedings of the 2004 ACM Symposium on Applied Computing, SAC ’04, (New York, NY, USA), p. 911–915, Association for Computing Machinery, 2004. [23] J. Cowell, Web Applications, pp. 147–157. London: Springer London, 2002. [24] M. Jazayeri, “Some trends in web application development,” in 2007 Future of Soft¬ware Engineering, FOSE ’07, (USA), p. 199–213, IEEE Computer Society, 2007. [25] Mark Dabbs, “The fundamentals of web application architecture reinvently.com.” https://reinvently.com/blog/fundamentals-web-application-architecture/ , Retrieved January 10th 2021. [26] Ethan Marcotte, “Responsive web design. a list apart..” https://alistapart.com/article/responsive-web-design/, Retrieved January 10th 2021. [27] Ruth Thomas, “The benefits of using web based applications, geeks.ltd.uk.” https://www.geeks.ltd.uk/about-us/blog/details/eQU5Ip/the-benefits-of-using-web-based-applications, Retrieved January 13th 2021. [28] Neil Mcalister, “Five weaknesses of web-based applications, it business.ca.” https://www.itbusiness.ca/news/five-weaknesses-of-web-based-applications/13058, Retrieved January 20th 2021. [29] I. Papagiannis, M. Migliavacca, and P. Pietzuch, “Php aspis: Using partial taint track¬ing to protect against injection attacks,” in Proceedings of the 2nd USENIX Conference on Web Application Development, pp. 21–24, 2011. [30] IBM Knowledge Center, Architectural characteristics of web-based applications, www.ibm.com/support/knowledgecenter, Retrieved January 25th 2021. [31] ProgrammerSought, “B/S architecture and C/S architecture, www.programmersought.com.” https://www.programmersought.com/article/29884359808/, Retrieved February 4th 2021. [32] Arkbauer results driven software development, “Software development life-cycle (sdlc).” https://arkbauer.com/blog/software-development-life-cycle-sdlc/, Retrieved February 12th 2021. [33] A. M. Abdulazeez and S. R. M. Zeebaree, “Developing E-Learning System to Sup¬port Teaching and Learning Activities Using DSDM Approach,” Academic Journal of Nawroz University, vol. 7, no. 3, pp. 249–258, 2018. [34] Rachaelle Lynn, “What is fdd in agile?, planview.” https://www.planview.com/resources/articles/fdd-agile/ , Retrieved February 13th 2021. [35] Aris Apostolopoulos, “What is fdd in agile?, addie training model: What is it and how can you use it, talentlms.” https://www.talentlms.com/blog/addie-training-model-definition-stages/ , Retrieved February 14th 2021. [36] Joydip Kanjilal, “Visual studio code: A fast, lightweight, cross-platform code edi¬tor, www.infoworld.com.” https://www.infoworld.com/article/2919555/visual-studio-code-a-fast-lightweight-and-cross-platform-code-editor.html. , Retrieved February 5th 2021. [37] Microsoft Docs, Visual Studio code, Microsoft docs, Retrieved February 5th 2021. [38] Oracle Corporation, what is mySql MySQL 8.0 Reference Manual, Retrieved February 5th 2021. [39] Joomla.org, Joomla technical reference, Retrieved February 7th 2021. [40] G. H. andSteven Feuerstein, MySQL Stored Procedure Programming. Database and web programming, O’Reilly Media, Inc, 2006. [41] Gabe Gralla, “phpmyadmin review. pcworld magazine.” https://www.pcworld.com/article/233948/phpmyadmin.html, Retrieved February 9th 2021. [42] phpMyAdmin, “phpmyadmin, bringing mysql to the web.” https://www.phpmyadmin.net/, Retrieved February 9th 2021. [43] Oracle Corporation, MySQL Workbench Manual / General Information, Retrieved February 7th 2021. [44] Oracle Corporation, MySQL Workbench Manual / MySQL Workbench Features, Re¬trieved February 7th 2021. [45] Gabe Gralla, “Xampp for windows. pcworld magazine.” https://www.pcworld.com/article/233860/xampp-for-windows.html, Retrieved February 20th 2021. [46] Owusu-Ansah Godfred, “Where xampp is used commonly and what it can do. the global health data management.” https://globalhealthdatamanagement.tghn.org/community/blogs/post/5122/2013/07/xampp/, Retrieved February 20th 2021. [47] Apache friends.org, “Xampp add-ons.” https://www.apachefriends.org/download.html, Retrieved February 20th 2021. [48] PHP.net, “Php manual.” https://www.php.net/manual/en/ , Retrieved march 3rd 2021. [49] Mariusz Andrzejewski , “How a php interpreter works in droptica.” https://www.droptica.com/blog/how-php-interpreter-works/ , Retrieved march 3rd 2021. [50] Alex Wun, AJAX, in Book; Encyclopedia of Database Systems, pp. 94–95. New York, NY: Springer New York, 2018. [51] Ajax and Client Scripting, in Book; Pro ASP.NET MVC Framework, pp. 419–458. Berkeley, CA: Apress, 2009. [52] jQuery Team, JQuery API Documentation, Retrieved February 15th 2021. [53] Jonathan Chaffer and Karl SWedberg, Learing jQuery, Fourth Edition. PACKT pub¬lishing, 2013. [54] Bootstrap Framework Documentation, “Get started with bootstrap, the world\'s most popular framework for building responsive, mobile-first sites.” https://getbootstrap.com/docs/5.0/getting-started/introduction/, Retrieved February 10th 2021. [55] R. S. Pressman and B. R.Maxim, Software Engineering: A practioner’s approach 8th Edition. China machine Press, 2014.
Copyright © 2022 Christopher A. Mignon. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
Paper Id : IJRASET46592
Publish Date : 2022-09-02
ISSN : 2321-9653
Publisher Name : IJRASET
DOI Link : Click Here