SRS on Online Exam Registration System

July 20, 2017 | Author: Kirupakaran Harikrishnan | Category: World Wide Web, Technology, Operating System, Web Browser, Graphical User Interfaces
Share Embed Donate


Short Description

For Anna university CS/IT OOAD Lab...

Description

Software Requirements Specification for

EXAM REGISTRATION SYSTEM

SVCE

20.03.2014

ii

Table of Contents 1. Introduction ................................................................................................................................1 1.1 Purpose .............................................................................................................................................. 1 1.2 Document Conventions ...................................................................................................................... 1 1.3 Product Scope .................................................................................................................................... 1 1.4 References .......................................................................................................................................... 2

2. Overall Description ....................................................................................................................2 2.1 Product Perspective ............................................................................................................................ 2 2.2 Product Functions .............................................................................................................................. 2 2.3 Operating Environment ...................................................................................................................... 3 2.4 Design and Implementation Constraints ............................................................................................ 3 2.5 Assumptions and Dependencies......................................................................................................... 3

3. External Interface Requirements .............................................................................................3 3.1 User Interfaces ................................................................................................................................... 3 3.2 Hardware Interfaces ........................................................................................................................... 3 3.3 Software Interfaces ............................................................................................................................ 4 3.4 Communications Interfaces................................................................................................................ 4

4. Functional Requirements ..........................................................................................................4 5. Other Non-functional Requirements........................................................................................5 5.1 Performance Requirements ................................................................................................................ 5 5.2 Safety and Security Requirements ..................................................................................................... 5 5.3 Business Rules ................................................................................................................................... 5

1

1.

Introduction

Examinations used to test the understandability of the Student and his ability to recollect it, using it in apt situation, reasoning and Analytics. Now a days, Instead of conducting examinations in papers, mostly everything is done online. Starting from question paper setting and till the report of statistical score is submitted online. Hence, we have developed an automatic exam registration system.

1.1

Purpose

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

1.2

Document Conventions

ERS: Exam Registration System HTTP: Hyper Text Transfer Protocol GUI: Graphical User Interface WWW: World Wide Web

1.3

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

1.4

References

Craig Larman, “Applying UML and Patterns, An Introduction to Object-Oriented Analysis and Design and iterative Development”

2.

Overall Description

2.1

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.

2.2

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

3

2.3

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.

2.4

Design and Implementation Constraints

1. The university information & communication system must be compatible with all the Web browser, Internet Applications and platform independent. 2. The software should be connected to web server which runs 24x7. 3. The user accessing the system from any computer must have an internet connection with all browsing capabilities. 4. GUI is available only in English

2.5

Assumptions and Dependencies

1. The users have sufficient knowledge of computers. 2. The remote computer should have Internet connection and Internet server capabilities. 3. The users know the English language, as the user interface will be provided in English.

3.

External Interface Requirements

3.1

User Interfaces 1. 2. 3. 4. 5. 6. 7. 8. 9.

3.2

Login Course Registration Write Exam Results Study Materials Feed Questions Reports Administer Courses Administer Students

Log into the system as a Student or Examiner Register for a course Answer questions, traverse between questions, submit answers Results of previously written exams Download notes and other study materials Feed questions and answers into the database Reports of student results Availability, fee, add and remove courses 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.

4

3.3

Software Interfaces The system shall interface with an Oracle or MSSQL or MySQL database.

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

4.

Functional Requirements Use Case 1: Authenticate Primary Actor: Student/Faculty Pre-Condition: Nil Post-Condition: Fetch and load the details of the user Main Scenario: 1. Start the application. User prompted for login and password. 2. User gives the login and password. 3. System does authentication. 4. Selection screen is displayed. Alternate Scenario: 5(a). Authentication fails 5(a)1. Prompt user about wrong password 5(a)2. Allow user to re-enter the password.

Use Case 2: Registration Primary Actor: Student/Faculty Pre-Condition: Student/Faculty selected the desired course. Post-Condition: Store details in database. Main Scenario: 1. Student/Faculty fills in the other details 2. Registers for the selected course. Alternate Scenario: 3(a).Registration fails. 3(a)1. System asks the user to re-enter the details. 4(a). Connection gets terminated. 4(a)1.System redirects the user to Login or Selection Page.

5

Use Case 3: Take Test Primary Actor: Student, System Pre-Condition: Student enrolled in that course Post-Condition: Store details in database Main Scenario: 1. Questions are selected randomly and given to the student 2. Student submit the answers 3. System evaluates the answers 4. System displays result of the student Alternate Scenario: None Use Case 4: Feed Questions Primary Actor: Faculty, System Pre-Condition: Faculty selected the desired course. Post-Condition: Store details in database. Main Scenario: 1. Faculty Provides the questions and answers to the questions 2. System stores the details in database Alternate Scenario: None

5.

Other Nonfunctional Requirements

5.1

Performance Requirements

Performance requirements define acceptable response times for system functionality. 1. The load time for user interface screens shall take no longer than two seconds. 2. The log in information shall be verified within two seconds. 3. Queries shall return results within five seconds.

5.2

Security and Safety Requirements

Security: The files in which the information regarding securities and portfolios should be secured against malicious deformations. Fault Tolerance: Data should not become corrupted in case of system crash or power failure.

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

6

Analysis Models: 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.

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

7

Take Test

8

View Result

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

9

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

10

11

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.

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

12

Take Test

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

13

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.

14

Java 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 examiner * collection_type="Examiner" * @generated "UML to Java V5.0 (com.ibm.xtools.transform.uml2.java5.internal.UML2JavaTransform)" */ private static Set 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 false;

15

} 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;

16

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 *

17

* @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 Autogenerated 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 */

18

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; } }

19

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);

20

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;

21

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 *

22

* @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; }

23

/** * 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() {

24

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 {

25

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); } }

26

Sample Output:

27

28

RESULT: Thus UML models for Exam Registration System have been designed and implementation has been performed successfully using IBM Rational Software Architect.

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF