Several requirement elicitation techniques would be taken to obtain the user requirements and satisfy the stakeholders’ needs. The techniques are ethnography, user interviews, surveys and task analysis.
Ethnography is an observational technique that discovers the implicit system requirements and shows the actual ways the people work. (Meligy et al., 2018) It can be said that this technique involves observing while collecting data. By applying this technique, an ethnographic analyst is assigned to collect information in the physical working environment where the system will be used. The analyst will document and analyse the actual ways the related participants work with online learning systems everyday. The analyst should experience life as an end user to obtain the actual comments from themself. For example, if it is discovered that the system lags especially at midnight, this issue has to be recorded in order to ensure the availability of the system.
User interview is a qualitative research method which examines the responses and feedback from target audience to the system. This technique advocates an in-depth conversation between the interviewer and the users regarding the user experiences on the system. By using this technique, the researchers would randomly select a small group of users as the interviewees for the purpose of acquiring qualitative data. There are several examples of interview questions for our system, such as what is your first impression on the current state of online learning systems? What is your opinion on the performance of the system? Which part of the system should be enhanced to provide greater efficiency and convenience when using the system? These kinds of questions will prompt the users thinking over the limitation or performance of the system. Therefore, the researchers are able to improve the specific part of the system precisely and efficiently.
Interviews provide an efficient way to collect large amounts of data quickly. The usefulness of the information gathered from interviews, for example, can vary greatly depending on the interviewer's skill. Researchers use this technique to gather information. Unstructured, structured, and semi-structured interviews are the three main types of interviews. Unstructured interviews are more conversational in nature. The interviewers have only limited control over the direction of the discussions because they do not adhere to a predetermined agenda or list of questions, some topics may be completely overlooked. It is also common in unstructured interviews to focus too much detail on some topics while not enough on others. When there is a limited understanding of the domain, this type of interview is best used for exploration, or as a precursor to more focused and detailed structured interviews. Structured interviews are conducted to gather specific information by asking a predetermined set of questions. The success of structured interviews is dependent on knowing what questions to ask, when to ask them, and who should answer them. This technique can be supported by templates that provide guidance on structured interviews for requirements elicitation, such as Volere.
Task analysis takes a top-down approach, by using this technique, the researchers are breaking down high-level tasks into subtasks and then into detailed sequences until all actions and events are described. The primary goals of this technique are to build a hierarchy of the tasks performed by users and the system, as well as to determine the knowledge used or required to carry them out. Task analysis provides information on how the user and the system interact with the tasks, as well as a contextual description of the activities that occur. In most cases, significant effort is required to perform thorough task analysis, and it is critical to determine what level of detail is required and when components of the tasks must be investigated further.
The system must have the support of Single Sign-On (SSO) available to ensure students may enter the system with the credentials that they have in other sites for easier accessibility as well as a unique Universal Enrollment Identification (UEID) number to allow students to be tracked and ensure an efficient management system. Besides that, the system must enable the support of security roles that identifies the permissions and rights to access certain features for that certain user. A few examples of security roles are lecturers, administrator, students, and so on.
Extensive research on how to build a mobile version of a learning management system needs to be conducted because adaptive design is not sufficient. A responsive design is needed for the system to ensure a good user experience. The system also needs to be compatible on all types of mobile devices and it is essential that the mobile compatibility of learning materials such as documents, presentation, and so on be accounted for.
The system must enable students to have access and download the course contents from their devices in various types of media such as Microsoft Words, Powerpoint or PDF. In addition to that, examinations, tests or quizzes need to be available for students to take in accordance with their courses. Besides that, certificates of completion, evaluations and course registration sheets need to be readily available for the convenience of students and lecturers.
It is crucial that the system connects the course learning materials to their respective courses and associate the classes with the specific lecturer for their respective sessions. To ensure a good user experience, displaying the unique ID numbers or code for courses is required. Furthermore, a prevention method where students are prevented from enrolling in a course if the student is detected to not have been enrolled in its prerequisite is needed. The system must also enable the lecturers to post course completion to a student’s work.
The system must be able to allow students to self-enroll into their desired course via the course catalog. This will provide ease of use for the students to enroll their desired course which can save time and data.
The system will be able to display the course catalog to the students from the inventory of courses available in the system. It can also store and archive training modules, artifacts, study materials, additional readings etc.
Any events or scheduled class can be informed via the notification feature to the students. Not only that, this feature also works in informing students of their upcoming homework deadlines, quizzes and exams.
The system will be able to display student’s progress throughout the courses and curriculum activities. This will help the student keep track of their performance.
This feature allows data to be extracted and imported through user interface. Such data may include student’s information, attendance, course selected etc. The data gathered can be used to produce student reports.
In Malaysia, The Malaysia Communications and Multimedia Commision(MCMC) regulates and supervises legislation relating to communications and multimedia-related activities. Therefore, entities responsible for creating communication-related services or systems are obliged to comply with existing standards and laws when creating a system, with regards to its security in order to maximize the security of the system.
The system has to be operational at all times, even out of working hours as there might be lecturers who need to assign new tasks or send out announcements. Students might also need to access the system to submit assignments or obtain learning materials during off-hours. System downtimes must be scheduled at least 24 hours in advance to ensure users are prepared for it. Planned system updates, patches and support must occur without service disruption.
A system's ease of usage is important to ensure users can use the system comfortably and to minimize errors made. The learnability of a system can be enhanced by creating intuitive designs for the system. Intuitive design would include descriptive titles or properly organized buttons and links.Other than that, customer support must be provided to users to help with any issue that users face.
The manageability of a is important in the system’s health monitoring, logging and alerting. It can store logs of history of activity and alerts when the system has been compromised due to viruses. These functions help keep track of the system’s ability to function optimally. Other than that, the setting up and configuring the system correctly is key for optimal performance and availability. Some systems need regular or real-time control, so access to the right “nobs” and actuators is a fundamental requirement. Some systems need regular or real-time control, so access to the right “nobs” and actuators is a fundamental requirement.
The reliability of a system is important to ensure the system can run without failure. The reliability of a learning management system includes that the system can track and display user information correctly. The system must also maintain audit logs on all committed transactions. The reliability can be reinforced by having redundancy systems such as backup servers.
Security can be implemented by having secure connections by users through HTTPS protocol. Ensure that data is encrypted and backups exist in case of failure.
The usability of a system refers to its ability to support itself on different types and versions of web browsers which includes Opera, Safari, Internet Explorer, Google Chrome, and so forth as well as supporting mobility for tablets or phones. It is also important for the system to have the capability of importing and supporting unique UEID numbers to track students.
The use case diagram is the most common representation of system/software requirements for an undeveloped software programme. The use case modeling helps design a system from the end user’s perspective. Use case diagrams show the interactions between the system and its actors. In use-case diagrams, the use cases and actors define what the system does and how the actors interact with it, but not how the system works internally.