VALUES giá trị 1, giá trị 2,....; Vị dụ nhập dữ liệu cho table "member" đã được tạo ở trên: INSERT INTO member userid,username VALUES 1,'champi'; Lấy dữ liệu từ table: SELECT {tên cộ
Trang 1 LỜI CẢM ƠN
Trong thời gian làm đồ án tốt nghiệp em đã hoàn thành được đề tài đã chọn Tuy thời gian không nhiều và kinh nghiệm về PHP và mã nguồn mở WordPress tích lũy còn ít nên còn nhiều thiếu sót Mong thầy cô và các bạn đóng góp ý kiến
để em có thể hoàn thiện đề tài này hơn Qua đây em xin chân thành cảm ơn Th.s Phạm Hồng Việt –giảng viên trường đại học Công nghệ thông tin và truyền thông Thái Nguyên, Đại học Thái Nguyên đã tận tình hướng dẫn, định hướng và chỉ bảo
em trong thời gian qua để em hoàn thành được đồ án tốt nghiệp này Và em cũng xin gửi lời cảm ơn tới các bạn cùng lớp đã giúp đỡ em rất nhiều trong thời gian làm đề tài này
Xin chân thành cảm ơn!
Thái Nguyên, ngày … tháng … năm 2016
Sinh viên
Vũ Thị An
Trang 2 LỜI CAM ĐOAN
Em xin cam đoan rằng đây là bài đồ án tốt nghiệp của em, có sự hỗ trợ từ Giáo viên hướng dẫn Th.s Phạm Hồng Việt –giảng viên trường đại học Công nghệ thông tin và truyền thông Thái Nguyên, Đại học Thái Nguyên, các nội dung nghiên cứu và kết quả trong đề tài này là trung thực và không sao chép từ các báo cáo thực tập và đồ án khác trước đây Những số liệu trong các bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá được chính bản thân thu thập từ các nguồn khác nhau
Nếu có bất kỳ sự gian lận nào em xin hoàn toàn chịu trách nhiệm trước Hội đồng
Thái Nguyên, ngày … tháng … năm 2016
Sinh viên
Vũ Thị An
MỤC LỤC
LỜI CẢM ƠN 1
LỜI CAM ĐOAN 2
MỤC LỤC 3
DANH MỤC HÌNH ẢNH 5
DANH MỤC BẢNG BIỂU 8
LỜI MỞ ĐẦU 9
CHƯƠNG 1 TỔNG QUAN VỀ CƠ SỞ LÍ THUYẾT 10
1.1 Tổng quan ngôn ngữ PHP 10
1.1.1 PHP là gì? 10
1.1.2 Cú pháp 10
Trang 31.1.3 Biến 11
1.1.4 Chuỗi 11
1.1.5 Hàm 11
1.1.6 Mảng 14
1.1.7 Các cấu trúc điều khiển và lặp 14
1.1.8 Lệnh lặp 16
1.1.9 Truyền nhận dữ liệu (POST/GET) 16
1.1.10 Cookies, Sessions 17
1.2 Tổng quan MYSQL 18
1.2.1 MySLQ là gì? 18
1.2.2 Đặc điểm của MySQL 18
1.2.3 Các kiểu dữ liệu trong cơ sở dữ liệu MySQL 18
1.2.4 Câu lệnh truy vấn cơ bản của MySQL 21
1.3 Giới thiệu về Wordpress 22
1.3.1 Wordpress là gì? 22
1.3.2 Những đặc điểm nổi bật của WordPress 22
1.3.3 Cài đặt và cấu hình Wordpress 23
CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 25
2.1 Khảo sát và phân tích thiết kế bài toán 25
2.1.1 Giới thiệu chung về Trường THPT Lê Quý Đôn – Thái Bình 25
2.1.2 Khảo sát hiện trạng 25
2.1.3 Mục đích của website 26
2.1.4 Mô tả các chức năng của hệ thống 26
2.2 Phân tích thiết kế hệ thống 27
2.2.1 Tác nhân hệ thống 27
2.2.2 Các chức năng của hệ thống 27
2.3 Phân tích thiết kế 29
2.3.1 Tổng quan về UML 29
Trang 42.3.2 Phân tích thiết kế bài toán 31
2.4 Phân tích cơ sở dữ liệu 69
CHƯƠNG 3 XÂY DỰNG WEBSITE 75
3.1 Môi trường phát triển 75
3.2 Một số giao diện 75
KẾT LUẬN 78
TÀI LIỆU THAM KHẢO 80
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 81
Trang 5 DANH MỤC HÌNH ẢNH
Hình 1.1: Create a Configuration File 24
Hình 1.2: Nhập các thông tin cơ sở dữ liệu 24
Hình 2.1: Tác nhân hệ thống 27
Hình 2.2: Biểu đồ use case hệ thống 31
Hình 2.3: Biểu đồ trình tự xem danh sách tin 31
Hình 2.4: Biểu đồ hoạt động xem danh sách tin 32
Hình 2.5: Biểu đồ trình tự xem giới thiệu 32
Hình 2.6: Biểu đồ hoạt động xem giới thiệu 33
Hình 2.7: Biểu đồ trình tự xem danh sách bài học 33
Hình 2.8: Biểu đồ hoạt động xem danh sách bài học 34
Hình 2.9: Biểu đồ trình tự xem chi tiết bài học 34
Hình 2.10: Biểu đồ hoạt động xem chi tiết bài học 35
Hình 2.11: Biểu đồ trình tự xem kinh nghiệm học 36
Hình 2.12: Biểu đồ trình tự xem danh sách tài liệu 36
Hình 2.13: Biểu đồ trình tự xem chi tiết tài liệu 37
Hình 2.14: Biểu đồ trình tự học ngữ pháp 38
Hình 2.15: Biểu đồ hoạt động học ngữ pháp 38
Hình 2.16: Biểu đồ trình tự học qua video 39
Hình 2.17: Biểu đồ trình tự luyện nghe tiếng anh 40
Hình 2.18: Biểu đồ trình tự làm bài test 40
Hình 2.19: Biểu đồ hoạt động làm bài test 41
Hình 2.20: Biểu đồ trình tự gửi phản hồi 42
Hình 2.21: Biểu đồ hoạt động gửi phản hồi 42
Trang 6Hình 2.22: Biểu đồ trình tự xem danh sách bài viết 43
Hình 2.23: Biểu đồ trình tự thêm bài viết 43
Hình 2.24: Biểu đồ hoạt động thêm bài viết 44
Hình 2.25: Biểu đồ trình tự sửa bài viết 45
Hình 2.26: Biểu đồ hoạt động sửa bài viết 45
Hình 2.27: Biểu đồ trình tự xóa bài viết 46
Hình 2.28: Biểu đồ hoạt động xóa bài viết 47
Hình 2.29: Biểu đồ trình tự xem danh sách trang 47
Hình 2.30: Biểu đồ trình tự thêm trang 48
Hình 2.31: Biểu đồ hoạt động thêm trang 49
Hình 2.32: Biểu đồ trình tự sửa trang 50
Hình 2.33: Biểu đồ hoạt động sửa trang 50
Hình 2.34: Biểu đồ trình tự xóa trang 51
Hình 2.35: Biểu đồ hoạt động xóa trang 51
Hình 2.36: Biểu đồ trình tự xem danh sách phản hồi 52
Hình 2.37: Biểu đồ trình tự phản hồi 53
Hình 2.38: Biểu đồ trình tự xem chi tiết phản hồi 54
Hình 2.39: Biểu đồ trình tự xóa phản hồi 54
Hình 2.40: Biểu đồ trình tự xem danh sách chuyên mục 55
Hình 2.41: Biểu đồ trình tự thêm chuyên mục 56
Hình 2.42: Biểu đồ trình tự sửa chuyên mục 57
Hình 2.43: Biểu đồ trình tự xóa chuyên mục 58
Hình 2.44: Biểu đồ trình tự xem danh sách thành viên 58
Hình 2.45: Biểu đồ trình tự thêm thành viên 59
Hình 2.46: Biểu đồ trình tự sửa thành viên 60
Hình 2.47: Biểu đồ trình tự xóa thành viên 61
Trang 7Hình 2.48: Biểu đồ trình tự xem danh sách menu 61
Hình 2.49: Biểu đồ trình tự thêm menu 62
Hình 2.50: Biểu đồ trình tự sửa menu 63
Hình 2.51: Biểu đồ trình tự xóa menu 64
Hình 2.52: Biểu đồ trình tự thêm bài học 65
Hình 2.53: Biểu đồ hoạt động thêm bài học 65
Hình 2.54: Biểu đồ trình tự sửa bài học 66
Hình 2.55: Biểu đồ hoạt động sửa bài học 66
Hình 2.56: Biểu đồ trình tự xóa bài học 67
Hình 2.57: Biểu đồ hoạt động xóa bài học 67
Hình 2.58: Biểu đồ trình tự đăng xuất 68
Hình 2.59: Biểu đồ hoạt động đăng xuất 68
Hình 2.60: Biểu đồ lớp 69
Hình 2.61: Quan hệ giữa các bảng 74
Hình 3.1: Giao diện trang chủ website 75
Hình 3.2: Giao diện học tập 76
Hình 3.3: Giao diện làm bài test 76
Hình 3.4: Giao diện trang quản trị 77
Trang 8 DANH MỤC BẢNG BIỂU
Bảng 1.1: Các hàm trong PHP 14
Bảng 2.1: Chức năng với người dùng 28
Bảng 2.2: Chức năng với quản trị viên 28
Bảng 2.3: Chức năng với giáo viên–biên tập viên 29
Bảng 2.3: Mô tả dữ liệu bảngelo_comments 70
Bảng 2.4: Mô tả dữ liệu bảngelo_opitions 70
Bảng 2.5: Mô tả dữ liệu bảngelo_postmeta 70
Bảng 2.6: Mô tả dữ liệu bảngelo_post 71
Bảng 2.7: Mô tả dữ liệu bảngelo_term_taxonomy 71
Bảng 2.8: Mô tả dữ liệu bảngelo_terms 71
Bảng 2.9: Mô tả dữ liệu bảngelo_usermeta 72
Bảng 2.10: Mô tả dữ liệu bảngelo_user 72
Bảng 2.11: Mô tả dữ liệu bảngelo_mtouchquiz_quiz 72
Bảng 2.12: Mô tả dữ liệu bảngelo_mtouchquiz_answer 73
Bảng 2.13: Mô tả dữ liệu bảngelo_mtouchquiz_question 73
Bảng 2.14: Mô tả dữ liệu bảngelo_mtouchquiz_ratings 73
LỜI MỞ ĐẦU
Hiện nay, trong điều kiện kinh tế, văn hóa – xã hội phát triển, đặc biệt là sự ảnh hưởng của hội nhập kinh tế quốc tế và toàn cầu hóa thì ngoại ngữ cùng với tin học giữ một vai trò vô cùng quan trọng
Trang 9Có thể nói Tiếng Anh là ngoại ngữ cơ bản không thể thiếu đối với các cá nhân, tổ chức, doanh nghiệp Để đáp ứng nhu cầu học nhanh và chất lượng cao của người học, hàng trăm trung tâm Anh ngữ đã mọc lên, tuy nhiên vẫn chưa đáp ứng được hết các yêu cầu học Tiếng Anh của người học vì nhiều lý do như: bị động về nhiều mặt, bó buộc về thời gian, về thời khóa biểu cố định.
Xuất phát từ nhu cầu đó, em quyết định thực hiện đề tài “Xây dựng Website học Tiếng Anh trực tuyến cho học sinh Trường THPT Lê Quý Đôn Thái Bình”.
Mục tiêu nghiên cứu
Tìm hiểu ngôn ngữ lập trình PHP, Javascript, WordPress
Ứng dụng xây dựng Website học Tiếng Anh trực tuyến cho học sinh Trường THPT Lê Quý Đôn Thái Bình
Công cụ hỗ trợ: ngôn ngữ lập trìnhPHP, MySQL, Javascript, jQuery, wordpress
Bố cục đồ án
Lời mở đầu
Chương 1 Tổng quan về cơ sở lí thuyết
Chương 2 Phân tích thiết kế hệ thống
Chương 3 Xây dựng website
Trang 10web và có thể dễ dàng nhúng vào trang HTML
Biến trong PHP được sử dụng để lưu trữ thông tin
Trong PHP việc sử dụng biến cần lưu ý nhưng đặc điểm sau:
Biến phải bắt đầu bằng kí tự $, sau đó là tên biến
Tên biến phải bắt đầu là chứ cái hoặc kí tự gạch chân _
Trang 11 Tên biến chỉ có thể là các kí tự chữ cái,chữ số và dấu gạch chân.
Tên biến không được chứa dấu cách
Tên biến trong PHP không phân biệt hoa thường
Tổng hợp các phương thức thông dụng trong xử lý STRING
1 addcslashes() Trả lại các xâu với “\” được thêm vào
cuối các kí tự được truyền vào
2 addslashes() Trả lại các xâu với “\” được thêm vào
cuối các kí tự đã được định nghĩa sắn
3 bin2hex() Chuyển một xâu từ ASCII qua hệ Hex
5 chr() Trả lại giá trị ký tự theo ASCII
6 chunk_split() Chia một xâu thành sâu con khác
7 count_chars() Trả lại số lần lặp của một ký tự trong
xâu
Trang 1210 explode() Tách một sâu thành mảng.
11 html_entity_decode() Chuyển mã entity HTML qua kí tự
12 htmlentities() Chuyển kí tự qua mã entity HTML
13 htmlspecialchars_decode() Chuyển một số mã entity HTML (được
định nghĩa sẵn) qua kí tự
14 htmlspecialchars() Chuyển một số ký tự (được định nghĩa
sẵn) qua mã entity HTML
15 implode() Nối một mảng thành xâu ký tự
19 money_format() Định dạng tiền
20 number_format() Định dạng số, nhóm theo đơn vị nghìn
22 sha1_file() Mã hóa SHA1 cho file
23 similar_text() Tìm tính giống nhau giữa 2 xâu
24 str_ireplace() Thay thế một số ký tự trong xâu
25 str_repeat() Lặp một xâu với một số lượng lặp nhất
định
26 str_replace() Thay thế vài ký tự, phân biệt hoa
thường
27 str_shuffle() Trộn xâu
28 str_split() Chia một xâu ra thành mảng
29 str_word_count() Tìm số từ có trong xâu
30 strcasecmp() So sánh hai xâu Không phân biệt hoa
thường
31 strcmp() So sánh hai xâu Phân biệt hoa thường
32 strip_tags() Xóa các thẻ HTML và PHP khỏi xâu
Trang 1333 stripos() Tìm một xâu trong một xâu khác (không
phân biệt hoa thường)
34 stristr() Tìm một xâu trong một xâu khác (có
phân biệt hoa thường)
35 strlen() Trả lại độ dài của xâu
36 strpos() Tìm vị trí đầu tiên lặp của một xâu trong
một xâu khác
37 strrchr() Tìm vị trí cuối cùng của một xâu trong
một xâu khác
39 strripos() Tìm vị trí cuối của một xâu có trong một
xâu khác( không xét hoa thường)
40 strrpos() Tìm vị trí cuối của một xâu có trong
một xâu khác( có xét hoa thường)
41 strspn() Trả lại số lần các ký tự được tìm thấy
trong xâu
42 strstr() Tìm điểm trùng của một xâu trong một
xâu khác
43 strtok() Tách xâu qua xâu nhỏ hơn
44 strtolower() Chuyển xâu sang dạng thường
45 strtoupper() Chuyển xâu sang dạng hoa
46 strtr() Viết lại xâu theo quy tắc có sẵn
47 substr() Trả lại một phần của xâu
48 substr_compare() So khớp hai xâu ký tự
49 substr_count() Đếm số lần một sâu lặp trong xâu khác
50 substr_replace() Thay thể một phần của xâu bằng xâu
khác
51 trim() Bỏ ký tự cách khỏi đầu và cuối xâu
Trang 1452 ucfirst() Chuyển kí tự đầu của xâu lên viết hoa.
53 ucwords() Chuyển ký tự đầu tiên của các từ trong
xâu sang viết hoa
54 vfprintf() Hiện thỉ biến theo định dạng nhất định
56 vsprintf() Hiện thỉ biến ra một biến
57 wordwrap() Gói xâu lại theo một số lượng ký tự nhất
Trong PHP có 3 loại mạng:
Mảng số: là mảng có chỉ số là các chữ số
Mảng liên đới: là mảng mà mỗi chỉ số được gắn với một giá trị
Mảng đa chiều: là mảng có thể chứa một hay nhiều các mảng khác
Các cấu trúc điều khiển và lặp
Trang 17echo (“Ket qua la: “.$giaithua); ?>
Truyền nhận dữ liệu (POST/GET)
POST và GET là hai phương thức để bắt được dữ liệu từ người sử dụng POST thường được sử dụng để bắt dữ liệu từ form và với GET dữ liệu thường được lấy từ địa chỉ URL Dữ liệu trên PHP nhận về đối với cả hai phương thức đều
sẽ là dạng mảng PHP
POST
Như đã đề cập ở trên, POST thường được sử dụng nhận dữ liệu từ form Sau khi form được submit tới server, dữ liệu trong form (các input và giá trị của chúng) sẽ được lưu trữ lại trong mảng POST[] với tên khóa và giá trị tương ứng
có thể ghi và đọc cookies
SESSION
Trang 18Một session trong PHP là biến trên server dùng để lưu trữ thông tin của một người sử dụng, nó sẽ tồn tại và có thể truy cập được với mọi trang trong cùng một ứng dụng của người sử dụng.
Một session được bắt đầu khi người sử dụng bắt đầu mở làm viêc với ứng dụng và kết thúc khi tắt nó Session cho phép ta có thể lưu thông tin người dùng trên server, giúp cho các dữ liệu lưu tại đây có thể được truy cập lại, với các page khác nhau của ứng dụng Tuy nhiên dữ liệu trong session chỉ mang tính chất tạm thời, khi ứng dụng đó bị đóng lại (người dùng rời khỏi trang) session đó sẽ kết thúc, nếu ta muôn lưu lại một cách chắc chắn thì cần sử dụng cơ sở dữ liệu
Các giao dịch (transaction) khi xử lí vẫn còn gặp sai sót
1.2 Tổng quan MYSQL
1.2.1 MySLQ là gì?
MySQL được phát triển và hỗ trợ bởi công ty MySQL AB của Thụy Điển
Nó là hệ thống quản trị cơ sở dữ liệu (DBMS) cho các cơ sở dữ liệu quan hệ (vì vậy, MySQL là một RDBMS) Cơ sở dữ liệu là một tập hợp các dữ liệu có liên quan với nhau, có thể là văn bản, số hoặc các tập tin nhị phân được lưu trữ có tổ chức bởi DBMS
1.2.2 Đặc điểm của MySQL
MySQL là một phần mềm quản trị cơ sở dữ liệu dạng server-based (gần tương đương với SQL server của Microsoft)
MySQL quản lý dữ liệu thông qua các cơ sở dữ liệu, mỗi cơ sở dữ liệu có thể có nhiều bảng quan hệ chứa dữ liệu
MySQL có cơ chế phân quyền người sử dụng riêng, mỗi người dùng có thể được quản lý một hoặc nhiều cơ sở dữ liệu khác nhau, mỗi người dùng có một tên truy cập (user name) và mật khẩu tương ứng để truy xuất đến cơ sở dữ liệu
Khi ta truy vấn tới cơ sở dữ liệu MySQL, ta phải cung cấp tên truy cập và mật khẩu của tài khoản có quyền sử dụng cơ sở dữ liệu đó Nếu không, chúng ta sẽ không làm được gì cả
Trang 19 1.2.3 Các kiểu dữ liệu trong cơ sở dữ liệu MySQL
a) Loại dữ liệu numeric
Smallint -32768 -> 32767 hay 0 65535 2 Số nguyên nhỏ
Mediumint -8388608 -> 838860 hay
0 16777215
Bigint -263 -> 263 hay 0 264-1 8 Số nguyên lớn
Single hay DoubleFloat(M,D) ±1.175494351E-38
±3.40282346638
4 Số thập phân dạng
SingleDouble(M,D) ±1.7976931348623157308
b) Loại dữ liệu Date and Time
Trang 20TimeStamp[(M)] 1970-01-01
00:00:00
TimeStamptrìnhbàydướidạngYYYY-mm-dd hh:mm:ss
1901-2155
Year trình bày dưới dạng 2 số hay 4 số
Trình bày đại diện của TimeStamp
tự
Trang 21Longtext 232-1 Khai báo cho Field chứa kiểu blob vừa khoảng
4294967295 ký tự
1.2.4 Câu lệnh truy vấn cơ bản của MySQL
Hiển thị tất cả database trong mysql server:
SHOW DATABASES;
Tạo một database: CREATE DATABASE {tên database};
Ví dụ tạo một database có tên là "champiblog" như sau:
create database champiblog;
Xóa một database: DROP DATABASE {tên database};
Ví dụ khi muốn xóa database có tên là "champiblog"
DROP DATABASE champiblog;
Tạo một bảng: CREATE TABLE [tên table] (cột 1, cột 2 );
Ví dụ muốn tạo một table có tên là "member" có hai cột dữ liệu là "userid"
và "username": CREATE TABLE member (userid int(7), username text);
Nhập dữ liệu vào bảng: INSERT INTO [tên table] ([cột 1],[cột 2], )
VALUES (giá trị 1, giá trị 2, );
Vị dụ nhập dữ liệu cho table "member" đã được tạo ở trên: INSERT INTO
member (userid,username) VALUES (1,'champi');
Lấy dữ liệu từ table: SELECT {tên cột muốn hiển thị} FROM [tên
table];
Ví dụ lấy tất cả các cột: SELECT * FROM member;
Hoặc là chỉ lấy 1 số cột nhất định: select username from member;
Sửa đổi dữ liệu trong table: UPDATE [tên table] SET [cột muốn sửa]
='giá trị mới' WHERE [điều kiện] = 'giá trị';
Ví dụ muốn sửa tên thành viên "champi" thành "anh champi" (userid của
champi = 1): UPDATE member SET username='anh champi' WHERE userid = 1;
Đếm số data có trong table: SELECT COUNT FROM [tablename];
Trang 22Ví dụ: SELECT COUNT FROM member;
Xóa dữ liệu: DELETE FROM [tablename] WHERE ;
Ví dụ: DELETE FROM member WHERE userid=1;
Xóa table: DROP TABLE [tên table];
Ví dụ :DROP TABLE member;
1.3 Giới thiệu về Wordpress
1.3.1 Wordpress là gì?
WordPress là một dạng phần mềm mã nguồn mở được Christine Selleck đề xuất Mọi người biết đến WordPress đơn giản là để viết Blog, để đăng tải thông tin của mình lên mạng nhưng không đơn giản như vậy, WordPress còn có chức năng như mọi Website khác Nó có thể làm site tin tức, đánh giá, bán hàng, thậm chí làmạng xã hội Các bạn có thể ứng dụng wordpress để tạo cho mình 1 website trên nền wordpress , 1 website được tạo ra nhanh chóng đơn giản mà lại tiện cho việc quảng bá sản phẩm , thông tin , kiến thức ….WordPress được viết bằng ngôn ngữ lập trình PHP và sử dụng MySQL database
Ứng dụng Wordpress trong nhiều lĩnh vực như:
Trang Web của các tổ chức hoặc của các cổng thông tin (Portal)
Thương mại điện tử
Trang Web cho các công ty cỡ nhỏ
Ứng dụng cho các cơ quan hành chính
Trang Web cho các trường học và nhà thờ
Trang Web cá nhân và gia đình
Các cổng thông tin cộng đồng
Trang Web báo điện tử và tạp chí
1.3.2 Những đặc điểm nổi bật của WordPress
Cài đặt đơn giản và cực kì nhanh chóng, với trình cài đặt 5 phút nổi tiếng
Trang 23 Hệ thống Plugin phong phú và cập nhật liên tục, bạn cũng có thể tự viết plugin cho mình.
Hỗ trợ nhiều ngôn ngữ ( bao gồm cả tiếng Việt )
Được cập nhật, vá lỗi và hỗ trợ liên tục
Có rất nhiều Theme miễn phí, chuyên nghiệp và SEO rất tốt
Dễ dàng quản lý và thao tác, việc quản lý blog, bài viết giống như các phần mềm thiết kế web chuyên nghiệp
Tích hợp sẵn Latex – công cụ soạn thảo công thức toán học, bạn có thể viết công thức toán học ngay trong bài viết
Upload và quản lý hình ảnh một cách dễ dàng, đặc biệt là chức năng tạo thumbnail rất hay
Có một hệ thống Widget đa dạng ( ứng dụng tạo thêm ) như Thống kê
số người truy cập, danh sách các bài viết mới, các bài viết nổi bật, được xem nhiều, được comment nhiều, liệt kê các chuyên mục
Thống kê số truy cập từng ngày đối với mỗi bài viết của blog Trên cơ
sở đó bạn sẽ có định hướng nên viết gì tiếp theo
Hệ thống quản lý và duyệt Comment rất hay, có thể chặn spam theo IP
Hệ thống phân quyền với nhiều cấp độ khác nhau như: Administrator, Author, Editor, Contributer, Subcriber
Sao lưu dữ liệu một cách dễ dàng để backup hoặc chuyển nhà sang một nơi khác
Hỗ trợ import đa năng từ các blog khác như Blogspot, Tumblr, Blogger, LiveJournal …
WordPress hỗ trợ 3 GB để lưu trữ hình ảnh và văn bản
Và đặc biệt mới đây nhất WordPress hỗ trợ việc quản lý blog qua mobile rất thuận tiện và dễ dàng
Cài đặt và cấu hình Wordpress
Trang 24Để tải gói cài đặt mới nhất của WordPress, các bạn truy cập vào website http://wordpress.org/ để chọn tải về bản WordPress Tiếng Anh
Sau khi tải về, các bạn giải nén file đó ra, chúng ta sẽ có 1 thư mục tên wordpress Các bạn truy cập vào tên miền tương ứng trên host hoặc localhost để bắt đầu quá trình cài đặt Đầu tiên, WordPress sẽ yêu cầu ta tạo file wp-config.php chứa các cấu hình database Các bạn chọn Create a Configuration File như sau:
Hình 1.1: Create a Configuration File
Tiếp tục, nhấn Let’s Go và bạn nhập các thông tin cơ sở dữ liệu đã thiết lập:
Trang 25Hình 1.2: Nhập các thông tin cơ sở dữ liệu
Database Name: Tên database
User Name: Tên user
Password: Mật khẩu user
Database Host: địa chỉ host của database
Table Prefix: giữ nguyên
Nhập xong, các bạn nhấn Submit và ấn nút Run Install để bắt đầu cài đặt.
Tiếp theo chúng ta sẽ nhập các thông tin cần thiết cũng như tạo tài khoản
admin cho website, sau đó nhấn Install WordPress để hoàn thành quá trình cài
đặt
PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Khảo sát và phân tích thiết kế bài toán
2.1.1 Giới thiệu chung về Trường THPT Lê Quý Đôn – Thái Bình
Tên trường: Trung học phổ thông Lê Quý Đôn
Địa chỉ: Số 343 - Phố Lý Bôn – Thành phố Thái Bình – Tỉnh Thái BìnhĐiện thoại: 0363838527
Fax: 0363555877
Hiệu Trưởng: Thầy Vũ Minh Thuật
Phó Hiệu Trưởng: Cô Hà Thanh Vân
Số cán bộ giảng dạy English: 20/150 cán bộ
Sơ đồ cơ cấu tổ chức của Trường:
Trang 26Vì vậy nhà trường cần thiết phải xây dựng một Website học Tiếng Anh trực tuyến nhằm cung cấp thêm các giải pháp hỗ trợ cho việc giảng dạy và học tập
Trang 27Ngoại ngữ cho học sinh THPT
Các bài học trong hệ thống được chia làm bảy chuyên mục lớn: Giới thiệu
về website của Trường, Kinh nghiệm học Tiếng Anh hiệu quả, Học Tiếng Anh qua Video, Luyện kỹ năng nghe Tiếng Anh, Ngữ pháp Tiếng Anh, Thư viện và Bài kiểm tra trực tuyến Người học có thể chọn các chuyên mục phù hợp với nhu cầu học của mình
Mỗi chuyên mục lại được chia thành các chủ đề nhỏ giúp bài học trong hệ thống được tổ chức một cách khoa học Đồng thời, với mỗi chuyên mục, hệ thống cung cấp các kinh nghiệm, các bài tập thực hành giúp người học kiểm tra, đánh giá vốn kiến thức của mình
Các bài học được đưa ra cùng với mức độ tương ứng của bài học (dễ, trung bình, khó) để giúp người học tìm cho mình bài học phù hợp
Để tăng tính tương tác giữa người dùng với hệ thống, hệ thống cung cấp chức năng bình luận Với chức năng này, người học có thể đóng góp ý kiến của mình về bài học
Mô tả các chức năng của hệ thống
Sử dụng hệ thống bao gồm các đối tượng: người quản trị Website, thành viên thường, thành viên được phân quyền và khách Trong đó:
Người quản trị: là người thực hiện hoạt động quản lý Website, có toàn bộ
các quyền trong Website
Người dùng – học viên: là những người dùng sau khi đã đăng nhập vào hệ
thống bằng tài khoản đã đăng ký trước đó
Giáo viên – Biên tập viên: là những người đăng nhập vào website và có
Trang 28quyền hạn quản lí nhất định như quản lí bài học, bài kiểm tra, bài giảng.
Phân tích thiết kế hệ thống
Tác nhân hệ thống
Tác nhân là các thực thể bên ngoài tương tác với hệ thống Tác nhân có thể
là con người, cũng có thể là thiết bị phần cứng hay hệ thống khác có trao đổi thông tin với hệ thống Đối với hệ thống này có các tác nhân tương tác là:
Người dung – học viên: Khi người dùng truy cập vào trang web có thể tra cứu các bài học, phương pháp học, làm bài test…
Giáo viên – Biên tập viên: Khi đăng nhập vào website họ có quyền hạn quản lí nhất định như quản lí bài học, bài kiểm tra, bài giảng…
Quản trị viên - admin: Khi admin truy cập vào trang web có thể xem và thay đổi thông tin về các bài học, chương trình học
Hình 2.1: Tác nhân hệ thống
Các chức năng của hệ thống
Với người dùng
Trang 295 Xem chi tiết bài học Xem chi tiết bài học.
6 Xem kinh nghiệm học tiếng anh Xem kinh nghiệm học tiếng anh
7 Học tiếng anh qua video Học tiếng anh qua video
Bảng 2.1: Chức năng với người dùng
Với người quản trị
1 Xem danh sách bài viết Xem danh sách bài viết
2 Thêm, sửa, xóa bài viết Thêm, sửa, xóa bài viết
6 Phản hồi, xem, xóa phản hồi Phản hồi, xem, xóa phản hồi
9 Thêm, sửa, xóa chuyên mục Thêm, sửa, xóa chuyên mục
10 Xem danh sách thành viên Xem danh sách thành viên
11 Thêm sửa, xóa thành viên Thêm sửa, xóa thành viên
Bảng 2.2: Chức năng với quản trị viên
Trang 30 Với giáo viên, biên tập viên
4 Phản hồi, xem, xóa phản hồi Phản hồi, xem, xóa phản hồi
Bảng 2.3: Chức năng với giáo viên–biên tập viên
Mục tiêu của UML
UML cung cấp cho người dùng một ngôn ngữ mô hình hoá trực quan
Cung cấp khả năng mở rộng và chuyên môn hoá
Độc lập với ngôn ngữ lập trình chuyên biệt và các tiến trình phát triển
Cung cấp nền tảng về sự hiểu biết ngôn ngữ mô hình hoá
Khuyến khích và hỗ trợ sự phát triển của các công cụ hướng đối tượng
Trang 31 Hỗ trợ những khái niệm phát triển cấp độ cao như collaboration, framework, pattern and component.
Tích hợp một cách tốt nhất với thực tiễn
Đặc điểm của UML
UML là ngôn ngữ để trực quan hóa
Là ngôn ngữ để chi tiết hóa
Là ngôn ngữ để sinh ra mã ở dạng nguyên mẫu
Là ngôn ngữ dùng để lập và cung cấp tài liệu
Các loại biểu đồ trong UML
Biểu đồ lớp (Class Diagram): chỉ ra tương tác giữa các lớp trong hệ thống,
các lớp được xem như các kế hoạch chi tiết
Biểu đồ gói (Package Diagram): là tập hợp các class diagram Các package
diagram thiết lập mối quan hệ giữa các package, package là những nhóm phần tử của hệ thống có mối quan hệ liên quan đến nhau
Biểu đồ trường sử dụng(Use Case Diagram): đưa ra cách nhìn bao quát
cách sử dụng của hệ thống cũng như cách nhìn hệ thống từ bên ngoài, chỉ ra tương tác giữa UC và tác nhân
Biểu đồ cộng tác(Collaboration Diagram): Collaboration Diagram cung
cấp về cách nhìn sự tương tác hoặc mối quan hệ có cấu trúc giữa các đối tượng trong mô hình hiện thời
Biểu đồ trình tự (Sequence Diagram): mô tả sự tương tác của các lớp trong
trình tự về thời gian
Biểu đồ trạng thái (Statechart Diagram): mô tả những hành động của các
lớp và đối tượng riêng lẻ, trình tự những trạng thái mà các đối tượng sẽ đi qua
Biểu đồ hoạt động (Activity Diagram): mô tả tiến trình xử lý và trình tự
những hành động trong tiến trình xử lý
Biểu đồ thành phần (Component Diagram): cho chúng ta cách nhìn vật lý
Trang 32của mô hình thực tế
Biểu đồ triển khai (Deployment Diagram): mô tả các tài nguyên vật lý
trong hệ thống, bao gồm các nút (node), thành phần và kết nối
Phân tích thiết kế bài toán
Biểu đồ use case của hệ thống
Hình 2.2: Biểu đồ use case hệ thống
Use case xem danh sách tin
Chức năng: Quản trị viên, học viên, giáo viên xem danh sách tin
Tác nhân kích hoạt: Quản trị viên, học viên, giáo viên
Yêu cầu: Quản trị viên, học viên, giáo viên đã truy cập vào trang web
Kịch bản:
Quản trị viên, học viên, giáo viên truy cập vào trang web và lựa chọn
Trang 33xem danh sách tin.
Hệ thống trả về kết quả danh sách tin trên giao diện
Biểu đồ trình tự:
Hình 2.3: Biểu đồ trình tự xem danh sách tin
Biểu đồ hoạt động:
Trang 34Hình 2.4: Biểu đồ hoạt động xem danh sách tin
Use case xem giới thiệu
Chức năng: Quản trị viên, học viên, giáo viên xem giới thiệu
Tác nhân kích hoạt: Quản trị viên, học viên, giáo viên
Yêu cầu: Quản trị viên, học viên, giáo viên đã truy cập vào trang web
Trang 35Hình 2.5: Biểu đồ trình tự xem giới thiệu
Biểu đồ hoạt động:
Hình 2.6: Biểu đồ hoạt động xem giới thiệu
Trang 36 Use case xem danh sách bài học
Chức năng: Quản trị viên, học viên, giáo viên xem danh sách bài học
Tác nhân kích hoạt: Quản trị viên, học viên, giáo viên
Yêu cầu: Quản trị viên, học viên, giáo viên đã truy cập vào trang web
Trang 37Hình 2.8: Biểu đồ hoạt động xem danh sách bài học
Use case xem chi tiết bài học
Chức năng: Quản trị viên, học viên, giáo viên xem chi tiếtbài học
Tác nhân kích hoạt: Quản trị viên, học viên, giáo viên
Yêu cầu: Quản trị viên, học viên, giáo viên đã truy cập vào trang web
Kịch bản:
Quản trị viên, học viên, giáo viên truy cập vào trang web và lựa chọn xem chi tiết bài học
Hệ thống trả về kết quả danh sách bài học trên giao diện
Quản trị viên, học viên, giáo viên chọn bài học cần xem
Hệ thống hiện chi tiết bài học
Biểu đồ trình tự:
Trang 38Hình 2.9: Biểu đồ trình tự xem chi tiết bài học
Biểu đồ hoạt động:
Trang 39Hình 2.10: Biểu đồ hoạt động xem chi tiết bài học
Use case xem kinh nghiệm học
Chức năng: Quản trị viên, học viên, giáo viên xem kinh nghiệm học
Tác nhân kích hoạt: Quản trị viên, học viên, giáo viên
Trang 40 Yêu cầu: Quản trị viên, học viên, giáo viên đã truy cập vào trang web.
Kịch bản:
Quản trị viên, học viên, giáo viên truy cập vào trang web và lựa chọn xem kinh nghiệm học
Hệ thống trả về kết quả danh sách kinh nghiệm học trên giao diện
Quản trị viên, học viên, giáo viên chọn mục cần xem
Hệ thống hiện chi tiết
Biểu đồ trình tự:
Hình 2.11: Biểu đồ trình tự xem kinh nghiệm học
Use case xem danh sách tài liệu
Chức năng: Quản trị viên, học viên, giáo viên xem danh sách tài liệu
Tác nhân kích hoạt: Quản trị viên, học viên, giáo viên