Khái niệm WordPress là một phần mềm nguồn mở Open Source Software được viết bằng ngôn ngữ lập trình website PHP và sử dụng hệ quản trị cơ sở dữ liệu MySQL đây cũng là bộ đôi ngôn ngữ l
Trang 1TRƯỜNG ĐẠI HỌC HẢI PHÒNG KHOA CÔNG NGHỆ THÔNG TIN
Trang 2LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi Các số liệu, kết quả nêu trong báo cáo là kết quả trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác Tôi xin cam đoan rằng các thông tin trích dẫn trong báo cáo đều được ghi rõ nguồn gốc
Hải Phòng, ngày 01 tháng 05 năm 2024 Tác giả
Vũ Văn Dương
Trang 3LỜI CẢM ƠN
Lời nói đầu tiên em xin gửi lời cảm ơn đến các quý thầy cô đã dạy bảo em trong suốt 4 năm sinh viên đại học Bài báo cáo đồ án này là bài báo cáo cuối cùng của thời sinh viên kết thúc lại 4 năm học ở trường Đây là báo cáo bảo vệ đồ án tốt nghiệp hoàn chỉnh của em, em đã dành rất nhiều thời gian tâm huyết, không ngừng tìm hiểu, sáng tạo
để hoàn thành đứa con tinh thần này ạ Em biết sẽ có một vài thiếu sót nho nhỏ còn tồn tại trong phần trình bày của em, kính mong thầy cô và các bạn sẽ đưa ra những góp ý tốt đẹp giúp em có thể sửa chữa, phát triển năng lực của bản thân để có thể đi xa hơn nữa ạ
Em xin chân thành cảm ơn quý thầy cô của khoa và đặc biệt là cô Phạm Thị Thùy
Ni – giảng viên hướng dẫn của em đã tận tình giảng dạy, giúp đỡ qua đó trang bị cho
em những kiến thức quý báu trong suốt thời gian thực tập, tạo điều kiện thuận lợi cho
em thực hiện bản báo cáo đồ án tốt nghiệp này ạ
Em xin chân thành cảm ơn cô Phạm Thị Thùy Ni đã tận tình hướng dẫn, chỉ bảo
em trong suốt thời gian thực hiện đề tài này, làm cho em được mở rộng thêm các kiến thức mới mà chưa được học trong trường và giúp em định hướng thêm một con đường tương lai có thể đi ạ
Cuối cùng em xin chân thành cảm ơn các quý thầy cô, các anh chị khóa trên và các bạn trong lớp đã ủng hộ, giúp đỡ và động viên em trong suốt thời gian làm báo cáo
đồ án này ạ
Em xin chân thành cảm ơn!
Trang 4LỜI NÓI ĐẦU
Ngày nay chúng ta đang sống trong kỷ nguyên của khoa học công nghệ, đặc biệt
là công nghệ thông tin phát triển một cách vượt bậc như hiện nay Trong thời đại bùng
nổ thông tin và có rất nhiều phương thức truyền đạt thông tin thì phương thức truyền thông tin bằng công nghệ số là nhanh và phổ biến nhất, được nhiều người tiếp cận nhất Công nghệ thông tin không chỉ dừng lại ở mục đích phục vụ cho khoa học kỹ thuật mà còn đi sâu vào đời sống chính trị, kinh tế, xã hội… trở nên thân thiện, gần gũi, mang lại nhiều lợi ích cho con người, đặc biệt trong lĩnh vực kinh tế, công nghệ thông tin đã có nhiều đóng góp quan trọng trong công việc quản lý, quảng cáo sản phẩm, hàng hóa của công ty, xí nghiệp, doanh nghiệp lớn và nhỏ trên toàn thế giới
Những ứng dụng của công nghệ thông tin đã mang lại nhiều lợi ích không nhỏ, đạt hiệu quả kinh tế vượt bậc cho những công ty, xí nghiệp đó Muốn bán và đưa các sản phẩm cho mọi người biết một cách rộng rãi và nhanh chóng thì cần phải quảng cáo
Vì vậy, xây dựng website quảng cáo và bán các sản phẩm là điều tối thiểu cần thiết đối với mọi công ty, doanh nghiệp để tồn tại và phát triển trong nền kinh tế thị trường cạnh tranh khốc liệt hiện nay
Thực tế, các websie bán hàng trực tuyến đều được xây dựng dựa trên các mã nguồn xây dựng sẵn, có nhiều ưu điểm giúp cho doanh nghiệp có thể đưa gian hàng của mình lên thị trường Internet
Chính vì vậy, em đã chọn đề tài “Xây dựng website bán sách cho nhà sách Fahasa” để đưa sản phẩm đến với tay người dùng gần hơn
Mặc dù đã cố gắng hoàn thành báo cáo trong phạm vi và khả năng cho phép nhưng chắc chắn sẽ không tránh khỏi những thiếu sót Em kính mong nhận được sự cảm thông và góp ý của quý thầy cô và các bạn để bài báo cáo này được hoàn thiện hơn
Em xin chân thành cảm ơn!
Trang 5MỤC LỤC
LỜI CẢM ƠN 1
LỜI NÓI ĐẦU 3
MỤC LỤC 4
MỤC LỤC BẢNG 6
MỤC LỤC HÌNH ẢNH 7
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 9
1.1 Các khái niệm cơ bản 9
1.1.1 Domain 9
1.1.2 Web Hosting 9
1.1.3 Localhost 10
1.2 Ngôn ngữ lập trình 10
1.2.1 HTML 10
1.2.2 CSS 10
1.2.3 PHP 11
1.2.4 MySQL 11
1.3 Tìm hiểu về WordPress 12
1.3.1 Khái niệm 12
1.3.2 Lý do ta nên chọn Wordpress 14
1.4 XAMPP 16
CHƯƠNG 2: KHẢO SÁT SHOP BÁN SÁCH 17
2.1 Giới thiệu 17
2.2 Khảo sát hiện trạng 17
2.3 Khảo sát hệ thống 17
2.4 Đặc tả hệ thống website 18
2.4.1 Phương pháp đặc tả 18
2.4.2 Các yêu cầu phần mềm 18
2.4.3 Tài liệu đặc tả phần mềm 19
CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG WEBSITE 26
3.1 Xây Dựng Biểu Đồ Use Case 26
3.2 Luồng sự kiện 26
Trang 63.3 Biểu đồ tuần tự 34
3.4 Biểu đồ hoạt động 37
CHƯƠNG 4: XÂY DỰNG WEBSITE 41
4.1 Cài đặt giao diện 41
4.2 Tạo menu 42
KẾT LUẬN 51
TÀI LIỆU THAM KHẢO 52
Trang 7MỤC LỤC BẢNG
Bảng 2.1 Cấu trúc tài liệu 20
Bảng 3.1 Đặc tả “Đăng ký” 26
Bảng 3.2 Đặc tả “Đăng nhập” 28
Bảng 3.3 Đặc tả “Thêm và xem giỏ hàng” 29
Bảng 3.4 Đặc tả “Thanh toán” 30
Bảng 3.5 Đặc tả “Quản lý kho hàng” 32
Bảng 3.6 Đặc tả “Đánh giá sản phẩm” 33
Trang 8MỤC LỤC HÌNH ẢNH
Hình 1 Biểu đồ Usecase tổng quát 26
Hình 2 Use case “Đăng ký người dùng” 27
Hình 3 Use case “Đăng nhập” 29
Hình 4 Use Case “Thêm và xem giỏ hàng” 30
Hình 5 Use Case “Thanh toán” 32
Hình 6 Use Case “Quản lý kho hàng” 33
Hình 7 Use Case “Đánh giá sản phẩm” 34
Hình 8 Biểu đồ tuần tự chức năng đăng nhập 34
Hình 9 Biểu đồ tuần tự chức năng đăng ký 35
Hình 10 Biểu đồ tuần tự chức năng tìm kiếm 35
Hình 11 Biểu đồ tuần tự chức năng thêm sản phẩm 36
Hình 12 Biểu đồ tuần tự chức năng thanh toán 36
Hình 13 Biểu đồ hoạt động chức năng đăng ký 37
Hình 14 Biểu đồ hoạt động chức năng đăng nhập 37
Hình 15 Biểu đồ hoạt động chức năng tìm kiếm sản phẩm 38
Hình 16 Biểu đồ hoạt động chức năng thêm sản phẩm 38
Hình 17 Biểu đồ hoạt động chức năng giỏ hàng 39
Hình 18 Biểu đồ hoạt động chức năng thanh toán 39
Hình 19 Biểu đồ lớp 40
Hình 20 Cài đặt theme cho WordPress 41
Hình 21 Kích hoạt giao diện cho WordPress 41
Hình 22 Giao diện tạo chuyên mục 42
Hình 23 Giao diện tạo menu 42
Hình 24 Giao diện thêm, chỉnh sửa bài viết 43
Hình 25 Giao diện thêm, chỉnh sửa sản phẩm 43
Hình 26 Giao diện thêm, chỉnh sửa các trang 44
Hình 27 Giao diện quản lý kho hàng 44
Hình 28 Giao diện quản lý đơn hàng 45
Hình 29 Giao diện website hoàn chỉnh 45
Hình 30 Giao diện trang cửa hàng 46
Hình 31 Giao diện chi tiết sản phẩm 46
Hình 32 Giao diện trang tin tức - bài viết 47
Hình 33 Giao diện trang liên hệ 47
Hình 34 Giao diện trang đặt hàng 48
Hình 35 Giao diện trang thanh toán đơn hàng 48
Hình 36 Giao diện đặt hàng thành công 49
Hình 37 Tìm kiếm plugin Wocommerce 49
Hình 38 Giao diện plugin WooCommerce 50
Trang 9DANH MỤC TỪ VIẾT TẮT
Thuật ngữ Định nghĩa Giải thích
CSDL Cơ sở dữ liệu Nơi lưu trữ thông tin và cho phép truy cập DESC Description Mô tả
UI User interface Giao diện người dùng
SP Sản phẩm Sách, vở, đồ dùng văn phòng phẩm
QTV Quản trị viên Điều khiển trang admin
ID Identification Tài khoản, tên người dùng
Trang 10CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
1.1 Các khái niệm cơ bản
1.1.1 Domain
Domain (tên miền) là một chuỗi các ký tự trong bảng chữ cái Alphabet được sắp xếp giống như tên riêng và có hoặc không có ý nghĩa Tên miền được sử dụng để định danh địa chỉ Internet (IP) của một máy chủ gồm các dãy ký tự cách nhau bằng dấu chấm
“.” Vd: 27.0.14.157
Tính chất cơ bản của tên miền:
• Tên miền là duy nhất và được cấp phát cho chủ thể nào đăng ký trước
• Tên miền bắt buộc phải có phần tên và phần đuôi (com, net, org, vn, us,
…)
• Tên miền không được vượt quá 63 ký tự (đã bao gồm phần đuôi)
• Tên miền chỉ bao gồm các ký tự trong bảng chữ cái (a-z), các số (0-9)
• Tên miền không cần bắt đầu bằng http:// hoặc www hay http://www
1.1.2 Web Hosting
Là không gian trên máy chủ có cài đặt các dịch vụ Internet như www, ftp, mail…
ta có thể chứa nội dung trang web hay dữ liệu trên không gian đó Web hosting đồng thời cũng là nơi diễn ra tất cả các hoạt động giao dịch, trao đổi thông tin giữa website với người sử dụng Internet và hỗ trợ các phần mềm Internet hoạt động
Lý do ta phải thuê web hosting để chứa nội dung trang web, dịch vụ mail, ftp…
Vì những máy tính đó luôn có một địa chỉ cố định khi kết nối vào Internet (địa chỉ IP), còn nếu như ta truy cập vào Internet như thông thường hiện nay thông qua các IPS (Internet Service Provider – Nhà cung cấp dịch vụ Internet) thì địa chỉ IP trên máy bạn luôn bị thay đổi, do đó dữ liệu trên máy của bạn không thể truy cập được từ những máy khác trên Internet
Hai khái niệm cơ bản của web hosting:
• Dung lượng: dung lượng của web hosting là khoảng không gian bạn được phép lưu trữ dữ liệu của mình trên ổ cứng của máy chủ
• Băng thông: băng thông của web hosting là lượng dữ liệu (tính bằng Mbytes) trao đổi giữa website với người sử dụng trong một tháng
Trang 111.1.3 Localhost
Localhost là từ ghép của hai chữ “local” và “host“ Local dịch theo nghĩa IT là máy tính của bạn, Host theo nghĩa IT là máy chủ Vậy localhost nghĩa là một máy chủ được vận hành trên máy tính của bạn
Localhost bao gồm nhiều ứng dụng đi kèm với nhau và tất cả các ứng dụng đó sẽ kết hợp với nhau để tạo ra một môi trường có thể chạy mã nguồn WordPress trên máy tính của chính bạn bao gồm:
• Phần mềm Webserver tên Apache, đây là webserver thông dụng nhất
• Phần mềm PHP để xử lý mã PHP vì WordPress viết bằng ngôn ngữ PHP
• Phần mềm MySQL Server để lưu trữ và xử lý cơ sở dữ liệu, do WordPress
sử dụng MySQL làm nền tảng cơ sở dữ liệu Cơ sở dữ liệu thường được mình viết theo chữ tiếng Anh là database
• Phần mềm PHPMyAdmin để xem và quản lý cơ sở dữ liệu MySQL Như vậy, đối chiếu với yêu cầu cơ bản của một website WordPress thì localhost
đã hoàn toàn đáp ứng được
1.2 Ngôn ngữ lập trình
1.2.1 HTML
HTML (HyperText Markup Language – Ngôn ngữ đánh dấu siêu văn bản) là ngôn ngữ được sử dụng để tạo một trang web trên một website có thể sẽ chứa nhiều trang và mỗi trang được quy ra là một tài liệu HTML ( một tập tin HTML)
Một tài liệu HTML được hình thành bởi các phần tử HTML (HTML Elements) được quy định bằng các cặp thẻ (tag), các cặp thẻ này được bao bọc bởi một dấu ngoặc nhọn (ví dụ <html>) và thường là sẽ được khai báo thành một cặp, bao gồm thẻ mở và thẻ đóng (ví dụ <strong> và </strong>) Các văn bản muốn được đánh dấu bằng HTML
sẽ được khai báo bên trong cặp thẻ (ví dụ <strong>Đây là chữ in đậm</strong>) Nhưng một số thẻ đặc biệt lại không có thẻ đóng và dữ liệu được khai báo sẽ nằm trong các thuộc tính (ví dụ như thẻ <img>)
Một tập tin HTML sẽ bao gồm các phần tử HTML và được lưu lại dưới đuôi mở
rộng là html hoặc htm
1.2.2 CSS
CSS (Cascading Style Sheets – Các tập tin định kiểu theo tầng) là một ngôn ngữ được sử dụng để tìm và định dạng lại các phần tử được tạo ra bởi các ngôn ngữ đánh dấu (ví dụ như HTML)
Trang 12Có thể hiểu đơn giản rằng, nếu HTML đóng vai trò định dạng các phần tử trên website như việc tạo ra các đoạn văn bản, các tiêu đề, bảng… thì CSS sẽ giúp ta có thể thêm một chút “phong cách” vào các phần tử HTML đó như đổi màu sắc trang, đổi màu chữ, thay đổi cấu trúc…
Phương thức hoạt động của CSS là nó sẽ tìm dựa vào các vùng chọn, vùng chọn
có thể là tên một thẻ HTML, tên một ID, class hay nhiều kiểu khác Sau đó là nó sẽ áp dụng các thuộc tính cần thay đổi lên vùng chọn đó
PHP chỉ phân tích các đoạn mã nằm trong những dấu giới hạn của nó Bất cứ mã nào nằm ngoài những dấu giới hạn đều được xuất ra trực tiếp không thông qua xử lý bởi PHP
1.2.4 MySQL
MySQL là một database Server, là hệ thống quản lý cơ sở dữ liệu quan hệ Trong việc lưu trữ, tìm kiếm, sắp xếp và truy vấn dữ liệu, nó tỏ ra rất nhanh và mạnh mẽ MySQL Server điều khiển truy cập dữ liệu đa người dùng cùng một thời điểm, cung cấp khả năng truy cập dữ liệu nhanh, đảm bảo cho người sử dụng được cấp quyền truy cập
dữ liệu của hệ thống Do vậy MySQL là đa người dùng đa luồng Nó sử dụng các câu lệnh truy vấn SQL (ngôn ngữ truy vấn có cấu trúc) là một chuẩn ngôn ngữ truy vấn cơ
sở dữ liệu hiện nay trên web
MySQL có thể quản lý tới hàng Terabyte dữ liệu, hàng triệu bản ghi, chạy trên nhiều môi trường khác nhau, có giao diện tương đối dễ sử dụng, có thể truy vấn cơ sở
dữ liệu thông qua câu lệnh SQL MySQL thường được sử dụng chung với PHP trong những trang web cần sử dụng đến cơ sở dữ liệu
Như chúng ta đã biết có rất nhiều dạng Database khác nhau như : Oracle, MSSQL, Access, MySQL… tùy theo các yêu cầu thực tế mà các lập trình viên sử dụng
Trang 13một Database hợp lý cho riêng mình trong đó MySQL được rất nhiều lập trình viên chú trọng mà nhất là viết ứng dụng cho web chạy trên nền PHP Điểm mạnh của MySQL
là chạy trên mọi ngôn ngữ như ASP, Net, PHP, JSP… khi chạy nó không đòi hỏi tài nguyên máy quá lớn như CPU, Ram chẳng hạn Nhược điểm là độ bảo mật chưa cao bằng MSSQL hay Oracle… và quá trình Restore có phần chậm chạp hơn
Tuy nhiên những nhược điểm đó là không đáng kể cho các bạn viết các hệ quản trị nội dung cỡ trung bình khá, vì chỉ có những hệ thống từ lớn đến rất lớn mới có những yêu cầu phức tạp hơn Cơ sở dữ liệu MySQL đã trở thành cơ sở dữ liệu mã nguồn mở phổ biến nhất trên thế giới vì cơ chế xử lý nhanh và ổn định của nó, sự đáng tin cậy cao
và dễ sử dụng Nó được sử dụng mọi nơi – ngay cả châu Nam Cực - bởi các nhà phát triển web riêng lẻ cũng như rất nhiều các tổ chức lớn nhất trên thế giới để tiết kiệm thời gian và tiền bạc cho những Websites có dung lượng lớn, phần mềm đóng gói – bao gồm
cả những nhà đi đầu trong lĩnh vực công nghiệp như Yahoo!, Alcatel-Lucent, Google, YouTube và Zappos.com
MySQL không chỉ là cơ sở dữ liệu mã nguồn mở phổ biến nhất trên thế giới, nó còn trở thành cơ sở dữ liệu được chọn cho thế hệ mới của các ứng dụng xây dựng trên nền Linux, Apache, MySQL, PHP/Perl/Python MySQL chạy trên hơn 20 flatform bao gồm: Linux, Windows, OS/X, HP-UX, AIX, Netware, mang đến cho bạn tính linh hoạt trong việc sử dụng
1.3 Tìm hiểu về WordPress
1.3.1 Khái niệm
WordPress là một phần mềm nguồn mở (Open Source Software) được viết bằng
ngôn ngữ lập trình website PHP và sử dụng hệ quản trị cơ sở dữ liệu MySQL đây cũng
là bộ đôi ngôn ngữ lập trình website thông dụng nhất hiện tại
WordPress là một mã nguồn mở bằng ngôn ngữ PHP để hỗ trợ tạo blog cá nhân,
và nó được rất nhiều người sử dụng ủng hộ về tính dễ sử dụng, nhiều tính năng hữu ích Qua thời gian, số lượng người sử dụng tăng lên, các cộng tác viên là những lập trình viên cũng tham gia đông đảo để phát triển mã nguồn WordPress có thêm những tính năng tuyệt vời
Trang 14WordPress đã được xem như là một hệ quản trị nội dung (CMS – Content
Management System ) vượt trội để hỗ trợ người dùng tạo ra nhiều thể loại website khác
nhau như: blog, website tin tức/tạp chí, giới thiệu doanh nghiệp, bán hàng – thương mại điện tử, thậm chí với các loại website có độ phức tạp cao như đặt phòng khách sạn, thuê
xe, đăng dự án bất động sản Hầu như mọi hình thức website với quy mô nhỏ và vừa đều có thể triển khai trên nền tảng WordPress
Nhưng như thế không có nghĩa là WordPress chỉ thích hợp với các dự án nhỏ,
mà hiện nay có tới khoảng 25% website trong danh sách 100 website lớn nhất thế giới
sử dụng mã nguồn WordPress Ví dụ như trang tạp chí TechCrunch, Mashable, CNN,
BBC America, Variety, Sony Music, MTV News, Bata, Quartz,…
Mã nguồn WordPress hiện tại có rất nhiều gói ngôn ngữ đi kèm, bao gồm tiếng Việt Mặc dù trong mỗi giao diện hay plugin đều có ngôn ngữ riêng nhưng bạn có thể
dễ dàng tự dịch lại nó với các phần mềm hỗ trợ
Hiện nay WordPress tạm được phân ra thành 2 loại:
Trang 15Sử dụng dịch vụ của nhà cung cấp (WordPress.com)
Trực tiếp cài trên host riêng (WordPress.org)
1.3.2 Lý do ta nên chọn Wordpress
Dễ sử dụng: WordPress được phát triển nhằm phục vụ đối tượng người dùng phổ thông, không có nhiều kiến thức về lập trình website nâng cao Các thao tác trong
WordPress rất đơn giản, giao diện quản trị trực quan giúp bạn có thể nắm rõ cơ cấu quản
lý một website WordPress trong thời gian ngắn Về cách cài đặt lại càng dễ hơn, bạn có thể tự cài đặt một website WordPress trên host (máy chủ) riêng của mình và tự vận hành
nó sau vài cú click
Trang 16Cộng đồng hỗ trợ đông đảo: Là một mã nguồn CMS mở phổ biến nhất thế giới, điều này cũng có nghĩa là bạn sẽ được cộng đồng người sử dụng WordPress hỗ trợ bạn các khó khăn gặp phải trong quá trình sử dụng
Nhiều gói giao diện có sẵn: Tuy WordPress rất dễ sử dụng, nhưng việc tự tay thiết kế một giao diện website cho mình dựa trên WordPress không hề đơn giản và vẫn cần một kiến thức chuyên môn nhất định Tuy nhiên chúng ta không cần qua lo lắng về điều này, bởi vì hệ thống giao diện (bao gồm trả phí lẫn miễn phí) dành cho WordPress cực kỳ phong phú và bạn có thể sử dụng chỉ với vài cú click
Nhiều plugin hỗ trợ: Plugin mở rộng nghĩa là một thành phần cài đặt thêm vào WordPress để giúp nó có thêm nhiều tính năng cần thiết, ví dụ ta cần tính năng làm trang bán hàng cho WordPress thì cài thêm plugin WooCommerce chẳng hạn Với lợi thế là người sử dụng đông đảo, nên thư viện plugin của WordPress cũng cực kỳ phong phú lẫn trả phí và miễn phí, hầu hết các tính năng thông dụng bạn đều có thể tìm thấy thông qua plugin
Dễ phát triển cho lập trình viên: Nếu bạn là một người có am hiểu về việc làm website như thành thạo HTML, CSS, PHP thì có thể dễ dàng mở rộng website WordPress của bạn ra với rất nhiều tính năng vô cùng có ích Cách phát triển cũng rất đơn giản vì WordPress là một mã nguồn mở nên bạn có thể dễ dàng hiểu được cách hoạt động của nó và phát triển thêm các tính năng Với hàng nghìn hàm (function) có sẵn của
nó, bạn có thể thoải mái sử dụng, bạn cũng có thể thay đổi cấu trúc của một hàm với filter hook và hầu như quy trình làm việc của một lập trình viên chuyên nghiệp có thể ứng dụng dễ dàng vào WordPress
Hỗ trợ nhiều ngôn ngữ: Mã nguồn WordPress hiện tại có rất nhiều gói ngôn ngữ
đi kèm, bao gồm tiếng Việt Mặc dù trong mỗi giao diện hay plugin đều có ngôn ngữ riêng nhưng bạn có thể dễ dàng tự dịch lại nó với các phần mềm hỗ trợ
Có thể làm nhiều loại website: Dùng WordPress không có nghĩa là bạn chỉ có thể làm blog cá nhân, mà bạn có thể biến website mình thành một trang bán hàng, một website giới thiệu công ty, một tờ tạp chí online bằng việc sử dụng kết hợp các theme
và plugin với nhau
Trang 171.4 XAMPP
Xampp là chương trình tạo máy chủ Web (Web Server) được tích hợp sẵn Apache, PHP, MySQL FTP Server, Mail Server và các công cụ như phpMyAdmin Không như Appserv, Xampp có chương trình quản lý khá tiện lợi, cho phép chủ động bật tắt hoặc khởi động lại các dịch vụ máy chủ bất kỳ lúc nào
Xampp là một mã nguồn mở máy chủ web đa nền được phát triển bởi Apache Friends, bao gồm chủ yếu là Apache HTTP Server, MariaDB database, và interpreters dành cho những đối tượng sử dụng ngôn ngữ PHP và Perl Xampp là viết tắt của Cross- Platform (đa nền tảng-X), Apache (A), MariaDB (M), PHP(P) và Perl (P) Nó phân
bố Apache nhẹ và đơn giản, khiến các lập trình viên có thể dễ dàng tạo ra máy chủ web local để kiểm tra và triển khai trang web của mình
Tất cả mọi thứ cần cho phát triển một trang web - Apache (ứng dụng máy chủ),
Cơ sở dữ liệu (MariaDB) và ngôn ngữ lập trình (PHP) được gói gọn trong 1 tệp Xampp cũng là 1 đa nền tảng vì nó có thể chạy tốt trên cả Linux, Windows và Mac Hầu hết việc triển khai máy chủ web thực tế đều sử dụng cùng thành phần như XAMPP nên rất
dễ dàng để chuyển từ máy chủ local sang máy chủ online
Trang 18CHƯƠNG 2: KHẢO SÁT SHOP BÁN SÁCH 2.1 Giới thiệu
Chương này em sẽ đi phân tích và thiết kế hệ thống website bán hàng Cụ thể là xây dựng một website bán sách cho nhà sách Fahasa
2.2 Khảo sát hiện trạng
Tiềm năng phát triển của shop rất lớn bởi shop có một đội ngũ cán bộ, nhân viên
có trình độ, tinh thần làm việc hăng hái và có trách nhiệm với công ty cùng với cơ sở vật chất hiện đại
Shop Fahasa cung cấp các mặt hàng kinh doanh chủ yếu bao gồm: sách, vở, đồ dùng học tập cho học sinh, sinh viên ngoài ra còn mở thêm một số ngành hàng nhằm đáp ứng nhu cầu của khách hàng Hiện tại shop hoạt động chủ yếu mang tính thủ công, dựa vào hệ thống kinh nghiệm của quản lý cùng nhân viên Do đặc điểm lượng hàng hóa nhập xuất ngày càng lớn, quy mô shop ngày càng mở rộng nên công tác quản lý, mua bán mất rất nhiều thời gian và không thể đáp ứng được cho tất cả khách hàng muốn mua hàng
Vì vậy shop quyết định lên ý tưởng xây dựng một website bán hàng online để đưa sản phẩm tới với lượng khách hàng lớn hơn ở toàn miền Bắc Tương lai shop sẽ mở rộng ra cả nước với các chi nhánh ở khắp các tỉnh thành trên toàn quốc
- Tự động in hóa đơn, phiếu xuất cho khách hàng
- Có khả năng lưu trữ lượng thông tin lớn và lâu dài
- Lập báo cáo định kì, đột xuất nhanh chóng và chính xác
- Có chức năng quản lý nhân viên
- Giảm khối lượng ghi chép, đảm bảo truy vấn nhanh, lưu trữ và cập nhật kịp
thời, thuận tiện
Trang 19- Khách hàng có thể đặt hàng ở bất kỳ đâu có một thiết bị thông minh (máy tính,
smartphone, ipad…) có kết nối internet
2.4.2 Các yêu cầu phần mềm
2.4.2.1 Yêu cầu chức năng
Chức năng đăng ký: cho phép khách hàng tạo 1 tài khoản để tham gia mua và đánh giá sản phẩm
Chức năng đăng nhập (khách hàng): cho phép khách hàng thanh toán hàng hóa trong giỏ hàng, đánh giá sản phẩm sau khi mua hàng thành công và xem lại những đơn hàng mình đã đặt thành công
Chức năng đăng nhập (admin): cho phép admin quản lý giao diện trang web, quản lý thành viên, quản lý các blog, quản lý sản phẩm, quản lý mã giảm giá, xử lý các đơn hàng, trả lời phản hồi từ khách hàng,…
Chức năng thanh toán: cho phép khách hàng thanh toán sau khi đặt hàng, có 2 hình thức thanh toán: chuyển khoản qua ATM và trả tiền mặt tận nơi sau khi nhận được hàng
Chức năng đặt hàng: cho phép khách hàng đặt hàng trực tiếp trên website của cửa hàng
Chức năng tìm kiếm: cho phép khách hàng tìm kiếm sản phẩm theo tên sản phẩm Chức năng xem sản phẩm: cho phép khách hàng xem thông tin về sản phẩm: giá,
mô tả (chất liệu, màu sắc,…)
Chức năng cập nhật giỏ hàng: cho phép khách hàng thêm sản phẩm cần mua vào giỏ hàng, khách hàng có thể: tăng/giảm số lượng sản phẩm, xóa sản phẩm ra khỏi giỏ hàng
Trang 202.4.2.2 Yêu cầu phi chức năng
Yêu cầu thời gian phản hồi của hệ thống: nhanh, thời gian phản hồi của các chức năng cơ bản của hệ thống không quá 10 giây
Yêu cầu về số lượng lưu trữ thông tin: lưu trữ đơn hàng khách hàng đang đặt hàng mà chưa được bàn giao thành công
Yêu cầu về giao diện: giao diện thân thiện, dễ sử dụng: người dùng dễ dàng nắm được nội dung website, người dùng có thể di chuyển dễ dàng thông qua điều hướng trực quan, người dùng có thể nhận diện được từng trang thuộc về trang web Header: tên website và các thanh điều hướng Left-Content: thể loại, nổi bật, tìm kiếm và từ khóa Right-Content: sản phẩm nổi bật, đang giảm giá và bán chạy Footer: liên hệ, thời gian hoạt động và copyright
Yêu cầu sản phẩm: sản phẩm đạt chất lượng cao
Yêu cầu về thanh toán: nhanh và an toàn
Yêu cầu về giao hàng: giao hàng đúng yêu cầu của khách hàng, trong thời gian sớm nhất có thể (tùy vào địa phương gần hoặc xa mà từ 1-7 ngày)
Yêu cầu về số lượng người đăng nhập vào website cùng 1 thời điểm: tối đa 50 khách hàng
2.4.2.3 Yêu cầu miền ứng dụng
Có 1 giao diện thân thiện, áp dụng được cho cả máy tính, điện thoại, máy tính bảng…OS: window, ios, androi
Các thông tin được lưu trữ 1 cách khoa học trong CSDL hệ thống
Khả năng có thể hiểu được: các yêu cầu được biểu diễn dưới ngôn ngữ của lĩnh vực ứng dụng
- Đội phát triển hệ thống phải chuyên nghiệp, thực hiện kịp tiến độ và đảm bảo
thiết kế đúng với yêu cầu chức năng của hệ thống
2.4.3 Tài liệu đặc tả phần mềm
2.4.3.1 Giới thiệu
a Mục đích của tài liệu yêu cầu
Mục đích của tài liệu này là để cung cấp mô tả chi tiết về các yêu cầu cho phần mềm hỗ trợ việc bán hàng Nó sẽ mô tả mục đích cụ thể và thông tin chi tiết cho việc phát hệ thống Tài liệu này sẽ nói lên đầy đủ về các ràng buộc của hệ thống, giao diện người dùng và tương tác với các ứng dụng bên ngoài Nó được đề xuất cho khách hàng
Trang 21phê duyệt và là tài liệu tham khảo đầu vào cho các giao đoạn thiết kế, lập trình, kiểm thử trong quy trình sản xuất phần mềm này
b Phạm vi của sản phẩm
Phần mềm được cài đặt trên hệ thống máy tính của quản trị viên, giúp người quản trị kiểm soát được việc đăng ký tài khoản của khách hàng, quản lý việc giao hàng, thanh toán nhanh chóng cho khách hàng Là cơ sở giao tiếp của các thành viên và là căn cứ để thiết kế, kiểm thử
c Các tham chiếu
Các tài liệu tham khảo trên Internet
Bài giảng về công nghệ phần mềm do giáo viên cung cấp
d Tổng quan về tài liệu yêu cầu (mô tả cấu trúc tài liệu)
Bảng 2.1 Cấu trúc tài liệu
Phần Miêu tả Mục đích
Giới thiệu Mô tả 1 cách khái quát nhất, phạm
vi, mục đích tài liệu cần đạt được
Đưa ra các công việc cần thực hiện của tài liệu
Phân tích quy trình
nghiệp vụ
Các chức năng của hệ thống Phân tích quy trình nghiệp
vụ 1 cách cụ thể nhất Đặc tả yêu cầu Các yêu cầu về chức năng và hiệu
b Quản lý việc thanh toán
Nhập thông tin sản phẩm khách hàng yêu cầu (tên, số lượng, …)
Thanh toán và in hóa đơn cho khách hàng (hóa đơn điện tử hoặc hóa đơn giấy)
c Quản lý thông tin trong CSDL
Trang 22Lưu trữ danh sách các sp trên website -> đối chiếu với sp khách hàng đặt mua để thanh toán 1 cách chính xác và in hóa đơn cho khách hàng
Lưu trữ các hóa đơn được thanh toán theo thời gian -> phục vụ cho việc kiểm tra đổi trả, khiếu nại sau này
Đối tượng người dùng
Phần mềm được ứng dụng cho 2 đối tượng là: khách hàng và quản trị viên: Khách hàng thao tác với phần mềm thông qua giao diện người dùng với các chức năng: đăng ký, đăng nhập, xem, cập nhật giỏ hàng, thanh toán, phản hồi và đánh giá sản phẩm
Quản trị viên cập nhật CSDL của website, cập nhật phản hồi của khách hàng -> trả lời, cập nhật đơn hàng -> giúp khách hàng thanh toán nhanh chóng, quản
lý user, quản lý UI, tạo phiếu giảm giá và phân quyền người sử dụng phần mềm
Các ràng buộc tổng thể
• Ràng buộc bởi yêu cầu của khách hàng: khi khách hàng có yêu cầu thanh toán online qua ATM mới tạo 1 mã ID cho hóa đơn online gửi qua mail cho khách hàng
• Ràng buộc về dữ liệu đầu vào so với dữ liệu trong CSDL: áp dụng cho chức năng tìm kiếm theo tên sản phẩm
• Ràng buộc với ứng dụng bên ngoài: gửi thông tin chi tiết đơn hàng qua mail của khách hàng
Trang 23Giải thiết và các phụ thuộc
Phần mềm chỉ được cài đặt trên hệ thống của cửa hàng Fahasa, khi đó hệ thống phần mềm mới kết nối được với CSDL của shop này Nếu cài đặt trên máy tính khác buộc phải có CSDL của nó thì mới thực hiện được đầy đủ các chức năng nghiệp vụ của website
2.4.3.3 Đặc tả yêu cầu
a Yêu cầu chức năng
Yêu cầu chức năng đăng nhập của khách hàng
Giới thiệu: Cho phép khách hàng thanh toán hàng hóa trong giỏ hàng, đánh giá sản phẩm sau khi mua hàng thành công và xem lại những đơn hàng mình đã đặt thành công
Dữ liệu vào: Khách hàng nhập ID và mật khẩu
Xử lý: Hệ thống kiểm tra thông tin ID và password khách hàng vừa nhập với thông tin trong CSDL khách hàng xem hợp lệ hay không
Kết quả: Nếu đúng ID và mật khẩu thì vào UI Ngược lại, nếu sai ID thì hiển thị thông báo “tên người dùng không hợp lệ”, nếu đúng ID mà sai mật khẩu thì thông báo
“mật khẩu mà bạn đã nhập cho người dùng xxx chưa đúng”
Yêu cầu chức năng cập nhật giỏ hàng
Giới thiệu: Cho phép khách hàng thêm sản phẩm cần mua vào giỏ hàng, khách hàng có thể: tăng/giảm số lượng sản phẩm, xóa sản phẩm ra khỏi giỏ hàng và nhập mã
ưu đãi
Dữ liệu đầu vào: Khách hàng ấn vào nút “Thêm vào giỏ”
Xử lý: Hệ thống sẽ thêm sản phẩm vào giỏ hàng
Kết quả: Trong giỏ hàng có thêm 1 sản phẩm vừa thêm với số lượng bằng một
Yêu cầu chức năng thanh toán
Giới thiệu: Cho phép khách hàng thanh toán sau khi đặt hàng, có 2 hình thức thanh toán: chuyển khoản qua ATM và trả tiền mặt tận nơi sau khi nhận được hàng
Dữ liệu đầu vào: Sau khi khách hàng ấn vào nút “thanh toán” -> chọn hình phương thanh toán -> ấn vào nút “đặt hàng”
Xử lý:
• Kiểm tra địa chỉ khách hàng
• Kiểm tra hình thức thanh toán
Trang 24• Kiểm tra địa chỉ giao hàng
• Lưu đơn hàng vào CSDL
Yêu cầu chức năng tìm kiếm
Giới thiệu: Cho phép khách hàng tìm kiếm sản phẩm theo tên sản phẩm
Dữ liệu vào: Khách hàng nhập tên sản phẩm vào khung tìm kiếm
Xử lý: So sánh dữ liệu khách hàng vừa nhập với các tên sản phẩm trong CSDL
hệ thống và đưa ra sản phẩm
Kết quả: Nếu tìm thấy thì đưa ra sản phẩm, ngược lại thông báo “không tìm thấy sản phẩm nào khớp với lựa chọn của bạn”
Yêu cầu cho chức năng xem sản phẩm
Giới thiệu: Cho phép khách hàng xem thông tin về sản phẩm: giá, mô tả (chất liệu, màu sắc,…)
Dữ liệu vào: Người dùng click vào hình ảnh sản phẩm
Xử lý: Hệ thống đưa ra thông tin từ CSDL hệ thống
Kết quả: Hiển thị ra 1 giao diện gồm các thông tin về giá cả và mô tả của sản phẩm
Yêu cầu về chức năng đăng ký
Giới thiệu: Cho phép khách hàng tạo 1 tài khoản để tham gia mua và đánh giá sản phẩm
Dữ liệu vào: Người dùng nhập họ tên, địa chỉ, mã vùng, số điện thoại, email và tạo 1 mật khẩu mới (độ dài tối thiểu 12 ký tự)
Xử lý: Kiểm tra số điện thoại và email bằng các gửi 1 tin nhắn qua số điện thoại
và email mà khách hàng đã đăng ký để khách hàng xác thực
Kết quả: Tài khoản này được thêm vào thành viên với vai trò là khách hàng
Chức năng cập nhật sản phẩm
Giới thiệu: Cho phép admin thêm, sửa, xóa sản phẩm được bày bán trên website
Dữ liệu vào: Admin nhấn vào nút “add product” hoặc các nút “chỉnh sửa”, “xóa”,
“xem” và “sao chép”
Trang 25Xử lý: Kiểm tra yêu cầu của admin để thực hiện các thao tác thêm, sửa, xóa trên CSDL
Kết quả:
• Nếu thêm thì sẽ có thêm sản phẩm vào CSDL và hiện thị ra UI sản phẩm này
• Nếu chỉnh sửa thì thông tin sản phẩm ngoài UI cũng bị thay đổi theo
• Nếu xóa thì sản phẩm ngoài UI sẽ biến mất
b Các yêu cầu phi chức năng
Các thuộc tính của hệ thống
• Hiệu năng hoạt động: thời gian phản hồi của hệ thống không quá 10s, tận dụng tối đa tài nguyên của hệ thống và cho phép truy cập tối đa 50 khách hàng vào website cùng 1 thời điểm
• Tương thích: phù hợp với nhiều thiết bị (pc, moble,…) và os(android, ios,…)
• Tính khả dụng: phù hợp với nhu cầu của khách hàng, UI thân thiện, dễ sử dụng
• Tính tin cậy: khả năng khắc phục lỗi cao, ít xảy ra sự cố gây gián đoạn hoạt động của hệ thống
An toàn thông tin: bảo mật, toàn vẹn, xác thực
Duy trì được, hiệu chỉnh được và khả chuyển
Các ràng buộc của hệ thống
• Ràng buộc về thời gian
• Ràng buộc về hiệu năng
• Các tiêu chuẩn được sử dụng
Những yêu cầu này ảnh hưởng đến chất lượng, khả năng sử dụng của hệ thống
và có tác động trực tiếp đến sự hài lòng của người sử dụng Do đó, quyết định sự thành công của hệ thống
c Các yêu cầu khác
Yêu cầu phi chức năng cho công cụ tiềm kiếm, thống kê, xây dựng báo cáo Lưu trữ: là tính đáp ứng của hệ thống đối với danh mục tiêu chuẩn, quy chuẩn kỹ thuật về ứng dụng công nghệ thông tin trong cơ quan nhà nước
Trang 26Nền tảng công nghệ nền, phát triển ứng dụng là yêu cầu, định hướng lựa chọn công nghệ nền tảng dùng để xây dựng, phát triển hệ thống trong các dịch vụ công trực tuyến cấp huyện được triển khai độc lập, ưu tiên lựa chọn hệ quản trị cơ sở dữ liệu miễn phí đối với các phần mềm ứng dụng nội bộ đang có trên thị trường, ưu tiên lựa chọn các phần mềm miễn phí mã nguồn mở
2.4.3.4 Mô hình hệ thống để phát triển phần mềm – mô hình ứng xử
Mô hình ứng xử được sử dụng để mô tả toàn bộ ứng xử của hệ thống Có hai kiểu
mô hình ứng xử là:
Mô hình luồng dữ liệu: biểu diễn cách xử lý dữ liệu trong hệ thống
Mô hình máy trạng thái: biểu diễn cách đáp ứng của hệ thống với các sự kiện xảy ra Hai mô hình này biểu diễn những góc nhìn khác nhau, nhưng cả hai đều cần thiết
để mô tả ứng xử của hệ thống
Mô hình ứng xử mô tả tương tác giữa các đối tượng nhằm tạo ra một số ứng xử
cụ thể của hệ thống mà đã được xác định như là một ca sử dụng
Biểu đồ tuần tự hoặc biểu đồ cộng tác trong UML được sử dụng để mô hình hoá tương tác giữa các đối tượng