Smart Printing Service for HCMUT Students
Smart Printing Service for HCMUT Students
Group: CC03-09
Student(s):
Trịnh Anh Minh - 2252493
Trần Xuân Hảo - 2252191
Vũ Quỳnh Hương – 2252286
Vũ Minh Quân – 2212828
Võ Cao Nhật Minh – 2252495
Trần Quốc Bảo Long – 2252453
Table Of Content
Revision History ............................................................................................................................ 2
1. Task 1: Requirement elicitation (1.1, 1.2) ............................................................................... 3
1.1 Domain Context .................................................................................................................. 3
1.2 Stakeholders and Needs ..................................................................................................... 3
1.3 Benefits of the System ......................................................................................................... 4
1.4 Functional Requirements ................................................................................................... 5
1.5 Non- Functional Requirements ......................................................................................... 7
2. Task 1: Requirement elicitation (1.3) ...................................................................................... 9
2.1 Use case Diagram for the Whole System .......................................................................... 9
2.2 Use case Diagram for Authentication ............................................................................. 10
2.3 Use case Diagram for Printer Management ................................................................... 14
2.4 Use case Diagram for Purchasing Paper ........................................................................ 18
2.5 Use case Diagram for Management Configuration ....................................................... 22
2.6 Use case Diagram for System Report .............................................................................. 29
2.7 Use case Diagram for Management Account ................................................................. 33
2.8 Use case Diagram for Printing Service ........................................................................... 38
3. Task 2: System modelling ....................................................................................................... 46
3.1 Actvity Diagram ................................................................................................................ 46
3.1.1 Change configuration for SPSO .......................................................................... 46
1
Software Requirements Specification for
A smart printing service student at HCMUT
3.3.2 PrintServiceController() ...................................................................................... 62
3.3.6 Document().......................................................................................................... 63
3.3.8 PrintConfigurationView().................................................................................... 64
3.3.12 Database().......................................................................................................... 65
3.4 User Interfaces using Figma ............................................................................................ 67
3.4.1 Main screen ......................................................................................................... 67
4.4.2 Student:................................................................................................................ 80
3
Software Requirements Specification for
A smart printing service student at HCMUT
Revision History
Printing Service September 22nd 2024 Update task 1.1, 1.2 1.0
2
Software Requirements Specification for
A smart printing service student at HCMUT
The system includes a feature where students can purchase additional printing pages
through BKPay once their balance is depleted. Every print job checks the remaining page
balance, and page allocation is managed by the SPSO, who configures limits such as 1 A3
page equaling 2 A4 pages. The SPSO also controls the default number of pages issued to
students each semester, manages file types allowed for printing, and can view monthly and
yearly usage reports generated by the system. The system is highly customizable, enabling the
SPSO to activate or deactivate printers and adjust the printing configurations as needed.
To ensure security, all users, including students and administrators, must authenticate
through the HCMUT_SSO service before accessing the system. This maintains the integrity
and privacy of the system, ensuring that only authorized users can access printing services.
The system’s design ensures efficient management of resources while making it easy for
students to print documents across campus.
The HCMUT-SSPS (Student Smart Printing Service) gives services and is maintained
to support users. Therefore, there are stakeholders in this system corresponding to their needs.
The first stakeholder is the Students. They are the main users of the system: uploading
documents, selecting printers, specifying printing properties, etc. They can also view their
printing log for a time period together with a summary of the number of printed pages for
3
Software Requirements Specification for
A smart printing service student at HCMUT
each page size and require the printing and BKPay app to be easy to user-friendly, flexible
and reliable.
The second stakeholder is the Student Printing Service Officer (SPSO), who is in
charge of permitting and configuring certain file types, traversing and monitoring the printing
history of students for a time period (date to date) and for all or some printers. The officer is
provided the permission to manage printers such as add, enable, disable a printer. The officer
also manages other configurations of the systems such as changing the default number of
pages, the dates that the system will give the default number of pages to all students, the
permitted file types accepted by the system. The reports of the use of the printing system is
viewed by SPSO. A user-friendly and reliable managing app is also required by the SPSO.
The third stakeholder is the University Administrators, which decides the default number of
A4-size pages each student has.
The last stakeholder is the School IT Administrators. The IT administrators manage the
HCMUT_SSO authentication service. They will provide access to users via the authentication
service and are also responsible for the maintenance and development of the system. The
admins must make sure that the web-based app and mobile app works correctly and available
at all times and without errors.
SPSO maintain efficiency and optimize resource distribution. Automated reporting tools
reduce the workload of manual data collection, while configurable settings—such as page
quotas and file types—ensure adaptability to evolving student demands. Effective
management of such services has been shown to increase operational efficiency in university
environments.
Students:
3. View printing history, including usage details like number of papers, files, etc.
5
Software Requirements Specification for
A smart printing service student at HCMUT
5. Pay for additional prints beyond the free quota via the BKPay system.
University Administrators:
School IT Administrators:
1. Grant students access to the system through the HCMUT_SSO authentication service.
3. Ensure that user data and system logs are securely stored and protected from
unauthorized access.
5. Update and maintain system infrastructure, including software updates for security and
compatibility with new devices.
Printer Manufacturer:
1. Provide updates to ensure compatibility between the system and new printer models.
2. Monitor and receive alerts for printer maintenance needs such as low ink levels, paper
jams, or hardware failures.
6
Software Requirements Specification for
A smart printing service student at HCMUT
2. Manage configurations of the system (changing number of pages, the dates that the
system will give the default number of pages to all students, the permitted file types
accepted by the system).
5. Generated automatically at the end of each month and each year, stored in the system.
6. View the printing history (log) of all students or a student for a period (6 months) and
for some/all printers.
Performance Requirements:
Security Requirements:
1. Students shall authenticate themselves using the school account granted to them by the
university.
2. The system shall ensure that only authenticated and authorized students and SPSO
have access to their respective functionalities.
3. The system shall limit access to printer management and configuration settings to the
SPSO only.
Usability Requirements:
1. The system’s user interface shall be intuitive and user-friendly, both on the web-based
app and mobile app.
2. The system shall provide clear error messages and instructions when user actions fail
(e.g., insufficient page balance, unsupported file format).
1. The SSPS shall be available for printing to all students during normal working hours
(Mon–Fri, 08:30–17:30).
2. Downtime within normal working hours shall not exceed five seconds in any one day.
3. The log and reports shall be available for viewing at any time.
7
Software Requirements Specification for
A smart printing service student at HCMUT
4. The system shall save the logs of all students for up to 6 months.
Scalability Requirements:
Compatibility Requirements:
1. The system shall be compatible with all major operating systems, including Windows,
macOS, Linux, iOS, and Android, for both the web and mobile applications.
2. The web-based app shall support and function correctly on all modern web browsers,
including Chrome, Firefox, Safari, and Edge, in their most recent and at least two
previous versions.
3. The system shall support the most commonly used document file formats for
uploading, such as PDF, DOCX, and PPTX, as configured by the SPSO.
4. The system shall be compatible with printers from multiple manufacturers and support
common printer models that can handle printing requests based on specified properties
like paper size, color, and duplex printing.
8
Software Requirements Specification for
A smart printing service student at HCMUT
9
Software Requirements Specification for
A smart printing service student at HCMUT
Name Sign Up
ID
Actor Student
10
Software Requirements Specification for
A smart printing service student at HCMUT
5. Student enters the given code in the “Enter given code” sections
Alternative Flow
Exception Flow At step 3, if the given ID and email do not map anything in the
HCMUT_SSO
11
Software Requirements Specification for
A smart printing service student at HCMUT
Name Log In
ID
Alternative Flow No
12
Software Requirements Specification for
A smart printing service student at HCMUT
ID
Description User gets out of web/app functional pages and gets back to log in page
Postcondition Student has successfully logged out system will not provide any
functionality until re-logging in
2. System triggers a pop up has a button “Confirm Log Out”, then logs
user out
Alternative Flow No
2.2 System remains status and does not log user out
13
Software Requirements Specification for
A smart printing service student at HCMUT
ID
Actor SPSO
14
Software Requirements Specification for
A smart printing service student at HCMUT
ID
15
Software Requirements Specification for
A smart printing service student at HCMUT
Actor SPSO
16
Software Requirements Specification for
A smart printing service student at HCMUT
ID
Actor SPSO
Exception Flow No
17
Software Requirements Specification for
A smart printing service student at HCMUT
Actor Student
Description The Student enters the amount and size of additional pages to
18
Software Requirements Specification for
A smart printing service student at HCMUT
purchase.
Postcondition The Student finishes entering the amount and size of additional
pages to purchase without errors.
5. The system confirms that the page size and amount have been
chosen successfully and goes to the payment option.
Name ID Payment
19
Software Requirements Specification for
A smart printing service student at HCMUT
Trigger The Student clicks on the button “Confirm” in the “Buy paper”
page.
Main Flow 1. The system directs the Student to the BK pay page.
2. The Student logs into the BK pay page to complete the purchase
3. The system confirms the pages have been successfully paid for.
Trigger The Student or SPSO clicks on the button “View purchase history”.
20
Software Requirements Specification for
A smart printing service student at HCMUT
Main Flow 1. The system displays the Student’s purchase history with purchase
date and amount.
Alternative Flow At step 2: The Student or SPSO can search for a specific purchase
date instead of scrolling through the purchase history
2.2. The system displays the purchase history of the entered date.
2.1.2. The system returns to step 2.1 for the user to enter again.
21
Software Requirements Specification for
A smart printing service student at HCMUT
ID
Actor SPSO
22
Software Requirements Specification for
A smart printing service student at HCMUT
4.2. The system prompts for a fix or adjustment to resolve the issue.
4.3. The system returns to step 3 for the SPSO to attempt the change
again.
23
Software Requirements Specification for
A smart printing service student at HCMUT
ID
Actor SPSO
Description SPSO permit the types of files that students can upload for printing in
the system
Main Flow 1. The system displays “the file type permission” page.
Alternative Flow At step 2: If the SPSO wants to change the memory limit for those
files:
2.1. The SPSO types in the maximum memory size they accept for file
uploads.
24
Software Requirements Specification for
A smart printing service student at HCMUT
change:
Exception Flow At step 4: If the memory limit for the file type exceeds 1GB:
4.1. The system displays an error: "The memory exceeds the limit."
4.2. The system prompts the SPSO to input a valid memory size.
4.3. The system returns to step 2.1 for the SPSO to correct the memory
size.
ID
Actor SPSO
Description SPSO permit the number of default that student can receive per month
25
Software Requirements Specification for
A smart printing service student at HCMUT
Alternative Flow At step 3: If the SPSO selects "Cancel" instead of confirming the
change:
Exception Flow No
ID
Actor SPSO
26
Software Requirements Specification for
A smart printing service student at HCMUT
Alternative Flow At step 3: If the SPSO selects "Cancel" instead of confirming the
change:
4.3. The system returns to step 2.1 for the SPSO to choose again.
ID
Actor SPSO
27
Software Requirements Specification for
A smart printing service student at HCMUT
Alternative Flow At step 3: If the SPSO selects "Cancel" instead of confirming the
change:
Exception Flow At step 4: If the last change was made less than 12 months ago:
4.1. The system displays an error: "You cannot change the date within
12 months of the last change."
4.2. The system prompts the SPSO to wait until 12 months have passed
since the last change.
28
Software Requirements Specification for
A smart printing service student at HCMUT
Name ID Report
Actor SPSO
29
Software Requirements Specification for
A smart printing service student at HCMUT
Alternative Flow No
Exception Flow No
Actor SPSO
Description SPSO chooses the report period of the printing system to view.
Main Flow 1. SPSO enters the month and year period of the report to view.
2. The system displays the report of the chosen month and year.
30
Software Requirements Specification for
A smart printing service student at HCMUT
Alternative Flow
Exception Flow At step 1: If the chosen month and year is invalid or after the
previous month:
1.1 The system displays: “Invalid time period” or “The time period
cannot be after the previous month”.
Actor SPSO
Postcondition The report file is exported in the chosen file type for the SPSO.
Main Flow 1. SPSO chooses the desired file type for the report.
31
Software Requirements Specification for
A smart printing service student at HCMUT
4. The system exports the report in the chosen file type for SPSO.
Alternative Flow No
Exception Flow No
32
Software Requirements Specification for
A smart printing service student at HCMUT
33
Software Requirements Specification for
A smart printing service student at HCMUT
4. The system confirms that the action has been carried out successfully.
4.2. The system returns to step 3 for the University Admins to attempt
the action again.
34
Software Requirements Specification for
A smart printing service student at HCMUT
4. The system confirms that the action has been carried out successfully.
Exception Flow At step 4: If the username and password contains invalid characters:
4.3. The system returns to step 1 for the University Admins to attempt
the action again.
35
Software Requirements Specification for
A smart printing service student at HCMUT
4. University Admins click “Yes” when the system displays “Are you sure
you want to delete this account?”
5. The system confirms that the action has been carried out successfully.
Exception Flow No
36
Software Requirements Specification for
A smart printing service student at HCMUT
5. The system confirms that the action has been carried out successfully.
Exception Flow No
37
Software Requirements Specification for
A smart printing service student at HCMUT
38
Software Requirements Specification for
A smart printing service student at HCMUT
Name Print
ID
Actor Student
2. Upload file
39
Software Requirements Specification for
A smart printing service student at HCMUT
ID
Actor Student
Alternative Flow No
40
Software Requirements Specification for
A smart printing service student at HCMUT
ID
Actor Student
3. Student confirms.
4. Start printing.
41
Software Requirements Specification for
A smart printing service student at HCMUT
Exception Flow No
ID
Actor Student
2. Student confirms.
42
Software Requirements Specification for
A smart printing service student at HCMUT
Exception Flow At step 2: If the printer in that area is not ready(out of paper,…)
Actor SPSO
Trigger SPSO click on the button “View History” to see the information on the
system.
2. The system display and SPSO user can view the printing history and
filters the information:
43
Software Requirements Specification for
A smart printing service student at HCMUT
Alternative At step 2, SPSO wants to filter orders based on user name, printer,
Flow processing time
Actor Student
44
Software Requirements Specification for
A smart printing service student at HCMUT
2. The system shows a interface to user and sort out information such as:
Alternative At step 2, if user want to sort records based on printers, time executed
Flow 2.1. User selects desired attributes
45
Software Requirements Specification for
A smart printing service student at HCMUT
46
Software Requirements Specification for
A smart printing service student at HCMUT
After successful log in, to print documents, users need to click on "In Tài Liệu"
displayed on the main page screen. The system then proceeds to display the upload documents
page.
47
Software Requirements Specification for
A smart printing service student at HCMUT
Students upload the files into the system. With each file is uploaded, the System will
check the file type and return result. With the file has “Hoàn tất”, that file is acceptable. With
another result as “Lỗi kích thước”, “Lỗi định dạng” will be blur. Students can choose one and
just one file which has “Hoàn tất” to print.
48
Software Requirements Specification for
A smart printing service student at HCMUT
Clicking “Next” will display the “Configuration Page” for the student who can then
choose the page sequence to print, choose the size for the pages, modify the ratio, choose the
side per page, choose side of document per side-page and choose page direction. After that the
printing preview will be displayed.
49
Software Requirements Specification for
A smart printing service student at HCMUT
Clicking “Next” will display the satisfied printers that can be used and the student will
be able to choose one of those printers to print their uploaded file. If the file is printed
successfully the “Successful” page will be displayed and the printing will be stored into the
database. Otherwise, if the printer fail to print the “Fail” page will be displayed.
50
Software Requirements Specification for
A smart printing service student at HCMUT
51
Software Requirements Specification for
A smart printing service student at HCMUT
After the student has clicked “Open change configuration page”, the PrintConfigView
will display the “Configuration page”. The student will then be able to carry out the following
actions in parallel with each other: Select “Save date for giving pagenum” - the
PrintConfigView will display giving page date, Select “Save date for history saving” - the
PrintConfigView then will display history saving date, Select “Set number of pages” - the
PrintConfigView will display number of pages, click the checkbox multiple select file types to
add will display the chosen file types allowed for students.Then if the student clicks “Trở về”,
it will return to the previous page, else if student clicks “Tiếp theo”, it will do some parallel
following actions: the PrintConfigView calls the Change_date_giving_numpage() from
PrintConfigController which will then call Save_date_for_giving_pagenum() function from
PrintConfigModel which will return to PrintConfigController then return to PrintConfigView;
the PrintConfigView calls the Save_date_for_giving_numpage() from PrintConfigController
which will then call Save_date() function from PrintConfigModel which will call the
Set_Save_History_Date() from Database and return respectively to the PrintConfigModel,
PrintConfigController, PrintConfigView; the PrintConfigView calls the
Update_default_page() from PrintConfigController which then calls the Set_Page_Number()
function from PrintConfigModel and return respectively to the PrintConfigController,
PrintConfigView; the PrintConfigView calls the Permit_file() function from the
PrintConfigController which then calls the Change_file_type() function from
PrintConfigModel, then return to the PrintConfigController and return to PrintConfigView.
After all those parallel actions, a pop up with an announce “Lưu thay đổi thành công” will
appears together with a button “Thoát”. When the student clicks “Thoát” then returns.
52
Software Requirements Specification for
A smart printing service student at HCMUT
After student clicks on "In Tài Liệu" displayed on the main page screen. The
PrintServiceView activates the function Show_printing_document_page() and display the
upload documents page to User Interface.
53
Software Requirements Specification for
A smart printing service student at HCMUT
The user can upload multiple files at once. Each time a file is uploaded,
PrintServiceView will call the Check_file() function from PrintServiceController().
PrintServiceController calls File_type() from Document to obtain the type of file.
PrintServiceController then uses this type to call the Check_permit_file() function from
PrintConfigurationModel(). If the result returned is valid, PrintServiceView() will display the
screen as “Hoàn tất” indicating that the file upload is complete. Otherwise, it will display
either “Lỗi định dạng” or “Lỗi kích thước” Files without errors will be added to List_file,
while files with errors will be blurred. The user will select one of the error-free files to
proceed to the next step.
54
Software Requirements Specification for
A smart printing service student at HCMUT
After the student has clicked “Next”, PrintServiceView will call the Add_file()
function from PrintServiceController which will then call Get_doc() from PrintConfiguration
for the PrintServiceView to display the “Configuration page”. The student will then be able to
carry out the following actions in parallel with each other: Choose page sequence to print
55
Software Requirements Specification for
A smart printing service student at HCMUT
56
Software Requirements Specification for
A smart printing service student at HCMUT
57
Software Requirements Specification for
A smart printing service student at HCMUT
If the student clicks “Return” then PrintServiceView will display the “Upload page”.
Otherwise, if the student clicks “Next” PrintServiceView will call Update_config() from
PrintServiceController which will then change the configuration to the chosen one by calling
Change_config from PrintConfiguration. PrintServiceView will then carry out 3 parallel: Get
the file name by calling the Get_file_name() function from PrintServiceController which will
get the file name from PrintConfiguration by calling its Get_file_name() function; get the
remaining paper left in the student’s account by calling Get_student_page() from
PrintServiceController which will call Get_remainpaper() in Student to return amount of
student’s remain paper; get the number of needed papers to print by calling function
Get_need_page() in PrintServiceController which will call Create_by_config() in
PrintConfiguration and it will return the needed number by calling its own Get_page()
function.
PrintServiceView will check for each available printer by calling the function
Check_printer() from PrintServiceController which will then call Get_Paper() from Printer to
get the number of papers left in each printer. If the number is enough to print the printer will
be added to List_printer.
PrintServiceView will then check the page balance of the student by calling
Check_page_balance() from PrintServiceController. If it’s not enough then PrintServiceView
will display the “Confirm page” with the “Next” button blurred out which means it cannot be
clicked. Otherwise, PrintServiceView will display the “Confirm page” normally.
The student can then view the list of satisfied printers in a dropdown list by calling the
Show_list_printer() function from PrintServiceView which will then get the List_printer from
PrintServiceController its List_printers() function. The student will then choose a printer to
use from this list by calling the function Choose_printer() from PrintServiceView which will
get the number of the chosen printer (No_Printer) from PrintServiceController after calling its
Choose_printer() function. The student can then see PrintServiceView displaying the chosen
printer.
Finally the student gets the option to click “Return” which PrintServiceController will
then take them back to the “Configuration” page. Otherwise, the student can click “Next” to
start printing. PrintServiceView will call the Start_print function from PrintServiceController
which will call another Start_print function from Printer. If the printer successfully prints the
58
Software Requirements Specification for
A smart printing service student at HCMUT
file PrintServiceController will save the printing history into Database by calling its function
Save_Printing_History() and PrintServiceView will display the “Success” page. Otherwise,
PrintServiceView will display the “Fail” page.
59
Software Requirements Specification for
A smart printing service student at HCMUT
60
Software Requirements Specification for
A smart printing service student at HCMUT
3.3.1 PrintServiceView()
Attribute
• List_file : the list of the file that student upload and want to print
Method
61
Software Requirements Specification for
A smart printing service student at HCMUT
3.3.2 PrintServiceController()
Function of entering printing parameters into the system, counting the number of
papers, and selecting printers suitable for printing needs
Attribute
• List_printer : the list of the printer
• NO_printer: number of the printer in service
• Doc: document that student upload
Method
• Add_file(): add the file on the website
• Minus_Page(): delete the page printing
• Calculate_page_number(): calculate the page that student want to print
• Update_student_page() : update the student page printing
• Check_page_balance(): check the present page that student has to print
• Get_file_name(): get the name of the file printing
• Update_config(): update the printing configuration
• Get_student_ID() : get the student ID
• Start_print() : start to print the document
• Check_file() : check the type, format of the file
• Check_printer(printer): check the available printer to print
• Create_print_file(PrintConfiguration): create to print after edit the print
configuration
• Get_student_page(): get the student page available
• Get_need_page(): get the page that student need more to print
• List_printers(): list the number and available printer
• Choose_printer(): choose the printer to print the document
3.3.3 Student()
Attribute
• Student_ID: the ID of the student to log in to the website
• Remain_page: Page that student has to print the document
62
Software Requirements Specification for
A smart printing service student at HCMUT
Method
• Get_ID(): get the ID of the student
• Get_remainpaper(): get the remaining page that the student has
3.3.4 Printer()
Method
• Get_Paper(): get the paper to print the document
• Start_print(): start to print the document when receive the request.
Attribute
• PaperA4: page A4 in document that need to print more
Method
• Get_paper(): get the A4 paper then send to Printer to print
3.3.6 Document()
Attribute
• A3Page: page A3 in document that need to print
• Pages
• Content
• Type: type of the document (word, PDF,...)
• Name: the title of the document
• Document_ID: the ID of the document
• Ratio: ratio, size of the document
Method
3.3.7 PrintConfiguration()
63
Software Requirements Specification for
A smart printing service student at HCMUT
Print configuration function for student to edit and enter information to print the
document
Attribute
• PrintDoc (Document): document to print
• Page_range (int[]): the range of the document
• Page_size (int): size of the paper
• Page_orientation (int): orientation of paper (portrait, landscape,…)
• Page_scale (int): scale of the paper
• Page_per_sheet (int): 1 page per sheet, 2 page per sheet ….
• Page_side (int): print 1 page 1 side or 1 page 2 side
Method
• Set_page_range(int[]): set the range of the paper to print
• Set_page_size(): set the size of the paper to print
• Set_page_orientation(): set the orientation of paper to print
• Set_page_per_sheet(): set the paper per sheet (1 paper per sheet, 3 paper per
sheet,…)
• Set_ratio(): set the ratio for paper
• Get_page(): get the page that the student has to print
• Get_file_name(): get the file name of the document student want to print
• Change_config(document): change the printing configuration by edit the
information
• Create_by_config(): create parameters for print configuration
• Get_doc(): get the document to print
3.3.8 PrintConfigurationView()
Method:
• Display_Configuration(config_data): Displays the given configuration data for
printing settings.
• Change_file_type(): Changes the permit file type for printing.
• Get_date_for_giving_pagenum(): Modify the date for giving page numbers.
• Get_date_for_saving_history(): Get the date for the printing history stored.
64
Software Requirements Specification for
A smart printing service student at HCMUT
3.3.9 PrintingConfigurationModel()
Manage and validate printing permissions, page settings, and historical records
Attribute:
• file_permit (array[string]): Stores a list of permitted file types
Method:
• Update_Permit_File(file: PermitFile): Updates the list of permitted file types by
adding or modifying a specific permit file type.
• Set_Page_Number(number: Int): Changes the number of giving pages
• Set_Save_History_Date(date: Date): Modify the date for the printing history
stored.
• Save_date(): Modify the date for the printing history stored.
• Check_permit_file(): Checks if a file is permitted based on the list of allowed file
types, returning boolean
3.3.10 PrintingConfigurationController()
Manage and control the settings and permissions related to printer configuration,
Method:
• Save_date_for_giving_pagenum(): Changes the number of giving pages
• Save_date_for_saving_history():Modify the date for the printing history stored.
• Permit_file(): Updates the list of permitted file types
• Update_default_page(): Changes the number of giving pages
3.3.11 SPSO()
Attribute:
• SPSO_ID: determine user
3.3.12 Database()
Responsible for directly accessing and retrieving data from the database
65
Software Requirements Specification for
A smart printing service student at HCMUT
Attribute
• PrintHistory: history of printing information
• Student
Method
• Check_Pritner_HaveEnough_Paper() : check if the printer has enough of paper to
print or not
• Get_Student_History(studentID, timestamp): get the student printing information
from timestamp
• Get_Printer_History(printerID, timestamp): get the printer printing information
from timestamp
• Save_Printing_History() : save the printing history information
• Set_Save_History_Date() : set the timestamp that use the printing service
• Set_Page_Number(number: Int): set the number of pages that have to print
66
Software Requirements Specification for
A smart printing service student at HCMUT
This is the first look of the web page which includes 3 sections: the header which then
serves as a navigation bar - has 2 buttons “Log in” and “Sign Up”, the body section is
HCMUT background, the footer contains the address together with contact information of
HCMUT.
67
Software Requirements Specification for
A smart printing service student at HCMUT
Before using system functionality, the user must login. Click on “Log in” button will
then open a sidebar contain 2 button “SPSO” and “Student” based on the user job and demain.
If the user is a student, click on the “Student” button, the sidebar will have new
content. The student enters “Username” and “Password” and press Login to check validation
68
Software Requirements Specification for
A smart printing service student at HCMUT
of the account. If correct, then directs the student to the next page else an announcement will
occur to inform wrong account information. The “Sign up” button serves the same as the one
in the navigation bar, which will then redirect users to the sign-up area.
When the account is correct, the web will go to the main page for student purposes.
The navigation bar will now fill with new link: “Trang chủ”, “In tài liệu”, “Lịch sử in”, “Mua
trang in”, ‘Hỗ trợ”, a bell icon represents notifications, an avatar icon is link to user’s
information.
69
Software Requirements Specification for
A smart printing service student at HCMUT
Click the “In tài liệu” will direct the student to the page for pushing the document that
student wants to print. Here, students have 2 options, drag and drop file or choosing file from
a local database such as computer, smartphone, Warning! the file type has already been
mentioned, if it does not meet the file type or exceeds 50MB, the file will be served as an
error and can’t be printed.
70
Software Requirements Specification for
A smart printing service student at HCMUT
If the file meets all the requirements, it will be uploaded to the server for the following
actions.
71
Software Requirements Specification for
A smart printing service student at HCMUT
Then the flow will automatically move to the next action, which is to confirm the file
that was uploaded. Click the button “Trở về” will redirect user to the previous interface. Click
the button “Tiếp theo” to move to the next step of flow.
72
Software Requirements Specification for
A smart printing service student at HCMUT
The left side is displaying the uploaded file, the right side is configuration for it. The
student has 6 fields to complete, “Chọn trang cần in” will let user choose pages to print
(default is print all pages), “Khổ giấy” will let user choose page size: A3 or A4, “Hướng in”
will let user choose page’s direction: top or bottom, “Số trang/1 mặt in” will let you enter
prefer number of slide in 1 pages, “Số mặt in/1 tờ” will let user choose between 1 and 2. The
same with previous frame, it has 2 buttons to direct user “Trở về” and “Tiếp theo”.
After that, the server will create a kind of invoice that displays some crucial
information: File name, Number of page available, Number of pages needed to print, Printer -
can choose from a couple of available printers. Button “Trở về” to return, button “Tiếp theo”
to forward.
73
Software Requirements Specification for
A smart printing service student at HCMUT
A pop up appears to announce a user that has printed successfully. Click “Thoát” to
get out of the flow.
When user navigate through the “Cài đặt hệ thống” in the navigate bar, there will be
the user interface (UI) for SPSO to config the default set up of the system.
74
Software Requirements Specification for
A smart printing service student at HCMUT
Here, user can select date for box “Ngày cung cấp giấy” and box “Ngày lưu lịch sử”
using a date picker with the appearance of a small calendar, user can choose date, month, year
and the output will be displayed with this format “DD/MM/YYYY”. With the box “Số trang
giấy được cung cấp mỗi học kỳ”, user will be able to input an integer number as needed. The
box “Định dạng file cho phép” is a multiple-choice checkbox, it will display supported only
file types for users to tick. After ticking the box, from a blank square it will turn into a
checkbox with a blue background surrounding a white check sign. At the bottom of the frame,
there will be 2 buttons which is “Trở về” and “Tiếp theo” for navigating purpose. Button “Trở
về” will return user back to the previous page.
75
Software Requirements Specification for
A smart printing service student at HCMUT
When user clicks Button “Tiếp theo” there will be a pop up to inform user that has
changed successfully with a text box “Lưu thay đổi thành công”, and a button named “Thoát”
to get user out of the flow.
76
Software Requirements Specification for
A smart printing service student at HCMUT
The system is mainly used by two types of users: Students and SPSO. Therefore, the
user interface is also divided into Students' interface and SPSO's interface.
77
Software Requirements Specification for
A smart printing service student at HCMUT
The student's interface has main functions such as Login, Print, Purchase, View
History. The logging function will access the HCMUT_SSO service for user authentication.
The printing document function accesses the printing service and interacts with student data
through the Persistence layer. The viewing printing history function accesses the history
service, it reads data about printing orders and documents from the database. The purchasing
printed page’s function will access the BKPay payment service and record the transaction
results into the purchase order database.
The SPSO interface has main functions such as Login, viewing printing history of
customers, viewing periodic reports, managing printers and editing system configuration.
Some functions operate similarly to those of the students. In addition, there are the following
functions: The periodic report viewing function accesses the report creation service, thereby
reading data from related databases. The printer management function accesses the printer
management service to read printer information, printer list from the printer database, and
update, add, delete, printer information, enable and disable printers. The system configuration
function accesses and edits configuration files from the system.
• API for Authentication: Uses HCMUT_SSO (HCMUT Single Sign-On) for user
authentication, ensuring only authorized users can access the system.
78
Software Requirements Specification for
A smart printing service student at HCMUT
• API for Document Pre-processing: When a user uploads a file, this API checks if the
file format is acceptable (e.g., PDF, DOCX). It ensures compatibility with the printing
system.
• API for Document Formatting: After successful upload, this API creates a file in a
default format. If the user modifies the format, this API updates the document
accordingly to provide a preview before printing.
• API for System Management: Allows the SPSO (Smart Printing Service Operator)
to manage and modify the system settings as needed.
• API for Payment: Facilitates transactions through BKPay, allowing users to make
payments for printing services or purchase additional print pages.
• API for Printing History and Reports: Generates reports periodically and enables
admins and users to view print history, allowing for easy monitoring and tracking of
print activities.
We chose MySQL for the Smart Printing Service database because it’s a reliable,
scalable, and secure relational database system, ideal for handling large datasets and enforcing
relationships between entities like students, printers, and documents.
79
Software Requirements Specification for
A smart printing service student at HCMUT
4.4.1 SPSO:
Attributes:
Relationships:
• Manages: The SPSO oversees each printer, ensuring it’s stocked and working.
• Disables: The SPSO can turn off a printer if it needs maintenance or isn’t
available.
4.4.2 Student:
Attributes:
Relationships:
4.4.3 Printer:
Attributes:
Relationships:
• Disabled by SPSO: The SPSO can disable the printer when needed.
• Prints: This printer is used to print documents sent by students.
4.4.4 Document:
Attributes:
Relationships:
4.4.5 Paper_Transaction:
Attributes:
Relationships:
The Client will connect with the server using HTTPS protocol, the data received from
the Server are the files that execute the interface and will be displayed on users' browser
website via HTML5.
81
Software Requirements Specification for
A smart printing service student at HCMUT
components. Through ASP.NET API, the frontend and backend sides can communicate with
each other to update, display interface, and receive responses from the users.
The Server will connect to the Database Server through TCP/IP protocol, to access
data displayed on the interface or update the data whenever the user interacts with the
application.
The Database Server includes MySQL DMBS. The Database Server stores data in
structured Relational Schemas.
82
Software Requirements Specification for
A smart printing service student at HCMUT
4.6.1 View:
4.6.1.1 Print:
Main function: implements interface management classes for printing support.
Includes classes:
• PrintView: class provides page interface to perform file upload, printer selection
and printing operations.
• PrintForm: class provides form interface to fill in information about printing
parameters.
Relationship between components: PrintView class relies on information entered
from PrintForm to receive values about printing parameters and then send them to the
controller for processing.
PrintView implements PrintView, PrintInfo interface.
All components require PrintViewUpdate interface.
4.6.1.2 DocsView:
Main function: Implements classes that provide interfaces for viewing print history
and periodic reports.
Includes classes: PrintHistoryView, ReportView
• Class PrintHistoryView provides an interface for viewing student print history
(and printers if logged in by SPSO).
• Class ReportView provides an interface for viewing periodic reports.
Both components implement the DocumentView and DocsRequest interfaces.
Both components require the DocsViewUpdate interface.
4.6.1.3 PrintMangagement:
Main function: Implements the printer management interface for SPSO.
Both components implement the PrintManagementView, SystemChange interfaces.
Both components require the ManagementViewUpdate interface.
4.6.2 Controller:
4.6.2.1 PrintController:
Main function: implements a class that provides event handling methods and
information about user input print parameters, print balance accounts, and the print process. It
will get the PrintAPI from printer also.
Database control the printController to print the process.
Both Component implements the PrintViewUpdate, PrintOrderHistory, PrintProcess
Both components require the UsePrintInfo interface.
83
Software Requirements Specification for
A smart printing service student at HCMUT
4.6.2.2 DocsController:
Main function: implements classes that provide methods to process timestamps (or
add printer codes if SPSO) that users enter.
Includes classes: PrintHistoryController, ReportController.
• PrintHistoryController class provides methods to process information about
timestamps to view student printing history (and printer if SPSO).
• ReportController class provides methods to process timestamp information to
view periodic reports.
Both components implement the DocsViewUpdate and DocsInfoRequest interfaces.
Both components require DocsInfoResponse interfaces.
4.6.2.3 PrintManagementController:
Main function: Implements a class that provides methods for handling information
streams that require updating information about printer management.
Component implements the ManagementViewUpdate, SystemChangeInfo interfaces.
Component requires the ManagementInfo interfaces.
4.6.3 Model:
4.6.3.1 PrintManagementModel:
Main function: implements a class that provide information of System. It is not
included in Database.
4.6.4 Database:
Schema Printer, Student, Document are generated in Database for the main purpose
store data and retreive the history.
84