1. Trang chủ
  2. » Luận Văn - Báo Cáo

nghiên cứu sử dụng drupal để xây dựng website bán hàng

69 1,2K 6

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 69
Dung lượng 3,15 MB

Nội dung

Hình 1 Kiến trúc DrupalHình 2 Nhân Drupal Hình 3 Sơ đồ Use- case Hình 4 Sơ đồ tuần tự cho chức năng đăng nhập Hình 5 Sơ đồ tuần tự cho chức năng quản lý tin tức Hình 6 Sơ đồ tuần tự cho

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

Trang 2

PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP

1 Thông tin về sinh viên:

Họ và tên sinh viên:

Đồ án tốt nghiệp được thực hiện tại: Bộ môn Công nghệ phần mềm

Thời gian làm ĐATN: Từ ngày 24/02/2011 đến 27/05/2011

2 Mục đích nội dung của ĐATN

Nghiên cứu hệ quản trị nội dung mã nguồn mở Drupal và ứng dụng để xây dựng website bán hàng trực tuyến

3 Các nhiệm vụ cụ thể của ĐATN

- Tìm hiểu hệ quản trị mã nguồn mở Drupal về lý thuyết, các thành phần chức năng, cách sử dụng

- Trên cơ sở lý thuyết đã tìm hiểu kết hợp với khảo sát, phân tích thiết kế để ứng dụng vào việc xây dựng website bán hàng trực tuyến

4 Lời cam đoan của sinh viên:

Tôi - cam kết ĐATN là công trình nghiên cứu của bản thân tôi dưới sự hướng dẫn của

Hà Nội, ngày tháng 05 năm 2011

Giáo viên hướng dẫn

TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP

Trang 3

Nội dung đồ án tốt nghiệp bao gồm

Nội dung đồ án tốt nghiệp gồm phần mở đầu , 4 chương và kết luận

Phần mở đầu : Giới thiệu đề tài , xác định mục tiêu , nội dung và phạm vi thực hiện

của đồ án tốt nghiệp

Chương 1 – Tổng quan về Drupal : Giới thiệu tổng quan về hệ quản trị nội dung

CMS, tìm hiểu hệ quản trị Drupal về nguồn gốc , bản chất , kiến trúc , các thành phầnchức năng và phạm vi ứng dụng trong việc xây dựng website

Chương 2 – Khảo sát và đặc tả yêu cầu: nêu các kết quả khảo sát hiện trạng thực tế ,

từ đó đưa ra các đặc tả yêu cầu đối với một website bán hàng trực tuyến, cụ thể làwebsite bán hàng – đồ nội thất

Chương 3 – Phân tích và thiết kế : Trình bày các hồ sơ phân tích , thiết kế và xây

dựng hệ thống

Chương 4 – Cài đặt website : Trình bày các cách cụ thể để cài đặt , xây dựng hệ

thống, các chức năng trong hệ thống

Kết luận : Đánh giá về đồ án, kết quả đạt được và các mặt còn hạn chế , từ đó đưa ra

hướng phát triển hệ thống trong tương lai

ABSTRACT OF THESIS

Trang 4

MỤC LỤC

Trang 5

PHẦN MỞ ĐẦU 1 CHƯƠNG 1 – TỔNG QUAN LÝ THUYẾT VỀ DRUPAL 4

1.1 Tổng quan về hệ quản trị nội dung 4

1.1.1 Khái niệm về hệ quản trị nội dung 4

1.1.2 Đặc điểm 4

1.1.3 Phân loại 5

1.1.4 Một số hệ quản trị nội dung tiêu biểu : 6

1.2 Lý do chọn hệ quản trị Drupal 6

1.3 Tìm hiểu hệ quản trị nội dung – Drupal 8

1.3.1 Khái niệm về Drupal 8

1.3.2 Lịch sử phát triển của Drupal 9

1.3.3 Nền tảng 9

1.3.4 Kiến trúc Drupal 9

1.3.5 Chức năng của các module trong Drupal 12

1.3.6 Một số giải thưởng của Drupal 15

1.3.7 Một số trang web viết bằng Drupal 15

CHƯƠNG 2 – KHẢO SÁT VÀ ĐẶC TẢ YÊU CẦU 17 2.1 Khảo sát yêu cầu của một cửa hàng bán đồ nội thất 17

2.2 Đặc tả yêu cầu 18

2.2.1 Giới thiệu 18

2.2.2 Mô tả tổng thể 19

2.2.3 Các yêu cầu giao tiếp 23

2.2.4 Các yêu cầu phi chức năng 24

CHƯƠNG 3 – PHÂN TÍCH THIẾT KẾ 25 3.1 Sơ đồ Use- case 26 3.2 Phân tích User Case 27

3.2.1 Danh sách các tác nhân của mô hình 27

3.2.2 Đăng ký tài khoản 27

3.2.3 Đăng nhập 28

3.2.4 Tìm kiếm thông tin 29

3.2.4 Xem sản phẩm 29

Trang 6

3.2.5 Xem thông tin 30

3.2.6 Đưa hàng vào giỏ 30

3.2.7 Quản lý giỏ hàng 31

3.2.8 Quản lý sản phẩm 32

3.2.9 Quản lý người dùng 33

3.3 Sơ đồ tuần tự 35

3.3.1 Đăng nhập 35

3.3.2 Quản lý tin tức 36

3.3.3 Quản lý sản phẩm 36

3.3.4 Quản lý người dùng 37

3.3.5 Xem sản phẩm theo danh mục sản phẩm 39

3.3.6 Quản lý giỏ hàng 39

3.3.7 Thanh toán, đặt hàng 40

3.4 Biểu đồ lớp 40

3.5 Tổ chức dữ liệu 41

3.6 Thiết kế giao diện 49

3.6 1.Thiết kế giao diện bên ngoài 49

CHƯƠNG 4 - CÀI ĐẶT WEBSITE 54 4.1 Cài đặt ứng dụng và các modules sử dụng 54

4.1.1 Cài đặt 54

4.1.2 Các modules sử dụng 54

4.2 Hiện thực một số giao diện chính cho website 55

KẾT LUẬN 63 TÀI LIỆU THAM KHẢO 64

DANH MỤC CÁC HÌNH ẢNH

Trang 7

Hình 1 Kiến trúc Drupal

Hình 2 Nhân Drupal

Hình 3 Sơ đồ Use- case

Hình 4 Sơ đồ tuần tự cho chức năng đăng nhập

Hình 5 Sơ đồ tuần tự cho chức năng quản lý tin tức

Hình 6 Sơ đồ tuần tự cho chức năng quản lý sản phẩm

Hình 7 Sơ đồ tuần tự cho chức năng quản lý xóa sửa người dùng

Hình 8 Sơ đồ tuần tự cho chức năng quản lý vai trò người dùng

Hình 9 Sơ đồ tuần tự cho chức năng xem sản phẩm theo danh mục sản phẩmHình 10 Sơ đồ tuần tự cho chức năng quản lý giỏ hàng

Hình 11 Sơ đồ tuần tự cho chức năng thanh toán đặt hàng

Hình 12 Biểu đồ lớp

Hình 13 Sơ đồ thực thể quan hệ

Hình 14 Thiết kế giao diện trang chủ

Hình 15 Thiết kế giao diện giỏ hàng

Hình 16 Sitelink _ Khách hàng chưa có tài khoản

Hình 17 Sitelink _ Khách hàng có tài khoản

Hình 18 Sitemap_ Aministartor _ Người quản lý đăng sản phẩm, bài viếtHình 19 Tranh chủ

Hình 26 Trang báo cáo

Hình 27 Trang quản lý người dùng

Trang 8

PHẦN MỞ ĐẦU

Ngày nay trước sự bùng nổ của hệ thống mạng toàn cầu Internet và những lợi ích

vô cùng to lớn của nó mang lại đã thực sự thu hút và chinh phục con người Sự pháttriển của Internet trên toàn thế giới kéo theo sự ra đời và mở rộng của một thị trườngkhách hàng mới đầy tiềm năng - cộng đồng người sử dụng Internet Do vậy  Internet

đã và đang đem lại cho các doanh nghiệp một cơ hội lớn để có thể bán hàng hóa.Những trang web thương mai điện tử ra đời là minh chứng rõ ràng nhất cho một giảipháp hiệu quả , một hướng đầu tư khôn ngoan, thể hiện sự năng động, bắt kịp thời đại,tính chuyên nghiệp của doanh nghiệp Thông qua các website, các doanh nghiệp có thể

sử dụng internet như một phương tiện truyền thông tốt nhất trong việc quảng bá và tiếpthị hình ảnh của mình một cách sinh động và hiệu quả hơn bất kì một phương tiện đơn

lẻ khác có thể thể đáp ứng được Từ đó nhanh chóng tạo cho mình cơ hội tiếp cận vớikhách hàng trên diện rộng phát triển cơ hội liên kết và hợp tác làm ăn trên phạm vitrong và ngoài nước

Cùng với làn sóng phát triển của thương mại điện tử , là sự phát triển không ngừngcủa các công cụ , ngôn ngữ lập trình web , các hệ quản trị nội dung Hiện tại, cácwebsite được thiết kế trên nền mã nguồn mở như Joomla, Drupal, wordpress đangrấtđược ưa chuộng và thịnh hành Mã nguồn mở đang trở thành một xu hướng mới, mộtngười không biết lập trình cũng có thể thiết kế website động với đầy đủ chức năngthông qua mã nguồn mở Đặc biệt là Drupal – một framework quản trị hệ thốngwebsite ổn định, mạnh mẽ và đầy hứa hẹn - được đánh giá tốt nhất vào năm 2007 và

2008 Sự ổn định và mạnh mẽ đó xuất phát ngay từ trong nhân của nó khiến choDrupal được tin dùng cho các website lớn có lượng người truy cập cao như websitethương mại điển tử, cùng với sự linh hoạt trong nền tảng sẽ giúp cho các lập trình viên

có thể lập trình mở rộng website của họ theo bất kỳ hướng nào, tính năng nào mà hầunhư không gặp khó khăn gì

Mặt khác nhu cầu về cái ăn, cái mặc, chỗ ở là vấn đề không thể thiếu đối với conngười trong mọi thời đại xã hội Trong đó, nhà ở là điều kiện đầu tiên mà con ngườiphải hướng tới trong cuộc sống Căn nhà là nơi mang lại sự an vui thoải mái nhằmkhông ngừng nâng cao đời sống vật chất và tinh thần của con người Căn nhà khôngchỉ đơn thuần là nơi trú ngụ mà nó thực sự là tổ ấm đối với mỗi con người, giúp tathoải mái, tự tin, lấy lại sự bình yên sau những giờ làm việc căng thẳng mệt mỏi.Trong thời đại ngày nay, cuộc sống hằng ngày của chúng ta không chỉ đơn thuần làthỏa mãn nhu cầu vật chất mà còn phải hưởng thụ về tinh thần để từ đó hoàn thiện dầnnhân cách, nâng cao thị hiếu thẩm mỹ và chất lượng sống Và cuộc sống của chúng ta

đa phần diễn lại ra ở bên trong những không gian nội thất, chính vì vậy mà nhu cầu về

đồ nội thất sẽ ngày càng trở nên thiết yếu hơn, khét khe hơn trong đời sống hiện đại Trước những nhu cầu thực tế đó , và sự mạnh mẽ nổi trội của Drupal, em sẽ vậndụng xây dựng Website bán hàg trực tuyến qua mạng _ với sản phẩm là đồ nội thất.Mục đích tạo cơ hội cho doanh nghiệp quản bá sản phẩm ,xây dựng thương hiệu sốcũng như khai thác triệt để nguồn khách hàng và đối tác đến từ mạng lưới internet, tạo

Trang 9

sự thuận tiện , nhanh chóng , an toàn trong giao dịch , buôn bán sản phẩm , mang lại

sự hài lòng cho cả người bán lẫn người mua

Mục tiêu của đề tài là : Tìm hiểu hệ quản trị mã nguồn mở Drupal về lý thuyết , cácthành phần chức năng , thao tác , cấu hình và cách sử dụng Trên cơ sở lý thuyết đãtìm hiểu để ứng dụng và việc xây dựng một website bán hàng qua mạng

Phạm vi đối tượng của đề tài : Website được xây dựng hỗ trợ cho các cá nhân ,công ty , cơ quan , có nhu cầu quảng bá sản phẩm đồ nội thất , cũng như quản lýbuôn bán sản phẩm

Em xin gửi lời cảm ơn chân thành đến tất cả các thầy cô trong trường Đại học BáchKhoa Hà Nội nói chung và các thầy cô trong viện Công Nghệ Thông Tin và TruyềnThông, bộ môn Công Nghệ Phần Mềm nói riêng đã tận tình giảng dạy, truyền đạt cho

em những kiến thức, kinh nghiệm cần thiết và quý báu trong suốt thời gian qua

Đặc biệt em xin tỏ lòng biết ơn sâu sắc tới thầy giáo – Thạc sĩ Đỗ Văn Uy, giảngviên Bộ môn Công nghệ phần mềm, đã hướng dẫn em làm đồ án tốt nghiệp Trongsuốt thời gian thực hiện luận văn thầy luôn tạo điều kiện tốt nhất và tận tình hướngdẫn, giúp đỡ em

Tiếp đến con cũng xin gửi lòng biết ơn sâu sắc đến Ba Mẹ và gia đình đã nuôi dạycon nên người, cảm ơn sự giúp đỡ và những lời động viên quý báu của các bạn bè Cuối cùng, em xin kính chúc các thầy cô luôn luôn mạnh khỏe tiếp tục đạt đượcnhiều thắng lợi trong sự nghiệp nghiên cứu khoa học và sự nghiệp giáo dục vĩ đại củamình

Nội dung đồ án tốt nghiệp gồm phần mở đầu , 4 chương và kết luận

Trang 10

Phần mở đầu : Giới thiệu đề tài , xác định mục tiêu , nội dung và phạm vi thực hiệncủa đồ án tốt nghiệp

Chương 1 – Tổng quan về Drupal : Giới thiệu tổng quan về hệ quản trị nội dung CMS,tìm hiểu hệ quản trị Drupal về nguồn gốc , bản chất , kiến trúc , các thành phần chứcnăng và phạm vi ứng dụng trong việc xây dựng website

Chương 2 – Khảo sát và đặc tả yêu cầu: nêu các kết quả khảo sát hiện trạng thực tế ,

từ đó đưa ra các đặc tả yêu cầu đối với một website thương mai điện tử , cụ thể làwebsite bán hàng – đồ nội thất

Chương 3 – Phân tích và thiết kế : Trình bày các hồ sơ phân tích , thiết kế và xây dựng

Trang 11

CHƯƠNG 1 – TỔNG QUAN LÝ THUYẾT VỀ DRUPAL

1.1 Tổng quan về hệ quản trị nội dung

1.1.1 Khái niệm về hệ quản trị nội dung

Hệ quản trị nội dung, cũng được gọi là hệ thống quản lý nội dung hay CMS (viếttắt của cụm từ Content Management System trong tiếng Anh ) là phần mềm để tổchức và tạo môi trường cộng tác thuận lợi nhằm mục đích xây dựng một hệ thống tàiliệu và các loại nội dung khác một cách thống nhất Mới đây thuật ngữ này liên kếtvới chương trình quản lý nội dung của website Quản lý nội dung web (web contentmanagement) cũng đồng nghĩa như vậy

Chúng ta có thể hình dung CMS nh ư là một hệ điều hành trên máy tính, ngh ĩa

là CMS được sử dụng làm nền tảng để chạy những ứng dụng khác Ngoài ra, CMSgiống như một thư viện, nó cung cấp những hàm, lớp cơ bản để những người pháttriển web khác có thể sử dụng, t ùy biến, chỉnh sửa để CMS th ành một trang webphục vụ đ úng nhu cầu của mình

CMS = Khởi tạo nội dung  Quản lý quá trình xử lý nội dung đó  Phân phối nội dungtới người dùng đầu cuối

1.1.2 Đặc điểm

Một CMS hay hệ thống quản lý nội dung được sử dụng để điều khiển và chỉnh sửanội dung Nội dung bao gồm tệp tin điện tử, hình ảnh, video, file âm thanh, tài liệuđiện tử và văn bản web Khái niệm chính đằng sau một CMS là tạo ra những tập tin cósẵn cho việc chỉnh sửa nội bộ hoặc trên nền Internet Một CMS thường được sử dụng

để lưu trữ tài liệu rất tốt Hệ thống quản lý nội dung trang web chủ yếu được sử dụng

để kiểm soát và xuất bản các văn bản dựa trên các tài liệu như bài viét, tài liệu dạngvăn bản và thông tin Một CMS bình thường có thể cung cấp các tính năng, đặc điểm

cơ bản sau đây:

 Giao diện quản trị

Trang 12

 Một khả năng để chỉ định một số vai trò và quyền lợi cùng với hệ thốngquản lý tài liệu với các kiểu nội dung khác nhau các chuyên mục.

 Xác định cho việc quản lý và sơ đồ công việc của hệ thống,đưa ra địnhnghĩa, nhiệm vụ, và thậm chí có thể  gắn liền với thông điệp để các nhà quản lýnội dung sẽ được thông báo về các thay đổi nội dung một cách cụ thể

 Một khả năng để ghi chép, theo dõi và quản lý rất nhiều các phiên bảncủa cùng một nội dung hay tập tin - một hệ thống quản lý tài liệu với nhiềuphiên bản

 Một khả năng để xuất bản nội dung vào một khu lưu trữ tập trung, để tạođiều kiện lớn hơn truy cập vào nội dung Quan trọng hơn là với thời gian, khonày là một yếu tố quan trọng của hệ thống CMS, tích hợp và tìm kiếm và cácphương pháp thu hồi

 Một số hệ thống quản lý nội dung (CMS) cho phép dùng định dạng củamột số văn bản trong tài liệu như: phông chữ, màu sắc, bố trí bố cục…

 Một hệ thống quản lý trang web nội dung (CMS) được thiết kế để chạytrên nền tảng của một website công cộng Nó cho phép quản trị viên chỉnh sửanội dung thông qua một bảng quản trị mà sau đó sẽ hiển thị lên website ThôngThường có admins, copy wriers hoặc editors Bằng cách sử dụng một hệ thốngkiểm soát đặc biệt truy cập thông qua các trình duyệt web người khởi tạo vàbiên tập viên có thể quản lý dữ liệu trong CMS Tổng thể các hệ thống quản trịnội dung (CMS) kiểm soát và cho phép quản trị viên quản lý công việc và cácquy trình kinh doanh

 Nói chung tất cả các nội dung trong CMS được lưu trữ trực tuyến trongmột hệ thống cơ sở dữ liệu SQL Đây là hệ thống database cho phép truy cập

dễ dàng và nhanh chóng đồng thời bảo mật mạnh mẽ và hệ có hệ thống backup

Trang 13

 P-CMS (Publications CMS): Hỗ trợ việc quản lý các loại ấn phẩm trựctuyến (sổ tay, sách, trợ giúp, tham khảo ).

 L-CMS/LCMS (Learning CMS): Hỗ trợ việc quản lý đào tạo dựa trênnền Web

 BCMS (Billing CMS): Hỗ trợ việc quản lý Thu chi dựa trên nền Web

Drupal được biết đến như một hệ quản trị nội dung ổn định và mạnh mẽ, sự ổn định

và mạnh mẽ từ nhân của Drupal khiến cho Drupal được tin dùng cho các website lớn

có lượng người truy cập cao Sự linh hoạt trong nền tảng của Drupal giúp cho các lậptrình viên có thể lập trình mở rộng website của họ theo bất kỳ hướng nào, tính năngnào mà hầu như không gặp khó khăn gì

Drupal được xây dựng với mục đích giúp người quản lý Web dễ quản trị hệ thốngWeb trên Internet một cách hữu hiệu Điểm khác biệt giữa mô hình Drupal so với các

mô hình khác như joomla , wordpress, siteframe là Drupal phát triển dựa trên nềntảng modules (mô đun), mà trong đó mỗi module được một người hay một nhómngười phát triển riêng biệt, sau đó các  modules này được kết nối lại thông qua cácqui ước thông số được định sẵn để hình thành một mô hình rộng lớn có nhiều chứcnăng hơn.  Các modules này được tháo gỡ ra khỏi phần lõi Drupal hoặc chúng nângcấp cũng khá dễ dàng. Chính vì Drupal phát triển dựa trên khái niệm module, mà môhình Drupal càng ngày càng phình ra và có nhiều chức năng hơn so với các mô hìnhkhác Mỗi module có một hoặc nhiều chức năng riêng với cấu hình cục bộ (cục bộbên trong module đó) riêng. Hiện nay có trên cả hàng trăm modules Ví dụ nhưmodule có tên Search - dùng để tìm kiếm, tên Whois - dùng để tìm thông tin về mộttên miền (domain name), tên Image - dùng để xem hình, tên fckeditor - dùng để viếtbài (giống Microsoft Word) Người quản lý hay một lập trình viên có thể kếtnối những modules này lại để chúng làm việc tương tác qua lại các modules liên

hệ khác để hình thành một ứng dụng lớn

Trang 14

Ưu điểm của Drupal

- Nền tảng mạnh mẽ, ổn định, mã nguồn được tối ưu nâng cao hiệu suất hoạt độnggiúp tiết kiệm nguyên của hệ thống Là nền tảng vững chắc cho các website có lượngtruy cập lớn như BBC England, MTV

-  Hệ thống CMS nhỏ, dung lượng bé, tốc độ tải site nhanh

- Việc can thiệp tùy chỉnh chức năng dễ dàng mà không phải chỉnh sửa và core của hệthống , khiến nó có thể dễ dàng cập nhật , nâng cấp

- Drupal cung cấp rất nhiều tags , chức năng được sử dụng để phát triển mạng hơn sovới joomla và wordpress Drupal dàng cho những người có chút hiểu biết về code

- Cấu trúc linh hoạt giúp các lập trình viên mở rộng chức năng không hạn chế theonhu cầu sử dụng

- Với hệ thống module đồ sộ , đa chức năng , có thể đáp ứng tốt hầu hết chức năng củawebsite thông thường

- Drupal cực kỳ thân thiện với công cụ tìm kiếm, đó là một lợi thế rất lớn khi SEOluôn là một vấn đề được quan tâm đối với bất kỳ trang web nào

- Tính năng Multiple giúp bạn có nhiều website với một lần cài đặt Drupal Giúp bạnđiều khiển và quản lý dễ dàng hơn

- Drupal chạy được cả trên server Linux và Windows trong khi Jooma chỉ chạy tốttrên server Linux

- Cho phép nhiều loại user groups , user permissions , OpenID trong phiên bảnDrupal 6

- Có hệ thống làm template mạnh mẽ Bất kì một template XHTML hay CSS nào đều

có thể chuyển sang Drupal

- Code và API trong drupal rất rõ rang

- Linh hoạt , không có giới hạn

- Cộng đồng Drupal là mạnh hơn Joomla, dễ dàng luôn luôn nhận được câu trả lời chocâu hỏi Drupal trong diễn đàn của họ, điều này khó mà tìm thấy được ở trong diễnđàn Joomla

Tuy nhiên ở Drupal vẫn còn tồn tại những nhược điểm như :

- Drupal được đánh giá là khó sử dụng với người dùng mới

- Không thân thiện và tạo hứng thú cho những người thích thiết kế phần giao diện ,hoa mĩ

- Drupal có ít các thành phần mở rộng (extensions) hơn Joomla Mỗi khi có phiên bảnDrupal mới bạn phải chờ các nhà cung cấp nâng cấp extensions của họ để tương thích

- Cách bố trí của website Drupal khiến người mới sử dụng khó tìm kiếm và đánh giánên dùng extensions nào

Sau một vài đánh giá, phân tích những ưu, nhược điểm như trên, em quyết địnhchọn Drupal để nghiên cứu , tìm hiểu sâu hơn và từ đó xây dựng một ứng dụng riêngcho đề tài của mình – xây dựng website bán hàng trực tuyến

1.3 Tìm hiểu hệ quản trị nội dung – Drupal

1.3.1 Khái niệm về Drupal

Trang 15

Trong thế giới thiết kế web, có khá nhiều hệ quản trị nội dung ( CMS) từ các loạiCMS trả phí đến các CMS mã nguồn mở do cộng đồng xây dựng, và các nền tảng hỗtrợ xuất bản khác nhau về công nghệ sử dụng, cấu trúc tổ chức, khả năng thực thi và

cả bản quyền sử dụng Một số CMS nổi tiếng như Drupal, WordPress, Movable Type,Joomla! và Textpatter, đã phát triển ổn định, được đông đảo mọi người sử dụng từgiới chuyên môn cho đến những người không chuyên chấp nhận Hàng năm cuộc bìnhchọn hệ thống quản trị nội dung (CMS) mã nguồn mở tốt nhất do nhà xuất bản Packtluôn được tổ chức để tìm ra ứng cử viên giành giải thưởng danh giá nhất

Drupal là một framework (khung sườn) phát triển phần mềm hướng mô-đun, một

hệ thống quản trị nội dung miễn phí và mã nguồn mở Cũng giống như các hệ thốngquản trị nội dung hiện đại khác, Drupal cho phép người quản trị hệ thống tạo và tổchức dữ liệu, tùy chỉnh cách trình bày, tự động hóa các tác vụ điều hành và quản lý hệthống Drupal có cấu trúc lập trình rất tinh vi, dựa trên đó, hầu hết các tác vụ phức tạp

có thể được giải quyết với rất ít đoạn mã được viết, thậm chí không cần Đôi khi,Drupal cũng được gọi là "khung sườn phát triển ứng dụng web", vì kiến trúc thôngminh và uyển chuyển của nó

Đặc trưng nổi bật nhất của Drupal là khái niệm node với cấu trúc đơn giản Để pháttriển các kiểu nội dung phức tạp, mỗi node sẽ được liên kết với một nội dung có kiểukhác nhau Node được quản lí nhờ hệ thống taxonomy cực mạnh Cùng với các kháiniệm như :”term” được tổ chức có cấu trúc (chia nhiều cấp), và “vocabulary” trongtaxonomy cho phép chia term thành các lớp không giao nhau

Drupal được xây dựng để giúp đỡ cho nhà phát triển Hệ thống hook đa dạng giúpngười lập trình can thiệp vào mọi hoạt động mà không phải sửa bất kì dòng lệnh nàocủa nhân hay các phần khác - điều này trái ngược với Joomla! Ngoài ra, công nghệcủa Drupal thường mới hơn Joomla!, thí dụ như thiết kế của Drupal không dùng bảng(table) trong khi ở Joomla! thì bảng xuất hiện ở mọi nơi (những viên gạch đầu tiên củaJoomla! được xây dựng khi các chuẩn Web chưa ra đời)

Ngoài ra ở Drupal còn có các tính năng chính như :

 Collaborative Book – Giúp bạn thiết lập một “quyển sách” và cho phépnhiều người cùng đóng góp nội dung, tổ chức dữ liệu

 URL thân thiện – Drupal dùng mod_rewrite của Apache để tạo các URLthân thiện với cả các bộ máy tìm kiếm và người dùng

 Module – Các module đóng góp từ cộng đồng mở rộng tính năng củanhân Drupal

 Online help – Hệ thống trợ giúp trực tuyến ngay trên site của bạn

 Open source – Mã nguồn của Drupal hoàn toàn tự do dưới giấy phépGNU/GPL 2

 Cá nhân hóa – Có sẵn ngay trong nhân Drupal Cả nội dung lẫn cáchtrình bày đều có thể cá nhân hóa theo các tiêu chuẩn được người dùng đặt ra

 Hệ thống phân quyền theo vai trò (role based) – Có thể tạo ra các vai tròmang các quyền hạn khác nhau, sau đó gán những vai trò này cho người dùng

Trang 16

 Tìm kiếm – Mọi nội dung đều được đánh chỉ mục và có thể tìm kiếmbởi module tìm kiếm tích hợp sẵn.

1.3.2 Lịch sử phát triển của Drupal

Drupal xuất phát từ một diễn đàn viết bởi Dries Buytaert (một lập trình viên mãnguồn mở và hiện đang là nghiên cứu sinh tại Bỉ), được chuyển thành sản phẩmnguồn mở năm 2001 Cho đến nay, Buytaert vẫn lãnh đạo việc phát triển của dự án.Drupal, trong tiếng Anh, được chuyển ngữ từ từ liệu "druppel" của tiếng Hà Lan,nghĩa là "giọt nước"

Từ tháng năm 2006 đến tháng tư năm 2007, mã nguồn Drupal đã được tải về từwebsite Drupal.org hơn 600,000 lần, đến tháng 6 năm 2008 , mã nguồn Drupal đãđược tải về hơn 1,4 triệu lần

Tháng Giêng năm 2009 Drupal 6.9 được công bố

Ngày 5 tháng 1 năm 2011 Drupal 7 ra đời ,là phiên bản Drupal ổn định nhất từtrước đến nay, với hàng loạt thay đổi mới trong nền tảng, mang đến một giao diệnquản trị hoàn toàn mới với rất nhiều cải tiến cho người phát triển site và người quản línội dung Giao diện overlay sử dụng AJAX giúp bạn có một trải nghiệm tuyệt vờinhất Drupal 7 cũng linh hoạt hơn với khái niệm trường tuỳ biến (Fields) Trường chophép bạn mở rộng gần như mọi đối tượng trong Drupal bằng cách gán thêm thuộc tínhcho chúng Bạn có thể gán thuộc tính cho rất nhiều đối tượng, trong đó có bài viết,bình luận, người dùng và thậm chí gán thuộc tính cho cả tag Kể từ phiên bản 7,Drupal hỗ trợ nhiều CSDL khác nhau, từ MySQL cho đến PostgreSQL, SQLite, MSSQL Server, Oracle… và thậm chí có thể mở rộng để hỗ trợ các dạng NoSQL Hiệnnay, có một cộng đồng rộng lớn đang giúp đỡ phát triển Drupal

1.3.3 Nền tảng

 Apache hoặc IIS, Unix / Linux / BSD / Solaris / Windows / Mac OS X đềuđược hỗ trợ – Drupal ngay từ đầu đã được xây dựng để tương thích nhiều nền tảng

 Độc lập với cơ sở dữ liệu – Mặc dù đa số dùng MySQL, nhưng không phải tất

cả Drupal được xây dựng trên lớp CSDL trừu tượng (database abstraction layer –DAL), hỗ trợ cả MySQL lẫn PostgreSQL Để hỗ trợ các CSDL riêng của mình,người dùng chỉ việc viết phần back-end hiện thực hóa 14 hàm của DAL

 Đa ngôn ngữ – Nền tảng Drupal sẵn sàng cho việc xây dựng một website đangôn ngữ

1.3.4 Kiến trúc Drupal

Drupal là một CMS được viết bằng PHP và cơ sở dữ liệu thường là MySQL để lưutrữ Một kiến trúc stack đơn giản về Drupal như sau :

Trang 17

Hình 1 Kiến trúc Drupal Trung tâm hay thành phần cốt lõi của Drupal chính là bộ nhân gồm các file chứa :bootstrapping code và các thư viện cung cấp các thành phần cơ bản nhất để xây dựngnên một trang web Các thư viện trong Drupal core hoạt động giống như một tầng keo,tức là có nhiệm vụ chính là kết hợp các module của Drupal với nhau, liên kết và quản

lý database

Một vài modules trong Drupal core rất quan trọng , là module nền tảng làm cơ sởtiếp tục xây dựng một website , các module cung cấp 5 chức năng : Block , Filter ,Node, System và User , không thể uninstalles hay disabled

Trang 18

Theme điều khiển cách trang web của bạn được hiển thị, bao gồm giao diện đồ họa,

bố trí, và màu sắc Theme bao gồm một hay nhiều tập tin PHP để xác định đầu raHTML của các trang web, cùng với một hoặc nhiều file CSS để xác định bố trí, phôngchữ, màu sắc, và phong cách khác

Trong drupal core có sẵn một số các themes mẫu , ngoài ra có thể tìm và downloadcác themes khác tại trang www.drupal.org/project/themes và tiến hành cài đặt , chỉnhsửa cho phù hợp với ứng dụng

Sauk hi download 1 theme khác vừa ý , sau đó extract vào thư mục themes trong thưmục chứa mã nguồn Drupal

Kế tiếp kích hoạt theme trong menu của drupal: đăng nhập tài khoản quản trị vàoMenu Administer > Site Building > Themes

Để giải quyết những yêu cầu cụ thể đặc biệt nào đó ở mỗi dự án thì với drupal cócung cấp những mô đun mới với những chức năng cụ thể riêng biệt dành cho dự án đógọi là contributed module mà chúng ta có thể tìm thấy ở websitehttp://drupal.org/project/modules với hơn 73199 modules , được coi như những add-ons cho drupal cho phép bạn xây dựng , mở rộng , chỉnh sửa các chức năng của drupalcore

Một vài module phổ biến nhất là : ubercart , webform , views , panel , date andcalendar, Content Construction kit (CCK) , Backup and Migrate , Google analytics,WYSIWYG …

Ngoài ra có thể tạo ra được module riêng tùy vào mức độ am hiểu Drupal , PHP vàcác module của Drupal API

Được thiết kế để cung cấp một phương thức mở rộng tiềm năng của Drupal Là mộtgói mã PHP sử dụng APIs và kiến trúc của Drupal để tạo ra những thành phần mới Mỗi module được chứa trong thư mục riêng của nó, bao gồm:

*.info: miêu tả nội dung của module

*.install: tạo table

*.module: code

Và các file hỗ trợ khác

Module trong Drupal được xây dựng theo hướng modular và extensbile Nghĩa làcác người lập trình sẽ phát triển mà không thay đổi bộ nhân drupal mà chúng ta sẽtương tác bằng cách mở rộng thêm thông qua xử lý các event do nhân Drupal phát ra(hook)

Trang 19

1.3.5 Chức năng của các module trong Drupal

Content management : quản lý , sắp xếp ,phân loại và cài đặt cấu hình nội dungcủasite: xem ,thêm ,xóa sửa sản phẩm, các bài viết , ghi chú bình luận…

Categories: Tạo các đề mục phân loại cho site của mình Để thêm 1 phân loại ta chọnCategories > Add Vocabulary sau đó điền các thông tin : tên, mô tả , loại categaory(có thể là chủ đề forum, blog,…).Đây là một tính năng khá mạnh trong Drupal, ở bảnDrupal 6.x thì categories được gọi là Taxonomy Là một người mới làm quen với cácCMS thì đây quả là một thuât ngữ khá mới mẻ Một Categories được tổ chức theo cấutrúc dạng cây giống như Forum Từ một Vocabulary bạn có thể thêm các Term vàotrực tiếp trong Vocabulary hoặc là một term khác Điều này cho phép bạn tạo ra mộtcây sản phẩm cho Ubercart

Content : Xem , xóa, sửa những nội dung đã post lên, cụ thể là các product chúng ta

đã xuất lên website

Content Types : quản lý các hình thức bài chúng ta gửi lên , core của Drupal chỉ cóForum topics (gửi bài vào forum), Page , Story Tuy nhiên ta có thể thêm bớt cũngnhư tạo mới loại nội dung phù hợp với nhu cầu của site thông qua mục này

Post settings: Cấu hình về việc soạn 1 bài mới lên site :

 Number of posts on main page: số bài hiển thị trên trang chính

 Length of trimmed posts: Số ký tự tối đa cho 1 bài gửi lên

 Preview post: tùy chọn bắt buột người dùng xem lại trước khi gửi haykhông

 RSS publishing: RSS cho sản phẩm của mình đến khách hàng

Site building : cấu hình cách trình bày của site ( xây dựng website )

 Block : quản lý hiên thị, thêm bớt các khối chức năng của Drupal(kích hoạt, ẩn, vị trí ) : Tìm Kiếm, Đăng Nhập, Menu

 Menus : Thêm bớt các thanh thực đơn, chỉnh sửa thành phần của các menusẳn có Trong đó Primary links menu chính, Navigation là thanh chứa các liênkết chủ yếu, và được tạo mặc định của Drupal, chúng ta đang dùng thanh này

để đến các thành phần hệ thống

 Modules: đây là mục khá quan trọng trong Drupal , quản lý các module :kích hoạt, vô hiệu hóa cũng như xóa các module

 Themes : quản lý các theme cài vào bổ sung cho Drupal

 URL aliases: thay các liên kết URL bằng tên khác của chúng

 Views: thay đổi các hiển thị danh sách nội dung của hệ thống

Nói về Block,Page,Story,Book, Blog và Forum:

 Block là một thành phần không thể thiếu trong Drupal, nó có thể kết hợp rấttốt với Page,Story,Forum,Blog để đưa dữ liệu ra các vùng hiển thị trongDrupal

Trang 20

 Page và Story khá là giống nhau Ngoài ý nghĩa ra thì chúng gần như là nhưnhau, Page thường được làm những trang cố định trong website, không chophép người dùng trả lời Ví dụ như trang ContactUs hay trang AboutUs.

 Còn Story, nó giống như các bài viết bình luận của bạn trên Blog hay là bàiviết bạn viết ra để thảo luận về một vấn đề gì đó mà người dùng có thểcomment trên đó

 Blog của Drupal giống như Blog của yahoo hay là các Blog khác vậy,nhưng Blog mặc định của Drupla rất sơ khai, giống như là Drupal gom cácStory của tác giả vào một mục lớn và mục lớn này chính là Blog của tác giả đó.Việc gom nhóm bài viết của tác giả là tự động thay vì ta phải vào tìm nhữngbài viết do tác giả đó viết Và việc sử dụng Blog cũng như Story hay là Page,bạn nên sử dụng theo đúng ý nghĩa của nó

 Forum của Drupal không thua gì các Forum khác, mặc định khi cài đặtDrupal thật là nhỏ gọn, chỉ có 42 database dung lượng 749kb vậy mà với chỉchừng đó, chưa cần cài đặt thêm gì chỉ cần enable các thành phần cơ bản lên thìgần như bạn đã có một website tuyệt vời với Blog,forum…

 Book của Drupal cấu trúc thì giống cấu trúc của Forum, mà cơ bản thì lạigiống Page, Story Một Book được tạo ra có thể xem như một cuốn sách chobạn

Tất cả Blog,Forum,Story,Book,Page đều là Node Chúng có cấu trúc giống nhau,nhưng ý nghĩa và mục đích sử dụng thì khác nhau vì vậy bạn nên cân nhắc khi nào thì

sử dụng một trong số các kiểu nội dung của Drupal

Site configuration: Cấu hình cách cho hoạt động của hệ thồng Trong đây có nhiềuchức năng liên quan đến hoạt động của hệ thống, thông thường chúng ta ít phải đụngvào các chức năng này Chỉ chú ý đến 1 số tùy chọn:

 Administration theme: cũng giống như themes ở mục trên nhưng chỉ ápdụng riêng cho người quản trị, chứ không phải cho tất cả các người dùng

 Clean URLs : chức năng làm “sạch” đường link trong Drupal

 Date and time: cấu hình ngày giờ, múi giờ địa phuơng và cách hiển thị

 Error reporting: các thông báo lỗi hệ thống (truy xuất trang không hợp lệ,trang không tìm thấy ) dựa trên thông báo lỗi của php trả về

 Search settings: cấu hình cho chức năng tìm kiếm của hệ thống

 Site Information : Thông tin về site của chúng ta : tên ( “Điện Thoại DiĐộng Chính Hãng”), Email nhà quản trị, Khẩu hiệu ( “Hàng Gốc - Giá Gốc-

Uy Tính Làm Gốc - Chất Lương Làm Đầu” ), …,

Site maintenance : Thông báo về việc bào trì site

User management: quản lý thông tin khách hàng cũng như nhân viên

 Access control: Thiết lập các quyền truy cập

 Access rules: liệt kê cũng như tạo các quyền cho 1 email, tên người dùnghay IP nào đó VD nếu như 1 quyền nào đó thiết lập rằng người dùng không

Trang 21

được tạo tài khoản với tên hay email nào đó thì bất cứ người dùng nào khi đăng

ký đều không được vi phạm

 Profiles: thêm bớt các nội dung về quản lý khách hàng, khách hàng sẽ khaibáo khi đăng ký hoặc bổ sung sau , mặc định chỉ có tên người dùng, email vàmật khẩu.Để thêm 1 mục mới :Trong Add New Field chọn 1 loại thể hiện bạnmuốn dùng ( text , radio button, check box ) Trong Field Settings :

Category: thông tin ta cần thêm vào nằm trong mục nào ( thông tin cá nhân haythông tin bổ sung)

Title: tựa đề cho mục này

Form name: tên cho biến lưu trữ, lưu ý biền này được quản lý bởi máy do đó,nên đặt không khoảng cách và không dấu

Explanation: giải thích ý nghĩa ( tùy chọn )

Form will auto-complete while user is typing.: đánh dấu check vào mục này sẽcho phép điền thông tin tự động từ cookies

The user must enter a value: đánh dấu check vào muc này sẽ bắt buộc ngườidùng phải nhập dữ liệu cho mục này

Visible in user registration form: hiển thị mục này trong form đăng ký

 Roles: quyền hạn khách hàng trong site của chúng ta Quy định các khảnăng truy xuất cho người dùng là khách viếng thăm, khách đã đăng nhập hệthống, người quản lý, quản trị…

Roles khá là thú vị khi bạn phân quyền trong một website Drupal, ví dụ như ởđây là bạn có thể tạo ra các quyền trong một trang ecommerce như kế toán,nhân viên nhập liệu

Thì trong đó kế toán bạn có thể gán cho họ một số quyền như: Xem hóa đơn,sửa hóa đơn,… và xem thống kê của cửa hàng Còn nhân viên nhập liệu bạn cóthể cho họ chỉ chức năng xem xóa sửa sản phẩm mà không cho xem thống kê

và các thao tác liên quan tới hóa đơn…

 Rule: Tại đây bạn có thể cấm một user truy cập vào bạn thông qua tên userhoặc là tên Ip của user đó dùng

 Search Users : tìm kiếm thành viên trong hệ thống

 Users Setting : Các cài đặt về việc đăng ký thành viên, người dùng có thể tựđăng ký tài khoản hay không, có yêu cầu kích hoạt thông qua email haykhông ,thiết lập nội dung thư sẽ gửi đến thông báo cho người đăng ký, hình ảnhngười dùng

Logs: lưu vết lại hoạt động của hệ thống, dưa vào đây ta có thể thống kê sự hoạtđộng của site, sản phẩm được nhiều người quan tâm, nhiều người mua, những kháchhàng có tiềm năng, quản lý lỗi của hệ thống để tiện cho việc bảo trì:

 Recent log entries: sự kiện mới nhất vừa được ghi nhận lại

 Recent hits: các trang vừa mới đươc xem

 Top 'access denied' errors: các lỗi hạn chế quyền truy cập

 Top 'page not found' errors: các lỗi về không tìm thấy liên kết

 Top referrers: các trang được tham chiếu đến nhiều nhất

 Top search phrases: top các cụm từ được search nhiều và gần đây nhất

 Top pages: các trang được xem thường xuyên

 Top visitors: khách hàng tham quan nhiều sản phẩm nhất

Trang 22

 Access log settings: cài đặt cho logs, khoảng cách bao lâu để log 1 lần nộidung…

Help dùng để giúp đở người quản trị quản lý hệ thống

Với drupal để việc quản lý 1 site tổng quát , bạn chỉ cần tìm hiểu rõ 3 modulechính : CCK, View và Panel CCK

 CCK giúp ta mở rộng kiểu nội dung mà không cần viết code

 Views giúp ta lọc và trình bày các nội dung mà không cần code

 Panels giúp ta chia phần nội dung thành các vùng bé hơn cũng khôngcần code

 Nhờ CCK, Views, Panels bạn có thể làm gần như mọi thứ mà khôngphải viết code

Ngoài ra còn có rất nhiều những module khác mà tùy vào từng ứng dụng cụ thể đểchọn lựa , cài đặt cho hệ thống

1.3.6 Một số giải thưởng của Drupal

 CMS nguồn mở danh giá nhất năm 2007 do nhà xuất bản Packt bình chọn

 CMS nguồn mở danh giá nhất năm 2007 do nhà xuất bản Packt bình chọn

 CMS nguồn mở danh giá nhất năm 2008 do nhà xuất bản Packt bình chọn ,cùng với giải CMS nguồn mở PHP tốt nhất

Dưới đây là xếp hạng giải thưởng CMS qua các năm :

-DrupalSites – Danh mục các website sử dụng Drupal :http://www.drupalsites.net/

 Các website Drupal bằng tiếng việt

Trang 23

-Drupal Việt Nam - Cộng đồng người Việt nam sử dụng Drupal :http://groups.drupal.org/vietnamese

http://drupalvietnam.org/api/Drupal

-Mạng xã hội dành cho người Việt : http://www.tamtay.vn/

-Đại học FPT: http://www.fpt.edu.vn/

-Tổng đài điện thoại : http://www.tongdai.com.vn/

-Trang chia sẻ ảnh : http://i-pro.vn/

 Các trang web nước ngoài sử dụng Drupal-http://www.whitehouse.gov/

-http://www.snowworkers.com/

-http://www.theonion.com/

CHƯƠNG 2 – KHẢO SÁT VÀ ĐẶC TẢ YÊU CẦU

2.1 Khảo sát yêu cầu của một cửa hàng bán đồ nội thất

Trang 24

Cửa hàng là cơ sở kinh doanh bán sản phẩm nội thất của một công ty sản xuất đồtrang trí nội thất, tại đây đối tượng quản lý là hàng hoá và con người Hàng hoá gồmnhiều yếu tố như xuất nhập, giá mua, giá bán, hàng tồn kho, bảo hành, thông tin chitiết hàng hoá; về khía cạnh con người bao gồm : nhân viên, quản lý, khách hàng Hệthống các đối tượng đó quan hệ với nhau, ví dụ quản lý ra chỉ thị cho nhân viên, quản

lý ra quyết định từ thông tin từ hệ thống ( con người hoặc thông tin tổng hợp từ máytính) Khách hàng đến tận nơi xem hàng , ưng ý sản phẩm thì đến đăng kí mua hàngvới nhân viên bán hàng , giao tiền trực tiếp ở quầy thu ngân, để lại thông tin địa chỉ đểnhân viên giao hàng tiến hành giao hàng đến nơi Khách hàng mua hàng nhận hoá đơnđược lập từ công ty, hàng hoá được nhập kho, xuất kho; thời gian bảo hành và cácquan hệ khác

Cụ thể cơ cấu tổ chức nhận sự của cửa hàng được chia làm 3 bộ phận:

 Bộ phận văn phòng: Giám đốc, kế toán, thủ quỹ, kho được bố trí tạimột khu vực khép kín, người có nhiệm vụ mới được vào

  Bộ phận quầy: nhân viên trực tiếp tại các quầy có nhiệm vụ giám sát vàquản lý quầy đó

 Bộ phận thu ngân: Nhân viên thu ngân trực tiếp tại các bàn thu ngân cốđịnh đặt trong nhà sách

Hoạt động bán hàng thực tế tại cửa hàng :

Hàng ngày, cửa hàng mở cửa bán hàng từ 7h30 tới 21h30. Hoạt động bán hàng củacửa hàng có thể tóm tắt như sau:

 Khách hàng có thể tự do vào xem các sản phẩm của cửa hàng , có thể yêu cầu

sự trợ giúp của nhân viên cửa hàng Nhân viên cửa hàng luôn quan sát , túctrực , sẵn sàng tự vấn , giới thiệu mọi sản phẩm cho khách hàng

 Khi khách hàng đã lựa chọn được 1 hoặc nhiều sản phẩm, khách hàng sẽ nóivới nhân viên sẽ mua sản phẩm này Do tính chất của sản phẩm là đồ nội thất

có thể khá to, nặng khó khăn trong việc vận chuyển hay cần phải lắp đặt tại nhànên khách hàng chỉ cần chỉ ra sản phẩm cần mua và các yêu cầu đưa ra kháccho nhân viên bán hàng

 Khách hàng ra bộ phận thu ngân tiến hàng lập hóa đơn , làm thủ tục mua , thủtục gồm có hóa đơn mua hàng , địa chỉ khách hành và tiền đặt cọc trước

 Sau đó nhân viên sẽ hẹn thời gian giao nhận sản phẩm và lắp ráp cho kháchhàng

Hiện nay với nhu cầu mở rộng hoạt động kinh doanh và mong muốn đem đến sựtiện lợi cho khách hàng, công ty muốn xây dựng một hệ thống website bán hàng trựctuyến phù hợp với tình hình thực tế của công ty cũng như khả năng mở rộng phát triểntrong tương lai

Từ yêu cầu và thực trạng của công ty em thấy cần xây dựng một hệ thống websitequảng bá, giới thiệu sản phẩm và hỗ trợ khách hàng đặt hàng trực tuyến Từ trước đếnnay, công ty chưa có hệ thống nào tương tự, do đó đây là hệ thống hoàn toàn mới Hệthống cho phép khách hàng và người quản lí với các quyền truy nhập khác nhau Nếu

Trang 25

là khách hàng, hệ thống sẽ không yêu cầu đăng nhập và cho phép khách hàng tra cứucác thông tin về các chủng loại , các sản phẩm đồ nội thất Đấy là thông tin về giá bán,các thông số chi tiết về sản phẩm mà họ cần mua Khách hàng cũng có thể xem các tintức công nghệ, các sản phẩm mới xuất hiện trên thị trường liên quan đến lĩnh vực kinhdoanh của công ty, cũng như các tin tức về phong thủy liên quan đến việc bố trí sảnphẩm đồ nội thất trong gia đình hay cơ quan Trong quá trình xem xét các sản phẩm ,đọc tin liên quan khách hàng có thể đưa ra những ý kiến phản hồi , bình luận với mỗisản phẩm , bài viết nếu như khách hàng có tài khoản và đã đăng nhập.

Nếu chọn được sản phẩm ưng ý, khách hàng có thể tiến hành đặt hàng trực tuyếnsau khi đã đăng nhập Khi khách hàng đăng nhập vào hệ thống , hệ thống phải cungcấp cho mỗi khách hàng một giỏ hàng để chứa các mặt hàng cần mua Khách hàng cóthể bỏ lại mặt hàng đã chọn hay thêm hàng mới vào giỏ hàng Khi khách hàng hoànthành công việc chọn lựa hàng hóa sẽ tiến hành thanh toán trực tuyến qua mạng, chỉcần thanh toán một khoản tiền đặt cọc trước nếu như sản phẩm đó có giá trị tiền lớn.Sau khi các giao dịch thành công, hàng được chuyển cho khách hàng sau một thờigian đã hẹn và thỏa thuận trên hóa đơn, khách hàng tiến hành nhận hàng, và xác nhận,thanh toán nốt số tiền con lại

Đối với đội ngũ quản lí website, hệ thống phải cung cấp các chức năng để quản líwebsite một cách toàn diện Chỉ những nhân viên được cung cấp tài khoản mới có thểtruy cập vào khu vực quản lí website Một cách cụ thể, hệ thống cần cung cấp chứcnăng quản lí hàng hóa và lí tin tức được đăng trên website, quản lí các đơn đặt hàng,quản lí các user được phép truy cập vào khu vực quản trị website

2.2 Đặc tả yêu cầu

2.2.1 Giới thiệu

Mục đích : Đây là website bán hàng trực tuyến , sản phẩm là đồ nội thất gia đình vàvăn phòng Website được xây dựng cũng đảm nhiệm những chức năng chính là quảngcáo sản phẩm, mua bán hàng trực tuyến, đăng thông tin bài viết liên quan về công ty ,sản phẩm…Giúp công ty có thể quảng bá được thương hiệu sản phẩm của mình , bánhàng đạt hiệu quả cao , tối ưu lợi nhuận Giúp cho những khách hàng có nhu cầu về

đồ nội thất có khả năng tìm kiếm dễ dàng sản phẩm đáp ứng được nhu cầu của mình,tiến hành giao dịch mua bán nhanh chóng thuận tiện

Phạm vi dự án : Website được xây dựng hỗ trợ cho các cá nhân , công ty , cơ quan,

có nhu cầu quảng bá sản phẩm đồ nội thất , cũng như quản lý buôn bán sản phẩm.Hệthống phát triển hoàn toàn độc lập , không lệ thuộc vào một dự án nào cả ; được xâydựng mới từ đầu với các tính năng dựa trên mã nguồn mở Drupal

Tính khả dụng : Giao diện website phải bắt mắt, trực quan và dễ sử dụng.

Tính ổn định : Hệ thống phải hoạt động liên tục 24h/ngày, 7 ngày/tuần, vấn đề sự cố

của hệ thống phải được hạn chế tối đa

Trang 26

Hiệu suất :

 Hệ thống phải cho phép thao tác và xuất kết quả nhanh chóng Truy vấn

cơ sở dữ liệu và hiển thị kết quả không quá 1 phút

 Đảm bảo tính toán đúng và thực hiện các thống kê không quá 5 giây

 Hệ thống phải đáp ứng nhu cầu của người sử dụng và hoàn tất 90% giaodịch trong vòng 1 phút

Tính bảo mật :

 Hệ thống phải có cơ chế đảm bảo tính toàn vẹn của CSDL

 Đảm bảo không thể xảy ra các truy cập trái phép tới CSDL và khu vựcquản trị website

 Khi hiển thị thông tin về các hàng hóa của cửa hàng, hệ thống phải có cơchế bảo đảm chỉ những thông tin mà công ty cho phép mới đến được với kháchhàng, các thông tin khác chỉ người quản lí mới biết được

2.2.2 Mô tả tổng thể

Mô hình hệ thống : Đây là một hệ thống độc lập, chạy trên nền web, sử dụng hệ quản

trị CSDL MySQL và sử dụng 2 công cụ chính là Drupal để cài đặt và UML để phântích thiết kế hệ thống thông tin

Chức năng hệ thống : Hệ thống có các chức năng cho người quản trị - toàn quyềnvới hệ thống , chức năng cho người quản lý nội dung website và cho khách hàng –người có nhu cầu xem xét mua bán hàng hóa

Người sử dụng :

- Nhóm người quản trị:

 Xác nhận và kích hoạt tài khoản của khách hàng

 Quản lý tài khoản người dùng , có thể xem, xoá các thông tin củakhách hàng nhưng không được quyền thay đổi thông tin đó

 Xem, trả lời ý kiến, góp ý và phản hồi của khách hàng hoặc xoácác thông tin đó từ khách hàng

 Xem, chèn, cập nhật, xoá các sản phẩm

 Cập nhật tin tức, thông tin các sản phẩm mới nhất, các tin tức cóliên quan

 Quản lý giỏ hàng , các đơn đặt hàng của khách hàng

 Thông kê báo cáo sản phẩm

 Thống kê người dùng, quản lý tin đăng, đăng tải các mục thôngtin kiến thức, …

 Quản lý việc gắn banner quảng cáo của các công ty ở các góccạnh của trang web

- Nhóm người quản lý :

Trang 27

 Quản lý sản phẩm được đăng tải rao bán trên trang web , thêmmới , cập nhật , xóa , sửa sản phẩm

 Quản lý các tin tức , bài viết trên trang web nhưng thêm mới , sửa, xóa các tin thị trường , tin phong thủy

 Quản lý việc gắn banner quảng cáo của các công ty ở các góccạnh của trang web

-Nhóm khách hàng có tài khoản trên trang web và đã đăng nhập :

 Có quyền đăng nhập vào tài khoản khách hàng đã đăng ký

 Có thể xem, sửa thông tin của họ

 Có thể tìm kiếm thông tin theo tên, giá cả, chức năng

 Có thể gửi thông tin góp ý, phản hồi đến hoặc liên hệ với quản trịviên

 Có thể xem tin tức tất cả các sản phẩm có mặt ở website

 Có thể đánh giá bất kỳ sản phẩm nào

 Nếu như muốn mua sản phẩm nào khách hàng tiến hành đặt hàngsản phẩm đó , cho vào giỏ hàng của mình , làm thủ tục thanh toán trựctuyến quan mạng

 Có quyền chỉnh sửa , thêm bớt , xóa giỏ hành của mình

 Có quyền xem và bình luận các tin tức , bài viết trên website.-Nhóm khách hàng chưa có tài khoản trên trang web

 Có quyền đăng kí làm thành viên của trang web

 Được phép xem thông tin sản phẩm , đọc tin tức , bài viết trênwebsite

 Tìm kiếm thông tin cần thiết về sản phẩm

 Tìm được sản phẩm ưng ý , có thể cho hàng vào giỏ

Input, output and process

Nhóm quản trị

(Admin) Nhóm quản lý(Administrator) Khách có tàikhoản (User) Khách chưa cótài khoản

( AnonymousUser)

Input  Thông tin

sản phẩm, phân loại, đặt hàng

 Góp ý, phản hồi

 Quản lý thông tin (ID, password)

 Cập nhật tin tức mới

 Thông tinsản phẩm, phân loại, đặt hàng

 Góp ý, phản hồi

 Cập nhật tin tức mới

 Tìm kiếm sản phẩm

 Góp ý, phản hồi

 Đánh giásản phẩm

 Đặt hàngsản phẩm, thanh toán trực tuyến

 Tìm kiếm sản phẩm

Output  Thống kê

và báo cáo sách các sản Danh sách các loại Danh sách các loạiDanh

Trang 28

 Danh sách các sản phẩm, tin tức.

 Danh sách các khách hàng

 Danh sách phản hồi

phẩm, tin tức

 Danh sách phản hồi

sản phẩm

 Tóm tắt sản phẩm và chi tiết sản phẩm

 Các trangthông tin phảnhồi, liên lạc, tin tức

 Hóa đơn đặt hàng và thanh toán hàng

sản phẩm

 Tóm tắtsản phẩm vàchi tiết sảnphẩm

 Cáctrang thôngtin phản hồi,liên lạc, tintức

Process  Kiểm tra

đăng nhập

 Quản lý mật khẩu

 Quản lý (xem, xoá, chèn, cập nhật) sản phẩm

 Quản lý giỏ hàng

 Xem,trả lời hoặc xoá thưphản hồi

 Chỉnh sửa,cập nhật tin tứccác sản phẩmmới nhất từ cửahàng

 Quản lý (xem, xoá, chèn, cập nhật) sản phẩm

 Xem, trả lời hoặc xoá thư phản hồi

 Chỉnh sửa, cập nhật tin tức các sảnphẩm mới nhất từ cửa hàng

 Tìm kiếm sản phẩm

 Đánh giásản phẩm

 Tiến hành giao dịchthanh toán chokhách hàng

 Xử lý hóa đơn mua hàng

 Tìm kiếm sản phẩm

Yêu cầu lưu trữ

Hệ thống cần lưu trữ các thông tin liên quan đến hàng hóa, thông tin đăng nhập, cácđơn đặt hàng, các tin tức ( tin thị trường , tin phong thủy và các loại tin khác đượcđăng trên website)

Thông tin đăng nhập:

Phần quản trị của website cần đảm bảo tính bảo mật do có thể truy cập tới mọi thôngtin về hàng hóa và hoạt động kinh doanh Phần này chỉ dành riêng cho công ty- cửahàng , vì vậy để có thể truy cập cần có định danh đăng nhập và mật khẩu

Trang 29

Thông tin hàng hóa :

Cần lưu trữ các thông tin sau đây về hàng hóa (máy ảnh):

Thông tin đơn đặt hàng :

 Cần lưu trữ các thông tin sau đây về đơn đặt hàng:

Yêu cầu tính toán :

Tính tiền tự động cho các sản phẩm khách hàng mua Mỗi khi khách hàng chọn muamột sản phẩm, sản phẩm này sẽ được lưu vào giỏ hàng để khách hàng dễ quản lí Hệthống tự động tính tổng giá trị giỏ hàng dựa trên việc lấy giá bán của từng sản phẩmlưu trong cơ sở dữ liệu và số lượng mỗi sản phẩm khách hàng mua, từ đó tính tổngtiền của các mặt hàng được mua để khách hàng theo dõi Việc tính toán phải đượcthực hiện hoàn toàn tự động Nếu khách hàng tiến hành đặt hàng, các kết quả tính toánnày phải được lưu trong đơn đặt hàng

Kết quả tính toán: tổng số tiền khách hàng phải trả cho mỗi lần mua hàng, được xácđịnh theo công thức:

Tổng tiền =

Trong đó: n là số lượng mặt hàng đặt trong một lần

MH(i) là mặt hàng thứ i

Trang 30

Yêu cầu tra cứu :

Chức năng tra cứu thông tin về các mặt hàng được bày bán thông qua website đượcthực hiện khi khách hàng khi khách hàng cần tìm kiếm sản phẩm mình cần mua cũngnhư các thông tin liên quan đến sản phẩm

Kết quả xuất ra sau khi tra cứu: danh sách các mặt hàng (nếu có) theo tiêu chuẩn đãđược khách hàng đưa ra

2.2.3 Các yêu cầu giao tiếp

 Giao diện người sử dụng :

Lần đầu khi truy cập vào trang web người dùng sẽ nhìn thấy giao diện trang chủ vớicác menu chính như trang chủ, tin tức, đăng ký, liên hệ, sitemap Trong trang chủ làcác sản phẩm gồm có sản phẩm mới , sản phẩm bán chạy và danh mục các loại sảnphẩm.Nếu người dùng muốn đăng ký làm thành viên thì sẽ vào trang đăng ký thànhviên, cung cấp những thông tin cơ bản để lưu giữ thông tin khách hàng

 Giao tiếp phần cứng :

Cấu hình tối thiểu

 Processor : Pentium III 1.3GHz

 Giao tiếp truyền thông tin :

Hệ thống có sử dụng giao thức truyền email nội bộ, yêu cầu hệ thống phải có một hệthống mail server, hay là sử dụng hệ thống mail của yahoo, gmail, …

2.2.4 Các yêu cầu phi chức năng

 Yêu cầu thực thi :

Hệ thống phải online 24/24, thao tác cùng lúc nhiều yêu cầu truy nhập từ phía ngườidùng – khoảng trên 100 người cùng lúc

 Yêu cầu an toàn :

Trang 31

Hệ thống phải có một cơ chế khôi phục dữ liệu, giúp lưu trữ lại dữ liệu, bảo toànthông tin người dùng.

 Yêu cầu bảo mật:

Hệ thống phải bảo đảm an toàn thông tin về tài khoản cho người dùng, và an toànCSDL, phòng trống các hoạt động trộm cắp mật khẩu của người dùng, gây ảnh hưởngxấu đến tình trạng hoạt động của hệ thống

 Yêu cầu chất lượng phần mềm :

Yêu cầu hệ thống phải đáp ứng đầy đủ các nhu cầu đưa ra ban đầu, thực hiện các truyvấn chính xác, CSDL phải rõ ràng, minh bạch, dễ dàng lưu trữ, quản lý

 Yêu cầu môi trường hoạt động :

Hệ thống hoạt động hoàn toàn trên môi trường mạng internet

CHƯƠNG 3 – PHÂN TÍCH THIẾT KẾ

3.1 Sơ đồ Use-case

Trang 32

Hình 3 Sơ đồ Use- case

Trang 33

3.2 Phân tích User Case

3.2.1 Danh sách các tác nhân của mô hình

STT Tác nhân Ý nghĩa

1 Admin Người quản trị trang web

2 Administrator Người quản lý nội dung thông tin trang

web

3 User Khách hàng có tài khoản trong hệ thống

4 Anonymous User Khách hàng chưa có tài khoản trong hệ

thống

3.2.2 Đăng ký tài khoản

Mô tả Là nơi để khách đăng ký làm thành viên của trang web

Đối tượng Người chưa có tài khoản trong trang web

Thông tin đưa

vào Khách nhập thông tin cá nhân gồm: tên đăng nhập, email, mậtkhẩu, họ tên, giới tính , số điện thoại ,địa chỉ , trả lời mã xác nhận

Hệ thống xử

lý Kiểm tra thông tin người dùng xem có lỗi không, nếu có thì yêucầu nhập lại, nếu thành công thì lưu thông tin của người dùng vào

CSDL Điều kiện tiên

 Nếu mọi thông tin đều chính xác, hệ thống sẽ tự động đăng nhập với tên

và mật khẩu bạn vừa tạo, đồng thời gửi thông báo thành công đến địa chỉ email

mà bạn đã cung cấp khi đăng ký

Trang 34

 Khi người dùng hoàn tất đăng ký và nhấn nút Create New Account , nếu

hệ thống kiểm tra thông tin người dùng có lỗi, mật khẩu xác nhận không chínhxác hoặc tên đăng ký bị trùng thì sẽ quay trở lại giao diện đăng ký và báo lỗi đểngười dùng nhập lại thông tin chính xác

 Kết thúc Use Case

3.2.3 Đăng nhập

Mô tả Khi khách muốn thực hiện những chức năng cao hơn của

trang web thì phải đăng nhập làm thành viên

Đối tượng Là người đã có tài khoản, bao gồm khách hàng đã đăng kí

tài khoản , người quản lý , người quản trị Thông tin đưa vào Người dùng cung cấp thông tin tài khoản đã đăng ký thành

công gồm: tên đăng nhập, mật khẩu

Hệ thống xử lý Hệ thống khi nhận được thông tin của người dùng sẽ kiểm

tra trong CSDL, nếu thông tin đúng sẽ thực hiện việc đăngnhập cho người dùng, nếu không sẽ báo lỗi

Điều kiện tiên quyết Đã có tài khoản trong hệ thống

Thông tin trả về Thông tin mà hệ thống sẽ hiển thị cùng các chức năng mà hệ

thống cũng cấp cho từng nhóm người dùng

 Luồng sự kiện chính:

 Khi người dùng đăng nhập , điền thông tin ở các ô bên trái của website

 Người dùng cung cấp tên đăng nhập và mật khẩu sau đó nhấn nút Log in

 Hệ thống sẽ kiểm tra tên đăng nhập và mật khẩu

 Nếu đăng nhập thành công sẽ xuất hiện thông báo Đăng nhập thành công chongười dùng và cho phép sử dụng những chức năng tương ứng từng vai trò

Ngày đăng: 22/11/2014, 08:41

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[3] Drupal Vietnam: http://groups.drupal.org/vietnamese/ Tiếng Anh Link
[1] Drupal API Reference: http://api.drupal.org/ Link
[2] Drupal Handbooks: http://drupal.org/handbook/ Link
[1] Nguyễn Trường Sinh, Nxb Minh Khai, Sử dụng PHP & MYSQL thiết kế web động Khác
[2] TS. Dương Kiều Hoa – Tôn Thất Hoà An, Phân tích và thiết kế Hệ thống thông tin với UML Khác
[3] John K.VanDyk and Matt Westgate, Apress 2007, Pro Drupal Development Khác

HÌNH ẢNH LIÊN QUAN

Hình 1 Kiến trúc Drupal - nghiên cứu sử dụng drupal để xây dựng website bán hàng
Hình 1 Kiến trúc Drupal (Trang 16)
Hình 2 Nhân Drupal - nghiên cứu sử dụng drupal để xây dựng website bán hàng
Hình 2 Nhân Drupal (Trang 16)
Hình 3 Sơ đồ Use- case - nghiên cứu sử dụng drupal để xây dựng website bán hàng
Hình 3 Sơ đồ Use- case (Trang 31)
Hình 4 Sơ đồ tuần tự cho chức năng đăng nhập - nghiên cứu sử dụng drupal để xây dựng website bán hàng
Hình 4 Sơ đồ tuần tự cho chức năng đăng nhập (Trang 40)
Hình 5 Sơ đồ tuần tự cho chức năng quản lý tin tức - nghiên cứu sử dụng drupal để xây dựng website bán hàng
Hình 5 Sơ đồ tuần tự cho chức năng quản lý tin tức (Trang 41)
Hình 7 Sơ đồ tuần tự cho chức năng quản lý xóa sửa người dùng - nghiên cứu sử dụng drupal để xây dựng website bán hàng
Hình 7 Sơ đồ tuần tự cho chức năng quản lý xóa sửa người dùng (Trang 42)
Hình 8 Sơ đồ tuần tự cho chức năng quản lý vai trò người dùng - nghiên cứu sử dụng drupal để xây dựng website bán hàng
Hình 8 Sơ đồ tuần tự cho chức năng quản lý vai trò người dùng (Trang 43)
Hình 9 Sơ đồ tuần tự cho chức năng xem sản phẩm theo danh mục sản phẩm - nghiên cứu sử dụng drupal để xây dựng website bán hàng
Hình 9 Sơ đồ tuần tự cho chức năng xem sản phẩm theo danh mục sản phẩm (Trang 43)
Hình 10 Sơ đồ tuần tự cho chức năng quản lý giỏ hàng - nghiên cứu sử dụng drupal để xây dựng website bán hàng
Hình 10 Sơ đồ tuần tự cho chức năng quản lý giỏ hàng (Trang 44)
Hình 11 Sơ đồ tuần tự cho chức năng thanh toán đặt hàng - nghiên cứu sử dụng drupal để xây dựng website bán hàng
Hình 11 Sơ đồ tuần tự cho chức năng thanh toán đặt hàng (Trang 44)
Hình 12 Biểu đồ lớp - nghiên cứu sử dụng drupal để xây dựng website bán hàng
Hình 12 Biểu đồ lớp (Trang 45)
Bảng phân quyền người sử dụng - nghiên cứu sử dụng drupal để xây dựng website bán hàng
Bảng ph ân quyền người sử dụng (Trang 46)
Bảng này mô tả danh mục sản phẩm - nghiên cứu sử dụng drupal để xây dựng website bán hàng
Bảng n ày mô tả danh mục sản phẩm (Trang 47)
Bảng đặt hàng một loại sản phẩm. - nghiên cứu sử dụng drupal để xây dựng website bán hàng
ng đặt hàng một loại sản phẩm (Trang 48)
Bảng loại hình thanh toán - nghiên cứu sử dụng drupal để xây dựng website bán hàng
Bảng lo ại hình thanh toán (Trang 49)
Sơ đồ thực thể liên kết - nghiên cứu sử dụng drupal để xây dựng website bán hàng
Sơ đồ th ực thể liên kết (Trang 52)
Hình 14 Thiết kế giao diện trang chủ - nghiên cứu sử dụng drupal để xây dựng website bán hàng
Hình 14 Thiết kế giao diện trang chủ (Trang 54)
Hình 15 Thiết kế giao diện giỏ hàng - nghiên cứu sử dụng drupal để xây dựng website bán hàng
Hình 15 Thiết kế giao diện giỏ hàng (Trang 54)
Hình 17 Sitelink _ Khách hàng có tài khoản - nghiên cứu sử dụng drupal để xây dựng website bán hàng
Hình 17 Sitelink _ Khách hàng có tài khoản (Trang 56)
Hình 19 Tranh chủ - nghiên cứu sử dụng drupal để xây dựng website bán hàng
Hình 19 Tranh chủ (Trang 59)
Hình 20  Trang nội thất phòng khách - nghiên cứu sử dụng drupal để xây dựng website bán hàng
Hình 20 Trang nội thất phòng khách (Trang 60)
Hình 21 Trang tin tức - nghiên cứu sử dụng drupal để xây dựng website bán hàng
Hình 21 Trang tin tức (Trang 61)
Hình 22 Trang sản phẩm - nghiên cứu sử dụng drupal để xây dựng website bán hàng
Hình 22 Trang sản phẩm (Trang 62)
Hình 23 Trang giỏ hàng - nghiên cứu sử dụng drupal để xây dựng website bán hàng
Hình 23 Trang giỏ hàng (Trang 63)
Hình 24 Trang thanh toán - nghiên cứu sử dụng drupal để xây dựng website bán hàng
Hình 24 Trang thanh toán (Trang 64)
Hình 25  Trang đăng sản phẩm - nghiên cứu sử dụng drupal để xây dựng website bán hàng
Hình 25 Trang đăng sản phẩm (Trang 65)
Hình 26 Trang báo cáo 9 Trang quản lý người dùng - nghiên cứu sử dụng drupal để xây dựng website bán hàng
Hình 26 Trang báo cáo 9 Trang quản lý người dùng (Trang 66)
Hình 27 Trang quản lý người dùng - nghiên cứu sử dụng drupal để xây dựng website bán hàng
Hình 27 Trang quản lý người dùng (Trang 66)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w