Thiết kế Website động Web động là Web có hệ thống cơ sở dữ liệu dùng để cung cấp thông tin choWebsite, điểm mạnh của Web động so với Web tĩnh là khả năng quản lý dữ liệuWeb tốt, khả năng
Trang 1MỤC LỤC
Trang 2DANH MỤC HÌNH ẢNH
Trang 3LỜI NÓI ĐẦU
Trong sự phát triển không ngừng của xã hội thì nhu cầu của con người vềcuộc sống ngày càng cao Công nghệ thông tin đóng một vai trò vô cùng quan trọngtrong việc phát triển nền kinh tế của đất nước ta theo cả chiều rộng và chiều sâu Từngười lớn đến trẻ nhỏ đều dễ dàng tiếp cận và sử dụng chúng trong công việc, họctập, giải trí, vui chơi
Từ những nhu cầu thiết yếu đó của con người, sự cạnh tranh giữa các doanhnghiệp, tổ chức, cá nhân đứng trước những nguy cơ tiềm ẩn do đó họ phải tìm cáchđánh bóng tên tuổi, thương hiệu của mình trên mạng Internet nên nhu cầu xây dựngmột Website hiện nay ngày càng trở nên phổ biến và có vai trò quan trọng trongviệc truyền tải thông tin trong xã hội và trở thành một kênh thông tin, quảng bá vàthương mại hiệu quả của các doanh nghiệp Các dịch vụ đó đa dạng về nhiều mặtvới nhiều cách đáp ứng khác nhau Chính vì thế, lập trình Web đã trở thành mộtlĩnh vực khá hấp dẫn của ngành Công nghệ thông tin
Sau đây là những lý do dễ thấy nhất về tầm quan trọng của Website:
- Tạo thương hiệu riêng của doanh nghiệp, cá nhân trên internet, tạo cơ hội tiếp xúcvới khách hàng ở mọi nơi và tại mọi thời điểm
- Có thể giới thiệu các sản phẩm và dịch vụ một cách sinh động và mang tính tươngtác cao
- Tạo cơ hội để bán sản phẩm hàng hóa một cách chuyên nghiệp mà tiết kiệm đượcchi phí
- Cơ hội phục vụ khách hàng tốt hơn, đạt được sự hài lòng lớn hơn từ khách hàng
- Tạo một hình ảnh chuyên nghiệp trước công chúng, công cụ hiệu quả để thực hiệncác chiến dịch quảng cáo và marketing
- Và đơn giản không có Website là doanh nghiệp, cá nhân đã mất đi một lượng kháchhàng tiềm năng lớn
Trước đây để xây dựng một trang Web phải tốn rất nhiều thời gian và côngsức, do đó các ngôn ngữ lập trình xây dựng Website cũng trở nên phong phú và đadạng nhằm trợ giúp cho người lập trình xây dựng Website nhanh hơn, đẹp hơn vàtối ưu hơn , trong thời gian gần đây nổi bật hơn hết là các CMS mã nguồn mở liên
Trang 4tục phát triển và được nhiều nhà lập trình lựa chọn Các CMS với tính dễ sử dụng,linh hoạt như Joomla, Drupal, WorldPress,
Trong đó Drupal là một trong những CMS được đánh giá tốt nhất và mềmdẻo nhất dành cho người lập trình Chính vì vậy em đã chọn Drupal để nghiên cứu
và phát triển ứng dụng Website Để tiếp cận và góp phần đẩy mạnh Drupal hơn nữa
trong đợt thực tập lần này em đã nghiên cứu về “Tìm hiểu về mã nguồn mở Drupal và ứng dụng vào xây dựng Website shop đồ chơi Việt cho công ty Antona – Hà Nội”
Trang 5CHƯƠNG 1: CƠ SỞ LÝ THUYẾT.
1.1. Tổng quan về thương mại điện tử
1.1.1 Khái niệm về thương mại điện tử.
Thương mại điện tử hay còn gọi là e-commerce, e-comm hay EC Thươngmại điện tử bao gồm việc sản xuất, quảng cáo, bán hàng và phân phối sản phẩmđược mua bán và thanh toán trên mạng Internet, nhưng được giao nhận một cáchhữu hình, cả các sản phẩm giao nhận cũng như những thông tin số hoá thông quamạng Internet Thương mại điện tử đang trở thành một cuộc cách mạng làm thayđổi cách thức mua sắm của con người
Thương mại điện tử có thể được phân chia thành:
- E-tailing (bán lẻ trực tuyến) hoặc "cửa hàng ảo" trên trang Web với các danhmục trực tuyến, đôi khi được gom thành các "trung tâm mua sắm ảo"
- Việc thu thập và sử dụng dữ liệu cá nhân thông qua các địa chỉ liên lạc Web
- Trao đổi dữ liệu điện tử (EDI), trao đổi dữ liệu giữa Doanh nghiệp vớiDoanh nghiệp
- Email và fax và các sử dụng chúng như là phương tiện cho việc tiếp cận vàthiếp lập mối quan hệ với khách hàng (ví dụ như bản tin - newsletters)
- Việc mua và bán giữa Doanh nghiệp với Doanh nghiệp
- Bảo mật các giao dịch kinh doanh
1.1.2 Lợi ích của thương mại điện tử
1.1.2.1. Lợi ích của thương mại điện tử đối với doanh nghiệp
- Mở rộng thị trường: Với chi phí đầu tư nhỏ hơn nhiều so với thương mạitruyền thống, các công ty có thể mở rộng thị trường, tìm kiếm, tiếp cận người cungcấp, khách hàng và đối tác trên khắp thế giới Việc mở rộng mạng lưới nhà cungcấp, khách hàng cũng cho phép các tổ chức có thể mua với giá thấp hơn và bánđược nhiều sản phẩm hơn
Trang 6- Giảm chi phí sản xuất: Giảm chi phí mặt bằng, chi phí nhân công Giảmchi phí giấy tờ, giảm chi phí chia sẻ thông tin, chi phí in ấn, gửi văn bản truyền thống.
- Chi phí đăng ký kinh doanh: Một số nước và khu vực khuyến khích bằngcách giảm hoặc không thu phí đăng ký kinh doanh qua mạng Thực tế, việc thu nếutriển khai cũng gặp rất nhiều khó khăn do đặc thù của Internet
- Cải thiện hệ thống phân phối: Giảm lượng hàng lưu kho và độ trễ trongphân phối hàng Hệ thống cửa hàng giới thiệu sản phẩm được thay thế hoặc hỗ trợbởi các showroom trên mạng
- Vượt giới hạn về thời gian: Việc tự động hóa các giao dịch thông qua Web
và Internet giúp hoạt động kinh doanh được thực hiện bất cứ thời gian nào luôn đảmtiêu chuẩn 24/7
- Giảm chi phí thông tin liên lạc, giao thông vận tải, thời gian trao đổi giữacác doanh nghiệp
- Các lợi ích khác: Nâng cao uy tín, hình ảnh doanh nghiệp, cải thiện chấtlượng dịch vụ khách hàng, đối tác kinh doanh mới, đơn giản hóa và chuẩn hóa cácquy trình giao dịch, tăng năng suất, giảm chi phí giấy tờ, tăng khả năng tiếp cậnthông tin và giảm chi phí vận chuyển, tăng sự linh hoạt trong giao dịch và hoạt độngkinh doanh
1.1.2.2. Lợi ích của thương mại điện tử đối với người tiêu dùng
- Người tiêu dùng dễ dàng tham khảo thông tin về các sản phẩm và dịch vụ, so sánh giá
cả, chất lượng mẫu mã của nhiều nhà cung cấp trước khi quyết định mua hàng
- Người tiêu dùng có thể mua hàng ở bất cứ đâu, vào bất cứ lúc nào, thanh toán quamạng và được giao hàng tận nơi (trong điều kiện cho phép), tiết kiệm thời gian, tiềnbạc và công sức
- Các cá nhân có thể mua bán, trao đổi với nhau các nhu cầu mua bán giữa cá nhânvới cá nhân, các vật dụng cũ, các đồ sưu tầm với những hình thức mới như đấu giá,bán lẻ trên phạm vi toàn cầu
- Người tiêu dùng có thể khai thác một nguồn thông tin khổng lồ trên mạng Internet,
dễ dàng tìm ra sản phẩm và dịch vụ phù hợp nhất của các nhà cung cấp ở khắp nơitrên thế giới
Trang 7- Với những tiện ích của Internet, người tiêu dùng được hưởng lợi khi sản phẩm cóthể được bán với giá thấp hơn so với các kênh phân phối khác.
- Các dịch vụ như ngân hàng, giáo dục …sẽ có cách phục vụ tiện lợi hơn và đỡ mấtthời gian và công sức của người sử dụng
1.1.2.3. Lợi ích của thương mại điện tử với xã hội
- Hoạt động trực tuyến: Thương mại điện tử tạo ra môi trường để làm việc, mua sắm,giao dịch từ xa nên giảm việc đi lại, ô nhiễm, tai nạn
- Nâng cao mức sống: Nhiều hàng hóa, nhiều nhà cung cấp tạo áp lực giảm giá do đókhả năng mua sắm của khách hàng cao hơn, nâng cao mức sống của mọi người
- Lợi ích cho các nước nghèo: Những nước nghèo có thể tiếp cận với các sảnphẩm, dịch vụ từ các nước phát triển hơn thông qua Internet và thương mại điện tử.Đồng thời cũng có thể học tập được kinh nghiệm, kỹ năng được đào tạo qua mạng
1.1.3 Khái niệm về bán hàng trực tuyến.
Đây là hình thức mua bán xảy ra hoàn toàn tại cửa hàng ảo mà người bánmuốn trưng bày sản phẩm của họ bằng các hình ảnh thực tế sinh động trên mộtWebsite Người mua có quyền lựa chọn sản phẩm, đặt mua và thanh toán bằng hìnhthức điện tử Sau đó họ sẽ có được những mặt hàng này tại nhà Hình thức này tậndụng nhiều ưu điểm như giảm việc chi phí thuê nhân viên, thuế
Có thể nói một điều thuận tiện nhất mà các nhà mua bán đã vận dụng được làtận dụng tính năng đa phương tiện của môi trường Web, để trang trí trang Web saocho thật hấp dẫn và thuận tiện trong việc trưng bày sản phẩm dưới các hình thứckhác nhau
1.2. Tổng quan về thiết kế Website
Trang 81.2.2 Thiết kế Website tĩnh
Thiết kế Web tĩnh là sử dụng các đoạn mã HTML (HTML5), hình ảnh,Video, Audio, Flash, Javascript (jQuery) và CSS để tạo một giao diện cho trangWeb và tên tập tin được lưu có phần mở rộng là: html hoặc htm Trong thiết kếWeb tĩnh không có hệ cơ sở dữ liệu như MySQL hay MSSQL
Đối với một Website tĩnh, khi muốn thay đổi giao diện cho các trang Webcon thì người viết phải thay đổi bằng tay cho từng trang một do vậy Web tĩnh có 3điểm yếu là:
- Khó thay đổi giao diện một cách đồng bộ
- Khó thay đổi nội dung nếu như người quản lý trang Web không có kiến thức vềHTML
- Không có khả năng tương tác Web
Trong các Web tĩnh thế hệ mới, đã được bổ sung thêm chức năng thay đổigiao diện hàng loạt Các trang Web tĩnh này sẽ có phần đuôi mở rộng thay vì html
và htm mà là php, aspx, jsp, asp Trong Web PHP tĩnh, các mã HTML đều đượcgiữ nguyên chỉ thêm một cú pháp để gọi thư viện template
Thư viện template là một tập tin chứa giao diện của toàn bộ trang Web và cóphần mở rộng là tpl Khi người quản trị trang thay đổi các file template này thì giaodiện trang Web sẽ thay đổi theo
Như vậy với các Website tĩnh thế hệ mới chỉ kém Website động ở khâu cậpnhật nội dung và thực thi các tương tác trên nền Web
1.2.3 Thiết kế Website động
Web động là Web có hệ thống cơ sở dữ liệu dùng để cung cấp thông tin choWebsite, điểm mạnh của Web động so với Web tĩnh là khả năng quản lý dữ liệuWeb tốt, khả năng tương tác trên hệ thống Web, dễ dàng cập nhật nội dung và thêmcác tính năng tiện ích quản lý cho doanh nghiệp và thân thiện với người dùng
Trong giai đoạn khởi đầu của Website, có rất nhiều ngôn ngữ lập trình được
sử dụng như: JSP, ASP, PHP, ASP.NET, JSP (Java), Cold Fusion, Perl, Python vàmột số ngôn ngữ không phổ biến khác Nhưng hiện tại có 2 ngôn ngữ được dùngphổ biến là PHP và ASP.NET
Trang 9PHP được dùng trên các máy chủ lưu trữ Web dùng hệ điều hành Linux như:CenOS, Debian, Fedora, RedHat, Ubuntu các file có phần mở rộng là php hoặcphp3 và thường theo cấu trúc LAMP Ở một số máy chủ lưu trữ Web còn hỗ trợPHP trên nền Windows với cấu trúc WAMP.
PHP là ngôn ngữ được sử dụng phổ biến nhất trên thế giới, dựa vào PHP, cáclập trình viên đã xây dựng các mã nguồn mở nổi tiếng như Joomla, Wordpress,Drupal, Mambo, phpBB, Zend Đây là các ứng dụng Web được sử dụng để xâydựng các trang Website động, người dùng không nhất thiết phải biết viết ngôn ngữlập trình mà vẫn có thể tạo ra những Web động
ASP.NET được dùng trên các máy chủ lưu trữ Web dùng hệ điều hành củaMicrosoft như Windows Server 2003, Windows Server 2008 Các file có phần mởrộng là aspx hoặc asp
Để đưa Website lên mạng điều đầu tiên là cần một máy chủ lưu trữ Web vàmáy chủ này phải được kết nối Internet liên tục Trong các giải pháp lưu trữ trênmạng có thể sử dụng: Share Hosting - tức mua một dung lượng nhất định trên máychủ, VPS - tức một máy chủ chạy với công nghệ ảo hóa, Dedicated Server - mộtmáy chủ vật lí.Và một tên miền cho Website để định hướng được người dùng truycập vào Website của bạn
Hiện tại, Web động được thiết kế trên nền mã nguồn mở đang rất được ưachuộng và thịnh hành Mã nguồn mở đang trở thành một xu hướng mới, một ngườikhông biết lập trình cũng có thể thiết kế Website động với đầy đủ chức năng thôngqua mã nguồn mở
1.2.4 Thiết kế Website mã nguồn mở
Website mã nguồn mở là Website được xây dựng trên các nguyên tắc tự do
và nguồn mở Mã của trang Web là mở và miễn phí, và các tiêu chuẩn Web cho cáctrang Web được mở và dễ tiếp cận cho tất cả mọi người Hầu hết các nhà cung cấphàng đầu cung cấp phần mềm miễn phí và nguồn mở, và điều này chỉ có ý nghĩa khitrang Web của bạn cũng duy trì tinh thần mở như vậy
Trang 10Một số các trang Web thành công nhất và đáng tin cậy khi sử dụng hệ thốngquản trị nội dung mã nguồn mở và miễn phí như: Wordpress (blog), Joomla Drupal(đối với quản lý nội dung trang Web nói chung), và Magento (đối với thương mạiđiện tử).
• Magento: Ra đời vào cuối tháng 3 năm 2008 trên nền tảng Zend Framework, được
phát triển vởi Varien và cộng đồng lập trình viên mã nguồn mở nhưng lại được sởhữu bở Magento Inc Với trên 150 000 Website áp dụng Magento, nó đã cho thấysức lan tỏa của mình
• Ở Việt Nam, cũng đã có khá nhiều Website bán hàng lớn sử dụng mã nguồn mởmagento
- Wordpress: Đây là mã nguồn mở phổ biến nhất hiện nay, được xây dựng từ PHP vàMySQL.Kể từ khi ra đời năm 2013 dưới dạng blog đơn giản, nó đã được cải tiến vàphát triển mạnh mẽ ở thời điểm hiện tại Giao diện Wordpress đẹp, nhiều chức năngvới các plugin tích hợp được chia sẻ rộng rãi, bạn dễ dàng tạo cho mình mộtWebsite chuyên nghiệp
- Joomla: Là mã nguồn ra đời năm 2005, xây dựng từ PHP và MySQL, kế thừa từMambo và trở thành 1 trong những mã nguồn phổ biến nhất hiện nay với lượng tải
về lên tới hơn 23 triệu Joomla nằm trong top 3 bảng xếp hạng CMS ở bất cứ đâu.Đây là mã nguồn hỗ trợ việc thiết kế Website đặc biệt là trong việc thiết kế Websitebán hàng, trang Web tạo bằng Joomla nhẹ, và được xây dựng hàng trăm extension,plugin giúp xây dựng Website
- Drupal: Là một trong những cái tên lâu đời trong CMS Ra đời năm 2001 và đượctách làm 2 phần chính: Core (xây dựng bở các lập trình viên) và module (phát triểnbởi cộng đồng) Tính tới nay, có khoảng hơn 9000 module Drupal Giống nhưJoomla, Drupal cũng xây dựng bằng PHP nhưng lại dựa trên nhiều loại database:MySQL, SQLite, MariaDB, Microsoft SQL Server
Trang 111.2.5 Xác định mục đích, yêu cầu của Website cần thiết kế
Mục tiêu, yêu cầu cơ bản của WebSite
• Đề ra mục tiêu khái quát, ngắn gọn, rõ ràng của Website cần thiết kế
• Là công cụ để đánh giá sự thành bại của một Website
• Mục tiêu phải dài hạn, bao trùm toàn bộ kế hoạch phát triển
Đối tượng phục vụ
• Xác định loại đọc giả chính của Website
• Tìm hiểu về: Sự hiểu biết, Trình độ, Sở thích, Kinh nghiệm duyệt Web …
• Thiết kế tốt là thích hợp cho một dải rộng các khách hàng có trình độ và nhu cầukhách nhau đều có thể sử dụng được
Chủ đề của WebSite
• Giúp định hướng cho nhà thiết kế: Giáo dục, huấn luyện (online trainning), tin tức,giải trí, diễn đàn trao đổi thảo luận, mua bán, quản lý, …
1.2.6 Thiết kế giao diện
Điểm khác biệt giữa tài liệu thông thường và trang Web
• Giống nhau: phải được trải qua sự phát triển và chuẩn hóa
• Khác nhau:
o Các mối liên kết siêu văn bản, multimedia…
o Cho phép người đọc truy nhập đến một trang đơn lẻ mà không cần đến lời tựa đề
o Tìm kiếm nhanh và đơn giản hơn
o Có thể quay lại một loạt các liên kết
Một số vấn đề liên quan đến việc thiết kế giao diện cơ bản
• Thiết kế hướng tới người sử dụng
Trang 12• Các giúp đỡ định hướng rõ ràng
• Không có trang cuối cùng (dead_end)
• Băng thông và ảnh hưởng
• Đơn giản và tính nhất quán
• Tính ổn định của các trang Web
• Phản hồi và đối thoại
• Tính tương thích trên các trình duyệt khác nhau (thay thế)
• Thiết kế hướng tới người sử dụng
- Thiết kế giao diện WebSite
• Xác định kiểu chữ, màu sắc
• Xác định kích thước khung nhìn
• Xác định các kỹ thuật, công cụ thiết kế
• Cắt đoạn, tóm lược thông tin
• Hệ thống Menu điều khiển, các liên kết giữa các trang
• Xác định cấu trúc WebSite
1.2.7 Các thành phần cơ bản của Website
Trang chủ (HomePage)
• Mọi Website đều được thiết lập quanh Homepage
• Điều kiện cơ bản để Website thành công
• Lưu ý khi sử dụng hệ thống đồ họa
Hệ thống Menu, Logo, định danh
• Hệ thống menu phải rõ ràng, đầy đủ sẽ giúp đọc giả hình dung được cấu trúc, tổchức Website
• Cần quan tâm đến vị trí, các thể hiện (có hay không có hiệu ứng)
• Vị trí logo, định danh công ty phải cố định nhất quán
Các trang thành viên
• Xây dựng theo cấu trúc cơ bản của Website
• Nhất quán, phù hợp với các thuộc tính đã định dạng trước
1.3. Tổng quan về Drupal.
Trang 13- Drupal là hệ quản trị nội dung (CMS) mã nguồn mở trên nền Web do nhàsáng lập người Bỉ tên là Dries phát triển từ năm 2000 Drupal ban đầu là một ứngdụng dạng bảng tin (news-board) do nhà sáng lập viết ra như một nhu cầu giải trítrong mạng máy tính (intranet) của trường đại học Antwerp, nơi anh học Ứng dụngWeb ban đầu thậm chí còn chưa có tên cho tới khi Dries tốt nghiệp trường đại học
và bắt đầu đưa ứng dụng lên mạng Internet Tên ban đầu dự định đặt là "dorp.org"(theo tiếng Hà Lan là "village" ý muốn nói tới một cộng đồng nhỏ trên mạng), tuynhiên, Dries khi đăng ký tên miền này đã gõ nhầm thành "drop.org" và trở thành tênmiền chính của ứng dụng Web do anh tạo ra Về sau này, khoảng đầu năm 2001,Dries đã quyết định đổi tên "drop.org" thành "Drupal.org" với chữ "Drupal" (đọc là
"droo-puhl") theo phiên âm từ tiếng Hà Lan vẫn có nghĩa là "drop"
- Drupal được biết tới và sử dụng tại Mỹ, Châu Á và Châu Âu bắt đầu từphiên bản 4 và nổi tiếng thật sự từ bản Drupal 6 Tính tới thời điểm hiện tại, Drupal
6 vẫn đang là nền tảng cho khá nhiều Website trên toàn thế giới Năm 2011, Drupal
7 ra đời và thực sự đánh dấu là bước ngoặt của Drupal khi đã tiến hành tích hợphàng loạt những mô-đun quan trọng vào nhân và hỗ trợ rất nhiều công nghệ Webmới, hiện đại, bao gồm HTML 5, CSS 3, và JQuery / JQuery UI… được cộng đồngphát triển Web mã nguồn mở nồng nhiệt chào đón và đánh giá rất cao
1.3.1 Lý do chọn hệ quản trị Drupal
Trang 14• 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 Websitelớn có lượng người truy cập cao Sự linh hoạt trong nền tảng của Drupal giúp chocá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ì
• Đối với những Website càng lớn và phức tạp, Drupal càng chứng tỏ sự ổn định, tincậy, kinh tế và hiệu quả Khác với Joomla, một CMS đang ngày càng trở nên lỗithời, và Wordpress, dành cho Web cá nhân và blog nhỏ lẻ, Drupal nổi lên và tiến xanhờ tầm nhìn thiên tài của nhà sáng lập người Bỉ Dries cùng hàng ngàn nhà pháttriển Web trên toàn thế giới Drupal cung cấp những hook, một dạng phép màu, chophép nhà phát triển Web có khả năng tương tác rất cao vào toàn bộ hệ thống (cảcore), giải đáp được gần như tất cả những bài toán khó nhất Một trong những điểmmạnh khác cần nhắc tới là Drupal luôn nhanh chóng tích hợp những công nghệ Webhiện đại nhất thế giới như JQuery, HTML 5 và CSS 3 vào trong hệ thống nhân củamình
• 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ớicác mô hình khác như Joomla, Wordpress, là Drupal phát triển dựa trên nền tảngmodules (mô đun), mà trong đó mỗi module được một người hay một nhóm ngườiphá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 ướcthô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ănghơ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ấpcũ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, dưới sự phát triển của cộng đồng nhà pháttriển đã có trên cả hàng nghìn các modules
Ưu điểm của Drupal
Trang 15- 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ượ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
- 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
- Cộng đồng Drupal là mạnh hơn Joomla, dễ dàng luôn luôn nhận được câu trả lờicho câu hỏi Drupal trong diễn đàn của họ, điều này khó mà tìm thấy được ở trongdiễn đàn Joomla
- Và còn nhiều lợi thế khác nữa …
Tuy nhiên ở Drupal vẫn còn tồn tại những nhược điểm như :
- Điểm hạn chế duy nhất của Drupal, và có lẽ cũng là điểm mà khiến nhiều ngườimới gia nhập cảm thấy choáng và e ngại, đó là yêu cầu về trình độ của developer(nhà phát triển Web) phải ở mức từ trung bình khá trở lên
- 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
1.3.2 Các ứng dụng phổ biến của Drupal.
Trang 16- Website thảo luận, Website cộng đồng
- Website nội bộ (Intranet), Website doanh nghiệp
- Website cá nhân
- Website thương mại điện tử
- Thư mục tài nguyên
- Hệ thống quản lý công trình phát triển phần mềm
- Hệ thống quản lý quan hệ khách hàng
1.3.3 Một số thành phần chính trong Drupal.
Trên thanh quản trị của hệ thống Drupal có thanh menu gồm :
Dashboard – trang tổng hợp nội dung và tài khoản người dùng
Store – Báo cáo: gồm báo cáo về các sản phẩm, khách hàng đặt mua sản phẩm,người dùng đăng ký Website
Content – quản lý nội dung: quản lý toàn bộ nội dung Website như tin tức, sảnphẩm, thông tin về công ty…
Structure – quản lý cấu trúc Website:
- Block: Block là một kiểu dữ liệu đặc biệt chỉ dùng để lưu trữ những đoạnthông tin ngắn, video hoặc hình ảnh để đặt vào một số vị trí thích hợp trên Website.Block khác với node ở chỗ, block chỉ có một trường body duy nhất để đưa dữ liệuvào trong khi node có thể bao gồm rất nhiều trường dữ liệu riêng
- Content type: Hiểu đơn giản nó là 1 kiểu nội dung, người thiết kế raWebsite (admin) phải tạo ra để cho người sử dụng cập nhật, tạo bài viết Ví dụ như
ta làm 1 Website đơn giản cho công ty, hiển thị sản phẩm và giá của nó, vậy loại nộidung này là sản phẩm Cơ bản sau khi cài đặt xong Drupal, mặc định ta sẽ có 2content type là article và basic page, thường thì Website nào cũng sử dụng nó
- Menu (Path): Menu là hệ thống tạo và quản lý những đường dẫn (path)trong toàn bộ hệ thống Drupal Thông thường mặc định sẽ có main menu làm menuchính cho Website
- Taxonomy: Taxonomy là tên gọi khác của Category, tiếng Việt nghĩa là
"phân loại" Mục đích của mô-đun này là tạo ra danh sách những tên riêng, ví dụ
Trang 17Tên quốc gia, tên loại sản phẩm (máy tính, bàn ghế….), loại hoa quả (táo, dưachuột…) Những phân loại này sau đó sẽ được dùng trở lại để định nghĩa cho cáctrường dữ liệu trong kiểu nội dun Taxonomy đặc biệt quan trọng trong việc phânloại nội dung phục vụ cho việc tìm kiếm và lọc thông tin trong Website khi cần.
- Views: là một phần quan trọng nhất trong nội dung Websites Views làmột module quan trọng trong Drupal, dùng để đưa ra các thông tin có chọn lọc theođiều kiện cụ thể của người dùng
Vì Views của Drupal vô cùng linh hoạt và mạnh mẽ, nên chúng
ta hoàn toàn có thể dùng views để tạo ra rất nhiều chức năng choWebsite mà các CMS khác không thể làm được Views giúp cho chúng
- User, Permission, Role: Mỗi người truy cập vào trang Web của bạn, cho
dù họ có tài khoản và đăng nhập hoặc ghé thăm trang Web nặc danh, được xem làmột người sử dụng Drupal Mỗi người sử dụng có số ID, và người người sử dụngkhông phải vô danh có tên người dùng và địa chỉ email Các thông tin khác cũng cóthể được liên kết với người sử dụng bởi các module
Modules – quản lý cài đặt, kích hoạt, phân quyền module: Module là phần mềm(mã) mở rộng các tính năng Drupal hoặc các chức năng, là một bộ mã PHP và cáctập tin hỗ trợ có cấu trúc tích hợp vào trong Drupal Nói một cách tổng quát,module là tập hợp gồm một hoặc nhiều đoạn code thực hiện chức năng xác địnhtrong một hệ thống
Các module core được tích hợp trong bộ tải về của Drupal, có thể bật chứcnăng của của nó mà không cần cài đặt phần mềm bổ sung Các module đóng gópđược tải về trong mục download các module của Drupal.org, và cài đặt trong thư
Trang 18mục cài đặt Drupal Các lập trình viên có thể tạo ra các module của riêng mình, điềunày đòi hỏi một sự hiểu biết thấu đáo về Drupal, lập trình PHP và các module củaDrupal API.
Configuration – cấu hình Website: Cấu hình Website gồm có những nội dung quantrọng như kiểu dáng ảnh, ngôn ngữ, bản đồ, style chữ …
Reports – báo cáo về tình trạng hệ thống
Help – trợ giúp
1.3.4 Các bước cài đặt Drupal CMS
Để cài đặt Drupal CMS vào Website chạy trên hosting ta tiến hành cácbước như sau:
• Download và unzip phiên bản Bootstrap mới nhất tại địa chỉ https://www.Drupal.org/project/bootstrap
• Upload toàn bộ thư mục bootstrap vào thư mục gốc
file default.settings.php thành settings.php Đảm bảo file mới này có thể ghi được(bỏ chế độ "read only" nếu có)
• Trong bước đầu tiên Choose profile, bạn sẽ có hai lựa chọn Standard và Minimal Bạn nên chọn kiểu cài đặt
- Standard vì nó sẽ giúp bạn cài đặt đầy đủ những tính năng cần thiết choviệc quản lý Website, còn kiểu cài đặt
- Minimal chỉ kích hoạt một số tính năng, bấm Save and continue để tiếp tục
Trang 19• Đến bước Choose language, mặc định chỉ có duy nhất ô chọn English in) Bấm Save and continue để chuyển sang bước tiếp theo trong quá trình cài đặtDrupal.
(built-• Bước verify requirements không cần thiết khi cài đặt trên server Nên tiếntrình cài đặt chuyển qua bước set up database Drupal sẽ hỏi bạn nhập thông tin chodatabase, bạn nhập tên database bạn vừa tạo ở phần trên Phần user và password bạn
có thể tạm sử dụng user root đã có sẵn khi cài đặt
Trang 20• Khi bước Install profile hoàn tất thì bạn tiến hành khai báo các thông tin liênquan đến Website cần tạo, như Site name - tên Website, Site email address - địa chỉemail, nhận thông tin về tình trạng Website, Username - tên tài khoản quản trị,Password và Confirm password.
• Nhấn Save và Continue vậy là ta đã hoàn thành quá trình cài đặt Drupal trênserver.Tuỳ theo cấu hình mạnh yếu máy tính của bạn mà thời gian chờ sẽ lâu hoặcnhanh Nếu không có lỗi nào bất thường, Website Drupal của bạn sẽ được tạo thànhcông và bạn sẽ được chuyển thẳng tới trang chủ mặc định của Website mới vừa tạo
1.3.5 Responsive Website.
Hiện nay các thiết bị di động ngày càng phổ biến vì vậy việc thiết kế Webtương thích cho các thiết bị di động là điều rất quan trọng Ngày nay có rất nhiềuthiết bị di động phổ biến như điện thoại, máy tính bảng,… với nhiều hệ điều hành,nhiều kích thước màn hình khác nhau nên việc một Website không tối ưu cho cácthiết bị di động sẽ có thể mất đến 75% khách hàng đến từ các thiết bị di động Dướiđây là bảng thống kê lượng khách vào một tháng của một Website gần 60% nguồntruy cập đến từ các thiết bị di động
Trang 21Trong đó, việc phát triển và ứng dụng các giải pháp thương mại điện tử trênnền tảng công nghệ di động để hỗ trợ hoạt động kinh doanh đang trở thành một xuhướng mới của thương mại điện tử Việt Nam và thế giới Theo Báo cáo mới nhấtthương mại điện tử Việt Nam năm 2014, ước tính doanh thu được từ thương mạiđiện tử (B2C - từ doanh nghiệp đến người tiêu dùng) đạt 2,97 tỷ USD, tăng 35% sovới năm 2013 và chiếm 2,12% tổng mức bán lẻ hàng hóa của cả nước Bên cạnhhình thức truy cập Internet truyền thống qua máy tính xách tay, người tiêu dùngViệt Nam đang dần chuyển hướng sang sử dụng các thiết bị di động để truy cậpInternet.
Do đó, với một Webiste xây dựng bằng Drupal thì việc responsive trên điệnthoại sẽ đơn giản và được hỗ trợ nhiều hơn so với các mã nguồn mở khác
Trang 22CHƯƠNG 2: KHẢO SÁT HIỆN TRẠNG - PHÂN TÍCH
VÀ THIẾT KẾ HỆ THỐNG2.1. Khảo sát thực tế.
- Trong quá trình làm đồ án tốt nghiệp em đã khảo sát thực tế tại Công ty
Cổ phần thiết bị kỹ thuật và đồ chơi an toàn Việt Nam – Antona tại địa chỉ Lô CN1, KCN vừa và nhỏ Từ Liêm, Minh Khai, Từ Liêm, Hà Nội
A2 Đồ chơi trẻ em là sản phẩm vô cùng thông dụng, không thể thiếu trong đờisống hàng ngày nhằm hỗ trợ sự phát triển tư duy,trí tuệ cho trẻ nhỏ Trên thị trườngViệt Nam hiện nay đang tràn ngập rất nhiều các mặt hàng đồ chơi không an toàn,đảm bảo chất lượng, thậm chí có thể chứa những chất độc hại ảnh hưởng tới sứckhỏe của trẻ em Là nỗi lo ngại của các bậc phụ huynh khi lựa chọn đồ chơi cho bé.Theo các cơ quan chức năng các sản phẩm đồ chơi không rõ nguồn gốc là vấn nạngây ảnh hưởng xấu chứa đầy sự nguy hiểm và nguy cơ tổn hại cho sức khỏe của trẻnhỏ
- Thực tế trên thị trường hiện nay cho thấy hai xu hướng lựa chọn đồ chơi:một là quan tâm tới hình thức và giá cả do vậy nhiều người lựa chọn đồ chơi theomẫu mã kiểu dáng đẹp mà ít quan tâm tới nguồn gốc xuất sứ cũng như chất lượngsản phẩm Hai là,chú trọng đến chất lượng và nguồn gốc đảm bảo về mặt kiểu dáng,chất lượng và những lợi ích mà đồ chơi mang lại cho trẻ nhỏ (xu hướng mua đồchơi ngoại nhập) Do đó, đồ chơi trong nước ngày càng mất dần ưu thế với số lượngsản phẩm vô cùng khiêm tốn
- Công ty Cổ phần thiết bị kỹ thuật và đồ chơi an toàn Việt Nam – Antonavới tiêu chí chơi đúng cách, đúng thời điểm, an toàn đã đưa ra 37 dòng sản phẩmphù hợp với mọi lựa tuổi nhằm đáp ứng nhu cầu của thị trường với điểm mạnh: đảmbảo chất lượng an toàn tuyệt đối 100%, không chất độc hại, không nhựa tái chế ….Quá trình sản xuất tuân thủ các tiêu chuẩn kỹ thuật Quốc tế: EN71, ASTM F963 vàQCVN3:2009 mang lại niềm tin cho mỗi gia đình khi lựa chọn đồ chơi cho bé
- Thực tế, trên thị trường tiêu thụ tỷ lệ đồ chơi Việt chỉ chiếm khoảng 10%
số còn lại là đồ chơi ngoại nhập Với những điểm mạnh của Antona mang lại như
Trang 23sản xuất tại Việt Nam, là đồ chơi thông minh, chất lượng tốt, đảm bảo an toàn tuyệtđối Câu hỏi đặt ra cho mỗi người: Antona với nhiều điểm mạnh tại sao lượng tiêuthụ chỉ chiểm khoảng 10% ? Lý do Antona không thể cạnh tranh với đồ chơi ngoạinhập? Giải pháp đưa ra để giúp lấy lại vị thế cho đồ chơi Việt?
Câu trả lời cho những thắc mắc trên là:
- Bản thân công ty Antona còn chứa nhiều tồn đọng, trong quá trình làmviệc bộ phận chịu áp lực nhiều nhất đó chính là bộ phận kinh doanh Vấn đề cầngiải quyết nhằm tăng lượng khách hàng, số lượng sản phẩm, tạo được lòng tin chongười tiêu dùng ,… đồng thời cũng phải hoàn thành chỉ tiêu mà công ty đặt ra chomỗi nhân viên kinh doanh Trong khi đó hình thức bán hàng chủ yếu của các nhânviên kinh doanh là sử dụng phương pháp bán hàng truyền thống, đi marketing tạicác siêu thị, cửa hàng, giới thiệu cho người thân sản phẩm mình đang bán… Vớihình thức bán hàng chỉ hiệu quả tại một khu vực nhất định (Hà Nội) còn các thịtrường khác ít được biết tới Antona đồng thời đánh mất một lượng khách hàng tiềmnăng vô cùng lớn
- Thứ hai, dòng sản phẩm của công ty Antona ngày càng đa dạng nên việckhách hàng cập nhật sản phẩm trở nên khó khăn, như vậy dẫn đến việc mất quánhiều thời gian để tìm hiểu sản phẩm đó vậy cần có một giải pháp để hỗ trợ kháchhàng tìm hiểu sản phẩm mọi lúc mọi nơi
- Thứ ba, quy trình mua và bán hàng còn nhiều khó khăn trong việc làm thủtục thanh toán, xuất hóa đơn, giao hàng Vậy phải làm sao để khách mua hàng cóthể mua sản phẩm nhanh chóng hơn, tiện lợi hơn và bên kinh doanh có thể quản lýkhách hàng, hóa đơn, sản phẩm tốt hơn
- Thứ tư, phần mềm quản lý sản phẩm xây dựng trên Excel gây khó khăntrong việc ghi và nhập sản phẩm Quá trình quản lý chưa linh hoạt, bị thụ động
Trang 24Giả sử trường hợp: Một khách hàng mua 30 dòng sản phẩm khác nhau vàmỗi một sản phẩm khách hàng chỉ mua một dòng sản phẩm vậy 10 khách hàng nhưvậy thì quá trình ghi và nhập thật sự gây khó khăn cho nhân viên kinh doanh.
Từ đó việc cần thiết nhất là làm thế nào để giải quyết những vấn đề trên mà doanhthu hàng tháng của nhân viên vẫn đạt chỉ tiêu
Dựa trên như cầu đó em đã quyết định tìm hiểu và nghiên cứu xây dựng WebsiteShop đồ chơi Việt cho các sản phẩm của công ty Antona với khách hàng là nhânviên kinh doanh Nguyễn Thị Lý Dựa trên nắm bắt yêu cầu khách hàng em đã lên
kế hoạch phân tích hệ thống xây dựng Website sao cho khách hàng có thể quản lýsản phẩm, khách hàng, đơn hàng một cách đầy nhất Dưới đây là phân tích, đặc tả,thiết kế yêu hệ thống:
2.1.1 Yêu cầu hệ thống
- Phần thứ nhất là: Phần giao dịch với khách hàng trên Internet Trên trangWeb thì các mặt hàng được sắp xếp và phân loại mặt hàng giúp khách hàng dễ dàngtìm kiếm Trong hoạt động này, khách hàng chỉ cần chọn một mặt hàng nào đó từdanh mục các mặt hàng thì các thông tin về mặt hàng đó sẽ hiển thị lên màn hình
Trang 25hàng có thể chọn số lượng để thêm vào giỏ hàng của mình và chọn đặt hàng muasản phẩm Khi khách hàng muốn đặt hàng thì hệ thống hiển thị trang giỏ hàng đểxác lập đơn đặt hàng và hàng hóa, cuối cùng là do khách hàng tùy chọn gửi đơnhàng hay không.
- Phần thứ hai là: Phần dành cho người quản trị hệ thống, phần này ngườiquản trị có quyền kiểm soát mọi hoạt động của hệ thống Người quản trị được cấpmột Username(tài khoản) và Password(mật khẩu) để đăng nhập vào hệ thống thựchiện chức năng của mình Nếu như quá trình đăng nhập của người quản trị thànhcông thì người quản trị có thể thực hiện những công việc sau: quản lý thông tinmenu, quản lý thông tin sản phẩm, quản lý khách hàng và quản lý đơn hàng
Vậy yêu cầu đặt ra là phải xây dựng hệ thống Website có những chứcnăng và ứng dụng cơ bản:
• Website có giao diện bắt mắt, dễ sử dụng
• Giúp khách hàng tìm hiểu thông tin một cách nhanh nhất
− Phạm vi dự án: Website được xây dựng hỗ trợ cho cá nhân có nhu cầu bán hàngonline trên toàn quốc, cũng như hợp tác với các đại lý, cộng tác viên Hệ thống pháttriể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 bảo mật:
Trang 26+ 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.1.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 công cụ chính là Drupal để cài đặt và xâydựng Website
Người sử dụng:
- Admin (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ưngkhô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 hỗ trợ trực tuyến chokhách hàng
• 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
- Member (Nhóm khách hàng có tài khoản trên trang Web):
• 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 danh mục sản phẩm
• Có thể gửi thông tin góp ý, phản hồi đến hoặc liên hệ trực tiếp 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
• Nếu như muốn mua sản phẩm nào khách hàng tiến hành đặt hàng sản phẩm đó, chovào giỏ hàng của mình , làm thủ tục thanh toán trực tuyến quan mạng
• Có quyền chỉnh sửa, thêm bớt, xóa giỏ hành của mình
- Client (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
Trang 27• Được phép xem thông tin sản phẩm, đọc tin tức, bài viết trên Website.
• 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ỏ
Yêu cầu lưu trữ:
+ 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ông tin về hàng hóa và hoạt động kinh doanh Phần nàychỉ dành riêng cho cá nhân, vì vậy để có thể truy cập cần có định danh đăng nhập vàmật khẩu
+ Thông tin hàng hóa: Cần lưu trữ các thông tin sau đây về sản phẩm:
• Liên hệ, chat trực tuyến
• Thêm, xem giỏ hàng
• Mua sản phẩm
Trang 28 Về phía khách hàng chưa có tài khoản trên hệ thống:
• Đăng ký là thành viên của hệ thống
• Xem thông tin sản phẩm
• Tìm kiếm sản phẩm
• Liên hệ, chat trực tuyến
Về phía người quản trị:
• Đăng nhập vào hệ thống
• Xem thông tin
• Quản lý sản phẩm: Thêm, sửa, xóa sản phẩm
• Quản lý khách hàng: Thêm, sửa, xóa khách hàng
• Quản lý đơn hàng: Thêm, sửa, xóa đơn hàng
Trang 292.3.1.1. Usecase tổng quát
Hình 2 1: Biểu đồ Usecase Tổng quát
Trang 302.3.2 Biểu đồ trình tự
Mỗi Usecase đều có nhiều luồng dữ liệu và mỗi biểu đồ trình tự sẽ biểu diễnmột luồng dữ liệu đó Qua biểu đồ trình tự sẽ cho ta cái nhìn trực quan nhất giữa cácgiao tiếp bằng thông điệp giữa các đối tượng
a. Biểu đồ trình tự đăng ký thành viên của Khách hàng
Hình 2 2: Biểu đồ trình tự đăng ký thành viên
Trang 31Mô tả Cung cấp chức năng đăng kí thành viên giúp cho
khách hàng có thể đặt hàng tại Website và hỗ trợ giảiđáp thắc mắc của khách hàng nhằm ưu tiên lợi ích củakhách hàng lên đầu
Kích hoạt Khi khách click chức năng mua hàng, đóng góp ý
kiến
Quá trình xử lý Hệ thống sẽ yêu cầu người dùng nhập các thông tin
bắt buộc theo form cho sẵn
Kiểm tra trong CSDL đã tồn tại Username hay chưa,nếu chưa thì lưu vào CSDL, trùng thì thông báo lỗiUsername này đã tồn tại
Thông tin thành công được đưa vào CSDL
Thông tin đầu ra Hiển thị thông báo cho khách hàng khi đăng kí thành
công hay không thành công
Nếu thành công cho phép khách hàng đăng nhập vào tàikhoản User mặc định sau đó khách hàng có thể đổi theo ýmình
Trang 32b. Biểu đồ trình tự thêm giỏ hàng và thanh toán của khách hàng.
Hình 2 3: Biểu đồ trình tự thêm giỏ hàng và thanh toán.
Mô tả Cung cấp một giỏ hàng cho khách hàng
Kích hoạt Khi khách hàng mua hàng và xem giở hàng
Quá trình xử lý Sau khi chọn hàng, các thông tin sản phẩm được
đưa vào giỏ hàng
Khi khách hàng muốn xem giỏ hàng thì ấn chi tiết ởgiỏ hàng sẽ hiện danh sách chi tiết sản phẩm
Thông tin đầu ra Đưa ra danh sách sản phẩm khách hàng đã mua
Số lượng sản phẩm khách hàng đặt mua
Tổng số tiền của giỏ hàng
c. Biểu đồ trình tự cho chức năng quản lý giỏ hàng và thanh toán