0% found this document useful (0 votes)
28 views29 pages

Oose Record

The document is a Software Requirements Specification for an Exam Registration System, detailing its purpose, scope, and functionalities. It outlines the system's features, including user management, exam management, and payment integration, while also specifying interface and design constraints. Additionally, it includes UML diagrams and code implementation examples to illustrate the system's design and functionality.

Uploaded by

suntharan4321
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views29 pages

Oose Record

The document is a Software Requirements Specification for an Exam Registration System, detailing its purpose, scope, and functionalities. It outlines the system's features, including user management, exam management, and payment integration, while also specifying interface and design constraints. Additionally, it includes UML diagrams and code implementation examples to illustrate the system's design and functionality.

Uploaded by

suntharan4321
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 29

Software Requirements Specification

For

EXAM REGISTRATION SYSTEM

BY

AKSHIMA S (963622104017)

ARTHIHA S (963622104021)

GEETHU KRISHNA G R (963622104025)


CONTENTS

1 Introduction

1.1Purpose

1.2 Scope

2 General Description

2.1System Overview

2.2 System Objectives

2.3 System Features

2.4 System Benefits

3 Functional Requirement

3.1User Management

3.2 Exam Management

3.3 Exam Registration

3.4 Payment Gateway Integration

3.5 Reporting

4. Interface Requirement

4.1 User Interface

4.2 Hardware Interface

4.3 Software Interface

4.4 Communication Interface

5. Design Constraints

6. Code Implementation

6.1Sample output

7. Other Non Functional Requirements

7.1 Performance Requirement

7.2 Security and Safety Requirement

7.3 Business Rules


8. Appendices

i) Definitions, Acronyms, Abbrevations

ii) Reference
1. Introduction

Examination used to test the understand ability of the student and his ability to recollect it, using
it in apt situation, reasoning and analytics. Now a days , instead of conducting examination in papers,
mostly everything is done in on line. Starting from question paper setting and till the report of statistical
score is submitted in online. Hence, we have developed an automatic exam registration system.

1.1 Purpose

The purpose of this document is to outline the requirements for the exam registration system.

1.2 Scope

The Exam registration system will allow students to register for exam online, and administrators
to manage exam registrations, student information and exam schedules.

2 General Description

2.1 System Overview

The exam registration system is web – based application design to facilitate the registration
process for exam.The system aims to provide a user-friendly and efficient way for students to register
for exams, while also enabling administrators to manage exam schedule, student information, and
registration data.

2.2 System Objectives

The Primary objectives of the exam registration are:

 To provide a secure and reliable platform for students to register for exams
online.
 To enable asdministrators to manage exam schedules, student information and
registration data efficienctly.
 To automate the registration process, reducing manual errors and increasing
productivity.
 To provide real-time updates and notifications to students and the administrators.

2.3 System Features:

The exam registration system will offer the following key features:

 Student Register and login functionality.


 Exam Registration, Management, including registration status ana payment
tracking.
 Automated email notifications for registration conformations, payment receipts
and exam remainders.
 Reporting and analytics for administration data and exam performance.
2.4 System Benefits:

The Exam registration system will provide numerous benefits to students, administrators and
institutions, including:

 Improved efficiency and productivity in the productivity in the registration


process.
 Enchanced user Experience through a user-friendly and intutitive interface.
 Increased accurancy and reduced manual errors.Real-time updates and
notifications for students and administrators.
 Better decision-making through data-driven insights and analytics.

3.Functional Requirements

3.1 User Management

 The System shall allow admins to create ,update,and delete student accounts.
 The System shall allow students to register for an account using their name,email
and password.
 The System shall send a confirmation email to students upon registration.

3.2 Exam Management

 The System shall admins to create,update, and delete exam schedules.


 The System shall allow admins to assignexams to specific students or student
groups.
 The System shall display exam schedules and details to students.

3.3 Exam Registration

 The System shall allow students to view available exam and register for exams.
 The System shall prevent students from registering for the same exam multiple
times.
 The System shall display registration confirmation to students.

3.4 Payment Gateway Integration

 The System shall integrate with a payment gateway to allow students to pay
exam fees online.
 System shall handle payment processing and update student records accordingly.

3.5 Reporting

 The System shall generate reports on exam registrations ,student information and
exam schedules.
 The System shall allow admins to customize report filters and parameters.
4.Interface Requirement

4.1 User Interface

 The system have a web-based interface.


 The System shall be compatible with major web browsers(Google Chrome,Mozilla
Firefox,Safari).
 The System shall be optimized for desktop and laptop devices.

4.2 Hardware Interface

 The System shall be compatible with standard computer hardware.


 The shall not require any specialized hardware.

4.3 Software Interface

Software interface design for the Exam Registration system includes:

 Student Interface:Login Page,Dashboard,Exam Registration Page,Exam Schedule


Page,Account Settings Page.
 Adminstration Interface:Login page,Dashboard,Exam Schedule Management
Page,Student Management Page and System configuration Page.
 Payment Gateway Interface: It includes Payment Processing page.
 Reporting and Analytics Interface:Registration report page and exam performance.

4.4 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.

5.Design Constraints

USECASE DIAGRAM:
It defines scenarios what are the functions used in the project and mention the participant or
actors involved in project and it should be a verb. Use case is represented as an eclipse with a name
inside it. It may contain additional responsibilities.
Fig: Usecase Diagram

ACTIVITY DIAGRAM:

An Activity diagram shows sequential and parallel activities in a process they are useful for
modeling business process

Authenticate

Fig :
Activity
Diagram
to

Authenticate
Take Test

Fig: Activity Diagram to take result


View Result

Fig : Activity Diagram to View result


UML CLASS DIAGRAM:

It includes class diagrams to illustrate classes, interfaces and their associations .They are used
for static object modeling.

Fig : UML Class Diagram

UML INTERACTION DIAGRAM:

Sequence Diagram:

Sequence diagrams are used as a notation that can illustrate actor interactions and the
operations initiated by them.
Interaction Diagram

Fig :
Sequence
Diagram

COMMUNICATION DIAGRAM
Communication diagram is another form of interaction diagram. It represents the structural
organization of a system and the messages sent/received. Structural organization consists of objects and
links.
The purpose of communication diagram is similar to sequence diagram. But the specific purpose
of collaboration diagram is to visualize the organization of objects and their interaction.

Fig: Communication Diagram

UML STATE MACHINE DIAGRAM:

Any real time system is expected to be reacted by some kind of internal/external events. These
events are responsible for state change of the system.
State machine diagram is used to represent the event driven state change of a system. It basically
describes the state change of a class, interface etc.

Login

Fig :

Fig: State Machine Diagram For Login


Fig : State Machine Diagram to take test

UML COMPONENT DIAGRAM:

Component diagrams are used to describe the physical artifacts of a system. This artifact
includes files, executables, libraries etc.

Fig : Component Diagram

DEPLOYMENT DIAGRAM:
Deployment diagrams are used to visualize the topology of the physical components of a system
where the software components are deployed. So deployment diagrams are used to describe the static
deployment view of a system. Deployment diagrams consist of nodes and their relationships.

Fig : Deployment Diagram

6. Code Implementation
Java Implementation :
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> examine
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 false;
}
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("
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);
}

}
6.1 Sample Output:

Fig : Output Screenshot for Login

Fig : Output screenshot to select option


Fig : Output screenshot to write test

Fig : Output Screenshot to view scores


Fig : output screenshot to check result

7.Other Nonfunctional Requirements

7.1Performance Requirements

Performance requirements define acceptable response times for system functionality.

 The load time for user interface screens shall take no longer than two
seconds.
 The log in information shall be verified within two seconds.
 Queries shall return results within five seconds.

7.2Security and Safety Requirements

Security: The files in which the information regarding securities and portfolios should be
secured against malicious deformations.

Safety: Data should not become corrupted in case of system crash or power failure.

7.3 Business Rules

Server Administrator: under extreme circumstances the administrator has the privileges to back
up the data’s but can’t modify the contents.

User: has the rights to claim the payment made if the ticket is under waiting list on the date of
the journey but 10% will be deducted. The user will be able to book for just 6 persons at a time.
.8.Appendices
i)Definitions, Acronyms, Abbrevations

 Admin:Administrator
 Exam:Examination
 Student:User registering for Exams

ii)Reference

From website “Scribd, SRS On Online Exam Registration System ”.

You might also like