SVTH: Nguyễn Đăng Vân – GVHD: PGS.TSKH Trần Quốc Chiến Trang 4 MySQL cung cấp cho chúng ta cách truy vấn, thao tác với dữ liệu tương tự như SQL nhưng ở mức độ đơn giản hơn.. SVTH: Nguyễn
Trang 1“Website thương mại điện tử kinh doanh
điện thoại di động MOBILE SHOP”
Giáo viên hướng dẫn: PGS TSKH Trần Quốc Chiến
Sinh viên thực hiện : Nguyễn Đăng Vân
Đà Nẵng, 05/2014
Trang 21 Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi dưới sự hướng dẫn của thầy Trần Quốc Chiến
2 Các số liệu nêu trong luận văn là trung thực và kết quả của luận văn chưa
từng được ai công bố trong bất kỳ công trình nào khác
Tác giả luận văn
Nguyễn Đăng Vân
Trang 3Ngày nay, với sự phát triển mạnh mẽ của công nghệ thông tin và những ứng dụng của nó trong đời sống Điện thoại di động không còn là một thứ phương tiện lạ lẫm đối với mọi người mà nó dần trở thành một công cụ làm việc và giải trí thông dụng và hữu ích của chúng ta
Trong nền kinh tế hiện nay, với xu thế toàn cầu hoá nền kinh tế thế giới, mọi mặt của đời sống xã hội ngày càng được nâng cao, đặc biệt là nhu cầu trao đổi hàng
hoá của con người ngày càng tăng cả về số lượng và chất lượng Hiện nay các công ty tin học hàng đầu thế giới không ngừng đầu tư và cải thiện các giải pháp cũng như các sản phẩm nhằm cho phép tiến hành thương mại hóa trên Internet Thông qua các sản phẩm và công nghệ này, chúng ta dễ dàng nhận ra tầm quan trọng và tính tất yếu của thương mại điện tử Với những thao tác đơn giản trên máy có nối mạng Internet bạn sẽ có tận tay những gì mình cần mà không phải mất nhiều thời gian Bạn chỉ cần vào các trang dịch vụ thương mại điện tử, làm theo hướng dẫn và click vào những gì bạn cần Các nhà dịch vụ sẽ mang đến tận nhà cho bạn
Để tiếp cận và góp phần đẩy mạnh sự phổ biến của thương mại điện tử ở Việt
Nam, em đã tìm hiểu và xây dựng một “Website thương mại điện tử kinh doanh
điện thoại di động MobileShop ” với mặt hàng là điện thoại di động dựa trên
ngôn ngữ lập trình HTML, CSS, PHP và MySql Server
Cùng với sự chỉ bảo tận tình của thầy Trần Quốc Chiến em đã hoàn thành
website này Trong quá trình phân tích thiết kế hệ thống không thể tránh khỏi những sai sót mong các thầy cô và các bạn đóng góp ý kiến để Website được hoàn thiện hơn
Em xin chân thành cảm ơn!
Trang 4CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 1
1.1 Đặt vấn đề: 1
1.1.1 Phạm vi đề tài: 1
1.1.2 Chức năng cơ bản: 1
CHƯƠNG 2: CÔNG CỤ CHÍNH HỖ TRỢ TRONG LUẬN VĂN 3
2.1 Xây dựng website: 3
2.1.1 HTML: 3
2.1.2 CSS: 3
2.2 Hệ quản trị cơ sở dữ liệu và chức năng: 3
2.2.1 Lưu trữ dữ liệu: 3
2.2.2 Truy xuất và tương tác dữ liệu: 4
CHƯƠNG 3: PHÂN TÍCH CƠ SỞ DỮ LIỆU 9
3.1 Bảng “tbl_brand”: 11
3.2 Bảng “tbl_model”: 12
3.3 Bảng “tbl_product”: 12
3.4 Bảng “tbl_customer”: 13
3.5 Bảng “tbl_user”: 14
3.6 Bảng “tbl_orders”: 14
3.7 Bảng “tbl_request”: 15
3.8 Bảng “tbl_product_detail”: 15
CHƯƠNG 4: PHÂN TÍCH CHỨC NĂNG VÀ GIAO DIỆN 17
4.1 Giao diện và chức năng của khách hàng: 17
4.1.1 Trang chủ: 17
4.1.2 Giao diện và chức năng đăng ký: 18
Trang 54.1.4 Giao diện và chức năng chi tiết sản phẩm: 20
4.1.5 Giao diện và chức năng giỏ hàng: 21
4.1.6 Giao diện và chức năng phương thức thanh toán: 22
4.1.7 Giao diện và chức năng lịch sử giao dịch: 23
4.1.8 Giao diện và chức năng yêu cầu nạp tiền: 24
4.1.9 Giao diện và chức năng cập nhật thông tin: 25
4.1.10 Giao diện và chức năng so sánh sản phẩm: 26
4.1.11 Giao diện và chức năng tìm kiếm sản phẩm: 27
4.2 Giao diện và chức năng admin: 28
4.2.1 Trang chủ: 28
4.2.2 Giao diện và chức năng quản lý các hãng: 29
4.2.3 Giao diện và chức năng quản lý model: 30
4.2.4 Giao diện và chức năng quản lý sản phẩm: 31
4.2.5 Giao diện và chức năng liệt kê danh sách sản phẩm: 32
4.2.6 Giao diện và chức năng quản lý các khách hàng: 33
4.2.7 Giao diện và chức năng quản lý đặt hàng: 34
4.2.8 Giao diện quản lý các yêu cầu nạp tiền: 35
CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 36
5.1 Kết luận: 36
5.2 Hướng phát triển: 36
TÀI LIỆU THAM KHẢO 37
NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN 38
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN 39
XÁC NHẬN CỦA GIÁO VIÊN PHẢN BIỆN 40
Trang 6Hình 2.1 Minh họa mô hình MVC 7
Hình 3.1 Sơ đồ Use Case 9
Hình 3.2 Quan hệ giữa các bảng 11
Hình 4.1 Giao diện trang chủ của khách hàng 17
Hình 4.2 Giao diện trang đăng ký của khách hàng 18
Hình 4.3 Giao diện trang đăng nhập của khách hàng 19
Hình 4.4 Giao diện trang chi tiết sản phẩm 20
Hình 4.5 Giao diện trang giỏ hàng 21
Hình 4.6 Giao diện trang phương thức thanh toán 22
Hình 4.7 Giao diện trang lịch sử giao dịch 23
Hình 4.8 Giao diện trang yêu cầu nạp tiền 24
Hình 4.9 Giao diện trang cập nhật thông tin 25
Hình 4.10 Giao diện trang so sánh sản phẩm 26
Hình 4.11 Giao diện trang tìm kiếm sản phẩm 27
Hình 4.12 Giao diện trang chủ admin 28
Hình 4.13 Giao diện trang quản lý các hãng 29
Hình 4.14 Giao diện trang quản lý model 30
Hình 4.15 Giao diện trang quản lý sản phẩm 31
Hình 4.16 Giao diện trang liệt kê danh sách sản phẩm 32
Hình 4.17 Giao diện trang quản lý khách hàng 33
Hình 4.18 Giao diện trang quản lý đặt hàng 34
Hình 4.19 Giao diện trang quản lý yêu cầu nạp tiền 35
Trang 7Bảng 3.1 Bảng “tbl_brand” 11
Bảng 3.2 Bảng “tbl_model” 12
Bảng 3.3 Bảng “tbl_product” 12
Bảng 3.4 Bảng “tbl_customer” 13
Bảng 3.5 Bảng “tbl_user” 14
Bảng 3.6 Bảng “tbl_orders” 14
Bảng 3.7 Bảng “tbl_request” 15
Bảng 3.8 Bảng “tbl_product_detail” 15
Trang 8SVTH: Nguyễn Đăng Vân – GVHD: PGS.TSKH Trần Quốc Chiến Trang 1
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
1.1 Đặt vấn đề:
1.1.1 Phạm vi đề tài:
Trước sự phát triển ngày càng nhanh chóng của lĩnh vực Công Nghệ Thông Tin
và cụ thể hơn nữa là lĩnh vực Mạng và Truyền Thông đang phát triển mạnh mẽ và
đi kèm với sự phát triển mạnh mẽ này là các dịch vụ, tiện ích để phục vụ đời sống, công việc, giải trí của con người cụ thể là dịch vụ mua bán trực tuyến qua mạng đang tỏ ra hiệu quả đối với con người và dần trở thành nhu cầu thiết yếu phục vụ
con người
Nắm bắt được nhu cầu thiết yếu này, sau một khoảng thời gian nghiên cứu và tìm hiểu thị trường em đã đưa ra quyết định luận văn tốt nghiệp của mình là :“Website thương mại điện tử kinh doanh điện thoại di động MobileShop”
Với website này người dùng có thể :
Xem thông tin chi tiết về điện thoại: thông số kỹ thuật của điện thoại, giá bán
Đặt mua hàng khi đã tìm được hàng mình cần
So sánh điện thoại với các thông tin để tìm ra điện thoại phù hợp với khả năng của mình
1.1.2 Chức năng cơ bản:
1.1.2.1 Chức năng cho khách hàng:
- Giao diện dễ sử dụng và tính thẩm mỹ cao
- Cho phép khách hàng đăng kí thành viên của trang web
- Thông tin sản phẩm phong phú, đa dạng
- Xem thông tin và tìm kiếm điện thoại theo nhiều danh mục: theo thương hiệu, model …
- So sánh điện thoại
Trang 9SVTH: Nguyễn Đăng Vân – GVHD: PGS.TSKH Trần Quốc Chiến Trang 2
- Kiểm tra giỏ hàng: Xem, xóa và cập nhật giỏ hàng
1.1.2.2 Chức năng cho admin:
- Cập nhật thông tin hàng hoá trực tuyến
Dễ dàng cập nhật và thường xuyên thay đổi hình ảnh, thông tin chi tiết giá các mặt hàng bạn sẽ kinh doanh ở bất cứ đâu
- Quản lý khách hàng : Lưu trữ thông tin của khách hàng
- Thống kê chi tiết cụ thể, chính xác và nhanh chóng
Thống kê được các thương hiệu, model, sản phẩm nào bán hết, mặt hàng nào bán chạy, mặt hàng nào tồn kho, mặt hàng nào cần chỉnh sửa…
Trang 10SVTH: Nguyễn Đăng Vân – GVHD: PGS.TSKH Trần Quốc Chiến Trang 3
CHƯƠNG 2: CÔNG CỤ CHÍNH HỖ TRỢ TRONG LUẬN VĂN 2.1 Xây dựng website:
2.1.2 CSS:
CSS quy định cách hiển thị của các thẻ HTML bằng cách quy định các thuộc tính của các thẻ đó (font chữ, màu sắc) Để cho thuận tiện bạn có thể đặt toàn bộ các thuộc tính của thẻ vào trong một file riêng có phần mở rộng là".css" CSS nó phá vỡ giới hạn trong thiết kế Web, bởi chỉ cần một file CSS có thể cho phép bạn quản lí định dạng và layout trên nhiều trang khác nhau Các nhà phát triển Web có thể định nghĩa sẵn thuộc tính của một số thẻ HTML nào đó và sau đó
nó có thể dùng lại trên nhiều trang khác
2.2 Hệ quản trị cơ sở dữ liệu và chức năng:
2.2.1 Lưu trữ dữ liệu:
Như đã giới thiệu ở chương I, MySQL là hệ quản trị CSDL miễn phí, người dùng không phải trả bất cứ lệ phí nào để sử dụng và phát triển kinh doanh trên nó Chính vì thế em quyết định chọn MySQL để lưu tất cả các CSDL liên quan trong đề tài
MySQL là một hệ quản trị cơ sở dữ liệu mở, hoàn toàn miễn phí MySQL được sử dụng phổ biến trong lập trình website động với PHP, chúng ta hay gọi chung là lập trình PHP & MySQL
Trang 11SVTH: Nguyễn Đăng Vân – GVHD: PGS.TSKH Trần Quốc Chiến Trang 4
MySQL cung cấp cho chúng ta cách truy vấn, thao tác với dữ liệu tương tự như SQL nhưng ở mức độ đơn giản hơn
MySQL lưu trữ dữ liệu theo dạng bảng
- Mỗi cơ sở dữ liệu bao gồm 1 hoặc nhiều bảng
- Mỗi bảng chứa một hoặc nhiều cột để lưu trữ dữ liệu, cột có thuộc tính như: kiểu dữ liệu là gì, khóa chính …
- Dòng là tập hợp giá trị của tất cả các cột trong bảng, một bảng
thường bao gồm rất nhiều dòng dữ liệu
2.2.2 Truy xuất và tương tác dữ liệu:
PHP:
PHP ( Hypertext Preprocessor) là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ,
mã nguồn mở, dùng cho mục đích tổng quát
Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống
C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới
Thẻ <?php và thẻ ?> sẽ đánh đấu sự bắt đầu và sự kết thúc của phần mã PHP qua đó máy chủ biết để xử lý và dịch mã cho đúng Đây là một điểm khá tiện lợi của PHP giúp cho việc viết mã PHP trở nên khá trực quan và dễ dàng trong việc xây dựng phần giao diện ứng dụng HTTP
Ngôn ngữ, các thư viện, tài liệu gốc của PHP được xây dựng bởi cộng đồng
và có sự đóng góp rất lớn của Zend Inc., công ty do các nhà phát triển cốt lõi của PHP lập nên nhằm tạo ra một môi trường chuyên nghiệp để đưa PHP phát triển ở quy mô doanh nghiệp
PHP phát triển qua nhiều phiển bản:
Trang 12SVTH: Nguyễn Đăng Vân – GVHD: PGS.TSKH Trần Quốc Chiến Trang 5
cú pháp hướng đối tượng và nhiều cú pháp ngôn ngữ nhất quán khác
Trang 13SVTH: Nguyễn Đăng Vân – GVHD: PGS.TSKH Trần Quốc Chiến Trang 6
JavaScript thường được nhúng trực tiếp vào các trang HTML
JavaScript là một ngôn ngữ thông dịch (có nghĩa là kịch bản thực hiện mà không cần lập sơ bộ)
JavaScript có thể đọc và thay đổi nội dung của một phần tử HTML
JavaScript có thể được sử dụng để xác nhận dữ liệu - JavaScript có thể được sử dụng để xác nhận hình thức dữ liệu trước khi nó được gửi đến máy chủ
Trang 14SVTH: Nguyễn Đăng Vân – GVHD: PGS.TSKH Trần Quốc Chiến Trang 7
Ajax:
Model-View-Control (MVC) là một kiến trúc phần mềm, hiện đang được xem là một mẫu thiết kế trong công nghệ phần mềm Mô hình MVC tách biệt phần xử lý dữ liệu ra khỏi phần giao diện, cho phép phát triển, kiểm tra và bảo trì các thành phần một cách độc lập
Hình 2.1: Minh họa mô hình MVC
Theo đó:
Model thể hiện các cấu trúc dữ liệu Các lớp thuộc thành phần Model thường thực hiện các tác vụ như truy vấn, thêm, xóa, cập nhật dữ liệu Khi
dữ liệu trong Model thay đổi, thành phần View sẽ được cập nhật lại
View là thành phần thể hiện dữ liệu trong Model thành các giao diện tương tác với người sử dụng Một Model có thể có nhiều View tùy thuộc vào các mục đích khác nhau
Controller đóng vai trò trung gian giữa Model vàView Thông tin người dùng từ View được gửi cho Controller xử lý, sau đó Controller tương tácc
Trang 15SVTH: Nguyễn Đăng Vân – GVHD: PGS.TSKH Trần Quốc Chiến Trang 8
với Model để lấy dữ liệu được yêu cầu, sau cùng Controller trả dữ liệu này
về cho View
Mô hình MVC thường được sử dụng trong các ứng dụng web, vì thành phần View (mã HTML/XHTML) được sinh ra từ các ngôn ngữ lập trình web Thành phần Controller sẽ nhận các dữ liệu GET/POST, xử lý những
dữ liệu này, sau đó chuyển sang Model xử lý
Trang 16SVTH: Nguyễn Đăng Vân – GVHD: PGS.TSKH Trần Quốc Chiến Trang 9
CHƯƠNG 3: PHÂN TÍCH CƠ SỞ DỮ LIỆU
Cơ sở dữ liệu chính có tên là “mobileshops.sql” lưu trữ trong hệ cơ sở dữ liệu MySQL
+Sơ đồ Use Case tổng quát:
Hình 3.1 Sơ đồ Use Case
Trong cơ sở dữ liệu có 2 tác nhân: Admin và khách hàng
Trang 17SVTH: Nguyễn Đăng Vân – GVHD: PGS.TSKH Trần Quốc Chiến Trang 10
+ Khách hàng: Sau khi đăng nhập vào tài khoản khách hàng có các quyền tương tác với dữ liệu như sau:
- Cập nhật thông tin của khách hàng trên trang web
- Xem lại lịch sử giao dịch
- Đổi mật khẩu đăng nhập vào trang web
- Nạp tiền vào tài khoản của khách hàng trên trang web
- Tìm kiếm sản phẩm mà khách hàng muốn mua
- Xem thông tin chi tiết của sản phẩm
- So sánh sản phẩm vừa xem với các sản phẩm khác
- Thực hiện việc mua hàng
+ Admin: Sau khi đăng nhập vào hệ thống Admin có các chức năng sau:
- Kiểm duyệt các yêu cầu nạp tiền vào tài khoản của khách hàng
- Kiểm duyệt các yêu cầu đặt hàng của khách hàng
- Quản lý các thương hiệu sản phẩm
- Quản lý các model của sản phẩm
Trang 18SVTH: Nguyễn Đăng Vân – GVHD: PGS.TSKH Trần Quốc Chiến Trang 11
Dựa trên sơ đồ Use Case em đã xây dựng cơ sở dữ liệu gồm các bảng có các liên kết như sau:
Trang 19SVTH: Nguyễn Đăng Vân – GVHD: PGS.TSKH Trần Quốc Chiến Trang 12
Bảng tbl_brand(branID, brandName, br_image, br_status,time) với khóa chính
là trường brandID, bảng brand để lưu thông tin về hãng sản phẩm, quản lý các hãng sản phẩm, có thể thêm, sửa, xóa các hãng sản phẩm
Trang 20SVTH: Nguyễn Đăng Vân – GVHD: PGS.TSKH Trần Quốc Chiến Trang 13
Bảng tbl_product( productID, brandID, modelID, image, quantity, price, dateAdd, dateModify, Status_pr) với khóa chính là trường brandID, bảng product để lưu thông tin về các sản phẩm trên trang web như hình ảnh sản phẩm, số lượng, giá bán… Bảng product có 2 khóa ngoại tham chiếu đến bảng brand và model là tbl_brandID và tbl_modelID
Trang 21SVTH: Nguyễn Đăng Vân – GVHD: PGS.TSKH Trần Quốc Chiến Trang 14
3.5 Bảng “tbl_user”:
Bảng 3.5 Bảng “tbl_user”
Trường Kiểu dữ liệu Khóa chính
Trang 22SVTH: Nguyễn Đăng Vân – GVHD: PGS.TSKH Trần Quốc Chiến Trang 15
Trang 23SVTH: Nguyễn Đăng Vân – GVHD: PGS.TSKH Trần Quốc Chiến Trang 16
Bảng tbl_product_detail với khóa chính là trường pro_detailID dùng để lưu thông tin về chi tiết của sản phẩm như: màn hình, ram, sim, bộ nhớ trong, bộ nhớ ngoài, dung lượng pin Bảng tbl_product_detail có trường productID là khóa ngoại tham chiếu đến bảng tbl_product