You are on page 1of 110

TRƯỜNG ĐẠI HỌC DUY TÂN

KHOA CÔNG NGHỆ THÔNG TIN


---------------------------

ĐỀ TÀI: XÂY DỰNG WEBSITE BÁN SÁCH TÍCH HỢP

FACE ID

GVHD : TS.Lê Thanh Long


Nhóm SVTH: Nguyễn Tiến Pháp()
Hồ Thanh Tài ()
Phan Văn Khải ()
Phạm Đức Bình (25211905472)
Huỳnh Quốc Khánh ()
Lớp: K25HP – TBM2

Đà Nẵng, tháng 5 năm 2023


TÓM TẮT

Tên đề tài: Xây dựng website bán sách tích hợp Face ID.
Sinh viên thực hiện:
- Nguyễn Tiến Pháp ( )
- Phạm Đức Bình ( )
- Hồ Thanh Tài ()
- Phan Văn Khải ()
- Huỳnh Quốc Khánh ()
Lớp: K25HP – TBM2
Người hướng dẫn: TS. Lê thanh Long
Hệ thống bao gồm:
- Quản lý Sách của quản trị viên
- Đặt sách cho người dùng
Các chức năng chính:
- Quản lý đơn hàng.
- Quản lý sản phẩm.
- Quản lý khách hàng.
- Quản lý Doanh Thu
- Quản lý Lợi Nhuận.
- Quản lý Danh Mục Sản Phẩm Bán Được.
- Quản lý Tin Tức.
- Quản lý Trang.
- Quản lý Tài Khoản.
- Quản lý Danh Mục.
- Quản lý quyền truy cập
Các chức năng mở rộng:
- Hỗ trợ khách hàng.
2|Page
- Hỗ trợ ra quyết định chọn phim khởi chiếu.
- Hỗ trợ ra quyết định phát hành vé.

3|Page
LỜI NÓI ĐẦU

Trên thực tế, không có thành công nào mà không gắn liền với những sự hỗ trợ,
giúp đỡ dù ít hay nhiều, dù là trực tiếp hay gián tiếp của người khác. Trong suốt
thời gian bốn năm qua từ khi bắt đầu học tập ở giảng đường đại học đến nay, em đã
nhận được rất nhiều sự quan tâm, giúp đỡ của quý thầy cô, gia đình và bạn bè.
Em xin chân thành cảm ơn thầy – TS Lê Thanh Long , người đã tận tình hướng
dẫn, cũng như đã tạo mọi điều kiện để em có thể hoàn thành đồ án tốt nghiệp này.
Nếu như không nhờ những lời hướng dẫn, những đánh giá và chỉ bảo sâu sắc của
thầy thì em nghĩ việc hoàn thành đồ án tốt nghiệp của em sẽ khó khăn hơn rất nhiều.
Một lần nữa em xin chân thành cảm ơn thầy.
Cảm ơn tập thể K25HP – TBM2, thầy cố vấn Nguyễn Dũng cũng như gia đình
đã luôn sát cánh bên cạnh và là nguồn động lực vô cùng lớn giúp cho em không
ngừng nỗ lực trong 4 năm qua.
Sau cùng, em xin kính chúc quý thầy cô trong Khoa Công nghệ Thông tin và
thầy Lê Thanh Long thật dồi dào sức khỏe, niềm tin để tiếp tục thực hiện sứ mệnh
cao đẹp của mình là truyền đạt kiến thức cho thế hệ mai sau.

4|Page
LỜI CAM ĐOAN

Tôi xin cam đoan:


1. Nội dung trong đồ án này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của
TS. Lê Thanh Long
2. Các tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên tác giả,
tên công trình, thời gian, địa điểm công bố.
3. Nếu có những sao chép không hợp lệ, vi phạm, tôi xin chịu hoàn toàn trách
nhiệm.

Sinh viên thực hiện

Nguyễn Tiến Pháp

MỤC LỤC
LỜI NÓI ĐẦU 4

5|Page
LỜI CAM ĐOAN 5
MỤC LỤC 6
DANH SÁCH CÁC BẢNG 8
DANH SÁCH CÁC KÝ HIỆU, CHỮ VIẾT TẮT 10
GIỚI THIỆU 11

Lý do chọn đề tài 12

Đối tượng nghiên cứu 12

Mục đích của đề tài 13

Nội dung của đề tài 13

Phạm vi sử dụng của đề tài 13

Bố cục của đề tài 13

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 14
1.1 Sơ lược về UML 14
1.2 Ngôn ngữ lập trình 14
1.3 Framework .NET. 16
1.4 Mô hình MVC 17
1.5 Microsoft SQL Server Management Studio 18
1.6 Deep leaning 18
1.7 Môi trường lập trình 19
1.8 Thư viện 20
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 24

2.1.Khảo sát thực tế bài toán 24


2.1.1. Mục tiêu của hệ thống 25
2.1.2. Lợi ích vủa việc xây dựng hệ thống 26
2.1.3. Mô tả ý tưởng hệ thống 26

2.2. Các tác nhân của hệ thống 27

2.3. Biểu đồ usecase 29


2.3.1. Biểu đồ usecase tổng quát 29
2.3.2. Biểu đồ usecase của Quản trị viên 30
2.3.3. Biểu đồ usecase của Người dùng 62

2.4. Thiết kế cơ sở dữ liệu 69


2.4.1. Mô tả cơ sở dữ liệu 69
2.4.2. Nội dung các bảng cơ sở dữ liệu 69

6|Page
2.5. MÔ HÌNH FACEID 76
2.5.1. CNN 76
2.5.2. Dữ liệu đào tạo mô hình 77
2.5.3. Thuật toán Inception-ResNetV1 77
2.5.4. Inception 77
2.5.5. ResNet 78
2.5.6. Kết quả 81
CHƯƠNG 3: TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ 83

3.1. Môi trường triển khai 83

3.2. Kết quả thực nghiệm 83


3.2.1. Giao diện người dùng 83
3.2.2. Giao diện trang quản lý 89
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 106

1. Kết quả đạt được 106

2. Hạn chế 106

3. Hướng phát triển 106

TÀI LIỆU THAM KHẢO 107

7|Page
DANH SÁCH CÁC HÌNH ẢNH

Hình 1-1. Mô hình MVC......................................................................................................17


Hình 1-2. Luồng đi trong MVC...........................................................................................18
Hình 2-1. Biểu đồ use case tổng quát...................................................................................30
Hình 2-2. Biểu đồ usecase quản lý sản phẩm của Admin....................................................31
Hình 2-3. Biểu đồ usecase quản lý tin tức............................................................................36
Hình 2-4. Biểu đồ usecase quản lý đơn hàng.......................................................................39
Hình 2-5. Biểu đồ usecase quản lý khách hàng...................................................................42
Hình 2-6. Biểu đồ usecase quản lý doanh thu......................................................................45
Hình 2-7. Biểu đồ usecase quản lý lợi nhuận.......................................................................46
Hình 2-8. Biểu đồ usecase quản lý tác giả...........................................................................47
Hình 2-9. Biểu đồ usecase quản lý trang..............................................................................50
Hình 2-10. Biểu đồ usecase quản lý sản phẩm bán được.....................................................53
Hình 2-11. Biểu đồ usecase quản lý doanh mục..................................................................54
Hình 2-12. Biểu đồ usecase quản lý tài khoản.....................................................................57
Hình 2-13. Biểu đồ usecase quản lý quyền truy cập............................................................60
Hình 2-14. Biểu đồ usecase xem liên hệ..............................................................................63
Hình 2-15. Biểu đồ usecase đăng kí thành viên...................................................................64
Hình 2-16. Biểu đồ usecase tìm kiếm..................................................................................66
Hình 2-17. Biểu đồ usecase hướng dẫn mua hàng...............................................................67
Hình 2-18. Biểu đồ usecase xem thông tin sách..................................................................68
Hình 2-19. Biểu đồ usecase quản lý thông tin cá nhân........................................................69
Hình 2-20. Cơ sở dữ liệu của hệ thống................................................................................70
Hình 3-1. Giao diện trang chủ..............................................................................................84
Hình 3-2. Giao diện màn hình đăng nhập............................................................................85
Hình 3-12. Giao diện màn hình tài khoản của tôi................................................................90
Hình 3-13. Giao diện màn hình danh sách đơn hàng đã mua..............................................90
Hình 3-14. Giao diện màn hình thay đổi mật khẩu..............................................................91
Hình 3-15. Giao diện màn hình quản lý...............................................................................91
Hình 3-16. Giao diện màn hình quản lý đơn hàng...............................................................92
Hình 3-17. Giao diện màn hình quản lý chi tiết đơn hàng...................................................92
Hình 3-18. Giao diện màn hình quản lý thay đổi trạng thái đơn hàng.................................93
Hình 3-19. Giao diện màn hình quản lý sản phẩm...............................................................93
Hình 3-22. Giao diện màn hình quản lý xóa sản phẩm........................................................95
Hình 3-23. Giao diện màn hình quản lý khách hàng............................................................95
Hình 3-24. Giao diện xem chi tiết thông tin khách hàng.....................................................96
Hình 3-25. Giao diện xác nhận xóa khách hàng..................................................................96
Hình 3-26. Giao diện Quản lý thống kê doanh thu..............................................................97
Hình 3-27. Giao diện thống kê theo sản phẩm bán được.....................................................97
Hình 3-28. Giao diện quản lý tài khoản Admin...................................................................98
Hình 3-29. Giao diện xem chi tiết tài khoản Admin............................................................98
Hình 3-30. Giao diện quản lý danh mục sản phẩm..............................................................99
Hình 3-32. Giao diện cập nhật danh muc sản phẩm..........................................................100
Hình 3-33. Giao diện xác nhận xóa danh mục sản phẩm...................................................100
Hình 3-34. Giao diện quản lý tác giả.................................................................................101
Hình 3-35. Giao diện xem chi tiết thông tin tác giả...........................................................101
Hình 3-36. Giao diện cập nhật thông tin tác giả................................................................102
8|Page
Hình 3-37. Giao diện xác nhận xóa tác giả........................................................................102
Hình 3-38. Giao diện quản lý quyền truy cập....................................................................103
Hình 3-39. Giao diện quản lý tin tức..................................................................................103
Hình 3-40. Giao diện xem chi tiết tin tức...........................................................................104
Hình 3-42. Giao diện xác nhận xóa tin tức........................................................................105
Hình 3-43. Giao diện quản lý trang....................................................................................105
Hình 3-44. Giao diện xem chi tiết trang.............................................................................106
Hình 3-45. Giao diện xác nhận xóa trang..........................................................................106
Hình 3-46. Giao diện thay đổi mật khẩu Admin................................................................107

DANH SÁCH CÁC BẢNG

Bảng 2-1. Đặc tả usecase xem danh sách sản phẩm.............................................................31


Bảng 2-2. Đặc tả usecase thêm mới sản phẩm.....................................................................31
Bảng 2-3. Đặc tả usecase sửa thông tin sản phẩm...............................................................32

9|Page
Bảng 2-4. Đặc tả usecase xoá sản phẩm..............................................................................33
Bảng 2-5. Đặc tả usecase lọc theo danh mục và tác giả.......................................................33
Bảng 2-6. Đặc tả usecase tìm kiếm sản phẩm......................................................................34
Bảng 2-7. Đặc tả usecase xem danh sách tin tức.................................................................36
Bảng 2-8. Đặc tả usecase thêm mới tin tức..........................................................................36
Bảng 2-9. Đặc tả usecase chỉnh sửa tin tức..........................................................................37
Bảng 2-10. Đặc tả usecase xoá tin tức.................................................................................38
Bảng 2-11. Đặc tả usecase xem danh sách đơn hàng...........................................................39
Bảng 2-12. Đặc tả usecase thêm mới đơn hàng...................................................................39
Bảng 2-13. Đặc tả usecase chỉnh sửa đơn hàng...................................................................40
Bảng 2-14. Đặc tả usecase xoá đơn hàng.............................................................................41
Bảng 2-15. Đặc tả usecase xem danh khách hàng................................................................42
Bảng 2-16. Đặc tả usecase chỉnh sửa khách hàng................................................................43
Bảng 2-17. Đặc tả usecase xoá khách hàng.........................................................................43
Bảng 2-18. Đặc tả usecase xem danh sách doanh thu..........................................................44
Bảng 2-19. Đặc tả usecase xem danh sách lợi nhuận...........................................................45
Bảng 2-20. Đặc tả usecase xem danh sách tác giả...............................................................46
Bảng 2-21. Đặt tả usecase thêm tác giả................................................................................47
Bảng 2-22. Đặc tả usecase chỉnh sửa tác giả........................................................................48
Bảng 2-23. Đặc tả usecase xoá tác giả.................................................................................48
Bảng 2-24. Đặc tả usecase xem danh sách trang..................................................................49
Bảng 2-25. Đặc tả usecase thêm mới trang..........................................................................50
Bảng 2-26. Đặc tả usecase chỉnh sửa trang..........................................................................51
Bảng 2-27. Đặc tả usecase xoá trang...................................................................................51
Bảng 2-28. Đặc tả usecase xem danh sách sản phẩm bán được...........................................52
Bảng 2-29. Đặc tả usecase xem danh sách doanh mục........................................................53
Bảng 2-30. Đặc tả usecase xoá doanh mục..........................................................................54
Bảng 2-31. Đặc tả usecase thêm mới doanh mục................................................................55
Bảng 2-32. Đặc tả usecase chỉnh sửa doanh mục................................................................56
Bảng 2-33. Đặc tả usecase xem danh sách tài khoản...........................................................57
Bảng 2-34. Đặc tả usecase xóa tài khoản.............................................................................57
Bảng 2-35. Đặc tả usecase thêm mới tài khoản...................................................................58
Bảng 2-36. Đặc tả usecase chỉnh sửa tài khoản...................................................................59
Bảng 2-37. Đặc tả usecase xem danh sách quyền truy cập..................................................60
Bảng 2-38. Đặc tả usecase thêm quyền truy cập..................................................................60
Bảng 2-39. Đặc tả usecase sửa quyền truy cập....................................................................61
Bảng 2-40. Đặc tả usecase xóa quyền truy cập....................................................................62
Bảng 2-41. Đặc tả usecase xem liên hệ................................................................................63
Bảng 2-42. Đặc tả usecase đăng kí thành viên.....................................................................64
Bảng 2-43. Đặc tả usecase tìm kiếm....................................................................................65
Bảng 2-44. Đặc tả usecase hướng dẫn mua hàng.................................................................66
Bảng 2-45. Đặc tả usecase xem thông tin sách....................................................................67
Bảng 2-46. Đặc tả usecase quản lý thông tin cá nhân..........................................................68
Bảng 2-47. OderDetails........................................................................................................70
Bảng 2-48. Orders................................................................................................................70
Bảng 2-49. Products.............................................................................................................71
Bảng 2-50. Authors..............................................................................................................72
Bảng 2-51. Categories..........................................................................................................72
Bảng 2-52. TransaciStatus...................................................................................................73
10 | P a g e
Bảng 2-53. Customers..........................................................................................................73
Bảng 2-54. Face...................................................................................................................74
Bảng 2-55. Roles..................................................................................................................74
Bảng 2-56. Accounts............................................................................................................75
Bảng 2-57. Posts...................................................................................................................75
Bảng 2-58. Pages..................................................................................................................76

DANH SÁCH CÁC KÝ HIỆU, CHỮ VIẾT TẮT

Từ viết tắt Diễn giải

API Application Programming Interface

UML Unified Modeling Language

MVC Model – View - Controler

11 | P a g e
GIỚI THIỆU

Lý do chọn đề tài
Ngày nay ứng dụng công nghệ thông tin và việc tin học hóa được xem là một
trong những yếu tố mang tính quyết định trong hoạt động của các chính phủ, tổ
chức, cũng như của các công ty, nó đóng vai trò hết sức quan trọng, có thể tọa ra
những bước đột phá mạnh mẽ.
Bằng Internet, chúng ta đã thực hiện được nhiều việc với tốc độ nhanh hơn và
thấp hơn nhiều so với cách thức truyền thống. Chính điều này đã thúc đẩy sự khai
sinh và phát triển của thương mại điện tử, làm biến đổi đáng kể bộ mặt văn hóa,
nâng cao chất lượng cuộc sống con người.
Trong hoạt động kinh doanh, giờ đây, thương mại điện tử đã khẳng định được
vai trò xúc tiến và thúc đẩy sự phát triển của doanh nghiệp. Đối với một cửa hàng
hay shop, việc quảng bá và giới thiệu đến khách hàng các sản phẩm mới, đáp ứng
được nhu cầu của khách hàng là rất cần thiết. Vậy việc xây dựng một website quảng
bá tất cả các sản phẩm của mình bán là điều quan trọng.
Vì vậy, nhóm em đã thực hiện đồ án “ Xây dựng website bán sách tích hợp
Face ID” cho cửa hàng bán sách. Người chủ cửa hàng đưa các sản phẩm đó lên
website của mình và quản lí website đó, khách hàng có thể đặt, mua hàng mà không
cần đến cửa hàng. Chủ cửa hàng sẽ xác nhận và gửi sản phẩm cho khách hàng.
Với sự cố gắng của các thành viên trong nhóm và hướng dẫn tận tình của thầy
Lê Thanh Long nhóm em đã hoàn báo cáo đề tài khóa luận tốt nghiệp.
12 | P a g e
Đối tượng nghiên cứu

Cấu trúc, cú pháp của ngôn ngữ C# và Python. Thực hiện xây dựng và phát
triển ra các sản phẩm phần mềm theo hướng hướng đối AI và đối tượng. Áp dụng
ngôn ngữ C# thực hiện xậy dựng website với đấy đủ các tính năng làm việc trên
laravel framework và thực hiện AI để xác thực yếu tố đăng nhập bằng FaceID cho
website.

Hướng tới đối tượng nghiên cứu là hệ thống bán sách trong cả nước và nhu
cầu khách hàng gồm có đầy đủ Trang chủ, Chi tiết, Đặt vé, Quản lí hệ thống, Quản
lí người dùng, Quản lí thêm, sửa, xóa các danh mục, … đáp ứng các nhu cầu của
người tiêu dùng và theo kịp xu hướng hiện đại hóa ngày nay .

Mục đích của đề tài


- Tìm hiểu quy trình xây dựng một hệ thống website hoàn chỉnh trên cơ sở
phân tích và thiết kế hệ thống hướng đối tượng.
- Tìm hiểu được cách xây dựng một mô hình AI vào hệ thống website.

Nội dung của đề tài


Những công việc cần thực hiện để hoàn thành đề tài bao gồm:
- Tìm hiểu bài toán thực tế.
- Phân tích và thiết kế hệ thống.
- Tìm hiểu công nghệ cần sử dụng.
- Thiết kế cơ sở dữ liệu.
- Xây dựng hệ thống với các chức năng chính.

Phạm vi sử dụng của đề tài


Hệ thống có thể áp dụng được cho khách hàng có nhu cầu mua sách.

13 | P a g e
Bố cục của đề tài
Đồ án được viết thành 3 chương chính, với độ dài khoảng 90 trang, bao gồm:
Chương 1: Cơ sở lý thuyết
Chương 2: Phân tích và thiết kế hệ thống
Chương 3: Triển khai và đánh giá kết quả
Và cuối cùng là kết luận và hướng phát triển để đánh giá kết quả đạt được và
đưa ra giải pháp cho các vấn đề chưa giải quyết được.

14 | P a g e
Chương 1: CƠ SỞ LÝ THUYẾT

1.1Sơ lược về UML


Ngô n ngữ mô hình hó a thố ng nhấ t (tiếng Anh: Unified Modeling Language,
viết tắ t thành UML) là mộ t ngô n ngữ mô hình gồ m cá c ký hiệu đồ họ a mà cá c
phương pháp hướ ng đố i tượ ng sử dụ ng để thiết kế cá c hệ thố ng thô ng tin mộ t
cá ch nhanh chó ng.
Cách xây dựng các mô hình trong UML phù hợp mô tả các hệ thống thông tin
cả về cấu trúc cũng như hoạt động. Cách tiếp cận theo mô hình của UML giúp ích
rất nhiều cho những người thiết kế và thực hiện hệ thống thông tin cũng như những
người sử dụng nó, tạo nên một cái nhìn bao quát và đầy đủ về hệ thống thông tin dự
định xây dựng. Cách nhìn bao quát này giúp nắm bắt trọn vẹn các yêu cầu của
người dùng, phục vụ từ giai đoạn phân tích đến việc thiết kế, thẩm định và kiểm tra
sản phẩm ứng dụng công nghệ thông tin. Các mô hình hướng đối tượng được lập
cũng là cơ sở cho việc ứng dụng các chương trình tự động sinh mã trong các ngôn
ngữ lập trình hướng đối tượng, chẳng hạn như ngôn ngữ C++, Java...Phương pháp
mô hình này rất hữu dụng trong lập trình hướng đối tượng. Các mô hình được sử
dụng bao gồm Mô hình đối tượng (mô hình tĩnh) và mô hình động.
UML sử dụ ng mộ t hệ thố ng ký hiệu thố ng nhất biểu diễn các Phần tử mô
hình (model elements). Tậ p hợ p các phần tử mô hình tạ o thà nh các Sơ đồ UML
(UML diagrams). Có các loạ i sơ đồ UML chủ yếu sau: Sơ đồ lớ p, sơ đồ Use case,
sơ đồ tuần tự , sơ đồ trạ ng thá i, sơ đồ hoạ t độ ng, sơ đồ triển khai…
1.2 Ngôn ngữ lập trình

1.2.1 Ngôn ngữ C#

C# (hay C sharp) là một ngôn ngữ lập trình, được phát triển bởi đội ngũ
kỹ sư của Microsoft vào năm 2000. C# là ngôn ngữ lập trình hiện đại, hướng
đối tượng và được xây dựng trên nền tảng của hai ngôn ngữ mạnh nhất là C+
+ và Java.

Trong các ứng dụng Windows truyền thống, mã nguồn chương trình được
biên dịch trực tiếp thành mã thực thi của hệ điều hành.

15 | P a g e
Trong các ứng dụng sử dụng .NET Framework, mã nguồn chương trình
(C#, VB.NET) được biên dịch thành mã ngôn ngữ trung gian MSIL
(Microsoft intermediate language).

Sau đó mã này được biên dịch bởi Common Language Runtime (CLR) để
trở thành mã thực thi của hệ điều hành. Hình bên dưới thể hiện quá trình
chuyển đổi MSIL code thành native code.

C# với sự hỗ trợ mạnh mẽ của .NET Framework giúp cho việc tạo một
ứng dụng Windows Forms hay WPF (Windows Presentation Foundation),
phát triển game, ứng dụng Web, ứng dụng Mobile trở nên rất dễ dàng.

1.2.2 Ngôn ngữ Python


Python là ngô n ngữ lậ p trình má y tính bậ c cao thườ ng đượ c sử dụ ng để xâ y
dự ng trang web và phầ n mềm, tự độ ng hó a cá c tá c vụ và tiến hành phâ n tích dữ
liệu. Python là ngô n ngữ có mụ c đích chung, nghĩa là nó có thể đượ c sử dụ ng để
tạ o nhiều chương trình khá c nhau và khô ng chuyên biệt cho bấ t kỳ vấn đề cụ
thể nà o.
Python đượ c phá t triển và o cuố i nhữ ng nă m 1980 bở i Guido van Rossum tạ i
Viện Nghiên cứ u Quố c gia về Toá n họ c và Khoa họ c Má y tính ở Hà Lan vớ i tư
cá ch là ngườ i kế thừ a ngô n ngữ ABC có khả năng xử lý và giao tiếp ngoạ i lệ.
Python có nguồ n gố c từ cá c ngô n ngữ lậ p trình như ABC, Modula 3, small
talk, Algol-68.
Và o thá ng 12 nă m 1989, ngườ i sá ng tạ o đã phá t triển trình thô ng dịch
python đầ u tiên như mộ t sở thích, và sau đó và o ngà y 16 thá ng 10 nă m 2000,
Python 2.0 đượ c phá t hà nh vớ i nhiều tính năng mớ i.
Và o ngà y 3 thá ng 12 nă m 2008, Python 3.0 đượ c phá t hành vớ i nhiều thử
nghiệm hơn và bao gồ m cá c tính năng mớ i.
Python thườ ng đượ c sử dụ ng để phá t triển trang web và phầ n mềm, tự độ ng
hó a tá c vụ , phâ n tích dữ liệu và trự c quan hó a dữ liệu.
1.2.3 Ngôn ngữ Javascript

16 | P a g e
Brendan Eich đã phá t triển JavaScript và o nă m 1995 khi đang là m việc cho
Netscape. Netscape đã tìm cá ch phá t triển mộ t ngô n ngữ kịch bả n có thể giú p
là m cho cá c phiên bả n đầ u tiên củ a World Wide Web năng độ ng hơn.
JavaScript (JS) là ngô n ngữ lậ p trình má y tính đượ c sử dụ ng để là m cho cá c
trang web và ứ ng dụ ng trở nên năng độ ng và tương tá c.Nó độ c đá o vì nó có thể
chạ y trự c tiếp trong trình duyệt củ a bạ n, khô ng chỉ trên má y chủ .
JavaScript đượ c sử dụ ng để tạ o cá c trang web độ ng, ứ ng dụ ng web và thiết
bị di độ ng, trò chơi, má y chủ web, cơ sở hạ tầ ng phụ trợ , v.v.
1.3 Framework .NET.
.NET Framework đượ c Microsoft đưa ra chính thứ c từ nă m 2002. .NET
Framework chỉ hoạ t độ ng trên Windows. Nhữ ng nền tả ng ứ ng dụ ng như WPF,
Winforms, ASP.NET(1-4) hoạ t độ ng dự a trên .NET Framework.
Mono là phiên bả n cộ ng đồ ng nhằ m mang .NET đến nhữ ng nền tả ng ngoà i
Windows. Mono đượ c phá t triển chủ yếu nhằ m xâ y dự ng nhữ ng ứ ng dụ ng vớ i
giao diện ngườ i dù ng và đượ c sử dụ ng rấ t rộ ng rã i: Unity Game, Xamarin…

Cho đến nă m 2013, Microsoft định hướ ng đi đa nền tả ng và phá t triển .NET
core. .NET core hiện đượ c sử dụ ng trong cá c ứ ng dụ ng Universal Windows
platform và ASP.NET Core. Từ đâ y, C# có thể đượ c sử dụ ng để phá t triển cá c
loạ i ứ ng dụ ng đa nền tả ng trên cá c hệ điều hà nh khá c nhau (Windows, Linux,
MacOS,…)

17 | P a g e
Hình 1-1. Mô hình MVC
1.4 Mô hình MVC
MVC là viết tắ t củ a Model – View – Controller. Là mộ t kiến trú c phầ n mềm
hay mô hình thiết kế đượ c sử dụ ng trong kỹ thuậ t phầ n mềm. Nó i cho dễ hiểu,
nó là mô hình phâ n bố source code thà nh 3 phầ n như sau:

 Thứ nhất là Controller

Giữ nhiệm vụ nhậ n điều hướ ng cá c yêu cầ u từ ngườ i dù ng và gọ i đú ng


nhữ ng phương thứ c xử lý chú ng… Chẳ ng hạ n thà nh phầ n này sẽ nhậ n request
từ url và form để thao tá c trự c tiếp vớ i Model.

 Thứ hai là Model

Đâ y là thà nh phầ n chứ a tấ t cả cá c nghiệp vụ logic, phương thứ c xử lý, truy


xuấ t database, đố i tượ ng mô tả dữ liệu như cá c Class, hà m xử lý…

 Thứ ba là View

Đả m nhậ n việc hiển thị thô ng tin, tương tá c vớ i ngườ i dù ng, nơi chứ a tấ t cả
cá c đố i tượ ng GUI như textbox, images… Hiểu mộ t cá ch đơn giả n, nó là tậ p hợ p
cá c form hoặ c cá c file HTML.

18 | P a g e
Hình 1-2. Luồng đi trong MVC
Khi có mộ t yêu cầ u từ phía client gử i đến server, Bộ phậ n controller có
nhiệm vụ nhậ n yêu cầ u, xử lý yêu cầ u đó . Và nếu cầ n, nó sẽ gọ i đến phầ n model,
vố n là bộ phầ n là m việc vớ i Database.
Sau khi xử lý xong, toà n bộ kết quả đượ c đẩ y về phầ n View. Tạ i View, sẽ gen
ra mã HTML tạ o nên giao diện, và trả toà n bộ HTML về trình duyệt để hiển thị.
1.5 Microsoft SQL Server Management Studio
SSMS là một ứng dụng phần mềm thiết kế bởi Microsoft, ra mắt lần đầu năm
2005. Ứng dụng này cho phép lập trình viên cấu hình, quản lý và quản trị bộ máy cơ
sở dữ liệu (database engine) SQL Server. SSMS phổ biến và được sử dụng rộng rãi
trong cộng đồng lập trình viên và quản trị viên cơ sở dữ liệu bởi những ưu điểm
 Miễn phí
 Trải nghiệm người dùng tốt
 Nhiều lựa chọn add-in
 Dễ cài đặt

Phiên bản đầu tiên của Microsoft SQL Server được ra đời lần đầu tiên vào năm
1989 cho các hệ điều hành chạy 16 bít với SQL Server phiên bản 1.0 và tiếp tục
phát triển cho đến ngày nay.Kể từ version 6.5, SQL Server của Microsoft mới
được thị trường chấp nhận rộng rãi. Sau đó Microsoft đã cải tiến và viết lại một
engine mới cho SQL Server 7.0. Cho đến phiên bản 8.0 thì những cải tiến chủ yếu
là mở rộng các tính năng về web.

19 | P a g e
Trong đó, Microsoft SQL Server Management Studio là một công cụ trực quan
dùng để quản lý SQL Server. Với SQL Server Management Studio chúng ta có thể
thực hiện được các tương tác với database bằng câu lệnh hoặc trên giao diện người
dùng. SQL Server Management Studio được thiết kế đơn giản và dễ sử dụng nhưng
bạn cũng cần có thời gian nhất định để làm quen với nó.

1.6 Deep leaning


Deep Learning là một lĩnh vực con của Machine Learning. Ở đó các máy tính sẽ
học và cải thiện chính nó thông qua các thuật toán. Deep Learning được xây dựng
dựa trên các khái niệm phức tạp hơn rất nhiều, chủ yếu hoạt động với các mạng nơ-
ron nhân tạo để bắt chước khả năng tư duy và suy nghĩ của bộ não con người.
Thật ra các khái niệm liên quan đến mạng nơ-ron nhân tạo và Deep Learning đã xuất
hiện từ khoảng những năm 1960, tuy nhiên nó lại bị giới hạn bởi khả năng tính toán
và số lượng dữ liệu lúc bấy giờ. Trong những năm gần đây, những tiến bộ trong
phân tích dữ liệu lớn (Big Data) đã cho phép ta tận dụng được tối đa khả năng của
mạng nơ-ron nhân tạo.
Mạng nơ-ron nhân tạo chính là động lực chính để phát triển Deep Learning.
Các mạng nơ-ron sâu bao gồm nhiều lớp nơ-ron khác nhau, có khả năng thực hiện
các tính toán có độ phức tạp rất cao. Deep Learning hiện đang phát triển rất nhanh
và được xem là một trong những bước đột phá lớn nhất trong Machine Learning.
1.7 Môi trường lập trình
Công cụ lập trình Visual Studio.
Visual studio là một phần mềm hỗ trợ đắc lực hỗ trợ công việc lập trình website.
Công cụ này được tạo lên và thuộc quyền sở hữu của ông lớn công nghệ Microsoft.
Năm 1997, phần mềm lập trình nay có tên mã Project Boston. Nhưng sau đó,
Microsoft đã kết hợp các công cụ phát triển, đóng gói thành sản phẩm duy nhất. 

Các tính năng hữu ích của Visual Studio:


- Đa nền tảng.
- Đa ngôn ngữ lập trình.
- Kho tiện ích mở rộng phong phú.
- Hỗ trợ website.
- Lưu trữ phân cấp và an toàn.

20 | P a g e
- Hỗ trợ Git.
Công cụ lập trình Visual Studio Code
Visual Studio Code là một trình soạn thảo mã nguồn được phát triển bởi
Microsoft dành cho Windows, Linux và macOS. Nó hỗ trợ chức năng debug, đi
kèm với Git, có chức năng nổi bật cú pháp (syntax highlighting), tự hoàn thành mã
thông minh, snippets, và cải tiến mã nguồn.
Visual Studio Code được công bố, ra mắt phiên bản thử nghiệm vào ngày 29
tháng 4 năm 2015 bởi Microsoft tại hội nghị Build 2015. Vào ngày 18 tháng 11 năm
2015, Visual Studio Code được phát hành dưới giấy phép MIT và mã nguồn của nó
được đưa lên GitHub. Chức năng Extesion (tiện ích mở rộng) cũng được công bố.
Vào ngày 14 tháng 4 năm 2016 Visual Studio Code hoàn tất thử nghiệm và được
phát hành chính thức.

Các tính năng hữu ích của Visual Studio code:


- Đa nền tảng
- Đa ngôn ngữ
- Ít dung lượng
- Tính năng mạnh mẽ
- Giao diện thân thiện
- Số lượng người sử dụng lớn
1.8Thư viện
Tensorflow
TensorFlow chính là thư viện mã nguồn mở cho machine learning nổi tiếng nhất
thế giới, được phát triển bởi các nhà nghiên cứu từ Google. Việc hỗ trợ mạnh mẽ
các phép toán học để tính toán trong machine learning và deep learning đã giúp việc
tiếp cận các bài toán trở nên đơn giản, nhanh chóng và tiện lợi hơn nhiều.
A.Kiến trúc của tensorflow
Kiến trúc TensorFlow hoạt động được chia thành 3 phần:
– Tiền xử lý dữ liệu
– Dựng model
21 | P a g e
– Train và ước tính model

B.Cách hoạt động


TensorFlow cho phép các lập trình viên tạo ra dataflow graph, cấu trúc mô tả làm
thế nào dữ liệu có thể di chuyển qua 1 biểu đồ, hay 1 sê-ri các node đang xử lý. Mỗi
node trong đồ thị đại diện 1 operation toán học, và mỗi kết nối hay edge giữa các
node là 1 mảng dữ liệu đa chiều, hay còn được gọi là ‘tensor’.
TensorFlow cung cấp tất cả những điều này cho lập trình viên theo phương thức của
ngôn ngữ Python. Vì Python khá dễ học và làm việc, ngoài ra còn cung cấp nhiều
cách tiện lợi để ta hiểu được làm thế nào các high-level abstractions có thể kết hợp
cùng nhau. Node và tensor trong TensorFlow là các đối tượng Python, và các ứng
dụng TensorFlow bản thân chúng cũng là các ứng dụng Python.
Các operation toán học thực sự thì không được thi hành bằng Python. Các thư viện
biến đổi có sẵn thông qua TensorFlow được viết bằng các binary C++ hiệu suất cao.
Python chỉ điều hướng lưu lượng giữa các phần và cung cấp các high-level
abstraction lập trình để nối chúng lại với nhau.
TensorFlow 2.0, được ra mắt vào tháng 10 năm 2019, cải tiến framework theo nhiều
cách dựa trên phản hồi của người dùng, để dễ dàng và hiệu quả hơn khi làm việc
cùng nó (ví dụ: bằng cách sử dụng các Keras API liên quan đơn giản cho việc train
model). Train phân tán dễ chạy hơn nhờ vào API mới và sự hỗ trợ cho TensorFlow
Lite cho phép triển khai các mô hình trên khá nhiều nền tảng khác nhau. Tuy nhiên,
nếu đã viết code trên các phiên bản trước đó của TensorFlow thì bạn phải viết lại,
đôi lúc 1 ít, đôi lúc cũng khá đáng kể, để tận dụng tối đa các tính năng mới của
TensorFlow 2.0.
C.Lợi ích
Lợi ích dễ thấy nhưng quan trọng nhất mà TensorFlow cung cấp cho việc lập trình
machine learning chính là abstraction. Thay vì phải đối phó với những tình huống
rườm rà từ việc thực hiện triển khai các thuật toán, hay tìm ra cách hợp lý để
chuyển output của 1 chức năng sang input của 1 chức năng khác, giờ đây bạn có thể
tập trung vào phần logic tổng thể của 1 ứng dụng hơn. TensorFlow sẽ chăm sóc
phần còn lại thay cho bạn.

22 | P a g e
Ngoài ra TensorFlow còn ung cấp các tiện ích bổ sung cho các lập trình viên cần
debug cũng như giúp bạn tự suy xét các ứng dụng TensorFlow. Chế độ eager
execution cho phép bạn đánh giá và sửa đổi từng operation của biểu đồ 1 cách riêng
biệt và minh bạch, thay vì phải dựng toàn bộ biểu đồ dưới dạng 1 đối tượng độc lập
vốn khá mơ hồ hay phải đánh giá chung tổng thể. Cuối cùng, 1 tính năng khá độc
đáo của TensorFlow là TensorBoard. TensorBoard cho phép bạn quan sát 1 cách
trực quan những gì TensorFlow đang làm.
TensorFlow còn có nhiều cải tiến từ sự hậu thuẫn từ các ekíp thương mại hạng A tại
Google. Google không những tiếp lửa cho tiến độ nhanh chóng cho sự phát triển
đằng sau dự án, mà còn tạo ra nhiều phục vụ độc đáo xung quanh TensorFlow để nó
dễ dàng deploy và sử dụng: như silicon TPU mình đã nói ở trên để tăng tốc hiệu
suất đám mây Google, 1 online hub cho việc chia sẻ các model được tạo với
framework, sự hiện diện của in-browser và gần gũi với mobile của framework, và
nhiều hơn thế nữa…
Keras
Keras là một thư viện mạng nơ ron được viết bằng python năm 2015 bởi 1 kỹ sư
deep learning của google. Ta có thể kết hợp keras với các thư viện deep learning.
Ưu điểm nổi bật của keras so với các thư viện deep learning khác có lẽ là cú pháp
dễ sử dụng và trực quan của nó. Ngoài ra nó còn có thể chạy trên cả CPU và GPU.
Keras được coi là một thư viện ‘high-level’ với phần ‘low-level’ (còn được gọi
là backend) có thể là TensorFlow, CNTK, hoặc Theano. Keras có cú pháp đơn giản
hơn TensorFlow rất nhiều. Với mục đích giới thiệu về các mô hình nhiều hơn là các
sử dụng các thư viện deep learning, tôi sẽ chọn Keras với TensorFlow là ‘backend’.
Những lý do nên sử dụng Keras để bắt đầu:
- Keras ưu tiên trải nghiệm của người lập trình.
- Keras đã được sử dụng rộng rãi trong doanh nghiệp và cộng đồng nghiên cứu.
- Keras giúp dễ dàng biến các thiết kế thành sản phẩm.
- Keras hỗ trợ huấn luyện trên nhiều GPU phân tán.
- Keras hỗ trợ đa backend engines và không giới hạn bạn vào một hệ sinh thái.
Numpy

23 | P a g e
Numpy là một thư viện lõi phục vụ cho khoa học máy tính của Python, hỗ trợ cho
việc tính toán các mảng nhiều chiều, có kích thước lớn với các hàm đã được tối ưu
áp dụng lên các mảng nhiều chiều đó. Numpy đặc biệt hữu ích khi thực hiện các
hàm liên quan tới Đại Số Tuyến Tính.
OpenCV
OpenCV được bắt đầu từ Intel năm 1999 bởi Gary Bradsky. OpenCV viết tắt cho
Open Source Computer Vision Library. OpenCV là thư viện nguồn mở hàng đầu
cho Computer Vision và Machine Learning, và hiện có thêm tính năng tăng tốc
GPU cho các hoạt động theo real-time.
A.ứng dụng OpenCV
- Nhận dạng khuôn mặt.
- Kiểm tra và giám sát tự động.
- Số lượng người - đếm (lưu lượng truy cập chân trong trung tâm mua sắm, v.v.).
- Đếm xe trên đường cao tốc cùng với tốc độ của chúng.
- Nghệ thuật sắp đặt tương tác.
- Phát hiện bất thường (lỗi) trong quá trình sản xuất (các sản phẩm lỗi lẻ).
- Ghép hình ảnh ở chế độ xem phố.
- Tìm kiếm và truy xuất video/hình ảnh.
- Điều hướng và điều khiển xe không người lái và rô-bốt.
- Nhận dạng đối tượng.
- Phân tích hình ảnh y tế.
- Phim – Cấu trúc 3D từ chuyển động.
- Công nhận quảng cáo kênh truyền hình.
B.Chức năng OpenCV
- Hình ảnh/video I/O, xử lý, hiển thị (core, imgproc, highgui).
- Phát hiện đối tượng/tính năng (objdetect, features2d, nonfree).
- Thị giác máy tính bằng một mắt hoặc âm thanh nổi dựa trên hình học (calib3d,
stitching, videostab).

24 | P a g e
- Nhiếp ảnh điện toán (ảnh, video, superres).
- Học máy & phân cụm (ml, flann).
Pyodbc
Pyodbc là một mô-đun Python mã nguồn mở giúp việc truy cập cơ sở dữ liệu
ODBC trở nên đơn giản. Nó triển khai đặc tả DB API 2.0 nhưng được đóng gói với
nhiều tiện ích Pythonic hơn.

25 | P a g e
Chương 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG

2.1.Khảo sát thực tế bài toán


Khảo sát một số cửa hàng sách hiện nay
 Từ hệ thống bán lẻ:
Một khách hàng khi mua sách người bán sẽ cung cấp các thông tin và tư
vấn cho khách hàng về sản phẩm. Khi khách hang đồng ý mua sản phẩm thì
người bán sẽ ghi hóa đơn mua hàng. Và hình thức thanh toán là trả tiền mặt.
Đồng thời họ ghi lai thông tin giao dịch để tiện cho việc thống kê.
Sau mỗi ngày người bán thống kê lượng hàng nhập vào và bán ra, hàng
bán chạy, hàng kém… Sau hàng tháng thống kê lại một lượt về doanh thu,
loại hàng bán chạy, hàng tồn… để đưa ra chiến lược bán hàng mới. Và tổng
kết lại vào cuối năm.
 Nhược điểm của các cửa hàng:
Người bán thực hiện công việc hoàn toàn thủ công khó khăn trong việc
quản lý và thống kê công việc kinh doanh của cửa hàng. Người mua phải đến
mua tại cửa hàng thì mới mua được sản phẩm. Nghĩa là nếu cửa hàng đặt ở
Hà Nội có một khách hàng ở TP Hồ Chí Minh muốn mua hàng thì phải ra Hà
Nội mới mua được. Như vậy rất tốn thời gian và chi phí cho việc đi lại.
 Từ khách hàng:
Những vấn đề khách hàng quan tâm:
- Nội dung
- Giá cả phù hợp
- Dễ dàng mua
- Hình thức thanh toán dễ dàng
- Tác giả
- Tính thẩm mĩ của sản phẩm
- Nhà xuất bản
- Năm sản xuất
- …

26 | P a g e
 Từ người bán hàng
- Quản lý dễ dàng công việc kinh doanh
- Bán được nhiều hàng
- Đáp ứng được nhu cầu của khách hàng
- …

Khảo sát bằng phương pháp quan sát và phỏng vấn


Bằng cách quan sát bằng giác quan của mình để có thể tìm hiểu và phân
tích về đối tượng quan sát. Từ đó thu thập thông tin từ các cửa hàng bán sách.
Sau khi khảo sát bằng phương pháp quan sát và phỏng vấn, tôi thu thập
được kết quả như sau:
Việc bán sách theo cách thủ công cũng có lợi ích riêng tuy nhiên bên cạnh
đó cũng gặp phải một số khó khăn cần khắc phục như:
- Tiếp cận được ít khách hàng ( Cụ thể khách ở xa có nhu cầu muốn
mua sách ).
- Cần nhiều thời gian để thống kê số lượng sách cũng như xử lý các
công việc liên quan đến số lượng sản phẩm.
Để khắc phục những khó khăn trên chúng ta cần áp dụng CNTT vào hệ
thống . Một hệ thống bán sách online sẽ giúp cho các hiệu sách giải quyết
được khó khăn và đáp ứng được nhu cầu của người dùng như: Tự đặt sách,
xem lịch sử đặt hàng của mình, quản lý cửa hàng sách tốt hơn, tiếp cận được
nhiều khách hàng…
2.1.1. Mục tiêu của hệ thống
Nghiên cứu bài toán các website bán sách nói chung để thiết kế và lập trình
phần mềm nhằm hỗ trợ công tác bán sách online.
Dự kiến hệ thống bán sách online đạt được các mục tiêu chính sau:
Đối với người dùng:
- Đăng kí, đăng nhập tài khoản bằng Face ID
- Xem danh sách sách đang bán
- Xem chi tiết sách
27 | P a g e
- Chọn và đặt sách
- Thêm sách vào giỏ hàng
- Thanh toán khi nhận hàng
Đối với quản trị viên:
- Xem thống kê số lượng sách bán ra
- Quản lý các user đăng ký
- Quản lý số lượng sách
2.1.2. Lợi ích vủa việc xây dựng hệ thống
Hệ thống bán sách online là một trong những công việc vô cùng quan trọng góp
phần quyết định sự thành công của một cửa hàng sách hiện nay, do nhu cầu thực
tiễn như vậy tôi đã quyết định nghiên cứu và xây dựng hệ thống để hỗ trợ cho việc
bán sách gồm:
- Quản lý sản phẩm.
- Đặt sách online cho người dùng.
Hệ thống bán sách online sẽ hỗ trợ quản trị viên trong công tác điều hành cửa
hàng sách, chịu trách nhiệm đưa ra các thống kê, báo cáo định kỳ cũng như giúp
người dùng đặt sách mà không cần phải ra cửa hàng sách để chọn.
2.1.3. Mô tả ý tưởng hệ thống
Với các mục tiêu đặt ra “Xây dựng website bán sách tích hợp FaceID” sẽ
cung cấp đầy đủ các chức năng một cách trực quan, chính xác và đầy đủ. Đối tượng
có thể sử dụng đó là tất cả người dùng trên toàn quốc.
Hỗ trợ người dùng: Mỗi người dùng sẽ đăng ký tài khoản để xem danh sách sản
phẩm, FaceID sẽ giúp khách hàng đăng nhập thuận tiện , chọn bộ sách yêu thích để
đặt và xem được chi tiết của sách. Ngoài ra, giao diện ứng dụng phải thân thiện,
trang nhã, dễ sử dụng.
Hỗ trợ cho quản trị viên: Để tăng tính bảo mật thì quản trị viên sẽ có tài khoản
riêng để thực hiện tất cả các chức năng của quản lý, quản lí được lượng sách bán ra,
số lượng sách được các user truy cập,…Bên cạnh đó cũng có thể thao tác với cơ sở
dữ liệu thông qua giao diện hệ thống để tạo ra các dữ liệu mới.
Xem được thông tin cá nhân của mọi khách hàng. Bên cạnh đó ứng dụng cũng
cấp phép quyền cho quản trị viên có thể thêm mới, sửa, xóa nội dung.

28 | P a g e
2.2. Các tác nhân của hệ thống
Phát biểu bài toán
Khi sử dụng hệ thống người dùng có thể xem được danh sách các sản phẩm
đang được bày bán, các bình luận và đánh giá sách. Nếu người dùng có thắc mắc
hoặc câu hỏi nào thì có thể sử dụng chức năng hỗ trợ khách hàng để chat trực tiếp
với Admin để nhận được câu trả lời nhanh nhất. Nếu người dùng muốn đặt sách thì
có thể đăng ký 1 tài khoản và đăng nhập bằng Face ID để chọn sách phù hợp và tiến
hành thanh toán. Khi có Face ID khách hàng không cần phải nhập tài khoản thủ
công để đăng nhập mà có thể trực tiếp quét khuôn mặt thông qua hệ thống Face ID
đã tích hợp. Khi đặt sách thành công khách hàng sẽ nhận được một thông báo trên
web cung cấp thông tin về sách đã đặt.
Đối với quản trị viên cũng sẽ được cấp một tài khoản cá nhân và có hầu hết
toàn quyền truy cập. Quản trị viên sẽ cấp quyền hạn cho thành viên thông qua việc
xác thực đăng ký thành viên. Lúc này quản trị viên sẽ được quyền quản lý tất cả các
chức năng. Nếu trong quá trình sử dụng hệ thống, thành viên nào vi phạm các quy
định thì thành viên đó sẽ bị xử lý theo đúng quy định mà hệ thống đã đặt ra.
Các tác nhân của hệ thống
Hệ thống có 3 tác nhân chính: khách xem, quản trị viên và thành viên. Hoạt
động của từng tác nhân bao gồm:
Khách xem
- Tìm kiếm, xem thông tin sách, bình luận, đánh giá
- Đăng kí thành viên
- Hỗ trợ trực tuyến
Thành viên
- Đăng nhập bằng Face ID và thoát khỏi hệ thống
- Đặt sách
- Xem lịch sử đặt hàng
- Đánh giá sách đã mua
- Bình luận
- Quản lý thông tin cá nhân của mình
- Ngoài ra thành viên còn có tất cả các chức năng của khách xem
Quản trị viên

29 | P a g e
- Quản lý các user đăng nhập / đăng ký: xem, sửa, xoá, phân quyền cho
user
- Quản lý sản phẩm: xem, thêm, sửa, xoá
- Quản lý hệ thống phòng có trong rạp: xem, thêm, sửa, xoá phòng
- Quản lý sơ đồ ghế, số lượng ghế đã đặt, ghế trống: xem, thêm, sửa, xoá
ghế
- Quản lý vé: xem, thêm vé
- Quản lý tin tức: xem, thêm, sửa, xóa tin tức
- Quản lý combo (đây thuộc chức năng khuyến mãi):xem, sửa, xóa, thêm
combo
- Quản lý phim đang chiếu, sắp chiếu: xem, thêm, sửa, xoá phim
- Quản lý đánh giá: xem đánh giá, xóa đánh giá
- Quản lý slide: thêm, xem, sửa, xóa slide
- Hỗ trợ trực tuyến
- Ngoài ra người quản lý cũng sẽ có bao gồm đầy đủ chức năng của thành
viên.

30 | P a g e
2.3. Biểu đồ usecase
2.3.1. Biểu đồ usecase tổng quát

Hình 2-3. Biểu đồ use case tổng quát

31 | P a g e
2.3.2. Biểu đồ usecase của Quản trị viên

2.3.2.1. Biểu đồ usecase quản lý sản phẩm

Hình 2-4. Biểu đồ usecase quản lý sản phẩm của Admin

Tên chức năng Xem danh sách sản phẩm

Tác nhân Quản trị viên

Kích hoạt Truy cập chức năng “Quản lý sản phẩm” sau khi đăng nhập

Điều kiện trước Đăng nhập hệ thống bằng tài khoản Admin, nhân viên.

Hệ thống sẽ hiển thị danh sách sản phẩm đang có trong hệ


Mô tả xử lý
thống

Điều kiện sau Danh sách sản phẩm sẽ được hiển thị

32 | P a g e
Tác nhân Hệ thống
Kịch bản
Hiển thị màn hình danh sách
Chọn Quản lý sản phẩm
sản phẩm đang có
Bảng 2-1. Đặc tả usecase xem danh sách sản phẩm

Tên chức năng Thêm mới sản phẩm

Tác nhân Quản trị viên

Kích hoạt Truy cập “Thêm mới” trong mục “Quản lý sản phẩm”

Điều kiện trước Đăng nhập hệ thống bằng tài khoản Admin, nhân viên

Mô tả xử lý Hệ thống sẽ chuyển đến trang Thêm mới và nút Thêm mới

Điều kiện sau Những thêm mới sẽ hiển thị ở danh sách sản phẩm

Xử lý ngoại lệ Nếu người dùng không yêu cầu gì thêm có thể quay trở lại
trang quản lý sản phẩm
Tác nhân Hệ thống

Chọn Quản lý sản phẩm,


Chuyển đến trang thêm mới
Thêm mới
Nhập thông tin sản phẩm
Kịch bản Truy vấn cơ sở dữ liệu.
- Nếu hợp lệ sẽ lưu thông
tin sản phẩm vào cơ sở dữ
Click vào nút Thêm mới
liệu
- Ngược lại, yêu cầu nhập
lại thông tin
Bảng 2-2. Đặc tả usecase thêm mới sản phẩm

Tên chức năng Chỉnh sửa thông tin phim

Tác nhân Quản trị viên

Kích hoạt Truy cập “Sửa” trong mục “Quản lý sản phẩm”

33 | P a g e
Điều kiện trước Đăng nhập hệ thống bằng tài khoản admin

Hệ thống sẽ chuyển đến trang chỉnh sửa sản phẩm và nút


Mô tả xử lý
Cập nhật

Điều kiện sau Những thay đổi sẽ được thực hiện

Xử lý ngoại lệ Nếu người dùng không yêu cầu gì thêm có thể quay trở lại
trang quản lý sản phẩm
Tác nhân Hệ thống

Chuyển đến trang Sửa sản phẩm,


Chọn Quản lý sản phẩm, các thông tin sản phẩm sẽ được
Edit đưa vào các trường thông tin
tương ứng trên form
Kịch bản Nhập thông tin muốn sửa
Truy vấn cơ sở dữ liệu.
- Nếu hợp lệ, lưu thông tin
sản phẩm vào cơ sở dữ
Click vào nút Cập nhật
liệu
- Ngược lại, yêu cầu nhập
lại thông tin
Bảng 2-3. Đặc tả usecase sửa thông tin sản phẩm

Tên chức năng Xóa sản phẩm

Tác nhân Quản trị viên

Kích hoạt Truy cập “Xóa” trong mục “Quản lý sản phẩm”

Điều kiện trước Đăng nhập hệ thống bằng tài khoản admin

Mô tả xử lý Hệ thống sẽ hiển thị thông báo xác nhận xóa và nút OK

Điều kiện sau Những thay đổi sẽ được thực hiện

Xử lý ngoại lệ Nếu người dùng không yêu cầu gì thêm có thể quay trở lại
trang quản lý sản phẩm
Kịch bản Tác nhân Hệ thống

34 | P a g e
Chọn Quản lý sản phẩm, Hiển thị thông báo xác nhận có
Xóa muốn xóa hay không

Click nút Ok Xóa sản phẩm khỏi cơ sở dữ liệu

Bảng 2-4. Đặc tả usecase xoá sản phẩm

Tên chức năng Lọc sản phẩm theo danh mục và tác giả

Tác nhân Quản trị viên

Truy cập “Chọn danh mục, tác giả” trong mục “Quản lý sản
Kích hoạt
phẩm”

Điều kiện trước Đăng nhập hệ thống bằng tài khoản Admin, nhân viên

Mô tả xử lý Hệ thống sẽ lọc ra những sản phẩm được chọn

Những sản phẩm liên quan đến danh mục, tác giả sẽ hiển thị
Điều kiện sau
ở danh sách sản phẩm

Xử lý ngoại lệ Nếu người dùng không yêu cầu gì thêm có thể quay trở lại
trang quản lý sản phẩm
Tác nhận Hệ thống

Chọn Quản lý sản phẩm, Hiển thị cột có danh mục, tên tác
Lọc danh mục, tác giả giả
Chọn tên danh mục, tác
giả
Kịch bản Truy vấn cơ sở dữ liệu.
- Nếu hợp lệ sẽ hiện thông
tin sản phẩm ứng với
Click vào nút Danh mục,
danh mục, tên tác giả đã
tác giả
chọn.
- Ngược lại, yêu cầu chọn
lại thông tin
Bảng 2-5. Đặc tả usecase lọc theo danh mục và tác giả

35 | P a g e
Tên chức năng Tìm kiếm sản phẩm

Tác nhân Quản trị viên

Kích hoạt Truy cập “tìm kiếm” trong mục “Quản lý sản phẩm”

Điều kiện trước Đăng nhập hệ thống bằng tài khoản Admin, nhân viên

Mô tả xử lý Hệ thống sẽ tìm kiếm sản phẩm theo từ khóa

Những sản phẩm liên quan đến từ khóa tìm kiếm sẽ hiện thị
Điều kiện sau
ở danh sách sản phẩm

Xử lý ngoại lệ Nếu người dùng không yêu cầu gì thêm có thể quay trở lại
trang quản lý sản phẩm
Tác nhận Hệ thống

Chọn Quản lý sản phẩm, Hiển thị cột có sản phẩm dựa
Tìm kiếm trên từ khóa tìm kiếm
Chọn tên danh mục, tác
giả
Kịch bản
Truy vấn cơ sở dữ liệu.
- Nếu hợp lệ sẽ hiện sản
phẩm tương ứng với từ
Click vào ô tìm kiếm
khóa tìm kiếm.
- Ngược lại, yêu cầu chọn
lại thông tin
Bảng 2-6. Đặc tả usecase tìm kiếm sản phẩm

36 | P a g e
2.3.2.2. Biểu đồ usecase quản lý tin tức

Hình 2-5. Biểu đồ usecase quản lý tin tức

Tên chức năng Xem danh sách tin tức

Tác nhân Quản trị viên

Kích hoạt Truy cập chức năng “Quản lý tin tức” sau khi đăng nhập

Điều kiện trước Đăng nhập hệ thống bằng tài khoản Admin, nhân viên

Hệ thống sẽ hiển thị danh sách tin tức đang có trong hệ


Mô tả xử lý
thống

37 | P a g e
Điều kiện sau Danh sách tin tức sẽ được hiển thị

Tác nhân Hệ thống


Kịch bản
Hiển thị màn hình danh sách tin
Chọn Quản lý tin tức
tức đang có
Bảng 2-7. Đặc tả usecase xem danh sách tin tức

Tên chức năng Thêm mới

Tác nhân Quản trị viên

Kích hoạt Truy cập “Thêm mới” trong mục “Quản lý tin tức”

Điều kiện trước Đăng nhập hệ thống bằng tài khoản Admin, nhân viên

Mô tả xử lý Hệ thống sẽ chuyển đến trang Thêm tin tức và nút Thêm mới

Điều kiện sau Những thêm mới sẽ hiển thị ở danh sách tin tức

Xử lý ngoại lệ Nếu người dùng không yêu cầu gì thêm có thể quay trở lại
trang quản lý tin tức
Tác nhân Hệ thống

Chọn Quản lý tin tức,


Chuyển đến trang thêm tin tức
Thêm mới
Nhập thông tin tin tức
Kịch bản Truy vấn cơ sở dữ liệu.
- Nếu hợp lệ sẽ lưu thông
tin tin tức vào cơ sở dữ
Click vào nút Thêm mới
liệu
- Ngược lại, yêu cầu nhập
lại thông tin
Bảng 2-8. Đặc tả usecase thêm mới tin tức

Tên chức năng Sửa tin tức

Tác nhân Quản trị viên

38 | P a g e
Kích hoạt Truy cập “Sửa” trong mục “Quản lý tin tức”

Điều kiện trước Đăng nhập hệ thống bằng tài khoản admin, nhân viên

Hệ thống sẽ chuyển đến trang chỉnh sửa tin tức và nút Cập
Mô tả xử lý
nhật

Điều kiện sau Những thay đổi sẽ được thực hiện

Xử lý ngoại lệ Nếu người dùng không yêu cầu gì thêm có thể quay trở lại
trang quản lý tin tức
Tác nhân Hệ thống

Chuyển đến trang Sửa tin tức,


Chọn Quản lý tin tức, các thông tin tin tức sẽ được đưa
Edit vào các trường thông tin tương
ứng trên form
Kịch bản Nhập thông tin muốn
sửa
Truy vấn cơ sở dữ liệu.
- Nếu hợp lệ, lưu thông tin
Click vào nút Cập
tin tức vào cơ sở dữ liệu
nhật
- Ngược lại, yêu cầu nhập
lại thông tin
Bảng 2-9. Đặc tả usecase chỉnh sửa tin tức

Tên chức năng Xóa tin tức

Tác nhân Quản trị viên

Kích hoạt Truy cập “Xóa” trong mục “Quản lý tin tức”

Điều kiện trước Đăng nhập hệ thống bằng tài khoản admin, nhân viên

Mô tả xử lý Hệ thống sẽ hiển thị thông báo xác nhận xóa và nút OK

Điều kiện sau Những thay đổi sẽ được thực hiện

Xử lý ngoại lệ Nếu người dùng không yêu cầu gì thêm có thể quay trở lại
trang quản lý tin tức

39 | P a g e
Tác nhân Hệ thống

Kịch bản Chọn Quản lý tin tức, Hiển thị thông báo xác nhận có
Xóa muốn xóa hay không

Click nút Ok Xóa tin tức khỏi cơ sở dữ liệu

Bảng 2-10. Đặc tả usecase xoá tin tức

2.3.2.3. Biểu đồ usecase quản lý đơn hàng

Hình 2-6. Biểu đồ usecase quản lý đơn hàng

Tên chức năng Xem danh sách đơn hàng

Tác nhân Quản trị viên

Kích hoạt Truy cập chức năng “Quản lý đơn hàng” sau khi đăng nhập

Điều kiện trước Đăng nhập hệ thống bằng tài khoản Admin, nhân viên

Hệ thống sẽ hiển thị danh sách đơn hàng đang có trong hệ


Mô tả xử lý
thống

Điều kiện sau Danh sách đơn hàng sẽ được hiển thị

40 | P a g e
Tác nhân Hệ thống
Kịch bản
Hiển thị màn hình danh sách đơn
Chọn Quản lý đơn hàng
hàng đang có
Bảng 2-11. Đặc tả usecase xem danh sách đơn hàng

Tên chức năng Thêm đơn hàng

Tác nhân Quản trị viên

Kích hoạt Truy cập “Thêm mới” trong mục “Quản lý đơn hàng”

Điều kiện trước Đăng nhập hệ thống bằng tài khoản Admin, nhân viên

Hệ thống sẽ chuyển đến trang Thêm đơn hàng và nút Thêm


Mô tả xử lý
mới

Điều kiện sau Những thêm mới sẽ hiển thị ở danh sách đơn hàng

Xử lý ngoại lệ Nếu người dùng không yêu cầu gì thêm có thể quay trở lại
trang quản lý đơn hàng
Tác nhân Hệ thống

Chọn Quản lý đơn hàng, Chuyển đến trang thêm đơn


Thêm mới hàng
Nhập thông tin đơn hàng
Kịch bản Truy vấn cơ sở dữ liệu.
- Nếu hợp lệ sẽ lưu thông
tin đơn hàng vào cơ sở dữ
Click vào nút Thêm mới
liệu
- Ngược lại, yêu cầu nhập
lại thông tin
Bảng 2-12. Đặc tả usecase thêm mới đơn hàng

Tên chức năng Sửa thông tin đơn hàng

Tác nhân Quản trị viên

41 | P a g e
Kích hoạt Truy cập “Sửa” trong mục “Quản lý đơn hàng”

Điều kiện trước Đăng nhập hệ thống bằng tài khoản admin

Hệ thống sẽ chuyển đến trang chỉnh sửa đơn hàng và nút


Mô tả xử lý
Cập nhật.

Điều kiện sau Những thay đổi sẽ được thực hiện

Xử lý ngoại lệ Nếu người dùng không yêu cầu gì thêm có thể quay trở lại
trang quản lý đơn hàng
Tác nhân Hệ thống

Chuyển đến trang Sửa đơn hàng,


Chọn Quản lý đơn các thông tin đơn hàng sẽ được
hàng, Edit đưa vào các trường thông tin
tương ứng trên form
Nhập thông tin đơn
Kịch bản
hàng muốn sửa
Truy vấn cơ sở dữ liệu.
- Nếu hợp lệ, lưu thông tin
Click vào nút Cập đơn hàng vào cơ sở dữ
nhật liệu
- Ngược lại, yêu cầu nhập
lại thông tin
Bảng 2-13. Đặc tả usecase chỉnh sửa đơn hàng

Tên chức năng Xóa thông tin đơn hàng

Tác nhân Quản trị viên

Kích hoạt Truy cập “Xóa” trong mục “Quản lý đơn hàng”

Điều kiện trước Đăng nhập hệ thống bằng tài khoản admin, nhân viên

Mô tả xử lý Hệ thống sẽ hiển thị thông báo xác nhận xóa và nút OK

Điều kiện sau Những thay đổi sẽ được thực hiện

Xử lý ngoại lệ Nếu người dùng không yêu cầu gì thêm có thể quay trở lại
trang quản lý đơn hàng

42 | P a g e
Tác nhân Hệ thống

Kịch bản Chọn Quản lý đơn Hiển thị thông báo xác nhận có
hàng, Xóa muốn xóa hay không

Click nút Ok Xóa đơn hàng khỏi cơ sở dữ liệu

Bảng 2-14. Đặc tả usecase xoá đơn hàng

2.3.2.4. Biểu đồ usecase quản lý khách hàng

Hình 2-7. Biểu đồ usecase quản lý khách hàng

Tên chức năng Xem danh sách khánh hàng

Tác nhân Quản trị viên

Truy cập chức năng “Quản lý khách hàng” sau khi đăng
Kích hoạt
nhập

Điều kiện trước Đăng nhập hệ thống bằng tài khoản Admin, nhân viên

43 | P a g e
Hệ thống sẽ hiển thị danh sách khách hàng đang có trong
Mô tả xử lý
hệ thống

Điều kiện sau Danh sách khách hàng sẽ được hiển thị

Tác nhân Hệ thống


Kịch bản
Chọn Quản lý khách Hiển thị màn hình danh sách
hàng khách hàng đang có
Bảng 2-15. Đặc tả usecase xem danh khách hàng

Tên chức năng Sửa thông tin khách hàng

Tác nhân Quản trị viên

Kích hoạt Truy cập “Sửa” trong mục “Quản lý khách hàng”

Điều kiện trước Đăng nhập hệ thống bằng tài khoản admin, nhân viên

Hệ thống sẽ chuyển đến trang chỉnh sửa khách hàng và nút


Mô tả xử lý
Cập nhật

Điều kiện sau Những thay đổi sẽ được thực hiện

Xử lý ngoại lệ Nếu người dùng không yêu cầu gì thêm có thể quay trở lại
trang quản lý khách hàng
Tác nhân Hệ thống

Chuyển đến trang Chỉnh sửa


Chọn Quản lý khách khách hàng, các thông tin khách
hàng, Sửa hàng sẽ được đưa vào các trường
thông tin tương ứng trên form
Nhập thông tin muốn
Kịch bản
sửa
Truy vấn cơ sở dữ liệu.
- Nếu hợp lệ, lưu thông tin
Click vào nút Cập khách hàng vào cơ sở dữ
nhật liệu
- Ngược lại, yêu cầu nhập
lại thông tin
Bảng 2-16. Đặc tả usecase chỉnh sửa khách hàng
44 | P a g e
Tên chức năng Xóa khách hàng

Tác nhân Quản trị viên

Kích hoạt Truy cập “Xóa” trong mục “Quản lý khách hàng”

Điều kiện trước Đăng nhập hệ thống bằng tài khoản admin, nhân viên

Mô tả xử lý Hệ thống sẽ hiển thị thông báo xác nhận xóa và nút OK

Điều kiện sau Những thay đổi sẽ được thực hiện

Xử lý ngoại lệ Nếu người dùng không yêu cầu gì thêm có thể quay trở lại
trang quản lý khách hàng
Tác nhân Hệ thống

Chọn Quản lý khách Hiển thị thông báo xác nhận có


Kịch bản
hàng, Xóa muốn xóa hay không

Xóa khách hàng khỏi cơ sở dữ


Click nút Ok
liệu
Bảng 2-17. Đặc tả usecase xoá khách hàng

45 | P a g e
2.3.2.5. Biểu đồ usecase quản lý doanh thu

Hình 2-8. Biểu đồ usecase quản lý doanh thu

Tên chức năng Xem danh sách doanh thu

Tác nhân Quản trị viên

Truy cập chức năng “Quản lý doanh thu” sau khi đăng
Kích hoạt
nhập

Điều kiện trước Đăng nhập hệ thống bằng tài khoản Admin, nhân viên

Hệ thống sẽ hiển thị danh sách doanh thu đang có trong hệ


Mô tả xử lý
thống

Điều kiện sau Danh sách doanh thu sẽ được hiển thị

Tác nhân Hệ thống


Kịch bản
Hiển thị màn hình danh sách
Chọn Quản lý doanh thu
doanh thu đang có
Bảng 2-18. Đặc tả usecase xem danh sách doanh thu

46 | P a g e
2.3.2.6. Biểu đồ usecase quản lý lợi nhuận

Hình 2-9. Biểu đồ usecase quản lý lợi nhuận

Tên chức năng Xem danh sách lợi nhuận

Tác nhân Quản trị viên

Kích hoạt Truy cập chức năng “Quản lý lợi nhuận” sau khi đăng nhập

Điều kiện trước Đăng nhập hệ thống bằng tài khoản Admin, nhân viên

Hệ thống sẽ hiển thị danh sách lợi nhuận đang có trong hệ


Mô tả xử lý
thống

Điều kiện sau Danh sách lợi nhuận sẽ được hiển thị

Tác nhân Hệ thống


Kịch bản
Hiển thị màn hình danh sách lợi
Chọn Quản lý lợi nhuận
nhuận đang có
Bảng 2-19. Đặc tả usecase xem danh sách lợi nhuận

47 | P a g e
2.3.2.7. Biểu đồ usecase quản lý tác giả

Hình 2-10. Biểu đồ usecase quản lý tác giả

Tên chức năng Xem danh sách tác giả

Tác nhân Quản trị viên

Kích hoạt Truy cập chức năng “Quản lý tác giả” sau khi đăng nhập

Điều kiện trước Đăng nhập hệ thống bằng tài khoản Admin, nhân viên

Mô tả xử lý Hệ thống sẽ hiển thị danh sách tác giả

Điều kiện sau Danh sách tác giả sẽ được hiển thị

Tác nhân Hệ thống


Kịch bản
Hiển thị màn hình danh sách tác
Chọn Quản lý tác giả
giả
Bảng 2-20. Đặc tả usecase xem danh sách tác giả

Tên chức năng Thêm tác giả

48 | P a g e
Tác nhân Quản trị viên

Kích hoạt Truy cập “Thêm mới” trong mục “Quản lý tác giả”

Điều kiện trước Đăng nhập hệ thống bằng tài khoản Admin, nhân viên

Mô tả xử lý Hệ thống sẽ chuyển đến trang Thêm tác giả và nút Thêm mới

Điều kiện sau Những thêm mới sẽ hiển thị ở danh sách tác giả

Xử lý ngoại lệ Nếu người dùng không yêu cầu gì thêm có thể quay trở lại
trang quản lý tác giả
Tác nhân Hệ thống

Chọn Quản lý tác giả, Chuyển đến trang thêm mới tác
Thêm mới giả
Thực hiện các bước thêm
Kịch bản mới
Truy vấn cơ sở dữ liệu.
- Nếu hợp lệ sẽ lưu thông
Click nút thêm mới tác
tin tác vào cơ sở dữ liệu
giả
- Ngược lại, yêu cầu nhập
lại thông tin
Bảng 2-21. Đặt tả usecase thêm tác giả

Tên chức năng Sửa thông tin tác giả

Tác nhân Quản trị viên

Kích hoạt Truy cập “Sửa” trong mục “Quản lý tác giả”

Điều kiện trước Đăng nhập hệ thống bằng tài khoản admin, nhân viên

Hệ thống sẽ chuyển đến trang chỉnh sửa tác giả và nút Cập
Mô tả xử lý
nhật

Điều kiện sau Những thay đổi sẽ được thực hiện

Xử lý ngoại lệ Nếu người dùng không yêu cầu gì thêm có thể quay trở lại
trang quản lý tác giả

49 | P a g e
Tác nhân Hệ thống

Chuyển đến trang Chỉnh sửa tác


Chọn Quản lý tác giả, giả, các thông tin tác giả sẽ được
Sửa đưa vào các trường thông tin
tương ứng trên form
Kịch bản Nhập thông tin muốn
sửa
Truy vấn cơ sở dữ liệu.
- Nếu hợp lệ, lưu thông tin
Click vào nút Cập
tác giả vào cơ sở dữ liệu
nhật
- Ngược lại, yêu cầu nhập
lại thông tin
Bảng 2-22. Đặc tả usecase chỉnh sửa tác giả

Tên chức năng Xóa tác giả

Tác nhân Quản trị viên

Kích hoạt Truy cập “Xóa” trong mục “Quản lý tác giả”

Điều kiện trước Đăng nhập hệ thống bằng tài khoản admin, nhân viên

Mô tả xử lý Hệ thống sẽ hiển thị thông báo xác nhận xóa và nút OK

Điều kiện sau Những thay đổi sẽ được thực hiện

Xử lý ngoại lệ Nếu người dùng không yêu cầu gì thêm có thể quay trở lại
trang quản lý tác giả
Tác nhân Hệ thống

Kịch bản Chọn Quản lý tác giả, Hiển thị thông báo xác nhận có
Xóa muốn xóa hay không

Click nút Ok Xóa tác giả khỏi cơ sở dữ liệu

Bảng 2-23. Đặc tả usecase xoá tác giả

50 | P a g e
2.3.2.8. Biểu đồ usecase quản lý trang

Hình 2-11. Biểu đồ usecase quản lý trang

Tên chức năng Xem danh sách trang

Tác nhân Quản trị viên

Kích hoạt Truy cập chức năng “Quản lý trang” sau khi đăng nhập

Điều kiện trước Đăng nhập hệ thống bằng tài khoản Admin, nhân viên

Hệ thống sẽ hiển thị danh sách trang đang có trong hệ


Mô tả xử lý
thống

Điều kiện sau Danh sách trang sẽ được hiển thị

Tác nhân Hệ thống


Kịch bản
Hiển thị màn hình danh sách
Chọn Quản lý trang
trang đang có
Bảng 2-24. Đặc tả usecase xem danh sách trang

51 | P a g e
Tên chức năng Thêm trang

Tác nhân Quản trị viên

Kích hoạt Truy cập “Thêm mới” trong mục “Quản lý trang”

Điều kiện trước Đăng nhập hệ thống bằng tài khoản Admin, nhân viên

Mô tả xử lý Hệ thống sẽ chuyển đến trang Thêm trang và nút Thêm mới

Điều kiện sau Những thêm mới sẽ hiển thị ở danh sách trang

Xử lý ngoại lệ Nếu người dùng không yêu cầu gì thêm có thể quay trở lại
trang quản lý trang
Tác nhân Hệ thống

Chọn Quản lý trang,


Chuyển đến trang thêm trang
Thêm mới
Nhập thông tin trang
Kịch bản
Truy vấn cơ sở dữ liệu.
- Nếu hợp lệ sẽ lưu thông
Click vào nút Thêm mới tin trang vào cơ sở dữ liệu
- Ngược lại, yêu cầu nhập
lại thông tin
Bảng 2-25. Đặc tả usecase thêm mới trang

Tên chức năng Chỉnh sửa thông tin trang

Tác nhân Quản trị viên

Kích hoạt Truy cập “Sửa” trong mục “Quản lý trang”

Điều kiện trước Đăng nhập hệ thống bằng tài khoản admin,nhân viên

Mô tả xử lý Hệ thống sẽ chuyển đến trang Sửa trang và nút Cập nhật

Điều kiện sau Những thay đổi sẽ được thực hiện

Xử lý ngoại lệ Nếu người dùng không yêu cầu gì thêm có thể quay trở lại
trang quản lý trang
52 | P a g e
Tác nhân Hệ thống

Chuyển đến trang Sửa trang, các


Chọn Quản lý trang, thông tin trang sẽ được đưa vào
Sửa các trường thông tin tương ứng
trên form
Kịch bản Nhập thông tin muốn
sửa
Truy vấn cơ sở dữ liệu.
- Nếu hợp lệ, lưu thông tin
Click vào nút Cập
trang vào cơ sở dữ liệu
nhật
- Ngược lại, yêu cầu nhập
lại thông tin
Bảng 2-26. Đặc tả usecase chỉnh sửa trang

Tên chức năng Xóa trang

Tác nhân Quản trị viên

Kích hoạt Truy cập “Xóa” trong mục “Quản lý trang”

Điều kiện trước Đăng nhập hệ thống bằng tài khoản admin, nhân viên

Mô tả xử lý Hệ thống sẽ hiển thị thông báo xác nhận xóa và nút OK

Điều kiện sau Những thay đổi sẽ được thực hiện

Xử lý ngoại lệ Nếu người dùng không yêu cầu gì thêm có thể quay trở lại
trang quản lý trang
Tác nhân Hệ thống

Kịch bản Chọn Quản lý trang, Hiển thị thông báo xác nhận có
Xóa muốn xóa hay không

Click nút Ok Xóa combo khỏi cơ sở dữ liệu

Bảng 2-27. Đặc tả usecase xoá trang

53 | P a g e
2.3.2.9. Biểu đồ usecase quản lý sản phẩm bán được

Hình 2-12. Biểu đồ usecase quản lý sản phẩm bán được

Tên chức năng Xem danh sách sản phẩm bán được

Tác nhân Quản trị viên

Truy cập chức năng “Quản lý sản phảm bán được” sau khi
Kích hoạt
đăng nhập

Điều kiện trước Đăng nhập hệ thống bằng tài khoản Admin, nhân viên

Hệ thống sẽ hiển thị danh sách sản phẩm bán được đang có
Mô tả xử lý
trong hệ thống

Điều kiện sau Danh sách sản phẩm bán được sẽ được hiển thị

Tác nhân Hệ thống


Kịch bản
Chọn Quản lý sản phẩm Hiển thị màn hình danh sách sản
bán được phẩm bán được đang có
Bảng 2-28. Đặc tả usecase xem danh sách sản phẩm bán được

54 | P a g e
2.3.2.10. Biểu đồ usecase quản lý doanh mục

Hình 2-13. Biểu đồ usecase quản lý doanh mục

Tên chức năng Xem danh sách doanh mục

Tác nhân Quản trị viên

Truy cập chức năng “Quản lý doanh mục” sau khi đăng
Kích hoạt
nhập

Điều kiện trước Đăng nhập hệ thống bằng tài khoản Admin, nhân viên

Hệ thống sẽ hiển thị danh sách doanh mục đang có trong hệ


Mô tả xử lý
thống

Điều kiện sau Danh sách doanh mục sẽ được hiển thị

Tác nhân Hệ thống


Kịch bản
Chọn Quản lý doanh Hiển thị màn hình danh sách
mục doanh mục đang có
Bảng 2-29. Đặc tả usecase xem danh sách doanh mục

55 | P a g e
Tên chức năng Xóa doanh mục

Tác nhân Quản trị viên

Kích hoạt Truy cập “Xóa” trong mục “Quản lý doanh mục”

Điều kiện trước Đăng nhập hệ thống bằng tài khoản admin, nhân viên

Mô tả xử lý Hệ thống sẽ hiển thị thông báo xác nhận xóa và nút OK

Điều kiện sau Những thay đổi sẽ được thực hiện

Xử lý ngoại lệ Nếu người dùng không yêu cầu gì thêm có thể quay trở lại
trang quản lý doanh mục
Tác nhân Hệ thống

Chọn Quản lý doanh Hiển thị thông báo xác nhận có


Kịch bản
mục, Xóa muốn xóa hay không

Xóa thông tin bình luận khỏi cơ


Click nút Ok
sở dữ liệu
Bảng 2-30. Đặc tả usecase xoá doanh mục

Tên chức năng Thêm doanh mục

Tác nhân Quản trị viên

Kích hoạt Truy cập “Thêm mới” trong mục “Quản lý doanh mục”

Điều kiện trước Đăng nhập hệ thống bằng tài khoản Admin, nhân viên

Hệ thống sẽ chuyển đến trang Thêm doanh mục và nút Thêm


Mô tả xử lý
mới

Điều kiện sau Những thêm mới sẽ hiển thị ở danh sách doanh mục

Xử lý ngoại lệ Nếu người dùng không yêu cầu gì thêm có thể quay trở lại
trang quản lý doanh mục
Kịch bản Tác nhân Hệ thống

56 | P a g e
Chọn Quản lý doanh Chuyển đến trang thêm doanh
mục, Thêm mới mục
Nhập thông tin trang
Truy vấn cơ sở dữ liệu.
- Nếu hợp lệ sẽ lưu thông
tin doanh mục vào cơ sở
Click vào nút Thêm mới
dữ liệu
- Ngược lại, yêu cầu nhập
lại thông tin
Bảng 2-31. Đặc tả usecase thêm mới doanh mục

Tên chức năng Chỉnh sửa thông tin doanh mục

Tác nhân Quản trị viên

Kích hoạt Truy cập “Sửa” trong mục “Quản lý doanh mục”

Điều kiện trước Đăng nhập hệ thống bằng tài khoản admin,nhân viên

Hệ thống sẽ chuyển đến trang Sửa doanh mục và nút Cập


Mô tả xử lý
nhật

Điều kiện sau Những thay đổi sẽ được thực hiện

Xử lý ngoại lệ Nếu người dùng không yêu cầu gì thêm có thể quay trở lại
trang quản lý doanh mục
Kịch bản Tác nhân Hệ thống

Chuyển đến trang Sửa doanh


Chọn Quản lý doanh mục, các thông tin trang sẽ được
mục, Sửa đưa vào các trường thông tin
tương ứng trên form
Nhập thông tin muốn
sửa
Click vào nút Cập Truy vấn cơ sở dữ liệu.
nhật - Nếu hợp lệ, lưu thông tin
doanh mục vào cơ sở dữ
liệu
- Ngược lại, yêu cầu nhập

57 | P a g e
lại thông tin
Bảng 2-32. Đặc tả usecase chỉnh sửa doanh mục

2.3.2.11. Biểu đồ usecase quản lý tài khoản

Hình 2-14. Biểu đồ usecase quản lý tài khoản

Tên chức năng Xem danh sách tài khoản

Tác nhân Quản trị viên

Kích hoạt Truy cập chức năng “Quản lý tài khoản” sau khi đăng nhập

Điều kiện trước Đăng nhập hệ thống bằng tài khoản Admin,nhân viên

Hệ thống sẽ hiển thị danh sách tài khoản đang có trong hệ


Mô tả xử lý
thống

Điều kiện sau Danh sách tài khoản sẽ được hiển thị

Tác nhân Hệ thống


Kịch bản
Hiển thị màn hình danh sách tài
Chọn Quản lý tài khoản
khoản đang có

58 | P a g e
Bảng 2-33. Đặc tả usecase xem danh sách tài khoản

Tên chức năng Xóa tài khoản

Tác nhân Quản trị viên

Kích hoạt Truy cập “Xóa” trong mục “Quản lý tài khoản”

Điều kiện trước Đăng nhập hệ thống bằng tài khoản admin, nhân viên

Mô tả xử lý Hệ thống sẽ hiển thị thông báo xác nhận xóa và nút OK

Điều kiện sau Những thay đổi sẽ được thực hiện

Xử lý ngoại lệ Nếu người dùng không yêu cầu gì thêm có thể quay trở lại
trang quản lý tài khoản
Tác nhân Hệ thống

Kịch bản Chọn Quản lý tài Hiển thị thông báo xác nhận có
khoản, Xóa muốn xóa hay không

Click nút Ok Xóa tài khoản khỏi cơ sở dữ liệu

Bảng 2-34. Đặc tả usecase xóa tài khoản

Tên chức năng Thêm tài khoản

Tác nhân Quản trị viên

Kích hoạt Truy cập “Thêm mới” trong mục “Quản lý tài khoản”

Điều kiện trước Đăng nhập hệ thống bằng tài khoản Admin, nhân viên

Hệ thống sẽ chuyển đến trang Thêm tài khoản và nút Thêm


Mô tả xử lý
mới

Điều kiện sau Những thêm mới sẽ hiển thị ở danh sách tài khoản

Xử lý ngoại lệ Nếu người dùng không yêu cầu gì thêm có thể quay trở lại
trang quản lý tài khoản

59 | P a g e
Tác nhân Hệ thống

Chọn Quản lý tài khoản,


Chuyển đến trang thêm tài khoản
Thêm mới
Nhập thông tin trang
Kịch bản Truy vấn cơ sở dữ liệu.
- Nếu hợp lệ sẽ lưu thông
tin tài khoản vào cơ sở dữ
Click vào nút Thêm mới
liệu
- Ngược lại, yêu cầu nhập
lại thông tin
Bảng 2-35. Đặc tả usecase thêm mới tài khoản

Tên chức năng Chỉnh sửa thông tin tài khoản

Tác nhân Quản trị viên

Kích hoạt Truy cập “Sửa” trong mục “Quản lý tài khoản”

Điều kiện trước Đăng nhập hệ thống bằng tài khoản admin,nhân viên

Mô tả xử lý Hệ thống sẽ chuyển đến trang Sửa tài khoản và nút Cập nhật

Điều kiện sau Những thay đổi sẽ được thực hiện

Xử lý ngoại lệ Nếu người dùng không yêu cầu gì thêm có thể quay trở lại
trang quản lý tài khoản
Kịch bản Tác nhân Hệ thống

Chuyển đến trang Sửa tài khoản,


Chọn Quản lý tài các thông tin trang sẽ được đưa
khoản, Sửa vào các trường thông tin tương
ứng trên form
Nhập thông tin muốn
sửa
Click vào nút Cập Truy vấn cơ sở dữ liệu.
nhật - Nếu hợp lệ, lưu thông tin
tài khoản vào cơ sở dữ
liệu

60 | P a g e
- Ngược lại, yêu cầu nhập
lại thông tin
Bảng 2-36. Đặc tả usecase chỉnh sửa tài khoản

2.3.2.12. Biểu đồ usecase quản lý quyền truy cập

Hình 2-15. Biểu đồ usecase quản lý quyền truy cập

Tên chức năng Xem danh sách quyền truy cập

Tác nhân Quản trị viên

Truy cập chức năng “Quản lý quyền truy cập” sau khi đăng
Kích hoạt
nhập

Điều kiện trước Đăng nhập hệ thống bằng tài khoản Admin, nhân viên

Hệ thống sẽ hiển thị danh sách quyền truy cập đang có


Mô tả xử lý
trong hệ thống

Điều kiện sau Danh sách quyền truy cập sẽ được hiển thị

Kịch bản Tác nhân Hệ thống

61 | P a g e
Chọn Quản lý quyền Hiển thị màn hình danh sách
truy cập quyền truy cập đang có
Bảng 2-37. Đặc tả usecase xem danh sách quyền truy cập

Tên chức năng Thêm quyền truy cập

Tác nhân Quản trị viên

Kích hoạt Truy cập “Thêm mới” trong mục “Quản lý quyền truy cập”

Điều kiện trước Đăng nhập hệ thống bằng tài khoản Admin, nhân viên

Hệ thống sẽ chuyển đến trang Thêm quyền truy cập và nút


Mô tả xử lý
Thêm mới

Điều kiện sau Những thêm mới sẽ hiển thị ở danh sách quyền truy cập

Xử lý ngoại lệ Nếu người dùng không yêu cầu gì thêm có thể quay trở lại
trang quản lý quyền truy cập
Tác nhân Hệ thống

Chọn Quản lý quyền truy Chuyển đến trang thêm quyền


cập, Thêm mới truy cập
Nhập thông tin quyền
truy cập
Kịch bản
Truy vấn cơ sở dữ liệu.
- Nếu hợp lệ sẽ lưu thông
tin quyền truy cập vào cơ
Click vào nút Thêm mới
sở dữ liệu
- Ngược lại, yêu cầu nhập
lại thông tin
Bảng 2-38. Đặc tả usecase thêm quyền truy cập

Tên chức năng Chỉnh sửa quyền truy cập

Tác nhân Quản trị viên

Truy cập “Sửa quyền truy cập” trong mục “Quản lý quyền
Kích hoạt
truy cập”

62 | P a g e
Điều kiện trước Đăng nhập hệ thống bằng tài khoản admin, nhân viên

Hệ thống sẽ chuyển đến trang Sửa quyền truy cập và nút Cập
Mô tả xử lý
nhật

Điều kiện sau Những thay đổi sẽ được thực hiện

Xử lý ngoại lệ Nếu người dùng không yêu cầu gì thêm có thể quay trở lại
trang quản lý quyền truy cập
Tác nhân Hệ thống

Chọn Quản lý quyền


Hiển thị màn hình Chỉnh sửa
truy cập, Sửa quyền
quyền truy cập
truy cập
Chọn thông tin quyền
Kịch bản truy cập muốn sửa
Truy vấn cơ sở dữ liệu.
- Nếu hợp lệ, lưu thông tin
Click vào nút Cập quyền truy cập vào cơ sở
nhật dữ liệu
- Ngược lại, yêu cầu nhập
lại thông tin
Bảng 2-39. Đặc tả usecase sửa quyền truy cập

Tên chức năng Xóa quyền truy cập

Tác nhân Quản trị viên

Kích hoạt Truy cập “Xóa” trong mục “Quản lý quyền truy cập”

Điều kiện trước Đăng nhập hệ thống bằng tài khoản admin, nhân viên

Mô tả xử lý Hệ thống sẽ hiển thị thông báo xác nhận xóa và nút OK

Điều kiện sau Những thay đổi sẽ được thực hiện

Xử lý ngoại lệ Nếu người dùng không yêu cầu gì thêm có thể quay trở lại
trang quản lý quyền truy cập
Kịch bản Tác nhân Hệ thống

63 | P a g e
Chọn Quản lý quyền Hiển thị thông báo xác nhận có
truy cập, Xóa muốn xóa hay không

Click nút Ok Xóa slides khỏi cơ sở dữ liệu

Bảng 2-40. Đặc tả usecase xóa quyền truy cập


2.3.3. Biểu đồ usecase của Người dùng

2.3.3.1. Biểu đồ usecase xem liên hệ

Hình 2-16. Biểu đồ usecase xem liên hệ

Tên chức năng Xem liên hệ

Tác nhân Thành viên và khách xem, admin

Kích hoạt Truy cập trang chủ của hệ thống

Điều kiện trước Truy cập hệ thống

Mô tả xử lý Hệ thống sẽ hiển thị liên hệ

Điều kiện sau Hiển thị danh sách liên hệ

Xử lý ngoại lệ

64 | P a g e
Tác nhân Hệ thống
Kịch bản
Hiển thị danh sách liên hệ có
Chọn liên hệ
trong hệ thống
Bảng 2-41. Đặc tả usecase xem liên hệ

2.3.3.2. Biểu đồ usecase đăng ký thành viên

Hình 2-17. Biểu đồ usecase đăng kí thành viên

Tên chức năng Đăng kí thành viên

Tác nhân Thành viên và admin

Kích hoạt Truy cập đăng ký thành viên trên màn hình

65 | P a g e
Điều kiện trước Đăng nhập hệ thống

Nhấn vào chọn đăng ký thành viên để tới trang đăng ký


Mô tả xử lý
thành viên
Khi xác nhận thông tin nhân viên sẽ lưu vào quản lý tài
Điều kiện sau
khoản

Xử lý ngoại lệ Nếu người dùng không yêu cầu gì thêm có thể quay trở lại
trang chủ hệ thống
Tác nhân Hệ thống

Hiển thị họ tên lên màn hình


Kịch bản Nhập họ và tên
đăng ký tài khoản
Hiển thị số điện thoại lên màn
Nhập số điện thoại
hình đăng ký tài khoản
Hiển thị Email lên màn hình
Nhập Email
đăng ký tài khoản
Hiển thị mật khẩu lên màn hình
Nhập mật khẩu
đăng ký tài khoản
Hiển thị nhập lại mật khẩu lên
Nhập lại mật khẩu
màn hình đăng ký tài khoản
Bảng 2-42. Đặc tả usecase đăng kí thành viên

66 | P a g e
2.3.3.3. Biểu đồ usecase tìm kiếm

Hình 2-18. Biểu đồ usecase tìm kiếm

Tên chức năng Tìm kiếm sản phẩm

Tác nhân Thành viên

Kích hoạt Truy cập chức năng tìm kiếm

Điều kiện trước Đăng nhập hệ thống bằng tài khoản Thành viên

Mô tả xử lý Hệ thống sẽ hiển thị thông tin tìm kiếm

Điều kiện sau Thông tin sản phẩm sẽ được hiển thị

Tác nhân Hệ thống

Kịch bản Chọn profile gốc phải


Hiển thị thông tin sản phẩm
trang web -> Chọn tab
đang tìm kiếm
tìm kiếm sản phẩm
Bảng 2-43. Đặc tả usecase tìm kiếm

67 | P a g e
2.3.3.4. Biểu đồ usecase hướng dẫn mua hàng

Hình 2-19. Biểu đồ usecase hướng dẫn mua hàng

Tên chức năng Hướng dẫn mua hàng

Tác nhân Thành viên

Kích hoạt Truy cập chức năng hướng dẫn mua hàng

Điều kiện trước Đăng nhập hệ thống bằng tài khoản Thành viên

Mô tả xử lý Hệ thống sẽ hiển thị thông tin hướng dẫn mua hàng

Điều kiện sau Thông tin hướng dẫn sẽ được hiển thị

Tác nhân Hệ thống

Kịch bản Chọn profile gốc phải


Hiển thị thông tin hướng dẫn
trang web -> Chọn tab
mua hàng
hướng dẫn mua hàng
Bảng 2-44. Đặc tả usecase hướng dẫn mua hàng

68 | P a g e
2.3.3.5. Biểu đồ usecase xem thông tin sác

Hình 2-20. Biểu đồ usecase xem thông tin sách

Tên chức năng Xem thông tin sách

Tác nhân Thành viên

Kích hoạt Truy cập chức năng xem thông tin sách

Điều kiện trước Đăng nhập hệ thống bằng tài khoản Thành viên

Mô tả xử lý Hệ thống sẽ hiển thị thông tin sách

Điều kiện sau Thông tin sách sẽ được hiển thị

Tác nhân Hệ thống


Kịch bản Chọn profile gốc phải
Hiển thị thông tin sách ra
trang web -> Chọn tab
màn hình
details xem thông sách
Bảng 2-45. Đặc tả usecase xem thông tin sách

69 | P a g e
2.3.3.6. Biểu đồ usecase quản lý thông tin cá nhân

Hình 2-21. Biểu đồ usecase quản lý thông tin cá nhân

Tên chức năng quản lý thông tin cá nhân

Tác nhân Thành viên

Kích hoạt Truy cập chức năng quản lý thông tin

Điều kiện trước Đăng nhập hệ thống bằng tài khoản Thành viên

Mô tả xử lý Hệ thống sẽ hiển thị quản lý thông tin cá nhân

Điều kiện sau Thông tin cá nhân được hiển thị

Tác nhân Hệ thống

Chọn profile gốc phải


Kịch bản
trang web -> Chọn tab
Hiển thị thông tin cá nhân
quản lý thông tin cá
nhân
Bảng 2-46. Đặc tả usecase quản lý thông tin cá nhân

70 | P a g e
2.4. Thiết kế cơ sở dữ liệu
2.4.1. Mô tả cơ sở dữ liệu
Cơ sở dữ liệu được thiết kế sao cho tối ưu nhất, thể hiện mối quan hệ giữa các
bảng, tránh việc dư thừa dữ liệu.
Liên hệ qua thực tế, các bảng trong cơ sở dữ liệu cần phải lưu các đối tượng
liên quan đến yêu cầu lưu trữ của đồ án.
Cơ sở dữ liệu của hệ thống sẽ gồm các bảng sau như sau:

Hình 2-22. Cơ sở dữ liệu của hệ thống

2.4.2. Nội dung các bảng cơ sở dữ liệu


 OderDetails

Kiểu dữ Maxlengt
Tên cột Ghi chú Giải thích
liệu h
OrderDetailID Int 20 Khó a chính Mã chi tiết đặ t hà ng
OrderID Int 20 Khó a phụ Mã đặ t hà ng

71 | P a g e
ProductID Int 20 Khó a phụ Mã sả n phẩ m
OrderNumber Int 50 Số thứ tự đặ t hà ng
Amount Int 10000 Số lượ ng đặ t hà ng
Discount Int Giả m giá
TotalMoney Int Tổ ng tiền
CreateDate Datetime Ngà y mua
Price Int Giá mặ t hà ng

Bảng 2-47. OderDetails


 Orders

Kiểu dữ Maxlen
Tên cột Ghi chú Giải thích
liệu gth
OrderID Int 20 Khó a chính Mã đặ t hà ng
CustomerID Int 20 Khoá ngoạ i Mã sả n phẩ m
OrderDate Datatime 20 Khoá ngoạ i Ngà y đặ t hà ng
ShipDate Datetime Ngà y ship hà ng
TransactStatusID Int 20 Mã giao dịch
Deleted Bit Mã đặ t hà ng đã xó a
Paid Bit Mã đặ t hà ng đã trả
PaymentDate Datetime Ngà y thanh toá n
Note Nvarchar Max Ghi chú
TotalMoney Int Tổ ng tiền
Address Nvarchar 250 Địa chỉ đặ t hà ng

Bảng 2-48. Orders


 Products

Kiểu dữ Maxlengt
Tên cột Ghi chú Giải thích
liệu h
ProductID Int 20 Khó a chính Mã sả n phẩ m

72 | P a g e
ProductName Nvarchar 255 Tên sả n phẩ m
ShortDesc Nvarchar 255 Mô tả ngắ n sả n phẩ m
Description Nvarchar Miêu tả nộ i dung sả n
Max
phẩ m
CateID Int Mã danh mụ c sả n
Khó a phụ
phẩ m
Price Int Giá sả n phẩ m
Discount Int Giả m giá sả n phẩ m
Thumb Nvarchar 255 Hình ả nh sả n phẩ m
DateCreated Datetime Ngà y tạ o sả n phẩ m
DateModified Datetime Ngà y sử a đổ i sả n
phẩ m
BestSellers Bit Sả n phẩ m bá n chạ y
nhấ t
Active Bit Hoạ t độ ng sả n phẩ m
Tags Nvarchar Max Thẻ Tags
Title Nvarchar 255 Tiêu đề sả n phẩ m
Alias Nvarchar Tên hình ả nh sả n
255
phẩ m
MetaDesc Nvarchar 255 Mô tả SEO
MetaKey Nvarchar 255 Từ khó a SEO
UnitslnStock Int Tồ n kho
OriginalPrice Int Giá gố c sả n phẩ m
AuthorID Int Khó a phụ Mã tá c giả

Bảng 2-49. Products


 Authors

Kiểu dữ Maxlengt
Tên cột Ghi chú Giải thích
liệu h

73 | P a g e
AuthorID Int 20 Khó a chính Mã tá c giả
AuthorName Nvarchar 50 Tên tá c giả
Description Nvarchar Max Miêu tả nộ i dung tá c
giả

Bảng 2-50. Authors


 Categories

Kiểu dữ Maxlengt
Tên cột Ghi chú Giải thích
liệu h
CateID Int 20 Khó a chính Mã thể loạ i
CateName Nvarchar 250 Tên thể loạ i
Description Nvarchar Max Miêu tả nộ i dung thể
loạ i
Ordering Int Thể loạ i đặ t hàng
Published Bit Thể loạ i đượ c phá t
hà nh
Thumb Nvarchar 250 Hình ả nh thể loạ i
Title Nvarchar 250 Tiêu đề thể loạ i
Alias Nvarchar 250 Tên hình ả nh thể loạ i
MetaDesc Nvarchar 250 Mô tả SEO
MetaKey Nvarchar 250 Từ khó a SEO

Bảng 2-51. Categories


 TransactStatus

Kiểu dữ Maxlengt Ghi


Tên cột Giải thích
liệu h chú
TransactStatus Int 20 Khó a Mã giao dịch
ID chính
Status Nvarchar 50 Trạ ng thá i giao dịch

74 | P a g e
Description Nvarchar Max Miêu tả nộ i dung giao
dịch

Bảng 2-52. TransaciStatus


 Customers

Kiểu dữ Maxle
Tên cột Ghi chú Giải thích
liệu ngth
CustomerID int 20 Khó a chính Mã khá ch hà ng
FullName Nvarchar 255 Tên khá ch hà ng
Birthday Datetime Ngà y sinh khá ch hà ng
Avatar Nvarchar 255 Hình ả nh khá ch hà ng
Address Nvarchar 255 Địa chỉ khá ch hà ng
Email Nchar 150 Email khá ch hà ng
Phone Varchar 12 Số điện thoạ i khá ch
hà ng
CreateDate Datetime Ngà y đă ng kí tà i khoả n
Password Nvarchar 50 Mậ t khẩ u khá ch hàng
Salt Nchar 8 Mã hó a passwork
LastLogin Datetime Lầ n đă ng nhậ p cuố i
cù ng củ a khá ch hà ng
Active Bit Hoạ t độ ng củ a khá ch
hà ng
FaceID Int Khó a phụ Mã faceID

Bảng 2-53. Customers


 Face

Maxlengt
Tên cột Kiểu dữ liệu Ghi chú Giải thích
h
FaceID Int 20 Khó a Mã faceID

75 | P a g e
chính
FaceImg Varbinary Max Ả nh faceID
CheckFaceImg Varbinary Max Kiểm tra faceID

Bảng 2-54. Face


 Roles

Kiểu dữ Maxlengt
Tên cột Ghi chú Giải thích
liệu h
RolesID Int 20 Khó a chính Mã quyền tri cậ p
RoleName Nvarchar 50 Tên quyền tri cậ p
Description Nvarchar Max Miêu tả nộ i dung
quyền tri cậ p

Bảng 2-55. Roles


 Accounts

Kiểu dữ Maxlengt
Tên cột Ghi chú Giải thích
liệu h
AccountID Int 20 Khó a chính Mã tà i khoả n
Phone Varchar 50 Số điện thoạ i tà i
khoả n
Email Nvarchar 50 Email tà i khoả n
Password Nvarchar 50 Password tà i khoả n
Salt Nchar 6 Mã hó a password
Active Bit Hoạ t độ ng củ a tà i
khoả n
FullName Nvarchar 150 Tên tà i khoả n
RoleID Int Khó a Mã quyền tri cậ p
phụ
LastLogin Datetime Lầ n đă ng nhậ p cuố i

76 | P a g e
cù ng củ a tà i khoả n
CreateDate Datetime Ngà y đă ng kí tà i
khoả n
FaceID Int Khó a Mã faceID
phụ

Bảng 2-56. Accounts


 Posts

Kiểu dữ Maxlengt
Tên cột Ghi chú Giải thích
liệu h
PostID Int 20 Khó a chính Mã tin tứ c
Title Nvarchar 250 Tiêu đề tin tứ c
SContents Nvarchar 250 Nộ i dung ngắ n tin
tứ c
Contents Nvarchar Max Nộ i dung tin tứ c
Thumb Nvarchar 250 Hình ả nh tin tứ c
Published Bit Tin tứ c đượ phá t
hà nh
Alias Nvarchar 250 Tên hình ả nh tin
tứ c
CreateDate Datetime Ngà y đă ng kí tin
tứ c
AuthorID Int Khó a Mã tá c giả
phụ
Tags Nvarchar 250 Thẻ Tags
CateID Int Khó a Mã danh mụ c sả n
phụ phẩ m
IsHot Bit Tin tứ c hot nhấ t
IsNewfeed Bit Tin tứ c mớ i nhấ t

77 | P a g e
MetaKey Nvarchar 250 Từ khó a SEO
MetaDesc Nvarchar 250 Mô tả SEO
Views Int Lượ t xem tin tứ c

Bảng 2-57. Posts


 Pages

Kiểu dữ Maxlengt
Tên cột Ghi chú Giải thích
liệu h
PageID Int 20 Khó a chính Mã quả n lý trang
PageName Nvarchar 250 Tên trang
Contents Nvarchar Max Nộ i dung trang
Thumb Nvarchar 250 Hình ả nh trang
Published Bit Trang đượ c phá t
hà nh
Title Nvarchar 250 Tiêu đề trang
MetaDesc Nvarchar 250 Mô tả SEO trang
MetaKey Nvarchar 250 Từ khó a SEO trang
Alias Nvarchar 250 Tên hình ả nh trang
CreateDate Datetime Ngà y đă ng kí trang
Ordering Int Thể loạ i đặ t trang

Bảng 2-58. Pages

2.5. Mô hình FaceID


2.5.1. CNN
Convolutional neural network (tên viết là CNNs mạng nơ ron tích chập) là
một trong những mô hình Deep Learning tiên tiến nhất hiện nay. Nó sẽ giúp cho
bạn xây dựng hệ thống thông minh nhờ độ chính xác cao nhất.
CNN thườ ng đượ c sử dụ ng trong cá c bà i toá n nhậ n dạ ng cá c object có
sẵ n trong ả nh. Để bạ n đọ c có thể hiểu rõ lý do thuậ t toá n nà y đượ c dù ng

78 | P a g e
rộ ng rã i cho việc nhậ n dạ ng. Chú ng ta hã y tìm hiểu kỹ lưỡ ng hơn về nó như
sau:
Convolutional là mộ t trong nhữ ng cử a sổ dạ ng trượ t nằ m ngay trên ma
trậ n. Cá c convolutional layer thườ ng có cá c parameter đượ c họ c để điều
chỉnh thô ng tin chính xá c mà khô ng cầ n chọ n feature.
Convolution thườ ng sẽ tích chậ p và nhâ n từ ng phầ n tử có sẵ n trong ma
trậ n. Khi đó , Sliding window đượ c gọ i là kernel, filter hoặ c feature detect.
Nó là loạ i ma trậ n có kích thướ c nhỏ .
Ngoà i ra, Convolution hay tích chậ p là cá c phầ n tử bên trong ma trậ n 3×3
vớ i cá c ma trậ n ở bên trá i. Khi đó , kết quả sẽ cho ra mộ t ma trậ n gọ i là
Convoled feature sẽ đượ c sinh ra từ khi nhậ n đượ c ma trậ n Filter vớ i ma
trậ n ả nh 5×5.
2.5.2. Dữ liệu đào tạo mô hình
Bộ dữ liệu MS-Celeb-1M là bộ dữ liệu về thị giá c má y tính rấ t phổ biến. Bộ
dữ liệu này đã đượ c nghiên cứ u kỹ lưỡ ng trong nhiều mô hình Deep
learning.
Bộ dữ liệu MS-Celeb-1M là bộ dữ liệu nhậ n dạ ng khuô n mặ t quy mô lớ n
bao gồ m 100 nghìn danh tính và mỗ i danh tính có khoả ng 100 hình ả nh
khuô n mặ t. Cá c nhã n nhậ n dạ ng ban đầ u đượ c lấ y tự độ ng từ cá c trang web.
Bộ dữ liệu này chứ a cá c hình ả nh có độ phâ n giả i kích thướ c 160x160 pixel.

2.5.3. Thuật toán Inception-ResNetV1


InceptionResNetV1 là kiến trú c mạ ng thầ n kinh tích chậ p (CNN) kết hợ p cá c
mô -đun Inception và ResNet. Nó đượ c cá c nhà nghiên cứ u củ a Google giớ i thiệu
trong bà i bá o có tiêu đề "Inception-v4, Inception-ResNet and the Impact of
Residual Connections on Learning" và o nă m 2016.
InceptionResNetV1 kết hợ p cá c lợ i ích củ a cả mô -đun Inception và ResNet.
Nó bao gồ m mộ t chuỗ i cá c khố i Khở i tạ o vớ i cá c kết nố i cò n lạ i. Kiến trú c nà y
cho phép mạ ng đạ t đượ c sự câ n bằ ng tố t giữ a hiệu quả tính toá n và độ chính
xá c, giú p mạ ng phù hợ p vớ i cá c tá c vụ thị giá c má y tính khá c nhau như phâ n
loạ i hình ả nh và phá t hiện đố i tượ ng.
2.5.4. Inception
Mô -đun Inception đượ c sử dụ ng trong Convolutional Neural Networks để
cho phép tính toá n hiệu quả hơn và Mạ ng sâ u hơn thô ng qua việc giả m kích
thướ c vớ i cá c kết cấ u 1x1 xếp chồ ng lên nhau. Cá c mô -đun đượ c thiết kế để giả i
79 | P a g e
quyết vấn đề về chi phí tính toá n, cũ ng như trang bị quá mứ c, trong số cá c vấn
đề khá c. Nó i tó m lạ i, giả i phá p là sử dụ ng nhiều kích thướ c bộ lọ c hạ t nhân
trong CNN và thay vì xếp chú ng theo trình tự , sắ p xếp chú ng hoạ t độ ng ở cù ng
cấ p độ .
Cách hoạt động

Hình 2-21. Inception module


Cá c mô -đun Inception đượ c tích hợ p và o Convolutional Neural Networks
(CNN) như mộ t cá ch để giả m chi phí tính toá n. Vì mạ ng nơ-ron xử lý mộ t mả ng
hình ả nh rộ ng lớ n, vớ i nhiều biến thể trong nộ i dung hình ả nh nổ i bậ t, cò n
đượ c gọ i là cá c phầ n nổ i bậ t, nên chú ng cầ n đượ c thiết kế phù hợ p. Phiên bả n
đơn giả n nhấ t củ a mô -đun khở i độ ng hoạ t độ ng bằ ng cá ch thự c hiện phép tích
chậ p trên đầ u và o khô ng chỉ vớ i mộ t mà là ba kích thướ c bộ lọ c khá c nhau
(1x1, 3x3, 5x5). Ngoà i ra, max pooling đượ c thự c hiện. Sau đó , kết quả đầ u ra
đượ c nố i và gử i đến lớ p tiếp theo. Bằ ng cá ch cấ u trú c CNN để thự c hiện cá c kết
hợ p củ a nó ở cù ng cấ p độ , mạ ng ngà y cà ng rộ ng hơn chứ khô ng sâ u hơn.

Hình 2-22. Inception module with dimension reductions


Để là m cho quy trình trở nên ít tố n kém hơn về mặ t tính toá n, mạ ng thầ n
kinh có thể đượ c thiết kế để thêm mộ t tích chậ p 1x1 bổ sung trướ c cá c lớ p 5x5
quả ng cá o 3x3. Bằ ng cá ch là m như vậ y, số lượ ng kênh đầ u và o bị hạ n chế và kết
cấ u chậ p 1x1 rẻ hơn nhiều so vớ i kết cấ u chậ p 5x5. Tuy nhiên, điều quan trọ ng
80 | P a g e
cầ n lưu ý là tích chậ p 1x1 đượ c thêm và o sau lớ p tổ ng hợ p tố i đa, thay vì trướ c
đó .

2.5.5. ResNet
Mô -đun ResNet, đượ c giớ i thiệu trong kiến trú c ResNet, giả i quyết vấn đề
xuố ng cấ p gặ p phả i trong cá c mạ ng sâ u bằ ng cá ch sử dụ ng cá c kết nố i bỏ qua.
Cá c kết nố i nà y cho phép mạ ng tìm hiểu cá c á nh xạ cò n lạ i, tạ o điều kiện cho
luồ ng chuyển mà u trong quá trình đà o tạ o và cả i thiện khả nă ng nắ m bắ t cá c
tính nă ng phứ c tạ p hơn củ a mô hình.

Hình 2-23. Residual block


Triển khai quan trọ ng nhấ t là 'Bỏ qua kết nố i', ánh xạ nhậ n dạ ng. Á nh xạ
nhậ n dạ ng nà y khô ng có bất kỳ tham số nà o và chỉ ở đó để thêm đầ u ra từ lớ p
trướ c và o lớ p phía trướ c. Tuy nhiên, đô i khi x và F(x) sẽ khô ng có cù ng số
chiều. Á nh xạ nhậ n dạ ng đượ c nhâ n vớ i phép chiếu tuyến tính W để mở rộ ng
cá c kênh củ a phím tắ t để khớ p vớ i phần dư. Điều này cho phép kết hợ p đầ u và o
x và F(x) là m đầu vào cho lớ p tiếp theo.
G(x) = F(x) +X
X là đầ u và o củ a khố i, F(x) biểu thị phép biến đổ i đượ c thự c hiện bở i cá c lớ p
tích chậ p và G(X) là đầ u ra. Bằ ng cá ch giớ i thiệu kết nố i bổ sung này, mạ ng có
thể họ c cá ch mô hình hó a thô ng tin cò n lạ i, tứ c là sự khá c biệt giữ a đầ u và o và
đầ u ra. Điều nà y cho phép mạ ng tậ p trung và o việc họ c á nh xạ dư hơn là họ c
trự c tiếp quá trình chuyển đổ i hoà n chỉnh. Do đó , cá c gradient có đườ ng dẫ n
ngắ n hơn để truyền qua mạ ng trong quá trình lan truyền ngượ c, cho phép đà o
tạ o thà nh cô ng cá c mạ ng rấ t sâ u.
Cách hoạt động Inception-ResNetV1

81 | P a g e
Kiến trú c InceptionResNetV1 bao gồ m mộ t loạ t cá c khố i xâ y dự ng kết hợ p
cá c mô -đun Inception và ResNet.

Hình 2-24. Kiến trúc InceptionResNetV1

Phầ n ban đầ u này củ a mạ ng xử lý hình ả nh đầ u và o.


Nó thườ ng bao gồ m hai giai đoạ n:
Giai đoạ n 1: Lớ p tích chậ p vớ i 32 bộ lọ c, bướ c 2 và phầ n đệm "giố ng nhau".
Giai đoạ n 2: Lớ p tích chậ p có 32 bộ lọ c và phầ n đệm "giố ng nhau", tiếp theo
là mộ t lớ p tích chậ p khá c có 64 bộ lọ c và phầ n đệm "giố ng nhau".
Tổ ng hợ p tố i đa vớ i sả i châ n 2 đượ c thự c hiện sau cả hai giai đoạ n.
Khở i độ ng-ResNet-A:
Khố i này đượ c lặ p lạ i nhiều lầ n trên toà n mạ ng.
82 | P a g e
Nó bao gồ m sự kết hợ p củ a cá c mô -đun Inception và ResNet.
Mô -đun Inception trong khố i này có bố n nhá nh:
Lớ p tích chậ p 1x1 vớ i 32 bộ lọ c.
Lớ p tích chậ p 1x1 vớ i 32 bộ lọ c, tiếp theo là lớ p tích chậ p 3x3 vớ i 32 bộ lọ c.
Lớ p tích chậ p 1x1 vớ i 32 bộ lọ c, tiếp theo là lớ p tích chậ p 3x3 vớ i 48 bộ lọ c
và lớ p tích chậ p 3x3 khá c vớ i 64 bộ lọ c.
Lớ p tổ ng hợ p trung bình vớ i kích thướ c hạ t nhâ n 1x1, theo sau là lớ p tích
chậ p 1x1 vớ i 32 bộ lọ c.
Đầ u ra củ a mỗ i nhá nh đượ c nố i và chuyển qua lớ p tích chậ p 1x1 vớ i hệ số tỷ
lệ để điều chỉnh độ sâ u.
Sau đó , đầ u ra củ a mô -đun Inception đượ c thêm và o đầ u và o củ a khố i bằ ng
cá ch sử dụ ng kết nố i cò n lạ i.
Giả m-A:
Khố i này chịu trá ch nhiệm giả m kích thướ c khô ng gian củ a cá c bả n đồ đặ c
trưng đồ ng thờ i tă ng độ sâ u củ a chú ng.
Nó bao gồ m sự kết hợ p củ a cá c lớ p tích chậ p và hoạ t độ ng tổ ng hợ p.
Khở i độ ng-ResNet-B:
Tương tự như Inception-ResNet-A, khố i nà y chứ a cá c mô -đun Inception và
ResNet nhưng có cấ u hình khá c.
Giả m-B:
Tương tự như Reduction-A, khố i này giả m kích thướ c khô ng gian củ a cá c
bả n đồ đặ c trưng.
Khở i độ ng-ResNet-C:
Mộ t khố i khá c tương tự như Inception-ResNet-A và Inception-ResNet-B.
Tổ ng hợ p trung bình:
Sau khố i Inception-ResNet-C cuố i cù ng, cá c bả n đồ tính nă ng đượ c chuyển
qua mộ t lớ p tổ ng hợ p trung bình, giả m kích thướ c khô ng gian củ a chú ng xuố ng
1x1.
Lớ p đượ c kết nố i đầ y đủ :
Cá c bả n đồ tính năng 1x1 đượ c là m phẳ ng và kết nố i vớ i mộ t lớ p đượ c kết
nố i đầ y đủ , tạ o ra cá c dự đoá n cuố i cù ng.
Số lượ ng tế bà o thầ n kinh trong lớ p này phụ thuộ c và o nhiệm vụ phâ n loạ i
cụ thể.
83 | P a g e
2.5.6. Kết quả
- Độ chính xá c đạ t đượ c khi train mô hình là 99.65 % và đượ c lưu dướ i
dạ ng .h5 để tá i sử dụ ng.

84 | P a g e
Chương 3: TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ

3.1. Môi trường triển khai


- Hệ thống triển khai trên mọi trình duyệt Chrome, Firefox…
- Công cụ lập trình: Visual studio code, visual studio
- vẽ biểu đồ tuần tự đặt sách online
- Ngôn ngữ lập trình: C#, Python, Javascript
- Hệ thống quản trị cơ sở dữ liệu: MySQL

3.2. Kết quả thực nghiệm


3.2.1. Giao diện người dùng

Hình 3-23. Giao diện trang chủ

85 | P a g e
Hình 3-24. Giao diện màn hình đăng nhập

Hình 3-3. Giao diện màn hình đăng nhập FaceID

86 | P a g e
Hình 3-4 .Giao diện màn hình đăng ký

Hình 3-5 .Giao diện màn hình đăng ký FaceID

87 | P a g e
Hình 3-6. Giao diện màn hình chi tiết sách

Hình 3-7. Giao diện màn hình thanh toán

88 | P a g e
Hình 3-8. Giao diện màn hình thông tin liên hệ

Hình 3-9. Giao diện màn hình giỏ hàng

89 | P a g e
Hình 3-10. Giao diện màn hình hướng dẫn mua hàng

Hình 3-11. Giao diện màn hình trang tin tức

90 | P a g e
Hình 3-25. Giao diện màn hình tài khoản của tôi

Hình 3-26. Giao diện màn hình danh sách đơn hàng đã mua

91 | P a g e
Hình 3-27. Giao diện màn hình thay đổi mật khẩu

3.2.2. Giao diện trang quản lý

Hình 3-28. Giao diện màn hình quản lý

92 | P a g e
Hình 3-29. Giao diện màn hình quản lý đơn hàng

Hình 3-30. Giao diện màn hình quản lý chi tiết đơn hàng

93 | P a g e
Hình 3-31. Giao diện màn hình quản lý thay đổi trạng thái đơn hàng

Hình 3-32. Giao diện màn hình quản lý sản phẩm

94 | P a g e
Hình 3-20. Giao diện màn hình quản lý xóa đơn hàng

Hình 3-21. Giao diện quản lý cập nhật sản phẩm

95 | P a g e
Hình 3-33. Giao diện màn hình quản lý xóa sản phẩm

Hình 3-34. Giao diện màn hình quản lý khách hàng

96 | P a g e
Hình 3-35. Giao diện xem chi tiết thông tin khách hàng

Hình 3-36. Giao diện xác nhận xóa khách hàng

97 | P a g e
Hình 3-37. Giao diện Quản lý thống kê doanh thu

Hình 3-38. Giao diện thống kê theo sản phẩm bán được

98 | P a g e
Hình 3-39. Giao diện quản lý tài khoản Admin

Hình 3-40. Giao diện xem chi tiết tài khoản Admin

99 | P a g e
Hình 3-41. Giao diện quản lý danh mục sản phẩm

Hình 3-31. Giao diện xem chi tiết danh mục sản phẩm

100 | P a g e
Hình 3-42. Giao diện cập nhật danh muc sản phẩm

Hình 3-43. Giao diện xác nhận xóa danh mục sản phẩm

101 | P a g e
Hình 3-44. Giao diện quản lý tác giả

Hình 3-45. Giao diện xem chi tiết thông tin tác giả

102 | P a g e
Hình 3-46. Giao diện cập nhật thông tin tác giả

Hình 3-47. Giao diện xác nhận xóa tác giả

103 | P a g e
Hình 3-48. Giao diện quản lý quyền truy cập

Hình 3-49. Giao diện quản lý tin tức

104 | P a g e
Hình 3-50. Giao diện xem chi tiết tin tức

Hình 3-41. Giao diện cập nhật tin tức

105 | P a g e
Hình 3-51. Giao diện xác nhận xóa tin tức

Hình 3-52. Giao diện quản lý trang

106 | P a g e
Hình 3-53. Giao diện xem chi tiết trang

Hình 3-54. Giao diện xác nhận xóa trang

107 | P a g e
Hình 3-55. Giao diện thay đổi mật khẩu Admin

108 | P a g e
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

1. Kết quả đạt được


- Củng cố và áp dụng các kiến thức đã được tiếp thu vào thực tế.
- Xây dựng được hệ thống website bán sách tích hợp FaceID với các chức
năng tương đối hoàn thiện.
- Làm quen và thực hiện theo quy trình làm việc chuyên nghiệp bài bản.
- Xây dựng được thái độ làm việc nghiêm túc, tinh thần tự đánh giá bản thân.
- Tăng thêm kiến thức và kinh nghiệm của bản thân về Python, C#, javascript
và quy trình phát triển phần mềm.
- Học được cách xây dựng mô hình về AI.
- Tìm hiểu được quá trình tích hợp model AI vào website.
- Học được cách tự lập, tự xây dựng nghiên cứu đề tài.
- Hoàn thiện và phát triển các kỹ năng mềm và có cái nhìn nhận mới về công
việc.
1. Hạn chế
- Ban đầu còn lúng túng chưa hiểu rõ cách thức làm việc cũng như quy trình
thực hiện.
- Trong quá trình thực hiện, còn bất cẩn gây ra những lỗi không đáng có.
- Chưa đầy đủ chức năng hoàn chỉnh và phong phú như ý tưởng ban đầu.
- Còn kế thừa và sử dụng model AI trên Internet.
2. Hướng phát triển
Về lâu dài hệ thống cũng sẽ bổ sung thêm một số chức năng khác như: thanh
toán online, hủy đơn hàng phía người dùng, gửi gmail xác nhận khi đặt hàng thành
công.
Nâng cấp mô hình đăng nhập bằng FaceID cụ thể là thêm chức năng phát hiện
hành động của con người khi đăng kí và đăng nhập tránh tính trạng người dùng sử
dụng hình ảnh của người khác để đăng nhập.

109 | P a g e
TÀI LIỆU THAM KHẢO

[1]. Tài liệu về hệ quản trị cơ sở dữ liệu MySQL


https://www.w3schools.com/
[2]. Tài liệu ngôn ngữ lập trình
https://www.php.net/manual/en/
https://stackoverflow.com/
https:/developer.android.com/guide/
https://gist.github.com/hootlex/da59b91c628a6688ceb1
https://laravel.com/docs/4.2/quick
https://laravel.com/
[3]. Một số thư viện hỗ trợ
https:/draw.io/
http://staruml.io/
https://www.visual-paradigm.com/
[4]. Một số kiến thức liên quan
https://vi.wikipedia.org/wiki/Use_case

110 | P a g e

You might also like