Uploaded by Jelcaltpba Grinding

Software Engineering - Project Report

advertisement
HOA SEN UNIVERSITY
FACULTY OF INFORMATION - TECHNOLOGY
Instructor
: Ths. Vo Thi Thu Ha
Students
: Ma Chan Hien
Lam Chi Khang
Trinh Anh Cuong
Nguyen Ngoc Quoc
Nguyen Tuan Anh
Class
: Software Engineering_1429_2331
December / 2023
HOA SEN UNIVERSITY
FACULTY OF INFORMATION - TECHNOLOGY
Instructor
: Ths. Vo Thi Thu Ha
Students
: Ma Chan Hien
Lam Chi Khang
Trinh Anh Cuong
Nguyen Ngoc Quoc
Nguyen Tuan Anh
Class
: Software Engineering _1429_2331
December / 2023
Library Management System
BOOK HUB
1. Choose software process model
Incremental Model
1.1 Clear Requirements Management:
It allows for clear and well-defined requirements to be segmented into smaller
modules or increments. Since our project’s requirements are clear, this model would
enable us to break down the project into manageable parts.
1.2 Iterative Development:
The incremental model involves iterative development, where each iteration adds
functionality to the system. This approach facilitates building the system in stages,
allowing for continuous improvement and adjustment based on user feedback.
1.3 Early Delivery and Feedback:
It provides the advantage of delivering functional components early. This means that
even in the initial stages, our team can deliver usable parts of the library management
system, allowing stakeholders to provide feedback and make necessary adjustments.
1.4 Risk Management:
Risk is managed more effectively as each increment is a small, manageable unit. If
any issues arise, they are contained within the specific increment, reducing the impact
on the overall project.
1.5 Team Collaboration:
With a team of five members, the incremental model allows for better collaboration.
Each increment can be assigned to smaller sub-teams, facilitating focused
development efforts and better communication among team members.
1.6 Flexibility and Adaptability:
This model offers flexibility in accommodating changes. As the system evolves
incrementally, adjustments can be made to subsequent increments based on evolving
requirements or new insights.
1.6.1 Team Dynamics
1.6.2 Roles and Responsibilities
Within a team of five members, roles such as developers, testers, and analysts can be
rotated or assigned based on our teammates strengths and preferences, ensuring a
diverse skill set for different increments.
1.6.3 Communication
Regular meetings and discussions are essential in this model to ensure everyone is
aligned with the overall project goals and the specific requirements of each increment.
1.6.4 Collaboration Tools
Using collaboration tools for code sharing, version control, and communication
(Discord, GitHub, Figma) can enhance the efficiency of the team's workflow.
2. Write project plan
2.1 INTRODUCTION
2.1.1 Project Purpose, Scope, and Objectives
The Library Managing App enhances library services by using advanced software to
streamline operations, improve user experience, and optimize resource management.
The project involves crafting specialized software for the library's unique needs. It
simplifies cataloging, borrowing, returns, and offers powerful administrative tools for
efficient inventory and patron management.
2.1.2 Assumptions and Constraints
This plan is formulated based on several key assumptions and constraints integral to
its success. Among these are:
Budget: The project is subject to the allocated budgetary resources outlined in the
proposal.
Staff: Availability and commitment of skilled personnel dedicated to this project.
Equipment: Access to necessary hardware and software tools required for
development and testing phases.
Schedule: Adherence to the stipulated timeline for project completion and delivery.
2.2. Roles and Responsibilities
Role
Responsibility
Name
Email
Project Manager
Overall project
oversight,
planning, and
coordination
Lâm Chí Khang
khang@example.org
Design Team
Software design,
coding, testing,
and
implementation
Mã Chấn Hiền,
Lâm Chí Khang,
Nguyễn Ngọc Quốc,
Trịnh Anh Cường,
Nguyễn Tuấn Anh
hien@example.org
khang@example.org
quoc@example.org
cuong@example.org
anh@example.org
Developments
Creating the app's
software, including
frontend (user
interface) and
backend (serverside logic and
databases).
Nguyễn Ngọc Quốc(FE),
Trịnh Anh Cường (FE),
Mã Chấn Hiền (BE),
Nguyễn Tuấn Anh (FE, BE)
Lâm Chí Khang (BE)
quoc@example.org
cuong@example.org
hien@example.org
anh@example.org
khang@example.org
Testing,
identifying defects
and debugging.
Trịnh Anh Cường,
Nguyễn Tuấn Anh
cuong@example.org
anh@example.org
Teams
Quality
Team
Assurance
2.3. WORK PLAN
2.3.1 Work Activities
- Requirements gathering and analysis.
- System design and architecture.
- Software development and coding.
- Testing and Quality Assurance.
- User interface design and improvement.
- Deployment and user training.
2.3.2 Resources
Human Resources:
Expertise and Skills: Highlight the skills and expertise required for each team
involved in the project (Development, Quality Assurance, User Experience, Training
& Deployment).
Roles and Responsibilities: Elaborate on the specific roles and responsibilities of
each team member.
Training Needs: If there are skill gaps, mention any plans for training or upskilling
the team.
Technological Resources:
Development Tools: List the specific tools or software required for software
development, such as integrated development environments (IDEs), design tools,
collaboration platforms, etc.
Software Licenses: Specify any licenses needed for software development, databases,
or other technologies essential to the project.
Infrastructure: Outline the necessary hardware and network infrastructure required
for development, testing, and deployment.
Financial Resources:
Budget Allocation: Detail the budget breakdown for different phases of the project,
including development, licensing, infrastructure, training, etc.
Funding Sources: If applicable, mention where the funding is coming from (internal
budget, grants, etc.).
Cost Management Plan: Discuss strategies for managing costs within budget
constraints.
2.3.3 Work Breakdown Structure
Draw a WBS using Visual Paradigm Online.
2.3.4 Schedule
Detailed Gantt chart with task breakdown and timelines using MS Project + Trello to
Deliver tasks to teammates
2.3.4.1 Microsoft Project
2.3.4.2 Trello
2.4. CLOSE-OUT PLAN
Closing planning is an important stage to ensure the completion of the project in an
organized manner. Main activities in this phase include:
2.4.1 Staff reassignment plan.
During project completion, we will build reusable tools in an organized manner. This
includes redefining the roles and tasks of each project member and deciding on their
next position within the organization. This plan ensures that the knowledge and
experience gained from the project will be used in future projects.
2.4.2 Archiving project materials and documentation.
We will store project documents scientifically for easy access and future reference.
Documents, source code and other important information will be arranged and stored
properly. This ensures that project-related information can be used for future
evaluation, maintenance, and upgrade purposes.
2.4.3 Post-mortem debriefing and reports.
To learn and grow from the project, we will hold a final review session. This session
will include a detailed review of the successes, challenges and experiences gained
from implementation. From there, we can draw important lessons to apply to future
projects. A summary report will be prepared to share this information with
stakeholders and as a basis for future strategic decisions.
2.5. Methods, Tools, and Techniques
Use of specific programming languages, development frameworks, and version
control systems.
Adherence to industry standards for security and data handling.
System Design Tools: StarUML, Figma
Programming Tools: Visual Code
Frontend: ReactJS
Backend: NodeJS
Database: Firebase
Version control systems: Git/GitHub
Infrastructure: Linux/Ubuntu, Docker, Terraform, Nginx,...
3. Software Requirement Specification
The project is a small Library Managing Application, with mainly two actors:
Librarian (Administrator) and Reader (Library User).
When readers enter Library, they should provide their information (such as Student
ID, Employee ID,…) to get checked-in by Librarian. They after that, can view books
inside the Library for free, and also use Library’s PC, or have a seat at Library. Note
that they can only use the book within Library, if they want to borrow books home,
they need to have Library Card opened. This action needs Librarian’s help. Also, if a
group of readers want to register room for meeting, they can also contact Librarian for
the meeting room registration inside the Library.
3.1 Functional Requirements:
Readers can:
● Check his/her borrowed books
● Show his/her check-in history
Library’s Administrator, known as Librarian, will have some power according
to their position, such as:
●
●
●
●
●
●
●
●
●
●
●
Check-in readers with their ID as mentioned above;
Find readers
Schedule meeting room for readers
Open Library Card
Show Check-in history of readers
Control books
Check-in books
Check-out books
Find books
Add new books
Delete (unused) books
3.2 Non - Functional Requirements:
a) Requirements for Reliability:
Software operates stably and without errors during its functioning. It has the capability
to quickly recover from incidents, ensuring that services remain uninterrupted.
For instance, if the system encounters an issue and stops functioning, it automatically
restarts and restores to the last operational state without data loss.
b) Requirements for Performance:
The application is capable of running smoothly without glitches or lag. However, with
larger data volumes and increased access, it might experience reduced speed.
For example, when a librarian or reader searches for information about a book, the
system returns results within 1 second.
c) Requirements for Security:
Adheres to high-security standards to safeguard users' personal information. This
includes data encryption, user authentication, access rights management, and
detecting/preventing unauthorized access.
For instance, when a user logs into the system, they can only view and edit their own
personal information, unable to access information of other users.
d) Requirements for Portability:
The application is compatible with common operating systems and web browsers. It's
designed for easy migration from one system or platform to another.
For example, the software can operate on different operating systems such as
Windows, MacOS, and Linux, and is compatible with popular web browsers like
Chrome, Firefox, and Safari.
e) Requirements for Scalability:
The software is designed to easily add new functionalities or expand current functions
as needed. It also needs to handle a large number of users or requests simultaneously.
For instance, as the number of users and books increases significantly, the system can
scale to manage the increased volume of requests without compromising performance.
4. Use case diagram, class diagram
4.1 Class Diagram Overview
4.2 Usecase Diagram Overview
Use-case CheckinReader
Use-Case
Nội Dung
Use-case Name
CheckinReader
Description
Check-in readers
Actor
Librarian
Related Use-case
-
Activating conditions
Readers enter Library for the first time of the day.
Before Requirements
Readers have Student ID or Employee ID
After Requirements
Readers want to use Library
Main events flow
1. Readers check-in with their Student/Employee Card,
or Student/Employee ID.
2. Librarian submit the information to the system.
3. System stores the check-in result (datetime, reader’s
name) to the database.
Sub events flow
3.1. If readers have expired borrowed books, system will
throw a message box for Librarian to notice.
Use-case FindReader
Use-Case
Nội Dung
Use-case Name
FindReader
Description
Find readers
Actor
Librarian
Related Use-case
-
Librarian input reader’s information and click ‘Search
Activating conditions
Reader’
Before Requirements
Logged in as Librarian
After Requirements
Librarian wants to search for readers
Main events flow
1. System will find readers according to the input
information through the database.
2. After that, system will return a form included with
readers that matched the search information.
Sub events flow
2.1. If no readers matched, system will instead return a
simple Text Message: “No readers matched the result”
Use-case OpenLibraryCard
Use-Case
Nội Dung
Use-case Name
OpenLibraryCard
Description
Open library card for reader
Actor
Librarian
Related Use-case
-
Activating conditions
Librarian clicks the button ‘Open Card’
Before Requirements
Logged in as Librarian
After Requirements
Librarian wants to open library card for reader
Main events flow
Sub events flow
1. System opens a RegisterLibraryCard form
2. Librarian enters reader’s information: name
(required), ID (required), phone number (required),
email,… and click Submit.
3. System stores the entered data to the database and
return Success Dialog, mark the reader as opened
library card.
2.1. If any of ‘required’ fill remain blank, System will
disallow the ‘Submit’ button until all required fields
are specified.
Use-case ScheduleRoom
Use-Case
Nội Dung
Use-case Name
ScheduleRoom
Description
Schedule meeting rooms for readers
Actor
Librarian
Related Use-case
-
Activating conditions
Librarian clicks the button ‘Manage Meeting Room’
Before Requirements
Logged in as Librarian
After Requirements
Librarian wants to setting up meeting rooms for readers
Main events flow
1. System opens a ControlMeetingRoom form
2. Librarian enters reader information: name (required),
ID(required), phone number (required), enter/leave
time,… and click ‘Submit’
Sub events flow
3. System stores the entered data to the database and
return Success Dialog.
2.1. If any of ‘required’ fill remain blank, System will
disallow the ‘Submit’ button until all required fields are
specified.
Use-case ShowCheckinHistory
Use-Case
Nội Dung
Use-case Name
ShowCheckinHistory
Description
Show check-in history of specific date, or at a duration of
time, or of specific reader
Actor
Librarian, Reader
Related Use-case
-
Activating conditions
Librarian input check-in information and clicked ‘Show
History’
Reader clicks button ‘View my check-in history’
Before Requirements
Logged in as Librarian/Reader
After Requirements
Librarian or Reader want to view the check-in history
Main events flow
1.
System query the database based on input and find
all check-in history (reader name, time) and send result.
2.
Sub events flow
System display the result back to the Librarian/User
2.1. If result is NULL, system simply returns Text
Message: “No history”
Use-case ControlBooks
Use-Case
Nội Dung
Use-case Name
ControlBooks
Description
Control books
Actor
Librarian
Related Use-case
AddBook,
DeleteBook,
FindBook,
CheckinBook,
CheckoutBook
Activating conditions
Librarian clicked button ‘Manage books’
Before Requirements
Logged in as Librarian
After Requirements
Librarian wants to manage/control books.
Main events flow
1.
System opens a ControlBook form, contains ‘Add’,
‘Delete’, ‘Find’, ‘Check-in’, ‘Check-out’ buttons.
Sub events flow
-
Use-case AddBook
Use-Case
Nội Dung
Use-case Name
AddBooks
Description
Control books
Actor
Librarian
Related Use-case
ManageBooks
Activating conditions
Librarian is at the form ControlBooks and clicks ‘Add’
button.
Before Requirements
Logged in as Librarian
After Requirements
Librarian wants to add books
Main events flow
1.
System opens AddBook form.
2.
Librarian enter book information wished to add:
book name (required), author (required), img (required),
publisher, publish year, quantity,… and click ‘Submit
and Add’ button.
3.
System will have a preview form, contain entered
book information once again and ‘Cancel’, ‘Confirm’
buttons.
4.
Librarian clicks ‘Confirm’, system will store the
book information to the database and return Success
Dialog.
2.1. If any of ‘required’ fill remain blank, System will
Sub events flow
disallow the ‘Submit and Add’ button until all required
fields are specified.
3.1. If Librarian clicked ‘Cancel’, system will return back
step 2.
Use-case DeleteBook
Use-Case
Nội Dung
Use-case Name
DeleteBook
Description
Delete book
Actor
Librarian
Related Use-case
ControlBooks
Activating conditions
Librarian is at the form ControlBooks and clicks ‘Delete’
button.
Before Requirements
Logged in as Librarian
After Requirements
Librarian wants to delete a specified book.
Main events flow
1. System opens a DeleteBook form.
2. Librarian enter book name
3. System return the result based on book name entered
4. For each book from the result, display name, author,
image,… and ‘Delete’ button at the bottom left
corner of each book division.
5. Librarian click ‘Delete’
6. System will have a preview for selected delete book
contains book’s information and ‘Cancel’, ‘Confirm’
buttons.
7. Librarian clicks ‘Confirm’ and system delete that
book from the database and return Success Dialog.
3.1. If no books matched result, System will instead
Sub events flow
return a Text Message: No book found.
6.1. If Librarian clicks ‘Cancel’, system will return
back step 4.
Use-case FindBook
Use-Case
Nội Dung
Use-case Name
Search Book
Description
Searching book with title, author, subject.
Actor
Librarian
Related Use-case
Manage Book
Activating
Librarian is at the form ControlBooks and clicks ‘Find’
conditions
button.
Before Requirements
Logged in as Librarian
After Requirements
Librarian wants to find books
Main events flow
1. System opens a FindBook form.
2. Librarian enter book’s information needed to find:
book name, author, genres, publisher,.. and click
‘Find’
3. System finds the books through the database based
on entered information and return result.
4. System displays the result back on a form, each
book of the result display book’s name, book’s
author, publisher, book ID, availability
3.1. If result is NULL, system will instead return Text
Sub events flow
Message: No books found.
Use-case CheckoutBook
Use-Case
Nội Dung
Use-case Name
CheckoutBook
Description
Check-out books for reader
Actor
Librarian
Related Use-case
FindReader
Activating conditions
Librarian is viewing specific reader and click ‘Checkout’ button.
Before Requirements
Logged in as Librarian
After Requirements
Librarian wants to check-out books for a reader
Main events flow
1. System opens a CheckoutBook form
2. Librarian enters BookID and click ‘Check-out’
3. System checks out the book with specified ID to
the reader and mark their Availability to False.
2.1. If the reader hasn’t opened Library Card, system will
throw a Warning Textbox, with ‘Cancel’, ‘Confirm’
button.
2.2. If ‘Cancel’ clicked, system navigate back to
FindReade r form.
2.3. If ‘Confirm’ clicked, system do step 3.
Sub events flow
Use-case CheckinBook
Use-Case
Nội Dung
Use-case Name
CheckinBook
Description
Check-in books for reader
Actor
Librarian
Related Use-case
FindReader
Activating
Librarian is viewing specific reader and click ‘Check-in’
conditions
button.
Before Requirements
Logged in as Librarian
After Requirements
Librarian wants to check-in books for a reader
Main events flow
1. System opens a CheckinBook form.
2. System finds book borrowed by a specified reader
and display them to the screen as book name, book
ID, borrow time and a check-box at the right of
each result.
3. Librarian check-in the box and click ‘Check-in
selected books’, System will check-in the following
books and mark their Availability to True.
Sub events flow
2.1. If the reader hasn’t borrowed any books, System will
return a Text Message: No books borrowed.
Use-case CheckBorrowedBooks
Use-Case
Nội Dung
Use-case Name
CheckBorrowedBooks
Description
Check self’s borrowed books by readers
Actor
Reader
Related Use-case
-
Activating
Reader clicks ‘Check borrowed books’ button.
conditions
Before
Logged in as Reader
Requirements
After Requirements
Reader wants to check his/her borrowed books.
Main events flow
1. System opens a BorrowedBooks form
2. System finds book borrowed by that reader and re
turn result
3. Each book in the result display book name, book
image, borrow time, due date.
2.1. If the reader hasn’t borrowed any books, System will
return a Text Message: No books borrowed.
Sub events flow
5. Design user interface
Figma for BookHub - Link
5.1 User
5.1.1 Register Form
5.1.2 Login Form
5.1.3 Home
5.1.4 Input Search
5.1.5 Search Result
5.1.6 Book Detail
5.1.7 Book Detail (2)
5.1.8 About
5.2 Admin
5.2.1 Dashboard
5.2.2 CheckIn Reader
5.2.3 Control Books
5.2.4 Add Book
5.2.5 Delete Book
6. Write test plan, test case
Google Sheet for Test Case of BookHub - Test Case LMS - Google Sheets
No Des
Test Steps
Expected
Results
1
Login valid
1. Open the login page
2. Enter account =
admin
3. Enter password =
123456
4. Click Login button
Login succesfully
Login with correct account but no
password
1. Open the login page
2. Enter account =
admin
3. Enter password =
4. Click Login button
Login failed, password cannot
be empty
Login with valid credentials and
negative to the main dashboard
1. Open the login page
2. Enter account =
admin
3. Enter password =
4. Click Login button
Login failed, password cannot
be empty
Login with special characters in the
account field
1. Open the login page
2. Enter account =
admin
3. Enter password =
4. Click Login button
Login failed, password cannot
be empty
1. Open the login page
2. Enter account =
admin
Login with excessive characters in the 3. Enter password =
password field
4. Click Login button
Login failed, password cannot
be empty
2
3
5
6
7
8
9
Valid registration
1. Open registration
page.
2. Enter valid user
information
3. Click "Submit"
User successfully registered
and redirected to
confirmation/main page.
Registration with incomplete required
fields
1. Open registration
page.
2. Leave one or more
required fields blank.
3. Click "Submit"
Registration fails with error
prompt to fill in all required
fields.
Registration with invalid email format
1. Open registration
page.
2. Enter invalid email
format.
3. Click "Submit"
Registration fails with error
indicating an invalid email
format.
Duplicate registration with existing
user credentials
1. Open registration
page.
2. Enter existing user
information.
3. Click "Submit"
Registration fails with error
indicating user already exists.
1. Open registration
page.
2. Enter weak
password.
3. Click "Submit"
Registration fails with error to
use a stronger password.
Registration password strength
10 validation
1. Open registration
page
2. Enter name with
Registration with special characters in special characters.
11 name field
3. Click "Submit"
Registration may fail with error
indicating special characters
not allowed.
12 Quản lý sách
Truy cập vào sách thành công
Thêm sách thất bại
13 Mã sách không hợp lệ
1. Nhấn vào chức năng
thêm sách
2. Hệ thống hiện lên
form nhập vào sách
3. Nhập vào mã sách =
"a123"
4. Nhập vào tên sách =
"abc"
5. Nhập vào nhà xuất
bản = "Trinh Anh
Cuong"
6. Nhập vào số lượng =
"5"
Mã sách không hợp lệ
Thêm sách thất bại
14 nhà xuất bản không hợp lệ
1. Nhấn vào chức năng
thêm sách
2. Hệ thống hiện lên
form nhập vào sách
3. Nhập vào mã sách =
"123"
4. Nhập vào tên sách =
"abc"
5. Nhập vào nhà xuất
bản = "Vietlot"
6. Nhập vào số lượng =
"5"
Nhà xuất bản không hợp lệ
Thêm sách thất bại
15 Số lượng không hợp lệ
1. Nhấn vào chức năng
thêm sách
2. Hệ thống hiện lên
form nhập vào sách
3. Nhập vào mã sách =
"123"
4. Nhập vào tên sách =
"abc"
5. Nhập vào nhà xuất
bản = "Trinh Anh
Cuong"
6. Nhập vào số lượng =
"-5"
Số lượng không hợp lệ
16 Thêm sách thành công
1. Nhấn vào chức năng
thêm sách
2. Hệ thống hiện lên
form nhập vào sách
3. Nhập vào mã sách =
"123"
4. Nhập vào tên sách =
"abc"
5. Nhập vào nhà xuất
bản = "Trinh Anh
Cuong"
6. Nhập vào số lượng =
"5"
Thêm sách thành công!
Sửa sách
17 Tìm kiếm sách thất bại
1. Nhấn vào chức năng
sửa sách
2. Hệ thống hiện lên
form tìm kiếm sách
muốn sửa
3. Nhập vào mã sách
Mã sách muốn tìm kiếm nhập
muốn tìm = "abc123"
vào không hợp lệ
Sửa sách
18 Sách muốn sửa không tồn tại
1. Nhấn vào chức năng
sửa sách
2. Hệ thống hiện lên
form tìm kiếm sách
muốn sửa
3. Nhập vào mã sách
Mã sách muốn tìm kiếm không
muốn tìm = "1234"
tồn tại
Sửa sách
19 Cập nhật tên sách thành công
1. Nhấn vào chức năng
sửa sách
2. Hệ thống hiện lên
form tìm kiếm sách
muốn sửa
3. Nhập vào mã sách
muốn tìm = "123"
4. Hệ thống hiện lên
form chỉnh sửa
5. Lựa chọn cập nhật
tên sách
6. Nhập vào tên sách
mới = "abcd"
Cập nhật tên sách thành công
Sửa sách
20 Cập nhật nhà xuất bản thất bại
1. Nhấn vào chức năng
sửa sách
2. Hệ thống hiện lên
form tìm kiếm sách
muốn sửa
3. Nhập vào mã sách
muốn tìm = "123"
4. Hệ thống hiện lên
form chỉnh sửa
5. Lựa chọn cập nhật
nhà xuất bản
5. Nhập vào nhà xuất
Cập nhật nhà xuất bản không
bản mới = "VietLot"
thành công
Sửa sách
21 Cập nhật nhà xuất bản thành công
1. Nhấn vào chức năng
sửa sách
2. Hệ thống hiện lên
form tìm kiếm sách
muốn sửa
3. Nhập vào mã sách
muốn tìm = "123"
4. Hệ thống hiện lên
form chỉnh sửa
5. Lựa chọn cập nhật
nhà xuất bản
5. Nhập vào nhà xuất
bản mới = "Trinh Anh
Cập nhật nhà xuất bản thành
Cuong"
công
Sửa sách
22 Cập nhật số lượng thất bại
1. Nhấn vào chức năng
sửa sách
2. Hệ thống hiện lên
form tìm kiếm sách
Cập nhật số lượng thất bại
muốn sửa
3. Nhập vào mã sách
muốn tìm = "123"
4. Hệ thống hiện lên
form chỉnh sửa
5. Lựa chọn cập nhật
số lượng
5. Nhập vào số lượng
mới = "-5"
Sửa sách
23 Cập nhật số lượng thành công
1. Nhấn vào chức năng
sửa sách
2. Hệ thống hiện lên
form tìm kiếm sách
muốn sửa
3. Nhập vào mã sách
muốn tìm = "123"
4. Hệ thống hiện lên
form chỉnh sửa
5. Lựa chọn cập nhật
số lượng
5. Nhập vào số lượng
mới = "10"
Cập nhật số lượng thành công
Xóa sách
24 Tìm kiếm sách thất bại
1. Nhấn vào chức năng
xóa sách
2. Hệ thống hiện lên
form tìm kiếm sách
muốn xóa
3. Nhập vào mã sách
Danh mục muốn xóa không
muốn tìm = "123abc"
hợp lệ
Xóa sách
25 Tìm kiếm sách thất bại
1. Nhấn vào chức năng
xóa sách
2. Hệ thống hiện lên
form tìm kiếm sách
muốn xóa
3. Nhập vào mã sách
Danh mục muốn xóa không tồn
muốn tìm = "1234"
tại
26 Xóa sách thành công
1. Nhấn vào chức năng
xóa sách
2. Hệ thống hiện lên
form tìm kiếm sách
muốn xóa
3. Nhập vào mã sách
muốn tìm = "123"
Xóa sách thành công
Validates the system's ability to
accurately display matching reader
information when valid details are
27 provided for search.
1. Open Control Book
interface.
2. Enter valid reader
information.
3. Click "Search
Reader".
- System displays matching
readers' list.
- Accurate display of reader
information.
Verifies the system's response when
attempting to find readers with
nonexistent information, ensuring the
28 display of a proper notification.
1. Open Control Book
interface.
2. Enter nonexistent
reader information.
3. Click "Search
Reader".
- System displays "No readers
matched the result." message.
Confirms the system's handling of
29 incomplete or incorrect reader
1. Open Control Book
interface.
2. Enter incomplete or
- System provides an error
message for invalid search
criteria.
information, checking for appropriate
error messages or guidance.
incorrect reader
information.
3. Click "Search
Reader".
1. Open Control Book
interface.
Validates the system's ability to
2. Enter common/vague
handle and present a list of readers
reader information.
- System displays a list
when common or vague information is 3. Click "Search
distinguishing each matching
30 used for search.
Reader".
reader.
Checks the system's response when
attempting a search with all search
fields left empty, ensuring the display
31 of required field notifications.
1. Open Control Book
interface.
2. Leave all fields
empty.
3. Click "Search
Reader".
- System provides an error
message indicating required
fields.
1. Open Control Book
interface.
2. Find borrowed books
Verifies the system's functionality to
for a specific reader.
successfully check in books borrowed 3. Select books to
by a reader, updating book availability check-in.
32 and borrower records accordingly.
4. Click "Check-in".
- System checks in selected
books for the reader. - Updates
book availability status to
"available".
Confirms the system's response when
attempting to check in books for a
reader who has no borrowed books,
checking for proper notification
33 display.
- System displays a message
indicating no borrowed books
found.
1. Open Control Book
interface.
Validates the system's handling when 2. Try to check-in
attempting to check in books without without selecting any
selecting any, ensuring a prompt to
books.
34 select books before proceeding.
3. Click "Check-in".
- System prompts to select
books before checking in
Checks the system's response when
entering invalid book IDs during the
check-in process, verifying proper
35 error message display.
1. Open Control Book
interface.
2. Enter invalid book
IDs for check-in.
3. Click "Check-in".
Tests the system's behavior when
attempting to check in books for a
reader with an expired library card,
checking for appropriate warning
36 prompts or actions.
1. Open Control Book
interface.
2. Check-in books for a
reader with an expired - System warns about an
library card.
expired library card, prompting
3. Click "Check-in".
for action or confirmation.
Test the system's behavior when
37 attempting to check out
1. Open Control Book
interface.
2. Find available books
for check-out.
3. Select books to
check-out.
4. Click "Check-out".
Test the system's behavior when
38 attempting to check out book
1. Open Control Book
interface.
2. Attempt to check-out - System prompts to select
without selecting any
books before checking out.
- System provides an error
message for invalid book IDs
- System checks out selected
books for the reader.
- Updates book availability
status to "unavailable".
books.
3. Click "Check-out".
Xóa sách
39 Tìm kiếm sách thành công
1. Nhấn vào chức năng
xóa hoá đơn sách
2. Hệ thống hiện lên
form tìm kiếm hoá đơn
sách muốn xóa
3. Nhập vào mã hoá
đơn muốn tìm = "001" Xoá hoá đơn sách thành công
Xóa hoá đơn sách
40 Tìm kiếm hoá đơn sách thất bại
1. Nhấn vào chức năng
xóa hoá đơn sách
2. Hệ thống hiện lên
form tìm kiếm hoá đơn
sách muốn xóa
3. Nhập vào mã hoá
đơn muốn tìm =
Hoá đơn sách tìm kiếm để xoá
"123abc"
không hợp lệ
Xóa hoá đơn sách
41 Tìm kiếm hoá đơn sách thất bại
1. Nhấn vào chức năng
xóa hoá đơn sách
2. Hệ thống hiện lên
form tìm kiếm hoá đơn
sách muốn xóa
3. Nhập vào mã hoá
Hoá đơn sách với mã sách
đơn muốn tìm = "1234" muốn xóa không tồn tại
42 Quản lý thông tin người đọc
1. Mở trang quản lý
thông tin người đọc
2. Hệ thống hiện thị
danh sách thông tin
người đọc
3. Người dùng có thể
chọn Thêm, Xoá, Sửa
thông tin người đọc
4. Có thể tìm kiếm trong
ô Tìm kiếm
4.1 Nhập vào ô Tìm
kiếm = 001
4.2 Nhấn Enter
5. Hiện ra danh sách
thông tin người đọc tìm Tìm kiếm thông tin người đọc
kiếm
thành công
Quản lý hoá đơn sách với tìm kiếm
43 mã hoá đơn thất bại
1. Mở trang quản lý
thông tin người đọc
2. Hệ thống hiện thị
danh sách thông tin
người đọc
3. Người dùng có thể
chọn Thêm, Xoá, Sửa
thông tin người đọc
4. Có thể tìm kiếm trong
ô Tìm kiếm
4.1 Nhập vào ô Tìm
kiếm = 0012
4.2 Nhấn Enter
5. Hiện ra danh sách
thông tin người đọc tìm Tìm kiếm thông tin người đọc
kiếm
thất bại
44 Sửa thông tin người đọc
1. Hiển thị thông tin chi
tiết người đọc
Sửa thông tin người đọc thất
bại do chưa đủ số SĐT
2. Có thể nhập để sửa
thông tin người đọc
2.1 Sửa SĐT : 220
3. Nhấn nút Sửa
45 Sửa thông tin người đọc
1. Hiển thị thông tin
người đọc
2. Có thể nhập để sửa
thông tin người đọc
2.1 Nhập ngày : 2-322003
3. Nhấn nút Sửa
Sửa thông tin người đọc thất
bại do sai ngày
46 Sửa thông tin người đọc
1. Hiển thị thông tin
người đọc
2. Có thể nhập để sửa
thông tin người đọc
2.1 Nhập số vào mục
tên người đọc :
2323123
3. Nhấn nút Sửa
Sửa thông tin người đọc thất
bại do sai kiểu định dạng
47 Sửa thông tin người đọc
1. Hiển thị thông tin
người đọc
2. Có thể nhập để sửa
thông tin người đọc
2.1 Nhập số điện thoại : Sửa thông tin người đọc thất
389724
bại do chưa đủ kí tự và số điện
3. Nhấn nút Sửa
thoại không có thật
48 Quản lý thông tin người đọc
1.Hiển thị 3 nút xóa ,
sửa , thêm
2. Hiển thị thanh tìm
kiếm
2.1 Nhập thanh tìm
kiếm: 23123
3. Hiển thị danh sách
người đọc
Không tìm thấy được người
đọc
49 Quản lý thông tin người đọc
1. Hiển thị 3 nút xóa,
sửa, thêm
2. Hiển thị thanh tìm
kiếm
3. Hiển thị danh sách
người đọc
Không có người đọc để hiển thị
50 Quản lý thông tin người đọc
1. Hiển thị 3 nút xóa,
sửa, thêm
2. Hiển thị thanh tìm
kiếm
2.1 Nhập kí tự đặc biệt :
@!#$
3. Hiển thị danh sách
Thông tin tìm kiếm định dạng
người đọc
sai
1.Hiển thị các thông tin
thêm thông tin người
đọc
2.có thể nhập vào các ô
input
51 Thêm thông tin người đọc
2.1 Nhập SĐT để tạo
thông tin người đọc :
22103
Tạo thất bại do thiếu kí tự SĐT
3. Nút enter
1.Hiển thị các thông tin
thêm thông tin người
đọc
2.có thể nhập vào các ô
input
2.1 Nhập SĐT để tạo
thông tin người đọc :
221033411223
52 Thêm thông tin người đọc
3. Nút enter
Tạo thất bại do không được
trùng SĐT
Download