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    .
2. System Analysis
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.
2.1. Use Case
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  .
2.2. Data Flow Diagrams (DFDs)
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
Figure 1. End user use case diagram.
Figure 2. Administrator use case diagram.
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  . It allows to have an overview of the system to build.
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  .
Figure 3 represents a DFD level 0 (context diagram) for the Baccalaureate calculator showing the two main users of the application.
3. System Design
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  . In this section, we describe two steps that are most critical to the design of the system. These steps condition the performance and robustness of the application.
3.1. Application Architecture
An architecture is an infrastructure composed of active modules, a mechanism of interaction between these modules and a set of rules that govern this
Figure 3. Data Flow Diagram (Context Diagram) for Baccalaureate calculator.
interaction  . Defining the technical architecture of an application relies on the choice of technologies and organization of components software. The design of the Baccalaureate calculator consisted of two independent parts: part of administration and part of end use. Each of these two parts adopts a clear programming style of the Model-View-Controller (MVC) model. The MVC model is a programming style that separates an application into 3 main layers  :
The Model Layer: It represents the part of the application responsible for database management, data processing and manipulation  . For the Baccalaureate calculator application, at the administration part level, the Model layer essentially deals with the data management system stored in the database. As for the end users part, this layer deals with the calculations to be performed and the handling of the files.
3.2. Database Design
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  . Relational databases are represented by graphical formalisms called Entity-Relationship diagrams  . Figure 4 is the ER diagram of the database of our application Baccalaureate calculator.
4. System Implementation
There are usually three indissociable steps when implementing a system: incorporating data (coding), checking their quality (testing), and documentation  . We will describe in this section the coding and testing steps for the Baccalaureate calculator.
Figure 4. Database ER diagram for Baccalaureate calculator.
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  . The purpose of these tests was to check the quality of the code, to detect any errors that may exist and then to proceed with the correction.
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.