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

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

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

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
──────── * ───────
ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
NGÀNH CÔNG NGHỆ THÔNG TIN
Đề tài:
NGHIÊN CỨU SỬ DỤNG DRUPAL ĐỂ XÂY
DỰNG WEBSITE BÁN HÀNG
Sinh viên thực hiện: Nguyễn Thị Thúy Nga
Lớp CNPM – K51
Giáo viên hướng dẫn: Ths.GVC Đỗ Văn Uy
HÀ NỘI 6-2011
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:
Lớp: CNPM-K51 Hệ đào tạo: Đại học
Đồ á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
Ths.GVC Đỗ Văn Uy.


Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép toàn văn của bất kỳ công
trình nào khác.
Hà Nội, ngày 27 tháng 05 năm 2011
Tác giả ĐATN
5. Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN và cho phép bảo
vệ:
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
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ần
chứ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
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 2
TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP 2
ABSTRACT OF THESIS 3
PHẦN MỞ ĐẦU 1

CHƯƠNG 1 – TỔNG QUAN LÝ THUYẾT VỀ DRUPAL 3
CHƯƠNG 3 – PHÂN TÍCH THIẾT KẾ 24
3.2.1 Danh sách các tác nhân của mô hình 26
3.2.2 . Đăng ký tài khoản 26
3.2.3. Đăng nhập 27
3.2.4 Tìm kiếm thông tin 28
3.2.4 Xem sản phẩm 28
3.2.5 Xem thông tin 29
3.2.6 Đưa hàng vào giỏ 29
3.3.1 Đăng nhập 34
3.6 Thiết kế giao diện 46
3.6 .1.Thiết kế giao diện bên ngoài 46
CHƯƠNG 4 - CÀI ĐẶT WEBSITE 52
4.1. Cài đặt ứng dụng và các modules sử dụng 52
4.1.1 Cài đặt 52
4.1.2 Các modules sử dụng 52
4.2. Hiện thực một số giao diện chính cho website 53
DANH MỤC CÁC HÌNH ẢNH
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ẩm
Hì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ết
Hình 19 Tranh chủ
Hình 20 Trang nội thất phòng khách
Hình 21 Trang tin tức
Hình 22 Trang sản phẩm
Hình 23 Trang giỏ hàng
HÌnh 24 Trang thanh toán
Hình 25 Trang đăng sản phẩm
Hình 26 Trang báo cáo
Hình 27 Trang quản lý người dùng
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át
triể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ường
khá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ải
phá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ếp
thị 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ới
khá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 vi
trong 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ừng

củ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ác
website đượ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ột
người không biết lập trình cũng có thể thiết kế website động với đầy đủ chức năng
thông qua mã nguồn mở. Đặc biệt là Drupal – một framework quản trị hệ thống
website ổ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 cho
Drupal được tin dùng cho các website lớn có lượng người truy cập cao như website
thươ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ầu
như 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 con
người trong mọi thời đại xã hội. Trong đó, nhà ở là điều kiện đầu tiên mà con người
phả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ằm
khô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ông
chỉ đơ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 ta
thoả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ần
nhâ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ận
dụ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
1
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ác

thà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ách
Khoa Hà Nội nói chung và các thầy cô trong viện Công Nghệ Thông Tin và Truyền
Thô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ảng
viên Bộ môn Công nghệ phần mềm, đã hướng dẫn em làm đồ án tốt nghiệp. Trong
suố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ướng
dẫ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ạy
con 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 được
nhiề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ủa
mình.
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 .
2
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ứ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 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
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.
Mặc dù đã rất nỗ lực, cố gắng nhưng do sự hạn chế về kiến thức và
Kinh nghiệm nên không thể tránh khỏi những sai sót . Em rất mong nhận được sự chỉ
bảo từ thầy hướng dẫn , cũnh như các thầy cô trong bộ môn để em có thể khắc phục
mở rộng và hoàn thiện hơn trong tương lai.
CHƯƠNG 1 – TỔNG QUAN LÝ THUYẾT VỀ DRUPAL
1.1 Tổng quan về hệ quản trị nội dung
3
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ết
tắ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ài
liệ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ết
với chương trình quản lý nội dung của website. Quản lý nội dung web (web content
management) 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, CMS
giố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át
triển web khác có thể sử dụng, t ùy biến, chỉnh sửa để CMS th ành một trang web
phụ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 dung
tớ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ửa
nộ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ạng
vă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ị.

• Chế độ Soạn thảo "Nhìn là biết" WYSIWYG

• Tùy biến giao diện

• Nhập và quản lý các tài liệu, video và các hình ảnh.

• Quản lý người dùng.

• Xác định người sử dụng chính và vai trò của mình trong hệ thống quản
lý nội dung.
• Một khả năng để chỉ định một số vai trò và quyền lợi cùng với hệ thống
quản lý tài liệu với các kiểu nội dung khác nhau các chuyên mục.
4
• Xác định cho việc quản lý và sơ đồ công việc của hệ thống,đưa ra định
nghĩ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ản
củ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ều
phiê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, kho
nà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ác
phươ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ủa

mộ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ạy
trê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ửa
nội dung thông qua một bảng quản trị mà sau đó sẽ hiển thị lên website. Thông
Thường có admins, copy wriers hoặc editors. Bằng cách sử dụng một hệ thống
kiể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ác
quy 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 trong
mộ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
dữ liệu.
• Tìm kiếm và lập chỉ mục.
• Quản lý các liên kết (URL).
1.1.3 Phân loại
Có nhiều kiểu CMS:
• W-CMS (Web CMS)
• E-CMS (Enterprise CMS)
• T-CMS (Transactional CMS): Hỗ trợ việc quản lý các giao dịch thương
mại điện tử.
• P-CMS (Publications CMS): Hỗ trợ việc quản lý các loại ấn phẩm trực
tuyến (sổ tay, sách, trợ giúp, tham khảo ).
5
• L-CMS/LCMS (Learning CMS): Hỗ trợ việc quản lý đào tạo dựa trên
nền Web.
• BCMS (Billing CMS): Hỗ trợ việc quản lý Thu chi dựa trên nền Web.
1.1.4 Một số CMS tiêu biểu :
• DotNetNuke (ASP.Net+VB/C#)
• [Liferay]] (Jsp, Servlet)

• Drupal (PHP)
• Wordpress (PHP)
• Magento (PHP)
• Joomla/Mambo (PHP)
• Kentico CMS (ASP.Net + VB/C#)
• PHP-Nuke (PHP)
• NukeViet (PHP)
• Rainbow (ASP.NET +C#)
• Typo3 (PHP)
• Xoops (PHP)
1.2 Lý do chọn hệ quản trị Drupal
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ậ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ầ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ống
Web 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ền
tảng modules (mô đun), mà trong đó mỗi module được một người hay một nhóm
ngườ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ác
qui ướ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ức
nă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âng
cấ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ình
khá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ột
tên miền (domain name), tên Image - dùng để xem hình, tên fckeditor - dùng để viết
bài (giống Microsoft Word). Người quản lý hay một lập trình viên có thể kết

nố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.
Ưu điểm của Drupal
6
- 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 động
giú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ượng
truy 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 so
vớ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ế theo
nhu 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ủa
website 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 SEO
luô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ốt
trên server Linux .
- Cho phép nhiều loại user groups , user permissions , OpenID trong phiên bản
Drupal 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 cho
câ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ản
Drupal 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 định
chọ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êng
cho đề 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
7
Trong thế giới thiết kế web, có khá nhiều hệ quản trị nội dung ( CMS) từ các loại
CMS 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ình
chọ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 Packt
luô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ống
quả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ông

minh 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át
triể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ểu
khác nhau. Node được quản lí nhờ hệ thống taxonomy cực mạnh. Cùng với các khái
niệm như :”term” được tổ chức có cấu trúc (chia nhiều cấp), và “vocabulary” trong
taxonomy 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úp
ngườ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ào
củ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ủa
Joomla! đượ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ép
nhiề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 URL
thâ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ủa
nhâ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ép
GNU/GPL 2.
• Cá nhân hóa – Có sẵn ngay trong nhân Drupal. Cả nội dung lẫn cách
trì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.
8
• Tìm kiếm – Mọi nội dung đều được đánh chỉ mục và có thể tìm kiếm
bở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ẩm
nguồ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ện
quả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ời
nhất. Drupal 7 cũng linh hoạt hơn với khái niệm trường tuỳ biến (Fields). Trường cho
phé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ính
cho 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, MS
SQL Server, Oracle… và thậm chí có thể mở rộng để hỗ trợ các dạng NoSQL. Hiện
nay, 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 đa
ngô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ưu
trữ. Một kiến trúc stack đơn giản về Drupal như sau :
9
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ựng
nê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.
Hình 2 Nhân Drupal
Tải Drupal Core từ website drupal.org có chức các công cụ cơ bản, là nền tảng để
xây dựng 1 website với đầy đủ chức năng.Drupal core được tích hợp sẵn trong bộ tải
về của Drupal. Các thành phần cơ bản của drupal core bao gồm có : content , file
uploads/downloads , menus , user accounts , roles and permissions , taxonomy , blogs,
discussion forums , online polls để tạo lập và quản lý một website. Drupal corel còn
cung cấp dụng cụ tìm kiếm , khả năng đa ngôn ngữ , thông báo lỗi ….
10
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 ra
HTML của các trang web, cùng với một hoặc nhiều file CSS để xác định bố trí, phông
chữ, 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à download
các themes khác tại trang www.drupal.org/project/themes và tiến hành cài đặt , chỉnh
sử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ào

Menu 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 ở website
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 drupal
core.
Một vài module phổ biến nhất là : ubercart , webform , views , panel , date and
calendar, 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ột
gó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).
11
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 dung
củ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ọn
Categories > 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ản

Drupal 6.x thì categories được gọi là Taxonomy. Là một người mới làm quen với các
CMS thì đây quả là một thuât ngữ khá mới mẻ. Một Categories được tổ chức theo cấu
trúc dạng cây giống như Forum. Từ một Vocabulary bạn có thể thêm các Term vào
trự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ột
câ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ũng
như 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 hay
khô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 menu
sẳn có . Trong đó Primary links menu chính, Navigation là thanh chứa các liên
kế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ất
tốt với Page,Story,Forum,Blog để đưa dữ liệu ra các vùng hiển thị trong
Drupal.
12
 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 cho
phé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ài
viế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ác
Story 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ững
bà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 đặt
Drupal 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ại
giống Page, Story. Một Book được tạo ra có thể xem như một cuốn sách cho
bạ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ều
chứ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 đụng
và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ỉ áp

dụ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ùng
hay IP nào đó. VD nếu như 1 quyền nào đó thiết lập rằng người dùng không
13
đượ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ẽ khai
bá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ạn
muố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 hay
thô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ười

dù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 user
hoặ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 hay
không ,thiết lập nội dung thư sẽ gửi đến thông báo cho người đăng ký, hình ảnh
ngườ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ách
hà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.

14
 Access log settings: cài đặt cho logs, khoảng cách bao lâu để log 1 lần. nội
dung…
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 module chí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ông
cần code
• Nhờ CCK, Views, Panels bạn có thể làm gần như mọi thứ mà không
phả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 :
2010
1. Wordpress
2. Drupal
3. Joomla
2009
1. Drupal
2. Wordpress
3. Joomla
2008
1. Drupal

2. Joomla , CMS Made Simple
2007
1. Joomla
2. Drupal
3. E107
1.3.7 Một số trang web viết bằng Drupal
• Các website chính thức từ Drupal
-Website chính thức của Drupal :
-DrupalSites – Danh mục các website sử dụng Drupal :
/>• Các website Drupal bằng tiếng việt
15
-Drupal Việt Nam - Cộng đồng người Việt nam sử dụng Drupal :
/> />-Mạng xã hội dành cho người Việt : />-Đại học FPT: />-Tổng đài điện thoại : />-Trang chia sẻ ảnh : />• Các trang web nước ngoài sử dụng Drupal
- />- />- />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
16
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ồm
nhiề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 chi
tiế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áy
tính) . Khách hàng đến tận nơi xem hàng , ưng ý sản phẩm thì đến đăng kí mua hàng
vớ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ác
quan 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ại

mộ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ủa
cử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úc
trự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ói
vớ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ác
cho 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ách
hà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ực
tuyế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ển
trong 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 website
quả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 đến
nay, 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
17
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ứu

cá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 tin
tứ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 kinh
doanh 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ản
phẩ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ỗi
sả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ến
sau khi đã đăng nhập. Khi khách hàng đăng nhập vào hệ thống , hệ thống phải cung
cấ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àn
thà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ời
gian đã 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ức
nă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ảng
cá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án
hà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ây
dự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.
18
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% giao
dị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ực
quả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ách
hà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ân
tí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ền
vớ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ủa
khá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ông
tin 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óc
cạnh của trang web.
- Nhóm người quản lý :
19

×