In developing this e-learning website, the application of agile methodology is the right choice because it can ensure flexibility and responsiveness to user needs. In agile methodology, design becomes an important part, because it can facilitate changes, so that this e-learning website can develop adaptively and remain aligned with the objectives of the project.
Agile Methodologies are a group of software development methods that are based on iterative and incremental development. The four major characteristics that are fundamental to all agile methodologies are: adaptive planning, iterative and evolutionary development, rapid and flexible response to change and promote communication.
Seeing the importance of the design step in this agile methodology, the design related to this e-learning website can be explained below.
4.4.4. Physical Data Model
When developing an e-learning website, it is important to have a deep understanding of the physical data model.The physical data model is a concrete representation of how data is stored and accessed in a computer system.
This diagram visually shows the structure and relationships of the entities, attributes, and data relationships used. Diagramming the physical data model makes it easy to identify key entities, their associated attributes, and represent the relationships between entities in the database. Therefore, this article provides a solid foundation for e-learning site developers to design and implement an efficient and effective database.
Figure 4.
Physical Data Model
Figure 4.
Physical Data Model
The given physical data model represents the database structure for an online course system. The model consists of four main entities: Admin, User, Course and FAQ, with predefined relationships between the entities.
The first entity is Admin, which has four attributes. The first attribute is ‘id_admind’, which is a primary key of datatype INT and is set with AUTO_INCREMENT so that its value is automatically incremented when new data is added. The second attribute is ‘admind_name’ which is a VARCHAR datatype with a maximum length of 255 characters and is used to store the admin’s name. The third attribute is ‘user_name’, also of type VARCHAR(255), used to store the admin’s username. The fourth attribute is ‘password‘, of type VARCHAR with a maximum length of 10 characters, used to store the admin password.
The second entity is User, which also has three attributes. The first attribute is email, which is a primary key of type VARCHAR data with a maximum length of 255 characters and is used to store the user’s email. The second attribute is user_name which is of type VARCHAR(255) and is used to store the user’s username. The third attribute is Password which is of type VARCHAR with a maximum length of 10 characters and is used to store the user’s password.
The third entity is course, which has eight attributes. The first attribute is id_course which is a primary key of type INT and is set with AUTO_INCREMENT. The second attribute is title_course which is of type VARCHAR(255) and is used to store the course title. The third attribute is description_course which is of type TEXT and is used to store the course description. The fourth attribute is video_course which is of type VARCHAR(255) and is used to store the link or path to the course video. The fifth attribute is thumbnail_course which is of type VARCHAR(255) and is used to store the link or path to the course thumbnail. The sixth attribute is category_course which is of type VARCHAR(255) and is used to store the course category. The seventh attribute is user_email, which is a foreign key of type VARCHAR(255) and points to the email attribute in the user entity, indicating that each course belongs to a user. The eighth attribute is admin_id, which is a foreign key of type INT pointing to the id_admind attribute in the Admin entity, indicating that each course is managed by an admin.
The fourth entity is FAQ which has five attributes. The first attribute is id_FAQ which is a primary key of datatype INT and is set with AUTO_INCREMENT. The second attribute is question which is of datatype TEXT and is used to store the question. The third attribute is ‘answer’ which is of type TEXT and is used to store the answer. The fourth attribute is ‘user_email‘, which is a foreign key of type VARCHAR(255) and points to the ‘email‘ attribute in the user entity, indicating that each question in the FAQ has been submitted by a user. The fifth attribute is ‘course_id’, which is a foreign key of type INT and points to the ‘id_course’ attribute in the Course entity, indicating that each question in the FAQ is related to a specific course.
4.4.5. Sequence Diagram
When developing an e-learning website, sequence diagrams play an important role in visualising the flow of communication and interaction between the various components of the system.Sequence diagrams depict, from start to finish, the sequence of messages exchanged between an actor (such as a user or administrator) and the system to perform a specific function.These diagrams help the development team understand and document the working logic and interactions that occur in each use case.
By using sequence diagrams, the team can ensure that all operational scenarios are accounted for in detail, identify potential problems early on, and enable more efficient system integration. Sequence diagrams also serve as an effective communication tool between developers and stakeholders, ensuring that all parties have a common understanding of the process flow and functionality of the system.
In this sequence diagram, there are 6 cases that explain what the flow of communication and interaction between various system components looks like.
1) Case: User can register in e-learning.
This sequence diagram details the interaction between the user and the system that performs the user registration process. The registration process begins when the user selects the registration page menu on the e-learning application. After selecting the menu, the registration page displays a registration form that the user must fill out. The user then enters the required data on the registration form and sends the data to the server through the registration page. The registration data received from the registration page is transferred to the database for verification. At this stage the database checks the validity of the received data. If the submitted data is valid, the database will respond to the registration page and send a valid token.
Then, the user will see a successful registration message on the registration page informing them that the registration process was successful. The user is then directed to the main page of the e-learning application through the registration page. However, if the data submitted is invalid, the database will respond to the registration page with an invalid token. The user will then see a registration error message on the registration page, informing them that the registration process failed and asking them to retry the process with the correct data.
Therefore, this sequence diagram shows a clear flow of interaction between the user, registration page, database, and main page in the e-learning registration process. Each step is explained in detail, starting from the user selecting the registration menu, validating the data in the database, displaying the registration result message either successful or failed registration, and redirecting to the main page after successful registration.
2) Case: User and Admin can login the course on e-learning
This sequence diagram describes the login process carried out by users and administrators. The login process starts when a user or admin accesses the login page on the e-learning website. Then after the login page is displayed, the user or admin is asked to enter a username and password. After entering the login information, the user or admin sends the data to the server through the login page. The login data received by the login page is then forwarded to the database for the validation process.
The database checks the validity of the login data received. If the data provided is valid, the database will send a valid response to the login page. The login page then displays the successful login data to the user or admin, and then directs to the main page of the e-learning application, where the submission menu is displayed as an indication that the login process has been successful.
But if the login data is invalid, the database will send an invalid response to the login page. The login page then displays an error message to the user or admin, informing them that the login process failed and asking them to recheck the username and password that have been entered.
Therefore, this sequence diagram shows a clear flow of interaction between the user, admin, login page, database, and main page in the login process on the e-learning website. Where each step is explained in detail, starting from accessing the login page to validating data in the database and displaying the login results, both successful and failed, as well as redirecting to the main page after a successful login.
3) Case: User can access the course on e-learning
This sequence diagram shows the steps a user takes to access a course from the course menu. The process starts when the user accesses the course menu. Where it will be displayed in the first step when the user takes action to open or view the list of courses available in the system. Then in the second step, the system displays the course menu list to the user. The page or list of available courses will be loaded and displayed. Then, in the third step, the user selects and accesses one of the courses from the displayed list.
The system then processes the user’s selection in the fourth step and validates the course selection. If the validation is successful and the selected course is valid, then in the fifth step the system sends the course data to the department that manages the course. After the data is submitted and processed, in the seventh step, the system displays the selected course to the user and allows the user to access and view the course content and information. However if the validation fails and indicates the user’s course selection is invalid, the system redisplays the user to the administration main menu in the sixth step. This redirects the user to the main page where they can select another course or perform other desired actions.
This diagram clearly shows the interaction flow between the user, course menu, and course, as well as how the system validates and responds to course access requests from the user.
4) Case: Admin can manage courses on e-learning
This case sequence diagram 4 shows the sequence of interactions between the administrator and the system in course management. The process starts when an administrator accesses the "Course Administration" menu available in the system application or website. This step is the starting point for the administrator to begin the management process. Next, the system will display the list of courses stored in the database.
During this phase, the administrator can view various course details such as: Name, description, and other important information for each course. The administrator then selects the course to be managed by clicking on the desired course. The system then displays the full details of the course, allowing the administrator to conduct a thorough review before making any changes. Once the Administrator has selected a course to manage, the administrator can change various information about the course. This includes changing the name, description, and other necessary information. The system then provides a form that allows the administrator to change the data easily. Once the data has been changed, the administrator clicks the Save button. At this time, the system processes the changed data and updates the price information in the database. Once the saving process is complete, a confirmation message will appear informing the administrator that the course data has been successfully updated and the changes have been saved. The system will then automatically redirect the administrator to the Course Administration main menu.
From here, the administrator can add new courses, edit other courses, or delete existing courses. To ensure that all changes have been applied correctly, the administrator can return to the course list and view the details of the changed course. The system ensures that all data changes are accurately reflected, giving administrators peace of mind that course management is running correctly and accurately.
This sequence diagram details a systematic and efficient course management workflow for administrators.
5) Case: Admin can manage categories on e-learning
To manage product categories, the case 5 sequence diagram shows the sequence of interactions between the admin and the system. To start the process, the administrator must access the "Category Management" menu in the system application or website. This initial step allows the administrator to start the category management process. After that, the system responds by displaying a list of existing categories in the database. At this point, the manager can view the details of each category, including the name, description, and other important information.
Next, the admin selects the category to manage by clicking on the category. The system then displays the full details of the category, allowing the admin to thoroughly review it before making any changes. After selecting a category, the admin can change its name, description, and other information as needed. The form provided by the system makes it easy for administrators to make data changes.
After the data is changed, the admin presses the "Save" button. At this time, the system processes the changed data and changes the category information in the database. After the saving process is complete, a confirmation message is issued by the system to inform the admin that the category data has been successfully updated and the changes have been saved. Next, the system validates the changed data to ensure that the data is valid and in accordance with the specified format.
If the changed data is invalid, the system will display an error message and ask the Admin to correct the data. The Admin can then return to the data editing step to correct the error. However, if the changed data is valid, the system automatically redirects the Admin back to the main menu of category management. From here, the Admin has the option to add a new category, edit another category, or delete an existing category. To ensure that all changes have been applied correctly, Admins can return to the category list and view the details of the categories that have been changed. The system ensures that all data changes have been reflected correctly, giving Admins the assurance that category management has been done successfully and accurately.
6) Case: Admin can manage Frequently Asked Questions (FAQ) on e-learning website.
This sequence diagram for Case 6 shows the sequence of interactions between the administrator and the system when managing FAQs (Frequently Asked Questions). Where this sequence diagram details a systematic and efficient workflow for administrators to manage FAQs. The process begins with the administrator accessing the Administration FAQ menu available on the system application or website. This step is the starting point for the administrator to begin the FAQ management process. The system will then respond by displaying a list of FAQs stored in its database. During this phase, the administrator can review various FAQ details such as: Question, Answer, and FAQ categories.
The administrator then selects the FAQ to be managed by clicking on the FAQ to be managed. The system then displays the full details of the FAQ, allowing the administrator to conduct a thorough review before making any changes. After selecting an FAQ, the administrator can change various information related to that FAQ as needed, including: Question Category, Answer, and FAQ.
The system provides a form that allows the administrator to change the data easily. After the data is changed, the administrator clicks the Save button. At this time, the system processes the changed data and updates the FAQ information in the database. After the saving process is complete, the system displays a confirmation message informing the administrator that the FAQ data has been successfully updated and the changes have been saved. The system then validates the modified data to ensure its validity and conforms to the specified format. If the modified data is invalid, the system displays an error message and prompts the administrator to correct the data.
The administrator can then return to the data modification step and correct any errors. However, if the modified data is valid, the system displays the details in the modified FAQ. This allows the administrator to verify that the changes to the data have been propagated correctly. After verifying that all changes have been successfully applied, the administrator can return to the main FAQ administration menu. From here, the admin can add new FAQs, edit other FAQs, or delete existing FAQs.