Examreg

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 29

Exam registration System

Expno:2
Date:

Aim:
To develop a project exam registration system using Rational Rose software and to
implement the software in Visual Basic and JAVA.

Problem Statement:

The developed product is a web-based examination registration system. It assists an examiner


to create an exam by adding and modifying questions, supplying possible results of a question and
selecting the intended group of students. Moreover the examination will have an overview of the
results of an exam by student, group or other factors.
A student can solve exams for which they are enrolled and view results and corrections of
previous exams. The product benefits the examiner by simplifying and speeding up the work of
creating and correcting an exam and provides an easy way to follow the results of a student or
group of students.
An administrator will setup and maintain the enrolments and courses. The product will be
entirely accessed by a userfriendly web-interface which means that a minimum amount of
computer knowledge is required to interact with it. Authentication: Every user (examiner,
Administrator etc.) is authenticated before allowing to login.
 The student access exam registration application
 They fill out the form with correct and eligible delails
 They computer the payment process
 The authorities verify the details
 After all verification the exam registration database is finalization
Study-materials: study material is available on line and is accessible depending on modules
cleared. Result Analysis: Various results are prepared and also in-build functionality is available for
analysis of results.
Monitoring: Expert system can monitor student’s performance. The rules are added/modified
by experts when and as required

Scope

The developed project is supposed to have the following features


1. There are different kinds of Users (Administrator, Examiner, etc.) can log on to website and
access it.
2. There is a secure authentication system for different types of user access the website.
3. Each every user has own privilege to access the site.
4. Course materials are also available for different type of courses for which the student applies. 5.
It is used to create or modify the exam, which is done by the examiner 2
6. It is also possible for the examiner to view the result of the student, department, College or
university.
7. Administrator is the one who takes care of the admissions, dates of examination and
maintaining the results of examination.
8. Administrator will register and authenticate the user before appearing for examination.
9. A secure examination system can be established through which the risk factors in examination
and mal practices during the examination can be avoided.
10. Results and statistics are published then and there in a fraction of time.
11. The results of previous examination and exams to be covered in future are also displayed.
12.All the above can be accessed in a user friendly interface for which very basic knowledge about
the computer is enough for understanding

Project Description:

Product Perspective

The online exam registration system which includes registration, examinations and publishing results. This
will improve the effectiveness of the examination and also reduce the work load of examiner by allocating
the examination schedule based on the modules covered, allocating time table of examination based on the
chapter and subjects. Allowing access for various types of users like Administrator, examiner, students, etc.
Product Functions
The examination registration system is a real time examination system which is used for registering for the
exam according to the available slots. More or less many product functions are explained in the product
perspective itself. Now let us see about the functional components.
1. Administrator is provided with the ultimate authority of read, edit, modify and delete all the contents.
2. Examiner is privileged to add, change, edit, modify and update the date of the examination if slots are
available.
3. The student users are allowed to access the catalogue which consists of study materials for many
modules.
4. The student is also privileged to cancel or reschedule an examination on account of payment
5. A transaction slip is generated by the administrator after the registration

Operating Environment

The ERS Software is developed to work on all Java enabled web browsers. It’ll work on all Operating systems
and requires an Internet connection.
Requirements:
1. Login Log into the system as a Student or Examiner
2. Course Registration Register for a course
3. Write Exam Answer questions, traverse between questions, submit answers
4. Results Results of previously written exams
5. Study Materials Download notes and other study materials
6. Feed Questions Feed questions and answers into the database
7. Reports Reports of student results
8. Administer Courses Availability, fee, add and remove courses
9. Administer Students Add, remove, manage students
Hardware Interfaces
Since the application does not have any designated hardware, it does not have any direct
hardware interfaces. The physical servers are managed by the server’s OS. The hardware
connection to the database server is managed by the underlying operating system on the
application server and the system
Software Interfaces
The system shall interface with an Oracle or MSSQL or MySQL database.
Communications Interfaces
The communication between the different parts of the system is important since they depend on
each other. However, in what way the communication is achieved is not important for the system
and is therefore handled by the underlying operating systems for both the application and the web
portal. Required protocols - HTTPS, FTP etc
Use case diagram:
Class diagram:
Sequence diagram:
Collaboration diagram:
Activity diagram:
State diagram:
Component diagram:
Deployment diagram:
Package diagram:
Implementation:

System.Java:

import java.lang.*;
import java.util.Set;
import javax.swing.*;

/**
* @author ita1143
* @generated "UML to Java V5.0
(com.ibm.xtools.transform.uml2.java5.internal.UML2JavaTransform)"
*/
 public class System {
/**
* @generated "UML to Java V5.0
(com.ibm.xtools.transform.uml2.java5.internal.UML2JavaTransform)"
*/
 private static Student student;

/**
* @uml.annotations for <code>examiner</code>
* collection_type="Examiner"
* @generated "UML to Java V5.0
(com.ibm.xtools.transform.uml2.java5.internal.UML2JavaTransform)"
*/
 private static Set<Examiner> examiner;

 private static LoginForm loginForm;

 public static boolean Authenticate(int type, String id, String password) {


if(type == 2) {
if(id.equals("Kirupakaran") && password.equals("qwerty")) {
student = new Student();
StudentMainForm.init(student);
loginForm.setVisible(false);
}
}
else if(type == 1) {
if(id.equals("Kirupakaran") && password.equals("12345")) {
Examiner e1 = new Examiner();
ExaminerMainForm.init(e1);
loginForm.setVisible(false);
}
}
return fals
}

 public static void main(String[] args) {


SwingUtilities.invokeLater(new Runnable() {
 public void run() {
loginForm = new LoginForm();
loginForm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
loginForm.setVisible(true);
}
});
}
}

LoginForm.Java:

import javax.swing.SwingUtilities;

import java.awt.BorderLayout;

import javax.swing.ButtonGroup;
import javax.swing.JPanel;
import javax.swing.JFrame;

import java.awt.FlowLayout;

import javax.swing.JLabel;
import javax.swing.JTextField;

import java.awt.Insets;
import java.awt.Rectangle;

import javax.swing.JRadioButton;
import javax.swing.JButton;
import javax.swing.JPasswordField;

 public class LoginForm extends JFrame {

 private static final long serialVersionUID = 1L;

 private JPanel jContentPane = null;

 private JPanel panel = null;

 private JLabel login = null;

 private JTextField loginField = null;


 private JLabel pwd = null;

 private JRadioButton studentRadiobtn = null;

 private JLabel jLabel = null;

 private JRadioButton examinerRadiobtn = null;

 private JLabel jLabel1 = null;


 private ButtonGroup bg1;

 private JButton submit = null;


 private JPasswordField pwdField;

/**
* This method initializes panel

* @return javax.swing.JPanel
*/
 private JPanel getPanel() {
if (panel == null) {
 panel = new JPanel();
 panel.setLayout(new GridBagLayout());
 panel.setBounds(new Rectangle(292, 16, 0, 150));
}

return panel;
}

/**
* This method initializes loginField

* @return javax.swing.JTextField
*/
 private JTextField getLoginField() {
if (loginField == null) {
loginField = new JTextField(50);
loginField.setBounds(new Rectangle(134, 58, 133, 22));
}
return loginField;
}

/**
* This method initializes submit
*
* @return javax.swing.JButton
*/
 private JButton getSubmit() {
if (submit == null) {
submit = new JButton("Login");
submit.setBounds(new Rectangle(169, 195, 66, 28));
submit.addMouseListener(new java.awt.event.MouseAdapter() {
 public void mouseClicked(java.awt.event.MouseEvent e) {
if(studentRadiobtn.isSelected())
System.Authenticate(2, loginField.getText(),
String.valueOf(pwdField.getPassword()));
else if(examinerRadiobtn.isSelected())
System.Authenticate(1, loginField.getText(),
String.valueOf(pwdField.getPassword()));
//System.out.println("mouseClicked()"); // TODO Auto-
generated Event stub mouseClicked()
}
});
}
return submit;
}

/**
* This is the default constructor
*/
 public LoginForm() {
super();
initialize();
}

/**
* This method initializes this

* @return void
*/
 private void initialize() {
this.setSize(448, 321);
this.setContentPane(getJContentPane());
this.setTitle("Login");
}

/**
* This method initializes jContentPane

* @return javax.swing.JPanel
*/
 private JPanel getJContentPane()
{
if (jContentPane == null)
{
 jLabel1 = new JLabel();
 jLabel1.setBounds(new Rectangle(261, 157, 74, 26));
 jLabel1.setText("Examiner");
 jLabel = new JLabel();
 jLabel.setBounds(new Rectangle(134, 157, 61, 27));
 jLabel.setText("Student");
 pwd = new JLabel();
 pwd.setBounds(new Rectangle(55, 107, 70, 16));
 pwd.setText("Password");
login = new JLabel();
login.setText("Login ID");
login.setBounds(new Rectangle(55, 61, 59, 16));
 jContentPane = new JPanel();

studentRadiobtn = new JRadioButton();


studentRadiobtn.setBounds(new Rectangle(104, 157, 21, 21));
studentRadiobtn.setSelected(true);

examinerRadiobtn = new JRadioButton();


examinerRadiobtn.setBounds(new Rectangle(226, 154, 17, 24));

 bg1 = new ButtonGroup();


 bg1.add(studentRadiobtn);
 bg1.add(examinerRadiobtn);
 jContentPane.setLayout(null);
 jContentPane.add(login, null);
 jContentPane.add(getPanel(), null);
 jContentPane.add(getLoginField(), null);
 jContentPane.add(pwd, null);
 jContentPane.add(studentRadiobtn, null);
 jContentPane.add(jLabel, null);
 jContentPane.add(examinerRadiobtn, null);
 jContentPane.add(jLabel1, null);
 jContentPane.add(getSubmit(), null);

 pwdField = new JPasswordField();


 pwdField.setBounds(134, 105, 133, 21);
 jContentPane.add(pwdField);
}
return jContentPane;
}
}
StudentMainForm.java:

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
 public class StudentMainForm extends JFrame {

 private JPanel contentPane;

/**
* Launch the application.
*/
 public static void init(final Student student) {
EventQueue.invokeLater(new Runnable() {
 public void run() {
try {
StudentMainForm frame = new StudentMainForm(student);
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
* Create the frame.
*/
 public StudentMainForm(Student s)

{
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setBounds(300, 300, 500, 309);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);

JLabel lblWelcome = new JLabel("Welcome " + s);


lblWelcome.setBounds(20, 11, 159, 14)

contentPane.add(lblWelcome);

JLabel lblSelectAnOption = new JLabel("Select an Option");


lblSelectAnOption.setBounds(30, 44, 115, 14);
contentPane.add(lblSelectAnOption);

JButton btnWriteExam = new JButton("Write Exam");


 btnWriteExam.setBounds(56, 95, 123, 23);
contentPane.add(btnWriteExam);

JButton btnSeeMarks = new JButton("See Marks");


 btnSeeMarks.setBounds(56, 152, 123, 23);
contentPane.add(btnSeeMarks);
 btnWriteExam.addMouseListener(new java.awt.event.MouseAdapter() {
 public void mouseClicked(java.awt.event.MouseEvent e) {
WriteExamForm f = new WriteExamForm();
f.setVisible(true);
}
});

JButton btnEnrollInAnother = new JButton("Enroll in another course");


 btnEnrollInAnother.setBounds(254, 95, 171, 23);
contentPane.add(btnEnrollInAnother);
JButton btnNewButton = new JButton("Check Study Materials");
 btnNewButton.setBounds(254, 152, 171, 23);
contentPane.add(btnNewButton);
}}

WriteExamForm.java:

import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JLabel;
import java.awt.Rectangle;
import javax.swing.JRadioButton;
import javax.swing.ButtonGroup;
import java.awt.Dimension;
import javax.swing.JButton;

 public class WriteExamForm extends JFrame {

 private static final long serialVersionUID = 1L;

 private JPanel jContentPane = null; // @jve:decl-index=0:visual-constraint="197,61"

 private JLabel jLabel = null;

 private JLabel jLabel1 = null;

 private JRadioButton ans11 = null;

 private JRadioButton ans12 = null;

 private JRadioButton ans13 = null;

 private JRadioButton ans14 = null;

 private JLabel jLabel2 = null;

 private JLabel jLabel3 = null;

 private JLabel jLabel4 = null;

 private JLabel jLabel5 = null;

 private JButton Submit = null;

/**
* This is the default constructor
*/
 public WriteExamForm() {
super();
initialize();
}

/**
* This method initializes this
*
* @return void
*/
 private void initialize() {
this.setSize(500, 500);
this.setContentPane(getJContentPane());
this.setTitle("JFrame");
}

/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
 private JPanel getJContentPane() {
if (jContentPane == null) {
 jLabel5 = new JLabel();
 jLabel5.setBounds(new Rectangle(242, 229, 105, 16));
 jLabel5.setText("Bjarne Stroustrup");
 jLabel4 = new JLabel();
 jLabel4.setBounds(new Rectangle(102, 229, 87, 16));
 jLabel4.setText("Bill Gates");
 jLabel3 = new JLabel();
 jLabel3.setBounds(new Rectangle(242, 170, 106, 16));
 jLabel3.setText("Ken Thompson");
 jLabel2 = new JLabel();
 jLabel2.setBounds(new Rectangle(102, 170, 89, 16));
 jLabel2.setText("Dennis Ritchie");
 jLabel1 = new JLabel();
 jLabel1.setBounds(new Rectangle(52, 70, 280, 55));
 jLabel1.setText("Who developed C?");
 jLabel = new JLabel();
 jLabel.setBounds(new Rectangle(36, 31, 87, 16));
 jLabel.setText("Questions");

ButtonGroup bg1 = new ButtonGroup();


 bg1.add(ans11);
 bg1.add(ans12);
 bg1.add(ans13);
 bg1.add(ans14);

 jContentPane = new JPanel();


 jContentPane.setLayout(null);
 jContentPane.setSize(new Dimension(490, 464));
 jContentPane.add(jLabel, null);
 jContentPane.add(jLabel1, null);
 jContentPane.add(getAns11(), null);
 jContentPane.add(getAns12(), null);
 jContentPane.add(getAns13(), null);
 jContentPane.add(getAns14(), null);
 jContentPane.add(jLabel2, null);
 jContentPane.add(jLabel3, null);
 jContentPane.add(jLabel4, null);
 jContentPane.add(jLabel5, null);
 jContentPane.add(getSubmit(), null);
}
return jContentPane;
}

/**
* This method initializes ans1

* @return javax.swing.JRadioButton
*/
 private JRadioButton getAns11() {
if (ans11 == null) {
ans11 = new JRadioButton();
ans11.setBounds(new Rectangle(72, 170, 21, 21));
}
return ans11;
}

/**
* This method initializes ans12
*
* @return javax.swing.JRadioButton
*/
 private JRadioButton getAns12() {
if (ans12 == null) {
ans12 = new JRadioButton();
ans12.setBounds(new Rectangle(214, 170, 21, 21));
}
return ans12;
}

/**
* This method initializes ans13

* @return javax.swing.JRadioButton
*/
 private JRadioButton getAns13() {
if (ans13 == null) {
ans13 = new JRadioButton();
ans13.setBounds(new Rectangle(72, 229, 21, 21));
}
return ans13;
}

/**
* This method initializes ans14
*
* @return javax.swing.JRadioButton
*/
 private JRadioButton getAns14() {

if (ans14 == null) {
ans14 = new JRadioButton();
ans14.setBounds(new Rectangle(214, 229, 21, 21));
}
return ans14;
}

/**
* This method initializes Submit
*
* @return javax.swing.JButton
*/
 private JButton getSubmit() {
if (Submit == null) {
Submit = new JButton();
Submit.setBounds(new Rectangle(177, 299, 105, 44));
Submit.setText("Submit");
Submit.addMouseListener(new java.awt.event.MouseAdapter() {
 public void mouseClicked(java.awt.event.MouseEvent e) {
int x;
if(ans11.isSelected())
x = 1;
else
x = 0;
System.EvaluateResult(x);
}
});
}
return Submit;
}}
ExaminerMainForm.java:
import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JButton;

 public class ExaminerMainForm extends JFrame {

 private JPanel contentPane;

/**
* Launch the application.
*/
 public static void init(final Examiner e) {
EventQueue.invokeLater(new Runnable() {
 public void run() {
try {
ExaminerMainForm frame = new ExaminerMainForm(e);
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
* Create the frame.
*/
 public ExaminerMainForm(Examiner examiner) {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);

JLabel lbl = new JLabel("Welcome " + examiner);


lbl.setBounds(21, 11, 201, 14);
contentPane.add(lbl);

JButton feedbtn = new JButton("Feed Questions");


feedbtn.setBounds(66, 36, 177, 30);
contentPane.add(feedbtn);

JButton checkStatusbtn = new JButton("Check Result Status");


checkStatusbtn.setBounds(66, 107, 177, 30);
contentPane.add(checkStatusbtn);
}

}
 
Conclusion:

Thus UML models for Exam Registration System have been designed and
implementation has been performed successfully using IBM Rational Software Archi
Panimalar Engineering College Department of IT 211421205183

You might also like