MỤC LỤCLƠÌ MỞ ĐẦU3CHƯƠNG I : KHẢO SÁT VẤN ĐỀ41.1. Tóm tắt dự án41.2. Khảo sát hệ thống hiện tại41.3. Mô hình tổng quan xây dựng6CHƯƠNG II : PHÂN TÍCH82.1.Tác nhân82.2.Mô hình hóa chức năng92.2.1. Biều đồ USER CASE92.2.2. Biều đồ tham gia ca sử dụng112.2.3. Biểu đồ tuần tự172.2.4. Biểu đồ thực thể liên kết26CHƯƠNG III: THIẾT KẾ273.1. Kiến trúc nền tảng273.2. Kiến trúc hệ thống303.3. Mô hình triển khai333.4. Thiết kế chi tiêt34CHƯƠNG IV : GIAO DIỆN434.1Giao diện người dùng434.1.1Giao diện trang chủ434.1.2 Giao diện giỏ hàng444.1.3. Giao diện thanh toán444.2. Giao diện admin454.2.1. Giao diện thống kê454.2.2. Giao diện quản lý category:464.2.3. Giao diện quản lý thuộc tính474.2.5. Giao diện quản lý sản phẩm484.2.6. Giao diện thêm mới sản phẩm494.2.7. Giao diện quản lý đơn hàng50KẾT LUẬN51TÀI LIỆU THAM KHẢO52
Trang 1MỤC LỤC
LƠÌ MỞ ĐẦU 3
CHƯƠNG I : KHẢO SÁT VẤN ĐỀ 4
1.1 Tóm tắt dự án 4
1.2 Khảo sát hệ thống hiện tại 4
1.3 Mô hình tổng quan xây dựng 6
CHƯƠNG II : PHÂN TÍCH 8
2.1 Tác nhân 8
2.2 Mô hình hóa chức năng 9
2.2.1 Biều đồ USER CASE 9
2.2.2 Biều đồ tham gia ca sử dụng 11
2.2.3 Biểu đồ tuần tự 17
2.2.4 Biểu đồ thực thể liên kết 26
CHƯƠNG III: THIẾT KẾ 27
3.1 Kiến trúc nền tảng 27
3.2 Kiến trúc hệ thống 30
3.3 Mô hình triển khai 33
3.4 Thiết kế chi tiêt 34
CHƯƠNG IV : GIAO DIỆN 43
4.1 Giao diện người dùng 43
4.1.1 Giao diện trang chủ 43
4.1.2 Giao diện giỏ hàng 44
4.1.3 Giao diện thanh toán 44
Trang 2TÀI LIỆU THAM KHẢO 52
LƠÌ MỞ ĐẦU
2
Trang 3Với sự phát triển nhảy vọt của công nghệ thông tin hiện nay, Internet ngày càng
giữ vai trò quan trọng trong các lĩnh vực khoa học kĩ thuật và đời sống Dĩ nhiên cácbạn đã được nghe nói nhiều về Internet, nói một cách đơn giản, Internet là một tập hợp máy tính nối kết với nhau, là một mạng máy tính toàn cầu mà bất kì ai cũng có thể kết nối bằng máy PC của họ Với mạng Internet, tin học thật sự tạo nên một cuộc cách mạng trao đổi thông tin trong mọi lĩnh vực văn hóa, xã hội, chính trị, kinh tế
Trong thời đại ngày nay, thời đại mà “người người làm Web, nhà nhà làm Web” thì việc có một Website để quảng bá công ty hay một Website cá nhân không còn là điều gì xa xỉ nữa Thông qua Website khách hàng có thể lựa chọn những sản phẩm mà mình cần một cách nhanh chóng và hiệu quả
Với công nghệ Word Wide Web, hay còn gọi là Web sẽ giúp bạn đưa những thông tin mong muốn của mình lên mạng Internet cho mọi người cùng xem một cách dễ dàng với các công cụ và những ngôn ngữ lập trình khác nhau Sự ra đời của các ngôn ngữ lập trình cho phép chúng ta xây dựng các trang Web đáp ứng được các yêu cầu của người sử dụng PHP (Personal Home Page) là kịch bản trên phía trình chủ (Server Script) cho phép chúng ta x ây dựng trang Web trên cơ sở dữ liệu Với nhiều ưu điểm nổi bật mà PHP và MySQL được rất nhiều người sử dụng Với lí do đó, được sự hướng dẫn và giúp đỡ của thầy Th.s Trần Thanh
Huân, chúng em đã chọn đề tài “Xây dựng Website thương mại” làm đề tài cho Đồ
Án Tốt Nghiệp của mình.
Trong quá trình thực hiện đồ án này em đã nhận được sự giúp đỡ chỉ bảo tận
tình của các thầy Chúng em xin chân thành cảm ơn thầy Th.s Trần Thanh Huân
đã hướng dẫn trong quá trình hoàn thành đề tài
Trang 4Thêm vào đó internet là một công cụ tìm kiếm và lấy thông tin rất rễ dàng, nhanh chóng và chính xác Vì vậy, nó được nhiều người sử dụng.
Trong cuộc sống hiện đại, những khái niệm về “bán hàng trực tuyến”, “siêu thị trực tuyến” và các địa chỉ mua bán trực tuyến ngay tại việt nam hay trên toànthế giới như www.g.o.l.com, www.ebay.com … Chắc chắn không còn quá xa lạ đối với nhiều người Nó đã trở thành những khái niệm, với những địa chỉ quen thuộc trên mạng internet Qua một thời gian xâm nhập thực tế và tìm hiểu nhu cầu của xã hội Hiện nay, nhiều nhóm khách hàng lựa chọn việc tìm kiếm thông tin, trao đổi mua bán trên internet là rất lớn Đứng trước nhu cầu thực tế đó, chúng tôi đã quyết định thực hiện dự án thiết kế một website thương mại
Hiện nay sản phẩm điện thoại đang được sử dụng rộng dãi trong đời sống, nhưng vẫn là loại mặt hàng mới và được nhiều nhóm khách hàng quan tâm Chính vì vậy chúng tôi đã quyết định xây dựng một website kinh doanh về điện thoại Website sẽ cung cấp cho khách hàng một dịch vụ bán hàng hoàn hảo, dịch
vụ tư vấn chuyên nghiệp- trực tiếp ( hình thức online ) Cung cấp những thông tin bổ ích về máy tính nói chung và sản phẩm điện thoại nói riêng Cung cấp một dịch vụ đồng bộ và chuyên biệt về sản phẩm mà website Vncharm cung cấp
1.2 Khảo sát hệ thống hiện tại
Hiện nay trên cộng đồng internet cũng đã tồn tại rất nhiều website thương mại điện tử nhưng trong quá trình tìm hiểu thì chúng tôi thấy các website này còn tồn tại rất nhiều bất cập như:
Thứ nhất là: Các trang web vẫn chưa có giao diện thân thiện, tiên dụng cho người dùng: Các navigation bố trí chưa hợp lý, là tốn khoảng không gian chochưng bày sản phẩm Hình ảnh quảng cáo quá nhiều, làm cho người dùng phimất tập trung vào sản phẩm Trong khi website đang là một website bán sản phẩm ( không phải bán quảng cáo ), Menu banner còn đang bị phức tạp hoá
so với vai trò, chức năng thực sự, => làm giảm tính tương tác với người
dùng.
Thứ hai là: Các trang web vẫn chưa cung cập được các thông tin cần và đủ
để thuyết phục người dùng mua hàng sau khi xem sản phẩm như: Hình ảnh - thiết kế, tính năng, hiệu xuất làm việc, phần mềm hỗ trợ, thông số kỹ thuật,
Chủng loại-Hãng sản xuất, => giảm sự tin tưởng của khác hàng đối với
website
4
Trang 5Thứ ba là: Các trang web vẫn chưa thấy cung cấp dịch vụ trong khi khách hàng đang thăm website, xem sản phẩm như: Tư vấn trực tiếp bằng các hình
thức online (chat Yahoo, skype, ola,…)=>không liên kết, giữa người dùng
và website công ty.
Thứ tư là: Chưa ứng dụng hiệu quả những công nghệ mới, phương pháp mới
(CSS2, CSS3, JQuery, AJAX, ) để làm website dẫn đến: Giảm tính động
của website.
Thứ năm là: Còn lạm dụng, sử dụng nhiều Flash trong website, trong quảng
cáo=> các trang website load châm, giảm hiệu năng của website, không
tương tác với một số trình duyệt,…
Thứ sáu là : Các website chưa thích hợp trên nhiều cấu hình ví dụ như điện
thoại, Ipad =>giảm sự tương tác của website với người dùng
Cuối cùng: Nhiều chức năng trong website còn chưa hoạt động hiệu quả như;Chức năng tìm kiếm, chức năng giỏ hàng, chức năng sắp xếp, hiển thị, lọc
sản phẩm,…=> làm cho website hoạt động thiếu hiệu quả.
Trang 7Keypay - Hệ thống thanh toán Quốc gia Keypay Để thanh
toán trực tuyến các đơn hàng đặt mua
ViettelPOST - Đối tác vận chuyển của VnCharm lấy hàng từ kho
để chuyển cho khách hoặc thu hộ tiền (COD)
Enduser
Khách hàng - Người mua hàng của hệ thống
Doanh nghiệp - Là đối tác của VnCharm
VnCharm
Nginx - Phân tải cho hệ thống
Redis - Tăng tốc hiệu năng hệ thống
Elasticsearch - Hỗ trợ khách hàng tìm kiếm sản phẩm
Mysql Database - Database lưu trữ dữ liệu VnCharm
Laravel - Dùng để kết nối, quản lý và thực hiện các nghiệp vụ
logic chính cho toàn bộ hệ thống
Bảng 1.1 Các thành phần và tác nhân
Trang 8Member: là hệ thống thành viên có chức năng: Đăng kí, đăng nhập, tìm kiếm, xem, sửa thông tin cá nhân, xem giỏ hàng, đặt hàng, xem thông tin
về các hóa đơn đã lập
Customer: Là khách vãng lai có chức năng: Đăng kí, tìm kiếm, xem thông tin sản phẩm, xem giỏ hàng, đặt hàng
8
Trang 92.2 Mô hình hóa chức năng
2.2.1 Biều đồ USER CASE
2.2.1.1 Biểu đồ USER CASE chính
Trang 10Tìm kiếm thông tin
về sản phẩm Xem thông tin về sản phẩm
Liệt kê, tìm kiếm hóa đơn
Sửa thông tin Member Xem Lịch sử giao dịch (HĐ đã lập) Đổi mật khẩu
Thêm sản phẩm vào giỏ hàng
Đăng nhập Đặt hàng
Đăng xuất
Thêm hãng
Đăng kí thành viên Xem giỏ hàng
Sửa thông tin sản phẩm
Xoá sản phẩm
Thêm sản phẩm
Xoá Member Liệt kê, cấp quyền, xoá User
10
Trang 11Hình 2.1 : Biểu đồ user case chính
2.2.1.2 Biểu đồ USER CASE chi tiết
a Quản trị (admintrastion)
Hình 2.2: Biểu đồ user case của quản trị
b Khách hàng (Customer)
Trang 12Hình 2.3 : biểu đồ user case của khách hàng
2.2.2 Biều đồ tham gia ca sử dụng
2.2.2.1 Quản trị (admin)
a Quản lý sản phẩm
Hình 2.4 : Biểu đồ quản lý sản phẩm tham gia ca sử dụng
12
Trang 13b Quản lý đơn hàng
Hình 2.5 : Biểu đồ lớp tham gia ca sử dụng quản lý đơn hàng
Trang 14c Thống kê
Hình 2.6 : Biểu đồ lớp tham gia ca sử dụng thống kê
14
Trang 152.2.2.2 Khách hàng (Customer)
a Tìm kiếm sản phẩm
Hình 2.7 : Biểu đồ lớp tham gia ca sử dụng tìm kiếm sản phẩm
Trang 16b Xem sản phẩm
Hình 2.8 : Biểu đồ lớp tham gia ca sử dụng xem sản phẩm
16
Trang 18Hình 2.10 : Biểu đồ xem thông tin tham gia ca sư dụng
18
Trang 192.2.3 Biểu đồ tuần tự
2.2.3.1 Biểu đồ tuần tự quản trị (admintrastion)
a Thêm sản phẩm
Trang 20b Sửa sản phẩm
b
Hình 2.12 : Biểu đồ tuần tự sửa sản phẩm
20
Trang 21c Xóa sản phẩm
Hình 2.13 : Biểu đồ tuần tự xóa sản phẩm
Trang 22d Quản lý giỏ hàng
Hình 2.14 : Biểu đồ tuần tự quản lý đơn hàng
22
Trang 23e Thống kê
Hình 2.15 : Biểu đồ tuần tự thống kê
2.2.3.2 Biểu đồ tuần tự của khách hàng
a Biểu đồ tuần tự tìm kiếm sản phẩm
Trang 24b Xem sản phẩm
Hình 2.17 : Biểu đồ tuần tự xem sản phẩm
24
Trang 25c Đặt hàng
Trang 262.2.3.3 Biểu đồ tuần tự thành viên
a Biểu đồ tuần tự kiểm tra tài khoản
Hình 2.20: Biểu đồ tuần tự kiểm tra tài khoản
26
Trang 27b Biểu đồ tuần tự kiểm tra lịch sử mua hàng
Hình 2.21 : Biểu đồ tuần tự kiểm tra lịch sử mua hàng
Trang 282.2.4 Biểu đồ thực thể liên kết
Hình 2.22 : Biểu đồ thực thể liên kết
28
Trang 29CHƯƠNG III: THIẾT KẾ
3.1 Kiến trúc nền tảng
3.1.1 Tổng quan về kiến trúc nền tảng
Tổng quan hệ thống được mô tả bởi hình bên dưới Nền tảng có thể hiểu như
là một kiểu phần cứng chạy các phần mềm phục vụ cho mục đích nhất định Nền tảng cũng có thể hiểu như là một hay nhiều hệ thống phần cứng riêng biệt nhằm hỗ trợ cho các yêu cầu về hiệu năng và độ sẵn sàng
Hardware Operating System (Windows)
MySQL PHP
Laravel Elasticsearch
Libraries
Webservice Nginx
Trang 30Vietel POST Server (1)
(2) (2)
3 MySQL Database
Server Server lưu trữ dữ liệu cho toàn bộ hệ thống.
30
Trang 314 Các thành phần
đối tác Các hệ thống SMS, vận chuyển
Bảng 3.2 Các thành phần phần cứng 3.1.3 Kiến trúc phần mềm
Mục này mô tả chi tiết các gói phần mềm hỗ trợ cho hệ thống
Hình 3.3 Kiến trúc phần mềm hệ thống
Trang 323 PHP Nền tảng web
4 Laravel Framework của hệ thống, đi kèm theo nó là các gói hỗ
trợ như: Image, Oauth, Excel, Boostrap…
5 CácServer/Platform Nền tảng JVM hay các Server như Redis,
tả các module chính trong cấu trúc của ứng dụng
Những mục tiếp theo mô tả chi tiết vai trò và mục đích của module chính và
Trang 331 Mysql Database Server hệ thống.
3 ViettelPOST Dịch vụ vận chuyển của hệ thống
4 Elasticsearch Module search của hệ thống
5 Laravel Framework của hệ thống, mọi thứ được xây dựng
quanh Framework này
Bảng 3.4 : Các thành phần trong kiến thúc hệ thống VnCharm
Trang 34TT Thành phần Chú thích
1 Libraries Các bộ thư viện cho module như ViettelPost, Fibo
2 Common Các hàm, phương thức hỗ trợ module được xây dựng ở
đây
4 Helper Các kiểu dữ liệu dựa trên kiểu nguyên thủy được xây
dựng ở đây
5 Model Là các object hỗ trợ kết nối giữa database và module
6 Backend Phân hệ quản trị của module
7 Frontend Phân hệ hiển thị cho người dùng
Bảng 3.5 Các thành phần của Laravel trong kiến thúc hệ thống VnCharm
3.3 Mô hình triển khai
Dưới đây là mô hình triển khai thực tế của hệ thống
34
Trang 35Nginx Server Firewall
LAN
LAN
Mysql Database Server
Mysql Database Server
Firewall Firewall
Apache Server Redis Server
Trang 373.4.5 Bảng PRODUCTS
Hình 3.11 : Bảng Products
3.4.6 Bảng product_attribute
Trang 413.4.13 Bảng orders
Hình 3.20 : Bảng orders
3.4.14 Bảng orders_detail
Trang 433.4.17 Bảng store
Hình 3.24 : Bảng store
3.4.18 Bảng Brand_store
Trang 44CHƯƠNG IV : GIAO DIỆN
4.1 Giao diện người dùng
4.1.1 Giao diện trang chủ
Hình 4.1: Giao diện trang chủ
44
Trang 454.1.2 Giao diện giỏ hàng
Hình 4.2 : Giao diện giỏ hàng 4.1.3 Giao diện thanh toán
Trang 464.2 Giao diện admin
4.2.1 Giao diện thống kê
Hình 4.4 : Giao diện thống kê
46
Trang 474.2.2 Giao diện quản lý category:
Hình 4.5 : Giao diện quản lý category
Trang 484.2.3 Giao diện quản lý thuộc tính
Hình 4.6 : Giao diện quản lý thuộc tính
48
Trang 494.2.5 Giao diện quản lý sản phẩm
Hình 4.7 : Giao diện quản lý sản phẩm
Trang 504.2.6 Giao diện thêm mới sản phẩm
Hình 4.8 : Giao diện thêm mới sản phẩm
50
Trang 514.2.7 Giao diện quản lý đơn hàng
Hình 4.9 : Giao diện quản lý đơn hàng
Trang 52KẾT LUẬN
Đề tài “Xây dựng Website thương mại” cũng xuất phát từ thực tế ngày nay
nhằm tạo một nền tảng cơ sở ban đầu để có thể hỗ trợ thêm cho các bạn muốn thiết
kế một Website cho công ty hay một Website cá nhân
Mặc dù đã có nhiều cố gắng, tìm hiểu các kiến thức đã học, kết hợp tra cứu các tài liệu chuyên nghành nhưng do còn hạn chế về thời gian, khả năng và kinh nghiệm nên không tránh khỏi những thiếu sót nhất định nên đề tài đã hoàn thành ở mức độ sau:
Tìm hiểu ngôn ngữ lập trình Web PHP & MySQL
Áp dụng xây dựng ứng dụng thực nghiệm trang Website thương mại
Vấn đề đã giải quyết :
- Xây dựng trang website đáp ứng nhu cầu của khách hàng
+ Thanh toán trực tuyến
+ Tăng tốc độ xử lý khi tìm kiếm
+ Giúp tăng tốc độ xử lý các request
+ Đảm bảo tính an toàn và bảo mật
+ Giao diện thân thiện với người dùng
Hướng nghiên cứu phát triển :
- Tìm hiểu sâu hơn về ngôn ngữ PHP & MySQL để có thể đáp ứng nhiều hơn nữanhu cầu của người sử dụng, phát triển và tối ưu hóa hệ thống,
- Kết hợp ngôn ngữ PHP với các hệ quản trị cơ sở dữ liệu lớn hơn: SQL Server, Oracle…
- Xây dựng web service cho website
- Tìm hiểu thêm một số ngôn ngữ, các phần mềm ứng dụng để nâng cao giao diện
đồ họa đẹp mắt, thân thiện hơn…
- Xây dựng trang Web quy mô lớn hơn với nhiều ứng dụng, chức năng
Để hoàn thành đề tài này, một lần nữa em xin chân thành cảm ơn thầy là người đã quan tâm, giúp đỡ chúng em trong suốt thời gian qua Chúng xin chân thành cảm ơn
!
52
Trang 53TÀI LIỆU THAM KHẢO
3 https://www.keypay.gov.vn/uploads/user/file/2-ufqf09sw.pdf, truy nhập cuối cùng ngày 01/05/2016
ngày 01/05/2016
01/05/2016
6 value-table-vs-single-table-for-storage-of-posts-events-and-pa, truy nhập cuối cùng ngày 01/05/2016
http://programmers.stackexchange.com/questions/252499/entity-attribute-7 value-table-vs-single-table-for-storage-of-posts-events-and-pa, truy nhập cuối cùng ngày 01/05/2016