Vậy tại sao không nghĩ ngay đến 1 trang web bán giày điện tử. Nó sẽ giúp bạn xóa bỏ các rào cản trên, tăng thu nhập cho bản thân. Những người sử dụng Internet sẽ thấy đơn đặt hàng trực tuyến dễ dàng hơn bất kỳ phương pháp nào khác. Thiết kế thương mại điện tử khéo léo có thể khuyến khích khách hàng mua những thứ họ không muốn. Ưu đãi đặc biệt dành cho người mua sắm thường xuyên, gợi ý mua sắm xung quanh trước hoặc trong khi thanh toán, các phụ kiện hữu ích được trình bày bên cạnh sản phẩm chính và hiển thị một lựa chọn ít tốn kém hơn so với sản phẩm mà họ đang cân nhắc để khuyến khích khách hàng mua nhiều hơn. Bạn có thể dễ dàng cập nhật trang web của mình để đề xuất các mục quan tâm theo mùa cụ thể, để thông báo các sản phẩm mới thú vị hoặc để giới thiệu các sản phẩm tương tự như những gì khách hàng cụ thể đã mua.
Trang 1MÔN PHÁT TRIỂN HỆ THỐNG THƯƠNG
MẠI ĐIỆN TỬ
BƯU CHÍNH VIỄN THÔNG
CHỦ ĐỀ :Thiết kế website bán giầy
1
Trang 4▪ Nhu cầu làm đẹp của con người ngày càng nâng cao Không chỉ quần áo, mỹ phẩm, trang sức, giày dép là một phụ kiện không thể nào thiếu, nó góp phần làm tôn thêm vẻ đẹp bên ngoài, giúp cho chúng ta tự tin khi ra ngoài và giao tiếp với mọi người Giày dép không những thể hiện được sự chú ý, tôn trọng đối phương
mà giày dép còn thể hiện cho sự đẳng cấp, quý phái và sang trọng của người mang Có rất nhiều các mẫu giày dép hợp thời trang, phù hợp với nhiều độ tuổi Không ai là người không quan tâm đến giày dép Với nhu cầu thị trường như vậy, tại sao lại không nghĩ tới việc bán giày dép?
Trang 5Với việc bán bán hàng trực tiếp, bạn sẽ gặp 1 số bất lợi như:
+ Tìm địa điểm thuê mặt bằng + Khách hàng có thể mua giầy tại nơi thuận tiện hơn với họ thay vì chọn cửa hàng của bạn
+ Thời gian mở cửa vào giờ hành chính của bạn hầu như sẽ không có khách + Nhiều người lại không có quá nhiều thời gian để "lang thang" phố xá chọn chọn, lựa lựa.
+ Khó khuyến nghị mua sản phẩm khác hay mua thêm sản phẩm tại cửa hàng trực tiếp
Trang 6Vậy tại sao không nghĩ ngay đến 1 trang web bán giày điện tử Nó sẽ giúp bạn xóa
bỏ các rào cản trên, tăng thu nhập cho bản thân Những người sử dụng Internet sẽ thấy đơn đặt hàng trực tuyến dễ dàng hơn bất kỳ phương pháp nào khác Thiết kế thương mại điện tử khéo léo có thể khuyến khích khách hàng mua những thứ họ không muốn Ưu đãi đặc biệt dành cho người mua sắm thường xuyên, gợi ý mua sắm xung quanh trước hoặc trong khi thanh toán, các phụ kiện hữu ích được trình bày bên cạnh sản phẩm chính và hiển thị một lựa chọn ít tốn kém hơn so với sản phẩm mà họ đang cân nhắc để khuyến khích khách hàng mua nhiều hơn Bạn có thể
dễ dàng cập nhật trang web của mình để đề xuất các mục quan tâm theo mùa cụ thể,
để thông báo các sản phẩm mới thú vị hoặc để giới thiệu các sản phẩm tương tự như những gì khách hàng cụ thể đã mua.
Trang 7TAIMIENPHI.V N
TOP TEMPLATES
02
Phân tích
hệ
1.Yêu cầu
2.Phân tích chức năng 3.Thiết kế
Trang 81.Trang chủ ▪ Giao diện bắt mắt, hiển thị màu sắc, logo, hình ảnh phù hợp và được bố trí khoa học, hiện đại Hiển thị nhiều danh mục
con theo chủ đề khách hàng yêu cầu
▪ Giới thiệu các thông liên quan đến doanh nghiệp, mặt hàng kinh doanh, địa chỉ, tuyển dụng
Trang 94.Dịch vụ ▪ Đặt hàng : Tích hợp tính năng giỏ hàng, khách hàng muốn mua sản phẩm có thể thêm mặt hàng vào giỏ rồi tổng hợp
▪ Thanh toán : Cho phép đặt hàng và thanh toán trực tiếp qua mạng qua các phương thức như ATM, ngân lượng, Paypal,v… hoặc có thể chọn phương thức thanh toán trực tiếp khi giao hàng
5.Tìm kiếm ▪ Cho phép khách hàng tìm kiếm sản phẩm theo tên, giá tiền,v.v hoặc bất cứ từ khóa nào mà bạn muốn Khách hàng
của bạn sẽ dàng tìm thấy được sản phẩm họ cần trong thời gian nhanh nhất
6.Liên hệ ▪ Chân trang sẽ hiển thị các thông tin liên hệ của doanh nghiệp kèm theo form liên hệ trực tuyến để khách hàng có thể gửi
những phản hồi, góp ý về cho quản trị web của bạn.
Trang 107 Đăng ký ▪ Cho phép khách hàng đăng kí thông tin ( họ tên, địa chỉ , số điện thoại, ) để trở thành thành viên và hưởng những ưu đãi
của cửa hàng mang lại.
8 Đăng nhập
▪ Cho phép các thành viên đăng nhập vào hệ thống để mua hàng
▪ Người dùng sẽ tiếp nhận chính xác thông tin từ website của bạn từ mọi trình duyệt mà họ truy cập.
9 Tương thích với mọi trình duyệt
Trang 1110 Thiết kế giao diện
▪ Với thiết kế đơn giản giúp website bán hàng trở nên thân thiện hơn, giảm độ phức tạp khiến khách hàng không mất tập trung khi xem hàng.
▪ Giúp truyền đạt thông điệp tới khách hàng hiệu quả hơn bởi tập trung vào việc hiển thị thông tin
11 Tối ưu hóa
Trang 12Quản lý sản phẩm ▪ Thêm, sửa, xóa, tìm kiếm sản phẩm theo ngày, theo tên.
▪ Cập nhật chi tiết đơn hang: loại sản phẩm, trạng thái
▪ Thiết kế đơn giản , tiện dụng và khoa học
▪ Dễ dàng thêm sửa xóa và tìm kiếm sản phẩm.
▪ Thống kê sản phẩm theo ngày , tuần , tháng
▪ Quản lý đơn đặt hàng của các thành viên
Quản lý thành viênQuản lý nhân viênQuản lý đơn hàng
Thống kêGiao diện
▪ Thông tin thành viên
▪ Thông tin nhân viên nhập hàng và check hàng
▪ Thống kê lượng hàng bán được trong ngày, tuần, tháng
Trang 13▪ Tiền điều kiên: Khách hàng ghé thăm hệ thống
▪ Hậu điều kiên: Khách hàng trở thành thành viên của hệ thống
• Kịch bản :
1.Người dùng chọn chức năng đăng ký trên giao diện chính của hệ thống2.Hệ thống hiển thị form đăng kí cho người dùng với các thông tin cần thiết như họ tên, địa chỉ, số điện thoại, email, password, confirm password… và button Sign in
3.Người dùng nhập thông tin theo form đã có và nhấn button Sign in4.Hệ thống kiểm tra tính hợp lệ của các thông tin đã nhập và hiển thị thông báo thành công5.Hệ thống hiển thị giao diện chính tương ứng với các chức năng của tác nhân
Ngoại lệ cho đăng ký thành viên :
4.1 Email của người dùng đã tồn tại 4.1.1 Thông báo đăng kí không thành công, email đã tồn tại và chuyển người dùng sang giao diện đăng nhập
Trang 14Sơ đồ tuần tự cho chức năng đăng ký
thành viên
Trang 152.Đăng nhập hệ thống
4.Hệ thống kiểm tra tính hợp lệ của tài khoản và mật khẩu5.Hệ thống hiển thị giao diện chính tương ứng với các chức năng của tác nhân
Ngoại lệ cho đăng nhập:
4.1 Người dùng nhập tài khoản hay mật khẩu không chính xác 4.1.1 Hệ thống thông báo lỗi và yêu cầu nhập lại
4.2 Tài khoản của người dùng không tồn tại
4.2.1 Hệ thống thông báo lỗi và yêu cầu người dùng sử dụng chức năng đăng ký
Trang 16Sơ đồ tuần tự cho chức năng đăng nhập
hệ thống
Trang 173 Tìm kiếm sản phẩm
1 Nhân viên bán hàng click vào button search sau khi nhân viên bán hàng đăng nhập vào hệ thống
2 Hệ thống hiển thị form input để nhân viên nhập tên giày muốn tìm và một button search
3 Nhân viên bán hàng nhập tên của khách hàng muốn tìm kiếm sau đó click vào button search
4 Hệ thống hiển thị danh sách với tên khách hàng mà nhân viên vừa nhập và một button Back
5 Nhân viên click vào tên khách hàng cần tìm để thấy đơn hàng của họ
6 Hệ thống hiển thị danh sách đơn hàng
7 Nhân viên bán hàng click “ok”
8 Hệ thống trở về trang chủ của nhân viên bán hàng
Trang 18Sơ đồ tuần tự cho chức năng tìm kiếm
sản phẩm
Trang 194 Nhập thêm giày
▪ Tác nhân : Nhân viên
▪ Mô tả : Nhân viên nhập thêm giày vào trong shop
▪ Tiền điều kiện: Nhan viên đã đăng nhập vào hệ thống
• Kịch bản :
1 Nhân viên bán hàng click vào button AddShoes sau khi nhân viên đăng nhập
2 Hệ thống hiển thị form nhập thông tin sách với các thông tin : loại giày, tên giày, nhàn sản xuất
3 Nhân viên bán hàng nhập thông tin về giày cần nhập và click vào button vào AddShoes
4 Hệ thống hiển thị thông báo thêm sách thành công và click và một button Ok
5.Nhân viên bán hàng click và nút Ok
6 Hệ thống trở về trang chủ của nhân viên
Ngoại lệ: giày đã tồn tại
3.1: Hệ thống thông báo giày đã tồn tại và button Ok
3.2: Nhân viên bán hàng click vào button OK
3.3: Hệ thống trở về thông tin đăng nhập
3.4: Nhân viên nhập hàng nhập thông tin giày và nhấn button AddShoes
Trang 20Sơ đồ tuần tự cho chức năng thêm giày
Trang 211 Khách hàng click vào button search sau khi khách hàng đã đăng nhập vào hệ thống.
2 Hệ thống hiển thị form input để khách hàng nhập tên giày muốn mua và một button search
3 Khách hàng nhập tên giày muốn tim và click vào nút button search
4 Hệ thống hiển thị danh sách với tên giày mà khách hàng vừa nhập và một button Back
5 Khách hàng click vào giày mà muốn thêm vào giỏ hàng
6 Hệ thống hiển thị thông tin cơ bản về đôi giày cần mua và hai button: AddToCart và Close
7 Khách hàng click vào button AddToCart
8 Hệ thống thông báo khách hàng đã thêm sách thành công và một button Close
9 Khách hàng click vào button Close
10 Hệ thống quay trở lại trang chủ của khách hàng
Trang 22Sơ đồ tuần tự cho chức năng tìm kiếm
sản phẩm
Trang 23 ▪ Tác nhân :khách hàng▪ Mô tả : Cho phép khách hàng xem đươc sản
phẩm mà mình đã thêm vao giỏ hàng
6.Sửa thông tin cá
Trang 24
▪ Tác nhân :thành viên
▪ Mô tả : Cho phép khách hàng tạo đơn hàng
để tiến hành thanh toán giỏ hàng sản phẩm
▪ Tiền điều kiện: khách hàng đã chọn sản phẩm vào giỏ
9.Chỉnh sửa thông tin hàng trong giỏ
Trang 25STT Tên UseCase Ý nghĩa từng usecase
1 Đăng kí thành viên Khách hàng đăng kí làm thành viên
2 Đăng nhập hệ thông Khách hàng đăng nhập hệ thống
3 Tìm kiếm sản phẩm Khách hàng tím kiếm sản phẩm
4 Xem thông tin sản phẩm Khách hàng xem thông tin sản phẩm
5 Xem thông tin cá nhân Thành viên xem thông tin cá nhân
6 Sửa thông tin cá nhân Thành viên sửa thông tin cá nhân
7 Thêm vào giỏ hàng Thành viên thêm hàng vào giỏ
8 Xem giỏ hàng Thành viên xem giỏ hàng
9 Chỉnh sửa thông tin hàng
trong giỏ Thành viên chỉnh sửa thông tin của hàng đã thêm trong giỏ
10 Thanh toán Khách hàng thanh toán
Trang 29Lựa chọn hệ quản trị cơ sở dữ liệu và công cụ thực hiện
+ Hệ csdl mySQL/Xampp hoặc phpmySQL
+ Sublime text, NetBeans
Trang 302 Phân tích yêu cầu
2.1 Mô hình nghiệp vụ
2.1.1 Các chức năng quản lý các đối tượng2.1.2 Đặc tả chức năng quản lý : thêm, sửa, xóa, tìm kiếm
2.2 Mô hình hệ thống
2.2.1 Module quản lý quyền sử dụng2.2.2 Module quản lý nhân viên
2.2.3 Module quản lý khách hàng2.2.4 Module quản lý loại sản phẩm2.2.5 Module quản lý sản phẩm
2.2.6 Module quản lý đơn hàng2.3 Giao diện
2.4 Phân tích cơ sở dữ liệu
Trang 313.2.1 Xây dựng mô hình lớp thiết kế3.2.1 Thiết kế các chức năng thêm, sửa, xóa, tìm kiếm
3.3 Thiết kế giao diện
3.3.1 Trang chủ3.3.2 Đăng ký3.3.3 Đăng nhập3.3.4 Giới thiệu3.3.5 Sản phẩm3.3.6 Chi tiết sản phẩm3.3.7 Giỏ hàng
3.3.8 Liên hệ3.3.9 Các trang quản lý dành cho admin
Trang 323.4.3 Thiết kế thực thi theo mô hình 3 lớp3.4.4 Thiết kế sơ đồ lớp
4 Phát triển phần mềm
4.1 Xây dựng cơ sở dữ liệu 4.2 Xây dựng các module chương trình với các chức năng chính thêm, sửa, xóa, tìm kiếm
4.3 Tích hợp các module chương trình
5 Kiểm thử
6 Kết thúc dự án
Trang 33Tiến độ thực
thi
theo những mốc quan trọng
Trang 34Tiến độ thực
thi
theo những mốc quan trọng
Trang 35nâng cao
CHỨC NĂNG NÂNG CAO
Trên thế giới hiện nay có một số thư viện mã nguồn mở hỗ trợ xây dựng
hệ thống tìm kiếm thông tin như: Lucene, Egothor, Xapian, MG4J, Sphinx… Trong số các mã nguồn mở này thì Lucene là thư viện mã nguồn
mở được nhiều tổ chức, cá nhân sử dụng nhất, cụ thể: CNET sử dụng Lucene để tìm kiếm danh sách thể loại sản phẩm, Wikipedia dùng lucene
để tìm kiếm nội dung toàn văn bản ElasticSearch và Sorl là hai một công
cụ tìm kiếm rất mạnh cũng được xây dựng và phát triển dựa trên nền tảng Lucene,… Vì vậy, chúng em đã lựa chọn ElasticSearch để sử dụng cho đề tài của mình.
=> Tối ưu hóa chức năng tìm kiếm
Trang 36ElasticSearch được phát triển bởi Shay Banon và dựa trên Apache Lucene,
là một bản phân phối mã nguồn mở cho việc tìm kiếm dữ liệu trên máy chủ.
Elasticsearch (một trong những hệ thống tìm kiếm mã nguồn mở phổ biến nhất hiện nay) có thể phục vụ một lượng lớn requests từ các nền tảng khác nhau.
Trang 37nâng cao
CHỨC NĂNG NÂNG CAO
Elasticsearch: điều làm cho ES thực sự đặc biệt chính là nhờ vào khả năng phục
hồi thông tin của nó Sự kết hợp của storage và querying/aggregation service đã làm cho ES thực sự đặc biệt và khác xa 1 công cụ chỉ lưu trữ văn bản.
- Elasticsearch được xây dựng để hoạt động như một server cloud theo cơ chế của RESTful.
- Kế thừa và phát triển từ Lucene Apache.
- Phát triển bằng ngôn ngữ java.
- Là phần mềm open-source được phát hành theo giất phép của Apache License.
- Tương tự như Apache Solr
- ELASTIC-SEARCH có thể tích hợp được với tất cả các ứng dụng sử dụng các loại ngôn ngữ sau: Java, javascipt, Groovy, NET, PHP, Perl, Python, Ruby
- Những ai đã dùng ElasticSearch: Mozilla, Quora, SoundCloud, GitHub, Stack Exchange, Center for Open Science, Reverb, Netflix và có cả Sendo của Việt Nam
Trang 38nâng cao
CHỨC NĂNG NÂNG CAO
- Người dùng chỉ truy cập trên dữ liệu của ElasticSearch
- Người quản trị thì truy cập trực tiếp trên Database SQL (MySQL) để cập nhật thêm xóa sửa và nó tự động cập nhật sang ElasticSearch
Trang 39nâng cao
CHỨC NĂNG NÂNG CAO
Trong Elasticsearch , sử dụng một cấu trúc được gọi là inverted index Nó được thiết kế để cho phép tìm kiếm text search Cách thức của nó khá đơn giản, các văn bản được phân tách ra thành từng từ có nghĩa sau đó sẽ được map xem thuộc văn bản nào Khi search tùy thuộc vào loại search sẽ đưa ra kết quả cụ thể
full-Ví dụ : Chúng ta có 2 văn bản cụ thể như sau :
1,The quick brown fox jumped over the lazy dog
2,Quick brown foxes leap over lazy dogs in summer
Tìm kiếm: quick brown Cả 2 đoạn văn bản
đều thích hợp với từ khóa Tuy nhiên có thể
dễ dàng nhận ra rằng Doc_1 chính xác hơn nhiều
Trang 40nâng cao
CHỨC NĂNG NÂNG CAO
Document là một JSON object với một số dữ liệu Hiểu 1 cách cơ bản thì đây là đơn vị nhỏ nhất để lưu trữ dữ
liệu trong Elasticsearch
Shard là đối tượng của Lucene, là tập con các documents của 1 Index Một Index có thể được chia thành
nhiều shard Mỗi node bao gồm nhiều Shard Chính vì thế Shard mà là đối tượng nhỏ nhất, hoạt động ở mức thấp nhất, đóng vai trò lưu trữ dữ liệu Chúng ta gần như không bao giờ làm việc trực tiếp với các Shard vì Elasticsearch đã support toàn bộ việc giao tiếp cũng như tự động thay đổi các Shard khi cần thiết Có 2 loại Shard là : Primary Shard và Replica Shard
+ Primary Shard là sẽ lưu trữ dữ liệu và đánh index Sau khi đánh xong dữ liệu sẽ được vận chuyển tới
các Replica Shard Mặc định của Elasticsearch là mỗi index sẽ có 5 Primary Shard và với mỗi Primary Shard thì sẽ đi kèm với 1 Replica Shard
+ Replica Shard là nơi lưu trữ dữ liệu nhân bản của Primary Shard Replica Shard có vai trò đảm bảo
tính toàn vẹn của dữ liệu khi Primary Shard xảy ra vấn đề Ngoài ra Replica Shard có thể giúp tăng cường tốc
độ tìm kiếm vì chúng ta có thể setup lượng Replica Shard nhiều hơn mặc định của ES
Trang 41nâng cao
CHỨC NĂNG NÂNG CAO
Node Là trung tâm hoạt động của Elasticsearch Là nơi lưu trữ dữ liễu ,tham gia thực hiện đánh
index cúa cluster cũng như thực hiện các thao tác tìm kiếm Mỗi node được định danh bằng 1 unique name
Cluster Tập hợp các nodes hoạt động cùng với nhau, chia sẽ cùng thuộc tính cluster.name Chính
vì thế Cluster sẽ được xác định bằng 1 'unique name' Việc định danh các Cluster trùng tên sẽ gây nên lỗi cho các node vì vậy khi setup cần hết sức chú ý điểm này.
+ Mỗi Cluster có một Node chính (master), được lựa chọn một cách tự động và có thể thay thế nếu sự cố xảy ra Một Cluster có thể gồm 1 hoặc nhiều Nodes Các Nodes có thể hoạt động trên cùng 1 server Tuy nhiên trong thực tế, một Cluster sẽ gồm nhiều Nodes hoạt động trên các server khác nhau để đảm bảo nếu 1 server gặp sự cố thì server khác (node khác) có thể hoạt động đầy đủ chức năng so với khi có 2 servers Các node có thể tìm thấy nhau để hoạt động trên cùng 1 cluster qua giao thức unicast
+ Chức năng chính của Cluster đó chính là quyết định xem shards nào được phân bổ cho node nào và khi nào thì di chuyển các Cluster để cân bằng lại Cluster