TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
──────── * ───────
ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
NGÀNH CÔNG NGHỆ THÔNG TIN
HỆ THỐNG GỢI Ý SẢN PHẨM CHO
WEBSITE THƯƠNG MẠI ĐIỆN TỬ
Sinh viên thực hiện : Bùi Văn Toàn
Lớp CNTT2 - K54
Giáo viên hướng dẫn: TS. Nguyễn Nhật Quang
HÀ NỘI 5-2014
MỤC LỤC
MỞ ĐẦU
Ngày nay, việc phát triển các website thương mại điện tử ngày càng phổ
biến, đặc biệt là những năm gần đây lĩnh vực thương mại điện tử phát triển nhanh
chóng. Với đăc thù của website thương mại điện tử tốn ít chi phí, ngày càng được
nhiều người lựa chọn hình thức kinh doanh này. Tuy nhiên với sự phát triển gia
tăng không ngừng của các website thương mại điện tử cũng phát sinh ra một số
thách thức, một trong những thách thức là người dùng làm thế nào để chọn lựa được
sản phẩm mà họ cần trong vô vàn sản phẩm trong thế giới ảo này ?. Khi một khách
hàng vào một website thương mại điện tử thì có hai xu hướng: thứ nhất là họ đã
định hướng được sản phẩm cụ thể mà họ đã mua, thứ hai là họ chỉ định hướng được
loại sản phẩm mà họ sẽ mua. Đối với trường hợp thứ nhất thì đơn giản là họ đã định
hướng được sẽ mua sản phẩm nào rồi, vấn đề chỉ là chọn mua ở đâu mà thôi. Đối
với trường hợp thứ hai thì người dùng sẽ gặp khó khăn hơn nhiều, họ sẽ phải chọn
sản phẩm phù hợp nhất với nhu cầu của họ. Vấn đề đặt ra là làm sao họ có thể làm
được điều đó trong vô vàn sản phẩm cùng chủng loại mà họ đang tìm. Trong trường
hợp này người dùng sẽ cần đến sự trợ giúp của hệ thống gợi ý sản phẩm để giải
quyết vấn đề về này. Người dùng tham gia hệ thống sẽ được khuyến khích để đưa ra
những phản hồi về thông số sản phẩm mà họ đang tìm kiếm; từ các phản hồi này hệ
thống sẽ xử lý và đưa ra danh sách các sản phẩm phù hợp nhất với nhu cầu của
người dùng. Ngày nay các hệ thống gợi ý ngày càng được chú trọng, nhất là đối với
các nhà cung cấp dịch vụ trực tuyến như : Amazon, Netflix, Youtube, Một hệ
thống gợi ý có thể là vấn đề sống còn đối với nhà cung cấp dịch vụ đặc biệt là
những năm gần đây tính cạnh tranh ngày càng lớn, một hệ thống gợi ý tốt có thể
làm tăng sự hài lòng của khách hàng, giữ chân được người dùng.
Thực tế hiện nay những phương pháp gợi phổ biến có điểm yếu là độ chính
xác chưa cao, đặc biệt là đối với các sản phẩm mà có nhiều các thuộc tính. Hệ thống
gợi ý đưa ra những sản phẩm mà không biết dc người dùng muốn gì ở sản phẩm đó.
Điều này rễ dẫn đến một phiên gợi ý thất bại. Vì vậy trong đồ án tốt nghiệp này em
xin trình bày về phương pháp gợi ý sản phẩm cho website thương mại điện tử có thể
giải quyết được vấn đề nêu trên. Những phương pháp gợi ý mà em sử dụng trong hệ
thống này gồm có phương pháp đối sánh mẫu (Pattern Matching) và phản hồi người
dùng (Critique Based). Trong đồ án này em cũng sẽ trình bày về xây dựng giải
thuật, phân tích thiết kế hệ thống, cài đặt, thử nghiệm, đánh giá trên bộ dữ liệu sản
phẩm của website thương mại điện tử .
Đồ án của em sẽ được trình bày theo bố cục các phần như sau:
Sinh viên thực hiện: Bùi Văn Toàn - 20092754 Khóa K54 Lớp CNTT2
Phần I: Giới thiệu bài toán
Phần II: Phân tích thiết kế hệ thống
Phần III: Phương pháp gợi ý
Phần IV: Cài đặt hệ thống gợi ý
Phần V: Kết luận và hướng phát triển
Trong suốt quá trình làm đồ án em đã nhận được sự chỉ bảo, giúp đỡ tận tình
từ thầy giáo TS. Nguyễn Nhật Quang cùng các anh/chị trong công ty cổ phần công
nghệ DKT. Tuy nhiên bài viết của em không thể tránh khỏi những hạn chế, thiếu
sót. Em rất mong nhận được những ý kiến đóng góp từ thầy cô giáo đặc biệt là thầy
giáo TS. Nguyễn Nhật Quang. Em xin chân thành cảm ơn !
PHẦN I: GIỚI THIỆU BÀI TOÁN
1.1 Đặt vấn đề
Người dùng các hệ thống thông tin, đặc biệt là các website thương mại điện
tử. Người dùng thường gặp các vấn đề về tìm kiếm sản phẩm phù hợp với nhu cầu
của họ do lượng sản phẩm lớn, thời gian có hạn. Một hệ thống gợi ý thông thường
có thể đưa ra gợi ý mà bạn quan tâm, tuy nhiên sau khi xem sản phẩm bạn nhận
thấy một thuộc tính nào đó không phù hợp với yêu cầu của bạn về sản phẩm đó. Ví
dụ khi bạn vào một trang thương mại điện tử và bạn tìm kiếm một chiếc điện thoại
có hệ điều hành WindowsPhone 8, chíp xử lý lõi kép, màn hình 4,5 inch. Một hệ
thống gợi ý bình thường có thể gợi ý cho bạn những chiếc điện thoại chạy
WindowsPhone 8. Bạn nhìn có vẻ ưng một trong số đó và chọn xem chi tiết thì
nhận thấy màn hình nó là 6 inch, hẳn là bạn sẽ xem chiếc điện thoại các. Điều đáng
nói ở đây là bạn phải dò dẫm và mất thời gian khá nhiều. Và có thể tính kiên nhẫn
của bạn có hạn và bạn chẳng đạt được gì cả ? Ta có thể nhận thấy được hiệu quả
khá tốt của hệ thống gợi ý tuy nhiên nó còn có thể làm tốt hơn thế. Hệ thống gợi ý
trong đồ án này sẽ giải quyết được vấn đề nêu trên, đồng thời làm tăng hiệu quả gợi
ý, sự hài lòng của khách hàng.
Khi người dùng sử dụng hệ thống gợi ý, họ thực sự có thể nói cho hệ thống
biết họ cần gì, cần sản phẩm như thế nào ? Từ đó hệ thống sẽ đưa ra danh sách gợi ý
phù hợp nhất với yêu cầu đó của người dùng. Điều này sẽ giúp tăng hiệu quả hệ
thống, tiết kiệm thời gian cho người dùng đồng thời tăng sự hài lòng khi sử dụng hệ
thống.
Sinh viên thực hiện: Bùi Văn Toàn - 20092754 Khóa K54 Lớp CNTT2
Danh sách sản phẩm gợi ý của hệ thống sẽ dựa trên những gì mà người dùng
đã phản hồi, những gì mà người dùng đang xem. Hay nói cách khác hệ thống sẽ
bám sát vào sở thích người dùng để đưa ra gợi ý.
1.2 Yêu cầu và mục tiêu
Các hệ thống gợi ý thông thường có một nhược điểm là gợi ý một cách quá
chung chung hoặc quá cụ thể dẫn đến tập gợi ý là quá rộng hoặc quá hẹp làm cho
người dùng không thể chọn được các sản phẩm phù hợp. Cần phải có phương pháp
để giải quyết vấn đề này. Trong đồ án này em sẽ kết hợp phương pháp gợi ý đối
sánh mẫu (Pattern Matching) và phản hồi người dùng ( Critique Based) để có tập
gợi ý tốt hơn, hạn chế được nhược điểm của các phương pháp cũ.
Yêu cầu: Phải làm thế nào để kết hợp hai phương pháp này để đưa ra kết quả tốt
nhất. Để có thể thực hiện yêu cầu này cần
- Cần phải nắm rõ được từng phương pháp hoạt động ra sao ?
- Điểm mạnh, điểm yếu của mỗi phương pháp, nên sử dụng phương pháp nào
trong giai đoạn nào ?
- Nghiên cứu hệ thống gợi ý
- Phân tích thiết kế hệ thống gợi ý
- Xây dựng hệ thống gợi ý
- Đánh giá hiệu quả của hệ thống gợi ý.
Mục tiêu:
- Xây dựng được hệ thống gợi ý mang lại hiệu quả tốt
- Hệ thống đáp ứng được khi áp dụng vào thực tế
1.3 Giải quyết bài toán
Bài toán đặt ra như đã nêu trên là làm thế nào để tăng hiệu quả hệ thống gợi
ý, tăng khả năng đơn hàng thành công. Để giải quyết bài toán này, hệ thống gợi ý
trong đồ án này sẽ sử dụng kết hợp hai phương pháp gợi ý là đối sánh mẫu và phản
hồi người dùng.
Về tổng quan hệ thống gợi ý sẽ được chia làm hai pha:
Pha thứ nhất: Danh sách gợi ý ban đầu
Sinh viên thực hiện: Bùi Văn Toàn - 20092754 Khóa K54 Lớp CNTT2
Trong phiên gợi ý này hệ thống sẽ dựa trên lịch sử phản hồi người dùng để
đưa ra gợi ý. Phiên gợi ý này sẽ sử dụng phương pháp gợi ý đối sánh mẫu.
Pha thứ hai : Gợi ý dựa trên phản hồi người dùng
Trong phiên gợi ý này người dùng sẽ phản hồi lại các thuộc tính của sản
phẩm mà người dùng mong muốn. Từ đó hệ thống gợi ý sẽ xử lý dữ liệu để tìm ra
những sản phẩm phù hợp nhất với yêu cầu người dùng. Trong phiên này người
dùng phản hồi các thuộc tính một cách trực tiếp các thuộc tính dựa trên các thuộc
tính mà người dùng đang xem. Trong pha gợi ý này hệ thống sẽ sử dụng kết hợp hai
phương pháp gơi ý là đối sánh mẫu và phản hồi người dùng.
PHẦN II: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
2.1 Mô tả tổng quan
2.1.1 Môi trường hệ thống
Hình 2.1: Sơ đồ tổng quan hệ thống gợi ý.
2.1.2 Các pha của hệ thống gợi ý
Pha thứ nhất : Đưa ra danh sách gợi ý ban đầu
Pha thứ hai : Đưa ra danh sách các sản phẩm phù hợp nhất dựa trên phản hồi/đánh
giá của người dùng về thuộc tính các sản phẩm
Sinh viên thực hiện: Bùi Văn Toàn - 20092754 Khóa K54 Lớp CNTT2
Ở trên sơ đồ Pic 1, mô tả một phiên làm việc của hệ thống gợi ý. Ban đầu người
dùng có thể xem một sản phẩm từ danh sách gợi ý ban đầu dựa trên phương pháp
Pattern Matching, hay bất kì đâu trên website. Khi người dùng đã chọn xem chi tiết
một sản phẩm, hệ thống sẽ đưa ra các tùy chọn thuộc tính cho sản phẩm để người
dùng đánh giá. Khi đã có đánh giá của người dùng về thuộc tính các sản, dựa trên
phương pháp Critique Based hệ thống sẽ tính toán để đưa ra danh sách các sản
phẩm phù hợp nhất với sản phẩm mà người dùng mong muốn. Sau khi có được
danh sách sản phẩm thỏa mãn nhất ( chính là đầu ra của Critique Based), người
dùng sẽ tiếp tục chọn xem các sản phẩm, nếu thỏa mãn người dùng có thể chọn
mua, còn nếu chưa hài lòng về một thuộc tính nào khác thì người dùng tiếp tục phản
hồi. Hệ thống sẽ kết thúc phiên gợi ý khi người dùng mua sản phẩm hoặc kết thúc
trong thất bại , tức là người dùng thoát khỏi hệ thống.
2.2 Phân tích thiết kế hệ thống
2.2.1 Chức năng của hệ thống
- Chức quản lý hệ thống đối với quản trị viên
+ Quản lý danh mục sản phẩm hỗ trợ gợi ý
+ Quản lý thuộc tính gợi ý của mỗi danh mục sản phẩm
+ Quản lý giá trị gợi ý của mỗi thuộc tính
+ Quản lý kiểu thuộc tính
- Chức năng đối với người dùng
+ Người dùng xem sản phẩm
+ Người dùng đăng kí/ đăng nhập
+ Người dùng like sản phẩm/ thích sản phẩm/ bình luận sản phẩm/ tìm kiếm
sản phẩm
+ Người dùng xem lịch sử xem sản phẩm, lịch sử thích sản phẩm
+ Người dùng gửi phản hồi/ đánh giá về thuộc tính của sản phẩm
Biểu đồ của hệ thống
Sinh viên thực hiện: Bùi Văn Toàn - 20092754 Khóa K54 Lớp CNTT2
Hình 2.2 : Biểu đồ UseCase của hệ thống gợi ý sản phẩm
UseCase: Người dùng xem sản phẩm
Hình 2.3: UseCase Người dùng xem sản phẩm
Khi bắt đầu vào hệ thống, người dùng có thể xem bất cứ một sản phẩm nào ở bất cứ
đâu trên hệ thống.
UseCase: Người dùng phản hồi
Sinh viên thực hiện: Bùi Văn Toàn - 20092754 Khóa K54 Lớp CNTT2
Hình 2.4: UseCase Người dùng phản hồi
Khi người dùng xem một sản phẩm mà họ có ý định mua nhưng lại không hài lòng
về một hay một số thuộc tính. Hệ thống cho phép người dùng phản hồi về những
thuộc tính này giá trị mà họ mong muốn.
UseCase: Xử lý phản hồi người dùng
Hình 2.5:UseCase Hệ thống xử lý phản hồi
Khi người dùng phản hồi hệ thống gợi ý sẽ :
- Tiếp nhận phản hồi của người dùng
- Cập nhập các thông tin cần thiết phục vụ cho việc tính toán
- Tính toán kết quả dựa trên phản hồi người dùng
- Xếp hạng kết quả đã được tính toán.
UseCase: Gợi ý danh sách sản phẩm
Sinh viên thực hiện: Bùi Văn Toàn - 20092754 Khóa K54 Lớp CNTT2
Hình 2.6: UseCase Hệ thống gợi ý đưa ra danh sách gợi ý
Sau khi hệ thống gợi ý tính toán xếp hạng kết quả, hệ thống sẽ đưa ra danh sách kết
quả phù hợp nhất với phản hồi của người dùng.
UseCase: Cập nhập hệ thống
Hình 2.7: UseCase Admin cập nhập hệ thống
Admin sẽ có quyền cập nhật, bảo trì hệ thống gợi ý. Như là các công việc thêm , sử,
xóa các dữ liệu hỗ trợ cho việc tính toán kết quả.
Biểu đồ hoạt động
Sinh viên thực hiện: Bùi Văn Toàn - 20092754 Khóa K54 Lớp CNTT2
Hình 2.8: Biểu đồ hoạt động Hệ thống xử lý phản hồi người dùng
Khi người dùng đắt đầu vào hệ thống:
- Hệ thống sẽ đưa ra danh sách các sản phẩm gợi ý ban đầu dựa trên: Lịch sử xem
các sản phẩm của người dùng
- Khi người dùng chọn xem chi tiết một sản phẩm bất kì: Hệ thống sẽ đưa ra gợi ý
dựa trên sản phẩm hiện tại hoặc sản phẩm được xem lần trước.
+ Nếu người dùng hài lòng ngay và chọn mua, hệ thống kết thúc thành công
+ Nếu người dùng không hài lòng về một hay các thuộc tính thì hệ thống cho
phép phản hồi lại giá trị mà họ mong muốn.
- Sau khi có được phản hồi người dùng, hệ thống tiếp tục xử lý để đưa ra danh sách
sản phẩm gợi ý.
+ Lúc này người dùng có thể tiếp tục phản hồi các thuộc tính dựa trên sản
phẩm hiện tại hoặc:
+ Chọn xem sản phẩm được hệ thống gợi ý dựa trên những phản hồi của
người dùng
- Hệ thống sẽ kết thúc khi người dùng chọn mua sản phẩm hoặc kết thúc trong thất
bại( tức là thoát khỏi hệ thống mà không đạt được gì)
Sinh viên thực hiện: Bùi Văn Toàn - 20092754 Khóa K54 Lớp CNTT2 10
2.2.2 Đặc tả giao diện người dùng
Người sử dụng hệ thống là người dùng của website thương mại điện tử có nhu cầu
tìm kiếm và mua sản phẩm.
- Người dùng có thể đăng nhập hoặc không đăng nhập
- Người dùng có am hiểu một chút về những sản phẩm mà họ cần mua
- Người dùng cảm giác thoải mái, không ép buộc khi sử dụng hệ thống. Hệ
thống gợi ý sẽ tiết kiệm thời gian tìm kiếm sản phẩm mà thỏa mãn người dùng.
Hệ thống sẽ có giao diện được tích hợp vào website thương mại điện tử.
Hệ thống sẽ có giao diện để cho người dùng phản hồi và khu vực để hiển thị danh
sách các sản phẩm gợi ý.
2.2.3 Các yêu cầu phi chức năng
- Hệ thống được viết ra cần có tính độc lập để có thể tích hợp vào các hệ thống
thương mại điện tử khác nhau.
- Kết quả gợi ý phải phù hợp với nhu cầu người dùng ở mức có thể chấp nhận được.
- Thời gian đưa ra gợi ý đảm bảo trong thời gian ngắn, tức thời.
2.2.4 Đánh giá hệ thống
Hệ thống gợi ý luôn được đánh giá cao trong lĩnh vực thương mại điện tử.
Một hệ thống gợi ý tốt sẽ có thể làm tăng doanh thu cửa hàng lên rất nhiều cũng
như làm người dùng cảm thấy thoải mái hơn. Hệ thống được nêu ra trên đây có thể
đáp ứng những điều đó. Vấn đề khó khăn có thể xảy ra trong việc tính toán để lựa
chọn các sản phẩm tương tự vì chi phí tính toán cũng như số lượng sản phẩm là rất
lớn. Trong quá trình xây dựng hệ thống cần phải lường trước những vấn đề này để
đưa ra giải pháp phù hợp.
2.2.5 Đặc tả yêu cầu hệ thống
a. Yêu cầu chức năng
Yêu cầu chức năng đối với các UseCase người dùng:
Tên UseCase Người dùng xem sản phẩm
Actor User
Kích hoạt Khi người dùng click vào một sản phẩm
Sinh viên thực hiện: Bùi Văn Toàn - 20092754 Khóa K54 Lớp CNTT2 11
Mô tả
Hệ thống sẽ show ra chi tiết về sản phẩm, như là tên và những
thuộc tính của sản phẩm
Điều kiện bắt đầu Người dùng truy cập vào hệ thống thương mại điện tử
Điều kiện kết thúc Thoát/ Chọn mua sản phẩm
Hình 2.9: Biểu đồ trạng thái Người dùng xem sản phẩm
Tên UseCase Người dùng phản hồi
Actor User
Kích hoạt Người dùng chọn các tùy chọn trên khu vực phản hồi
Mô tả Hệ thống được thiết kế khu vực phản hồi chứa các thông số kĩ
thuật của máy, người dùng có thể tùy chọn các thông số mà họ
mong muốn. Sau đó, hệ thống sẽ tiếp nhận phản hồi và xử lý
Điều kiện bắt đầu Khi người dùng đang xem chi tiết một sản phẩm
Điều kiện kết thúc Thoát/ Chọn mua sản phẩm
Yêu cầu chức năng đối với các UseCase của hệ thống gợi ý:
Tên UseCase Đưa ra gợi ý ban đầu
Actor Recommendation System
Kích hoạt Người dùng truy cập vào hệ thống thương mại điện tử
Mô tả Khi người dùng bắt đầu truy cập hệ thống, hệ thống dựa trên lịch
sử xem sản phẩm của người dùng để đưa ra gợi ý ban đầu.
Điều kiện bắt đầu None
Điều kiện kết thúc None
Hình 2.10: Biểu đồ trạng thái Đưa ra danh sách gợi ý ban đầu
Sinh viên thực hiện: Bùi Văn Toàn - 20092754 Khóa K54 Lớp CNTT2 12
Việc đưa ra gợi ý ban đầu cần xác định được người dùng này đã truy cập trước kia
chưa hay đã có tài khoản ở hệ thống chưa để hệ thống gợi ý có thể khai thác dữ liệu
và đưa ra gợi ý phù hợp nhất.
- ID ở đây là định danh để xác định người dùng này với người dùng khác , ở đây sẽ
được lưu dưới dạng cookie.
- Đối với người dùng đã đăng nhập hệ thống sẽ khai thác lịch sử duyệt sản phẩm
được lưu trong dữ liệu.
Tên UseCase Tiếp nhận phản hồi
Actor Recommendation System
Kích hoạt None
Mô tả Khi người dùng gửi phản hồi, hệ thống gợi ý sẽ tiếp nhận phản
hồi.
Điều kiện bắt đầu Người dùng gửi phản hồi
Điều kiện kết thúc Tất cả phản hồi đã được gửi thành công.
Tên UseCase Cập nhập thông tin phản hồi
Actor Recommendation System
Kích hoạt None
Mô tả Khi tiếp nhận thông tin phản hồi đầy đủ. hệ thống tiến hành cập
nhập các thông số cần thiết để phục vụ cho việc tính toán kết
quả, đưa ra gợi ý
Điều kiện bắt đầu Đã tiếp nhận hết phản hồi
Điều kiện kết thúc Tất cả thông tin đã được cập nhập
Tên UseCase Xử lý thông tin phản hồi
Actor Recommendation System
Kích hoạt None
Mô tả Khi phản hồi đã được cập nhập, hệ thống tiến hành xử lý kết quả
Điều kiện bắt đầu Đã cập nhập xong thông tin phản hồi
Điều kiện kết thúc Tất cả các xử lý đã xong
Tên UseCase Xếp hạng kết quả
Actor Recommendation System
Kích hoạt None
Mô tả Sau khi có kết quả tính toán, hệ thống tiến hành xếp hạng kết
quả từ cao đến thấp
Điều kiện bắt đầu Xử lý thông tin hoàn tất
Điều kiện kết thúc Xếp hạng xong các sản phẩm
Tên UseCase Đưa ra gợi ý
Actor Recommendation System
Kích hoạt None
Sinh viên thực hiện: Bùi Văn Toàn - 20092754 Khóa K54 Lớp CNTT2 13
Mô tả Khi có được danh sách kết quả đã được xếp hạng, hệ thống sẽ
đưa ra những kết quả phù hợp nhất với phản hồi người dùng
Điều kiện bắt đầu Xếp hạng hoàn tất
Điều kiện kết thúc Đưa ra hết số lượng sản phẩm định trước, phù hợp nhất
Hình 2.11: Biểu đồ trạng thái Xử lý thông tin phản hồi
Đây là biểu đồ trạng thái của quá trình xử lý thông tin phản hồi của hệ thống gợi ý:
- Hệ thống tiếp nhận phản hồi từ người dùng
- Cập nhập phản hồi : Tại trạng thái này hệ thống tiến hành cập nhật cả thuộc tính
mới được phản hồi và trọng số của chùng.
- Hệ thống xử lý thông tin đã được phản hồi
- Hệ thống xếp hạng kết quả
- Hệ thống đưa ra danh sách gợi ý.
Yêu cầu chức năng đối với các UseCase người quản trị:
Tên UseCase QL danh mục gợi ý
Actor Admin
Kích hoạt Admin chọn quyền quản lý danh mục gợi ý
Mô tả Admin sẽ có quyền thêm một danh mục gợi ý mới hoặc xóa bỏ
đi danh mục đang được gợi ý
Điều kiện bắt đầu Amin đăng nhập hệ thống
Điều kiện kết thúc Thêm thành công/ xóa thành công
Tên UseCase QL thuộc tính gợi ý
Actor Admin
Kích hoạt Admin chọn quyền quản lý thuộc tính gợi ý của một danh mục
được gợi ý
Mô tả Admin sẽ có quyền thêm một hay nhiều thuộc tính gợi ý mới
hoặc xóa đi những thuộc tính đang đưa ra gợi ý
Điều kiện bắt đầu Admin đăng nhập hệ thống
Sinh viên thực hiện: Bùi Văn Toàn - 20092754 Khóa K54 Lớp CNTT2 14
Điều kiện kết thúc Thêm thành công/ xóa thành công
Tên UseCase QL trọng số thuộc tính
Actor Admin
Kích hoạt Admin chọn quyền quản lý trọng số thuộc tính
Mô tả Admin sẽ có quyền thay đổi trọng số của thuộc tính gợi ý khi
thuộc tính chưa có phản hồi, đã phản hồi và được phản hồi là
thuộc tính quan trọng
Điều kiện bắt đầu Admin đăng nhập hệ thống
Điều kiện kết thúc Thay đổi thành công
Tên UseCase QL kiểu thuộc tính
Actor Admin
Kích hoạt Admin chọn quyền quản lý kiểu thuộc tính
Mô tả Admin sẽ có quyền thay đổi kiểu thuộc tính, kiểu thuộc tính có
thể của thuộc tính là kiểu số numeric hoặc kiểu xâu string
Điều kiện bắt đầu Admin đăng nhập hệ thống
Điều kiện kết thúc Thay đổi thành công
b. Yêu cầu phi chức năng
Ngôn ngữ lập trình : PHP, Jquery
Ngôn ngữ trình bày: Html, Css
Hệ quản trị cơ sở dữ liệu : SQL Sever 2008
2.2.6 Đặc tả thiết kế hệ thống
a. Biểu đồ triển khai hệ thống
Sinh viên thực hiện: Bùi Văn Toàn - 20092754 Khóa K54 Lớp CNTT2 15
Hình 2.12: Biểu đồ triển khai của hệ thống
Sơ đồ triển khai mô tả vị trí vật lý của hệ thống. Mỗi thành phần nằm trên một
điểm.
Recommendation System chứa các mô đun cần thiết cho hệ thống.
b. Thiết kế kiến trúc hệ thống
Giao diện hệ thống mức kiến trúc
Hình 2.13: Giao diện hệ thống mức kiến trúc
Các lớp của hệ thống mức kiến trúc
Sinh viên thực hiện: Bùi Văn Toàn - 20092754 Khóa K54 Lớp CNTT2 16
Hình 2.14: Biểu đồ lớp mức kiến trúc của hệ thống gợi ý
Hình 2.15: Biểu đồ lớp khi quản trị viên sử dụng hệ thống
c. Thiết kế kiến trúc dữ liệu
Sinh viên thực hiện: Bùi Văn Toàn - 20092754 Khóa K54 Lớp CNTT2 17
Có 3 dữ liệu được sử dụng trong hệ thống gợi ý.
- Dữ liệu về người dùng : Thông tin người dùng, người dùng like, người dùng
comment, người dùng đã xem.
- Dữ liệu hệ thống gợi ý: Danh mục sản phẩm hỗ trợ gợi ý, danh sách các thuộc
tính gợi ý của mỗi danh mục sản phẩm, giá trị gợi ý của mỗi thuộc tính, trong số
gợi ý của thuộc tính, kiểu thuộc tính.
- Dữ liệu thứ 3 là dữ liệu về sản phẩm: sản phẩm, thương hiệu, thuộc tính, các
tùy chọn thuộc tính, giá trị thuộc tính.
Mô tả dữ liệu
* Dữ liệu của người dùng:
- Bảng thông tin người dùng: RS_Users
Bảng 2.1: Bảng CSDL thông tin người dùng
Trong bảng này:
+ uid là mã người dùng
+ upass : Mật khẩu được mã hóa
+ uname: Tên người dùng
+ ulevel: Cấp độ người dùng ( từ 1 đến 5 : 1 là người dùng thường, 5 là mức
quản trị viên)
- Bảng sản phẩm mà người dùng đã thích: RS_LikeProducts
Bảng 2.2: Bảng CSDL sản phẩm người dùng thích
Trong bảng này:
+ Uid: mã người dùng
+ Uname: tên người dùng
Sinh viên thực hiện: Bùi Văn Toàn - 20092754 Khóa K54 Lớp CNTT2 18
+ ProId: mã sản phẩm mà người dùng thích
+ Date: ngày thích sản phẩm
- Comment của người dùng: RS_Comment
Bảng 2.3: Bảng CSDL ý kiến của người dùng
Trong bảng này:
+ Uid: mã người dùng
+ Uname: tên người dùng
+ ProId: mã sản phẩm mà người dùng comment
+ Comment: Nội dung comment
- Bảng những sản phẩm đã xem trong quá khứ : RS_ViewedProducts
Bảng 2.4: Bảng CSDL sản phẩm mà người dùng đã xem trong quá khứ
Trong bảng này:
+ Uid: mã người dùng
+ Uname: tên người dùng
+ ProId: Sản phẩm mà người dùng đã xem
+ Date: Ngày xem
* Dữ liệu cho hệ thống gợi ý
- Bảng danh mục sản phẩm hỗ trợ gợi ý: RS_CategorySupport
Sinh viên thực hiện: Bùi Văn Toàn - 20092754 Khóa K54 Lớp CNTT2 19
Bảng 2.5: Bảng CSDL danh mục sản phẩm hỗ trợ gợi ý
Trong bảng này:
+ CateId: mã danh mục sản phẩm
+ NameCate: tên danh mục
- Bảng danh sách thuộc tính gợi ý đối với mỗi danh mục sản phẩm: RS_Atrribute
Bảng 2.6: Bảng CSDL thuộc tính hỗ trợ gợi ý
Trong bảng này:
+ cateID: mã danh mục sản phẩm
+ nameCate: tên danh mục sản phẩm
+ optionID: mã thuộc tính gợi ý
+ nameOption: Tên thuộc tính gợi ý
+ point: trọng số gợi ý của thuộc tính
+ compare: kiểu của thuộc tính
+ name_compare: tên của kiểu thuộc tính
- Bảng danh sách các tùy chọn của mỗi thuộc tính: RS_AttributeRecommend
Sinh viên thực hiện: Bùi Văn Toàn - 20092754 Khóa K54 Lớp CNTT2 20
Bảng 2.7: Bảng CSDL các tùy chọn gợi ý của mỗi thuộc tính
Trong bảng này:
+ CateId: mã danh mục sản phẩm
+ OptionId: mã tùy chọn
+ AttributeId: mã thuộc tính
+ NameAttribute: tên thuộc tính
- Bảng trọng số thuộc tính gợi ý: RS_WeightAttribute
Bảng 2.8: Bảng CSDL trọng số thuộc tính gợi ý
Trong bảng này:
+ weight: trọng số của trạng thái thuộc tính ( đã phản hồi, chưa phản hồi, có
ưu tiên)
+ name : tên trạng thái thuộc tính
- Bảng kiểu thuộc tính: RS_Atrribute
Sinh viên thực hiện: Bùi Văn Toàn - 20092754 Khóa K54 Lớp CNTT2 21
( đã trình bày ở trên trong bảng sách thuộc tính gợi ý đối với mỗi danh mục sản
phẩm)
* Dữ liệu về sản phẩm:
- Bảng thông tin sản phẩm : Products
Sinh viên thực hiện: Bùi Văn Toàn - 20092754 Khóa K54 Lớp CNTT2 22
Bảng 2.9: Bảng CSDL thông tin về sản phẩm
Trong bảng này hệ thống gợi ý chỉ sử dụng một số trường:
+ Id: mã sản phẩm
Sinh viên thực hiện: Bùi Văn Toàn - 20092754 Khóa K54 Lớp CNTT2 23
+ Title: tên sản phẩm
+ CategoryId: mã danh mục sản phẩm
+ Price: giá sản phẩm
+ ImagePatch: chưa đường link tới ảnh sản phẩm
+ BrandId: mã thương hiệu sản phẩm
- Bảng thương hiệu sản phẩm: Product_Brands
Bảng 2.10: Bảng CSDL thương hiệu sản phẩm
Trong bảng này:
+ BrandId: mã thương hiệu
+ NameBrand: tên thương hiệu
+ CateId: mã danh mục
- Bảng các thuộc tính của sản phẩm: Product_Options
Sinh viên thực hiện: Bùi Văn Toàn - 20092754 Khóa K54 Lớp CNTT2 24
Bảng 2.11: Bảng CSDL thuộc tính của sản phẩm
Trong bảng này:
+ Id: mã thuộc tính
+ CategoryId: mã danh mục
+ Name: tên thuộc tính
+ isMainOption: Có phải là thuộc tính quan trọng
- Bảng các tùy chọn của thuộc tính:Product_OptionAttributes
Bảng 2.12: Bảng CSDL các tùy chọn của thuộc tính
Sinh viên thực hiện: Bùi Văn Toàn - 20092754 Khóa K54 Lớp CNTT2 25