1. Trang chủ
  2. » Luận Văn - Báo Cáo

Phát triển hệ thống thương mại điện tử

41 342 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 41
Dung lượng 2,62 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Shoes Store Vớ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 1

CÁC CHỨC NĂNG THỰC THI BỔ SUNG

- Đã thêm số lượng vào giỏ hàng, số lượng đặt mua có thể thay đổi trong giỏ hàng

- Đã thực hiện chức năng thanh toán: trực tiếp và giao hàng rồi trả tiền

Trang 2

- Nếu trước đó chọn thanh toán trực tuyến thì chuyến sang trang sau:

Trang 3

- Đã thực hiện chức năng nâng cao:Tối ưu hóa công cụ tìm kiếm

Trang 4

I MỤC ĐÍCH

Nhu cầu làm đẹp của con người ngày càng nâng cao Không chỉ có quần áo,

mỹ phẩm, trang sức, mà giày dép cũng 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 5

Vớ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

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

II YÊU CẦU

1 Yêu cầu chức năng cho trang web

- Quản lý quyền sử dụng : khách hàng, admin, nhân viên nhập hàng

- Quản lý nhân viên

- Quản lý loại sản phẩm

- Quản lý sản phẩm

- Quản lý thành viên

- Quản lý đơn hàng

- Yêu cầu đối với trang dành cho khách hàng và thành viên

+ Trang chủ : Giao diện bắt mắt ,hiển thị màu sắc, 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

Trang 6

+ Giới thiệu : Giới thiệu các thông tin liên quan đến doanh nghiệp, mặt

hàng kinh doanh, địa chỉ, tuyển dụng ,v.v

+ 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

+ Liên hệ : Footer 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ị trang web của bạn

+ Đă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

+ Đăng nhập: Cho phép các thành viên đăng nhập vào hệ thống để mua

hàng

+ 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

+ Tối ưu hóa đồ họa, hình ảnh :

Trang 7

+ Người truy cập sẽ không phải chờ đợi lâu, giúp truy cập nhanh những thông tin mà bạn muốn họ xem.

+ Các công cụ tìm kiếm luôn coi tốc độ load của website là một tiêu chuẩn trong việc đánh giá xếp thứ hạng web

+ Tương thích với mọi trình duyệt : 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

- Yêu cầu đối với trang quản trị (Admin)

+Quả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

+Quản lý thành viên : Thông tin thành viên

+Quản lý nhân viên : Thông tin nhân viên nhập hàng và check hàng

+Quản lý đơn hàng : Cập nhật chi tiết đơn hàng gồm loại sản phẩm, người

mua, trạng thái

+Thống kê : thống kê lượng hàng bán được trong ngày, tuần, tháng

+Giao diện :

● 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

III PHÂN TÍCH THIẾT KẾ

2 Phân tích, thiết kế chức năng chính

a Usecase tổng

Trang 8

b Sơ đồ tuần tự

+ Đăng kí thành viên

▪ Tác nhân : Khách hàng

▪ Mô tả : Cho phép khách hàng đăng kí làm thành viên của hệ thống

▪ 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

password , confirm password… và button Sign in

3 Người dùng nhập thông tin theo form đã có và nhấn button Signin

4 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ông

5 Hệ thống hiển thị giao diện chính tương ứng với các chức năngcủ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

Trang 9

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

Sơ đồ tuần tự cho chức năng đăng ký thành viên

Hình 1 : Sơ đồ tuần tự cho chức năng đăng ký thành viên

+ Đăng nhập hệ thống

▪ Tác nhân : thành viên

▪ Mô tả : Cho phép thành viên đăng nhập vào hệ thống

▪ Tiền điều kiện: thành viên chưa đăng nhập hệ thống

▪ Hậu điều kiện:thành viên đăng nhập thành công va sử dụng các chức năng của hệ thống

Trang 10

button Login

4 Hệ thống kiểm tra tính hợp lệ của tài khoản và mật khẩu

5 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ý

Sơ đồ tuần tự cho chức năng đăng nhập hệ thống:

Hình 2 : Sơ đồ tuần tự cho chức năng đăng nhập hệ thống

Trang 11

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

Sơ đồ tuần tự của tìm kiếm sản phẩm:

Hình 3 : Sơ đồ tuần tự của tìm kiếm sản phẩm

+ Xem thông tin sản phẩm

▪ Tác nhân :khách hàng,người quản lý

▪ Mô tả : Cho phép khách hàng xem thông tin của sản phẩm mình cần quan tâm

Trang 12

▪ Kịch bản :

1 Khách hàng nhập vào ô tìm kiếm sản phẩm mình muốn xem

2 Hệ thống hiển thị danh sách sản phẩm theo key mà khách hàng tìm kiếm

3 Khách hàng click vào sản phẩm mà mình cần xem

4 Hệ thống sẽ hiển thị toàn bộ chi tiết thông tin sản phẩm gồm tên sản phẩm, giá , mô tả ,

+ Xem thông tin cá nhân

▪ Tác nhân :Nhân viên

▪ Mô tả : Cho phép nhân viên xem thông tin cá nhân của mình

▪ Tiền điều kiên: Nhân viên đã đăng nhập hệ thống

▪ Kịch bản :

1 Nhân viên click vào account management sau khi đăng nhập

2 Hệ thống hiển thị toàn bộ thông tin của nhân viên: Tên, số điện thoại, địa chỉ, tên tài khoản

Sơ đồ tuần tự cho Xem thông tin cá nhân:

+ 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

Trang 13

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 14

Sơ đồ tuần tự của nhập thêm giày:

+ Sửa thông tin cá nhân

▪ Tác nhân :thành viên

▪ Mô tả : Cho phép thành viên sửa thông tin đăng ký của mình

▪ Tiền điều kiên: thành viên đã đăng nhập hệ thống

▪ Kịch bản:

1 Thành viên click vào Acount Management sau khi đăng nhập

2 Hệ thống hiển thị giao diện chứa toàn bộ thông tin của thành viên

3 Thành viên click vào Edit trong giao diện

4 Hệ thống hiển thị toàn bộ thông tin cá nhân của nhân viên trongcác ô input

5 Thành viên sửa thông tin mình cần và click vào ok

6 Hệ thống hiển thị giao diện chứa thông tin sau khi sửa chủa thành viên

Sơ đồ tuần tự cho Sửa thông tin cá nhân

Trang 16

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

Trang 17

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

Sơ đồ tuần tự của tạo giỏ hàng:

+ Chỉnh sửa thông tin hàng trong giỏ

Trang 18

hàng của bạn và hai button cancel và button delete.

3 Khách hàng click vào button delete

4 Hệ thống hiển thị thông báo bạn có chắc chắn muốn xóa

Trang 19

▪ Kịch bản:

Sơ đồ tuần tự

c Thiết kế cơ sở dữ liệu

Trang 20

d Biểu đồ lớp

e Thiết kế thực thi chức năng chính theo mô hình 3 lớp

Trang 21

❖ Chức năng thêm vào giỏ hàng theo mô hình 3 lớp

★ Bước 1 : Người dùng nhấn vào nút thêm giỏ hàng cho 1 sản phẩm

★ Bước 2 : Tầng trình bày gửi yêu cầu tới tầng nghiệp vụ “muốn sản phẩm được thêm vào giỏ hàng”

★ Bước 3 : Tầng nghiệp vụ nhận được yêu cầu, hiểu rằng người dùng muốn một sản phẩm cụ thể được thêm vào giỏ hàng và xử lý yêu cầu Tầng nghiệp vụ nói với tầng dữ liệu để cập nhật giỏ hàng của khách truy cập bằng cách thêm các sản phẩm được lựa chọn Tầng dữ liệu lưu trữ và quản lý toàn bộ dữ liệu của trang web, thông tin giỏ hàng

★ Bước 4: Tầng dữ liệu cập nhật cơ sở dữ liệu và trả về 1 mã thành côngcho tầng nghiệp vụ

★ Bước 5: Tầng nghiệp vụ xử lý mã trả về và bất kì lỗi nào có thể đã xảy

ra trong tầng dữ liệu trong khi cập nhật cơ sở dữ liệu và sau đó trả về đầu ra cho tầng trình bày

★ Bước 6: Tầng trình bày tạo ra 1 giao diện cập nhật của giỏ hàng

★ Bước 7: Các kết quả trả về được gói lại bằng trang web HTML và được trả lại cho khách truy cập nơi mà giỏ hàng cập nhật có thể được nhìn thấy trong quá trình duyệt web của khách truy cập

❖ Chức năng tìm kiếm sản phẩm theo mô hình 3 lớp

Trang 22

★ Bước 1 : Người dùng gõ tên sản phẩm vào ô tìm kiếm trên giao điện web và nhấn nút Search

★ Bước 2 : Tầng trình bày gửi yêu cầu tới tầng nghiệp vụ “muốn tìm kiếm sản phẩm có tên là “… ” ”

★ Bước 3 : Tầng nghiệp vụ nhận được yêu cầu, hiểu rằng người dùng muốn tìm kiếm một sản phẩm cụ thể có tên là “ ” và xử lý yêu cầu Tầng nghiệp vụ nói với tầng dữ liệu để cập nhật danh sách các sản phẩm có chứa keyword như tìm kiếm Tầng dữ liệu lưu trữ và quản lý toàn bộ dữ liệu của sản phẩm

★ Bước 4: Tầng dữ liệu cập nhật cơ sở dữ liệu và trả về 1 mã thành côngcho tầng nghiệp vụ

★ Bước 5: Tầng nghiệp vụ xử lý mã trả về và bất kì lỗi nào có thể đã xảy

ra trong tầng dữ liệu trong khi cập nhật cơ sở dữ liệu và sau đó trả về đầu ra cho tầng trình bày

★ Bươc 6: Tầng trình bày tạo ra một danh sách sản phẩm có tên tìm kiếm

★ Bước 7: Các kết quả trả về được gói lại bằng trang web HTML và được trả lại cho khách truy cập có thể được nhìn thấy trong quá trình duyệt web

f 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

Elasticsearch:

ElasticSearch là một máy tìm kiếm cấp doanh nghiệp (enterprise-level

search engine) Mục tiêu của nó là tạo ra một công cụ, nền tảng hay kỹ thuật tìm kiếm và phân tích trong thời gian thực, có thể áp dụng hay triển khai một cách dễ dàng vào nguồn dữ liệu (data sources) khác nhau

Trang 23

ElasticSearch đượ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

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ệtNam

Trang 24

- 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

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 full-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ể

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

Trang 25

Các khái niệm cơ bản:

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

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

Ngày đăng: 24/05/2018, 00:19

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w