Admin 3.3.1.1 Quản lý tài khoản «Functional» Status: approved Priority: medium Difficulty: meidum Admin có quyền quản lí tất cả các tài khoản người dùng khác, có thể xóa, sửa, thay đổi
Trang 1TRƯỜNG ĐẠI HỌC NÔNG LÂM TP HCM
KHOA CÔNG NGHỆ THÔNG TIN
LUẬN VĂN TỐT NGHIỆP
NGHIÊN CỨU, THIẾT KẾ VÀ XÂY DỰNG
HỆ THỐNG WEBSITE DATA4KID
Giáo viên hướng dẫn: Sinh viên thực hiện:
Ths Mai Anh Thơ Lê Thị Tuyết Vân - 09130100
Lưu Minh Triết - 09130088
TP.HỒ CHÍ MINH, tháng 9 năm 2013
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NÔNG LÂM TP HCM
KHOA CÔNG NGHỆ THÔNG TIN
LUẬN VĂN TỐT NGHIỆP
NGHIÊN CỨU, THIẾT KẾ VÀ XÂY DỰNG
Trang 3LÂM TP HCM
Cán bộ hướng dẫn: ThS Mai Anh Thơ
Cán bộ phản biện: ThS Phan Võ Minh Thắng
Luận văn cử nhân được bảo vệ tại HỘI ĐỒNG CHẤM LUẬN VĂN CỬ NHÂN TRƯỜNG ĐẠI HỌC NÔNG LÂM TP HCM ngày….tháng….năm…
Trang 4NHIỆM VỤ LUẬN VĂN CỬ NHÂN
I TÊN ĐỀ TÀI: NGHIÊN CỨU, THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG WEBSITE DATA4KID
II NHIỆM VỤ VÀ NỘI DUNG
- Tìm hiểu và nắm vững kiến thức về Struts2framework
- Tìm hiểu và nắm vững kiến thức về Hibernate framework
- Tìm hiểu yêu cầu khách hàng về các chức năng của hệ thống Data4Kid
- Nghiên cứu giải pháp lưu trữ tư liệu, tài liệu, và thiết kế dữ liệu để dễ dàng truy xuất
- Xây dựnghệ thống Website Data4kid dựa trên yêu cầu khách hàng
- Đưa hệ thống vào sử dụng thực tế
III NGÀY GIAO NHIỆM VỤ: 15/02/2012
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 15/08/2013
Họ tên sinh viên: LÊ THỊ TUYẾT VÂN
Ngày tháng năm sinh: 28/08/1991
Chuyên ngành: Công Nghệ Thông Tin
Phái: Nữ
Nơi sinh: An Giang Ngành: Công Nghệ Thông Tin
Họ tên sinh viên: LƯU MINH TRIẾT
Ngày tháng năm sinh: 1982
Chuyên ngành: Công Nghệ Thông Tin
Phái: Nam
Nơi sinh: Nình Thuận Ngành: Công Nghệ Thông Tin
Bộ Giáo Dục và Đào Tạo
Trường ĐH NÔNG LÂM TpHCM Độc Lập-Tự Do-Hạnh Phúc
Trang 5Ngày…./…./…
KHOA CNTT
Ngày…./…./…
CHỦ NHIỆM CHUYÊN NGÀNH Ngày…./…./…
CÁN BỘ HƯỚNG DẪN
Trang 6Chúng em xin chân thành cảm ơn các thầy cô khoa Công Nghệ
thông tin trường Đại học Nông Lâm TP.HCM, với những kiến thức quý
báu và sự nhiệt huyệt, tận tụy mà thầy cô đã truyền đạt cho chúng em
trong suốt 4 năm học
Chúng con xin gởi đến cha mẹ lời ghi ơn sâu sắc, những người đã
sinh ra và dạy bảo chúng con trưởng thành đến ngày hôm nay
Đặc biệt, chúng em xin cảm ơn cô ThS.Mai Anh Thơ đã tận tình
hướng dẫn chúng em suốt thời gian qua để chúng em hoàn thành luận
văn này
Xin chân thành cảm ơn anh Cường đã đưa ra yêu cầu rõ ràng, hỗ
trợ hết mình để chúng em có thể làm đúng yêu cầu và hoàn thành luận
văn
Mặc dù chúng em đã cố gắng hoàn thành tốt luận văn trong phạm
vi và khả năng cho phép nhưng chắc chắn sẽ không tránh khỏi những
thiếu sót nhất định Chúng em kính mong nhận được sự cảm thông và
tận tình chỉ bảo của quý thầy cô và các bạn
Chúng em kính gửi lời chúc sức khỏe dồi dào và thành đạt đến quý
thầy cô và các bạn
Trang 7DANH SÁCH CHỮ VIẾT TẮT
Trang 8MỤC LỤC HÌNH ẢNH
Hình 2 1 Trang Chủ Violet.com 3
Hình 2 2 Trang chủ socnhi.com 3
Hình 2 3 Trang chủ NXBTRE.COM.VN 4
Hình 2 4 Trang chủ NXBKIMDONG.COM.CN 5
Hình 3 1 Quy trình nghiệp vụ của Data4Kid 8
Hình 3 2 Yêu cầu phi chức năng của DATA4KID 15
Hình 3 3 Use case của Actor 17
Hình 3 4 Use case của Admin 18
Hình 3 5 Use case cho khách 19
Hình 3 6 Use case của Thành viên 20
Hình 3 7 Toàn bộ Use case 21
Hình 3 8 Kiến trúc hệ thống 80
Hình 3 9 Kiến trúc phần mềm 81
Hình 3 10 Class diagram 82
Hình 3 11 Trang Chủ 83
Hình 3 12 Trang Tin tức – Tài Liệu và Bài Tập 84
Hình 3 13 Trang hiển thị một bài viết 85
Hình 3 14 Trang Xem Tài Liệu hoặc Sách Bài Tập 86
Hình 3 15 Trang Trò Chơi 87
Hình 3 16 Trang Chơi Game 88
Hình 3 17 Trang Xem Video 89
Hình 3 18 Trang Liên Hệ Đến Data4Kid 90
Hình 4 1 Cơ chế hoạt động của Struts2 96
Hình 4 2 Cơ chế xử lý yêu cầu của Struts2 97
Hình 4 3 Các thành phần cửa Struts2 98
Hình 4 4 Kiến trúc Hibernate 115
Trang 9DANH MỤC CÁC LƯỢC ĐỒ
Lƣợc đồ 1: Thêm tài khoản 23
Lƣợc đồ 2: Xóa tài khoản 25
Lƣợc đồ 3: Chỉnh sửa tài khoản 27
Lƣợc đồ 4: Tìm kiếm và lọc tài khoản 29
Lƣợc đồ 5: Thêm bài viết mới 31
Lƣợc đồ 6: Xóa bài viết 33
Lƣợc đồ 7: Chỉnh sửa bài viết 35
Lƣợc đồ 8: Tìm kiếm và lọc bài viết 37
Lƣợc đồ 9: Thêm Video 39
Lƣợc đồ 10: Xóa Video 41
Lƣợc đồ 11: Chỉnh sửa Video 43
Lƣợc đồ 12: Tìm kiếm và lọc Video 45
Lƣợc đồ 13: Thêm Trò chơi 47
Lƣợc đồ 14: Xóa Video 49
Lƣợc đồ 15: Chỉnh sửa trò chơi 51
Lƣợc đồ 16: Tìm kiếm và lọc trò chơi 53
Lƣợc đồ 17: Đăng Kí Tài Khoản 56
Lƣợc đồ 18: Liên hệ Data4Kid 57
Lƣợc đồ 19: Đăng Nhập 59
Lƣợc đồ 20: Download tài liệu, sách 61
Lƣợc đồ 21: Yêu cầu cung cấp mật khẩu mới 63
Lƣợc đồ 22: Thay đổi thông tin cá nhân 65
Lƣợc đồ 23: Nâng cấp tài khoản 67
Lƣợc đồ 24: Xem tin tức, tài liệu, sách 69
Lƣợc đồ 25: Tìm kiếm tin tức, tài liệu, sách của khách và thành viên 71
Lƣợc đồ 26: Lọc tin tức, tài liệu, bài viết 73
Lƣợc đồ 27: Sắp xếp tin tức, tài liệu, bài viết 75
Lƣợc đồ 28: Xem video 77
Lƣợc đồ 29: Chơi trò chơi 79
Trang 10DANH MỤC CÁC BẢNG
Bảng 1 So sánh sự khác nhau giữa Struts1 và Struts2 94
Trang 11TÓM TẮT
Thời đại hiện nay, con người rất chú trọng đến việc giáo dục, phụ huynh luôn chăm
lo đến đời sống của con em, đồng thời là sự phát triển về tri thức, nhân phẩm Bên cạnh, còn tạo điều kiện để trẻ em dễ dàng học hỏi, tạo môi trường hòa bình, an toàn, thân thiện giúp trẻ phát triển con người toàn diện có ích cho gia đình và xã hội
Để làm được điều đó các bật phụ huynh phải tìm kiếm cho con em mình môi trường học tập, vui chơi lành mạnh, các kiến thức, tài liệu phục vụ tốt cho việc học tập của trẻ, nâng cao trí thông minh Vì vậy mà nhu cầu chia sẻ các thông tin, sách, tài liệu dành cho trẻ ngày càng cần thiết và trở thành nhu cầu cấp bách và vô cùng cần thiết
Nhằm phục vụ những nhu cầu cấp thiết trên, Data4Kid ra đời với đầy đủ các tính năng chia sẻ tin tức, các loại sách, tư liệu, video training, cùng các trò chơi phát triển trí não cho trẻ Tạo địa điểm lí tưởng cho người dùng tìm kiếm tư liệu, tài liệu phục vụ cho việc học tập của trẻ, dễ dàng download, chia sẻ
Trong quá trình xây dựng nhóm đã chọn hai Framework để phát triển website Data4Kid đó là Hibernate Framework (tổ chức truy xuất lưu trữ dữ liệu một cách nhanh chóng và dễ dàng) và Struts2 Framework (một framework phát triển ứng dụng theo mô hình MVC) Ngoài ra, còn có các công nghệ như là HTML5, CSS3, JQuery (hộ trợ mạnh
mẽ tương tác giữa client và server, phát triển giao diện linh động và đẹp hơn)
Hệ thống xây dựng hoàn chỉnh có các chức năng cơ bản của một website chia sẻ tài liệu cho trẻ như: download tài liệu, sách, tìm kiếm, lọc tài liệu, tin tức, xem các video tổng hợp dành cho trẻ, chơi các trò chơi trí tuệ,…
Trong quá trình tìm hiểu và xây dựng hệ thống đã giúp cho nhóm nắm vững kiến thức về Hibernate framework và Struts2 framework, bên cạnh đó còn sử dụng thành thạo JQuery, biết thêm về CSS3 và HTML5
Trang 12MỤC LỤC
1 MỞ ĐẦU 1
1.1 Lý do chọn đề tài 1
1.2 Phạm vi nghiên cứu 1
2 TỔNG QUAN 2
2.1 Violet.vn 2
2.2 Socnhi.com 3
2.3 NXBTRE.COM.VN 4
2.4 NXBKIMDONG.COM.VN 5
3 PHÁT BIỂU BÀI TOÁN VÀ PHÂN TÍCH YÊU CẦU 7
3.1 Yêu cầu thực tế từ khách hàng 7
3.2 Quy trình nghiệp vụ của website Data4Kid.com 7
3.3 Yêu cầu chức năng 8
3.3.1 Admin 8
3.3.2 Khách 12
3.3.3 Thành Viên 13
3.4 Yêu cầu phi chức năng 15
3.4.1 Giao diện 15
3.4.2 Security 16
3.4.3 Performance 16
3.5 Phân tích các chức năng 17
3.5.1 Lƣợc đồ Use ase 17
3.5.2 Đặt tả use case 21
3.6 Kiến trúc hệ thống 79
3.7 Kiến trúc phần mềm 80
Trang 133.9 Một số hình ảnh hệ thống 82
4 CÁC CÔNG NGHỆ SỬ DỤNG ĐỂ HIỆN THỰC BÀI TOÁN 91
4.1 Struts2 Framework 91
4.1.1 Khái niệm về Struts2 91
4.1.2 So sánh Struts1 với Struts2 92
4.1.3 Ưu điểm của Struts2 94
4.1.4 Nhược điểm của Struts2 95
4.1.5 Cơ chế hoạt động của Struts2 95
4.1.6 Các thành phần của Struts2 97
4.1.7 Cácthành phần chính của Struts2 Framework 99
4.2 HIBERNATE 114
4.2.1 Khái niệm về Hibernate 114
4.2.2 Các tính năng của Hibernate 114
4.2.3 Kiến trúc Hibernate 115
4.2.4 Thành phần của ứng dụng Hibernate 116
4.3 Hướng dẫn tạo ứng dụng Web sử dụng Struts2 Framework và Hibernate Framework trong Netbeans 120
4.4 Một số công nghệ khác 132
5 QUÁ TRÌNH ĐƯA ỨNG DỤNG WEB LÊN HOST 133
5.1 Mua Host 133
5.2 Upload Data4kid.war lên host 133
5.3 Upload Data4kidAdmin.war lên host 133
5.4 Tạo Database trên host 133
5.5 Upload tài liệu lên byethost 133
6 PHÂN TÍCH NHỮNG KHÓ KHĂN TRONG QUÁ TRÌNH HIỆN THỰC BÀI TOÁN VÀ ĐỀ XUẤT HƯỚNG GIẢI QUYẾT 134
6.1 Lỗi bộ thư viện không tương thích 134
Trang 146.2 Lỗi UTF-8 trong quá trình Truy xuất dữ liệu trong Hibernate 134
6.3 Lỗi UTF-8 trong Struts2 134
6.4 Cổng thanh toán không quay về trang cần đến sau khi thực hiện xong giao dịch trong chức năng nâng cấp tài khoản 134
6.5 Lỗi đặt tên cơ sở dữ liệu có dấu chấm “.” khi sử dụng Hibernate 135
6.6 Lỗi Severe: Dispatcher initialization failed 135
6.7 Không truy xuất được cơ sở dữ liệu qua câu lệnh dùng Hibernate 136
6.8 Không thể tích hợp Login của facebook lên hệ thống 136
6.9 Struts2 xuất hiện lỗi “SEVERE: Exception starting filter struts2” khi build ứng dụng web 136
6.10 Lỗi Tiếng Việt khi dùng ajax 137
6.11 Khó khăn khi dùng ajax trả về list các object 138
6.12 Lỗi tên database không trùng khi deploy 138
6.13 Host không ổn định 138
6.14 Khó khăn khi dữ liệu lớn nhưng dung lượng host có hạn 139
6.15 Mất nhiều thời gian khi upload từng tài liệu 139
7 KẾT QUẢ ĐẠT ĐƯỢC VÀ HƯỚNG PHÁT TRIỂN 140
7.1 Kết quả đạt được 140
7.2 Hướng phát triển 140
Tài Liệu Tham Khảo 142
PHỤ LỤC A 1
XÂY DỰNG ỨNG DỤNG WEB HELLO WORD VỚI STRUTS2 FRAMEWORK TRONG NETBEANS 1
PHỤ LỤC B 11
CÀI ĐẶT ỨNG DỤNG 11
Trang 151 MỞ ĐẦU 1.1 Lý do chọn đề tài
Ngày nay mạng xã hội ngày càng phát triển và nhu cầu để mọi người chia sẻ thông tin ngày càng tăng Việc xây dựng một website ban đầu tưởng là dễ dàng nhưng hầu như website nào cũng gặp vấn đề về thiết kế dữ liệu Đó là khi dữ liệu lưu trữ tại website ngày càng lớn, thì khả năng lưu trữ và truy xuất của hệ thống ngày càng giảm Cho nên, để xây dựng một trang web mạng xã hội với số lượng người dùng nhiều, truy xuất dữ liệu nhiều, việc chia sẻ, trao đổi thông tin nhiều,thì vấn đề đặt ra là làm thế nào
để hệ thống vẫn hoạt động tốt, truy xuất dữ liệu nhanh chóng và dễ dàng.Đây cũng là vấn
đề mà website data4kid.com đang gặp phải.Hệ thống website data4kid.com hiện tại
chưa giải quyết được vấn đề lưu trữ dữ liệu và việc truy xuất, tìm kiếm dữ liệu gặp nhiều khó khăn
Để giải quyết vấn đề trên, chúng tôi quyết định nghiên cứu về cách thức lưu trữ,
sắp xếp dữ liệu để giúp cho website data4kid.comcó thể lưu trữ được dữ liệu lớn và truy
xuất dữ liệu nhanh, tìm kiếm thông tin dễ dàng
Bên cạnh đó, chúng tôicũng xây dựng một hệ thống giao diện mới dựa trên hệ
thống data4kid cũ giúp cho việc truy cập website này trở nên thú vị hơn Ngoài ra, trên
giao diện mới này cũng phát triển những chức năng mới theo yêu cầu của chủ website: như hỗ trợ SEO, bổ sung danh mục trang có các trò chơi, video,…
Tiến hành triển khai cơ sở dữ liệu cho hệ thống DATA4KID
Nghiên cứu giải pháp lưu trữ tư liệu, tài liệu, và thiết kế dữ liệu để dễ dàng truy xuất
Tìm hiểu về Struts2 Framework
Tìm hiểu về Hibernate Framework
Đưa hệ thống vào sử dụng thực tế
Trang 162 TỔNG QUAN
Hiện tại ở Việt Nam chưa có một trang web nào dành để chia sẻ tư liệu cho trẻ, tổng hợp các tin tức, tài liệu, sách, trò chơi và video với đủ thể loại dành cho trẻ dưới 14 tuổi Hỗ trợ dễ dàng cho việc download, tìm kiếm tài liệu, sách học cho trẻ Data4Kid là nơi tập trung các nội dung được nhắc đến ở trên, giúp các phụ huynh, giáo viên và trẻ em trong độ tuổi này dễ dàng tìm được tài liệu cần, và các thông tin hữu ích
Để giúp cho việc xây dựng hệ thống website data4kid mới với các yêu cầu ở trên, chúng tôi tiến hành khảo sát một số website có cùng mục đích, để có cái nhìn toàn diện hơn khi xây dựng, đó là:
2.1 Violet.vn
Theo thống kê hiện tại trang web này có đến 1,6 triệu thành viên là giáo viên, về thư viện thì khá khổng lồ với vài trăm nghìn giáo án điện tử, đề thi, tư liệu,…
Trang 17Hình 2.1 Trang Chủ Violet.com
Ưu điểm:
- Phân loại tài liệu khá rỏ ràng, dễ dàng tìm kiếm và download, chia sẻ
- Tư liệu vô cùng phong phú đáp ứng được nhiều nhu cầu của người dùng
- Hỗ trợ cho người dùng tạo trang riêng cho trường, tổ chức hoặc cá nhân để viết bài và chia sẻ tư liệu
Hình 2.2 Trang chủ socnhi.com
Trang 18Ưu điểm:
- Giao diện rất đẹp, âm thanh hình ảnh sống động phù hợp với trẻ em
- Có rất nhiều thể loại để lựa chọn, mỗi thể loại là một module khác nhau đƣợc đầu
- Rất nhiều module nên chi phí khá lớn cho việc xây dựng
- Chủ yếu là giải trí, chỉ thiên về học thuật một phần
2.3 NXBTRE.COM.VN
Đây là một trang web chủ yếu tập trung vào sách và văn hóa phẩm các loại, phục
vụ chủ yếu cho thanh niên, thiếu nhi(sách văn hóa – xã hội, nghệ thuật, văn học)
Hình 2.3 Trang chủ NXBTRE.COM.VN
Trang 19Ưu điểm:
- Tập trung rất nhiều sách, phong phú đa dạng về thể loại
- Có thể đọc sách miễn phí
Nhược điểm:
- Chủ yếu là sách phải mua và không miễn phí, không có khuynh hướng chia sẻ
- Đối tượng là Thanh Thiếu niên, thiếu nhi cho nên nội dung không được tập trung nhiều vào trẻ em
2.4 NXBKIMDONG.COM.VN
Đây là trang web của nhà xuất bản kim đồng Nhà xuất bản này có nhiệm vụ tổ
chức bản thảo, biên soạn, biên dịch xuất bản và phát hành các xuất bản phẩm có nội
dung: giáo dục truyền thống dân tộc, giáo dục về tri thức, kiến thức trên các lĩnh vực
văn học, nghệ thuật, khoa học kỹ thuật nhằm cung cấp cho các em thiếu nhi cũng như
các bậc phụ huynh Đối tượng phục vụ của Nhà xuất bản là các em từ tuổi nhà trẻ mẫu
giáo (1 đến 5 tuổi), nhi đồng (6 đến 9 tuổi), thiếu niên (10 đến 15 tuổi) đến các em tuổi mới lớn (16 đến 18 tuổi) và các bậc phụ huynh
Hình 2.4 Trang chủ NXBKIMDONG.COM.CN
Trang 20Ưu điểm:
- Sách, tài liệu xuất bản chủ yếu là dành cho trẻ
- Nhiều thể loại để lựa chọn
Nhược điểm:
- Sách không miễn phí, mà cần phải trả tiền để mua, không theo hướng chia sẻ
- Nội dung chủ yếu tập trung vào sách
Theo khảo sát trên cho thấy, hiện tại tại Việt Nam chưa có một website nào tổng hợp tin tức, tài liệu, sách, video, trò chơi dành cho trẻ , tài liệu có thể dễ dàng download miễn phí, đọc sách online và nhiều tiện ích khác.Từ đó, chúng tôi nhận ra tầm quan trọng của việc xây dựng Data4Kid.com và hướng phát triển của nó
Trang 213 PHÁT BIỂU BÀI TOÁN VÀ PHÂN TÍCH YÊU CẦU 3.1 Yêu cầu thực tế từ khách hàng
Xây dựng một trang web cho người dùng có thể chia sẻ, download các tài liệu, sách bài tập cho trẻ, cập nhật tin tức liên quan đến trẻ Các ông bố bà mẹ có thể bàn luận
về vấn đề về con cái của họ trên trang DATA4KID, chia sẻ các cách nuôi dạy, tìm kiếm lời khuyên,… Ngoài ra, các bé còn được chơi các game phát triển trí tuệ, giúp phát triển trí não Do Data4Kid.com là một website chia sẻ thông tin, sách, tài liệu miễn phí cho nên đòi hỏi hệ thống phải giảm tối thiểu chi phí cho website Các nhu cầu trên sẽ được
cụ thể hóa bằng các chức năng sau:
- Người dùng tìm kiếm tin tức, tài liệu, sách dựa vào tên
- Lọc tin tức, tài liệu, sách dựa vào các tiêu chí cụ thể mà khách hàng yêu cầu (thể loại, tuổi, chủ đề, loại tập tin, môn học,…)
- Download một, hay nhiều tài liệu cùng một lúc
- Xem tài liệu trực tiếp trên Data4Kid.com dưới dạng slideshow hình ảnh
- Đăng kí, đăng nhập đảm bảo đầy đủ thông tin người dùng ngay từ ban đầu
- Nâng cấp tài khoản để được download nhiều tài liệu hơn, có nhiều quyền ưu tiên hơn
- Hỗ trợ SEO cho website
- Người dùng được chơi các trò chơi trên hệ thống và kiểm tra tính đúng sai của nó
- Hỗ trợ người dùng thay đổi thông tin cá nhân như mật khẩu, email, ảnh đại
diện,…
- Hỗ trợ người dùng trao đổi, chia sẻ các vấn đề liên quan đến trẻ
3.2 Quy trình nghiệp vụ của website Data4Kid.com
Trang 22Hình 3.1 Quy trình nghiệp vụ của Data4Kid 3.3 Yêu cầu chức năng
3.3.1 Admin
3.3.1.1 Quản lý tài khoản
«Functional» Status: approved Priority: medium Difficulty: meidum
Admin có quyền quản lí tất cả các tài khoản người dùng khác, có thể xóa, sửa, thay đổi quyền hạn của tài khoản, tìm kiếm tài khoản, lọc ra các tài khoản theo tiêu chí nào đó
3.3.1.1.1 Tìm kiếm và lọc tài khoản
«Functional» Status: approved Priority: medium Difficulty: meidum
Trang 23Tìm kiếm và lọc tài khoản dựa vào các tiêu chí được quy định
3.3.1.1.2 Xóa tài khoản
«Functional» Status: approved Priority: medium Difficulty: low
Xóa tài khoản mà admin cho là không cần thiết để tồn tại
3.3.1.1.3 Chỉnh sửa tài khoản
«Functional» Status: approved Priority: medium Difficulty: low
Nâng cấp tài khoản (nâng cấp loại tài khoản: tài khoản sử dụng theo tháng, theo năm,…), thay đổi quyền hạn của tài khoản trên
hệ thống (nếu người dùng là mod hoặc admin thì có thể truy cập vào hệ thống admin, ngược lại thì không thể), thay đổi thông tin bất kì của một hay nhiều tài khoản
3.3.1.1.4 Thêm tài khoản
«Functional» Status: approved Priority: low Difficulty: low
Admin được phép thêm một hoặc nhiều tài khoản vào trong hệ thống
3.3.1.2 Quản lý các bài viết
«Functional» Status: approved Priority: medium Difficulty: medium
Admin có quyền quản lý tất cả các bài viết trên hệ thống như Tin tức, Tài liệu, Sách Có thể thực hiện thêm bài mới, xóa, sửa, tìm kiếm bài viết, lọc ra các danh sách cần thiết dựa vào tiêu chí nhất định
3.3.1.2.1 Thêm bài viết
«Functional» Status: approved Priority: medium Difficulty: medium
Admin có quyền thêm một hoặc nhiều bài viết vào hệ thống, tùy chọn loại và danh mục và bài viết đó có thể có
Trang 243.3.1.2.2 Sửa bài viết
«Functional» Status: approved Priority: medium Difficulty: medium
Admin có quyền chỉnh sửa thông tin bài viết nhƣ Tên, nội dung, loại, danh mục,…
3.3.1.2.3 Xóa bài viết
«Functional» Status: approved Priority: medium Difficulty: low
Admin có thể xóa một hay nhiều bài viết cùng lúc nếu thấy bài viết đó không cần thiết
3.3.1.2.4 Tìm kiếm bài viết
«Functional» Status: approved Priority: medium Difficulty: low
Admin đƣợc quyền tìm kiếm một bài viết dựa vào tên bài viết
3.3.1.2.5 Lọc bài viết
«Functional» Status: approved Priority: medium Difficulty: low
Admin có thể lọc ra các bài viết theo các tiêu chí nhƣ loại, chuyên mục, thời gian
3.3.1.3 Quản lý Video
«Functional» Status: approved Priority: medium Difficulty: medium
Admin có quyền quản lý tất cả các video trên hệ thống, có thể thêm, xóa, sửa một hoặc nhiều video, tìm kiếm, lọc những video cần tìm theo tiêu chí
3.3.1.3.1 Thêm Video
«Functional» Status: approved Priority: medium Difficulty: low
Admin đƣợc quyền thêm một hoặc nhiều video vào hệ thống
3.3.1.3.2 Sửa thông tin Video
Trang 25Admin đƣợc sửa thông tin video, thay đổi tên, video, nguồn của video đó và các thông tin khác
3.3.1.3.3 Xóa Video
«Functional» Status: approved Priority: medium Difficulty: low
Admin đƣợc quyền xóa video nào đƣợc cho là không còn cần thiết
3.3.1.3.4 Tìm kiếm video
«Functional» Status: approved Priority: medium Difficulty: low
Admin đƣợc quyền tìm kiếm video dựa vào tiêu chí nào đó để dễ dàng xem, xóa, sửa
3.3.1.4.1 Lọc video
«Functional» Status: approved Priority: medium Difficulty: medium
Admin có thể lọc ra các danh sách video dựa theo các tiêu chí nhƣ nguồn từ đâu, thời gian
3.3.1.4.2 Quản lý Trò chơi
«Functional» Status: approved Priority: medium Difficulty: medium
Admin có thể thêm các trò chơi vào hệ thống để nội dung các trò phong phú hơn, xóa trò chơi, sửa thông tin, tìm kiếm, lọc các ra danh sách trò chơi theo tiêu chí
3.3.1.4.3 Thêm trò chơi
«Functional» Status: approved Priority: medium Difficulty: medium
Admin có thể thêm vào một trò chơi mới giúp trang trò chơi phong phú hơn
3.3.1.4.4 Xóa trò chơi
«Functional» Status: approved Priority: medium Difficulty:low
Admin đƣợc quyền xóa một hay nhiều trò chơi mà họ cho là
Trang 26không cần thiết
3.3.1.4.5 Sửa trò chơi
«Functional» Status: approved Priority: medium Difficulty: medium
Admin có thể sửa thông tin của một hay nhiều trò chơi như: tên, nội dung, hình ảnh, loại trò chơi
3.3.1.4.6 Tìm kiếm trò chơi
«Functional» Status: approved Priority: medium Difficulty: medium
Admin được quyền tìm kiếm trò chơi dựa vào tiêu chí nào đó để
dễ dàng xem, xóa, sửa
3.3.1.4.7 Lọc trò chơi
«Functional» Status: approved Priority: medium Difficulty: medium
Admin thể lọc các trò chơi dựa vào tiêu chí nào đó để dễ dàng thực hiện các thao tác cần thiết
3.3.2 Khách
3.3.2.1 Đăng ký
«Functional» Status: approved Priority: medium Difficulty: medium
Khách có thể đăng kí tài khoản để làm thành viên của DATA4KiD
3.3.2.2 Xem tin tức, tài liệu, sách trên Data4Kid
«Functional» Status: approved Priority: medium Difficulty: medium
Người dùng có thể xem bất cứ các bài viết nào trên DATA4KID như tin tức, sách, tài liệu
3.3.2.2.1 Lọc tin tức, tài liệu, sách
«Functional» Status: approved Priority: medium Difficulty: medium
Trang 27Người dùng có lọc các nội dung theo các tiêu chí như chủ đề, độ tuổi, định dạng file hoặc môn học của trẻ
3.3.2.2.2 Sắp xếp tin tức, tài liệu, sách
«Functional» Status: approved Priority: medium Difficulty: medium
Người dùng có thể sắp xếp danh sách theo lượt xem và thời gian của bài viết
3.3.2.2.3 Tìm kiếm tin tức, tài liệu, sách
«Functional» Status: approved Priority: medium Difficulty: medium
Trên mỗi trang tin tức, tài liệu, sách ta có thể thực hiện tìm kiếm dựa trên tên của bài viết
3.3.2.3 Xem video
«Functional» Status: approved Priority: medium Difficulty: low
Người dùng có thể xem các video trên hệ thống Data4Kid
3.3.2.4 Chơi trò chơi
«Functional» Status: approved Priority: medium Difficulty: medium
Người dùng kể cả khách cũng có thể chơi các trò chơi phát triển trí tuệ cùng các con của họ
3.3.2.5 Liên hệ với DATA4KiD
«Functional» Status: approved Priority: medium Difficulty: low
Người dùng được quyền gửi thông tin liên hệ đến DATA4KiD
để được hỗ trợ tốt hơn
3.3.3 Thành Viên
Trang 283.3.3.1 Download tài liệu, sách
«Functional» Status: approved Priority: high Difficulty: medium
Sau khi đăng nhập thành viên có quyền download một hay nhiều tài liệu cần
3.3.3.2 Đăng nhập
«Functional» Status: approved Priority: high Difficulty: medium
Thành viên có thể đăng nhập để thực hiện các quyền mà một thành viên có đƣợc
3.3.3.3 Thay đổi thông tin cá nhân
«Functional» Status: approved Priority: high Difficulty: high
Thành viên có thể thay đổi thông tin cá nhân của họ
3.3.3.3.1 Thay đổi avatar
«Functional» Status: approved Priority: medium Difficulty: medium
Thành viên sẽ đƣợc thay đổi hình ảnh đại diện của họ
3.3.3.3.2 Thay đổi mật khẩu
«Functional» Status: approved Priority: medium Difficulty: medium
Thành viên có quyền thay đổi mật khẩu cụa họ thành một mật khẩu khác mà họ mmong muốn
3.3.3.3.3 Thay đổi email
«Functional» Status: approved Priority: medium Difficulty: medium
Thay đổi email nhận tài liệu và đăng nhập vào hệ thống
3.3.3.4 Yêu cầu cung cấp mật khẩu mới
«Functional» Status: Approved Priority: medium Difficulty: medium
Trang 29Khi người dùng quên mật khẩu có thể yêu cầu để được cấp lại mật khẩu mới
3.3.3.5 Nâng cấp tài khoản
«Functional» Status: Approved Priority: medium Difficulty: medium
Thành viên có thể nâng cấp tài khoản để được download nhiều tài liệu, sách hơn
3.4 Yêu cầu phi chức năng
Hình 3.2 Yêu cầu phi chức năng của DATA4KID
3.4.1 Giao diện
3.4.1.1 Giao diện đẹp
«Functional» Status: approved Priority: medium Difficulty: medium
Đảm bảo giao diện đơn giản, đẹp và dễ dàng sử dụng
3.4.1.2 Thân thiện với người dùng
«Functional» Status: approved Priority: medium Difficulty: medium
Trang 30Xây dựng hệ thông đảm bảo thân thiện và dễ sử dụng Giúp dễ dàng trong việc xem, tải tài liệu và các chức năng khác
3.4.1.3 Giảm chí phí
«Functional» Status: approved Priority: medium Difficulty: high
Do đây là hệ thống chia sẻ miễn phí vì thế yêu cầu phải hạn chế tối đa các chi phí phát sinh
3.4.2 Security
3.4.2.1 Tính bảo mật cao
«Functional» Status: approved Priority: medium Difficulty: medium
Hệ thống phải tuyệt đối bảo mật thông tin của tài khoản cũng như dữ liệu của DATA4KID
3.4.2.2 Chống SQL Ejection
«Functional» Status: approved Priority: medium Difficulty: medium
Xây dựng hệ thông đảm bảo không để bị tấn công qua sql ejection Đảm bảo người dùng nhập đúng những gì cần thiết mà không ảnh hưởng đến dữ liệu
3.4.2.3 Dễ dàng backup dữ liệu
«Functional» Status: approved Priority: medium Difficulty: high
Hệ thống hỗ trợ Admin sao lưu lại dữ liệu DATA4KID nhằm đảm bảo toàn vẹn dữ liệu tránh mất dữ liệu
3.4.3 Performance
3.4.3.1 Đáp ứng nhiều người dùng cùng truy cập
«Functional» Status:proposed Priority:medium Difficulty: high
Trang 31Đảm bảo hệ thống vẫn hoạt động tốt khi có nhiều người cùng truy cập một lúc
3.4.3.2 Xử lí nhanh
«Functional» Status:proposed Priority:medium Difficulty:medium
Đảm bảo các thao tác, xử lí nhanh để dễ dàng phục vụ người dùng
3.5 Phân tích các chức năng
3.5.1 Lược đồ Use ase
Hình 3.3 Use case của Actor
Trang 32Hình 3.4 Use case của Admin
Trang 33Hình 3.5 Use case cho khách
Trang 34Hình 3.6 Use case của Thành viên
Trang 35Hình 3.7 Toàn bộ Use case
3.5.2 Đặt tả use case
3.5.2.1 Use case của Admin
3.5.2.1.1 Use case thêm tài khoản 3.5.2.1.1.1 Tóm tắt
- Admin có quyền thêm tài khoản vào hệ thông, lưu tài khoản đó xuống cơ sở dữ liệu
3.5.2.1.1.2 Dòng sự kiện 3.5.2.1.1.2.1 Dòng sự kiện chính
Use case bất đầu khi Admin muốn tạo tài khoản mới và bấm vào nút Tạo tài khoản
Hệ thống hiển thị form gồm các thông tin như email, mật khẩu, Họ tên, ngày sinh, giới tính, quyền để Admin nhập các thông tin
Admin điền đầy đủ thông tin cần thiết và bấm “Save”
Trang 36 Hệ thống tiến hành kiểm tra tính hợp lệ của thông tin và lưu người dùng mới vào cơ sở dữ liệu
- Admin thêm thành công tài khoản
3.5.2.1.1.4 Điều kiện tiên quyết
- Người dùng phải là Admin mới có thể thực hiện được chức năng
này 3.5.2.1.1.5 Điều kiện sau
- Không có
3.5.2.1.1.6 Điều kiện mở rộng
- Không có
3.5.2.1.1.7 Sơ đồ Activity
Trang 37Lƣợc đồ 1: Thêm tài khoản
3.5.2.1.2 Use case xóa tài khoản 3.5.2.1.2.1 Tóm tắt
- Admin có quyền xóa tài khoản nếu tài khoản đó không cần thiết
3.5.2.1.2.2 Dòng sự kiện 3.5.2.1.2.2.1 Dòng sự kiện chính
Use case bất đầu khi Admin muốn xóa một tài khoản
Hệ thống hiển thị danh sách các tài khoản
Admin bấm vào nút Delete trên tài khoản đƣợc hiển thị trên danh sách tài khoản
Hệ thống hiển thị bảng thông báo “Bạn thật sự muốn xóa tài khoản này”, nút OK, nút Cancel
Admin bấm nút OK trên thông báo
Trang 38 Hệ thống tiến hành xóa tài khoản mà Admin vừa bấm xóa
và cập nhật lại cơ sở dữ liệu
- Admin xóa thành công tài khoản muốn xóa
3.5.2.1.2.4 Điều kiện tiên quyết
- Người dùng phải là Admin mới có thể thực hiện được chức năng
Trang 39Lược đồ 2: Xóa tài khoản
3.5.2.1.3 Use case thay đổi thông tin tài khoản 3.5.2.1.3.1 Tóm tắt
- Admin có quyền thay đổi thông tin của một hoặc nhiều tài khoản
3.5.2.1.3.2 Dòng sự kiện 3.5.2.1.3.2.1 Dòng sự kiện chính
Use case bất đầu khi Admin muốn thay đổi thông tin của tài khoản nào đó
Hệ thống hiển thị danh sách các tài khoản
Admin bấm vào nút Edit tại tài khoản muốn thay đổi trên danh sách tài khoản
Hệ thống hiển thị form bao gồm các thông tin đã có trước
đó như: Email, Họ tên, Ngày Sinh, Giới tính, Là ai, Là con thứ mấy, Nơi ở hiện tại, Địa chỉ cư ngụ, điện thoại,
Trang 40yahoo, skype, Là Gì của Bé, Ngày sinh Phụ Huynh nếu là Cha mẹ, nghề nghiệp Phụ Huynh, trường học hoặc nơi công tác, địa chỉ Trường/Nơi Công tác, Lớp nếu là trẻ, Lời gợi ý đến Data4Kid, cùng với nút Save và Cancel
Admin sửa thông tin cần thay đổi và bấm Save
Hệ thống tiến hành lưu thông tin thay đổi xuống cơ sở dữ liệu
3.5.2.1.3.2.2 Dòng sự kiện phụ
Admin bấm vào nút Cancel trên cửa sổ thông báo: hệ thống tiến hành đóng cửa sổ thông báo và vẫn giữ nguyên
thông tin tài khoản
Admin điền không đúng dữ liệu hợp lệ: Hệ thống hiển thị
thông báo yêu cầu điền lại thông tin cho hợp lệ
3.5.2.1.3.2.3 Dòng sự kiện khác
Không có
3.5.2.1.3.3 Kết thúc
- Admin sửa thành công thông tin tài khoản
3.5.2.1.3.4 Điều kiện tiên quyết
- Người dùng phải là Admin mới có thể thực hiện được chức năng
này 3.5.2.1.3.5 Điều kiện sau
- Không có
3.5.2.1.3.6 Điều kiện mở rộng
- Không có
3.5.2.1.3.7 Sơ đồ Activity