Examreg
Examreg
Examreg
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:
Scope
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;
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;
/**
* 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();
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 {
/**
* 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);
contentPane.add(lblWelcome);
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;
/**
* 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");
/**
* 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;
/**
* 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);
}
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