Application JAVA pour la création de suite d’examen en ligne
Application JAVA pour la création de suite d’examen en ligne
Description du projet
Le projet «Exam Suite» est développé en Java et se concentre principalement sur les opérations d’examen de base. «Exam Suite» est une application Windows conçue pour les systèmes d'exploitation Windows 32 bits et conçue pour aider les utilisateurs à passer des examens. Le logiciel Exam Suite comporte 3 modules principaux.
- Module de connexion
- Insertion dans le module de base de données
- Extraire du module de base de données
Objectif
Ce projet vise à créer une suite d’examen en ligne qui puisse être utilisée pour effectuer un examen et présenter les résultats en l’absence de surveillant.
Aujourd'hui, de nombreux tests sont effectués à des fins différentes et la plupart d'entre eux sont composés de questions à choix multiples. Les institutions qui effectuent ces tests ont la charge de préparer le test, d’organiser les salles de test et les surveillants, de collecter et de classer les feuilles de réponses et de maintenir l’intégrité du processus. Ce processus devient d’autant plus difficile en raison du temps nécessaire pour terminer chaque partie du processus. Ce système éliminera la nécessité pour les institutions de poster des surveillants, de collecter et de classer les feuilles de réponses et de sécuriser l'ensemble du processus.
Il y a deux manières de poser des questions.
- Jeu de questions fixe
- Ensembles de questions uniques
L'institution peut définir un ensemble de questions fixes pour tous les candidats ou une banque de questions à partir de laquelle le système crée un ensemble de questions unique pour chaque candidat. La génération d'un ensemble de questions unique sera possible grâce à une fonction de randomisation dans le système.
Le test peut être effectué avec deux options de chronométrage.
- Emplacement multiple
- Single slot
L’établissement peut choisir s’il souhaite que les candidats puissent choisir parmi plusieurs créneaux horaires ou s’ils souhaitent effectuer le test de manière uniforme au cours d’une même période. Chaque terminal informatique enverra l'heure de début au serveur au début du test et le serveur arrêtera le test à la fin de la durée allouée.
Il y a deux manières d'éviter la triche dans le test
- Test de rapidité
- Test supervisé
L’établissement peut soit créer un test avec de nombreuses questions simples, ce qui obligera les candidats à répondre rapidement, évitant ainsi les mauvaises pratiques, ou bien effectuer le test avec quelques questions difficiles, ce qui les obligera à consacrer un temps considérable à chaque question. Dans la deuxième option, les flux vidéo peuvent être établis à l’aide de webcams et le flux sera automatiquement téléchargé dans le fichier de test du candidat. Cela peut être référencé si une quelconque fraude est alléguée.
CONFIGURATION DU SYSTÈME
EXIGENCES MATÉRIELLES
Processeur: Intel Pentium IV 2.4 GHZ ou supérieur
Vitesse d'horloge: 500 MHZ
Bus système: 32 bits
RAM: 256 Mo de RAM
Disque dur: 40 Go ou plus
Moniteur: SVGA COLOR
Clavier: 108Keys
Souris: souris à 2 boutons
LOGICIELS REQUIS
Système d'exploitation: MS WINDOWS XP SP2
Environnement: Java Runtime Environment 1.5
Front-end: Core Java J2SDK1.5
Back-end: Microsoft Access 2003
Aperçu du code source:
LogFom.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
class LogFom extends JFrame implements ActionListener
{
JLabel lnl,pwl,ch,ch1,nusr;
JTextField lnt;
JPasswordField pwt;
JButton ok,can,btnr;
Container c;
String ln,psw;
Connection conn;
PreparedStatement pstmt;
public void setup()
{
c=getContentPane();
resize(350,230);
Dimension d=size();
setLocation(d.width,d.height);
setTitle("Exam Suite");
c.setLayout(null);
lnl=new JLabel("LOGIN EMAIL");
lnt=new JTextField();
lnl.setBounds(20,20,80,30);
lnt.setBounds(150,20,180,30);
Pwl=new JLabel("PASSWORD");
pwt=new JPasswordField();
pwl.setBounds(20,70,80,30);
pwt.setBounds(150,70,180,30);
ok=new JButton("OK");
ok.setBounds(50,120,100,30);
can=new JButton("CANCEL");
can.setBounds(180,120,100,30);
nusr=new JLabel("For new user please ");
nusr.setBounds(140,165,150,30);
btnr=new JButton("Sign up");
btnr.setBounds(255,169,77,20);
c.add(lnl);
c.add(lnt);
c.add(pwl);
c.add(pwt);
c.add(ok);
c.add(can);
c.add(nusr);
c.add(btnr);
ok.addActionListener(this);
can.addActionListener(this);
btnr.addActionListener(this);
setVisible(true);
}
public void actionPerformed(ActionEvent ae)
{
String s=ae.getActionCommand();
if(s.equals("OK"))
{
try
{
pstmt=conn.prepareStatement("select * from registration");
ln=lnt.getText();
System.out.println("ln1 "+ln);
psw=pwt.getText();
System.out.println("psw "+psw);
ResultSet rs=pstmt.executeQuery();
int flag=0;
while(rs.next())
{
String one=rs.getString("email");
Stringtwo=rs.getString("password");
if(ln.equals(one) && psw.equals(two))
{
flag=1;
Rules ru=new Rules(one);
ru.setUp();
setVisible(false);
dispose();
}
}
if(flag==0)
{
JOptionPane.showMessageDialog (this, "Invalid Username or Password.");
"Exam Suite ", JOptionPane.PLAIN_MESSAGE);
lnt.setText("");
pwt.setText("");
}
}
catch(SQLException e)
{
System.out.println("sql exception");
}
}
if(s.equals("CANCEL"))
{
System.exit(0);
}
if(s.equals("Sign up"))
{
new SignUp().setUp();
setVisible(false);
}
}