Phát triển một website đáp ứng được nhu cầu như thế sẽ tạo ra được một địa điểm hợp lý cho sinh viên rao tin “cần tìm”, cùng với đó các doanh nghiệp và người dân cũng có thể rao tin “cu
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM
KHOA TIN HỌC
LUẬN VĂN TỐT NGHIỆP
ĐỀ TÀI: XÂY DỰNG WEBSITE RAO VẶT DÀNH CHO SINH VIÊN ĐẠI HỌC ĐÀ NẴNG
ĐÀ NẴNG, 06/2014
Giảng viên hướng dẫn : Th.S Ng Đình Thưởng Sinh viên thực hiện : Đoàn Trung Hiếu
Trang 2Trong thời gian làm luận văn vừa qua, em đã nhận được sự hướng dẫn, giúp đỡ và động viên từ nhiều phía Tất cả những điều đó đã trở thành động lực rất lớn giúp em có thể hoàn thành tốt luận văn này Với tất cả sự cảm kích em xin gửi lời cảm ơn chân thành đến tất cả mọi người
Trước tiên em xin gửi lời cảm ơn đến Thạc sĩ Ngô Đình Thưởng đã tận tình chỉ dẫn
và giúp đỡ em trong suốt thời gian em thực hiện luận văn
Em cũng xin chân thành cảm ơn các thầy cô trong khoa Tin học trường Đại học Sư phạm - Đại học Đà Nẵng, đã truyền đạt những kiến thức quý báu cho em trong những năm học vừa qua và nhất là đã tạo điều kiện thuận lợi cho em học tập và thực hiện đề tài tốt nghiệp này
Mặc dù đã có nhiều cố gắng để hoàn thành đồ án nhưng trong phạm vi và khả năng cho phép chắc chắn luận văn sẽ không tránh khỏi những thiếu sót Em rất mong nhận được sự thông cảm, góp ý và tận tình chỉ bảo của quý thầy cô
Trang 3Em xin cam đoan:
1 Em xin cam đoan đây là công trình nghiên cứu của riêng em dưới sự hướng dẫn của Thạc sĩ Ngô Đình Thưởng
2 Các số liệu nêu trong luận văn là trung thực và kết quả của luận văn chưa từng được ai công bố trong bất kỳ công trình nào khác
3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, em xin chịu hoàn toàn trách nhiệm
Tác giả luận văn
Đoàn Trung Hiếu
Trang 4CÁC CHỮ VIẾT TẮT:
PHP Hypertext Preprocessor.
HTML HyperText Markup Language
XHTML Extensible HyperText Markup Language CSS Cascading Style Sheet
AJAX Asynchronous JavaScript and XML
CMS Content Management System
MVC Model – View – Controller
Trang 5STT Tên hình Mô tả
Trang 627 Hình 27 Giao diện đăng tin
Trang 7STT Tên biểu đồ Mô tả
Trang 9MỞ ĐẦU 1
1 TÍNH CẤP THIẾT CỦA ĐỀ TÀI 1
2 MỤC TIÊU NGHIÊN CỨU 1
3 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU 2
3.1 Đối tượng nghiên cứu 2
3.2 Phạm vi nghiên cứu 2
4 PHƯƠNG PHÁP NGHIÊN CỨU: 2
5 BỐ CỤC ĐỀ TÀI 2
6 TỔNG QUAN TÀI LIỆU NGHIÊN CỨU 3
PHẦN 1: CƠ SỞ LÝ THUYẾT 4
CHƯƠNG 1:TỔNG QUAN VỀ WEBSITE VÀ CÁCH THỨC XÂY DỰNG MỘT WEBSITE ỨNG DỤNG 4
1.1 GIỚI THIỆU CHƯƠNG: 4
1.2 TỔNG QUAN VỀ WEBSITE: 4
1.2.1 Giới thiệu về trang web: 4
1.2.2 Giới thiệu về website: 5
1.2.3 Phân loại website: 5
1.2.4 Giới thiệu về trình duyệt web: 5
1.2.5 Lợi ích của website: 6
1.2.6 Cách tạo trang web: 7
1.3 CÁCH THỨC XÂY DỰNG MỘT WEBSITE 7
1.3.1 Xác định nhu cầu hoạt động của website: 7
1.3.2 Thiết kế các chức năng và cấu trúc trang 8
1.3.3 Xây dựng nội dung 8
1.3.4 Kiểm tra các chức năng và cấu trúc được xây dựng 8
1.3.5 Đưa nội dung vào 9
1.3.6 Đăng ký tên miền: 9
1.4 KẾT LUẬN CHƯƠNG: 10
Trang 10TRÌNH KHÁC LIÊN QUAN ĐẾN LẬP TRÌNH WEBSITE 11
2.1 GIỚITHIỆUCHƯƠNG 11
2.2 LÝ THUYẾT VỀ CÁC NGÔN NGỮ LẬP TRÌNH 11
2.2.1.Ngôn ngữ PHP 11
2.2.1.4.Đóng góp của người Việt cho cộng đồng PHP thế giới 15
2.2.2 Các Ngôn Ngữ Khác 16
2.2.2.3 JavaScript 19
2.2.2.4 Ajax 20
2.3 KẾT LUẬN CHƯƠNG 21
PHẦN 2: XÂY DỰNG ĐỀ TÀI 22
CHƯƠNG 3: PHÂN TÍCH VÀ XÂY DỰNG WEBSITE RAO VẶT DÀNH CHO SINH VIÊN 22
3.1 GIỚI THIỆU CHƯƠNG 22
3.2 GIỚI THIỆU CHUNG 22
3.2.1 Mô tả 22
3.2.2 Đối tượng người sử dụng 23
3.2.3 Yêu cầu hệ thống 23
3.3 PHÂN TÍCH THIẾT KẾ: 28
3.3.2 Biểu đồ ca sử dụng: 28
3.3.3 Phân tích các chức năng người dùng: 34
3.3.4 Cơ sở dữ liệu: 41
3.4 KẾT LUẬN CHƯƠNG: 48
CHƯƠNG 4: KẾT QUẢ THỰC HIỆN VÀ BÌNH LUẬN 49
4.1 GIỚI THIỆU CHƯƠNG: 49
4.2 KẾT QUẢ THỰC HIỆN: 49
KẾT LUẬN 71
Trang 11MỞ ĐẦU
1 Tính cấp thiết của đề tài
Cùng với sự phát triển mạnh mẽ của các lĩnh vực như: Đồ họa, phần mềm, mạng máy tính… trong ngành công nghệ thông tin, lĩnh vực phát triển website trong những năm qua
đã thay đổi một cách nhanh chóng và có những bước phát triển phù hợp với công nghệ hiện đại Việc phát triển một website trước hết yêu cầu cần phải có nội dung và tính cấp thiết của cuộc sống thì website đó mới phát triển và tồn tại lâu dài
Mặc khác, cuộc sống ngày nay có rất nhiều vấn đề cấp thiết cần phải có giải pháp, một trong những vấn đề cấp thiết ấy đó là: Những nhu cầu của sinh viên khi còn ngồi trong ghế nhà trường, nhu cầu ở đây bao gồm nhiều khía cạnh vì thực tế đó là nhu cầu của con người Những nhu cầu không bao giờ là thiếu và việc đáp ứng những nhu cầu đó không bao giờ là đủ Nhiều sinh viên có nhu cầu việc làm thêm để giúp đỡ gia đình, sinh viên tìm kiếm phòng trọ, các đồ dùng, máy móc, phương tiện phục vụ học tập hay tìm kiếm tài liệu khá vất vả Những nhu cầu đó đã gây ra không ít khó khăn cho sinh viên cả
về thời gian lẫn sức lực
Khi website được hoàn thành đó không chỉ là một biện pháp để giải quyết nhu cầu của sinh viên mà còn giải quyết các nhu cầu của các doanh nghiệp, trung tâm mua sắm, các cửa hàng tạp hóa và người dân địa phương Phát triển một website đáp ứng được nhu
cầu như thế sẽ tạo ra được một địa điểm hợp lý cho sinh viên rao tin “cần tìm”, cùng với
đó các doanh nghiệp và người dân cũng có thể rao tin “cung ứng” của mình Chính vì những lý do và nhu cầu đó tôi xin đề cập đề tài: “Phát triển website rao vặt dành cho
sinh viên”
2 Mục tiêu nghiên cứu
Giải quyết nhu cầu cần thiết của sinh viên, các doanh nghiệp và người dân địa phương
Xây dựng website rao vặt sinh viên để tạo môi trường cho sinh viên, doanh nghiệp,
người dân địa phương “đăng tin” và “tìm kiếm tin”
Ứng dụng sự phát triển của các ngôn ngữ lập trình mà cụ thể là ngôn ngữ PHP, jQuery, CSS, HTML, MySQL, Ajax và JavaScript để phát triển website
Trang 123 Đối tượng và phạm vi nghiên cứu
3.1 Đối tượng nghiên cứu
Nhu cầu và khả năng cung ứng của sinh viên, doanh nghiệp, người dân
Nghiên cứu và xây dựng ứng dụng quản lý thành viên hệ thống
Nghiên cứu và xây dựng ứng dụng thống kê
Nghiên cứu và xây dựng ứng dụng quản lý cơ sỡ dữ liệu
4 Phương pháp nghiên cứu:
Đề tài tập hợp các phương pháp thống kê, phân tích tổng hợp và liệt kê…, thông qua các ngôn ngữ đã được học như: Ngôn ngữ lập trình website PHP, HTML, CSS, JavaScript, jQuery, Ajax, quản lý cơ sỡ dữ liệu MySQL
Xây dựng mô hình nghiên cứu các vấn đề liên quan, xây dựng các vấn đề đó thành ứng dụng thực tế trên website
Phần 2: Phân tích, xây dựng đề tài và kết qủa thực hiện
+ Chương 3: Phân tích và xây dựng website “Rao vặt sinh viên”
+ Chương 4: Kết quả thực hiện và bình luận
Trang 136 Tổng quan tài liệu nghiên cứu
Tài liệu nghiên cứu được tham khảo là những bài báo khoa học, các luận văn đại học
từ các trường đại học trong nước, cùng với các trang web tìm hiểu Luận văn chắc chắn không tránh khỏi những sai sót, rất mong nhận được sự góp ý của Hội đồng để luận văn trở thành một công trình thực sự có ích
Trang 14PHẦN 1: CƠ SỞ LÝ THUYẾT
CHƯƠNG 1:TỔNG QUAN VỀ WEBSITE VÀ CÁCH THỨC
XÂY DỰNG MỘT WEBSITE ỨNG DỤNG
1.1 GIỚI THIỆU CHƯƠNG:
Nội dung chương này nhằm mô phỏng về website dựa trên cơ sở lý thuyết để tìm
hiểu về nội dung website là gì? Trang web là gì? Lợi ích của website là gì? Đồng thời tìm
hiểu cách thức xây dựng một website sẽ như thế nào, trải qua các bước như thế nào
1.2 TỔNG QUAN VỀ WEBSITE:
1.2.1 Giới thiệu về trang web:
Trang web là một hình thức văn bản được sử dụng trên mạng toàn cầu (World Wide
Web) Văn bản này được viết sử dụng định dạng HTML hay XHTML
Các trang web liên kết với nhau bằng các siêu liên kết (Hyperlink) Website được
hiển thị thông qua một trình duyệt Browser và nó có thể nằm ở máy tính cục bộ hoặc 1
máy tính ở xa (máy chủ) trên mạng internet Nếu website ở trên máy chủ ta có thể truy
cập đến nó thông qua một địa chủ URL
Có hai loại trang web: Web động và web tĩnh
+ Web tĩnh: Là các trang chỉ sử dụng (X)HTML
+ Web động: Là các trang có sử dụng ngôn ngữ lập trình phía server (Server–side
scripting: PHP,ASP.NET,…)
Trang web có hiển thị tất cả các nội dung như văn bản, hình ảnh, âm thanh, video,
Để định dạng, bố trí các thông tin trên người ta thường sử dụng CSS
Client – side scripting(JavaScript) là ngôn ngữ lập trình chạy trên trình duyệt
JavaScript dùng để thay đổi và định dạng lại nội dung trang web sau khi trình duyệt đã
hiển thị
Trang 151.2.2 Giới thiệu về website:
Website là tập hợp các trang web, hình ảnh, âm thanh, file, flash, được đặt tại một địa chỉ (URL) trên internet
Một website phải được đặt trên ít nhất một máy chủ
1.2.3 Phân loại website:
Có thể là công việc của một cá nhân, một doanh nghiệp hoặc cá tổ chức và thường dành riêng cho một số vấn đề cụ thể hoặc mục đích Bất kỳ trang web có thể chứa một siêu liên kết vào bất kỳ trang web khác, do đó phân biệt các trang web cá nhân như cảm nhận của người người dụng Tạm thời phân loại như sau:
Trang web cá nhân
Trang web thương mại
Trang web của chính phủ
Trang web tổ chức phi lợi nhuận
1.2.4 Giới thiệu về trình duyệt web:
Trình duyệt web là một phần mềm ứng dụng cho phép người sử dụng xem và tương tác với các văn bản, hình ảnh, đoạn phim, nhạc, trò chơi và các thông tin khác ở trên một trang web của một địa chỉ web trên mạng toàn cầu hoặc mạng nội bộ Văn bản và hình ảnh trên một trang web có thể chứa siêu liên kết tới các trang web khác của cùng một địa chỉ web hoặc địa chỉ web khác Trình duyệt web cho phép người sử dụng truy cập thông tin trên một trang web một cách nhanh chóng và dễ dàng thông qua các liên kết đó Trình duyệt web đọc định dạng HTML để hiển thị, do vậy một trang web có thể hiển thị khác nhau trên các trình duyệt khác nhau
Một trình duyệt web hiện nay cho máy tính cá nhân bao gồm Internet Explorer, Mozilla Firefox, Safari, Opera, Avant Browser, Konqueror, Lynx, Google Chrome, Flock, Arachne, Epiphany, K-Meleon và AOL Explorer
World Wide Web
World wide web, gọi tắt là Web hoặc WWW, mạng lưới cầu là một không gian thông tin toàn cầu mà mọi người có thể truy cập (đọc và viết) qua các máy tính nối với các mạng internet Thuật ngữ này thường được hiểu nhầm là từ đồng nghĩa chính thuật ngữ
Trang 16internet Nhưng web thực ra chỉ là một trong các dịch vụ chạy trên internet, chẳng hạn như dịch vụ thư điện tử Web được phát mình và đưa vào sử dụng vào khoảng năm 1990,
1991 bởi viện sĩ Viện Hàn Lâm Anh Berners-lê và Robert Cailiau (bi) tại CERN, Geneva, Switzerland
Các tài liệu trên World Wide Web được lưu trữ trên một hệ thống siêu văn bản (Hypertext) đặt tại các máy tính trong mạng internet Người dùng phải sử dụng một chương trình gọi là trình duyệt web (Web browser) để xem siêu văn bản Chương trình này sẽ nhận lại thông tin (document) tại ô địa chỉ (address) do người sử dụng yêu cầu (thông tin trong ô địa chỉ được gọi là tên miền (domain name)), rồi sau đó chương trình sẽ
tự động gửi thông tin đến máy chủ (web server) và hiển thị trên màn hình máy tính của người xem Người dùng có thể theo các siêu liên kết văn bản (Hypertext) trên mỗi trang web để nối với các tài liệu khác hoặc gửi thông tin phản hồi theo máy chủ trong một quá trình tương tác Hoạt động truy tìm theo các siêu liên kết thường được gọi là duyệt web Quá trình này cho phép người dùng có thể lướt các trang web để lấy thông tin, Tuy nhiên độ chính xác và chứng thực của thông tin không được đảm bảo
1.2.5 Lợi ích của website:
1.2.5.1 Chi phí thấp so với các ấn phẩm quảng cáo thông qua quảng cáo thông thường:
Internet rất khác với các ấn phẩm quảng cáo thông thường là giá rẻ, quảng cáo có thể truy cập trong một thời gian dài, nội dung có thể thay đổi mà không cần phải yêu cầu một
ai đó để làm điều đó cho chúng ta (nếu chúng ta sử dụng một hệ thống quản lý nội dung)
và chúng ta có thể có khả năng tiếp cận với một đối tượng rộng lớn hơn
Đây không phải là để nói rằng chúng ta không nên sử dụng các hình thức quảng cáo khác bởi vì chúng ta có thể sử dụng nó để tạo sức hút cho mọi người truy cập vào trang web của mình và tìm hiểu về công ty của mình, hơn nữa có khả năng mở cách thức giao tiếp giữa các khách hàng tiềm năng và một người bán hàng
1.2.5.2 Thị trường được mở rộng:
Trang 17Internet đã cho phép các doanh nghiệp vào vị trí địa lý vi phạm thông qua các rào cản
và trở nên dễ tiếp cận, hầu như từ bất cứ quốc gia nào trên thế giới của một khách hàng tiềm năng có thể truy cập Internet
1.2.5.3 Đa dạng hóa doanh thu:
Một trang web không chỉ là một phương tiện truyền thông đại diện cho công ty, nó là hình thức của phương tiện thông tin mà từ đó mọi người có thể thu được thông tin Chúng
ta có thể sử dụng phương tiện truyền thông này để bán không gian quảng cáo cho các doanh nghiệp khác
1.2.5.4 Phục vụ 24/7 và 365 ngày:
Khi đóng cửa hàng hoặc nghỉ, website như một công cụ hữu ích để cung cấp thông tin mọi nơi mọi lúc Nó tự phục vụ khách hàng của mình như một nhân viên tận tâm mà không kêu ca gì
1.2.6 Cách tạo trang web:
Để tạo một trang web, ta phải sử dụng một chương trình có thể chỉnh sửa được HTML Ví dụ như notepad++, frontpage, dreamweaver
Trang web sau khi được tạo có thể truy cập và hiển thị tại máy cục bộ Nếu muốn truy cập thông qua internet, ta phải upload toàn bộ web lên một máy chủ
Trang web có thể được tạo ra sử dụng các phần mềm như Wiki, CMS
1.3 CÁCH THỨC XÂY DỰNG MỘT WEBSITE
1.3.1 Xác định nhu cầu hoạt động của website:
Đầu tiên, chúng ta cần phải xác định được nhu cầu để hoạt động là gì, phân tích các yêu cầu đó rồi tổng hợp các yêu đó để lên các mục tiêu của website
Xác định ngắn gọn mục tiêu hoạt động của website, mục tiêu cần xác định rõ ràng, súc tích, không quá rờm rà, chi tiết
Xác định vấn đề giải quyết, từ mô tả mục tiêu ở bước trên, nêu ra các vấn đề cần giải quyết để đạt được mục tiêu, tóm tắt phương pháp giải quyết
Xác định người dùng: Liệt kê các đặc điểm của khách hàng như tuổi tác, nghề nghiệp, giới tính, thu nhập, trình độ, vùng cư trú, … vào một danh sách để phân tích và xử
lí sau này
Trang 181.3.2 Thiết kế các chức năng và cấu trúc trang
Chọn cách làm việc sao cho có thể phác thảo thiết kế một cách thoải mái: Có thể dùng bút để vẽ sơ đồ trên giấy hay có thể dùng các chương trình máy tính để phác thảo Tuy nhiên việc sử dụng các chương trình máy tính có thể sẽ làm hạn chế năng suất làm việc vì các công cụ có sẵn thường bị giới hạn
Việc thiết kế nên đi từ trừu tượng đến cụ thể: Việc đưa ra các chi tiết ngay từ đầu có thể sẽ làm mất đi tổng quan của vấn đề Phải xác định khung của chức năng trước rồi sau
đó mới lựa chọn nội dung để điền vào
1.3.3 Xây dựng nội dung
Thực hiện theo các bước sau:
sửa
tập tin, cách nén qui ước đặt tên tập tin,
Đảm bảo càng nhiều thông tin càng tốt Cần có sự kết hợp chặt chẽ giữa văn bản và đồ họa, hình ảnh, âm thanh trong nội dụng
đảm bảo an toàn
1.3.4 Kiểm tra các chức năng và cấu trúc được xây dựng
Trong khi đang tiến hành xây dựng nội dung, đây là lúc kiểm tra các chức năng và cấu trúc được xây dựng trong bước 2 xem nó hoạt động như thế nào Đây là bước chuyển các mô tả về chức năng, về thiết kế ban đầu sang một thể hiện là các trang web cụ thể Sau đây là các bước này:
và các đặc tả nào có sẵn Cho người quản trị biết các loại tập tin nào mà chúng
ta đang sử dụng chưa được hỗ trợ
Trang 19 Sử dụng các liên kết trong các trang tới các cấu trúc thư mục tương tự như cấu trúc thư mục trên server
Ghi nhận các ảnh thường được dùng trong việc truy xuất các trang thông thường để đưa vào cache Bằng cách này bạn có thể tăng tốc độ truy xuất các trang.
không
1.3.5 Đưa nội dung vào
Trước tiên hãy cho các trang hoạt động cục bộ, riêng lẻ để dễ kiểm tra, hiệu chỉnh, đánh giá
Làm việc theo module, nghĩa là cho nhóm các trang liên quan nhau hoạt động trôi chảy trước khi mở rộng ra
Đừng ngại thay đổi một quyết định thiết kế trước đó Có thể bạn đã giả định sai, hoặc là công nghệ đã thay đổi vào lúc đưa nội dung vào
1.3.6 Đăng ký tên miền:
Trước hết cần nghĩ ra tên miền sẽ mua là gì Nếu cần lời khuyên để có được tên miền hay, hãy tham khảo bài viết cách chọn domain để biết thêm chi tiết
Tìm thông tin về DNS hoặc IP address của host Nếu không chắc về phần này có thể đọc bài những thuật ngữ chuyên ngành để biết thêm chi tiết Mỗi công ty khác nhau sẽ sử dụng phần mềm quản lý khác nhau, cho nên thông tin về DNS sẽ nằm ở đâu đó trong phần Domain Thường thì chỉ cần vài phút là có thể tìm ra thông tin về DNS rồi
Thẻ Credit Card (thẻ tín dụng) Trừ phi đăng ký domain trong nước thì bạn có thể dùng tiền mặt (nhưng tôi khuyên bạn không nên), còn nếu đăng ký domain ở các công ty nước ngoài, thẻ tín dụng là bắt buộc
Những công ty chuyên cung cấp tên miền uy tín hiện nay là:
Godaddy.com
+ Điểm mạnh: là công ty tồn tại rất lâu và có uy tín về dịch vụ tên miền,
hỗ trợ khách hàng tốt
Trang 20+ Hạn chế: giá cả thường mắc hơn các dịch vụ khác, phải trả tiên cho
dịch vụ ẩn thông tin cá nhân
Yahoo.com
rất đáng tin cậy Họ có dịch vụ hỗ trợ khách hàng rất tốt Bạn có thể sử dụng ngay tài khoản email của mình để quản lý domain, cho nên bạn không cần phải nhớ thêm một lần mật khẩu và username
trả cho dịch vụ ẩn thông tin cá nhân khá mắc Giao diện quản lý domain hơi khó sử dụng và không thân thiện
1&1 internet
+ Điểm mạnh: giá cả rẻ hơn so với các dịch vụ ngang bằng, giao diện
quản lý dễ sử dụng và chuyên nghiệp, cung cấp dịch vụ ẩn thông tin cá nhân miễn phí, có chương trình kiếm tiền hoa hồng nhờ vào giới thiệu
mua tên miền hơn 1 năm Bạn bắt buộc phải gia hạn từng năm một
1.4 KẾT LUẬN CHƯƠNG:
Chương này đã tìm hiểu về các nội dung được nêu ở phần giới thiệu, xác định rõ từng bước đi xây dựng một website Phân tích các cơ sở lý thuyết về website rõ ràng và chi tiết Đồng thời cần nhấn mạnh lại, để xây dựng được một website cần có ý tưởng về nội dung, kiến thưc về lập trình và tiến hành xây dựng theo các bước như nêu ở trên thì công việc sẽ tiến hành trôi chảy và đúng tiến độ
Trang 21CHƯƠNG 2: NGÔN NGỮ LẬP TRÌNH PHP VÀ MỘT SỐ NGÔN NGỮ LẬP TRÌNH KHÁC LIÊN QUAN ĐẾN LẬP TRÌNH
WEBSITE
2.1 GIỚI THIỆU CHƯƠNG
Chương này tập trung nghiên cứu đến cơ sở lý thuyết để tiến hành xây dựng một website, tìm hiểu về các ngôn ngữ lập trình web như PHP, JavaScript, HTML,…
2.2.1.2 Lịch sử phát triển
PHP/FI
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
Trang 22PHP/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 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
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
Trang 23củ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
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 Web site 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
Trang 24Vớ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
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 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
Trang 25Zend 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
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ỉ http://snaps.php.net 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
2.2.1.3.Sự hưởng ứng PHP ở Việt Nam
Mặc dù đây PHP 5 được coi là đã sẵn sàng cho doanh nghiệp nhưng sự chấp nhận PHP vẫn tiến triển khá chậm chạp đặc biệt là ở Việt Nam Nhưng những nỗ lực đầu tiên
để phổ biến PHP trong đó có dự án xây dựng Quy tắc viết mã PHP tiếng Việt đã được xúc tiến Ngày 24 tháng 10 năm 2004, nhóm PHPVietnam đã đề xuất xây dựng PHPVietnam Mailing List đầu tiên trên Google Group Tại đây cũng đã diễn ra những thảo luận để xây dựng diễn đàn cho cộng đồng PHP Việt Nam
2.2.1.4.Đóng góp của người Việt cho cộng đồng PHP thế giới
Người Việt chưa đóng góp được gì nhiều Chủ yếu sự tham gia của người Việt là thông qua việc dịch các tập tin ngôn ngữ và dựa trên những ứng dụng PHP sẵn có với các sửa đổi để tạo nên các hệ thống thông tin thuần Việt như NukeViet của nhóm NukeViet (sau đó nhóm này đã tiếp tục phát triển trở thành phần mềm nguồn mở gốc Việt 100% và ngày càng phát triển mạnh trong thời gian gần đây, đây là một trong số
ít các trường hợp đặc biệt về các sản phẩm dựa trên nền PHP)
Ngoài ra có nhiều mã nguồn mở viết bằng PHP được người Việt Nam sử dụng nhiều, chẳng hạn như mã nguồn Xtremedia là một hệ thống web giải trí được gọi tắt là "web nhạc", do tác giả Lê Thanh Minh Quân (biệt danh trên mạng là redphoenix89) viết và phát
Trang 26triển Nó được ưa chuộng vì mã nguồn đơn giản, giao diện bắt mắt, tốc độ nhanh, dung lượng nhẹ (file nén của toàn source chỉ có 112kb - bản 1.1) và đặc biệt là hoàn toàn miễn phí Nhưng kèm theo đó là rất nhiều lỗi chưa được sửa
Một số mã nguồn khác là SosoVN của tác giả Nguyễn Tôn Viễn, hay RCMS của Nguyễn Thanh Giang An đều là dạng CMS, tuy nhiên các CMS này chỉ phát hành bản thương mại và do đó ít được phát triển & sử dụng
Cộng đồng người Việt hiện nay cũng cho ra đời khá nhiều script miễn phí PHP để giúp phát triển PHP ở Việt Nam
Ưu điểm của PHP
PHP là một ngôn ngữ lập trình server-side scripting
PHP script được thực hiện trên máy chủ
PHP hỗ trợ rất nhiều cơ sở dữ liệu (MySQL, Informix, Oracle, Sybase, Solid, PostgreSQL, Generic ODBC, …)
PHP là một phần mềm mã nguồn mở
PHP là miễn phí để tải về và sử dụng
PHP chạy trên nền tảng khác nhau (Windows, Linux, Unix, …)
PHP tương thích với hầu như tất cả các máy chủ được sử dụng hiện nay (Apache, IIS,…)
2.2.2 Các Ngôn Ngữ Khác
2.2.2.1 HTML
HTML là phần để tạo ra khung sườn, “phần xác” của một trang web
HTML là chữ viết tắt của Hyper Text Markup Language (ngôn ngữ hiển thị siêu văn bản) Ngôn ngữ này sử dụng các Tag để dánh dấu các thành phần hiển thị trong trang Web.Thông thường một trang Web được viếtt bằng ngôn ngữ HTML có cấu trúc tương tự như sau:
Trang 27
</body>
</html>
Thành phần của HTML:
Bao gồm nội dung và các thẻ
Nội dung được đặt giữa các thẻ
Các thẻ được đặt trong dấu <>
Thông thường mỗi thẻ đều có thẻ mở và thẻ đóng Thẻ đóng khác thẻ mở ở chổ có thêm dấu /
Một số thẻ không có thẻ đóng, được gọi là thẻ đơn Ví dụ thẻ <br> để xuống dòng, thẻ <hr> để tạo đường kẻ ngang đều là thẻ đơn.Các thẻ này cũng có thể được viết dưới dạng <br/> và <hr/>
Mỗi thẻ có thể có một hoặc nhiều thuộc tính Các thuộc tính đều được đặt trong thẻ
mở, ngay sau tên thẻ, và cách tên thẻ bởi một khoảng trắng Nếu có nhiều thuộc tính thì giữa các thuộc tính cách nhau cũng bởi một khoảng trắng
Mỗi thuộc tính sẽ được định một giá trị nhất định Giá trị đó được đinh bởi dấu =
và nằm trong dấu ' ' hoặc " "
Các thẻ HTML cơ bản:
Thẻ định dạng bố cục
Thẻ định dạng chữ
Trang 28Khi sử dụng css chúng ta sẽ dễ dàng quản lý nội dung trang HTML, dễ điều khiển phần định dạng, và đặc biệt là sẽ tốn ít thời gian khi code hay chỉnh sửa, giả sử các bạn có
~100 file HTML có tiêu đề như nhau, các tiêu đề này được định dạng trong từng trang HTML, khi các bạn muốn chỉnh sửa các tiêu đề này, thì các bạn sẽ phải mở và chỉnh từng trang trong ~100 file, việc này mất bao nhiêu thời gian chắc các bạn có thể ước lượng được, còn nếu ~100 file này được kết hợp với 1 file CSS thì việc định dạng tiêu đề trong
~100 file này chỉ mất vài phút
Cách chèn CSS vào trang HTML
Chúng ta có 3 cách để đưa nội dung của CSS vào trang web như sau:
Cách 1: Chèn nội dung CSS vào trong cặp thẻ <style></style> trong phần
<head></head> của trang web
Cách 2: Chèn trực tiếp vào bên trong thẻ HTML
+ Chèn trực tiếp CSS vào bên trong các thẻ mở của HTML
+ Nếu có nhiều thuộc tính cần quy định, ta ngăn cách giữa chúng bằng khoảng trắng
Trang 29 Cách 3: Liên kết với một file *.css bên ngoài
+ Đây là cách được dùng nhiều nhất trong sử dụng CSS vì tính tiện dụng và linh hoạt của nó Giả sử, bạn có một website gồm hàng trăm trang, khi bạn muốn thay đổi một chút cách trình này của website, thay vì gạch cạch đi
gõ từng trang một, bạn chỉ cần sửa file CSS bên ngoài một chút, hàng trăm trang web của bạn đều được thay đổi
+ Cú pháp: Thực hiện liên kết bằng thẻ <link> (không có tag đóng), theo cú pháp sau:
<link rel="stylesheet" href="Đường dẫn đên file.css" type="text/css" />
+ Tag này được đặt trong cặp tag <head></head> của trang web, và không cần đặt trong tag <style></style>
+ Nếu bạn đặt file *.css cùng thư mục với trang web, thì trong thuộc tính href bạn chỉ cần viết: href="<ten_file_css.css"
+ Nếu file *.css không cùng thư mục với trang web: Bạn cần chỉ trong đường dẫn tuyệt đối tới file *.css đó trong thuộc tính href
JavaScript có thể đọc và thay đổi nội dung của một phần tử HTML JavaScript có thể được sử dụng để xác nhận dữ liệu - JavaScript có thể được sử dụng để xác nhận hình thức
dữ liệu trước khi nó được gửi đến máy chủ
Trang 302.2.2.4 Ajax
Model-View-Control (MVC) là một kiến trúc phần mềm, hiện đang được xem là một mẫu thiết kế trong công nghệ phần mềm Mô hình MVC tách biệt phần xử lý dữ liệu ra khỏi phần giao diện, cho phép phát triển, kiểm tra và bảo trì các thành phần một cách độc lập
Hình 1: Mô hình MVC
Theo đó:
Modelthể hiện các cấu trúc dữ liệu Các lớp thuộc thành phần Model thường thực
hiện các tác vụ như truy vấn, thêm, xóa, cập nhật dữ liệu Khi dữ liệu trong Model thay đổi, thành phần View sẽ được cập nhật lại
Viewlà thành phần thể hiện dữ liệu trong Model thành các giao diện tương tác với
người sử dụng Một Model có thể có nhiều View tùy thuộc vào các mục đích khác nhau
Controllerđóng vai trò trung gian giữa Model và View Thông tin người dùng từ
View được gửi cho Controller xử lý, sau đó Controller tương tác với Model để lấy dữ liệu được yêu cầu, sau cùng Controller trả dữ liệu này về cho View
Mô hình MVC thường được sử dụng trong các ứng dụng web, vì thành phần View (mã HTML/XHTML) được sinh ra từ các ngôn ngữ lập trình web Thành phần Controller
Trang 31sẽ nhận các dữ liệu GET/POST, xử lý những dữ liệu này, sau đó chuyển sang Model xử
lý
2.2.2.5 MySQL:
MySQL là một hệ quản trị cơ sở dữ liệu mở, hoàn toàn miễn phí MySQL được sử dụng biến trong lập trình website động với PHP, chúng ta hay gọi chung là lập trình PHP & MySQL
MySQL cung cấp cho chúng ta cách truy vấn, thao tác với dữ liệu tương tự như SQL nhưng ở mức độ đơn giản hơn
MySQL lưu trữ dữ liệu theo dạng bảng:
- Mỗi cơ sở dữ liệu bao gồm 1 hoặc nhiều bảng
- Mỗi bảng chứa một hoặc nhiều cột để lưu trữ giữ liệu, cột có thuộc tính như: kiểu dữ liệu là gì, khóa chính, độ dài dữ liệu…
- Dòng là tập hợp giá trị của tất cả các cột trong bảng, một bảng
- Thường bao gồm rất nhiều record
2.3 KẾT LUẬN CHƯƠNG
Trong chương này, đầu tiên nêu khái niêm, tìm hiểu quá trình phát triển, phân tích các ưu điểm của ngôn ngữ lập trình PHP Sau đó giới thiệu về các ngôn ngữ khác như HTML, CSS, JavaScript, MySQL đặc biệt là AJAX, tìm hiểu qui trình hoạt động của mô hình MVC (Model, view, controller)
Trang 32PHẦN 2: XÂY DỰNG ĐỀ TÀI
CHƯƠNG 3: PHÂN TÍCH VÀ XÂY DỰNG WEBSITE RAO VẶT
DÀNH CHO SINH VIÊN 3.1 GIỚI THIỆU CHƯƠNG
Chương này sẽ đi tập trung phân tích hệ thống của website rao vặt sinh viên, phân tích các chức năng dành cho người dùng, đối tượng người sử dụng, chức năng dành cho người quản trị và tiến hành thiết kế các mô hình ca sử dụng cũng như mô hình quan hệ cơ
sở dữ liệu liên quan đến đề tài
3.2 GIỚI THIỆU CHUNG
3.2.1 Mô tả
Website rao vặt sinh viên là website được xây dựng trong phạm vị thành phố Đà Nẵng, nhằm phục vụ cho tất cả sinh viên các trường đại học, cao đẳng, trung cấp nằm trên địa bàn thành phố Website rao vặt sinh viên được thành lập với tiêu chí phục vụ miễn phí cho người sử dụng, đem đến cho người dùng thông tin chính xác nhất về đối tượng cần tra cứu Với nội dung là các khía cạnh liên quan đến đời sống của sinh viên như việc làm thêm, phương tiện, công cụ phục vụ việc học và đặc biệt là tài liệu phục vụ học tập
Website rao vặt sinh viên được thiết kế với nội dung giúp người dùng đăng tin dưới dạng rao tin cho mọi người cùng biết và chia sẻ, đồng thời có thể xem tin tức của website hoặc tìm kiếm các thông tin mà họ muốn Đặc biêt, website rao vặt sinh viên còn hỗ trợ
cho sinh viên có thể download tài liệu
Để thực hiện tất cả các chức năng nói trên yêu cầu người dùng cần có tài khoản đăng nhập của hệ thống, để làm được điều đó người dùng có thể đăng ký tài khoản trên hệ thống và chờ đợi sự chấp nhập của ban quản trị Sau khi có tài khoản mỗi người có một trang cá nhân riêng của mình, tại đó mỗi thành viên có thể thay đổi thông tin cá nhân, thay đổi password và thực hiện quản lý tin đăng mà mình đã đăng lên hệ thống
Trang 33Một trong những chức năng đặc biệt của website đó là chức năng theo dõi tin, thông thường một người khi truy cập vào một website đặc biệt là website rao vặt có nội dung rộng lớn như website rao vặt sinh viên thì việc tạo nên chức năng theo dõi tin là cần thiết,
họ có thể lưu tin họ vừa xem đó và tiếp tục xem các tin khác mà họ không cần lo rằng họ
sẽ quên tin vừa xem sẽ phải tìm lại ở đâu
Với giao diện thân thiện và đẹp mắt, website rao vặt sinh viên sẽ mang đến cho người dùng những trải nghiệm đầy ấn tượng và hấp dẫn
3.2.2 Đối tượng người sử dụng
Ứng dụng được xây dựng nhằm phục vụ các nhóm người dùng sau:
Khách vãng lai: Là đối tượng người sử dụng khi vào hệ thống có quyền được xem tin, tìm kiếm thông tin cần thiết
Thành viên hệ thống (user): Đây chính là đối tượng sử dụng chiếm số lượng lớn nhất và quan trọng nhất của hệ thống Đối tượng có thể thực hiện tất cả các chức năng của hệ thống dựa vào tài khoản của mình
Lập trình viên: Truy xuất dữ liệu từ kho dữ liệu thông qua Server được cung cấp bởi nhà quản lý dữ liệu Đối tượng này ban đầu có thể rất ít, tuy nhiên có thể tăng lên khi uy tín của kho dữ liệu được nâng cao
3.2.3 Yêu cầu hệ thống
3.2.3.1.Yêu cầu phi chức năng
Hệ thống phải hỗ trợ sinh viên trong việc tìm kiếm phòng trọ, việc làm và tài liệu học tập,… một cách nhanh chóng, hiệu quả và chính xác
Hạn chế đến mức thấp nhất các sai sót có thể xảy ra trong quá trình sử dụng
Giao diện thân thiện, đảm bảo được tính đơn giản để những người không có nhiều kinh nghiệm dùng máy tính có thể sử dụng
Đảm bảo tính linh động nếu như sau này có sự thay đổi về số lượng danh mục…
Xử lý được khối lượng lớn các thông tin một cách chính xác
Trang 343.2.3.2 Yêu cầu hệ thống
Hệ quản trị cơ sở dữ liệu: MySql
Ngôn ngữ lập trình: PHP
Công cụ phát triển: Notepad ++, Xampp
Trình duyệt web: chạy tốt trên Google Chrome
3.2.3.3 Yêu cầu chức năng
Các chức năng dành cho người dùng
Đăng ký: Người dùng có thể đăng ký các thông tin của mình như họ tên, số điện thoại… để đăng nhập vào hệ thống
Yêu cầu khi đăng kí: Nhập đầy đủ các thông tin về họ, tên, địa chỉ,… Thông tin số điện thoại không được đăng nhập kí tự, số điện thoại phải nằm trong phạm vi 10 hoặc 11
số Email phải được đăng kí theo cú pháp xxxx@xxxx.xxxx Password phải đủ 6 kí tự thì
mới được làm password cho tài khoản của mình
Đăng nhập: Sau khi hoàn tất quá trình đăng ký thành viên ở trên và được người quản
trị kích hoạt cho phép hoạt động thì người dùng có thể lấy thông tin vừa đăng ký để đăng nhập hệ thống (thông tin để đăng nhập là email và password)
Quên mật khẩu: Người dùng có thể quên mật khẩu của mình, đó không phải điều tồi
tệ bởi người dùng nhập chính xác thông tin về email và ngày sinh của mình như khi đăng
ký thì hệ thống sẽ cấp lại mật khẩu mới
Xem tin chế độ người dùng: Sau khi đăng nhập hệ thống thì người dùng chuyển vào
chế độ xem tin người dùng Ở chức năng này giống như chế độ xem tin public được phân tích ở trên
Đăng tin: Ở chức năng này bắt buộc người dùng phải đăng nhập hệ thống Người
dùng phải điền các thông tin cơ bản “sản phẩm” của mình Các thông tin cơ bản cần có và lựa chọn khi đăng tin là: danh mục cần đăng (đăng cái gì??? Phòng trọ, việc làm hay tài liệu, ), nhu cầu cần đăng (muốn gì? Cần tìm, cần tuyển, hay cần cho thuê…), cuối cùng
Trang 35là địa điểm, ở đây địa điểm được thiết lập là các quận huyện trên địa bàn thành phố Đà Nẵng Ở chức năng này người dùng có thể up các file tài liệu lên chia sẻ cho mọi người,
và có thể up ảnh mô tả các mục mình muốn đăng như hình ảnh phòng trọ, hình ảnh bìa quyến sách muốn chia sẻ…
Bình luận về bài đăng: Thực hiện chức năng bình luận, dựa trên chức năng facebook development của website facebook.com, khách vãng lai sẽ được lấy tài khoản
facebook và bình luận bên dưới sản phẩm, mục đích ứng dụng facebook để bài đăng tin đăng của user được phát triển mạnh trên cộng đồng facebook Đối với các thành viên, chức năng bình luận sẽ được thực hiện hoàn toàn khác, bằng tài khoản mà họ đăng nhập vào hệ thống, hệ thống sẽ lấy thông tin họ để ghi lại ai lại người bình luận sản phẩm, mọi bình luận sẽ được lưu lại bên dưới sản phẩm Chức năng bình luận được thực hiện nhằm mục đích lấy ý kiến của người dùng về sản phẩm hoặc sẽ là nơi giúp họ có thể trao đổi mua bán cũng như trao đổi thông tin
Like bài đăng và like comment:Chức năng like được là một hình thức để có được
thông tin phản hồi hoặc kết nối những gì được quan tâm Mục đích rao vặt sinh viên thực hiện chức năng này nhằm mục đích khuyến khích bài đăng của chính tác giả, họ cảm thấy bài đăng đã được quan tâm nhiều từ mọi người
Bình chọn bài đăng: Chức năng bình chọn bài đăng được thực hiện nhằm mục đích
thể hiện sự quan tâm của người đọc với tác giả, khi họ cảm thấy muốn thể hiện cảm xúc với bài đăng của tác giả họ có thể thể hiện cảm xúc đó bằng cách bình chọn bài đăng đó, kết quả sẽ được thể hiện sau khi bạn load lại trang
Chỉnh sửa thông tin cá nhân và mật khẩu: Trong quá trình đăng ký người dùng có
thể khai báo các thông tin không chính xác hoặc họ muốn chỉnh sửa thông tin cho phù hợp thì mỗi tài khoản đều có trang cá nhân riêng của họ, họ có thể truy cập vào trang cá nhân đó để tìm đế mục mà họ cần chỉnh sửa để chỉnh sửa thông tin cho phù hợp
Quản lý tin đăng: Khi người đăng tin muốn quản lý tin đăng của mình thì họ có thể
vào mục các nhân của họ để chỉnh sửa tin đăng của mình
Trang 36Tìm kiếm: Đây là chức năng hữu ích nhất cho người dùng, với thuật toán thông minh
hợp lý, người dùng có thể lọc ra những kết quả tìm kiếm để sát với thực tế yêu cầu của mình Ví dụ bạn muốn tìm phòng trọ ở Hòa Khánh, với tìm kiếm bằng text thông thường thì kết quả không chính xác, dễ bỏ sót hoặc quá nhiều, thay vào đó có các lựa chọn cụ thể cho bạn (tìm hay cho thuê, phòng trọ hay việc làm, Liên Chiểu hay Thanh Khê…) từ đó đưa ra các thông tin hết sức chính xác và đầy đủ
Theo dõi tin đăng:Đây là chức năng được xem là tiện ích nhất cho người dùng mỗi
khi truy cập vào website Như chúng ta đều biết với một website rao vặt, có rất nhiều tin tức được đăng lên từ nhiều nội dung khác nhau, vì vậy việc phát triển chức năng theo dõi tin như một bước giúp cho người dùng có thể lưu lại các tin mà họ đã xem nhưng chưa có thời gian theo dõi kĩ Chức năng này giống như tạo ra một túi xách đồ khi ta đi siêu thị, cảm thấy cần thì bỏ vào túi xách và một lúc sau không cần nữa họ có thể bỏ lại vì không cần thiết nữa Theo dõi tin tức cũng như vậy, mục đích tạo nên một bộ nhớ để lưu lại các tin quan trọng mà người dùng muốn xem
Đăng tin quảng cáo: Khi người dùng muốn đăng tin quảng cáo cho công ty hoặc cho
cơ sở cá nhân của mình thì có thể click vào mục đăng tin quảng cáo để thực hiện chức năng này Tại đây người dùng điền tất cả thông tin trong nội dung quảng cáo
Tư vấn trực tuyến: Mọi thắc mắc về vấn đề liên quan đến website rao vặt sinh viên
hoặc các vấn đề khác người dùng có thể liên hệ với người quản trị thông qua skype hoặc
số điện thoại
Thoát: Sau khi hoàn tất các thao tác trên hệ thống bạn có thể đăng xuất để bảo đảm
an toàn thông tin cá nhân
Các chức năng dành cho quản trị hệ thống
Đăng nhập:Quản trị viên sẽ đăng nhập hệ thống bằng tài khoản cấp sẵn
Thống kê: Sau khi đăng nhập hệ thống thành công, giao diện admin sẽ thông báo các kết quả sơ bộ bao gồm 6 mục chính:
Trang 37 Người dùng: Cập nhật số lượng người dùng, số lượng người dùng với từng trạng thái khác nhau
Các tin đăng: Thông tin bao gồm số lượng tin đăng, trong đó có số lượng từng mục, số lượng từng trạng thái của bài đăng
Các bình luận: Cập nhật số lượng tin bình luận
Quảng cáo: Thông tin số lượng tin quảng cáo, số lượng tin được chấp nhận, số lượng tin không được chấp nhận
Tài liệu: Thông tin số lượng danh muc, số lượng tài liệu và các trạng thái của tin tài liệu
Quản lý hồ sơ: Chức năng này người quản trị (admin) có thể chỉnh sửa các thông tin
cá nhân của chính mình (như email, đổi password…)
Quản lý người dùng: Người dùng sau khi đăng ký thông tin sẽ chưa được đăng nhập
vì phải được người quản trị chỉnh sửa trạng thái từ “pending” sang “active” (khi đăng ký thì trạng thái mặc định là pending) Người dùng ở trạng thái “active” mới đăng nhập hệ thống được Ở chức năng này admin cũng có thể liệt kê ra danh sách các thành viên
Quản lý bài đăng: Tương tự như quản lý người dùng, admin có thể can thiệp vào
trạng thái của bài đăng nào đó và liệt kê các bài đăng Bài đăng nào ở trạng thái “active” thì mới được đưa lên web
Tìm kiếm: Cũng giống như user, admin cũng có chức năng tìm kiếm, tuy nhiên mục
đích tìm kiếm của admin khác với user nên khi tìm kiếm admin dựa trên 3 tiêu chí để tìm kiếm (bài đăng, bình luận, người dùng), ngoài ra cũng có thể nhập từ khóa để tìm kiếm thông tin chính xác hơn
Quản lý quảng cáo: Tương tự như quản lý người dùng, admin có thể quản lý những
bài quảng cáo từ phía người dùng đưa lên hệ thống Khi admin chấp nhận tin quảng cáo
đó thì tin đó sẽ được đưa lên website
Trang 38Quản lý tài liệu: Với chức năng này admin có quyền quản lý các danh mục tài liệu,
loại tài liệu, số lượng tin đăng và các tin cần chờ duyệt Sau khi người dùng đăng tin sẽ được admin duyệt tin nếu tin đăng đó hợp lý và đúng qui định
Quản lý bình luận:Các bình luận từ các user sẽ được admin quản lý Danh sách các
bình luận sẽ được nêu ra, admin có thể chỉnh sửa nội dụng bình luân hoặc các bình luận nào không hợp lý sẽ bị xóa bỏ
Admin: Thực hiện quản lý bài viết, quản lý bình luận, quản lý người dùng… thông qua giao diện của admin
3.3.2 Biểu đồ ca sử dụng:
Sơ đồ dưới thể hiện UseCase tổng quát của hệ thống với tác nhân là người dùng gồm
ba đối tượng là khách vãng lai, khách hàng và admin UseCase này chỉ ở mức tổng quát (mức 0) của hệ thống
Trang 39Hình2: Usecase tổng quát
UseCase mức 1 đăng ký, đăng nhập
Hình 3: Usecase đăng ký, đăng nhập
Trang 40UseCase mức 1, thành viên đăng tin
Hình 4: Usecase đăng tin
Usecase mức 1, khách vãng lai và thành viên theo dõi tin:
Hình 5: Usecase theo dõi tin