Sei sulla pagina 1di 35

Software Requirements

Specification
for

ATTENDANCE MANAGEMENT
SYSTEM
Version 1.0 approved

Prepared by VU QUOC TRUNG

FPT UNIVERSITY

08-03-2020
Table of Contents
Table of Contents.....................................................................................................................ii
Revision History.......................................................................................................................ii
1. Introduction.......................................................................................................................2
1.1 Purpose 2
1.2 Document Conventions 2
1.3 Project Scope 2
1.4 References 2
2. Overall Description............................................................................................................2
2.1 Product Perspective 2
2.2 User Classes and Characteristics 2
2.3 Operating Environment 2
2.4 Design and Implementation Constraints 2
2.5 Assumptions and Dependencies 2
3. System Features.................................................................................................................2
3.1 System Feature 1 2
3.2 System Feature 2 (and so on)2
4. Data Requirements............................................................................................................2
4.1 Logical Data Model 2
4.2 Data Dictionary 2
4.3 Reports 2
4.4 Data Acquisition, Integrity, Retention, and Disposal 2
5. External Interface Requirements........................................................................................2
5.1 User Interfaces 2
5.2 Software Interfaces 2
5.3 Hardware Interfaces 2
5.4 Communications Interfaces 2
6. Quality Attributes..............................................................................................................2
6.1 Usability 2
6.2 Performance2
6.3 Security 2
6.4 Safety 2
6.5 [Others as relevant] 2
7. Internationalization and Localization Requirements...........................................................2
8. Other Requirements...........................................................................................................2
Appendix A: Glossary...............................................................................................................2
Appendix B: Analysis Models...................................................................................................2

Revision History
Name Date Reason For Changes Version
• Introduction

• Purpose

• The purpose of developing attendance management system is to computerized


the tradition way of taking attendance. Another purpose for developing this software is to
generate the report automatically at the end of the session or in the between of the session.
This document detailed functional and non-functional requirements for attendance
maintenance system. The purpose of this document is that the requirements mentioned in it
should be utilized by software developer to implement the system.

• Document Conventions

Document Font Style Size


Heading Calibri Bold 18
Sub-Heading Calibri Bold 14
Other’s Calibri Regular 12
• Project Scope

• This system allows the teacher to maintain attendance record of the classes to
which it is teaching. With the help of this system Teacher should be in a position to send e-mail
to the students who remain absent for the class. The system provides a cumulative report at
every month end for the corresponding class.

• References

• Software Requirement Specification Form


• SRS of Cafeteria Ordering System (by Karl Wiegers and Seilevel)
• Software engineering – Ninth Edition (by Ian Sommerville)

• Overall Description

• Product Perspective

• The product Student Management system, is an independent product and does


not depend on any other product or system. The product will automate various tasks associated
with handling student details and better organizing the stored information and optimum
performance, thus helping the Colleges to ensure smooth working of these processes.

• User Classes and Characteristics


User class Characteristics
Admin Who manage teachers and students, manage system (Add, edit, remove accounts of
teachers and students, manage schedule)
Teacher Who manage student’s attendance, manage schedule, export student’s attendance
ratio
Student Who check attendance, view attendances status, view schedule

• Operating Environment
Hardware Environment RAM: 1GB, HDD: 5GB
Operating system Windows 7/8/8.1/10, Android, iOS
Front end HTML/CSS/JavaScript
Back end Microsoft SQL Server Management
IDE Visual studio code
• Design and Implementation Constraints
• The language for the project will be C#

• The time allotted for this project will be limited to the end of this semester

• Programming is done in JAVA, SQL, HTML

• Assumptions and Dependencies


The users have sufficient knowledge of computers, smartphones. Both computers and
smartphones should have Internet connection and Internet server capabilities. The users know
the English language, because the user interface will be provided in English. The product can
access institute student database.

• System Features
Use case diagam here

System feature tree here

Figure 3.2 Feature tree of


• Context diagram
Usecase ID Usecase name Actor
UC01 Login account Admin, teacher, student
UC02 Logout account Admin, teacher, student
UC03 Check attendance Student
UC04 View attendance status Admin, teacher, student
UC05 View schedule Admin, teacher, student
UC06 Add student’s attendance Teacher
UC07 Remove student’s attendance Teacher
UC08 Add schedule Admin, teacher
UC09 Edit schedule Admin, teacher
UC10 Remove schedule Admin, teacher
UC11 Export student’s attendance ratio Admin, teacher, student
UC12 Add student Admin
UC13 View student infomation Admin, teacher, student
UC14 Edit student infomation Admin
UC15 Remove student Admin
UC16 Search student by name Admin, teacher, student
UC17 Add teacher Admin
UC18 View teacher infomation Admin, teacher
UC19 Edit teacher information Admin
UC20 Remove teacher Admin
UC21 Search teacher by name Admin, teacher
UC22 Feedback, report error Teacher, student

Dialog Map
Figure 3.2-3

……..

• Login account

• Description

This function will allow users to login to their account in order to access all of other
funcions.

• Stimulus/Response Sequences

No. Event
1. User must access to website (or open application)
2. User enters username and password
3. User clicks login button
4. System will check if user enters correct username and password through database
5. If user enter correct username and password, UI will forward to home page
Else UI will show the message “wrong username or password!”

• Functional Requirements

Figure 3 -1 Login account screen


UC ID and Name: UC01: Login account
Created By: NamDH Date Created: 12/03/2020
Primary Actor: Admin, teacher, Secondary
student Actors:
Trigger: This function will allow users to login to their account in order to access all
of other funcions.
Description:
Preconditions: The user must have the email of FPT University. Example
namdhhe130675@fpt.edu.vn
Postconditions: After finish this function, user will be forwarded to home page if they
enter username and password correctly
Normal Flow: • User must access to URL (or open application)
• User enters username and password
• User clicks login button
• System will check if user enters correct username and password
through database
• If user enter correct username and password, UI will forward to
home page
• Else UI will show the message “wrong username or password”
Alternative Flows:
Exceptions: Incorrect credentials
Priority: High
Frequency of Use: High
Business Rules: 1. Username must be FPT mail
2. Username must be exist
3. Username and password can’t be empty
4. Password must be correct
Other Information:
Assumptions:

• Logout acount

• Description

This function will allow users to logout their account in order to login to another account
or in order to end that session.

• Stimulus/Response Sequences

No. Event
1. User must access to website (or open application) and already logged in to their account
2. User clicks logout button
3. System will end that session
4. UI will forward to login page
• Functional Requirements

Figure 3 -2 Logout account screen

UC ID and Name: UC02: Logout account


Created By: NamDH Date Created: 12/03/2020
Primary Actor: Admin, teacher, Secondary
student Actors:
Trigger:
Description: This function will allow users to logout their account in order to login to
another account or in order to end that session.
Preconditions: The user must already logged in to their FPT mail account
Postconditions: After finish this function, user will be forwarded to login page if they clicks
logout button
Normal Flow: • User must access to website (or open application) and already
logged in to their account
• User clicks logout button
• System will end that session
• UI will forward to login page
Alternative Flows:
Exceptions:
Priority: High
Frequency of Use: High
Business Rules:
Other Information:
Assumptions:

• Check attendance

• Description

This function will allow students to check attendance in order to tick that they attended
that class.

• Stimulus/Response Sequences

No. Event
1. User must access to website (or open application) and already logged in to their account
2. User clicks “I’m present” checkbox
3. User clicks save button
4. System will save that attendance of that student on that day to database

• Functional Requirements

Figure 3 -3 Check attendance screen


UC ID and Name: UC03: Check attendance
Created By: NamDH Date Created: 12/03/2020
Primary Actor: Student Secondary
Actors:
Trigger:
Description: This function will allow students to check attendance in order to tick that
they attended that class.
Preconditions: The user must already logged in to their FPT mail account
Postconditions: After finish this function, student can check the attendance of that day
Normal Flow: • User must access to website (or open application) and already
logged in to their account)
• User clicks “I’m present” checkbox
• User clicks save button
• System will save that attendance of that student on that day to
database
Alternative Flows:
Exceptions:
Priority: High
Frequency of Use: High
Business Rules: Student must check the “I’m present” check box in order to click save
button
Other Information:
Assumptions:

• View attendance status

• Description

This function will allow students to view their attendance status in order to see the
attendance ratio on that semester

• Stimulus/Response Sequences

No. Event
1. User must access to home page (or open application) and already logged in to their
account
2. User clicks view attendance button
3. System loads all data about attendance status in database in order to load to UI
4. System will forward user to list Courses and their attendance status

• Functional Requirements

Figure 3 -4 View attendance status screen


UC ID and Name: UC04: View attendance status
Created By: NamDH Date Created: 12/03/2020
Primary Actor: Student Secondary Admin, teacher
Actors:
Trigger:
Description: This function will allow students to view their attendance status in order
to see the attendance ratio on that semester
Preconditions: The user must already logged in to their FPT mail account
Postconditions: After finish this function, student can vew their attendance status of all
semesters and courses
Normal Flow: • User must access to home page (or open application) and already
logged in to their account
• User clicks view attendance button
• System loads all data about attendance status in database in order
to load to UI
• System will forward user to list Courses and their attendance status
Alternative Flows:
Exceptions:
Priority: High
Frequency of Use: High
Business Rules: Student can select the week of that semester in order to see the
attendace status of other weeks
Other Information:
Assumptions:

• View schedule

• Description

This function will allow user to view their schedule in order to know when they have to
come to class and which class they have on that day.

• Stimulus/Response Sequences

No. Event
1. User must access to home page (or open application) and already logged in to their
account
2. User clicks view schedule button
3. System loads all data about schdule in database in order to load to UI
4. System will forward user to view schedule page of the present week

• Functional Requirements

Figure 3 -4 View attendance status screen


UC ID and Name: UC05: View schedule
Created By: NamDH Date Created: 12/03/2020
Primary Actor: Student Secondary Admin, teacher
Actors:
Trigger:
Description: This function will allow user to view their schedule in order to know when
they have to come to class and which class they have on that day.
Preconditions: The user must already logged in to their FPT mail account
Postconditions: After finish this function, student can vew their schedule of present week
Normal Flow: • User must access to home page (or open application) and already
logged in to their account
• User clicks view schedule button
• System loads all data about schdule in database in order to load to
UI
• System will forward user to view schedule page of the present
week
Alternative Flows:
Exceptions:
Priority: Medium
Frequency of Use: Medium
Business Rules: Student can select the week of that semester in order to see the schedule
of other weeks
Other Information:
Assumptions:

• Add student’s attendacnce

• Description

This function will allow teacher to check “present” for student if that student has some
issue about internet connection or they forgot the smartphone so that they can’t check
their attendance even they joined in that class

• Stimulus/Response Sequences

No. Event
1. Teacher must access to “edit attendance” page (or open application) and already logged
in to their account
2. Teacher choose the day that they want to do re-check then choose “edit attendance”
button
3. System loads all data about all students and their attendance in database in order to
load to UI
4. Teacher will search for that student and then check “present” combobox
5. Teacher will click “Save” button in order to save their changes
6. System will show a message “save successfully” if there’s no issue then return to “edit
attendance” page

• Functional Requirements

Figure 3 -6 Add student’s attendance screen

UC ID and Name: UC06: Add student’s attendance


Created By: NamDH Date Created: 12/03/2020
Primary Actor: Teacher Secondary
Actors:
Trigger:
Description: This function will allow teacher to check “present” for student if that
student has some issue about internet connection or they forgot the
smartphone so that they can’t check their attendance even they joined in
that class
Preconditions: The teacher must already logged in to their FPT mail account
Postconditions: After finish this function, teacher can edit student’s attendance to
“present” status.
Normal Flow: • Teacher must access to “edit attendance” page (or open
application) and already logged in to their account
• Teacher choose the day that they want to do re-check then choose
“edit attendance” button
• System loads all data about all students and their attendance in
database in order to load to UI
• Teacher will search for that student and then check “present”
combobox
• Teacher will click “Save” button in order to save their changes
• System will show a message “save successfully” if there’s no issue
then return to “edit attendance” page
Alternative Flows:
Exceptions:
Priority: Medium
Frequency of Use: Medium
Business Rules: Teacher can select another day of that week in order to re-check student’s
attendance but can not more than 48 hours
Other Information:
Assumptions:

• Remove student’s attendance

• Description

This function will allow teacher to check “absent” for student if that student didn’t join
that class or even it’s just a punishment for student who doesn’t do the homework or
they join the class later than 15 minutes

• Stimulus/Response Sequences

No. Event
1. Teacher must access to “edit attendance” page (or open application) and already logged
in to their account
2. Teacher choose the day that they want to do re-check then choose “edit attendance”
button
3. System loads all data about all students and their attendance in database in order to
load to UI
4. Teacher will search for that student and then check “absent” combobox
5. Teacher will click “Save” button in order to save their changes
6. System will show a message “save successfully” if there’s no issue then return to “edit
attendance” page

• Functional Requirements

Figure 3 -7 Remove student’s attendance screen

UC ID and Name: UC07: Remove student’s attendance


Created By: NamDH Date Created: 12/03/2020
Primary Actor: Teacher Secondary
Actors:
Trigger:
Description: This function will allow teacher to check “absent” for student if that
student didn’t join that class or even it’s just a punishment for student
who doesn’t do the homework or they join the class later than 15 minutes
Preconditions: The teacher must already logged in to their FPT mail account
Postconditions: After finish this function, teacher can edit student’s attendance to
“absent” status.
Normal Flow: • Teacher must access to “edit attendance” page (or open
application) and already logged in to their account
• Teacher choose the day that they want to do re-check then choose
“edit attendance” button
• System loads all data about all students and their attendance in
database in order to load to UI
• Teacher will search for that student and then check “absent”
combobox
• Teacher will click “Save” button in order to save their changes
• System will show a message “save successfully” if there’s no issue
then return to “edit attendance” page
Alternative Flows:
Exceptions:
Priority: Medium
Frequency of Use: Medium
Business Rules: Teacher can select another day of that week in order to re-check student’s
attendance but can not more than 48 hours
Other Information:
Assumptions:

• Add schedule

• Description

This function will allow user to add schedule to someday that there’s no any class in that
day (mostly Saturday and Sunday) in order to offset the class that the teacher hasn’t
taught yet

• Stimulus/Response Sequences

No. Event
1. User must access to “Add schedule” page (or open application) and already logged in to
their account
2. System loads all data about all free days (no class) that they can add schedule
3. User choose the subject that they want the teacher to teach on that day
4. User choose the day that they want to add schedule
5. User will click “Add” button in order to add schedlue
6. System will show a message “add successfully” if there’s no issue then return to “add
schedule” page

• Functional Requirements

Figure 3 -8 Add schedule screen

UC ID and Name: UC08: Add schedule


Created By: NamDH Date Created: 12/03/2020
Primary Actor: Teacher Secondary Admin
Actors:
Trigger:
Description: This function will allow user to add schedule to someday that there’s no
any class in that day (mostly Saturday and Sunday) in order to offset the
class that the teacher hasn’t taught yet
Preconditions: The user must already logged in to their FPT mail account
Postconditions: After finish this function, user can add schedule about the subject and the
day that they want
Normal Flow: • User must access to “Add schedule” page (or open application) and
already logged in to their account
• System loads all data about all free days (no class) that they can
add schedule
• User choose the subject that they want the teacher to teach on
that day
• User ch User will click “Add” button in order to add schedulue oose
the day that they want to add schedule
• User will click “Add” button in order to add schedule
• System will show a message “add successfully” if there’s no issue
then return to “edit attendance” page
Alternative Flows:
Exceptions:
Priority: Medium
Frequency of Use: Medium
Business Rules: Teacher can’t add schedule in some day that student already have other
classes (not free)
Other Information:
Assumptions:

• Edit schedule

• Description

This function will allow user to edit schedule to someday that they already added but
they want to change it to another day or another subject

• Stimulus/Response Sequences

No. Event
1. User must access to “Edit schedule” page (or open application) and already logged in to
their account
2. System loads all data about all schedules that the user already added
3. User choose the schedule that they want to edit
4. User choose another day (free) or another subject that they want to change
5. User will click “Save” button in order to edit schedule
6. System will show a message “edit successfully” if there’s no issue then return to “edit
schedule” page

• Functional Requirements

Figure 3 -9 Edit schedule screen

UC ID and Name: UC09: Edit schedule


Created By: NamDH Date Created: 12/03/2020
Primary Actor: Teacher Secondary Admin
Actors:
Trigger:
Description: This function will allow user to edit schedule to someday that they already
added but they want to change it to another day or another subject
Preconditions: The user must already logged in to their FPT mail account
Postconditions: After finish this function, user can edit schedule about the subject and the
day that they want
Normal Flow: • User must access to “Edit schedule” page (or open application) and
already logged in to their account
• System loads all data about all schedules that the user already
added
• User choose the schedule that they want to edit
• User choose another day (free) or another subject that they want
to change
• User will click “Save” button in order to edit schedule
• System will show a message “edit successfully” if there’s no issue
then return to “edit attendance” page
Alternative Flows:
Exceptions:
Priority: Medium
Frequency of Use: Medium
Business Rules: Teacher can’t edit schedule in some day that student already have other
classes (not free)
Other Information:
Assumptions:

• Remove schedule

• Description

This function will allow user to remove schedule that teacher will be busy on that day or
they have some problem about health

• Stimulus/Response Sequences

No. Event
1. User must access to “Remove schedule” page (or open application) and already logged
in to their account
2. User choose the day that they want to remove schedule
3. System loads all data about all schedule of that day
4. User choose the class that they want to remove the schedule
5. User will click “Remove” button in order to remove schedule
6. System will show a message “remove successfully” if there’s no issue then return to
“remove schedule” page

• Functional Requirements

Figure 3 -10 Remove schedule screen


UC ID and Name: UC10: Remove schedule
Created By: NamDH Date Created: 12/03/2020
Primary Actor: Teacher Secondary Admin
Actors:
Trigger:
Description: This function will allow user to remove schedule that teacher will be busy
on that day or they have some problem about health
Preconditions: The user must already logged in to their FPT mail account
Postconditions: After finish this function, user can remove schedule about the subject and
the day that they want
Normal Flow: • User must access to “Remove schedule” page (or open application)
and already logged in to their account
• User choose the day that they want to remove schedule
• System loads all data about all schedule of that day
• User choose the class that they want to remove the schedule
• User will click “Remove” button in order to remove schedlue
• System will show a message “remove successfully” if there’s no
issue then return to “remove schedule” page
Alternative Flows:
Exceptions:
Priority: Medium
Frequency of Use: Medium
Business Rules:
Other Information:
Assumptions:

• Export student’s attendance ratio

• Description

This function will allow admin, teacher, student to export or view student's attendance
ratio

• Stimulus/Response Sequences

No. Event
1. User must access to website (or open application)
2. User clicks to button view attendance ratio
3. User clicks to class want to view
4. System will check and calculate attendance through database
• Functional Requirements

Figure 3 -1 Export student’s attendance ratio screen

UC ID and Name: UC11: Export student’s attendance ratio


Created By: NamDH Date Created: 12/03/2020
Primary Actor: Admin, teacher, Secondary
student Actors:
Trigger:
Description: This function will allow admin, teacher, student to export or view
student's attendance ratio
Preconditions: The user must already logged in to their FPT mail account
Postconditions: After finish this function, user can view attendance ratio.
Normal Flow: • User must access to website (or open application)
• User clicks to button view attendance ratio
• User clicks to class want to view
• System will check and calculate attendance through database
Alternative Flows:
Exceptions:
Priority: Medium
Frequency of Use: Medium
Business Rules: 1. Users can only check attendance from start of study until now.
Other Information:
Assumptions:

• Add Student

• Description

This function will allow users to add student to database

• Stimulus/Response Sequences

No. Event
1. admin must access to URL (or open application)
2 Admin click “Add Student” link to open Teacher Management page

3 Admin type information of that teacher

4 After finishing, admin will click “Add” button


5 If admin type each valid input value, UI will show message “Add Successully !“ then
store in database and refresh page.

6 Else UI will show the message “ wrong invalid input value that user type wrong ! “

• Functional Requirements

Figure 3 -2 Add Student Screen

UC ID and Name: UC12: Add Student


Created By: NamDH Date Created: 12/03/2020
Primary Actor: Admin Secondary
Actors:
Trigger:
Description: This function will allow users to logout their account in order to login to
another account or in order to end that session.
Preconditions: The user must already logged in to their FPT mail account
Postconditions: After finish this function, user will be forwarded to login page if they clicks
logout button
Normal Flow: • admin must access to URL (or open application)logged in to their
account
• Admin type information of that teacher
• After finishing, admin will click “Add” button
• If admin type each valid input value, UI will show message “Add
Successully !“ then store in database and refresh page.
• Else UI will show the message “ wrong invalid input value that user
type wrong ! “
Alternative Flows:
Exceptions:
Priority: High
Frequency of Use: High
Business Rules:
Other Information:
Assumptions:

• View student information

• Description
This function will allow user to view all information about student in the system.

• Stimulus/Response Sequences

No. Event
1. User must access to website (or open application)
2. After login successfully, User clicks button view student information
3. Users click on the class have students who want to see
4. System will check, get student information from the database

• Functional Requirements

Figure 3 -1 View student information screen

UC ID and Name: UC13: View student information


Created By: NamDH Date Created: 12/03/2020
Primary Actor: Admin, teacher, Secondary
student Actors:
Trigger:
Description: This function will allow user to view all information about student in the
system.
Preconditions: The user must already logged in to their FPT mail account
Postconditions: After finish this function, user can view student information
Normal Flow: • User must access to website (or open application)
• After login successfully, User clicks button view student
information
• Users click on the class have students who want to see
• System will check, get student information from the database
Alternative Flows:
Exceptions:
Priority: Medium
Frequency of Use: Medium
Business Rules: 1. Users cannot view student information not in the system.
Other Information:
Assumptions:
• Edit student information

• Description

This function will allow users to edit student information in the system.

• Stimulus/Response Sequences

No. Event
1. User must access to website (or open application)
2. After login successfully, User click to button student management
3. Search and choose student want to edit information.
4. Click to button edit..
5. System will check, get student information from the database. After that, system foward to
edit information page.

• Functional Requirements

Figure 3 -1 Edit student information screen

UC ID and Name: UC14: Edit student information


Created By: NamDH Date Created: 12/03/2020
Primary Actor: Admin Secondary
Actors:
Trigger:
Description: This function will allow users to edit student information.
Preconditions: The user must already logged in to their FPT mail account
Postconditions: After finish this function, The system will notify users to edit successfully if
they fill in correctly and enough information.
Normal Flow: • User must access to website (or open application)
• After login successfully, User click to button student management
• Search and choose student want to edit information.
• Click to button edit..
• System will check, get student information from the database.
After that, system foward to edit information page.
Alternative Flows:
Exceptions: Incorrect credentials
Priority: Medium
Frequency of Use: Medium
Business Rules: 1. Incorrect type of information needed
2. Not enough information
Other Information:
Assumptions:

• Remove Student

• Description

This function will allow remove teacher from database

• Stimulus/Response Sequences

No. Event
1 admin must access to URL (or open application)
2 Admin click “Delete Student” link to open Teacher Management page

3 Admin click to garbage nearby that teacher information line to remove

4 After finishing, admin will click “ Save“ button

• Functional Requirements

Figure 3 -2 Remove student screen

UC ID and Name: UC15: Remove Student


Created By: NamDH Date Created: 12/03/2020
Primary Actor: Admin Secondary
Actors:
Trigger:
Description: This function will allow remove student from database

Preconditions: The user must already logged in to the admin’s home page
Postconditions: After finish this function, admin can remove the another teacher if want
Normal Flow: • admin must access to URL (or open application)
• Admin click “Delete Student” link to open Teacher Management
page
• Admin click to garbage nearby that teacher information line to
remove
• After finishing, admin will click “ Save“ button
Alternative Flows:
Exceptions: Incorrect credentials
Priority: Medium
Frequency of Use: Low
Business Rules: Only remove student exist in the system
Other Information:
Assumptions:

• Search student by name

• Description

This function will allow search student from database

• Stimulus/Response Sequences

No. Event
1. admin must access to URL (or open application)
2. Admin enters username and password

3. Admin clicks login button

4. System will check if user enters correct username and password through database

5. If admin enter correct username and password, UI will forward to home page

6. Admin click “Search Student” link to open Teacher Management page

7. Admin type input to search the teacher name and click “Search” button

8. Admin click to garbage nearby that teacher information line to remove

9. After finishing, admin will see information student

Figure 3 -2 Search student by name screen

UC ID and Name: UC16: Search student by name


Created By: NamDH Date Created: 12/03/2020
Primary Actor: Admin Secondary
Actors:
Trigger:
Description: This function will allow search student by name from database

Preconditions: The user must already logged in to the admin’s home page
Postconditions: After finish this function, admin can search the another teacher if want
Normal Flow: • admin must access to URL (or open application)
• Admin enters username and password
• Admin clicks login button
• System will check if user enters correct username and password
through database
• Admin click “Search Student” link to open Teacher Management
page
• Admin type input to search the teacher name and click “Search”
button
• After finishing, admin will see information teacher
Alternative Flows:
Exceptions: Incorrect credentials
Priority: Medium
Frequency of Use: Medium
Business Rules:
1. Student name must be exist

Other Information:
Assumptions:

• Add teacher

• Description

This function will allow users to add teacher to database

• Stimulus/Response Sequences

No. Event
1. admin must access to URL (or open application)
2. Admin enters username and password

3. Admin clicks login button

4. System will check if user enters correct username and password through database

5. If admin enter correct username and password, UI will forward to home page

6. Else UI will show the message “wrong username or password”


7. Admin click “Add Teacher” link to open Teacher Management page

8. Admin type information of that teacher

9. After finishing, admin will click “Add” button

10. If admin type each valid input value, UI will show message “Add Successully !“ then
store in database and refresh page.

11. Else UI will show the message “ wrong invalid input value that user type wrong ! “

• Functional Requirements

Figure 3 -2 Add teacher screen

UC ID and Name: UC17: Add teacher


Created By: NamDH Date Created: 12/03/2020
Primary Actor: Admin Secondary
Actors:
Trigger:
Description: This function will allow users to logout their account in order to login to
another account or in order to end that session.
Preconditions: The user must already logged in to their FPT mail account
Postconditions: After finish this function, user will be forwarded to login page if they clicks
logout button
Normal Flow: • admin must access to URL (or open application)logged in to their
account
• Admin enters username and password
• Admin clicks login button
• System will check if user enters correct username and password
through database
• If admin enter correct username and password, UI will forward to
home page
• Else UI will show the message “wrong username or password”
• Admin click “Add Teacher” link to open Teacher Management page
• Admin type information of that teacher
• After finishing, admin will click “Add” button
• If admin type each valid input value, UI will show message “Add
Successully !“ then store in database and refresh page.
• Else UI will show the message “ wrong invalid input value that user
type wrong ! “
Alternative Flows:
Exceptions:
Priority: High
Frequency of Use: High
Business Rules:
Other Information:
Assumptions:

• View teacher information

• Description

This function will allow user to view all information about teacher in the system.

• Stimulus/Response Sequences

No. Event
1. User must access to website (or open application)
2. After login successfully, User clicks button view student information
3. Users click on the class have teacher who want to see
4. System will check, get teacher information from the database

• Functional Requirements

Figure 3 -1 View teacher information screen

UC ID and Name: UC18: View teacher information


Created By: NamDH Date Created: 12/03/2020
Primary Actor: Admin, teacher, Secondary
student Actors:
Trigger:
Description: This function will allow user to view all information about student in the
system.
Preconditions: The user must already logged in to their FPT mail account
Postconditions: After finish this function, user can view student information
Normal Flow: • User must access to website (or open application)
• After login successfully, User clicks button view student
information
• Users click on the class have teacher who want to see
• System will check, get teacher information from the database
Alternative Flows:
Exceptions:
Priority: Medium
Frequency of Use: Medium
Business Rules: 1. Users cannot view teacher information not in the system.
Other Information:
Assumptions:

• Edit student information

• Description

This function will allow users to edit student information in the system.

• Stimulus/Response Sequences

No. Event
1. User must access to website (or open application)
2. After login successfully, User click to button student management
3. Search and choose teacher want to edit information.
4. Click to button edit..
5. System will check, get teacher information from the database. After that, system foward to
edit information page.

• Functional Requirements

Figure 3 -1 Edit teacher information screen

UC ID and Name: UC19: Edit teacher information


Created By: NamDH Date Created: 12/03/2020
Primary Actor: Admin Secondary
Actors:
Trigger:
Description: This function will allow users to edit teacher information.
Preconditions: The user must already logged in to their FPT mail account
Postconditions: After finish this function, The system will notify users to edit successfully if
they fill in correctly and enough information.
Normal Flow: • User must access to website (or open application)
• After login successfully, User click to button teacher management
• Search and choose teacher want to edit information.
• Click to button edit..
• System will check, get teacher information from the database.
After that, system foward to edit information page.
Alternative Flows:
Exceptions: Incorrect credentials
Priority: Medium
Frequency of Use: Medium
Business Rules: 1. Incorrect type of information needed
2. Not enough information
Other Information:
Assumptions:

• Remove teacher

• Description

This function will allow remove teacher from database

• Stimulus/Response Sequences

No. Event
1. admin must access to URL (or open application)
2. Admin enters username and password

3. Admin clicks login button

4. System will check if user enters correct username and password through database

5. If admin enter correct username and password, UI will forward to home page

6. Else UI will show the message “wrong username or password”

7. Admin click “Delete Teacher” link to open Teacher Management page

8. Admin click to garbage nearby that teacher information line to remove

9. After finishing, admin will click “Add” button

10. After finishing, admin will click “ Save“ button

• Functional Requirements

Figure 3 -2 Logout account screen


UC ID and Name: UC20: Remove teacher
Created By: TrungVQ Date Created: 12/03/2020
Primary Actor: Admin Secondary
Actors:
Trigger:
Description: This function will allow remove teacher from database

Preconditions: The user must already logged in to the admin’s home page
Postconditions: After finish this function, admin can remove the another teacher if want
Normal Flow: • admin must access to URL (or open application)
• Admin enters username and password
• Admin clicks login button
• System will check if user enters correct username and password
through database
• If admin enter correct username and password, UI will forward to
home page
• Else UI will show the message “wrong username or password”
• Admin click “Delete Teacher” link to open Teacher Management
page
• Admin click to garbage nearby that teacher information line to
remove
• After finishing, admin will click “ Save“ button
Alternative Flows:
Exceptions: Incorrect credentials
Priority: Medium
Frequency of Use: Low
Business Rules:
Other Information:
Assumptions:

• Search teacher by name

• Description

This function will allow search teacher from database

• Stimulus/Response Sequences

No. Event
1. admin must access to URL (or open application)
2. Admin enters username and password
3. Admin clicks login button

4. System will check if user enters correct username and password through database

5. If admin enter correct username and password, UI will forward to home page

6. Admin click “Search Teacher” link to open Teacher Management page

7. Admin type input to search the teacher name and click “Search” button

8. Admin click to garbage nearby that teacher information line to remove

9. After finishing, admin will see information teacher

UC ID and Name: UC21: Search teacher by name


Created By: TrungVQ Date Created: 12/03/2020
Primary Actor: Admin Secondary
Actors:
Trigger:
Description: This function will allow search teacher by name from database

Preconditions: The user must already logged in to the admin’s home page
Postconditions: After finish this function, admin can search the another teacher if want
Normal Flow: • admin must access to URL (or open application)
• Admin enters username and password
• Admin clicks login button
• System will check if user enters correct username and password
through database
• Admin click “Search Teacher” link to open Teacher Management
page
• Admin type input to search the teacher name and click “Search”
button
• After finishing, admin will see information teacher
Alternative Flows:
Exceptions: Incorrect credentials
Priority: Medium
Frequency of Use: Medium
Business Rules:
2. Username must be exist

Other Information:
Assumptions:
• Feedback & report error

• Description

This function will allow feedback teacher by name from database

• Stimulus/Response Sequences

No. Event
1. admin must access to URL (or open application)
2. Admin enters username and password

3. Admin clicks login button

4. System will check if user enters correct username and password through database

5. Admin click “Report” link to open Report page

6. Admin will see feedback or report error of student and teacher

UC ID and Name: UC22: Feedback, report error


Created By: NamDH Created By: 12/03/2020
Primary Actor: Student Secondary
Actors:
Trigger:
Description: This function will allow feedback teacher by name from database

Preconditions: The user must already logged in to the admin’s home page
Postconditions: After finish this function, admin can see the feedback and report error of
student & teacher
Normal Flow: • admin must access to URL (or open application)
• Admin enters username and password
• Admin clicks login button
• System will check if user enters correct username and password
through database
• Admin click “Report” link to open Report page
• Admin will see feedback or report error of student and teacher

Alternative Flows:
Exceptions: Incorrect credentials
Priority: Medium
Frequency of Use: Hight
Business Rules:
Other Information:
Assumptions:

• Data Requirements
<This section describes various aspects of the data that the system will consume as inputs, process in
some fashion, or create as outputs.>

• Logical Data Model


<A data model is a visual representation of the data objects and collections the system will process and
the relationships between them. Include a data model for the business operations being addressed by
the system, or a logical representation for the data that the system itself will manipulate. Data models
are most commonly created as an entity-relationship diagram.>

• Data Dictionary
<The data dictionary defines the composition of data structures and the meaning, data type, length,
format, and allowed values for the data elements that make up those structures. In many cases, you're
better off storing the data dictionary as a separate artifact, rather than embedding it in the middle of an
SRS. That also increases its reusability potential in other projects.>

• Reports
<If your application will generate any reports, identify them here and describe their characteristics. If a
report must conform to a specific predefined layout you can specify that here as a constraint, perhaps
with an example. Otherwise, focus on the logical descriptions of the report content, sort sequence,
totaling levels, and so forth, deferring the detailed report layout to the design stage.>
• Data Acquisition, Integrity, Retention, and Disposal
<If relevant, describe how data is acquired and maintained. State any requirements regarding the need
to protect the integrity of the system's data. Identify any specific techniques that are necessary, such as
backups, checkpointing, mirroring, or data accuracy verification. State policies the system must enforce
for either retaining or disposing of data, including temporary data, metadata, residual data (such as
deleted records), cached data, local copies, archives, and interim backups.>

• External Interface Requirements


<This section provides information to ensure that the system will communicate properly with users and
with external hardware or software elements.>

• User Interfaces
<Describe the logical characteristics of each interface between the software product and the users. This
may include sample screen images, any GUI standards or product family style guides that are to be
followed, screen layout constraints, standard buttons and functions (e.g., help) that will appear on every
screen, keyboard shortcuts, error message display standards, and so on. Define the software components
for which a user interface is needed. Details of the user interface design should be documented in a
separate user interface specification.>

• Software Interfaces
<Describe the connections between this product and other software components (identified by name and
version), including other applications, databases, operating systems, tools, libraries, websites, and
integrated commercial components. State the purpose, formats, and contents of the messages, data, and
control values exchanged between the software components. Specify the mappings of input and output
data between the systems and any translations that need to be made for the data to get from one
system to the other. Describe the services needed by or from external software components and the
nature of the intercomponent communications. Identify data that will be exchanged between or shared
across software components. Specify nonfunctional requirements affecting the interface, such as service
levels for responses times and frequencies, or security controls and restrictions.>

• Hardware Interfaces
<Describe the characteristics of each interface between the software and hardware (if any) components
of the system. This description might include the supported device types, the data and control
interactions between the software and the hardware, and the communication protocols to be used. List
the inputs and outputs, their formats, their valid values or ranges, and any timing issues developers need
to be aware of. If this information is extensive, consider creating a separate interface specification
document.>

• Communications Interfaces
<State the requirements for any communication functions the product will use, including e-mail, Web
browser, network protocols, and electronic forms. Define any pertinent message formatting. Specify
communication security or encryption issues, data transfer rates, handshaking, and synchronization
mechanisms. State any constraints around these interfaces, such as whether e-mail attachments are
acceptable or not.>
• Quality Attributes

• Usability


Kích thước màn hình; kích thước các controls (GUI); kiểu font chữ kích thuwowcsfont; color…
Thời gian (con số đo là h, phút) người dùng cần để hiểu; sử dụng được sp của mình
3 click của apple.

<Specify any requirements regarding characteristics that will make the software appear to be “user-
friendly.” Usability encompasses ease of use, ease of learning; memorability; error avoidance, handling,
and recovery; efficiency of interactions; accessibility; and ergonomics. Sometimes these can conflict with
each other, as with ease of use over ease of learning. Indicate any user interface design standards or
guidelines to which the application must conform.>

• Performance
Số lượng người tăng lên
Thời gian trả ra kết quả giảm

<State specific performance requirements for various system operations. If different functional
requirements or features have different performance requirements, it's appropriate to specify those
performance goals right with the corresponding functional requirements, rather than collecting them in
this section.>

• Security
Industry level càng ngày càng tăng. Đo bằng các con số. Tester kiểm tra.

Level 1;2;3; Định nghĩa từng level (tham khảo cụ thể loại PM)

<Specify any requirements regarding security or privacy issues that restrict access to or use of the
product. These could refer to physical, data, or software security. Security requirements often originate in
business rules, so identify any security or privacy policies or regulations to which the product must
conform. If these are documented in a business rules repository, just refer to them.>

• Safety
Industry level càng ngày càng tăng. Đo bằng các con số. Tester kiểm tra.

Level 1;2;3; Định nghĩa từng level (tham khảo cụ thể loại PM)

<Specify requirements that are concerned with possible loss, damage, or harm that could result from use
of the product. Define any safeguards or actions that must be taken, as well as potentially dangerous
actions that must be prevented. Identify any safety certifications, policies, or regulations to which the
product must conform.>
• [Others as relevant]
<Create a separate section in the SRS for each additional product quality attribute to describe
characteristics that will be important to either customers or developers. Possibilities include availability,
efficiency, installability, integrity, interoperability, modifiability, portability, reliability, reusability,
robustness, scalability, and verifiability. Write these to be specific, quantitative, and verifiable. Clarify the
relative priorities for various attributes, such as security over performance.>

• Internationalization and Localization Requirements


<Internationalization and localization requirements ensure that the product will be suitable for use in
nations, cultures, and geographic locations other than those in which it was created. Such requirements
might address differences in: currency; formatting of dates, numbers, addresses, and telephone numbers;
language, including national spelling conventions within the same language (such as American versus
British English), symbols used, and character sets; given name and family name order; time zones;
international regulations and laws; cultural and political issues; paper sizes used; weights and measures;
electrical voltages and plug shapes; and many others.>

• Other Requirements
<Examples are: legal, regulatory or financial compliance, and standards requirements; requirements for
product installation, configuration, startup, and shutdown; and logging, monitoring and audit trail
requirements. Instead of just combining these all under "Other," add any new sections to the template
that are pertinent to your project. Omit this section if all your requirements are accommodated in other
sections. >
Appendix A: Glossary
<Define any specialized terms that a reader needs to know to understand the SRS, including acronyms
and abbreviations. Spell out each acronym and provide its definition. Consider building a reusable
enterprise-level glossary that spans multiple projects and incorporating by reference any terms that
pertain to this project.>
Appendix B: Analysis Models
<This optional section includes or points to pertinent analysis models such as data flow diagrams, feature
trees, state-transition diagrams, or entity-relationship diagrams. You might prefer to insert certain
models into the relevant sections of the specification instead of collecting them at the end.>

Potrebbero piacerti anche