Software Requirements
Specification
for
Exam Online System,
Release 1.0
Version 1.0 approved
Presented by Group 4
Members Role
Lê Thế Mỹ Leader
Trương Mạnh Thắng Member
Nguyễn Đức Anh Member
Nguyễn Thế Hiếu Member
Nguyễn Ngọc Nghĩa Member
Summer 2024
Table of Contents
Revision History
1. Introduction
1.1 Purpose
1.2 Document Conventions
1.3 Project Scope and Product Features
1.4 References
2. Overall Description
2.1 Product Perspective
2.2 User Classes and Characteristics
2.3 Operating Environment
2.4 Design and Implementation Constraints
2.5 Assumptions and Dependencies
3. System Features
3.1 Order Meals from Cafeteria
3.1.1 Description
3.1.2 Functional Requirements
3.2 Order Meals from Restaurants
3.3 Create, View, Modify, and Delete Meal Subscriptions
3.4 Create, View, Modify, and Delete Cafeteria Menus
4. Data Requirements
4.1 Logical Data Model
4.2 Data Dictionary
4.3 Reports
4.3.1 Ordered Meal History Report
4.4 Data Integrity, Retention, and Disposal
5. External Interface Requirements
5.1 User Interfaces
5.2 Software Interfaces
5.3 Hardware Interfaces
5.4 Communications Interfaces
6. Quality Attributes
6.1 Usability Requirements
6.2 Performance Requirements
6.3 Security Requirements
6.4 Safety Requirements
6.5 Availability Requirements
6.6 Robustness Requirements
Appendix A: Analysis Models
Revision History
Name Date Reason For Changes Version
1.0 draft 1
1.0 approved
1. Introduction
1.1 Purpose
The purpose of this document is to provide detailed technical specifications for the development
of a multiple-choice practice system for high school students. This system is intended to
facilitate teachers and administrators to easily manage and Create a test for students and store
the results of that test.
1.2 Document Conventions
1.2.1 Fonts and alignment
All text uses Times New Roman font.
Normal text has a font size of 11pt and is justified.
Headings are bolded with larger font size.
Headings are preceded by an index.
The images have captions at the bottom.
diagram
The diagrams will be accompanied by the Unified Modeling Language (UML) standard.
Day
Dates are written in YYYY-MM-DD format.
Tables
Tables have near black and white text for titles, black text on white background for other cells.
1.2.2 C# and WPF
API (Application Programming Interface): A set of rules and protocols for building and
interoperating application software.
XAML (Extensible Application Markup Language): Markup language used to design user
interfaces in WPF.
MVVM (Model-View-ViewModel): An architectural pattern used in WPF to differentiate
application logic and user interface.
SQL (Structured Query Language): Language standard for managing and operating databases.
Real Framework: An ORM (Object Relational Mapping) is allowed to interact with the database
in an instruction object.
1.3 Project Scope and Product Features
The Test Taking System for High School Students application will be developed using Windows
Present Foundation (WPF) in C#. The application allows students to take online tests with the
following functions:
Main feature
User authentication:
Secure login and registration for students and educators using SQL-based authentication.
Test management:
Create, update and delete tests.
Question bank, retrieved from SQL database.
Take the test:
Students can choose and take tests.
Supports different types of questions (multiple choice, essay).
Score and feedback:
Automatically score survey tests.
Display scores and feedback immediately after submission.
Reporting and Statistics:
Teachers can view detailed reports of students' test results.
Statistics of scores by class and subject.
2. Overall Description
2.1 Product Perspective
The Cafeteria Ordering System is a new software system that replaces the current manual and
telephone processes for ordering and picking up meals in the Process Impact cafeteria. The
context diagram in Figure 1 illustrates the external entities and system interfaces for release 1.0.
The system is expected to evolve over several releases, ultimately connecting to the Internet
ordering services for several local restaurants and to credit and debit card authorization services.
Figure 1. Context diagram for release 1.0 of the Cafeteria Ordering System.
2.2 Product Features
2.3 User Classes and Characteristics
●
2.3.1 Major Features
- FE-1: Create, manage, and organize practice questions categorized by content and
difficulty level.
- FE-2: Develop and administer pre-made quizzes for students, covering various subjects
and difficulty levels.
- FE-3: Provide automatic grading of quizzes with immediate feedback and detailed
reports on performance.
- FE-4: Track student progress and performance through detailed dashboards for both
teachers and students.
- FE-5: Ensure secure access to the system, protecting student data and privacy
according to relevant regulations.
2.3.1.Students
● Primary User: The student is the primary user of the Quiz Pactize System.
● Access point: They will mainly access the system through the application
● Usage: Students will use the system to take tests, view their test results, and track their
progress over time. They can receive notifications about scheduled tests, results
● Interaction: Students will interactively take tests created by teachers. After finishing, you
have to sit and wait for other students in the same class to finish before you can see the
results
2.3.2.Teachers
● Primary User: The teacher is also the primary user who creates and administers the tests.
● Access point: They will use login through the system
● Uses: Teachers will design tests, analyze them for students, and see how students
perform. They will have tools to create different types of questions and set test time
● Interaction: Teachers will interact with student data, show students test results, and
analyze their results.
2.3.3.Users (General)
● Secondary users: This category includes general users who may use the system to view
declarative tests or educational content.
● Access point: App
● How to use: General users can access personal information, view tests, and track
assignments.
● Interaction: Interaction will mainly consist of attempting the test and viewing the results,
with access to performance analysis mode.
●
2.3.4.Admins
● Primary User: Administrator has the highest access and control over the system.
● Access point: Test application and dashboard.
● Usage: The administrator will manage user accounts, system settings, and overall system
maintenance. They ensure security, handle user permissions, and resolve problems.
● Interaction: Administrators will interact with all system components, manage user roles,
monitor all data, and ensure compliance with relevant regulations and standards. They
will also respond to technical issues and perform system updates.
2.4 Operating Environment
OE-01: Ứng dụng phải tương thích và có thể truy cập được trên tất cả các nền tảng mà
trang ứng dụng có thể hỗ trợ,
OE-02: Ứng dụng sẽ có thể sử dụng được trên các thiết bị di động thông qua một ứng dụng
di động chuyên dụng có sẵn trên cả iOS và Android.
2.5 Design and Implementation Constraints
CO-1: The system’s design, code, and maintenance documentation shall conform to the
Process Impact Intranet Development Standard, Version 1.3 [2].
CO-2: The system shall use the current corporate standard Oracle database engine.
CO-3: All HTML code shall conform to the HTML 5.0 standard.
2.6 Assumptions and Dependencies
2.6.1. Assumptions
● User Authentication: All users (students, teachers, and administrators) will be authenticated
through a secure login process before accessing the system.
● Device Compatibility: The system will be compatible with various devices, including desktops,
laptops, tablets, and smartphones.
● Data Security: All data will be stored and transmitted securely using encryption to protect
against unauthorized access.
● User Roles: Different user roles (students, teachers, administrators) will have different levels of
access and permissions within the system.
● Question Bank: Teachers will be responsible for populating and maintaining the question bank.
● Question Creation: Teachers will have the ability to create and customize questions based on
the question bank.
● Automatic Grading: The system will automatically grade questions and provide immediate
feedback to students.
● Data Storage: All data, including user information, quiz questions, and results, will be stored in
a centralized database.
● Data Export: Administrators and teachers can export quiz data and student lists to Excel for
purposes such as grade entry and class roster information.
● System Uptime: The system is expected to have high uptime, with scheduled maintenance
occurring during off-peak hours.
2.6.2. Dependencies
● DP-01: The system will rely on the school's Identity System for user authentication,
authorization, and detailed user information for both teachers and students.
● DP-02: The system will rely on the Question Bank API to retrieve practice questions categorized
by content and difficulty, as well as to store new questions uploaded by teachers.
● DP-03: The system will rely on the Notification Service to send alerts to students and teachers
about quiz availability, upcoming quiz reminders, and quiz result notifications.
● DP-04: The system will interact with the internal Student Information System to manage and
update student information, track their progress, and provide relevant data for progress reports.
● DP-05: The system will rely on the School's Grading System to automatically grade questions
and quizzes, ensuring consistent and accurate grading criteria.
● DP-06: The system will use the Content Management System to store and organize lesson
materials, practice questions, and other educational content provided by teachers.
3. System Features
3.1 Login
3.1.1 Description
● The function can log in to the system using the username and password registered
during the Exam. The system will authenticate the information and allow access
if the information is correct.
● Priority : High.
3.1.2 Functional Requirements
Login.Authenticate:
● Login interface with information input fields (Username, Password).
● Authenticate user information in the database.
● Report an error if the information is incorrect and force the user to try again.
3.2 Register
3.2.1 Description
● Users can register for a new account by providing personal information and
authentication information.
● Priority : High.
3.2.2 Functional Requirements
● Registration interface with information input fields (Name, Email, Password, Confirm
Password).
● Check the validity of the entered information (Valid email, strong password, etc.).
● Send account confirmation email.
3.3 Logout
3.3.1 Description
● The log out function allows users to log out of their accounts in the Online Exam
System.
● Priority: High
3.3.2 Functional Requirements
logout.Start
● Action: The system will provide the option to log out from the user interface.
● Confirm: The system will prompt the user to confirm their intention to log out.
Sign out. Feedback
● Notification: The system will display a confirmation message indicating that the
user has successfully logged out.
3.4 Change Password
3.4.1 Description
● The password change function allows users to update their password in the online
Exam System.
● Priority: High
3.4.2 Functional Requirements
Change password.Start
● The system will ask to enter their email.
● The system will ask the user to re-enter the current password for verification.
ChangePassword.Validate
● The system will verify the current password entered matches the saved password.
● If the current password does not match, the system will display an error message and
prompt the user to try again.
● The system will send the otp code to the email account
ChangePassword.Update
● After successfully authenticating the opt code, the system will update the user's
password into the database.
● The system will display a confirmation message indicating that the password has been
successfully changed.
3.5 User Manager
3.5.1 Description
● User management function allows administrators to manage user accounts, including
creating, updating and viewing user details in the online Exam System.
● Priority: High
3.5.2 Functional Requirements
Create
● The system will provide the option for administrators to create new user
accounts.
● The system will prompt the administrator to enter the required details such as
username, email, role (e.g. student, teacher, manager)
● The system will validate the entered details (e.g. username and email)
● After successful authentication, the system will save the new user's details into
the database.
Update
● The system will provide the option for administrators to update existing user
accounts.
● The system allows administrators to search for users by username
● The system will display the current details of the selected user and enter the
information to be updated.
● After successfully entering the information, the system will save the updated
user details to the database.
View
● The system will provide options for administrators to view detailed information
about users.
● The system allows administrators to search for users by username.
● The system will display detailed information of the selected user including
username, email, role, account status and other related information.
Roles
● The system will provide options for administrators to manage user roles.
● The system allows administrators to assign or change roles for existing users.
● The system will update the user's permissions based on the assigned role.
3.6 Classes Manager
3.6.1 Description
● The class management function allows teachers and administrators to manage
classes, including creating, updating, deleting and viewing classes in the online
Exam System.
● Priority: High
3.6.2 Functional Requirements
Create
● The system will provide options for teachers or administrators to create new
classes.
● The system will prompt the user to enter necessary details such as class name,
description, level.
● After entering information, the system will save detailed new class information
into the database.
Update
● The system will provide options for teachers or administrators to update existing
classes.
● The system allows users to search for classes by class name
● The system will display the current details of the selected class and prompt the
user to enter updated details.
● After entering the information, the system will save the updated class into the
database.
Delete
● The system will provide options for teachers or administrators to delete classes.
● The system allows users to search for classes by class name.
● The system will prompt the user to confirm the deletion of the selected class.
● After confirmation, the system will delete the class from the database.
View
● The system will provide options for teachers, administrators, and students to
view classes.
● The system allows users to search for classes by class name.
● The system will display detailed information of the selected class including class
name, level…
●
3.7 Question Manager
3.7.1 Description
● The question management function allows teachers and administrators to
manage questions, including creating, updating, deleting and viewing questions
in the online Exam System.
● Priority: High
3.7.2 Functional Requirements
Create
● The system will provide the option for teachers or administrators to create new
questions.
● The system will prompt the user to enter necessary details such as questions
and answers.
● After entering a question, the system will save the new question details into the
database.
Update
● The system will provide options for teachers or administrators to update existing
questions.
● The system will display the current details of the selected question and prompt
the user to enter updated details.
● After entering the question, the system will save the updated question to the
database.
Delete
● The system will provide options for teachers or administrators to delete
questions.
● The system will prompt the user to confirm the deletion of the selected question.
● After confirmation, the system will delete the question from the database.
Views
● The system will provide options for teachers, administrators, and students to
view questions.
● The system will display detailed information of the selected question including
question details, answers, level...
3.8 Take Tests
3.8.1 Description
● This function allows users to take tests in the Online Exam System.
● Priority: High
3.8.2 Functional Requirements
Start testing:
● Interface to start the test with random or predefined questions.
● Track time spent on each question and overall test duration.
Submit test:
● After filling out all the answers to the questions, the user will choose to submit
the completed test for grading.
● Stores the user's answers and calculates points based on correct answers.
View test results:
● Interface to view test results including scores and feedback (if any) after
submitting the test.
3.9
3.10
4. Data Requirements
4.1 Logical Data Model
4.2 Data Dictionary
Data Description Composition or Length Values
Element Data Type
4.3 Reports
4.3.1 Ordered Meal History Report
Report ID: COS-RPT-1
Report Title: Ordered Meal History
Report Purpose: Patron wants to see a list of all meals that he had previously ordered
from the Process Impact cafeteria or local restaurants over a specified
time period up to six months prior to the current date, so he can reorder a
particular meal he liked.
Priority: Medium
Report Users: Patrons
Data Sources: Database of previously placed meal orders
Frequency and Report is generated on demand by a Patron. Data in the report is static.
Disposition; Report is displayed on user's web browser screen on a computer, tablet,
or smartphone. It can be printed if the display device permits printing.
Latency: Complete report must be displayed to Patron within 3 seconds after it is
requested.
Visual Layout: Landscape mode
Header and Footer: Report header shall contain the report title, Patron's name, and date
range specified. If printed, report footer shall show the page number.
Report Body: Fields shown and column headings:
● Order Number
● Meal Date
● Ordered From ("Cafeteria" or restaurant name)
● Items ordered (list all items in the meal order, their quantity, and their
prices)
● Total Food Price
● Tax
● Delivery Charge
● Total Price (sum of food item prices, tax, and delivery charge)
Selection Criteria: date range specified by Patron, inclusive of end points
Sort Criteria: reverse chronological order
End-of-Report None
Indicator:
Interactivity: Patron can drill down to see ingredients and nutritional information for
each item in the order
Security Access A Patron may retrieve only his own meal order history
Restrictions:
4.4 Data Integrity, Retention, and Disposal
DI-1: The COS shall retain Individual Patron meal orders for 6 months following the
meal's delivery date.
DI-2: The COS shall retain menus for one year following the menu date.
5. External Interface Requirements
5.1 User Interfaces
UI-1: The exam system screens shall conform to the High School Exam Application User
Interface Standard, Version 1.0.
UI-2: The system shall provide a help link on each screen to explain how to use that page.
UI-3: The application shall permit complete navigation and question selection using the
keyboard alone, in addition to using mouse and keyboard combinations.
5.2 Software Interfaces
SI-1: Question and Answer Database
SI-1.1: The system shall transmit the details of submitted answers to the Question
and Answer Database through a programmatic interface.
SI-1.2: The system shall query the Question and Answer Database to retrieve
questions for the exams.
SI-1.3: When a specific question is no longer valid or available, the system shall
remove that question from the exam pool.
SI-2: Student Information System
SI-2.1: The exam system shall communicate with the Student Information System
(SIS) to register and unregister students for exams.
SI-2.2: The exam system shall query the SIS to verify student registration and
eligibility for exams.
SI-2.3: The exam system shall submit exam results and scores to the SIS.
SI-2.4: The exam system shall handle requests to update exam records, including
score adjustments and retakes.
5.3 Hardware Interfaces
No hardware interfaces have been identified.
5.4 Communications Interfaces
CI-1: The exam system shall send an email or text message (based on user account
settings) to the student to confirm registration for an exam, including details and
instructions.
CI-2: The exam system shall send an email or text message (based on user account
settings) to the student to report any issues with the exam submission or results.
Adapting the external interface requirements to focus on the functionalities and interfaces
specific to a high school exam system ensures that the software effectively meets
its users' needs.
6. Quality Attributes
6.1 Usability Requirements
USE-1: The system shall allow students to retrieve their previous exams with a single
interaction.
USE-2: 95% of new users shall be able to complete a test without errors on their first try.
6.2 Performance Requirements
PER-1: The system shall accommodate a total of 400 users and up to 100 concurrent users
during peak usage periods, with an estimated average session duration of 30
minutes.
PER-2: 95% of test pages shall load completely within 4 seconds on a 20Mbps or faster
Internet connection.
PER-3: The system shall display a confirmation message to the user within an average of 3
seconds and a maximum of 6 seconds after the user submits the information.
6.3 Security Requirements
SEC-1: All personally identifiable information shall be encrypted when stored.
SEC-2: Users must log in to the WPF application to perform all operations except viewing
available tests.
SEC-3: Only authorized personnel shall be allowed to create and manage test content
within the WPF application.
SEC-4: The system shall only allow students to view their test results.
6.4 Safety Requirements
SAF-1: The system shall confirm user actions that could result in data loss, such as
navigating away from the test without saving or submitting.
SAF-2: The system shall ensure that test progress is automatically saved periodically to
prevent data loss due to unexpected application shutdowns.
6.5 Availability Requirements
AVL-1: The testing system must ensure availability at least 98% of the time from 5:00
a.m. to 12:00 p.m. local time and at least 90% of the time from 12:00 p.m. to 5:00
p.m. morning, except during scheduled maintenance times.
6.6 Robustness Requirements
ROB-1: If the connection between the user and the system is interrupted before completing
the test, the system will allow the user to restore the unfinished test and continue
taking the test after the connection is restored .
ROB-2: The system will automatically save the user's exam progress periodically to avoid
data loss due to unexpected problems.
ROB-:3 The system will time-check user input validation to avoid errors.
7.Appendix
7.1. Create Student