In this work, we have developed a web application for Baccalaureate grades processing in Niger. This online application allows to replace Excel based manual grades processing with fully automated one. Thus, the application helps to minimize the errors caused by the Excel manipulation. It also allows rapid centralization of all results at the exam service level. For the development, we adopted the agile method. This method is very efficient in allowing us to prioritize our real needs and the application is enriched as these needs arise. For the design, we used the UML Modeling language and for the implementation, we used a number of computer tools such as PHP, JavaScript, HTML, Jquery, AJAX, Bootstrap and CSS.
The Baccalaureate is the first university degree leading to the completion of secondary studies. It is organized in Niger by a central service through several examination centers.
Ten years ago, the calculation of candidates’ scores was done manually using calculators. But for some time, the service in charge of the organization had initiated the use of Excel software in order to speed up the calculation methods. However, many cases of errors occur very often highlighting problems related to the use of Excel software for such calculations. Indeed, Excel has a lot of heaviness. And so, computer beginners remain reluctant about its use.
Thus, at the level of the Faculty of Science and Technology (FST) of the University of Dan Dicko Dankoulodo at Maradi (UDDM) through its department of Mathematics and Computer Science, we have proposed a web application that limits the errors that cause the use of Excel software. It also allows rapid centralization of all results at the exam service level. A web application is a software that can be run via an Internet browser. Many technologies are used to develop these kinds of applications [
Unlike a conventional website, usually having an informative or promotional role, a web application is a website that provides its users with online services. Thanks to the Internet, web applications can be accessed from a browser at any time to facilitate the processing and exchange of information with a minimum of equipment. Thus, thanks to the information collected at the level of the service of baccalaureate, we have developed a web application called “Baccalaureate calculator” for an efficient treatment of the deliberations of the baccalaureate exams. For the design we used the UML language [
A rigorous analysis led us to identify the possibilities of the system and the needs of the users. We have tried to project these needs into comprehensive and detailed use case diagrams to structure the information discoveries. Use cases determine the expectations of users at the system level and thus allow the modeling of their needs [
After identifying the actors, we categorized them according to their system access privileges. An actor represents a role played by someone who interacts with the system. Thus, the grouping by access rights has generated two types of users: administrators and the end users. The administration represents in our case of study the service of baccalaureate and the end users are the presidents of exams across the country.
A use case defines the behavior of a system or the semantics of any other entity without revealing its internal structure. Each use case specifies an action sequence, including variants that the entity realizes by interacting with the actors of the other entities [
A DFD is a cartographic representation of the flow of information between actors participating in a field of study known as an information system. A field of study is a coherent subset of a company or organization, well defined and
forming the content of the subject to study. A DFD describes the main inputs and outputs of the domain as well as the main users [
There are two main types of DFD: context-level DFD (level 0), where the study domain is seen as a black box, only flows outside the domain are represented and DFD exploded (level 1), where we detail the activities including flows internal to the field of study [
The design of a system brings more detail to the proposed solution in the analysis phase and seeks to clarify the technical aspects. Functional requirements and constraints stemming from system requirements are translated into more professional and intelligible language to the team that collaborates in the realization of the system. The essential steps in a design project are: the design of the interface, the technical architecture and the database [
An architecture is an infrastructure composed of active modules, a mechanism of interaction between these modules and a set of rules that govern this
interaction [
The Model Layer: It represents the part of the application responsible for database management, data processing and manipulation [
The View layer: This layer returns a display of the data that comes from the Model [
The controller layer: This layer manages the requests of the users by introducing the necessary resources (Models & views) for accomplish the desired task [
The design process of a database is technical called Entity-Relationship (ER) model. An entity is a table that is essentially characterized by a name and a set of attributes. A relationship is an association that links the entities to each other most often subject to a number of constraints [
There are usually three indissociable steps when implementing a system: incorporating data (coding), checking their quality (testing), and documentation [
The implementation is the phase in which we make sure that the system is ready to be exploited by the end users. Thus, to develop the application, we used on the server side, the languages HTML, CSS, Ajax, PHP and SQL. On the client side, we used the JavaScript, JQuery and Bootstrap languages. The LucidChart software environment served as modeling tools. MySQL served database management system, and Apache as web server.
Automated functional tests are done throughout this project using the PHPUnit framework, since the implementation of the first functionality. Functional testing is a type of testing which verifies that each function of the software application operates in conformance with the requirement specification. PHPUnit is an open source unit testing framework dedicated to the PHP programming language [
Another test method called integration test was used. In this method, we combined the modules and functions together to examine the collective workings of the modules. We also performed some number of hands-on manual tests, including application access control, user registration, database data modification and update, usability testing in different browsers, and testing to see if the application behaves well in responsive.
In the organization of the baccalaureate in Niger, one often finds errors after the deliberations of the examinations in the various centers across the country. Some of these errors are due to mishandling of the excel software. Also, the transcripts of the candidates are established manually. This also causes a lot of errors at this level. To remedy all these problems we developed the web application Baccalaureate calculator.
This online application solved some of the disadvantages of using the Excel software, such as solving computational errors, automatically generating candidate lists and transcript, and statistical results. It also allows rapid centralization of all results at the exam service level.
We have also developed good documentation on how to use and operate the application to help users use it effectively.
Kachalo, A.H., Arbi, O.A. and Souley, I.M. (2018) Design and Implementation of Baccalaureate Grade Processing Web Application for Niger. Journal of Software Engineering and Applications, 11, 121-128. https://doi.org/10.4236/jsea.2018.113007