Tải bản đầy đủ (.doc) (67 trang)

Đồ án Xây dựng website tìm kiếm địa điểm cho tỉnh ( 63 tỉnh thành )

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.46 MB, 67 trang )

LỜI CẢM ƠN
Trong quá trình học tập tại Trường Đại Học Công Nghệ Thông Tin Và
Truyền Thông Thái Nguyên em đã nhận được sự chỉ bảo, dạy dỗ nhiệt tình và sự
giúp đỡ chân thành của các thầy, các cô, bạn bè cùng người thân.
Em xin chân thành cảm ơn Bộ môn Công Nghệ Phần Mềm, Khoa Công
Nghệ Thông Tin và trường Đại học Công Nghệ Thông Tin và Truyền Thông Thái
Nguyên đã tạo điều kiện cho em hoàn thành đồ án này.
Em xin gửi lời cảm ơn chân thành tới cô Nguyễn Thị Dung – giảng viên
Bộ môn Công Nghệ Phần Mềm đã nhiệt tình hướng dẫn em hoàn thành đồ án tốt
nghiệp này.
Em xin gửi lời cảm ơn sâu sắc tới tất cả các thầy cô giáo, những người đã
giảng dạy, trang bị cho em những kiến thức quý báu trong suốt những năm học
vừa qua tại trường Đại học Công Nghệ Thông Tin và Truyền Thông Thái
Nguyên.
Xin chân thành cảm ơn tới gia đình, anh chị, bạn bè đã giúp đỡ, ủng hộ và
động viên em trong suốt thời gian học tập và nghiên cứu.
Em hy vọng sẽ tiếp tục nhận được sự quan tâm, giúp đỡ của thầy cô giáo
để em hoàn thiện những vấn đề còn thiếu sót trong đồ án tốt nghiệp và hoàn thiện
mình hơn nữa.
Em xin chân thành cảm ơn!
Sinh viên thực hiện

Nguyễn Thị Tuyết Nhung

1


LỜI CAM ĐOAN
Em xin cam đoan nội dung của đồ án này là sản phẩm của bản thân em
tìm hiểu, nghiên cứu và xây dựng lên. Không sao chép của ai. Nội dung đồ án có
tham khảo, sử dụng tài liệu, thông tin từ một số nguồn khác được trích dẫn trong


phần tài liệu tham khảo và một số website. Nếu có gì sai sót em xin chịu hoàn
toàn mọi trách nhiệm và kỷ luật của trường đề ra.
Tác giả đồ án

Nguyễn Thị Tuyết Nhung

2


MỤC LỤC

LỜI CẢM ƠN.......................................................................................................1
LỜI CAM ĐOAN.................................................................................................2
MỤC LỤC............................................................................................................. 3
DANH MỤC CÁC BẢNG....................................................................................7
DANH MỤC CÁC HÌNH.....................................................................................8
LỜI MỞ ĐẦU.....................................................................................................10
1.2.1 Giới thiệu về mã nguồn mở WordPress................................................16
1.2.2 Cài đặt WordPress................................................................................17
1.3 Giới thiệu về UML.....................................................................................21
1.3.1 Khái niệm của UML............................................................................21
1.3.2 Đặc điểm của UML.............................................................................22
1.4 Giới thiệu về Google Maps API.................................................................22
CHƯƠNG 2 : KHẢO SÁT HIỆN TRẠNG.........................................................23
2.1 Đặt vấn đề..................................................................................................23
2.2 Giải pháp....................................................................................................23
2.3 Thực trạng hiện tại của những website tìm kiếm địa điểm đã có................23
2.4 Yêu cầu bài toán cần giải quyết..................................................................24
2.4.1 Mô tả bài toán......................................................................................24
2.4.2 Phân tích yêu cầu bài toán...................................................................24

2.4.3 Thông tin đầu vào, đầu ra của bài toán................................................24
2.5 Mục đích và mục tiêu của đề tài.................................................................24
2.5.1 Mục đích của đề tài..............................................................................24
2.5.2 Mục tiêu của đề tài...............................................................................25
CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG...................................26
3.1 Các tác nhân và UC của hệ thống...............................................................26
3.2 Biểu đồ UC................................................................................................27
3.2.1 Biểu đồ UC tổng thể............................................................................27
3.2.2 Biểu đồ UC mức chi tiết......................................................................27

3


3.3 Đặc tả một số UC chính.............................................................................29
3.3.1 UC đăng ký..........................................................................................29
3.3.2 UC đăng nhập......................................................................................31
3.3.3 UC tìm kiếm........................................................................................33
3.3.4 UC quản lý địa điểm............................................................................35
3.3.5 UC quản lý danh mục địa điểm............................................................37
3.3.6 UC quản lý huyện................................................................................40
3.3.7 UC quản lý thành viên.........................................................................42
3.3.8 UC quản lý tin tức................................................................................44
3.3.9 UC quản lý bình luận...........................................................................46
3.3.10 UC thống kê báo cáo..........................................................................48
3.4 Thiết lập hệ thống......................................................................................49
3.5 Biểu đồ lớp và các ca sử dụng....................................................................50
3.5.1 Biểu đồ lớp ca sử dụng đăng ký...........................................................50
3.5.2 Biểu đồ lớp ca sử dụng đăng nhập.......................................................51
3.5.3 Biểu đồ lớp ca sử dụng tìm kiếm.........................................................51
3.5.4 Biểu đồ lớp ca sử dụng quản lý thành viên..........................................52

3.5.5 Biểu đồ lớp ca sử dụng quản lý địa điểm.............................................52
3.5.6 Biểu đồ lớp ca sử dụng quản lý danh mục địa điểm.............................53
3.5.7 Biểu đồ lớp ca sử dụng quản lý huyện.................................................53
3.5.9 Biểu đồ lớp ca sử dụng quản lý bình luận............................................54
3.6 Lược đồ cơ sở dữ liệu................................................................................54
3.6.1 Bảng thông tin thành viên(User)..........................................................55
3.6.2 Bảng địa điểm(locations).....................................................................56
3.6.3 Bảng danh mục địa điểm(cat_locations)..............................................56
3.6.4 Bảng tin tức(post)................................................................................56
3.6.5 Bảng bình luận(comments)..................................................................57
3.7 Biểu đồ quan hệ thực thể............................................................................57
CHƯƠNG 4: XÂY DỰNG CHƯƠNG TRÌNH..................................................59
4.1 Giao diện chính..........................................................................................59
.........................................................................................................................59
4


4.3 Giao diện đăng nhập..................................................................................60
.........................................................................................................................60
4.4 Giao diện đăng ký......................................................................................61
4.5 Giao diện đăng địa điểm............................................................................61
4.6 Giao diện quản lý địa điểm........................................................................63
4.7 Giao diện quản lý thành viên......................................................................63
4.8 Giao diện quản lý danh mục địa điểm........................................................64
............................................................................................................................64
NHẬN XÉT CỦA GIÁO VIÊN..........................................................................67
.........................................................................................................................67
.........................................................................................................................67
.........................................................................................................................67
.........................................................................................................................67

.........................................................................................................................67
.........................................................................................................................67
.........................................................................................................................67
.........................................................................................................................67
.........................................................................................................................67
.........................................................................................................................67
.........................................................................................................................67
.........................................................................................................................67
.........................................................................................................................67
.........................................................................................................................67
.........................................................................................................................67
.........................................................................................................................67
.........................................................................................................................67
.........................................................................................................................67
.........................................................................................................................67
.........................................................................................................................67
.........................................................................................................................67

5


6


DANH MỤC CÁC BẢNG

Bảng 3.1 : Mối quan hệ giữa các tác nhân và UC................................................27
Bảng 3.2: Luồng sự kiện chính của UC đăng ký.................................................30
Bảng 3.3: Luồng sự kiện chính của UC đăng nhập.............................................32
Bảng 3.4: Luồng sự kiện chính của UC tìm kiếm................................................34

Bảng 3.5: Luồng sự kiện chính của UC quản lý địa điểm..................................35
Bảng 3.6: Luồng sự kiện chính của UC quản lý danh mục địa điểm...................38
Bảng 3.7: Luồng sự kiện chính của UC quản lý huyện.......................................41
Bảng 3.8: Luồng sự kiện chính của UC quản lý thành viên.................................42
Bảng 3.9: Luồng sự kiện chính của UC quản lý tin tức.......................................44
Bảng 3.10: Luồng sự kiện chính của UC quản lý bình luận................................46
Bảng 3.11: Luồng sự kiện chính của UC thống kê báo cáo.................................48
Bảng 3.12: Thông tin thành viên.........................................................................55
Bảng 3.13 : Thông tin địa điểm...........................................................................56
Bảng 3.14 : Danh mục địa điểm..........................................................................56
Bảng 3.15 : Tin tức..............................................................................................57
Bảng 3.16 : Bình luận..........................................................................................57
4.2 Giao diện tìm kiếm........................................................................................60

7


DANH MỤC CÁC HÌNH

Hình 1.1: Bước đầu khởi tạo cấu hình cài đặt WordPress....................................18
Hình 1.2: Các thông tin về database cần có trước khi cài đặt..............................19
Hình 1.3: Kiểm tra các thông tin trước khi kết nối..............................................19
Hình 1.4: Chuẩn bị cài đặt...................................................................................20
Hình 1.5: Nhập thông tin để bắt đầu cài đặt........................................................20
Hình 1.6: Cài đặt thành công, đăng nhập để sử dụng WordPress.........................21
Hình 3.1 : Biểu đồ UC mức tổng thể...................................................................27
Hình 3.2 : Biểu đồ UC mức chi tiết tác nhân quản trị hệ thống...........................28
Hình 3.3 : Biểu đồ UC mức chi tiết tác nhân chủ địa điểm và người dùng..........29
Hình 3.4: Biểu đồ trình tự UC đăng ký thành viên..............................................30
Hình 3.5: Biểu đồ cộng tác UC đăng ký thành viên............................................31

Hình 3.6: Biểu đồ trình tự UC đăng nhập hệ thống.............................................32
Hình 3.7: Biểu đồ cộng tác UC đăng nhập hệ thống............................................33
Hình 3.8: Biểu đồ trình tự UC tìm kiếm..............................................................34
Hình 3.9: Biểu đồ cộng tác UC tìm kiếm............................................................35
Hình 3.10: Biểu đồ trình tự UC quản lý địa điểm................................................36
Hình 3.11: Biểu đồ cộng tác UC quản lý địa điểm..............................................37
Hình 3.12: Biểu đồ trình tự UC quản lý danh mục địa điểm...............................39
Hình 3.13: Biểu đồ cộng tác UC quản lý danh mục địa điểm..............................40
Hình 3.14: Biểu đồ trình tự UC quản lý huyện....................................................41
Hình 3.15: Biểu đồ cộng tác UC quản lý huyện..................................................42
Hình 3.16: Biểu đồ trình tự UC quản lý thành viên.............................................43
Hình 3.17: Biểu đồ cộng tác UC quản lý thành viên...........................................44
Hình 3.18: Biểu đồ trình tự UC quản lý tin tức...................................................45
Hình 3.19: Biểu đồ cộng tác UC quản lý tin tức..................................................46
Hình 3.20: Biểu đồ trình tự UC quản lý bình luận...............................................47
Hình 3.21: Biểu đồ cộng tác UC quản lý bình luận.............................................48
Hình 3.22: Biểu đồ trình tự UC thống kê báo cáo...............................................49

8


Hình 3.23: Biểu đồ lớp ca sử dụng đăng ký.........................................................50
Hình 3.24: Biểu đồ lớp ca sử dụng đăng nhập.....................................................51
Hình 3.25: Biểu đồ lớp ca sử dụng tìm kiếm.......................................................51
Hình 3.26: Biểu đồ lớp ca sử dụng quản lý thành viên........................................52
Hình 3.27: Biểu đồ lớp ca sử dụng quản lý địa điểm...........................................52
Hình 3.28: Biểu đồ lớp ca sử dụng quản lý danh mục địa điểm..........................53
Hình 3.29: Biểu đồ lớp ca sử dụng quản lý huyện...............................................53
Hình 3.30: Biểu đồ lớp ca sử dụng quản lý tin tức.............................................54
Hình 3.31: Biểu đồ lớp ca sử dụng quản lý bình luận..........................................54

Hình 3.32: Biểu đồ quan hệ thực thể...................................................................57
Hình 4.1: Giao diện chính...................................................................................59
Hình 4.2: Giao diện tìm kiếm..............................................................................60
Hình 4.3: Giao diện đăng nhập............................................................................60
Hình 4.4: Giao diện đăng ký................................................................................61
Hình 4.5: Giao diện chính đăng thông tin địa điểm.............................................62
Hình 4.6: Giao diện quản lý địa điểm..................................................................63
Hình 4.7: Giao diện quản lý thành viên...............................................................63
Hình 4.8: Giao diện quản lý danh mục địa điểm.................................................64

9


LỜI MỞ ĐẦU
Hiện nay, kinh tế Việt Nam đang trên đà phát triển. Bên cạnh việc phát
triển và xây dựng các cơ sở hạ tầng như nhà máy, xí nghiệp, bệnh viện, trường
học,… là sự phát triển của hàng loạt các khu vui chơi, giải trí, các địa điểm phục
vụ đời sống tinh thần cho người dân. Ở các thành phố lớn như Hà Nội, Hồ Chí
Minh và các tỉnh lân cận như Thái Nguyên, Vĩnh Phúc, Hải Phòng,… hàng loạt
các địa điểm được xây dựng. Với sự phát triển một cách ồ ạt và mạnh mẽ như
vậy thì việc tìm kiếm các địa điểm cũng trở nên khó khăn hơn, đặc biệt là đối với
những người từ địa phương khác đến sinh sống. Để đến được những địa điểm mà
họ cần tới, thì họ sẽ phải mất thời gian tìm kiếm. Nên việc xây dựng một website
tìm kiếm địa điểm là rất thiết thực. Website có thể cung cấp thông tin địa điểm
chính xác, những thông tin này được cung cấp đến người dùng, người dùng có
thể tìm kiếm một cách nhanh chóng, thuận tiện và trực quan nhất.
Cùng với sự phát triển nhanh chóng của công nghệ thông tin nói chung và
mạng Internet nói riêng, đã đem lại rất nhiều thay đổi trong việc tìm kiếm thông
tin. Bằng internet, chúng ta đã thực hiện được nhiều công việc nhanh hơn và chi
phí thấp hơn nhiều so với cách thức truyền thống. Với những thao tác đơn giản

trên máy tính có nối mạng internet bạn sẽ có tận tay những gì mình cần mà
không phải mất nhiều thời gian. Chúng ta chỉ cần vào các trang dịch vụ tìm kiếm
tìm những gì chúng ta cần, các thông tin sẽ được cung cấp nhanh và đáp ứng tốt
nhu cầu của người dùng.
Vì vậy, em đã chọn đề tài đồ án “Xây dựng website tìm kiếm địa điểm tại
tỉnh Thái Nguyên” hy vọng sẽ đem lại một trong những sự lựa chọn tốt nhất để
cung cấp thông tin địa điểm tới người tìm địa điểm. Giúp người tìm địa điểm có
thể tìm kiếm địa điểm một cách trực quan, nhanh chóng.
Trong thời gian có hạn và kinh nghiệm còn khiêm tốn tuy đã cố gắng hết
sức tìm hiểu, phân tích thiết kế và cài đặt hệ thống nhưng vẫn không tránh khỏi
nhiều bỡ ngỡ trước đề tài lớn và chắc rằng không tránh khỏi những thiếu sót. Em

10


rất mong nhận được sự chỉ bảo và đóng góp ý kiến để chương trình của em có thể
hoàn thiện hơn và có thêm những hướng phát triển mới.
Cuối cùng, em xin chân thành cảm ơn các thầy cô trong bộ môn Công
nghệ phần mềm – Trường Đại Học Công Nghệ Thông Tin và Truyền cùng với
sự ủng hộ và hướng dẫn nhiệt tình của cô giáo Ks.Nguyễn Thị Dung đã giúp em
hoàn thành đề tài đồ án tốt nghiệp này.
Thái Nguyên, tháng 5 năm 2014

11


CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
1.1 Giới thiệu về PHP và MySQL
1.1.1 PHP là gì?
PHP (Hypertext Preprocessor) là một ngôn ngữ lập trình kịch bản hay một

loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã
nguồn mở, dùng cho mục đích tổng quát. Nó rất thích hợp với web và có thể dễ
dàng nhúng vào trang HTML. Do được tối ưu hóa cho các ứng dụng web, tốc độ
nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm
tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành
một ngôn ngữ lập trình web phổ biến nhất thế giới.
Cặp thẻ <?php ...... ?> sẽ đánh đấu sự bắt đầu và sự kết thúc của phần mã
PHP qua đó máy chủ biết để xử lý và dịch mã cho đúng. Đây là một điểm khá
tiện lợi của PHP giúp cho việc viết mã PHP trở nên khá trực quan và dễ dàng
trong việc xây dựng phần giao diện ứng dụng HTTP.
Ngôn ngữ, các thư viện, tài liệu gốc của PHP được xây dựng bởi cộng
đồng và có sự đóng góp rất lớn của Zend Inc, công ty do các nhà phát triển lõi
của PHP lập nên nhằm tạo ra một môi trường chuyên nghiệp để đưa PHP phát
triển ở quy mô doanh nghiệp.
Lịch sử phát triển của PHP
PHP được phát triển từ một sản phẩm có tên là PHP/FI. PHP/FI do
Rasmus Lerdorf tạo ra năm 1995, ban đầu được xem như là một tập con đơn giản
của các mã kịch bản Perl để theo dõi tình hình truy cập đến bản sơ yếu lý lịch của
ông trên mạng. Ông đã đặt tên cho bộ mã kịch bản này là 'Personal Home Page
Tools'. Khi cần đến các chức năng rộng hơn, Rasmus đã viết ra một bộ thực thi
bằng C lớn hơn để có thể truy vấn tới các cơ sở dữ liệu và giúp cho người sử
dụng phát triển các ứng dụng web đơn giản. Rasmus đã quyết định công bố mã
nguồn của PHP/FI cho mọi người xem, sử dụng cũng như sửa các lỗi có trong nó
đồng thời cải tiến mã nguồn.
PHP/FI, viết tắt từ “Personal Home Page/Forms Interpreter”, bao gồm một
số các chức năng cơ bản cho PHP như ta đã biết đến chúng ngày nay. Nó có các

12



biến kiểu như Perl, thông dịch tự động các biến của form và cú pháp HTML
nhúng. Cú pháp này giống như của Perl, mặc dù hạn chế hơn nhiều, đơn giản và
có phần thiếu nhất quán.
Vào năm 1997, PHP/FI 2.0, lần viết lại thứ hai của phiên bản C, đã thu hút
được hàng ngàn người sử dụng trên toàn thế giới với xấp xỉ 50.000 tên miền đã
được ghi nhận là có cài đặt nó, chiếm khoảng 1% số tên miền có trên mạng
Internet. Tuy đã có tới hàng nghìn người tham gia đóng góp vào việc tu chỉnh mã
nguồn của dự án này thì vào thời đó nó vẫn chủ yếu chỉ là dự án của một người.
PHP/FI 2.0 được chính thức công bố vào tháng 11 năm 1997, sau một thời
gian khá dài chỉ được công bố dưới dạng các bản beta. Nhưng không lâu sau đó,
nó đã được thay thế bởi các bản alpha đầu tiên của PHP 3.0.
PHP 3
PHP 3.0 là phiên bản đầu tiên cho chúng ta thấy một hình ảnh gần gũi với
các phiên bản PHP mà chúng ta được biết ngày nay. Nó đã được Andi Gutmans
và Zeev Suraski tạo ra năm 1997 sau khi viết lại hoàn toàn bộ mã nguồn trước
đó. Lý do chính mà họ đã tạo ra phiên bản này là do nhận họ thấy PHP/FI 2.0 hết
sức yếu kém trong việc phát triển các ứng dụng thương mại điện tử mà họ đang
xúc tiến trong một dự án của trường đại học. Trong một nỗ lực hợp tác và bắt đầu
xây dựng dựa trên cơ sở người dùng đã có của PHP/FI, Andi, Rasmus và Zeev đã
quyết định hợp tác và công bố PHP 3.0 như là phiên bản thế hệ kế tiếp của
PHP/FI 2.0, và chấm dứt phát triển PHP/FI 2.0.
Một trong những sức mạnh lớn nhất của PHP 3.0 là các tính năng mở rộng
mạnh mẽ của nó. Ngoài khả năng cung cấp cho người dùng cuối một cơ sở hạ
tầng chặt chẽ dùng cho nhiều cơ sở dữ liệu, giao thức và API khác nhau, các tính
năng mở rộng của PHP 3.0 đã thu hút rất nhiều nhà phát triển tham gia và đề xuất
các mô đun mở rộng mới. Hoàn toàn có thể kết luận được rằng đây chính là điểm
mấu chốt dẫn đến thành công vang dội của PHP 3.0.Các tính năng khác được giới
thiệu trong PHP 3.0 gồm có hỗ trợ cú pháp hướng đối tượng và nhiều cú pháp
ngôn ngữ nhất quán khác.


13


Ngôn ngữ hoàn toàn mới đã được công bố dưới một cái tên mới, xóa bỏ
mối liên hệ với việc sử dụng vào mục đích cá nhân hạn hẹp mà cái tên PHP/FI
2.0 gợi nhắc. Nó đã được đặt tên ngắn gọn là PHP, một kiểu viết tắt hồi quy của
“PHP: Hypertext Preprocessor”.
Vào cuối năm 1998, PHP đã phát triển được con số cài đặt lên tới hàng
chục ngàn người sử dụng và hàng chục ngàn Website báo cáo là đã cài nó. Vào
thời kì đỉnh cao, PHP 3.0 đã được cài đặt cho xấp xỉ 10% số máy chủ Web có
trên mạng Internet.
PHP 3.0 đã chính thức được công bố vào tháng 6 năm 1998, sau thời gian
9 tháng được cộng đồng kiểm nghiệm.
PHP 4
Vào mùa đông năm 1998, ngay sau khi PHP 3.0 chính thức được công bố,
Andi Gutmans và Zeev Suraski đã bắt đầu bắt tay vào việc viết lại phần lõi của
PHP. Mục đích thiết kế là nhằm cải tiến tốc độ xử lý các ứng dụng phức tạp, và
cải tiến tính mô đun của cơ sở mã PHP. Những ứng dụng như vậy đã chạy được
trên PHP 3.0 dựa trên các tính năng mới và sự hỗ trợ khá nhiều các cơ sở dữ liệu
và API của bên thứ ba, nhưng PHP 3.0 đã không được thiết kế để xử lý các ứng
dụng phức tạp như thế này một cách có hiệu quả.
Một động cơ mới, có tên Zend Engine (ghép từ các chữ đầu trong tên của
Zeev và Andi), đã đáp ứng được các nhu cầu thiết kế này một cách thành công,
và lần đầu tiên được giới thiệu vào giữa năm 1999. PHP 4.0, dựa trên động cơ
này, và đi kèm với hàng loạt các tính năng mới bổ sung, đã chính thức được công
bố vào tháng 5 năm 2000, gần 2 năm sau khi bản PHP 3.0 ra đời. Ngoài tốc độ xử
lý được cải thiện rất nhiều, PHP 4.0 đem đến các tính năng chủ yếu khác gồm có
sự hỗ trợ nhiều máy chủ Web hơn, hỗ trợ phiên làm việc HTTP, tạo bộ đệm thông
tin đầu ra, nhiều cách xử lý thông tin người sử dụng nhập vào bảo mật hơn và
cung cấp một vài các cấu trúc ngôn ngữ mới.

Với PHP 4, số nhà phát triển dùng PHP đã lên đến hàng trăm nghìn và
hàng triệu site đã công bố cài đặt PHP, chiếm khoảng 20% số tên miền trên mạng
Internet.

14


Nhóm phát triển PHP cũng đã lên tới con số hàng nghìn người và nhiều
nghìn người khác tham gia vào các dự án có liên quan đến PHP như PEAR,
PECL và tài liệu kĩ thuật cho PHP.
PHP 5
Sự thành công hết sức to lớn của PHP 4.0 đã không làm cho nhóm phát
triển PHP tự mãn. Cộng đồng PHP đã nhanh chóng giúp họ nhận ra những yếu
kém của PHP 4 đặc biệt với khả năng hỗ trợ lập trình hướng đối tượng (OOP), xử
lý XML, không hỗ trợ giao thức máy khách mới của MySQL 4.1 và 5.0, hỗ trợ
dịch vụ web yếu. Những điểm này chính là mục đích để Zeev và Andi viết Zend
Engine 2.0, lõi của PHP 5.0. Một thảo luận trên Slashdot đã cho thấy việc phát
triển PHP 5.0 có thể đã bắt đầu vào thời điểm tháng 12 năm 2002 nhưng những
bài phỏng vấn Zeev liên quan đến phiên bản này thì đã có mặt trên mạng Internet
vào khoảng tháng 7 năm 2002. Ngày 29 tháng 6 năm 2003, PHP 5 Beta 1 đã
chính thức được công bố để cộng đồng kiểm nghiệm. Đó cũng là phiên bản đầu
tiên của Zend Engine 2.0. Phiên bản Beta 2 sau đó đã ra mắt vào tháng 10 năm
2003 với sự xuất hiện của hai tính năng rất được chờ đợi: Iterators, Reflection
nhưng namespaces một tính năng gây tranh cãi khác đã bị loại khỏi mã nguồn.
Ngày 21 tháng 12 năm 2003 PHP 5 Beta 3 đã được công bố để kiểm tra với việc
phân phối kèm với Tidy, bỏ hỗ trợ Windows 95, khả năng gọi các hàm PHP bên
trong XSLT, sửa chữa nhiều lỗi và thêm khá nhiều hàm mới. PHP 5 bản chính
thức đã ra mắt ngày 13 tháng 7 năm 2004 sau một chuỗi khá dài các bản kiểm tra
thử bao gồm Beta 4, RC 1, RC2, RC3. Mặc dù coi đây là phiên bản sản xuất đầu
tiên nhưng PHP 5.0 vẫn còn một số lỗi trong đó đáng kể là lỗi xác thực HTTP.

Ngày 14 tháng 7 năm 2005, PHP 5.1 Beta 3 được PHP Team công bố đánh
dấu sự chín muồi mới của PHP với sự có mặt của PDO, một nỗ lực trong việc tạo
ra một hệ thống API nhất quán trong việc truy cập cơ sở dữ liệu và thực hiện các
câu truy vấn. Ngoài ra, trong PHP 5.1, các nhà phát triển PHP tiếp tục có những
cải tiến trong nhân Zend Engine 2, nâng cấp mô đun PCRE lên bản PCRE 5.0
cùng những tính năng và cải tiến mới trong SOAP, streams và SPL.

15


PHP 6
Hiện nay phiên bản tiếp theo của PHP đang được phát triển, PHP 6 bản sử
dụng thử đã có thể được download tại địa chỉ . Phiên bản PHP
6 được kỳ vọng sẽ lấp đầy những khiếm khuyết của PHP ở phiên bản hiện tại, ví
dụ: hỗ trợ namespace (hiện tại các nhà phát triển vẫn chưa công bố rõ ràng về
vấn đề này); hỗ trợ Unicode; sử dụng PDO làm API chuẩn cho việc truy cập cơ
sở dữ liệu, các API cũ sẽ bị đưa ra thành thư viện PECL...
1.1.2 Hệ quản trị cơ sở dữ liệu MySQL
MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới
và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì
MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển,
hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất
mạnh. Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có
truy cập CSDL trên internet. MySQL miễn phí hoàn toàn cho nên có thể tải về
MySQL từ trang chủ. Nó có nhiều phiên bản cho các hệ điều hành khác nhau:
phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X, Unix,
FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS, ...
MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu
quan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL).
MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác,

nó làm nơi lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl,...
1.2 Mã nguồn mở WordPress
1.2.1 Giới thiệu về mã nguồn mở WordPress
WordPress là một phần mềm miễn phí cho việc quản lý nội dung web(văn
bản và hình ảnh). Nó đặc biệt hữu ích cho việc xây dựng và duy trì một weblog
trên, vì nó cho phép mỗi bài cho một hoặc nhiều mẫu hệ thống chỉ định, và tự
động tạo ra các chuyển hướng thích hợp.
Tiếp theo, các hệ thống ý kiến độc giả có cơ hội để xem xét nó trước khi
phát hành, cũng như quản lý các liên kết, quản lý một vai trò người sử dụng,
quyền và khả năng bên ngoài các plugin, làm cho WordPress hướng tới một “hệ
thống quản lý nội dung” đầy đủ và có thể được mở rộng hơn.

16


WordPress được viết bằng ngôn ngữ lập trình PHP và sử dụng MySQL.
WordPress là hậu duệ chính thức của b2/cafelog, được phát triển bởi Michel
Valdrighi. Cái tên WordPress được đề xuất bởi Chritine Selleck, một người bạn
của nhà phát triển Matt Mullenweg.
Lịch sử phát triển
Trong những năm 2001-2002 Michel Valdrighi phát triển một chương
trình bằng văn bản trong hệ thống PHP Weblog gọi là b2/Cafelog, phát hành bởi
GPL. B2/Cafelog thường được biết đến cái tên đơn giản hơn là b2 hay cafelog là
tiền thân của WordPress. B2/cafelog đã ước lượng được khoảng 2000 blog được
sử dụng trong tháng 5 năm 2003. Nó cũng được viết bằng ngôn ngữ lập trình
PHP để dùng với MySQL bởi Michel Valdrighi, người đã trở thành nhà phát
triển chính của WordPress hiện nay.
Phiên bản ổn định đầu tiên của WordPress được phát hành vào ngày 3
tháng 1 năm 2004. Kể từ phiên bản 1.5 WordPress hỗ trợ quản lý các trang tĩnh,
vì vậy nền tảng đã được tạo ra để sử dụng WordPress không như là một phần

mềm viết blog tinh khiết, mà còn là một hệ thống quản lý nội dung đơn giản.
Năm 2007, WordPress đã giành giải thưởng Packt Open Source CMS.
Năm 2009, WordPress dẫn đầu về mã nguồn CMS tốt nhất.
Nét nổi bật
• Hệ thống Plugin phong phú và không ngừng cập nhật, ngoài ra người
dùng có thể viết Plugin hoặc tích hợp code vào Wordpress.
• Được phát triển bằng nhiều ngôn ngữ (hỗ trợ tiếng việt).
• Cập nhật phiên bản liên tục, cộng đồng hỗ trợ lớn.
• Có hệ thống theme đồ sộ, nhiều theme chuyên nghiệp có khả năng SEO
tốt.
• Việc quản lý blog, quản lý các bài viết rất thuận tiện giống như các phần
mềm thiết kế website chuyên nghiệp.
1.2.2 Cài đặt WordPress
Để cài đặt WordPress cần thực hiện các thao tác sau:

17


Bước 1: Phần chuẩn bị
• Tải phiên bản mới nhất của WordPress từ />• Chọn phần mềm web server để cài đặt, có thể chọn Wamp, Xamp,
AppServ… Ở đây ta sẽ cài đặt WordPress trên WampServer. Bộ cài đặt được tải
trực tiếp từ />Bước 2: Cài đặt Wamp
• Sau khi download, tiến hành giải nén và thực hiện các thao tác như bộ cài
đặt hướng dẫn.
• Cài đặt thành công, mở trình duyệt nhập http://localhost/phpmyadimin.
Chọn Database rồi chọn tiếp Create database, tạo một cơ sở dữ liệu mới với tên
wordpress.
Bước 3: Cài đặt WordPress
• Giải nén và copy toàn bộ code của WordPress vào thư mục www của
Wamp. Đổi tên bộ cài đặt thành wordpress.

• Khởi động Wamp, mở trình duyệt, nhấn http://localhost/wordpress. Sẽ
hiển thị thông báo Create a Configuration File.
• Chọn Create a Configuration File để tạo một tập tin cài đặt cấu hình cho
WordPress.

Hình 1.1: Bước đầu khởi tạo cấu hình cài đặt WordPress

18


• Chọn Let’s go chuyển qua bước tiếp theo.

Hình 1.2: Các thông tin về database cần có trước khi cài đặt
• Điền tên cơ sở dữ liệu, tên sử dụng, mật khẩu và các thông số khác để sử
dụng wordpress trên host. Chú ý User Name là root, Password để trống. Sau đó
chọn Submit.

Hình 1.3: Kiểm tra các thông tin trước khi kết nối

19


• Chọn Run the install để chạy cài đặt.

Hình 1.4: Chuẩn bị cài đặt
• Nhập tên cho trang web cần tạo, tên đăng nhập và mật khẩu để đăng nhập
và quản lý trang website. Sau đó chọn Install WordPress

Hình 1.5: Nhập thông tin để bắt đầu cài đặt


20


• Nếu nhận được thông báo Success có nghĩa là việc cài đặt WordPress đã
hoàn tất, bạn có thể đăng nhập bằng tài khoản và password mà bạn đã đăng ký ở
bước trước để bắt đầu thiết kế website của mình.

Hình 1.6: Cài đặt thành công, đăng nhập để sử dụng WordPress
1.3 Giới thiệu về UML
1.3.1 Khái niệm của UML
UML là ngôn ngữ mô hình hóa thống nhất(Unified Modeling Language),
trước hết nó là mô tả ký pháp thống nhất, ngữ nghĩa và các định nghĩa về
metamodel(mô tả định nghĩa chính ngôn ngữ mô hình hóa), nó không mô tả
phương pháp phát triển. UML được sử dụng để hiển thị, đặc tả, xây dựng và làm
tài liệu các vật phẩm của quá trình phân tích xây dựng hệ thống phần mềm theo
hướng đối tượng. UML được sử dụng cho mọi tiến trình phát triển phần mềm,
xuyên suốt vòng đời phát triển và độc lập với các công nghệ cài đặt hệ thống.
UML là ngôn ngữ chuẩn để viết các kế hoạch chi tiết phần mềm. Nó phù
hợp cho việc mô hình hóa các hệ thông tin doanh nghiệp, các ứng dụng phân tán
trên nền Web, hệ thống nhúng thời gian thực… Các khung nhìn của ngôn ngữ
được quan sát từ góc độ phát triển và triển khai hệ thống, nó không khó sử dụng
và dễ hiểu. UML là ngôn ngữ mô hình được cả con người và máy sử dụng.

21


1.3.2 Đặc điểm của UML







UML là ngôn ngữ.
UML là ngôn ngữ để hiển thị.
UML làm ngôn ngữ đặc tả.
UML là ngôn ngữ dễ xây dựng.
UML là ngôn ngữ tài liệu.

1.4 Giới thiệu về Google Maps API
Google Maps là một dịch vụ ứng dụng và công nghệ bản đồ trực tuyến
trên web miễn phí được cung cấp bởi Google, hỗ trợ nhiều dịch vụ khác của
Google. Google Maps hỗ trợ các dịch vụ như định vị, tìm đường, thêm dữ liệu cá
nhân, các điều khiển làm cho việc ứng dụng bản đồ trong ứng dụng Web trở nên
dễ dàng và thuận tiện hơn bao giờ hết.
Map API là gì?
• Đó là một phương thức cho phép 1 website B sử dụng dịch vụ bản đồ
của site A (gọi là Map API) và nhúng vào website của mình (site B).
Site A ở đây là google map, site B là các web site cá nhân hoặc tổ chức
muốn sử dụng dịch vụ của google, có thể rê chuột, room, đánh dấu trên
bản đồ...
• Các ứng dụng xây dựng trên maps được nhúng vào trang web cá nhân
thông qua các thẻ javascripts do vậy việc sử dụng API google rất dễ
dàng.
Google Map API đã được nâng cấp lên phiên bản thứ 3. Phiên bản này hỗ
trợ không chỉ cho các máy để bàn truyền thống mà cho cả các thiết bị di động.
Nhanh hơn và nhiều hơn các ứng dụng.
Điều quan trọng là các dịch vụ hoàn toàn miễn phí với việc xây dựng một
ứng dụng nhỏ. Trả phí nếu đó là việc sử dụng cho mục đích kinh doanh, doanh
nghiệp.


22


CHƯƠNG 2 : KHẢO SÁT HIỆN TRẠNG
2.1 Đặt vấn đề
Hiện nay, kinh tế Việt Nam đang trên đà phát triển. Bên cạnh việc phát
triển và xây dựng các cơ sở hạ tầng như nhà máy, xí nghiệp, bệnh viện, trường
học,… là sự phát triển của hàng loạt các khu vui chơi, giải trí, các địa điểm phục
vụ đời sống tinh thần cho người dân. Ở các thành phố lớn như Hà Nội, Hồ Chí
Minh và các tỉnh lân cận như Thái Nguyên, Vĩnh Phúc, Hải Phòng,… hàng loạt
các địa điểm được xây dựng nên. Với sự phát triển một cách ồ ạt và mạnh mẽ
như vậy thì việc tìm kiếm các địa điểm cũng trở nên khó khăn hơn, đặc biệt là
đối với những người từ địa phương khác đến sinh sống. Để đến được những địa
điểm mà họ cần tới, thì họ sẽ phải mất thời gian tìm kiếm. Nên việc xây dựng
một website tìm kiếm địa điểm là rất thiết thực. Website có thể cung cấp thông
tin địa điểm chính xác, những thông tin này được cung cấp đến người dùng,
người dùng có thể tìm kiếm một cách nhanh chóng, thuận tiện và trực quan nhất.
Ý tưởng xây dựng website tìm kiếm địa điểm được ra đời với mong muốn
trở thành một website cung cấp thông tin và cho phép tìm kiếm các địa điểm cần
thiết một cách nhanh chóng, chính xác và trực quan nhất.
2.2 Giải pháp
Em đưa ra giải pháp xây dựng website tìm kiếm địa điểm, cụ thể là tìm
kiếm các địa điểm trong khu vực tỉnh Thái Nguyên. Nhằm mang đến sự lựa chọn
mới cho người sử dụng như sinh viên mới lên Thái Nguyên học tập, cán bộ mới
lên Thái Nguyên làm việc hoặc công tác trong thời gian ngắn, có nhu cầu tìm
kiếm các địa điểm mua sắm, vui chơi, giải trí cũng như các địa chăm sóc sức
khỏe,…
2.3 Thực trạng hiện tại của những website tìm kiếm địa điểm đã có
Xu hướng tìm kiếm địa điểm qua mạng Internet đã phổ biến ở nhiều nước

từ nhiều năm nay. Tại Việt Nam, các website tìm kiếm địa điểm chỉ tập trung vào
thành phố Hà Nội hoặc thành phố Hồ Chí Minh. Như vậy, người dùng ở các tỉnh
khác, muốn tìm địa điểm nơi mình đang sinh sống thì chưa có một website nào
hỗ trợ.
23


2.4 Yêu cầu bài toán cần giải quyết
2.4.1 Mô tả bài toán
Xây dựng một website tìm kiếm địa điểm cho tỉnh Thái Nguyên, từ đó các
thông tin về địa điểm sẽ được đăng tải bởi chủ địa điểm, mang lại những giá trị
thiết thực cho các chủ địa điểm và người dùng tìm kiếm.
2.4.2 Phân tích yêu cầu bài toán
Từ bài toán đặt ra, ta thấy cần xây dựng một website tìm kiếm địa điểm
với những tính năng sau:
• Hiển thị thông tin:
- Hiển thị thông tin địa điểm trên Google Maps.
- Hiển thị danh mục địa điểm.
• Tìm kiếm thông tin địa điểm.
• Đưa lên thông tin địa điểm:
- Chủ địa điểm có thể đưa lên thông tin địa điểm của mình.
• Hệ thống cần quản lý được:
- Thông tin địa điểm.
- Danh mục địa điểm.
- Thông tin các chủ địa điểm.
2.4.3 Thông tin đầu vào, đầu ra của bài toán
 Các thông tin đầu vào
Thông tin đầu vào của hệ thống có thể do người quản trị hệ thống đưa lên
như : thông tin về địa điểm, thông tin chủ địa điểm,… Hoặc các chủ địa điểm có
thể đưa lên thông tin địa điểm của mình. Cụ thể là :

• Các thông tin về địa điểm : hình ảnh, thông tin chi tiết về địa điểm.
• Các thông tin về chủ địa điểm.
 Các thông tin đầu ra
Hệ thống sẽ hiển thị các thông tin về địa điểm trên Google Maps như các
địa điểm giải trí, chăm sóc sức khỏe, mua sắm, trung tâm, trường học,…
2.5 Mục đích và mục tiêu của đề tài
2.5.1 Mục đích của đề tài
Xây dựng website tìm kiếm địa điểm để :
• Trở thành một kênh tìm kiếm địa điểm trên địa bàn tỉnh Thái Nguyên, với
nhiều thông tin chi tiết và khả năng tương tác trực quan.

24


• Giúp các chủ địa điểm có thể đưa thông tin, quảng bá địa điểm của mình
tới người cần tìm kiếm. Ngược lại, giúp những người tìm kiếm/người
dùng có thể tìm kiếm địa điểm mình cần tới một cách chính xác và trực
quan nhất.
2.5.2 Mục tiêu của đề tài
• Website có đầy đủ các chức năng nhằm phục vụ việc tìm kiếm cũng như
đăng tài thông tin địa điểm.
• Các tác vụ phải hoạt động linh hoạt thuận tiện cho người sử dụng.
• Website phải chứa đầy đủ hình ảnh, thông tin về địa điểm.

25


×