Đồ án Xây dựng website quản lý bán sữa

pdf 77 trang huongle 2320
Bạn đang xem 20 trang mẫu của tài liệu "Đồ án Xây dựng website quản lý bán sữa", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfdo_an_xay_dung_website_quan_ly_ban_sua.pdf

Nội dung text: Đồ án Xây dựng website quản lý bán sữa

  1. Bé gi¸o dôc vµ ®µo t¹o Tr•êng ®¹i häc d©n lËp h¶i phßng - - - - - - - o0o- - - - - - - ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ THÔNG TIN HẢI PHÒNG 2013
  2. Bé gi¸o dôc vµ ®µo t¹o Tr•êng ®¹i häc d©n lËp h¶i phßng o0o XÂY DỰNG WEBSITE QUẢN LÝ BÁN SỮA ®å ¸n tèt nghiÖp ®¹i häc hÖ chÝnh quy Ngµnh: C«ng nghÖ Th«ng tin HẢI PHÒNG - 2013
  3. Bé gi¸o dôc vµ ®µo t¹o Tr•êng ®¹i häc d©n lËp h¶i phßng o0o XÂY DỰNG WEBSITE QUẢN LÝ BÁN SỮA ®å ¸n tèt nghiÖp ®¹i häc hÖ chÝnh quy Ngµnh: C«ng nghÖ Th«ng tin Sinh viên thực hiện: Đồng Văn Thắng Giáo viên hƣớng dẫn: Th.s Nguyễn Trịnh Đông Mã sinh viên: 1351010035 HẢI PHÒNG - 2013 - - - - - - - o0o- - - - - - -
  4. nhiÖm vô ®Ò tµi 1. Nội dung và các yêu cầu giải quyết trong nhiệm vụ đề tài tốt nghiệp a. Nội dung: Tìm hiểu quy trình quản lý bán hàng. Tìm hiểu các đặc trƣng quản lý bán hàng với sản phẩm sữa. Tìm hiểu ngôn ngữ lập trình PHP và hệ quản trị CDL MySQL. Phân tích hệ thống quản lý bán sữa của các cửa hàng, đại lý. Xây dựng Website mô phỏng. b. Các yêu cầu cần giải quyết Phân tích hệ thống quản lý bán sữa Xây dựng Website quản lý bán sữa. 2. Các số liệu cần thiết để thiết kế tính toán 3. Địa điểm thực tập
  5. CÁN BỘ HƢỚNG DẪN ĐỀ TÀI TỐT NGHIỆP Ngƣời hƣớng dẫn thứ nhất: Họ và tên: Nguyễn Trịnh Đông Học hàm, học vị: Thạc sĩ Cơ quan công tác: Trƣờng đại học Dân lập Hải Phòng Nội dung hƣớng dẫn Đề tài tốt nghiệp đƣợc giao ngày 23 tháng 03 năm 2013 Yêu cầu phải hoàn thành trƣớc ngày 29 tháng 06 năm 2013 Đã nhận nhiệm vụ: Đ.T.T.N Đã nhận nhiệm vụ: Đ.T.T.N Sinh viên Cán bộ hƣớng dẫn Đ.T.T.N Hải Phòng, ngày. tháng năm 2013 HIỆU TRƢỞNG GS.TS.NGƯT Trần Hữu Nghị
  6. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng PHẦN NHẬN XÉT TÓM TẮT CỦA CÁN BỘ HƢỚNG DẪN 1. Tinh thần thái độ của sinh viên trong quá trình làm đề tài tốt nghiệp: 2. Đánh giá chất lƣợng của đề tài tốt nghiệp (so với nội dung yêu cầu đã đề ra trong nhiệm vụ đề tài tốt nghiệp) Cho điểm của cán bộ hƣớng dẫn: (Điểm ghi bằng số và chữ ) Ngày tháng năm 2013 Cán bộ hƣớng dẫn chính ( Ký, ghi râ hä tªn ) Đồng Văn Thắng – Lớp CT1301 1
  7. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng PHẦN NHẬN XÉT ĐÁNH GIÁ CỦA CÁN BỘ CHẤM PHẢN BIỆN ĐỀ TÀI TỐT NGHIỆP 1. Đánh giá chất lƣợng đề tài tốt nghiệp(về các mặt nhƣ cơ sở lý luận, thuyết minh chƣờn trình, giá trị thực tế, ) 2. Cho điểm của cán bộ phản biện ( Điểm ghi bằng số và chữ) Ngày tháng năm 2013 Cán bộ chấm phản biện ( Ký, ghi râ hä tªn ) Đồng Văn Thắng – Lớp CT1301 2
  8. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng LỜI CẢM ƠN Trong lời đầu tiên của báo cáo đồ án tốt nghiệp “Xây dựng website quản lý bán sữa” này, em muốn gửi những lời cám ơn và biết ơn chân thành nhất của mình tới tất cả những ngƣời đã hỗ trợ, giúp đỡ em về kiến thức và tinh thần trong quá trình thực hiện đồ án. Trƣớc hết, em xin chân thành cám ơn Thầy Giáo - Ths. Nguyễn Trịnh Đông, Giảng viên Khoa Công Nghệ Thông Tin, Trƣờng ĐHDL Hải Phòng, ngƣời đã trực tiếp hƣớng dẫn, nhận xét, giúp đỡ em trong suốt quá trình thực hiện đồ án. Xin chân thành cảm ơn các thầy cô trong Khoa Công Nghệ Thông Tin và các phòng ban nhà trƣờng đã tạo điều kiện tốt nhất cho em cũng nhƣ các bạn khác trong suốt thời gian học tập và làm tốt nghiệp. Cuối cùng em xin gửi lời cảm ơn đến gia đình, bạn bè, ngƣời thân đã giúp đỡ động viên em rất nhiều trong quá trình học tập và làm Đồ án Tốt Nghiệp. Do thời gian thực hiện có hạn, kiến thức còn nhiều hạn chế nên Đồ án thực hiện chắc chắn không tránh khỏi những thiếu sót nhất định. Em rất mong nhận đƣợc ý kiến đóng góp của thầy cô giáo và các bạn để em có thêm kinh nghiệm và tiếp tục hoàn thiện đồ án của mình. Em xin chân thành cảm ơn! Hải Phòng, ngày 29 tháng 06 năm 2013 Sinh viên Đồng Văn Thắng Đồng Văn Thắng – Lớp CT1301 3
  9. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng MỤC LỤC LỜI CẢM ƠN 1 MỤC LỤC 4 DANH MỤC BẢNG VÀ HÌNH VẼ 7 GIỚI THIỆU 9 CHƢƠNG 1: CƠ SỞ LÝ THUYẾT 10 1.1. Giới thiệu công nghệ Web-based 10 1.2.Giới thiệu về Word Wide Web 10 1.3. Giao thức FTP 11 1.4. Tìm hiểu về IIS và Apache 12 1.4.1. IIS 12 1.4.2. Apache 12 1.5. Tìm hiểu về ASP.NET 13 1.5.1. ASP.NET là gì? 13 1.5.2. Các đối tƣợng trong ASP.NET 13 1.6. Tổng quan về PHP 15 1.6.1. Các lệnh cơ bản 16 1.6.2. Xuất giá trị ra trình duyệt 16 1.6.3. Biến, hằng, chuỗi và các kiểu dữ liệu 17 1.6.4. Các phƣơng thức đƣợc sử dụng trong lập trình PHP 19 1.6.5. Cookie và Session trong PHP 20 1.6.6. Hàm 21 1.7. Tổng quan về MySQL 22 1.7.1. Đặc điểm MySQL 23 1.7.2. Loại dữ liệu trong MySQL 23 1.7.3. Những cú pháp cơ bản 23 1.8. Giới thiệu về CSS 25 1.9. NukeViet 25 1.9.1. Giới thiệu chung 25 Đồng Văn Thắng – Lớp CT1301 4
  10. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng 1.9.3. Ứng dụng 26 1.9.4. Các tính năng của sản phẩm 27 1.9.5. Các Module tích hợp sẵn trong Nuke Viet 3.0 32 1.9.6. Các tính năng quản trị của Nukeviet 3.0 36 CHƢƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 39 2.1. Yêu cầu bài toán đặt ra 39 a. Quản Trị: 39 b. Nhập hàng: 39 c. Đặt hàng: 39 d. Bán hàng: 39 2.2. Phân tích bài toán 40 2.2.1. Đối tƣợng sử dụng 40 2.2.2. Sơ đồ tiến trình nghiệp vụ 42 2.2.3. Biểu đồ phân rã chức năng 46 2.2.4. Ma trận thực thể 47 2.2.5. Sơ đồ mức ngữ cảnh 49 2.2.6. Sơ đồ luồng dữ liệu 50 2.3. Xây dựng cơ sở dữ liệu 55 2.3.1. Thực thể khách hàng – Thành viên 55 2.3.2. Thực thể hàng 56 2.3.3. Thực thể nhân viên 57 2.3.4. Thực thể loại 57 2.4. Thiết kế hệ thống 58 2.4.1. Xác định các liên kết 58 2.4.2. Mô Hình ER 59 2.4.3. Chuyển từ mô hình ER sang mô hình quan hệ 60 2.4.4. Mô hình quan hệ 63 2.4.5. Thiết kế các bảng dữ liệu: 64 CHƢƠNG 3: THỰC NGHIỆM HỆ THỐNG BÁN SỮA 67 Đồng Văn Thắng – Lớp CT1301 5
  11. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng 3.1. Cài đặt chƣơng trình 67 3.2. Một số giao diện chính 67 KẾT LUẬN 71 TÀI LIỆU THAM KHẢO 72 Đồng Văn Thắng – Lớp CT1301 6
  12. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng DANH MỤC BẢNG VÀ HÌNH VẼ Hình 1.6.2. 1. Xuất ra trình duyệt 17 Hình 1.6.2. 2. Liên kết 2 chuỗi 17 Hình 1.6.3. 1 Biến trong PHP 17 Hình 1.6.3. 2. Hằng trong PHP 18 Hình 1.6.3. 3. Chuỗi trong PHP 18 Hình 1.6.3. 4. Kiểu dữ liệus 19 Hình 1.6.4. 1. Phƣơng thức POSP 20 Hình 1.7.3. 1. Loại dữ liệu trong MySQL 23 Hình 2.2.2. 1 Sơ đồ tiến trình nghiệp vụ quản trị 42 Hình 2.2.2. 2 Sơ đồ tiến trình nghiệp vụ nhập hàng 43 Hình 2.2.2. 3 Sơ đồ tiến trình nghiệp vụ đặt hàng 44 Hình 2.2.2. 4 Sơ đồ tiến trình nghiệp vụ bán hàng 45 Hình 2.2.3. 1 Biểu đồ phân rã chức năng hệ thống 46 Hình 2.2.5. 1 Sơ đồ ngữ cảnh 49 Hình 2.2.6. 1 Sơ đồ luồng mức 0 của hệ thống 50 Hình 2.2.6. 2 Sơ đồ luồng dữ liệu của tiến trình quản trị 51 Hình 2.2.6. 3 Sơ đồ luồng dữ liệu của tiến trình nhập hàng 52 Hình 2.2.6. 4 Sơ đồ luồng dữ liệu của tiến trình bán hàng 53 Hình 2.2.6. 5 Sơ đồ luồng dữ liệu của tiến trình đặt hàng 54 Hình 2.3. 1 Thực thể khách hàng 55 Hình 2.3. 2 Thực thể Hàng 56 Hình 2.3. 3 Thực thể nhân viên 57 Hình 2.3. 4 Thực thể loại 57 Hình 2.4. 1 Mô hình ER 59 Hình 2.4. 2 Mô hình quan hệ 63 Hình 3.2. 1 Giao diện trang nhất 67 Hình 3.2. 2 Giao diện chi tiết sản phẩm 68 Đồng Văn Thắng – Lớp CT1301 7
  13. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng Hình 3.2. 3 Giao diện tin khuyến mại 68 Hình 3.2. 4 Giao diện chức năng cập nhật sản phẩm 69 Hình 3.2. 5 Giao diện chức năng đăng ký thành viên 69 Hình 3.2. 6 Giao diện chức năng đặt hàng 70 Đồng Văn Thắng – Lớp CT1301 8
  14. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng GIỚI THIỆU Thƣơng mại điện tử là một phƣơng thức kinh doanh mới trên thế giới hiện nay. Với sự phát triển của Công nghệ Thông tin đã tạo ra một bƣớc đột phá lớn qua việc áp dụng công nghệ vào thƣơng mại điện tử nhƣ: tính linh động, kịp thời, chính xác và thông suốt của một hệ thống thông tin. Điều này tạo ra sự bùng nổ các ứng dụng trong thƣơng mại. Với các ƣu điểm đó việc áp dụng thƣơng mại điện tử là yếu tố quyết định việc thành bại của các doanh nghiệp, vì vậy áp dụng công nghệ thông tin là một yếu tố tất yếu trong thời đại ngày nay. Khoa học và công nghệ phát triển đã giúp cho mỗi doanh nghiệp, mọi cá nhân có một công cụ làm việc và học tập vô cùng hiêu quả. Internet phát triển đã thâm nhập vào từng ngõ ngách, tầng lớp của xã hội, giúp cho mọi ngƣời đều đƣợc mở mang kiến thức, cập nhật mọi thông tin một cách nhanh nhất. Internet đa giúp cho các công ty và những cửa hàng nhỏ không ít trong việc quảng cáo. Với việc ra đời của những trang web thì những thông tin đầy đủ nhất của các công ty và các cửa hàng sẽ đến đƣợc với khách hàng nhiều hơn. Và ngày nay mọi ngƣời trên thế giới sử dụng internet cho việc tìm kiếm thông tin và giao dịch mua bán rất đông và ngày càng phổ biến. Do vậy, em chọn: “Xây dựng Website quản lý bán sữa” làm đồ án tốt nghiệp. Đồ án đƣợc bố cục nhƣ sau: Giới thiệu: Giới thiệu về ứng dụng thương mại điện tử Chƣơng 1: CƠ SỞ LÝ THUYẾT Trong chương này, trình bày về các kiến thức cơ bản về các ứng dụng dựa trên nền Web. Chƣơng 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG Chương này, đưa ra các yêu cầu và phân tích các yêu cầu của bài toán.Thiết kế hệ thống thông tin, cơ sở dữ liệu cần cho bài toán. Chƣơng 3: THỰC NGHIỆM HỆ THỐNG BÁN SỮA Chương này cài đặt hệ thống bán sữa dựa trên phần mềm NukeViet với phân hệ Shop. Kết luận Tài liệu tham khảo Đồng Văn Thắng – Lớp CT1301 9
  15. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng CHƢƠNG 1: CƠ SỞ LÝ THUYẾT 1.1. Giới thiệu công nghệ Web-based Công nghệ dựa trên nền tảng Web (Web-based technology) là một thuật ngữ dùng để chỉ những ứng dụng hay phần mềm đƣợc sử dụng dựa trên nền tảng web. Tức là những ứng dụng hay phần mềm có thể truy cập thông qua trình duyệt trên hệ thống mạng nhƣ internet hay intranet. Những ứng dụng web đƣợc xây dựng thông qua những ngôn ngữ mà các trình duyệt hỗ trợ nhƣ HTML, JavaScript Những ứng dụng dựa trên nền tảng web ngày càng trở lên rất phổ biến vì những ƣu điểm vƣợt trội của nó, mà đặc biệt là ƣu điểm to lớn đối với ngƣời sử dụng (hay ngƣời sử dụng cuối cùng) trên các máy trạm (clients). Ƣu điểm đối với phần máy trạm ở chỗ sử dụng những ứng dụng (application) hay phần mềm (chẳng hạn gmail, những điểm bán lẻ, ) mà không cần phải cài đặt chƣơng trình gì mà chỉ cần chạy thông qua web. Với việc sử dụng trình duyệt (Browser) thì ngƣời dùng có thể sử dụng máy tính tại bất kỳ đâu có kết nối internet với đƣờng truyền tốt đều có thể làm việc với máy chủ (server) từ rất xa. Bên cạnh những ƣu điểm vƣợt trội về máy trạm, những ứng dụng web còn rất nhiều ƣu điểm khác nhƣ: Tự động update chƣơng trình thông qua việc update tại máy chủ, việc dùng trình duyệt làm việc có thể kết hợp với các ứng dụng web khác nhƣ mail, tìm kiếm. Ngƣời sử dụng có thể chạy chƣơng trình trên mọi hệ điều hành nhƣ Windows, Linux, Mac bởi chúng ta chỉ cần có mỗi trình duyệt để làm việc. Ngoài ra, máy tính của chúng ta cũng ko cần đòi hỏi quá cao về cấu hình, đĩa trống 1.2.Giới thiệu về Word Wide Web Word Wide Web, gọi tắt là Web hoặc WWW, là một không gian thông tin toàn cầu mà mọi ngƣời có thể truy nhập (đọc và viết) qua các máy tính nối với mạng Internet. Thuật ngữ này thƣờng đƣợc hiểu nhầm là từ đồng nghĩa với chính thuật ngữ Internet. 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 minh 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 Tim Berners- Lee và Robert Cailliau (Bỉ) tại CERN, Geneva, Switzerland Các tài liệu trên World Wide Web đƣợc lƣu trữ trong 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 đƣợc gọi là trình duyệt web (web browser) để xem siêu văn bản. Đồng Văn Thắng – Lớp CT1301 10
  16. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng Chƣơng trình này sẽ nhận thông tin (documents) 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 liên kết siêu văn bản (hyperlink) 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. 1.3. Giao thức FTP FTP (File Transfer Protocol) đƣợc dùng để trao đổi tập tin qua mạng lƣới truyền thông dùng giao thức TCP/IP. Hoạt động của FTP cần có ít nhất hai máy tính, một máy chủ và một máy khách. Máy chủ FTP, dùng chạy phần mềm cung cấp dịch vụ FTP, gọi là trình chủ, lắng nghe yêu cầu về dịch vụ của các máy tính khác trên mạng. Máy khách chạy phần mềm FTP dành cho ngƣời sử dụng dịch vụ, gọi là trình khách, thì khởi đầu một liên kết với máy chủ. Một khi hai máy liên kết với nhau, máy khách có thể xử lý một số thao tác về tập tin, nhƣ tải tập tin lên máy chủ, tải tập tin từ máy chủ xuống máy khách, đổi tên của tập tin, hoặc xóa tập tin ở máy chủ v.v. Giao thức FTP là một giao thức chuẩn công khai, cho nên bất cứ một công ty phần mềm nào, hay một lập trình viên nào cũng có thể viết trình chủ FTP hoặc trình khách FTP. Hầu nhƣ bất cứ một nền tảng hệ điều hành máy tính nào cũng hỗ trợ giao thức FTP. Điều này cho phép tất cả các máy tính kết nối với một mạng dựa trên TCP/IP, xử lý tập tin trên một máy tính khác trên cùng một mạng, không phụ thuộc vào hệ điều hành (nếu các máy tính ấy đều cho phép sự truy cập của các máy tính khác, dùng giao thức FTP). Mục đích của giao thức FTP Mục đích của giao thức FTP, nhƣ đƣợc phác thảo trong bản RFC, là: 1. Khuyến khích việc dùng chung tập tin (như chương trình ứng dụng vi tính hoặc dữ liệu) 2. Khuyến khích việc sử dụng máy tính ở xa một cách gián. 3. Che đậy sự khác biệt về hệ thống lưu trữ tập tin giữa các máy chủ, hầu cho người dùng không cần phải quan tâm đến những sự khác biệt riêng tư của chúng. 4. Truyền tải dữ liệu một cách đáng tin cậy và có hiệu quả cao. Đồng Văn Thắng – Lớp CT1301 11
  17. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng 1.4. Tìm hiểu về IIS và Apache Khi xuất bản Website lên Internet cần phải có máy chủ Web. Hiện nay trên thế giới phổ biến hai loại máy chủ Web là IIS (Internet Information Services) và Apache. Dƣới đây là phần giới thiệu về hai loại máy chủ này. 1.4.1. IIS IIS đƣợc đính kèm với các phiên bản của Windows. Microsoft Internet Information Services (các dịch vụ cung cấp thông tin Internet) là các dịch vụ dành cho máy chủ chạy trên nền Hệ điều hành Window nhằm cung cấp và phân tán các thông tin lên mạng, nó bao gồm nhiều dịch vụ khác nhau nhƣ Web Server, FTP Server, Nó có thể đƣợc sử dụng để xuất bản nội dung của các trang Web lên Internet/Intranet bằng việc sử dụng HTTP (Hyper Text Transport Protocol). Đặc tính kỹ thuật của IIS Nhiệm vụ của IIS là tiếp nhận yêu cầu của máy trạm và đáp ứng lại yêu cầu đó bằng cách gửi về máy trạm những thông tin mà máy trạm yêu cầu. Bạn có thể sử dụng IIS để: Xuất bản một Website của bạn trên Internet. Tạo các giao dịch thƣơng mại điện tử trên Internet. Chia sẻ tệp dữ liệu thông qua giao thức FTP. Cho phép ngƣời dùng ở xa có thể truy xuất vào cơ sở dữ liệu (gọi là Database remote access), v.v Nguyên lý hoạt động của IIS IIS sử dụng các giao thức mạng phổ biến là HTTP và FPT và một số giao thức khác nhƣ SMTP, POP3, để tiếp nhận yêu cầu và truyền tải thông tin trên mạng với các định dạng dữ liệu khác nhau. Một trong những dịch vụ phổ biến nhất của IIS mà chúng ta quan tâm ở đây là dịch vụ WWW (World Wide Web), nói tắt là dịch vụ Web. Dịch vụ Web sử dụng giao thức HTTP để tiếp nhận yêu cầu (Requests) của trình duyệt Web (Web browser) dƣới dạng một địa chỉ URL (Uniform Resource Locator) của một trang Web và IIS phản hồi lại các yêu cầu bằng cách gửi về cho Web. 1.4.2. Apache Apache là chƣơng trình máy chủ HTTP. Apache chạy trên các hệ điều hành nhƣ Unix, Microsoft Windows, Novell Netware và các hệ điều hành khác. Apache đóng một vai trò quan trọng trong quá trình phát triển của Web. Đồng Văn Thắng – Lớp CT1301 12
  18. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng Khi đƣợc phát hành lần đầu, Apache là chƣơng trình máy chủ mã nguồn mở duy nhất có khả năng cạnh tranh với chƣơng trình máy chủ của Netscape Communications Corporation mà ngày nay đƣợc biết đến qua tên thƣơng mại Sun Java System Web Server, Từ tháng 4 nãm 1996, Apache trở thành một chƣơng trình máy chủ HTTP thông dụng nhất. 1.5. Tìm hiểu về ASP.NET 1.5.1. ASP.NET là gì? ASP.NET là môi trƣờng dùng để tạo và chạy các ứng dụng Web động và có tƣơng tác. Các trang web viết bằng ngôn ngữ này có phần mở rộng là .aspx (ví dụ HelloWorld.aspx) thay vì .htm hay .html. Nội dung file ASPX về cơ bản gần giống file Html bình thƣờng, nó bao gồm các cú pháp html cùng với XML, và ASP.NET. 1.5.2. Các đối tƣợng trong ASP.NET 1.5.2.1. Đối tƣợng Response Đối tƣợng Response đƣợc sử dụng để giao tiếp với Client, nó quản lý và điều phối thông tin từ Webserver đến các trình duyệt của ngƣời dùng. 1.5.2.2. Đối tƣợng Request Đối tƣợng Request đƣợc dùng để nhận thông tin từ trình duyệt của ngƣời dùng gửi về cho Webserver. 1.5.2.3. Đối tƣợng Server Đối tƣợng Server đƣợc sử dụng để cung cấp thông tin của Server cho ứng dụng. Thuộc tính MachineName Thuộc tính này đƣợc dùng để lấy tên của Webserver. Phƣơng thức Mappath Phƣơng thức Mappath đƣợc dùng để lấy đƣờng dẫn vật lý hoặc đƣờng dẫn ảo đến một thƣ mục trên Server. Phƣơng thức Transfer ngừng thi hành trang hiện hành, gửi yêu cầu mới đến trang đƣợc gọi thực hiện. 1.5.2.4 Đối tƣợng Cookies Những thông tin đƣợc Webserver lƣu tại máy khách đƣợc gọi là Cookies. Không giống nhƣ đối tƣợng Session, đối tƣợng Cookies cũng đƣợc dùng để lƣu trữ thông tin của ngƣời dùng, tuy nhiên, thông tin này đƣợc lƣu ngay tại máy gửi yêu cầu đến Webserver. Cookie là một tập tin (với kích thƣớc khá nhỏ) đƣợc Webserver lƣu tại máy của ngƣời dùng. Mỗi lần có yêu cầu đến Webserver, những thông tin của Cookies cũng sẽ đƣợc gửi theo về Server. Đồng Văn Thắng – Lớp CT1301 13
  19. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng 1.5.2.5. Đối tƣợng Application Đối tƣợng Application đƣợc sử dụng để quản lý tất cả các thông tin của một ứng dụng Web. Thông tin đƣợc lƣu trữ trong đối tƣợng Application có thể đƣợc xử lý trong bất kỳ trang aspx nào trong suốt chu kỳ sống của ứng dụng. 1.5.2.6. Đối tƣợng Session Đối tƣợng Session đƣợc dùng để lƣu trữ thông tin của ngƣời dùng trong ứng dụng. Thông tin đƣợc lƣu trữ trong Session là của một ngƣời dùng trong một phiên làm việc cụ thể. Webserver sẽ tự động tạo một đối tƣợng Session cho mỗi ngƣời dùng mới kết nối vào ứng dụng và tự động hủy chúng nếu ngƣời dùng còn không làm việc với ứng dụng nữa. Tuy nhiên, không giống nhƣ đối tƣợng Application, đối tƣợng Session không thể chia sẻ thông tin giữa những lần làm việc của ngƣời dùng, nó chỉ có thể cung cấp, trao đổi thông tin cho các trang trong lần làm việc tƣơng ứng. Trong ứng dụng Web, đối tƣợng Session giữ vai trò khá quan trọng. Do sử dụng giao thức HTTP, Webserver hoàn toàn không ghi nhớ những gì giữa những lần yêu cầu của Client. Đối tƣợng Session tỏ ra khá hữu hiệu trong việc thực hiện "lƣu vết và quản lý thông tin của ngƣời dùng thuộc tính Timeout qui định khoảng thời gian (tính bằng phút) mà Webserver duy trì đối tƣợng Session nếu ngƣời dùng không gửi yêu cầu nào về lại Server. Giá trị mặc định của thuộc tính này là 20. Nếu không có yêu cầu nào kể từ lần yêu cầu sau cùng một khoảng thời gian là phút, đối tƣợng Session mà Webserver cấp cho lần làm việc đó sẽ tự động đƣợc giải phóng. Những yêu cầu sau đó đƣợc Webserver coi nhƣ là một ngƣời dùng mới, và đƣơng nhiên sẽ đƣợc cấp một đối tƣợng Session mới. Phƣơng thức Abandon Nhƣ các bạn đa biết, trong khoảng thời gian phút kể từ lần yêu cầu sau cùng của máy khách, đối tƣợng Session vẫn đƣợc duy trì dù cho không có sự tƣơng tác nào của máy khách. Điều này đồng nghĩa với việc Webserver phải sử dụng một vùng nhớ để duy trì đối tƣợng Session trong một khoảng thời gian tƣơng ứng. Phƣơng thức Abandon của đối tƣợng Session sẽ giải phóng vùng nhớ đƣợc dùng để duy trì đối tƣợng Session trên Webserver ngay khi đƣợc thực hiện. Những yêu cầu sau đó đƣợc Webserver coi nhƣ là một ngƣời dùng mới. Đồng Văn Thắng – Lớp CT1301 14
  20. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng 1.6. Tổng quan về PHP Lịch sử phát triển 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'. PHP 3 PHP 3.0 là phiên bản đầu tiên cho 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 đó. 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ột cơ chế xử lý 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 cơ chế xử lý 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. 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. 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, 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 Đồng Văn Thắng – Lớp CT1301 15
  21. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng 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. 1.6.1. Các lệnh cơ bản PHP cũng có thẻ bắt đầu và kết thúc giống với ngôn ngữ HTML. Chỉ khác, đối với PHP chúng có nhiều cách để thể hiện. Cách 1: Cú pháp chính: Cách 2: Cú pháp ngắn gọn Cách 3: Cú pháp giống với ASP. Cách 4: Cú pháp bắt đầu bằng script Mặc dù có 4 cách thể hiện. Nhƣng đối với 1 lập trình viên có kinh nghiệm thì việc sử dụng cách 1 vẫn là lựa chọn tối ƣu. Trong PHP để kết thúc 1 dòng lệnh sử dụng dấu ";" Để chú thích 1 đoạn dữ liệu nào đó trong PHP ta sử dụng dấu "//" cho từng dòng, hoặc dùng cặp thẻ "/* */" cho từng cụm mã lệnh. Ví dụ: 1.6.2. Xuất giá trị ra trình duyệt Để xuất dữ liệu ra trình duyệt, có những dòng cú pháp sau: + echo "Thông tin"; + printf "Thông tin"; Thông tin bao gồm: biến, chuỗi, hoặc lệnh HTML . Đồng Văn Thắng – Lớp CT1301 16
  22. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng Hình 1.6.2. 1. Xuất ra thông tin trình duyệt Nếu giữa hai chuỗi muốn liên kết với nhau ta sử dụng dấu "." Hình 1.6.2. 2. Liên kết 2 chuỗi 1.6.3. Biến, hằng, chuỗi và các kiểu dữ liệu Biến Biến đƣợc xem là vùng nhớ dữ liệu tạm thời. Và giá trị có thể thay đổi đƣợc. Biến đƣợc bắt đầu bằng ký hiệu "$". Và theo sau chúng là 1 từ, 1 cụm từ nhƣng phải viết liền hoặc có gạch dƣới. Một biến đƣợc xem là hợp lệ khi nó thỏa các yếu tố: + Tên của biến phải bắt đầu bằng dấu gạch dƣới và theo sau là các ký tự, số hay dấu gạch dƣới. + Tên của biến không đƣợc phép trùng với các từ khóa của PHP. Trong PHP khi sử dụng 1 biến thì phải khai báo trƣớc, tuy nhiên đối với các lập trình viên khi sử dụng họ thƣờng xử lý cùng một lúc các công việc, nghĩa là vừa khai báo vừa gán dữ liệu cho biến. Bản thân biến cũng có thể gán cho các kiểu dữ liệu khác. Và tùy theo ý định của ngƣời lập trình mong muốn trên chúng. Hình 1.6.3. 1 Biến trong PHP Đồng Văn Thắng – Lớp CT1301 17
  23. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng Hằng Nếu biến là cái có thể thay đổi đƣợc thì ngƣợc lại hằng là cái chúng ta không thể thay đổi đƣợc. Hằng trong PHP đƣợc định nghĩa bởi hàm define theo cú pháp: define (string tên_hằng, giá_trị_hằng ). Cũng giống với biến hằng đƣợc xem là hợp lệ thì chúng phải đáp ứng 1 số yếu tố: + Hằng không có dấu "$" ở trƣớc tên. + Hằng có thể truy cập bất cứ vị trí nào trong mã lệnh + Hằng chỉ đƣợc phép gán giá trị duy nhất 1 lần. + Hằng thƣờng viết bằng chữ in để phân biệt với biến Hình 1.6.3. 2. Hằng trong PHP Chuỗi Chuỗi là một nhóm các kỹ tự, số, khoảng trắng, dấu ngắt đƣợc đặt trong các dấu nháy. Ví dụ: ‘Hello’ Để tạo 1 biễn chuỗi, chúng ta phải gán giá trị chuỗi cho 1 biến hợp lệ. Ví dụ: $fisrt_name= "Nguyen"; $last_name= ‘Van A’; Để liên kết 1 chuỗi và 1 biến chúng ta thƣờng sử dụng dấu "." Hình 1.6.3. 3. Chuỗi trong PHP Đồng Văn Thắng – Lớp CT1301 18
  24. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng Kiểu dữ liệu Các kiểu dữ liệu khác nhau chiếm các lƣợng bộ nhớ khác nhau và có thể đƣợc xử lý theo cách khác nhau khi chúng đƣợc theo tác trong 1 script. Trong PHP chúng ta có 6 kiểu dữ liệu chính nhƣ sau: Hình 1.6.3. 4. Kiểu dữ liệu Chúng ta có thể sử dụng hàm dựng sẵn GETTYPE() của PHP4 để kiểm tra kiểu của bất kỳ biến. Hình 1.6.3. 5. Hàm GETTYPE 1.6.4. Các phƣơng thức đƣợc sử dụng trong lập trình PHP Có 2 phƣơng thức đƣợc sử dụng trong lập trình PHP là GET và POST Phương thức GET Phƣơng thức này cũng đƣợc dùng để lấy dữ liệu từ form nhập liệu. Tuy nhiên nhiệm vụ chính của nó vẫn là lấy nội dung trang dữ liệu từ Webserver. Ví dụ: Với url sau: shownews.php?id=50. Vậy với trang shownews ta dùng hàm $_GET[„id‟] sẽ đƣợc giá trị là 50. Phương thức POST Phƣơng thức này đƣợc sử dụng để lấy dữ liệu từ form nhập liệu. Và chuyển chúng lên trình chủ Webserver. Đồng Văn Thắng – Lớp CT1301 19
  25. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng Hình 1.6.4. 1. Phƣơng thức POSP 1.6.5. Cookie và Session trong PHP Cookie và Session là hai phƣơng pháp sử dụng để quản lý các phiên làm việc giữa ngƣời sử dụng và hệ thống Cookie Cookie là 1 đoạn dữ liệu đƣợc ghi vào đĩa cứng hoặc bộ nhớ của máy ngƣời sử dụng. Nó đƣợc trình duyệt gửi ngƣợc lên lại server mỗi khi browser tải 1 trang web từ server. Những thông tin đƣợc lƣu trữ trong cookie hoàn toàn phụ thuộc vào Website trên server. Mỗi Website có thể lƣu trữ những thông tin khác nhau trong cookie, ví dụ thời điểm lần cuối ta ghé thăm Website, đánh dấu ta đã login hay chƣa, v.v Cookie đƣợc tạo ra bởi Website và gửi tới browser, do vậy 2 Website khác nhau (cho dù cùng host trên 1 server) sẽ có 2 cookie khác nhau gửi tới browser. Ngoài ra, mỗi browser quản lý và lƣu trữ cookie theo cách riêng của mình, cho nên 2 browser cùng truy cập vào 1 Website sẽ nhận đƣợc 2 cookie khác nhau. Để thiết lập cookie ta sử dụng cú pháp: Setcookie("tên cookie","giá trị", thời gian sống) Tên cookie là tên mà chúng ta đặt cho phiên làm việc. Giá trị là thông số của tên cookie. Ví dụ: setcookie("name","admin",time()+3600); Để sử dụng lại cookie vừa thiết lập, chúng ta sử dụng cú pháp: Cú pháp: $_COOKIE["tên cookies"] Tên cookie là tên mà chúng ta thiết lập phía trên. Để hủy 1 cookie đã đƣợc tạo ta có thể dùng 1 trong 2 cách sau: + Cú pháp: setcookie("Tên cookie") Đồng Văn Thắng – Lớp CT1301 20
  26. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng Gọi hàm setcookie với chỉ duy nhất tên cookie mà thôi + Dùng thời gian hết hạn cookie là thời điểm trong quá khứ. Ví dụ: setcookie("name","admin",time()- 3600); Session Một cách khác quản lý ngƣời sử dụng là Session. Session đƣợc hiểu là khoảng thời gian ngƣời sử dụng giao tiếp với 1 ứng dụng. Một session đƣợc bắt đầu khi ngƣời sử dụng truy cập vào ứng dụng lần đầu tiên, và kết thúc khi ngƣời sử dụng thoát khỏi ứng dụng. Mỗi session sẽ có đƣợc cấp một định danh (ID) khác nhau. Để thiết lập 1 session ta sử dụng cú pháp: session_start() Đoạn code này phải đƣợc nằm trên các kịch bản HTML. Hoặc những lệnh echo, printf. Để thiết lập 1 giá trị session, ngoài việc cho phép bắt đầu thực thi session. Chúng ta còn phải đăng ký 1 giá trị session. Để tiện cho việc gán giá trị cho session đó. Ta có cú pháp sau: session_register("Name") Giống với cookie. Để sử dụng giá trị của session ta sử dụng mã lệnh sau: Cú pháp: $_SESSION["name"] Với Name là tên mà chúng ta sử dụng hàm session_register("name") để khai báo. Để hủy bỏ giá trị của session ta có những cách sau: session_destroy() // Cho phép hủy bỏ toàn bộ giá trị của session. session_unset()// Cho phép hủy bỏ session. 1.6.6. Hàm Để giảm thời gian lặp lại 1 thao tác code nhiều lần, PHP hỗ trợ ngƣời lập trình việc tự định nghĩa cho mình những hàm có khả năng lặp lại nhiều lần trong Website. Việc này cũng giúp cho ngƣời lập trình kiểm soát mã nguồn một cách mạch lạc. Đồng thời có thể tùy biến ở mọi trang. Mà không cần phải khởi tạo hay viết lại mã lệnh nhƣ HTML thuần. Đồng Văn Thắng – Lớp CT1301 21
  27. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng Hàm tự định nghĩa Cú pháp: function function_name() { //Lệnh thực thi } Tên hàm có thể là một tổ hợp bất kỳ những chữ cái, con số và dấu gạch dƣới, nhƣng phải bắt đầu từ chữ cái và dấu gạch dƣới. Hàm tự định nghĩa với các tham số Cú pháp: function function_name($gt1,$gt2) { //Lệnh thực thi } Hàm tự định nghĩa với giá trị trả về Cú pháp: function function_name(Có hoặc không có đối số) { // Lệnh thực thi return giatri; } Gọi lại hàm PHP cung cấp nhiều hàm cho phép triệu gọi lại file. Nhƣ hàm include("URL đến file"), require("URL Đến file"). Ngoài hai cú pháp trên còn có include_once(), require_once(). Hai hàm này cũng có trách nhiệm gọi lại hàm. Những chúng sẽ chỉ gọi lại duy nhất 1 lần mà thôi. 1.7. Tổng quan về MySQL MySQL là hệ quản trị dữ liệu miễn phí, đƣợc tích hợp sử dụng chung với apache, PHP. Chính yếu tố phát triển trong cộng đồng mã nguồn mở nên MySQL đã qua rất nhiều sự hỗ trợ của những lập trình viên yêu thích mã nguồn mở. MySQL Đồng Văn Thắng – Lớp CT1301 22
  28. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng cũng có cùng một cách truy xuất và mã lệnh tƣơng tự với ngôn ngữ SQL. Nhƣng MySQL không bao quát toàn bộ những câu truy vấn cao cấp nhƣ SQL. Về bản chất MySQL chỉ đáp ứng việc truy xuất đơn giản trong quá trình vận hành của Website nhƣng hầu hết có thể giải quyết các bài toán trong PHP. 1.7.1. Đặc điểm MySQL MySQL cũng giống nhƣ các hệ quản trị CSDL: Access, SQL server, PostgreSQL, Có nhiều phiên bản cho các hệ điều hành khác nhau. Là cơ sở dữ liệu có tốc độ cao, ổn định và dễ sử dụng, hoạt động trên nhiều hệ điều hành cunh cấp một hệ thống lớn các hàm tiện ích 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 truy cập CSDL trên internet. MySQL server hoạt động trong các hệ thống nhúng hoặc client/server. 1.7.2. Loại dữ liệu trong MySQL Hình 1.7.3. 1. Loại dữ liệu trong MySQL 1.7.3. Những cú pháp cơ bản Tạo một cơ sở dữ liệu: CREATE DATABASE tên_cơ_sở_dữ_liệu; Cú pháp sử dụng cơ sở dữ liệu: Use tên_database; Cú pháp thoát khỏi cơ sở dữ liệu: Exit Tạo một bảng trong cơ sở dữ liệu: CREATE TABLE user ( , , ) Đồng Văn Thắng – Lớp CT1301 23
  29. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng Hiển thị có bao nhiều bảng: show tables; Hiển thị có bao nhiêu cột trong bảng: show columns from table; Thêm 1 cột vào bảng: ALTER TABLE tên_bảng ADD AFTER Thêm giá trị vào bảng: INSERT INTO Tên_bảng(tên_cột) VALUES(Giá_trị_tương_ứng); Truy xuất dữ liệu: SELECT tên_cột FROM Tên_bảng; Truy xuất dữ liệu với điều kiện: SELECT tên_cột FROM Tên_bảng WHERE điều kiện; Truy xuất dữ liệu và sắp xếp theo trình tự: SELECT tên_cột FROM Tên_bảng WHERE điều kiện (có thể có where hoặc không) ORDER BY Theo quy ước sắp xếp. Trong đó quy ƣớc sắp xếp bao gồm hai thông số là ASC (từ trên xuống dƣới), DESC (từ dƣới lên trên). Truy cập dữ liệu có giới hạn: SELECT tên_cột FROM Tên_bảng WHERE điều kiện (có thể có where hoặc không) LIMIT vị trí bắt đầu, số record muốn lấy ra Cập nhật dữ liệu trong bảng: UPDATE tên_bảng set tên_cột = Giá trị mới WHERE (điều kiện). Nếu không có ràng buộc điều kiện, chúng sẽ cập nhật toàn bộ giá trị mới của các record trong bảng. Đồng Văn Thắng – Lớp CT1301 24
  30. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng Xóa dữ liệu trong bảng: DELETE FROM tên_bảng WHERE (điều kiện). Nếu không có ràng buộc điều kiện, chúng sẽ xóa toàn bộ giá trị của các record trong bảng. 1.8. Giới thiệu về CSS CSS (Cascading Style Sheets) chỉ đơn thuần là một dạng file text với phần tên mở rộng là .css. Trong Style Sheet này chứa những câu lệnh CSS. Mỗi một lệnh của CSS sẽ định dạng một phần nhất định của HTML ví dụ nhƣ: font của chữ, đƣờng viền, màu nền, căn chỉnh hình ảnh v.v. Trƣớc đây khi chƣa có CSS, những ngƣời thiết kế Web phải trộn lẫn giữa các thành phần trình bày và nội dung với nhau. Nhƣng với sự xuất hiện của CSS, ngƣời thiết kế Web có thể tách rời hoàn toàn phần trình bày và nội dung. Giúp cho phần code của trang Web cũng gọn hơn và quan trọng hơn cả là dễ chỉnh sửa hơn. 1.9. NukeViet 1.9.1. Giới thiệu chung NukeViet là một hệ quản trị nội dung (Content Management System - CMS) cho phép bạn quản lý các cổng thông tin điện tử trên Internet. Nói đơn giản, NukeViet giống nhƣ một phần mềm giúp bạn xây dựng và vận hành các trang web của mình một cách dễ dàng nhất. NukeViet là một phần mềm mã nguồn mở, do đó việc sử dụng hoàn toàn miễn phí, bạn có thể tải NukeViet về bất cứ lúc nào tại website chính thức của NukeViet là nukeviet.vn. Bạn có thể cài NukeViet lên hosting để sử dụng hoặc cũng có thể thử nghiệm bằng cách cài ngay lên máy tính cá nhân. NukeViet cho phép xây dựng một website động, đa chức năng, hiện đại một cách nhanh chóng mà ngƣời vận hành nó thậm chí không cần phải biết một tí gì về lập trình bởi tất cả các tác vụ quản lý phức tạp đều đƣợc tự động hóa ở mức cao. NukeViet đặc biệt dễ dàng sử dụng vì hoàn toàn bằng tiếng Việt và đƣợc thiết kế phù hợp nhất với thói quen sử dụng mạng của ngƣời Việt Nam. Bằng việc sử dụng các công nghệ web mới nhất hiện nay, thiết kế hệ thống uyển chuyển và sở hữu những tính năng độc đáo, NukeViet sẽ giúp bạn triển khai các ứng dụng web từ nhỏ đến lớn một cách nhanh chóng và tiết kiệm: từ các website cá nhân cho tới các cổng thông tin điện tử, từ các gian hàng trực tuyến cho tới các mạng xã hội Đồng Văn Thắng – Lớp CT1301 25
  31. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng NukeViet là CMS mã nguồn mở đầu tiên của Việt Nam có quá trình phát triển lâu dài nhất, có lƣợng ngƣời sử dụng đông nhất. Hiện NukeViet cũng là một trong những mã nguồn mở chuyên nghiệp đầu tiên của Việt Nam. Giới thiệu về NukeViet 3.0 NukeViet 3.0 là thế hệ CMS hoàn toàn mới do ngƣời Việt phát triển. Lần đầu tiên ở Việt Nam, một bộ nhân mã nguồn mở đƣợc đầu tƣ bài bản và chuyên nghiệp cả về tài chính, nhân lực và thời gian. Kết quả là 100% dòng code của NukeViet đƣợc viết mới hoàn toàn, NukeViet 3 sử dụng xHTML, CSS với Xtemplate và jquery cho phép vận dụng Ajax uyển chuyển cả trong công nghệ nhân. Tận dụng các thành tựu mã nguồn mở có sẵn nhƣng NukeViet 3 vẫn đảm bảo rằng từng dòng code là đƣợc code tay. Điều này có nghĩa là NukeViet 3 hoàn toàn không lệ thuộc vào bất cứ framework nào trong quá trình phát triển của mình. Bạn hoàn toàn có thể đọc hiểu để tự lập trình trên NukeViet 3 nếu bạn biết PHP và MySQL (đồng nghĩa với việc NukeViet 3 hoàn toàn mở và dễ nghiên cứu cho bất cứ ai muốn tìm hiểu về code của NukeViet). Bộ nhân NukeViet 3 ngoài việc thừa hƣởng sự đơn giản vốn có của NukeViet nhƣng không vì thế mà quên nâng cấp mình. Hệ thống NukeViet 3 hỗ trợ công nghệ đa nhân module. Chúng tôi gọi đó là công nghệ ảo hóa module. Công nghệ này cho phép ngƣời sử dụng có thể khởi tạo hàng ngàn module một cách tự động mà không cần động đến một dòng code. Các module đƣợc sinh ra từ công nghệ này gọi là module ảo. Module ảo là module đƣợc nhân bản từ một module bất kỳ của hệ thống NukeViet nếu module đó cho phép tạo module ảo. NukeViet 3 cũng hỗ trợ việc cài đặt từ động 100% các module, block, theme từ Admin Control Panel, ngƣời sử dụng có thể cài module mà không cần làm bất cứ thao tác phức tạp nào. NukeViet 3 còn cho phép bạn đóng gói module để chia sẻ cho ngƣời khác. NukeViet 3 đa ngôn ngữ 100% với 2 loại: đa ngôn ngữ giao diện và đa ngôn ngữ database. NukeViet 3 có tính năng cho phép ngƣời quản trị tự xây dựng ngôn ngữ mới cho site. Cho phép đóng gói file ngôn ngữ để chia sẻ cho cộng đồng câu chuyện về NukeViet 3 sẽ còn dài vì một loạt các tính năng cao cấp vẫn đang đƣợc phát triển. 1.9.3. Ứng dụng NukeViet đƣợc sử dụng ở nhiều website, từ những website cá nhân cho tới những hệ thống website doanh nghiệp, nó cung cấp nhiều dịch vụ và ứng dụng nhờ khả năng tăng cƣờng tính năng bằng cách cài thêm các module, block NukeViet Đồng Văn Thắng – Lớp CT1301 26
  32. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng chủ yếu đƣợc sử dụng làm trang tin tức nhờ module News tích hợp sẵn trong NukeViet đƣợc viết rất công phu, nó lại đặc biệt phù hợp với yêu cầu và đặc điểm sử dụng cho hệ thống tin tức. NukeViet có thể dễ dàng cài đặt, dễ dàng quản lý kể cả với những ngƣời mới sử dụng do đó thƣờng đƣợc những đối tƣợng ngƣời dùng không chuyên ƣa thích. NukeViet có mã nguồn mở do đó việc sử dụng NukeViet là hoàn toàn miễn phí cho tất cả mọi ngƣời trên thế giới. Từ bản 2.0 trở về trƣớc, đối tƣợng ngƣời dùng chủ yếu của NukeViet là ngƣời Việt vì những đặc điểm của bản thân mã nguồn (có nguồn gốc từ PHP- Nuke) và vì chính sách của nhóm phát triển là: "hệ thống Portal dành cho ngƣời Việt". Kể từ phiên bản 3.0, đội ngũ phát triển NukeViet định hƣớng đƣa NukeViet ra cộng đồng quốc tế. Bằng việc đi vào mô hình phát triển chuyên nghiệp, VINADES - công ty chyên quản NukeViet bổ sung thêm việc cung cấp các dịch vụ hỗ trợ chuyên nghiệp cho NukeViet bao gồm dịch vụ tƣ vấn và triển khai mã nguồn mở NukeViet giúp doanh nghiệp xây dựng các hệ thống website chuyên biệt trên nền tảng Web nhƣ các cổng thông tin điện tử, báo điện tử; các ứng dụng quản lý trực tuyến (ví dụ Quản lý nhân sự, Quản lý hồ sơ, công văn ) cho tới các hệ thống thƣơng mại điện tử hay các mạng xã hội có tính tƣơng tác và truyền thông cao Trên thực tế VINADES.,JSC đã triển khai thành công nhiều ứng dụng trên nền mã nguồn mở NukeViet nhƣ: cổng thông tin điện tử cho doanh nghiệp, toà soạn báo điện tử, các hệ thống thƣơng mại điện tử trực tuyến 1.9.4. Các tính năng của sản phẩm 1. Nền tảng công nghệ: NukeViet 3 lập trình trên PHP 5 và MySQL 5 cho phép vận dụng tối đa sức mạnh của công nghệ mới. Ứng dụng Xtemplate và jQuery cho phép vận dụng Ajax uyển chuyển từ trong nhân hệ thống. Với xHTML 1.0 và CSS 2.1, NukeViet 3.0 cho kết quả là những trang web đạt tiêu chuẩn, tƣơng thích trên tất cả các trình duyệt phổ biến hiện nay. Thiết kế giao diện đồ họa sử dụng nguyên lý thiết kế Giao diện lƣới (Grid) cực kỳ khoa học cho phép tùy biến giao diện dễ dàng. Tận dụng các thành tựu mã nguồn mở có sẵn nhƣng NukeViet 3 vẫn đảm bảo rằng từng dòng code là đƣợc code tay. Điều này có nghĩa là NukeViet 3 hoàn toàn không lệ thuộc vào bất cứ framework nào trong quá trình phát triển của mình; Bạn hoàn toàn có thể đọc hiểu để tự lập trình trên NukeViet 3 nếu bạn biết PHP và Đồng Văn Thắng – Lớp CT1301 27
  33. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng MySQL (đồng nghĩa với việc NukeViet 3 hoàn toàn mở và dễ nghiên cứu cho bất cứ ai muốn tìm hiểu về code của NukeViet). 2. Kiến trúc Module NukeViet 3.0 tái cấu trúc lại module, theo đó, toàn bộ tệp tin của mỗi module đƣợc gói gọn trong một thƣ mục riêng nhằm đơn giản trong việc quản lý và đóng gói ứng dụng. Kiến trúc module này tạo ra khái niệm block của module và theme của module giúp đa dạng hóa việc trình bày module. Hệ thống NukeViet 3.0 hỗ trợ công nghệ đa nhân module. Chúng tôi gọi đó là công nghệ ảo hóa module. Công nghệ này cho phép ngƣời sử dụng có thể khởi tạo hàng ngàn module một cách tự động mà không cần động đến một dòng code. Các module đƣợc sinh ra từ công nghệ này gọi là module ảo. Module ảo là module đƣợc nhân bản từ một module bất kỳ của hệ thống nukeviet nếu module đó cho phép tạo module ảo. NukeViet 3.0 cũng hỗ trợ việc cài đặt từ động 100% các module kèm theo block, theme từ Admin Control Panel, ngƣời sử dụng có thể cài module mà không cần làm bất cứ thao tác phức tạp nào. NukeViet 3.0 còn cho phép bạn đóng gói module để chia sẻ cho ngƣời khác. Hệ thống cho phép quản lý module từ trong Admin Control Panel, quản trị cấp cao có thể phân quyền truy cập cũng nhƣ tạm ngƣng hoạt động hay thậm chí cài lại hoặc xóa module tùy theo nhu cầu sử dụng. 3. Đa ngôn ngữ NukeViet 3 đa ngôn ngữ 100% với giải pháp đa ngôn ngôn ngữ kép. Giải pháp này giúp xử lý triệt để vấn đề đa ngôn ngữ cho các website bằng cách tách thành 2 phần: đa ngôn ngữ giao diện (file ngôn ngữ tĩnh) và đa ngôn ngữ xử lý dữ liệu (database). NukeViet 3 có tính năng cho phép ngƣời quản trị tự xây dựng ngôn ngữ mới cho site. Cho phép đóng gói file ngôn ngữ để chia sẻ cho cộng đồng NukeViet 3.0 tách bạch ngôn ngữ quản trị và ngôn ngữ ngƣời dùng, ngôn ngữ giao diện và ngôn ngữ database giúp dễ dàng xây dựng và quản lý các hệ thống đa ngôn ngữ. Đồng Văn Thắng – Lớp CT1301 28
  34. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng 4. Phân quyền NukeViet 3.0 tách biệt 2 khu vực: Khu vực quản trị và Khu vực ngƣời dùng. Toàn bộ các tính năng quản lý nằm trong khu vực quản trị nhằm đảm bảo việc phân quyền đƣợc thực hiện chính xác và an toàn nhất. Phân quyền Quản trị: NukeViet 3.0 phân quyền theo module và theo ngôn ngữ, do đó dễ dàng xác lập quyền quản trị cho các hệ thống lớn, nhiều ngƣời quản trị cùng làm việc. Phân quyền thành viên: NukeViet 3.0 cho phép quản lý và phân nhóm ngƣời sử dụng thành các nhóm khác nhau để dễ dàng phân quyền ngƣời sử dụng theo từng module cụ thể. 5. Đa giao diện Cài đặt: NukeViet 3.0 hỗ trợ cài đặt và gỡ bỏ giao diện hoàn toàn tự động. Hơn thế nữa, bạn có thể đóng gói giao diện để chia sẻ cho website khác một cách dễ dàng. NukeViet hỗ trợ hệ thống đa giao diện cực kỳ uyển chuyển cho cả ngƣời sử dụng lẫn ngƣời lập trình. Với NukeViet 3.0, ngƣời sử dụng có thể tùy biến một cách dễ dàng: gán giao diện theo module, thiết lập bố cục giao diện cho từng tính năng của module. Với ngƣời thiết kế giao diện: có thể tùy ý thiết kế không giới hạn bố cục giao diện. Giao diện đã đƣợc tách bạch phần HTML và CSS khỏi PHP vì vậy ngƣời thiết kế tùy trình độ mà có thể can thiệp vào các lớp giao diện để chỉnh sửa hoặc thiết kế giao diện mới một cách dễ dàng. 6. Tùy biến site bằng Block NukeViet cho phép đa dạng hóa bố cục và chức năng cho website nhờ các khối (block) khác nhau trên website. Các khối này có thể là các ứng dụng, các khối quảng cáo hoặc dữ liệu bất kỳ nào đƣợc ngƣời sử dụng định nghĩa. Block của NukeViet 3 cũng phân theo 2 cấp: Block của hệ thống và block cho từng module. Ngƣời sử dụng có thể tùy ý bố trí vị trí block ở các vị trí khác nhau: toàn bộ website, theo từng module và thậm chí là từng tính năng của module. Block có thể có các giao diện khác nhau theo theme. Có thể hẹn giờ bật/tắt cũng nhƣ phân quyền cho từng đối tƣợng ngƣời truy cập. Việc bố trí block có thể thực hiện trong Admin Control Panel hoặc kéo thả trực quan ngay tại giao diện ngƣời dùng. Đồng Văn Thắng – Lớp CT1301 29
  35. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng 7. An ninh, bảo mật NukeViet 3 đƣợc thiết kế để nhận biết và chống các truy cập bất hợp pháp vào hệ thống cũng nhƣ gửi các dữ liệu có hại lên hệ thống. Dữ liệu gửi qua hệ thống đƣợc kiểm duyệt bằng bộ lọc an ninh nhằm ngăn chặn các dữ liệu có khả năng tấn công vào hệ thống. NukeViet có khả năng ngăn chặn, theo dõi và kiểm soát truy cập vào hệ thống của tất cả các máy chủ tìm kiếm nhƣ yahoo và google hay bất cứ máy chủ tìm kiếm nào khác. Hệ thống có khả năng chống Spam bằng Captcha, chống lụt dữ liệu bằng cách giới hạn thời gian gửi dữ liệu Hệ thống cho phép theo dõi, ghi nhận các thông số của máy tính truy cập đến site nhƣ: Hệ điều hành, Trình duyệt, quốc gia, các liên kết đến site (referer) để từ đó có thể kịp thời ngăn ngừa các nguy cơ tấn công bằng các hình thức nhƣ: kiểm tra và chặn các máy tình dùng proxy, chặn IP truy cập Hệ thống sẽ ghi nhận truy cập giúp ngƣời quản trị cũng nhƣ các thành viên dễ dàng phát hiện ra những đăng nhập bất hợp pháp từ lần đăng nhập trƣớc đó. Hệ thống có tích hợp tƣờng lửa mạnh, giúp chống các truy cập bất hợp pháp vào khu vực admin và vào site. Hệ thống có thể phát hiện các bản nâng cấp mới của phần mềm để nhắc nhở ngƣời sử dụng nâng cấp và sửa chữa các lỗi (nếu có). 8. Quản lý CSDL NukeViet 3 cho phép quản lý CSDL, ngƣời sử dụng có thể tối ƣu, sao lƣu trên máy chủ và tải dữ liệu về để phục vụ cho công tác phục hồi nếu xảy ra sự cố. NukeViet 3 cũng tự động sao lƣu dữ liệu hàng ngày, chức năng này có thể đƣợc cấu hình để đảm bảo thiệt hại là tối thiểu khi xảy ra tấn công. 9. Kiểm soát lỗi tự động và báo lỗi thông minh NukeViet 3.0 có hệ thống kiểm soát lỗi tự động và báo lỗi cho ngƣời dùng. Các lỗi (nếu có) sẽ đƣợc hệ thống kiểm soát có chủ đích, nó chỉ hiển thị lên màn hình ngƣời sử dụng ở lần đầu nó xuất hiện, sau đó hệ thống ghi nhận và báo về cho ngƣời quản trị qua email. 10. Tối ƣu hóa cho công cụ tìm kiếm (SEO) Hỗ trợ SEO link. Đồng Văn Thắng – Lớp CT1301 30
  36. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng Quản lý và tùy biến tiêu đề site. Hỗ trợ quản lý các thẻ meta nhƣ: keywords, description. Hỗ trợ sử dụng keywords để phát sinh trang thống kê một cách tự động nhờ công cụ tìm kiếm. Có đầy đủ các công cụ hỗ trợ ping dữ liệu đến các máy chủ tìm kiếm. Hỗ trợ tạo sitemap cho các máy chủ tìm kiếm. 11. Sẵn sàng cho việc tích hợp các ứng dụng của bên thứ 3 NukeViet 3.0 sử dụng Cơ sở dữ liệu thành viên độc lập và xây dựng sẵn các phƣơng thức kết nối với các ứng dụng Forum. Cơ sở dữ liệu thành viên độc lập giúp việc quản lý thành viên đƣợc chủ động, khi có nhu cầu kết nối hoặc trao quyền quản lý cho các ứng dụng từ bên thứ 3, NukeViet 3.0 vẫn hoàn toàn chủ động với dữ liệu thành viên của mình. Với NukeViet 3.0, các kết nối trực tiếp dành cho Forum nhƣ PHPBB hay VBB đều sẵn sàng. 12. Hỗ trợ Đăng nhập phân tán NukeViet hỗ trợ OpenID, cho phép ngƣời truy cập có thể đăng nhập phân tán từ các hệ thống nhƣ Yahoo và Google hay các hệ thống OpenID khác giúp các website mới xây dựng có cơ hội thu hút lƣợng ngƣời sử dụng khổng lồ từ các hệ thống lớn. Trong mọi trƣờng hợp, hệ thống cho phép admin kiểm duyệt việc login openid. Tùy nhu cầu sử dụng mà có thể thiết đặt mức độ login cao nhất (tự động) tới mức độ vẫn phải đăng ký thành viên (bớt bƣớc kích hoạt qua email). Ngƣời sử dụng cũng có thể quản lý nhiều tài khoản openid để từ đó có thể đăng nhập bằng tài khoản bất kỳ (nếu hệ thống cho phép). 13. Trình soạn thảo tích hợp sẵn: Tại những vị trí phù hợp, NukeViet tích hợp sẵn bộ gõ tiếng Việt AVIM cũng nhƣ tích hợp sẵn và cho phép tùy chọn các trình soạn thảo giúp ngƣời sử dụng dễ dàng biên tập nội dung trên giao diện trực quan và thân thiện nhƣ làm việc với phần mềm Microsoft Word hay OpenOffice. 14. Các tiện ích khác Hệ thống cho phép gửi mail bằng các phƣơng thức: SMTP, Linux Mail, PHPmail. Cho phép sử dụng phƣơng thức FTP để ghi file nếu máy chủ không cho phép làm điều đó bằng PHP. Đồng Văn Thắng – Lớp CT1301 31
  37. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng Cho phép xây dựng và quản lý các tác vụ xử lý tự động nhƣ tự động sao lƣu CSDL, tự động xóa các dữ liệu cũ hoặc gửi báo lỗi tới ngƣời quản trị Cung cấp đầy đủ các thông tin về hệ thống giúp nhà phát triển dễ dàng sử dụng các thông tin này phục vụ cho việc lập trình, kiểm tra và báo lỗi hệ thống. Nâng cấp và cài đặt tự động đƣợc tự động hoá ở mức cao. Cùng nhiều tính năng khác liên tục đƣợc bổ sung trong quá trình phát triển mà ngƣời sd có thể tham khảo tại website 1.9.5. Các Module tích hợp sẵn trong Nuke Viet 3.0 1. Giới thiệu (module About) Module about là mô hình cho phép ngƣời quản trị tạo ra các bài viết đơn lẻ. thƣờng đƣợc sử dụng để đăng các bài viết giới thiệu, không mang tính thời sự. Các tính năng của module này gồm có: - Tạo nhiều bài viết. - Sắp xếp thứ tự bài viết. - Cho hiển thị hoặc ẩn 1 bài viết. - Module cho phép tạo module ảo. 2. Quản trị và xuất bản Tin tức (module News) Hệ thống tin tức của NukeViet là hệ thống quản trị tin tức chuyên nghiệp đặc biệt phù hợp để bạn tạo các trang thông tin của các sở ban ngành cũng nhƣ các trang thông tin kinh tế, văn hóa xã hội module cho phép xử lý nhiều tác vụ nền thông minh mà không cần ngƣời sử dụng can thiệp nhằm tối ƣu cho hệ thống tin tức, Ví dụ: tạo hình thu nhỏ, tự động chia thƣ mục và sắp xếp hình vào các thƣ mục theo thời gian Các tính năng chính của module News gồm có: - Quản lý chủ đề đa cấp trong đó bản tin có thể nằm ở 1 hoặc nhiều chủ đề không phụ thuộc quan hệ cha con giữa các chủ đề. - Quản lý nhóm tin liên quan (phân luồn tin theo dòng đơn). - Quản lý block tin (nhóm tin đa luồng). - Quản lý nguồn tin. - Quản lý bình luận. - Tùy chỉnh bố cục trang tin. - Gửi bài viết, hẹn giờ đăng và nhiều tùy chỉnh khác: cho phép gửi bản tin, in, lƣu bản tin. Đồng Văn Thắng – Lớp CT1301 32
  38. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng - Cấp tin RSS 3. Quản lý thành viên (module User) Module này cho phép bạn quản lý tất cả ngƣời dùng trên hệ thống một cách tập trung. Các chức năng gồm có: - Quản lý việc đăng nhập, đăng ký. - Quản lý phƣơng thức đăng nhập: Qua openid hoặc đăng nhập trực tiếp. - Quản lý câu hỏi bảo mật. - Quản lý nội quy. - Quản lý thông tin thành viên. - Quản lý thông tin thành viên và các nhóm thành viên. - Hỗ trợ việc tích hợp các diễn đàn nhƣ phpbb, vbulletin để các thành viên của site có thể dùng chung tài khoản và đăng nhập 1 lần giữa portal và diễn đàn. 4. Quản lý liên hệ gửi đến website (module Contact) - Bạn đăng tải các thông tin để ngƣời truy cập có thể liên hệ với đơn vị bạn qua các hình thức: Email, điện thoại, trực tiếp. - Ngoài ngƣời truy cập có thể liên hệ qua form liên hệ trực tuyến, các thông tin khách hàng liên hệ bạn có thể xem trong phần quản trị website, hệ thống cũng gửi một email để thông báo cho bạn về nội dung khách hàng đã liên hệ. - Ngƣời quản trị: Quản lý các bộ phận tiếp nhận liên hệ, Quản lý và trả lời các thƣ gửi tới đã đƣợc phân quyền. - Module cho phép tạo module ảo. 5. Quản lý thăm dò ý kiến (module Voting) Bạn sử dụng module này để tạo ra các bình chọn trên website, ngƣời truy cập có thể xem kết quả bình chọn hoặc tham gia bình chọn. Các bình chọn có thể thêm vào bất kỳ vị trí nào trên website. 6. Quản lý quảng cáo chuyên nghiệp (module Banners) Công cụ này giúp bạn thiết lập các banner quảng cáo dƣới dạng hình ảnh, flash để quảng cáo cho các sản phẩm của bạn hoặc đặt liên kết đến đối tác, website liên kết. Ngoài ra module cho phép xây dựng hệ thống quảng cáo chuyên nghiệp nhờ chức năng Quản lý các khu vực quảng cáo, Quản lý khách hàng, giúp bạn và đối tác Đồng Văn Thắng – Lớp CT1301 33
  39. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng quảng cáo thống kê hiệu quả của quảng cáo thông qua các chỉ số về lƣợt click, thiết lập vị trí hiển thị, cách hiển thị 7. Quản lý tệp tin ngƣời dùng tải về (module Dowload) Module này giúp xây dựng một thƣ viện tệp tin, đồng thời giúp quản lý việc các tệp tin đƣợc ngƣời sử dụng tải về nhƣ thế nào. Các chức năng chính gồm có: - Quản lý thƣ mục đa cấp, phân quyền tải tệp tin. - Quản lý tệp tin. - Đếm lƣợt tải file. - Quản lý bình luận. - Kiểm duyệt file gửi tới. - Quản lý bình luận cho file. - Quản lý báo lỗi file. - Cấp RSS. 8. Quản lý liên kết (module Weblinks) Module này giúp xây dựng một thƣ viện các website mà khách hàng của bạn có thể quan tâm hoặc đơn giản là bạn có thể sử dụng và quản lý nhƣ một thƣ viện cho riêng mình. Các chức năng chính của module gồm có: - Quản lý chủ đề đa cấp. - Quản lý liên kết, đếm lƣợt truy cập. - Quản lý báo cáo về liên kết: lỗi, liên kết xấu 9. Thống kê truy cập (module Statistics) Module thống kê lƣợt truy cập vào website, số lƣợng ngƣời dùng đang online trên website. Các nội dung thống kê gồm có: - Thống kê theo năm, tháng, ngày, tuần, giờ. - Theo liên kết đến site. - Theo quốc gia. - Theo trình duyệt. - Theo hệ điều hành. - Máy chủ tìm kiếm. 10. Các câu hỏi thƣờng gặp (module FAQ) Đồng Văn Thắng – Lớp CT1301 34
  40. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng Module này cho phép đăng tải các thông tin hỗ trợ ngƣời truy cập website, cho phép tổ chức nội dung theo danh mục, mỗi danh mục có thể đăng nhiều chủ đề trợ giúp khác nhau. Các chức năng chính: - Tạo chủ đề đa cấp. - Tạo các câu hỏi và câu trả lời. 11. RSS (module RSS) Module RSS giúp tổ chức và liệt kê các nguồn cấp RSS của site một cách tự động. Các nguồn RSS này có thể giúp website phát tán tin tức lên các hệ thống khác một cách nhanh chóng và thuận tiện. 12. Tìm kiếm (module Search) Module này giúp ngƣời truy cập có thể tìm kiếm dữ liệu trên website một cách nhanh chóng. Các chế độ tìm kiếm gồm có: - Tìm kiếm chung toàn hệ thống. - Tìm kiếm nâng cao từng khu vực. 13. Menu website (module Menu) Module menu có thể giúp thiết lập các loại menu cho website theo cách thức bất kỳ, đáp ứng đƣợc mọi yêu cầu về menu. 14. Gian hàng Online (module Shop) Dự án Phát triển module Shop (trên nền NukeViet 3.0) tích hợp cổng thanh toán điện tử NganLuong.VN giữa Công ty cổ phần phát triển nguồn mở Việt Nam (VINADES.,JSC) và Công ty cổ phần giải pháp phần mềm Hoà Bình (Peacesoft) là dự án nhằm mục tiêu thúc đây thƣơng mại điện tử ở Việt Nam bằng chính sức mạnh của mã nguồn mở. Dự án bắt đầu khởi động vào tháng 10/2010 và đã đƣợc công bố hoàn thành ngày 08/01/2011. Sau thời gian thử nghiệm và tập huấn cho các bên liên quan, bản opensource của dự án đƣợc phát hành cùng ngày với NukeViet 3.1 và đƣợc tích hợp hẳn vào bản phát hành NukeViet 3.2. Hệ thống đƣợc xây dựng với đầy đủ các tính năng cần thiết của một website thƣơng mại điện tử, bao gồm: - Tổ chức trình bày gian hàng theo tác tiêu chí: Loại sản phẩm, nhóm sản phẩm, sản phẩm mới cập nhật - Các tính năng phục vụ xem và chọn hàng: danh mục loại sản phẩm, giỏ hàng, sản phẩm cùng loại, sản phẩm mẫu, sản phẩm xem nhiều nhất Đồng Văn Thắng – Lớp CT1301 35
  41. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng - Đặt hàng: đƣa vào giỏ hàng với những sản phẩm cho phép đặt hàng. - Thanh toán trực tuyến bằng thẻ ATM qua hệ thống thanh toán của NganLuong.VN. - Gửi đơn đặt hàng: thành viên website gửi đơn đặt hàng. - Lịch sử giao dịch: hiển thị lịch sử giao dịch của thành viên. Các chức năng quản trị module bao gồm: - Quản lý đơn vị tiền tệ: cho phép thêm, sửa, xóa các đơn vị tiền tệ. - Quản lý cổng thanh toán tích hợp: cấu hình các cổng thanh toán nếu có sử dụng 1 hoặc nhiều cổng thanh toán trực tuyến: nganluong.vn, baokim.vn, paypal.com - Cấu hình module: thiết lập các thông số cho hệ thống bán hàng. - Quản lý đơn vị sản phẩm: thêm sửa xóa đơn vị sản phẩm (cái, chiếc, con ) - Quản lý danh mục loại sản phẩm: thêm, sửa, xóa danh mục loại sản phẩm - Quản lý nhóm sản phẩm (theo tiêu chí): thêm, sửa, xóa các nhóm sản phẩm. - Quản lý các block (nhóm sản phẩm). - Quản lý danh sách hãng sản xuất. - Quản lý danh sách các sản phẩm: thêm, sửa, xóa, tìm kiếm sản phẩm. - Quản lý đơn đặt hàng và in hóa đơn. 1.9.6. Các tính năng quản trị của Nukeviet 3.0 1. Thông tin hệ thống - Cấu hình site. - Cấu hình PHP. - Tiện ích mở rộng. - Các biến môi trƣờng. - Các biến tiền định. - Nhật ký hệ thống. 2. Quản lý ngƣời quản trị - Thêm Quản trị. - Cấu hình. Đồng Văn Thắng – Lớp CT1301 36
  42. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng 3. Quản lý CSDL - Backup CSDL. - Cấu hình backup. 4. Cấu hình - Cấu hình theo ngôn ngữ. - Cấu hình chung. - Tiến trình tự động. - Cấu hình SMTP. - Cấu hình FTP. - Máy chủ tìm kiếm. - Quản lý IP cấm. - Cấu hình upload. - Kiểm tra phiên bản. 5. Công cụ web - Dọn dẹp hệ thống. - Chuẩn đoán site. - Hạng site theo từ khóa. - Sitemap Ping. - Kiểm tra phiên bản. - Cập nhật theo Revision. - Cấu hình. 6. Ngôn ngữ - Ngôn ngữ data. - Ngôn ngữ giao diện. - Tạo ngôn ngữ giao diện. - Kiểm tra ngôn ngữ. - Cấu hình. 7. Quản lý Modules Đồng Văn Thắng – Lớp CT1301 37
  43. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng - Thiết lập module. - Thêm module ảo. - Cài đặt tự động. 8. Quản lý giao diện - Thiết lập layout. - Quản lý block. - Sao chép block. - Thêm block. - Cài đặt theme. 9. Quản lý file tải lên - Upload hình (ảnh, flash và các loại tệp tin đƣợc cấp phép) từ máy tính hoặc một địa chỉ bất kỳ trên mạng. - Quản lý: Di chuyển, đổi tên, sửa, xóa, tạo hình thu nhỏ Đồng Văn Thắng – Lớp CT1301 38
  44. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng CHƢƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 2.1. Yêu cầu bài toán đặt ra Một cửa hàng bán sữa cần xây dựng 1 website bán sữa. Cửa hàng yêu cầu Hệ thống có các chức năng nhƣ sau: a. Quản Trị: - Ngƣời quản trị cập nhật danh sách. - Cập nhật thông tin sản phẩm cửa hàng đã nhập. - Cập nhật, xác nhận các đơn hàng. - Thống kê báo cáo. b. Nhập hàng: - Hàng hóa đƣợc nhập từ các nhà cung cấp theo lô hoặc số lƣợng nhỏ. - Khi nhập về đƣợc thủ kho ghi lại vào sổ kho. c. Đặt hàng: Khách hàng tham quan website, xem, lựa chọn mặt hàng. Nếu mua hàng khách đăng nhập để tiến hành đặt hàng. Khách hàng có thể xóa mặt hàng không muốn mua ra khỏi giỏ hàng của họ. Nếu đặt hàng thành công hàng sẽ đƣợc giao cho khách hàng. d. Bán hàng: Hàng ngày, ngƣời quản trị kiểm tra các đơn đặt hàng và giao các đơn hàng hợp lệ cho bộ phận bán hàng. Bộ phận bán hàng nhận đơn hàng và phiếu xuất kho giao cho nhân viên giao hàng. Nhân viên giao hàng nhận hàng tại kho rồi giao hàng theo địa chỉ khách hàng. Nếu giao hàng thành công, nhân viên giao hàng sẽ gửi hóa đơn cho khách hàng và nhận tiền. Nhân viên giao lại hóa đơn và tiền cho bộ phận bán hàng. Nếu giao hàng không thành công, nhân viên giao hàng sẽ báo cáo lại cho bộ phận bán hàng và trả lại hàng. Đồng Văn Thắng – Lớp CT1301 39
  45. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng 2.2. Phân tích bài toán 2.2.1. Đối tƣợng sử dụng Có 3 đối tƣợng sử dụng hệ thống: - Khách: Là những ngƣời vào xem sản phẩm, xem giá nhƣng chƣa đăng ký thành viên. - Thành viên: Là những ngƣời đã đăng ký vào hệ thống, có quyền xem hàng, chọn hàng, mua hàng, thay đổi thông tin cá nhân - Ngƣời quản trị: Là ngƣời có toàn quyền trong việc kiểm soát và quản trị hệ thống website. Hoạt động của từng đối tƣợng: Khách vãng lai - Tìm kiếm sản phẩm mình quan tâm - Đăng ký làm thành viên hệ thống - Xem thông tin chi tiết và hình ảnh về sản phẩm Thành viên - Đăng nhập và thoát khỏi hệ thống - Thay đổi thông tin cá nhân - Lấy lại mật khẩu khi quên mật khẩu - Tìm kiếm và xem thông tin chi tiết về sản phẩm - Đặt hàng, xem giỏ hàng và thanh toán Người quản trị - Quản lý thành viên + Tìm thành viên + Thêm thành viên + Xóa thành viên - Quản lý sản phẩm + Tìm kiếm sản phẩm + Thêm sản phẩm + Sửa sản phẩm Đồng Văn Thắng – Lớp CT1301 40
  46. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng + Xóa sản phẩm + Ẩn sản phẩm - Quản lý đơn đặt hàng + Xem đơn đặt hàng + Xóa đơn đặt hàng Đồng Văn Thắng – Lớp CT1301 41
  47. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng 2.2.2. Sơ đồ tiến trình nghiệp vụ a. Quản trị: Ngƣời quản trị HSDL Lựa chọn Cập nhật hàng Danh sách hàng chức năng Lựa chọn Cập nhật danh Danh sách nhân chức năng sách nhân viên viên Thống kê/ Báo Danh sách hàng cáo nhập Danh sách hàng bán Danh sách khách hàng Thống kê đơn hàng Hình 2.2.2. 1 Sơ đồ tiến trình nghiệp vụ quản trị Đồng Văn Thắng – Lớp CT1301 42
  48. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng b. Nhập hàng Thủ kho Nhà cung cấp HSDL Yêu cầu Xác nhận Đơn nhập hàng nhập hàng đơn hàng Chuyển Danh sách hàng hàng Nhập hàng Danh sách hàng nhập Hình 2.2.2. 2 Sơ đồ tiến trình nghiệp vụ nhập hàng Đồng Văn Thắng – Lớp CT1301 43
  49. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng c. Đặt hàng Khách Hàng Kinh Doanh HSDL Danh sách Đăng nhập khách hàng hệ thống Danh sách hàng Lựa chọn đặt hàng Đặt hàng Nhập đơn hàng Đơn đặt hàng Hình 2.2.2. 3 Sơ đồ tiến trình nghiệp vụ đặt hàng Đồng Văn Thắng – Lớp CT1301 44
  50. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng d. Bán hàng Khách Kinh Doanh Bộ phận bán hàng HSDL Xác nhận Đơn đặt hàng đơn hàng Lập hóa Phiếu giao hàng đơn Kiêm phiếu xuất kho Xuất kho Giao hàng Danh sách hàng bán Nhận hàng/trả tiền Nộp tiền,sử lý sự cố Hình 2.2.2. 4 Sơ đồ tiến trình nghiệp vụ bán hàng Đồng Văn Thắng – Lớp CT1301 45
  51. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng 2.2.3. Biểu đồ phân rã chức năng HỆ THỐNG 1.Quản Trị 2.Nhập hàng 3. Bán Hàng 4.Đặt Hàng 1.1 Cập nhập 2.1 Yêu cầu nhập 3.1 Kiểm tra đơn 4.1 Đăng nhập thông tin hàng hàng hàng 1.2 Cập nhập 2.2 Xác nhận đơn 3.2 Cập nhập đơn 4.2 Lựa chọn nhân viên hàng hàng hàng 1.3 Thống kê/Báo 2.3 Nhập hàng 3.3 Lập hóa đơn 4.3 Lập đơn đặt cáo hàng 3.4 Xuất kho,giao 4.4 Nhận đơn hàng hàng Hình 2.2.3. 1 Biểu đồ phân rã chức năng hệ thống Đồng Văn Thắng – Lớp CT1301 46
  52. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng 2.2.4. Ma trận thực thể Danh sách hồ sơ sử dụng đƣợc ký hiệu: a. Danh sách hàng b. Đơn đặt hàng c. Danh sách khách hàng d. Danh sách nhân viên e. Thống kê đơn hàng f. Danh sách hàng bán g. Phiếu giao hàng,xuất kho h. Danh sách hàng đặt i. Đơn hàng nhập k. Danh sách hàng nhập Đồng Văn Thắng – Lớp CT1301 47
  53. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng Ma trận thực thể Các thực thể chức năng a. Danh sách hàng b. Đơn đặt hàng c. Danh sách khách hàng d. Danh sách nhân viên e. Thống kê đơn hàng f. Danh sách hàng bán g. Phiếu giao hàng,xuất kho h. Danh sách hàng đặt i.Đơn hàng nhập k. Danh sách hàng nhập Các chức năng nghiệp vụ a b c d e f g h i k 1.Quản trị C U U U U U 2.Nhập hàng R C C 3.Bán hàng R C C 4.Đặt hàng C R C C Hình 2.2.4. 1 Ma trận thực thể chức năng của hệ thống Đồng Văn Thắng – Lớp CT1301 48
  54. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng 2.2.5. Sơ đồ mức ngữ cảnh 0 Giao hàng Xem hàng HỆ THỐNG KHÁCH NHÀ CUNG CẤP BÁN SỮA Y/c nhập hàng VÃNG LAI Thông tin hàng Xác nhận đơn hàng Xác nh t hàng t ậ ặ n đơn hàng Đ THÀNH VIÊN Hình 2.2.5. 1 Sơ đồ ngữ cảnh Đồng Văn Thắng – Lớp CT1301 49
  55. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng 2.2.6. Sơ đồ luồng dữ liệu a. Sơ đồ luồng mức 0 a Danh sách hàng 4.0 Tên mặt hàng,số lƣợng Đặt hàng h Danh sách hàng đặt KHÁCH HÀNG Đăng nhập hệ thống ĐẶT HÀNG b Đơn đặt hàng Xác nhận đơn hàng Y/c in hóa đơn c Danh sách khách hàng Y/c in phiếu giao hàng 3.0 NHÂN VIÊN b Đơn đặt hàng Đi giao hàng BÁN HÀNG g Phiếu giao hàng,xuất kho Yêu cầu cập nhật đơn hàng f Danh sách hàng bán Yêu cầu nhập hàng Đơn nhập hàng 2.0 i NHÀ CUNG CẤP Gửi đơn hàng nhập k Danh sách hàng nhập NHẬP HÀNG Xác nhận đơn hàng a Danh sách hàng Mặt hàng Nhập kho f Danh sách hàng bán Danh sách nhân viên a Danh sách hàng NHÂN VIÊN 1.0 b Đơn đặt hàng Yêu cầu thống kê QUẢN TRỊ c Danh sách khách hàng Thống kê e Thống kê đơn hàng Mặt hàng Hình 2.2.6. 1 Sơ đồ luồng mức 0 của hệ thống Đồng Văn Thắng – Lớp CT1301 50
  56. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng b. Sơ đồ luồng dữ liệu mức 1 Sơ đồ luồng dữ liệu tiến trình: QUẢN TRỊ 1.1 Danh sách hàng CẬP NHẬT DANH SÁCH a MẶT HÀNG Mặt hàng NHÂN VIÊN a Danh sách hàng Yêu cầu thống kê Danh sách nhân viên Thống kê d Danh sách nhân viên f Danh sách hàng bán 1.2 1.3 c Danh sách khách hàng CẬP NHẬT THỐNG DANH SÁCH d Danh sách nhân viên KÊ/BÁO CÁO b Đơn đặt hàng NHÂN VIÊN k Danh sách hàng nhập Hình 2.2.6. 2 Sơ đồ luồng dữ liệu của tiến trình quản trị Đồng Văn Thắng – Lớp CT1301 51
  57. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng Sơ đồ luồng dữ liệu tiến trình :NHẬP HÀNG Xác nhận đơn hàng NHÂN VIÊN 2.1 Y/c nhập hàng Xác nhận đơn hàng KIỂM TRA ĐƠN HÀNG Nhập kho NHÀ CUNG CẤP i Đơn hàng nhập 2.1 Mặt hàng 2.1 Giao hàng KIỂM TRA HÀNG LẬP PHIẾU,GIAO HÀNG i Đơn hàng nhập a Danh sách hàng k Danh sách hàng nhập Hình 2.2.6. 3 Sơ đồ luồng dữ liệu của tiến trình nhập hàng Đồng Văn Thắng – Lớp CT1301 52
  58. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng Sơ đồ luồng dữ liều tiền trình: BÁN HÀNG 2.1 b Đơn đặt hàng KIỂM TRA ĐƠN Đơn hàng sai HÀNG Yêu cầu xác thực Đơn hàng đúng Yêu cầu cập nhật đơn hàng NHÂN VIÊN Y/c lập phiếu 2.3 giao hàng LẬP PHIẾU GIAO c Danh sách khách hàng HÀNG 2.2 a Danh sách hàng g Phiếu giao hàng,xuất CẬP NHẬT ĐƠN kho HÀNG f Danh sách hàng bán b Đơn đặt hàng Hình 2.2.6. 4 Sơ đồ luồng dữ liệu của tiến trình bán hàng Đồng Văn Thắng – Lớp CT1301 53
  59. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng Sơ đồ luồng dữ liệu tiến trình: ĐẶT HÀNG 1.1 LỰA CHỌN MẶT HÀNG 1.2 M Mặt hàng Số lƣợng ặ CẬP NHẬT GIỎ t hàng mặt hàng HÀNG Số lƣợng Số Xác nhận đơn hàng KHÁCH HÀNG mặt hàng lƣợng M ặ mặt t hàng hàng 1.3 c Danh sách khách hàng Đăng nhập a Danh sách hàng LẬP ĐƠN HÀNG Đơn hàng 1.4 b Đơn đặt hàng GỬI ĐƠN HÀNG h Danh sách hàng đặt Hình 2.2.6. 5 Sơ đồ luồng dữ liệu của tiến trình đặt hàng Đồng Văn Thắng – Lớp CT1301 54
  60. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng 2.3. Xây dựng cơ sở dữ liệu 2.3.1. Thực thể khách hàng – Thành viên tenkh makh diachi KHÁCH HÀNG email sodt Hình 2.3. 1 Thực thể khách hàng Thuộc Tính Mô Tả Makh Mã khách hàng Tenkh Tên khách hàng Diachi Địa chỉ Sodt Số điện thoại Email Email Đồng Văn Thắng – Lớp CT1301 55
  61. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng 2.3.2. Thực thể hàng tenhang mota ma hang HÀNG dongia soluong Hình 2.3. 2 Thực thể Hàng Thuộc Tính Mô Tả mahang Mã hàng tenhang Tên hàng Soluong Số lƣợng hàng hiện còn Dongia Đơn giá hàng mota Mô tả Đồng Văn Thắng – Lớp CT1301 56
  62. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng 2.3.3. Thực thể nhân viên tennv sodt manv email NHÂN VIÊN diachi Hình 2.3. 3 Thực thể nhân viên Thuộc Tính Mô Tả manv Mã nhân viên tennv Họ tên nhân viên diachi Địa chỉ sodt Số điện thoại email Email 2.3.4. Thực thể loại maloai LOẠI tenloai Hình 2.3. 4 Thực thể loại Thuộc Tính Mô Tả maloai Mã loại tenloai Tên loại Đồng Văn Thắng – Lớp CT1301 57
  63. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng 2.4. Thiết kế hệ thống 2.4.1. Xác định các liên kết 1 Cập HÀNGn NHÂN VIÊN nhật thông tin 1 Giao n NHÂN VIÊN HÀNG n Thuộc HÀNG LOẠI Cập nhật NHÂN VIÊN danh sách n Đặt KHÁCH HÀNG Nhận n KHÁCH HÀNG Đồng Văn Thắng – Lớp CT1301 58
  64. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng 2.4.2. Mô Hình ER makh diachi mahoadon tenkh email ngaygiao n KHÁCH HÀNG 1 trangthai madonhang Giao sodt ngaydat madonhang Cập nhật soluong Đặt danh sách thanhtien diachi dongia ngaycapn 1 n n m 1 Cập nhật 1 HÀNG NHÂN VIÊN mahang n thông tin sodt n mota tenhang email tennv soluong macapnhat tenloai manv 1 Thuộc LOẠI maloai Hình 2.4. 1 Mô hình ER Đồng Văn Thắng – Lớp CT1301 59
  65. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng 2.4.3. Chuyển từ mô hình ER sang mô hình quan hệ - Biểu diễn các thực thể KHÁCH HÀNG KHÁCH HÀNG(makh, tenkh, diachi, sodt,email) HÀNG HÀNG( mahang,tenhang,dongia,soluong,mota,maloai) LOẠI LOẠI( maloai,tenloai) NHÂN VIÊN NHÂN VIÊN( manv,tennv,email,diachi,sod) - Biểu diễn các mối quan hệ Đặt THÔNG TIN(madonhang,ngaydat,soluong,thanhtien,makh, mahang) Giao HÓA ĐƠN( mahoadon, ngaylap, madonhang, manv,trangthai) Cập nhật thông tin CẬP NHẬT HÀNG ( macapnhat, ngaycapn, mahang, manv) Đồng Văn Thắng – Lớp CT1301 60
  66. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng - Các bảng KHÁCH HÀNG makh tenkh diachi sodt email Tƣơng ứng với bảng: “nv3_users” trong chƣơng trình. userid full_name location telehone email HÀNG mahang tenhang dongia soluong mota maloai Tƣơng ứng với bảng: “nv3_shops_rows” trong chƣơng trình. product_code vi_title product_price product_number vi_keywork liscatid NHÂN VIÊN manv tennv email diachi sodt Tƣơng ứng với bảng: “nv3_users” trong chƣơng trình. user full_name email location telephone LOẠI maloai tenloai Đồng Văn Thắng – Lớp CT1301 61
  67. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng Tƣơng ứng với bảng: “nv3_shops_catalogs” trong chƣơng trình. catid vi_title ĐƠN ĐẶT HÀNG madonhang ngaydat soluong thanhtien mahang makh Tƣơng ứng với bảng: “nv3_shops_order” trong chƣơng trình. order_id order_time litstnum order_total order_code userid HÓA ĐƠN mahoadon ngaylap trangthai madonhang manv makh mahang Tƣơng ứng với bảng: “nv3_shop_ transaction” trong chƣơng trình. transaction_id transaction_time transaction_tatus order_id userid userid order_id THÔNG TIN macapnhat ngaycapn mahang manv Tƣơng ứng với bảng: “nv3_shops_rows” trong chƣơng trình. id addtime product_code userid Đồng Văn Thắng – Lớp CT1301 62
  68. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng 2.4.4. Mô hình quan hệ KHÁCH HÀNG HÓA ĐƠN NHÂN VIÊN #makh #mahoadon #manv tenkh ngaygiao tennv diachi trangthai email sodt madonhang diachi email manv sodt makh mahang ĐƠN ĐẶT HÀNG HÀNG #madonhang #mahang THÔNG TIN ngaydat tenhang #macapnhat soluong dongia ngaycapnhat thanhtien soluong manv makh mota mahang mahang maloai LOẠI #maloai tenloai Hình 2.4. 2 Mô hình quan hệ Đồng Văn Thắng – Lớp CT1301 63
  69. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng 2.4.5. Thiết kế các bảng dữ liệu: Để thiết kế các bảng dữ liệu dƣới đây ta dùng hệ quản trị cơ sở dữ liệu MySQL. Bảng Khách hàng: Là bảng lƣu thông tin của khách hàng, thông tin lƣu trữ bao gồm: Tên Trƣờng Kiểu Dữ Liệu Ghi Chú makh VARCHAR (20) Mã khách hàng tenkh NVARCHAR (40) Tên khách hàng diachi NVARCHAR (200) Địa chỉ KH sodt VARCHAR (12) Số Điện Thoại email VARCHAR (35) Email - Bảng Hàng: Là bảng lƣu thông tin của hàng, thông tin lƣu trữ gồm: Tên Trƣờng Kiểu Dữ Liệu Ghi Chú mahang VARCHAR (20) Mã hàng tenhang NVARCHAR (50) Tên hàng dongia FLOAT Đơn giá soluong INT Số lƣợng mota NVARCHAR (2000) Mô Tả maloai VARCHAR (20) Mã Loại - Bảng Loại: Là bảng lƣu thông tin của loại hàng, thông tin lƣu trữ gồm: Tên Trƣờng Kiểu Dữ Liệu Ghi Chú maloai VARCHAR (20) Mã Loại tenloai NVARCHAR (50) Tên Loại Đồng Văn Thắng – Lớp CT1301 64
  70. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng - Bảng Nhân viên: Là bảng lƣu thông tin của nhân viên, thông tin lƣu trữ gồm: Tên Trƣờng Kiểu Dữ Liệu Ghi Chú manv VARCHAR (20) Mã nhân viên tennv NVARCHAR (40) Tên nhân viên email VARCHAR (35) Email diachi NVARCHAR (200) Địa chỉ sodt VARCHAR (13) Số điện thoại - Bảng Hóa đơn: Là bảng lƣu thông tin các hóa đơn, thông tin lƣu trữ gồm: Tên Trƣờng Kiểu Dữ Liệu Ghi Chú mahoadon VARCHAR(20) Mã Hóa Đơn ngaygiao DATE Ngày Lập trangthai NVARCHAR (20) Trạng thái madonhang VARCHAR(20) Mã đơn hàng manv VARCHAR (20) Mã nhân viên makh VARCHAR (20) Mã khách hàng mahang VARCHAR (20) Mã hàng Đồng Văn Thắng – Lớp CT1301 65
  71. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng Bảng Đơn đặt hàng: Là bảng lƣu thông tin các đơn đặt hàng, thông tin gồm: Tên Trƣờng Kiểu Dữ Liệu Ghi Chú madonhang VARCHAR (20) Mã Đơn Đặt Hàng ngaydat DATE Ngày Lập soluong INT Số lƣợng thanhtien FLOAT Thành tiền makh VARCHAR (20) Mã khách hàng mahang VARCHAR (20) Mã hàng Bảng Thông Tin: Là bảng lƣu lại thông tin cập nhật hàng, thông tin gồm: Tên Trƣờng Kiểu Dữ Liệu Ghi Chú macapnhat INT Mã Đơn Đặt Hàng ngaycapnhat DATE Ngày Lập mahang DATE Ngày nhận hàng manv VARCHAR (20) Mã hàng Đồng Văn Thắng – Lớp CT1301 66
  72. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng CHƢƠNG 3: THỰC NGHIỆM HỆ THỐNG BÁN SỮA Qua phân tích các yêu cầu của bài toán đề ra. Em thấy phần mềm mã nguồn mở NukeViet đáp ứng đầy đủ yêu cầu của bài toán, nên em đã chọn phần mềm NukeViet để xây dựng chƣơng trình. 3.1. Cài đặt chƣơng trình Yêu cầu bắt buộc Hệ điều hành: Windows PHP: PHP 5.2 hoặc phiên bản mới nhất. MySQL: MySQL 5.02 hoặc phiên bản mới nhất. Tùy chọn bổ sung Sử dụng Xamp để tạo thệ thống webserver trên máy cá nhân. 3.2. Một số giao diện chính a. Giao diện trang nhất của Website gồm các menu và các sản phẩm của cửa hàng sữa. Hình 3.2. 1 Giao diện trang nhất Đồng Văn Thắng – Lớp CT1301 67
  73. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng b. Giao diện chi tiết sản phẩm cần xem. Hình 3.2. 2 Giao diện chi tiết sản phẩm c. Giao diện chi tiết tin khuyến mại. Hình 3.2. 3 Giao diện tin khuyến mại Đồng Văn Thắng – Lớp CT1301 68
  74. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng d. Giao diện chức năng cập nhật sản phẩm của quản trị viên. Hình 3.2. 4 Giao diện chức năng cập nhật sản phẩm e. Giao diện chức năng đăng ký thành viên cho khách hàng Hình 3.2. 5 Giao diện chức năng đăng ký thành viên Đồng Văn Thắng – Lớp CT1301 69
  75. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng f. Giao diện chức năng đặt hàng cho thành viên Hình 3.2. 6 Giao diện chức năng đặt hàng Đồng Văn Thắng – Lớp CT1301 70
  76. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng KẾT LUẬN Đồ án xây dựng một hệ thống Website quản lý bán sữa Qua quá trình thực hiện đồ án, em đã tổng hợp lại đƣợc các kiến thức trong thời gian đã học tại Trƣờng. Đồng thời, em đã tìm hiểu và nắm đƣợc quy trình xây dựng hệ thống thông tin quản lý, có thể chủ động trong việc tìm kiếm các thông tin để phục vụ công việc. Đồ án cơ bản đã xử lí hết các chức năng theo yêu cầu của Cửa hàng. Vì thời gian có hạn, kinh nghiệm thực tế chƣa nhiều nên việc phân tích bài toán về cơ bản đã thực hiện tƣơng đối đầy đủ, tuy nhiên chƣa mô tả đầy đủ mọi khía cạnh của vấn đề. Xây dựng đƣợc hệ thống nhƣng chỉ với các chức năng chính, có chức năng chƣa đầy đủ, nhiều chức năng có nhƣng chƣa tiện dụng và khá đơn giản. Hƣớng phát triển tiếp theo của đồ án là tích hợp việc thanh toán trực tuyến trên Internet thông qua các nhà cung cấp dịch vụ tại Việt Nam nhƣ: Onepay, SmartLink, Đồng Văn Thắng – Lớp CT1301 71
  77. Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng TÀI LIỆU THAM KHẢO 1. Phạm Hữu Khang – Lập trình web bằng php 5.3 và MySQL 5.1 – NXB Phương Đông. 2. Nguyễn Văn Vỵ - Phân tích và thiết kế hệ thống thông tin quản lý – Khoa học Công nghệ. GPXB – 2008. 3. www.nukeviet.vn Đồng Văn Thắng – Lớp CT1301 72