UNIVERSITY OF BORDEAUX 1 FINAL REPORT MASTER OF SOFTWARE ENGINEERING (2011 2013) WEB-BASED STUDENT MANAGEMENT SYSTEM USING RFID Author LE Huong Sao Mai Supervisor LE Dinh Viet Hai December, 2013.
Acknowledgement I would like to express my very great appreciation to my supervisor Mr. LE Dinh Viet Hai for allowing me to spend my internship period at his department. He is the one who continuously instructed me how to approach problems, explained the requirements and gave other supports during my internship period. He also offered me an advice to complete my internship report. I am particularly grateful for the assistance given by my teammates who are students from University of Natural Science and University of Information Technology. Last, but not least, my special thanks are extended to members of my family for their financial support and constant encouragement.
Abstract Vietnam National University Ho Chi Minh City (VNU-HCMC) is considered a large system of universities, institutions and centers in the region. With the hope of providing students with a good environment to study, VNU-HCMC has constantly expanded and upgraded its academic programs and facilities. The result is that the number of students enjoying their study in VNU-HCMC is increasing. This leads to the necessity to build a student management system so that the student management becomes easier and more effective. When building the web-based student management system, VNU-HCMC chose RFID (Radio Frequency Identification) technology for the management of check-in and checkout in classes or laboratories of students. Students are provided with student cards using RFID and they have to use these cards to check in and check out every class. This helps teachers to save time for the task of taking the attendance of students because the details of check-in and check-out will be saved in the system. Apart from using RFID cards to check-in and check-out, students can use them to look up their learning results using computers at their university. VNU-HCMC also used RFID cards for parking management because they are able to play the role of vehicle tags. The work of my internship project is to build a Joomla component for such a student management system using MVC (Model-View-Controller) model and RFID technology in order to manage check-in, check-out, taking attendance, looking learning results and parking activities. Keywords: RFID technology, Joomla component, MVC model.
Contents Chapter 1. Introduction... 7 1.1. Vietnam National University Ho Chi Minh City (VNU-HCMC):... 7 1.2. Internship project... 7 1.2.1. Motivations... 7 1.2.2. Objectives... 8 1.2.3. Schedules and tasks... 8 Chapter 2. Analysis... 9 2.1. Student management System... 9 2.1.1. Back-end... 9 2.1.2. Front-end... 11 2.2. States of the art... 12 2.2.1. Using Radio Frequency Identification technology... 12 2.2.2. Using Joomla... 13 2.2.3. Using Model-View-Controller model... 13 Chapter 3. Conception and Implementation... 15 3.1. Radio Frequency Identification Technology... 15 3.1.1. Introduction to Radio Frequency Identification technology... 15 3.1.2. Flow chart of using RFID in identification... 16 3.2. Joomla... 16 3.2.1. What is Joomla?... 16 3.2.2. Joomla components... 16 3.3. Model-View-Controller model... 16 3.4. Software architecture... 18 3.4.1. Class diagram of the program... 18 3.4.1.1 Class Card... 18 3.4.1.2 Class Student... 19 3.4.1.3 Class Class... 20 3.4.1.4 Class Lecturer... 20
3.4.1.5 Class Major... 21 3.4.1.6 Class Subject... 21 3.4.1.7 Class ListSubject... 21 3.4.1.8 Class Room... 22 3.4.1.9 Class Schedule... 22 3.4.1.10 Class Register... 23 3.4.1.11 Class Attendance... 23 3.4.1.12 Class Results... 24 3.4.1.13 Class Parking... 24 3.4.2. Implementation of functions... 25 3.4.2.1 Check-in and check-out... 25 3.4.2.2 Looking up learning results... 25 3.4.2.3 Parking activities... 26 Chapter 4. Conclusion... 28 4.1. Results... 28 4.2. Future works... 28 Bibliography... 29
List of figures Figure 1. Student Management System... 9 Figure 2. Works of the administrator... 11 Figure 3. Works of students, teachers and the parking staff... 12 Figure 4. RFID System... 15 Figure 5. Flow chart of using RFID in identification... 16 Figure 6. MVC model... 17 Figure 7. Class diagram of the program... 18 Figure 8. The process of check-in and check-out... 25 Figure 9. The process of looking up learning results... 26 Figure 10. The process of check-in in a parking lot... 26 Figure 11. The process of check-out in a parking lot... 27
Chapter 1. Introduction My internship project is about a web-based student management system using RFID. In this part, I will introduce the environment and the internship project. The second part is about the analysis. The third part mentions about the conception and implementation. The last one is the conclusion. 1.1. Vietnam National University Ho Chi Minh City (VNU-HCMC): Vietnam National University Ho Chi Minh City (VNU-HCMC) was established in January 1995 by merging a number of universities in Ho Chi Minh City. At present, VNU-HCMC includes six membership universities, one research institution and several centers. These members of VNU-HCMC are University of Technology, University of Natural Sciences, University of Social Sciences and Humanities, International University, University of Information Technology, University of Economics and Law, Institute for Environment and Resources, Faculty of Medicine, Foreign Language Center, Center for International Education, Center for Educational Testing and Quality Assessment, Center of French Universities and so on. VNU-HCMC staff has about 4.302 employees. Recently, VNU-HCMC has offered academic programs for bachelor degrees, master degrees and doctorate degrees. Thanks to the government supports, VNU-HCMC has been expanding its academic programs and facilities which prepare a good environment for students to study and develop their skills. I did my internship at IT Department of VNU-HCMC. The department is located on Floor 4, Room 402 in VNU-HCMC Building. My supervisor, Mr. LÊ Đình Việt Hải, is the head of the department. 1.2. Internship project 1.2.1. Motivations The following are problems that VNU-HCMC raised: First, a teacher has to spend a period of time to take student s attendance in every class. The more crowded the class is, the more time he has to spend for the activity. Without the constraint of taking attendance, a number of students will not come to class frequently, which leads to bad learning results. Therefore, it is necessary to have a student management system for taking attendance issue. 7 / 29
Second, when students look up their learning results or their check-in, check-out details using computers at the university, they have to type their user name and password to login the system. Some problems may occur. Students may forget their password or the password is stolen when they are typing, which makes them not able to login the system. Thus, it is also necessary for a student management system to avoid the problem. Last, when a student comes in and out the parking lots in his university, he receives a vehicle tag and pays the fee. It is more convenient not only for students but also for the parking staff if a student management system has another function that allows a student card to play a role of a vehicle tag. Students can pay the fees in advance and the amount of the money will decrease whenever they come in or come out the parking lots. The parking staff no longer spends time to take note the parking information. 1.2.2. Objectives Build a Joomla component for a student management system that manages: Check-in and check-out in classes and laboratories. Taking detailed attendances of every student of every course. Looking up learning results using computers at the university. Looking up detailed attendances using computers at the university. Parking activities. 1.2.3. Schedules and tasks I did my internship in six months. The first month is a period of learning and reading materials which are related to the project. They are theories of RFID technology, theories of MVC model, Joomla frame work and its component and PHP language. In the second month, I attended classes that were guided by an assistance of my supervisor and helped me to write a simple Joomla component. During the third month, a number of tasks that I had to do were analyzing the requirements; learning the process of check-in and check-out of the dormitory directly under VNU-HCMC; designing the database diagram, work flows for backend and front-end, forms and user cases for functions; writing a part of the report. In the fourth month, based on the designs, my team designed classes for back-end component, wrote codes, tested and continued to write the report. In the next month, my team designed classes for front-end component, wrote codes, tested and continued to write the report. The last month is the period of writing the report. 8 / 29
Chapter 2. Analysis 2.1. Student management System In reality, the number of functions that a student management system needs to have is more than the one mentioned in the previous chapter. The reason is that any student management system must have the management of academic programs, courses, student information, schedules, tuition fees and registering courses online. However, in my internship period, I was assigned to build functions mentioned in the previous chapter. Therefore, in the report, I concentrate on these functions. Figure 1. Student Management System 2.1.1. Back-end Back-end is considered as an administrator. The administrator has the right to: Manage check-in and check-out: o Query for details of check-in and check-out of a student, including the following fields: student code, last name, first name, date of birth, course, room, time of check-in, time of check-out. o Export files. Manage taking attendance: o Query for a list of students in any course together with the times they take part in the course. The details include the following fields: student code, 9 / 29
last name, first name, date of birth, times of attendance and a warning if absent classes are more than the allowed. o Export files. Manage the learning results: o Query for the learning results of a course. The details include: student code, last name, first name, date of birth and score. o Query for the total learning results. The details include: student code, last name, first name, date of birth, course, corresponding score, average score. o Import or export learning results from files. Manage the parking activities of the university. o Query for the details of time-in and time-out of students, the amount of money from parking service, whether a student uses his card for the parking service. o Export files. Manage academic programs: insert, update or delete information related to courses and subjects. Manage student information. Manage tuition fees. Manage the registering course online. Arrange schedules for courses. Import or export excel or xml files about information of students, RFID cards, academic programs, schedules, taking attendance, learning results, parking payment. Filter or search information about students, courses, subjects and schedules. Administrate the system. 10 / 29
Figure 2. Works of the administrator 2.1.2. Front-end Front-end is considered as students, teachers or the parking staff. Using cards, students have to check in and check out every class of a course. Using cards, students can look up their learning results using computers at the university. The details include: student code, last name, first name, date of birth, score of every subject and the average score. Using cards, students can look up their attendance using computers at the university. The details include: student code, last name, first name, date of birth, times of attendance of every course and warnings (if yes). Students can use their student cards as a vehicle tag when they come in and out parking plots of the university. Teachers can get the summary table of the attendance of their students. The parking staff checks the time-in and time-out of students, views whether the account of a student is still in credit or not and reminds a student if his account is not in credit. 11 / 29
Figure 3. Works of students, teachers and the parking staff 2.2. States of the art All universities or colleges have their own student management systems. The systems manages student information, learning results, tuition fees, academic programs, schedules, extra-curricular activities or registering courses online. Most of the systems are web-based systems thanks to a number of advantages, such as users can login the system at any time and everywhere, the system can offer its services to a large number of users at the same time and the ability of integrating online services. Other systems are desktop applications. 2.2.1. Using Radio Frequency Identification technology Whether a system is a web-based or desktop application, in order to insert data into tables or query data from tables, users must type the related information or use functions of importing documents through forms. Using Radio Frequency Identification (RFID) tags can help to make those activities simpler and it is better to secure the data. For instance, instead of typing his student code to insert data in check-in or check-out process or to load data in looking up learning results, a student can scan his student card through an RFID reader. The check-in or check-out information will be inserted into check-in table or the learning results will be loaded. Besides, there is another advantage that is to avoid stealing or forgetting password when the user name and password are typed. 12 / 29
RFID is a technology is one kind of tracking or identification technology. It uses radio waves to identify people or objects thanks to storing a serial number that identify people or objects on a microchip. Another well-known tracking technology is barcode. However, the advantages [1] that make RFID be preferred are: RFID tags are read from a greater distance than barcodes. RFID tags do not need to be positioned in a line of sight with the scanner. RFID tags can be read at a faster rate than barcodes. 2.2.2. Using Joomla Most of universities have used Joomla to power their websites thanks to its advantages [2]: Joomla is an open source and easy to use. Joomla can help to manage and update content such as adding new pages, editing old pages or uploading pictures. Joomla can help to revamp the look of the website easily and quickly because of its template based structure. Joomla has a huge development community. Besides, Joomla allows it users to develop components [3] which are considered miniapplication. The cost of developing these Joomla components is significantly less than that of developing similar functions for a website from scratch. We can integrate available components into any websites using Joomla because Joomla provides us with an ability that is installing a developed component in a website using Joomla and then we can easily use the component as a function of our website. 2.2.3. Using Model-View-Controller model Model-View-Controller model (MVC) [4] has been widely tended in developing a project no matter what the programming language is used. MVC model provides developers with a better code organization, code re-use, extensibility and scalability. Because each of the three components which are model, view and controller handles discreet set of tasks: Developers can separate their application into three components. This leads to reducing the time of developing the application The modification one component does not affect the others. 13 / 29
Basing the advantages of RFID technology, Joomla and MVC model on the requirements for the student management system, VNU-HCMC decided to use them to develop the system. 14 / 29
Chapter 3. Conception and Implementation 3.1. Radio Frequency Identification Technology 3.1.1. Introduction to Radio Frequency Identification technology Radio Frequency Identification (RFID) technology has been commercially available since the 1970s. It uses radio waves to identify automatically people or objects. An RFID system [5] consists of an RFID tag and a reader. An RFID tag has a microchip and an antenna. The method of identification is storing a unique serial number that identifies a person or objects on the microchip. The microchip can carry 2,000 bytes of data or less. The reader can have more than one antenna. It is used to retrieve the data stored on the microchip. The reader antenna emits radio waves and receives signals back from the RFID tag. The reader passes the information in digital form to a computer system. Figure 4. RFID System [8] 15 / 29
3.1.2. Flow chart of using RFID in identification 3.2. Joomla Figure 5. Flow chart of using RFID in identification 3.2.1. What is Joomla? Joomla [6] is a content management system (CMS) that enables users to build web sites and online applications. It is considered the most popular Web site software because it is easy to use and extend. Everyone in the world can use Joomla freely thanks to its open source. 3.2.2. Joomla components Joomla component is a kind of Joomla extension. A Joomla component can be considered a mini-application. Most of components in Joomla have two main parts: an administrator part and a site part. The administrator part provides an interface to configure and manage different aspects of the component. The site part is what is used to render pages when being called during normal site operation. 3.3. Model-View-Controller model Model-View-Controller (MVC) model [7] is a programming pattern for developing web applications. It separates an application into three components: the model, the view and the controller. The model represents data structures. Model classes contain functions that help to retrieve, insert and update information in the database. 16 / 29
The view represents the display of information to the users. It is normally a webpage. It can also be an RSS page or any other type of page. The controller is considered as an intermediary between the model, the view and any other resources needed to process the HTTP request and generate a web page. Figure 6. MVC model [9] 17 / 29
3.4. Software architecture 3.4.1. Class diagram of the program 3.4.1.1 Class Card The class processes card information. Fields Figure 7. Class diagram of the program code: serial number of a card expired_date: date that the card expires payment: o The amount of money that a student pays in advance to use the parking service. 18 / 29
Methods: o The amount will be decreased whenever the student uses it to check in or check out the parking lots. If the amount tends to zero or less than the fee for every check-in or check-out, the parking staff will remind the student. o The amount will be increased whenever the student pays the fee. Insert and delete a card. Show the payment of a card. Check the payment when a student used his card for parking service. Update the payment whenever a student check-in or check-out the parking plots. Update the payment whenever a student pays for the parking service. 3.4.1.2 Class Student The class processes student information. Fields: code: student code firstname: first name lastname: last name gender: gender dob: date of birth pob: place of birth card_id: o References to the field id of class Card. o Every student is provided with a unique card. class_id: o References to the field id of class Class. o A student is attending in some class. image: o name of the image file of the student o The image files of students are stored in an image folder. Methods: Insert, update and delete a student. Search students by first name, last name, class, date of birth and place of birth. 19 / 29
Show the amount of money that a student paid for parking service by using the field card_id. 3.4.1.3 Class Class The class processes the related information of the class which a student belongs to. Fields: code: the code of a class lecturer_id: o References to the field id of class Lecturer. o Every class has a lecturer who plays the role of a head teacher. academic_year: The period of the year during which students attend the university. Methods: Insert, update and delete a class. Search the information of a class by its code, by lecture code. 3.4.1.4 Class Lecturer The class processes lecturer information. Fields: code: lecturer code firstname: first name lastname: last name gender: gender dob: date of birth pob: place of birth image o name of the image file of the lecturer o The image files of lecturers are stored in the same image folder of students. Methods: Insert, update and delete a lecturer. Search lecturers by first name, last name, class, date of birth and place of birth. 20 / 29
3.4.1.5 Class Major The class processes details of a major. Fields: code: the code of a major name: the name of a major methods: Insert, update or delete a major. Search a major by code and name. 3.4.1.6 Class Subject The class processes properties of a subject. Fields: code: the code of a subject name: the name of the subject credits: the number of credits of the subject major_id: o References to the field id of class Major. o Indicates the major that the subject belongs to. Methods: Insert, update or delete a subject. Search subjects by code, name and the major it belongs to. 3.4.1.7 Class ListSubject The class processes lists of subjects. Classes in different major have different lists of subjects. Fields: class_id: o References to the field id of class Class. o Classes in different majors have different lists of subjects. o A student cannot register a subject which is not his major. term: the term that a student attends the subject subject_id: 21 / 29
o References to the field id of class Subject. o the subject belongs to the list Methods: Insert, update or delete a list of subject. Show a list of subjects by term and by class. 3.4.1.8 Class Room The class processes properties of a room. Fields: code: the code of a room name: the name of a room nos: number of seats zone: the zone that the room is located floor: the floor that the room is located Methods: Insert, update or delete a room. Search a room by code and name. Show list of rooms belonging to a zone or a floor. 3.4.1.9 Class Schedule The class processes properties of the schedule of a subject. Fields: code: the code of a schedule for a subject subject_id: o References to the field id of class Subject. o the subject room_id: o References to the field id of class Room. o Indicates where the subject takes place. lecturer_id: o References to the field id of class Lecturer. o the lecturer in charge of the subject begin_date: begin date 22 / 29
end_date: end date Methods: Insert, update or delete a schedule. Search the schedule of a subject. Details will be the code of the schedule, the lecturer in charge of the subject, the room where the schedule takes place, the start date and end date. 3.4.1.10 Class Register The class processes registering subjects of students. Fields: code: the code of the register student_id: o References to the field id of class Student. o the student attending the subject schedule_id: o References to the field id of class Schedule. o the schedule of the subject Methods: Insert, update or delete a register. Show a list of student who registered some course. Show the schedule of a course so that a student decides whether he can attend the class or not. 3.4.1.11 Class Attendance The class processes details of the attendance of students in courses. Fields: student_id: o References to the field id of class Student. o Indicates a student register_id: o References to the field id of class Register. o Is used to check whether a student already registered a subject or not. check-in: date and time of every check-in 23 / 29
check-out: date and time of every check-out Methods: Insert, update or delete an attendance. Show the detailed attendance of a student of a course. Show the attendance times of all students attending a course. 3.4.1.12 Class Results The class processes the learning results of students. Fields: student_id: o References to the field id of class Student. o a student subject_id: o References to the field id of class Subject. o the subject that the student took part in score1: the score of the first exam score2: the score of the second exam Methods: Insert, update or delete learning results of students. Search the learning results of a student by his name. Show the learning results of students who attended a subject. 3.4.1.13 Class Parking The class processes parking information. Fields: student_id: o References to the field id of class Student. o a student who uses the parking service vehicle_number: the used vehicle number check-in: date and time of every check-in check-out: date and time of every check-out is_cardpay: Checks whether the student pays the parking fee by card or not. payment: the amount of money paid for every check-in or check-out 24 / 29
Methods: Insert, update or delete parking information. Check whether a student pays the parking service by his card or not. Make a summary table of payment in a day, a week or a month. View details of check-in and check-out of a student in a day. 3.4.2. Implementation of functions 3.4.2.1 Check-in and check-out User: students Flow chart of the process of check-in and check-out in classes or laboratories Figure 8. The process of check-in and check-out 3.4.2.2 Looking up learning results User: students Flow chart of looking up learning results 25 / 29
Figure 9. The process of looking up learning results 3.4.2.3 Parking activities User: students, parking staff Flow chart of check-in Figure 10. The process of check-in in a parking lot 26 / 29
Flow chart of check-out Figure 11. The process of check-out in a parking lot 27 / 29
Chapter 4. Conclusion The internship project is about a web-based student management system. With the designed architecture and using RFID technology, the system makes the management of check-in, check-out, taking attendance, looking learning results and parking activities easier and more effective. The following are results we gained and future works that the team has to continue to improve the system. 4.1. Results Built the web-based student management system. Applied successfully RFID technology to the management of activities such as check-in, check-out, looking results and parking. 4.2. Future works Develop the model of classes. Improve the implementation. Use RFID technology for the management of fees such as tuition, library and other services. Use RFID technology for the management of employees, which is similar to the student management. Add permission of different kinds of users. Improve the design of the website. 28 / 29
Bibliography [1] Advantages and disadvantages of RFID in comparison with those of barcode. http://www.aalhysterforklifts.com.au/index.php/about/blogpost/rfid_vs_barcodes_advantages_and_disadvantages_comparison [2] Benefits of using Joomla. http://www.3rddesign.com/web-design/benefits-of-usingjoomla.html [3] Joomla Component Documentation. http://docs.joomla.org [4] Advantages of using MVC model. http://www.techrepublic.com/article/mvc-designpattern-brings-about-better-organization-and-code-reuse/ [5] RFID Documentation. http://www.rfidjournal.com [6] Joomla Documentation. http://www.joomla.org/about-joomla.html [7] Why MVC? http://net.tutsplus.com/tutorials/php/codeigniter-basics/ [8] A Knowledge-Based Approach for Detecting Misuses in RFID Systems. http://www.intechopen.com/books/designing-and-deploying-rfid-applications/aknowledge-based-approach-for-detecting-misuses-in-rfid-systems [9] What is MVC? http://lmt.com.vn/home/php/tim-hieu-php/360-tim-hieu-mo-hinhmvc-la-gi.html 29 / 29