Professional Documents
Culture Documents
BaoCao - Final Project - Updata - 1
BaoCao - Final Project - Updata - 1
FACE ID
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
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 HÌNH ẢNH 8
DANH SÁCH CÁC BẢNG 10
DANH SÁCH CÁC KÝ HIỆU, CHỮ VIẾT TẮT 14
GIỚI THIỆU 15
6. Bố cụ c củ a đề tà i 16
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 17
2. Hạn chế 91
9|Page
DANH SÁCH CÁC BẢNG
10 | P a g e
Bảng 2.30. Đặc tả usecase xoá user.........................................................................33
Bảng 2.31. Đặc tả usecase xem lịch chiếu...............................................................35
Bảng 2.32. Đặc tả usecase đặt vé.............................................................................36
Bảng 2.33. Bảng phim.............................................................................................40
Bảng 2.34. Bảng lichchieu.......................................................................................41
Bảng 2.35. Bảng rap................................................................................................41
Bảng 2.36. Bảng phong...........................................................................................41
Bảng 2.37. Bảng ghe...............................................................................................42
Bảng 2.38. Bảng rows.............................................................................................42
Bảng 2.39. Bảng slide..............................................................................................42
Bảng 2.40. Bảng ve.................................................................................................42
Bảng 2.41. Bảng tintuc............................................................................................43
Bảng 2.42. Bảng combo..........................................................................................43
Bảng 2.43. Bảng datcombo......................................................................................43
Bảng 2.44. Bảng users.............................................................................................44
Bảng 2.45. Bảng cmtphim.......................................................................................44
Bảng 2.46. Bảng cmttintuc......................................................................................44
11 | P a g e
DANH SÁCH CÁC KÝ HIỆU, CHỮ VIẾT TẮT
12 | 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.
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
13 | P a g e
người tiêu dùng và theo kịp xu hướng hiện đại hóa ngày nay .
14 | P a g e
Chương 1: CƠ SỞ LÝ THUYẾT
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.
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ứ 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ó.
21 | P a g e
– Dựng model
– Train và ước tính model
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.
1.9.4 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.
1.9.4.1 ứ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.
1.9.4.2. 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).
1.9.5. 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
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
27 | P a g e
- Xem chi tiết sách
- 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.
28 | P a g e
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.
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.
2.1. 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
29 | P a g e
- 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
- 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.
2.2. Biểu đồ usecase
2.2.1. Biểu đồ usecase tổng quát
30 | P a g e
Hình 2.1. Biểu đồ use case tổng quát
31 | P a g e
2.2.2. Biểu đồ usecase của Quản trị viên
2.2.2.1. Biểu đồ usecase quản lý sản phẩm
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.
Điều kiện sau Danh sách sản phẩm sẽ được hiển thị
32 | P a g e
Bảng 2.2. Đặc tả usecase thêm mới sản phẩm
Tên chức năng Thêm mới sản phẩm
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
Đ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
Kích hoạt Truy cập “Sử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
33 | P a g e
Đ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
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
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
Kịch bản 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
Tên chức năng Lọc sản phẩm theo danh mục và tác giả
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
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
35 | P a g e
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
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
36 | P a g e
2.2.2.2. Biểu đồ usecase quản lý tin tức
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
Điều kiện sau Danh sách tin tức sẽ được hiển thị
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
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
38 | P a g e
Đ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
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
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
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
39 | P a g e
2.2.2.3. Biểu đồ usecase quản lý đơn hàng
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
Điều kiện sau Danh sách đơn hàng sẽ được hiển thị
40 | P a g e
Tên chức năng Thêm đơn hàng
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
Đ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
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
41 | P a g e
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
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
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
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
42 | P a g e
2.2.2.4. Biểu đồ usecase quản lý khách hàng
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
Điều kiện sau Danh sách khách hàng sẽ được hiển thị
43 | P a g e
Bảng 2.6. Đặc tả usecase chỉnh sửa khách hàng
Tên chức năng Sửa thông tin khách hàng
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
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
44 | P a g e
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
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
45 | P a g e
Bảng 2.8. Đặc tả usecase xem danh sách doanh thu
Tên chức năng Xem danh sách doanh thu
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
Điều kiện sau Danh sách doanh thu sẽ được hiển thị
46 | P a g e
Hình 2.6. Biểu đồ usecase quản lý lợi nhuận
Bảng 2.18. Đặc tả usecase xem danh sách lợi nhuận
Tên chức năng Xem danh sách lợi nhuậ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
Điều kiện sau Danh sách lợi nhuận sẽ được hiển thị
47 | P a g e
Bảng 2.19. Đặc tả usecase xem danh sách tác giả
Tên chức năng Xem danh sách tác giả
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
Điều kiện sau Danh sách tác giả sẽ được hiển thị
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ả
Kịch bản 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ả
48 | P a g e
Thực hiện các bước thêm
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
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
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
49 | P a g e
Bảng 2.21. Đặc tả usecase xoá tác giả
Tên chức năng Xóa tác giả
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
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
50 | P a g e
Hình 2.8. Biểu đồ usecase quản lý trang
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
51 | P a g e
Tên chức năng Thêm trang
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
Đ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
Điều kiện trước Đăng nhập hệ thống bằng tài khoản admin,nhân viê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
Điều kiện trước Đăng nhập hệ thống bằng tài khoản admin, nhân viê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
53 | P a g e
Hình 2.9. Biểu đồ usecase quản lý sản phẩm bán được
Bảng 2.26. Đặc tả usecase xem danh sách sản phẩm bán được
Tên chức năng Xem danh sách sản phẩm bán được
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ị
54 | P a g e
Hình 2.11. Biểu đồ usecase quản lý doanh mục
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
Điều kiện sau Danh sách doanh mục sẽ được hiển thị
55 | P a g e
Tên chức năng Xóa doanh mục
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
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
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
56 | P a g e
Đ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
Tác nhân Hệ thống
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
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
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
Điều kiện sau Danh sách tài khoản sẽ được hiển thị
58 | 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 tài
Chọn Quản lý tài khoản
khoản đang có
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
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
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
59 | P a g e
Đ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
Tác nhân Hệ thống
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
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
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
61 | P a g e
Điều kiện sau Danh sách quyền truy cập sẽ được hiển thị
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
Đ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
62 | P a g e
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”
Đ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
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
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
63 | P a g e
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
Kịch bản 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
64 | P a g e
Xử lý ngoại lệ
65 | P a g e
Kích hoạt Truy cập đăng ký thành viên trên màn hình
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
66 | P a g e
Hình 2.16. Biểu đồ usecase tìm kiếm
Bảng 2.41. Đặc tả usecase tìm kiếm
Tên chức năng Tìm kiếm sản phẩm
Điều kiện trước Đăng nhập hệ thống bằng tài khoản Thành viên
Điều kiện sau Thông tin sản phẩm sẽ được hiển thị
67 | P a g e
Hình 2.17. Biểu đồ usecase hướng dẫn mua hàng
Bảng 2.42. Đặc tả usecase hướng dẫn mua hàng
Tên chức năng Hướng dẫn mua hàng
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
Điều kiện sau Thông tin hướng dẫn sẽ được hiển thị
68 | P a g e
Hình 2.18. Biểu đồ usecase xem thông tin sách
Bảng 2.43. Đặc tả usecase xem thông tin sách
Tên chức năng Xem thông tin sách
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
69 | P a g e
Hình 2.19. Biểu đồ usecase quản lý thông tin cá nhân
Bảng 2.44. Đặc tả 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
Điều kiện trước Đăng nhập hệ thống bằng tài khoản Thành viên
70 | P a g e
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:
71 | P a g e
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
Orders
Bảng 2.10. Bảng 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
Products
Bảng 2.11. Bảng 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
ProductName Nvarchar 255 Tên sả n phẩ m
ShortDesc Nvarchar 255 Mô tả ngắ n sả n phẩ m
72 | P a g e
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ả
Authors
Bảng 2.12. Bảng Authors
Kiểu dữ Maxlengt
Tên cột Ghi chú Giải thích
liệu h
AuthorID Int 20 Khó a chính Mã tá c giả
AuthorName Nvarchar 50 Tên tá c giả
73 | P a g e
Description Nvarchar Max Miêu tả nộ i dung tá c
giả
Categories
Bảng 2.13. Bảng 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
TransactStatus
Bảng 2.14. Bảng TransaciStatus
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
Description Nvarchar Max Miêu tả nộ i dung giao
dịch
74 | P a g e
Customers
Bảng 2.15. Bảng 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
Face
Bảng 2.16. Bảng 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
chính
FaceImg Varbinary Max Ả nh faceID
75 | P a g e
CheckFaceImg Varbinary Max Kiểm tra faceID
Roles
Bảng 2.17. Bảng 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
Accounts
Bảng 2.18. Bảng 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
cù ng củ a tà i khoả n
CreateDate Datetime Ngà y đă ng kí tà i
76 | P a g e
khoả n
FaceID Int Khó a Mã faceID
phụ
Posts
Bảng 2.19. Bảng 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
MetaKey Nvarchar 250 Từ khó a SEO
MetaDesc Nvarchar 250 Mô tả SEO
77 | P a g e
Views Int Lượ t xem tin tứ c
Pages
Bảng 2.20. Bảng 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
78 | P a g e
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.4.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.
79 | P a g e
đề 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
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.
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.6.3.2 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.
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.
2.6.3.3 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.
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.6.3 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
Hình 3.2. Giao diện màn hình đăng nhập
85 | P a g e
Hình 3.3. Giao diện màn hình đăng kí
86 | P a g e
Hình 3.6. Giao diện màn hình thông tin liên hệ
87 | P a g e
Hình 3 8. Giao diện màn hình hướng dẫn mua hàng
88 | P a g e
Hình 3 10. Giao diện màn hình tài khoản của tôi
Hình 3 11. Giao diện màn hình danh sách đơn hàng đã mua
Hình 3 12. Giao diện màn hình thay đổi mật khẩu
89 | P a g e
3.2.2. Giao diện trang quản lý
90 | P a g e
Hình 3.15. Giao diện màn hình quản lý chi tiết đơn hàng
Hình 3.16. Giao diện màn hình quản lý thay đổi trạng thái đơn hàng
91 | P a g e
Hình 3.17. Giao diện màn hình quản lý sản phẩm
Hình 3.18. Giao diện màn hình quản lý xóa đơn hàng
92 | P a g e
Hình 3.19. Giao diện quản lý cập nhật sản phẩm
Hình 3.20. Giao diện màn hình quản lý xóa sản phẩm
93 | P a g e
Hình 3.21. Giao diện màn hình quản lý khách hàng
Hình 3.22. Giao diện xem chi tiết thông tin khách hàng
94 | P a g e
Hình 3.23. Giao diện xác nhận xóa khách hàng
95 | P a g e
Hình 3.25. Giao diện thống kê theo sản phẩm bán được
96 | P a g e
Hình 3.27. Giao diện xem chi tiết tài khoản Admin
97 | P a g e
Hình 3.29. Giao diện xem chi tiết danh mục sản phẩm
Hình 3.30. Giao diện cập nhật danh muc sản phẩm
98 | P a g e
Hình 3.31. Giao diện xác nhận xóa danh mục sản phẩm
99 | P a g e
Hình 3.32. Giao diện xem chi tiết thông tin tác giả
Hình 3.32. Giao diện cập nhật thông tin tác giả
100 | P a g e
Hình 3.33. Giao diện xác nhận xóa tác giả
101 | P a g e
Hình 3.35. Giao diện quản lý tin tức
102 | P a g e
Hình 3.37. Giao diện cập nhật tin tức
103 | P a g e
Hình 3.40. Giao diện xem chi tiết trang
104 | P a g e
Hình 3.42. Giao diện thay đổi mật khẩu Admin
105 | P a g e
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
106 | P a g e
TÀI LIỆU THAM KHẢO
107 | P a g e