LỜI CÁM ƠN
Để hoàn thành được đồ án này, không những cần phải có sự nỗ lực hết
mình của bản thân, mà còn cần sự giúp đỡ của thầy cô, gia đình, bạn bè. Dù trực
tiếp, hay gián tiếp hay dù một lời động viên cũng đủ để tiếp thêm nguồn sức
mạnh về tinh thần lẫn vật chất. Chính vì thế, em rất biết ơn đến tất cả những
người đã giúp em hoàn thành tốt đề tài này.
Trước tiên, em xin chân thành cám ơn thầy Nguyễn Văn Việt đã tận tình
hướng dẫn, cung cấp những kiến thức quý báu và giúp đỡ em trong quá trình
nghiên cứu và hoàn thiện.
Em cũng xin cám ơn đến tất cả những thầy cô đã từng dạy em, dù không
hướng dẫn trực tiếp nhưng những kiến thức mà thầy cô đã truyền cho em cũng vô
cùng quan trọng, nếu không có nền tảng kiến thức đó thì em cũng khó mà hoàn
thiện được đề tài.
Bên cạnh đó, tôi cũng không quên những người bạn đã cùng kề vai sát
cánh, cũng vô cùng tận tâm hướng dẫn và góp ý cho tôi, chia sẻ kiến thức, kinh
nghiệm giúp đỡ tôi rất nhiều.
Trong quá trình thực hiện đề tài và hoàn thiện đồ án mặc dù đã rất cố gắng
nhưng với sự hạn chế về kiến thức, thời gian nên chắc chắn sẽ không tránh khỏi
sai sót. Vì vậy, em kính mong thầy thông cảm, hướng dẫn và chỉ bảo thêm để em
có thể hoàn thiện đề tài.
Em xin chân thành cám ơn.!
Sinh viên thực hiện
Đoàn Văn Tân
LỜI CAM ĐOAN
Em xin cam đoan, toàn bộ kết quả trong đồ án “Xây dựng sàn giao dịch
thương mại điện tử trên nền tảng Framework Yii2” được hình thành, phát
triển, đúc kết qua sự nghiên cứu của em, dưới sự hướng dẫn, chỉ bảo của Th.S
Nguyễn Văn Việt. Nội dung trong đồ án có tham khảo, sử dụng tài liệu, thông tin
từ một số nguồn khác được trích dẫn trong phần tài liệu tham khảo và một số
website. Nếu có gì không trung thực em xin hoàn toàn chịu trách nhiệm.
Thái Nguyên, ngày … tháng … năm 2015
SINH VIÊN
Đoàn Văn Tân
2
MỤC LỤC
3
DANH MỤC CÁC BIỂU ĐỒ
4
DANH MỤC CÁC BẢNG
5
DANH MỤC CÁC HÌNH
6
LỜI MỞ ĐẦU
Cùng với sự phát triển không ngừng nghỉ của internet, việc ứng dụng công
nghệ này vào thực tế cuộc sống đã và đang được con người sử dụng rộng rãi bởi
những tính năng vượt trội của nó như: giúp tìm kiếm thông tin nhanh chóng, tiết
kiệm thời gian, có thể sử dụng mọi lúc mọi nơi…Quảng bá sản phẩm trên mạng
Internet có thể coi là một hình thức tiếp thị có mục tiêu, lôi kéo được một lượng
khách hàng khổng lồ có những nhu cầu, quan tâm đặc biệt đối với sản phẩm, dịch
vụ của doanh nghiệp. Quảng cáo, maketting và bán hàng trên mạng vì thế ngày
đang ngày càng trở thành “mốt” xu thế phát triển của các công ty, doanh nghiệp
hoạt động trên các lĩnh vực thương mại và dịch vụ.
Xuất phát từ nhu cầu thực tế, em đã xây dựng một website thương mại
điện tử với mục đích giới thiệu, quảng bá đa dạng sản phẩm đến nhiều đối tượng
khách hàng.
Trong quá trình thực hiện đề tài, em xin gửi lời cám ơn chân thành tới
Thầy Nguyễn Văn Việt giáo viên hướng dẫn em thực hiện đồ án này.
Trong quá trình nghiên cứu và thực hiện đề tài mặc dù được sự chỉ bảo tận
tình của các thầy cô, nhưng do còn hạn hẹp về chuyên môn và kinh nghiệm nên
khi thực hiện đề tài chắc chắn không tránh khỏi những thiếu sót. Em rất mong
nhận được sự góp ý của thầy, cô và các bạn.
Em xin chân thành cám ơn!
7
CHƯƠNG I: GIỚI THIỆU ĐỀ TÀI - CƠ SỞ LÝ THUYẾT
1.1. Giới thiệu đề tài.
1.1.1. Tổng quan đề tài
1. Tên đề tài: Xây dựng sàn giao dịch thương mại điện tử trên nền tảng
framework Yii2.
2. Lý do chọn đề tài
Ngày nay, công nghệ thông tin có vai trò hết sức quan trọng, là động lực
thúc đẩy tăng trưởng kinh tế và kích thích tăng lực đổi mới đối với nền kinh tế
toàn cầu nói chung và nền kinh tế quốc dân của mỗi nước nói riêng. Với nhiều
thành quả quan trọng, công nghệ thông tin đã được ứng dụng rộng dãi trong
nhiều lĩnh vực, trở thành một trong những yếu tố quan trọng nhất của sự phát
triển kinh tế - xã hội, an ninh - quốc phòng. Việc đẩy mạnh ứng dụng công nghệ
thông tin sẽ làm thay đổi tác phong làm việc, nâng cao năng suất lao động, nâng
cao dân trí. Điểm nhấn là sử dụng công nghệ thông tin trong thương mại điện tử.
Xuất phát từ những lý do trên và ứng dụng các kiến thức đã học, em quyết
định chọn đề tài “Xây dựng sàn giao dịch thương mại điện tử trên nền tảng
framework Yii2”.
3. Khách thể và đối tượng nghiên cứu
• Hệ thống bán hàng qua mạng.
• Các công cụ dùng để xây dựng chương trình.
4. Giới hạn và phạm vi nghiên cứu
• Cho phép người tiêu dùng mua hàng qua mạng.
• Quản lý việc đặt hàng và các thông tin của khách hàng, quản lý sản phẩm, quản lý
các đơn xuất, nhập hàng.
1.1.2. Nhiệm vụ và phương pháp nghiên cứu
1. Nhiệm vụ
• Tìm hiểu nghiệp bán hàng trực tuyến và quản lý các thông tin liên quan.
• Tìm hiểu các công cụ xây dựng chương trình.
8
2. Phương pháp
• Khảo sát thực tế ( cụ thể là các trang website và các shop đa mặt hàng)
• Thu thập các tài liệu liên quan đến nghiệp vụ bán hàng trực tuyến.
1.1.3. Ý nghĩa lý luận và thực tiễn của đề tài
Website quản lý bán hàng có tính ứng dụng thực tế cao bởi vì trước đây
nhiều khách hàng phàn nàn rằng họ không muốn phải chạy hàng giờ trên những
con đường bui bặm để có thể chọn được những sản phẩm ưng ý, họ muốn chỉ cần
ở nhà có một đường dây internet để order theo yêu cầu, với mong muốn đó em đã
xây dựng website một website thương mại điện tử.
Website có vai trò rất lớn đối với người sử dụng. Với hệ thống chức năng
tương đối đầy đủ sẽ trợ giúp người dùng trong việc quản lý một cách thuận tiện
và nhanh gọn hơn, tiết kiệm được nhiều thời gian và công sức.
1.2. Cơ sở lý thuyết
1.2.1. Tìm hiểu Framework Yii
1.2.1.1. Yii là gì?
Yii là một PHP framework cho phép phát triển nhanh chóng các ứng dụng
Website hiện đại. Tên Yii (phát âm là Yee hoặc [ji:]) có nghĩa là "đơn giản và tiến
hóa" ở Trung Quốc. Nó cũng có thể được coi như là một từ viết tắt cho Yes It Is!
Yii không phải là cái gì đó mới mẻ hay cao siêu cả, mà đơn giản chỉ là học hỏi và
kế thừa những cái đã có và thống nhất thành 1 framework dễ dùng nhất cho người
sử dụng.[5]
Lịch sử: Tiền thân của Yii chính là PRADO framework. Tác giả của Yii là
Qiang Xue, 1 người Trung Quốc. Qiang Xue bắt đầu xây dựng Yii vào khoảng
1/1/2008. Có nghĩa là tính tới nay mới được 4 năm. Tuy nhiên Qiang Xue cũng
chính là người đã từng phát triển và maintain PRADO, tuy nhiên, nhận thấy
PRADO có nhiều hạn chế và bản thân Qiang Xue muốn phát triển 1 framework
mang những đặc điểm như dễ sử dụng, dễ tiếp cận, bảo mật cao và chuyên nghiệp
hơn nên QX đã sử dụng kinh nghiệm của mình trong thời gian phát triển PRADO
9
để viết ra Yii. Sau gần 1 năm phát triển, tới 8/12/2008, bản Yii đầu tiên đã được
public và nhanh chóng được mọi người đón nhận.
Yii framework là gì? Yii là từ viết tắt của từ Yes, it is! Hoặc cũng có thể là
viết ngắn gọn 3 chữ cái đầu của Easy (dễ dàng), Efficient (hiệu suất) và
Extensible (khả năng mở rộng). Yii là một PHP Framework mã nguồn mở và
hoàn toàn miễn phí, có hiệu
quả xử lý cao, phát triển tốt nhất trên các ứng dụng Web 2.0, sử dụng tối đa các
thành phần để tăng tốc độ viết ứng dụng. Yii đang nổi lên là 1 framework tốt bởi
hiếm có nhóm phát triển framework nào bỏ đi 1 framework để làm cái thứ hai với
những kinh nghiệm đã có từ cái framework (mà số fan sử dụng không hề nhỏ)
như nhóm làm Yii. Ưu điểm của Yii là tính đơn giản trong cách viết kết hợp với
thế mạnh "scripting" của PHP và cơ chế mảng index (associative array). Yii cũng
được viết bởi những người viết "thực tế" hơn Zend nên có sẵn những công cụ
"hợp thời trang" nhất cho người viết ứng dụng. Yii là framework MVC nhưng có
kiến trúc OOP rất tốt và định hướng theo component nên mức độ tái sử dụng giữa
các project rất cao. Yii đặc biệt chạy nhanh hơn Zend và Symfony.
Yêu cầu: Webserver hỗ trợ và cài đặt PHP 5.1.x trở lên và Có hiểu biết về
lập trình hướng đối tượng (OPP) là một lợi thế.
Sử dụng Yii Framework tốt nhất là khi nào? Yii, nói chung, là một
framework phát triển ứng dụng Web nên có thể dùng để viết mọi loại ứng dụng
Web. Yii rất nhẹ và được trang bị giải pháp cache tối ưu nên nó đặc biệt hữu dụng
cho ứng dụng web có dung lượng dữ liệu trên đường truyền lớn như web portal,
forum, CMS, e-commerce, v.v.
Yii so sánh thế nào với các framework khác: Giống như hầu hết các PHP
framework, Yii là một MVC framework. Yii tốt hơn các framework khác bởi tính
hiệu quả, nhiều tính năng và tài liệu hướng dẫn đầy đủ. Yii được thiết kế cẩn thận
từ ban đầu để đáp ứng nhu cầu phát triển ứng dụng Web nghiêm ngặt. Yii không
phải là sự trộn lẫn của các dự án đã qua hay tập hợp các 3rd party library. Nó là
kết quả của kinh nghiệm phát triển ứng dụng Web lâu năm của các tác giả và sự
phân tích kỹ lưỡng, tận dụng những điểm mạnh của các framework khác. 6. Kế
10
thừa: Yii kết hợp những ý tưởng và những kiến thức của các framework và ứng
dụng lập trình web đi trước nó. Dưới đây là 1 số ứng dụng mà Yii đã học tập:
Prado: Tất nhiên rồi, vì tiền thân của Yii chính là Prado mà. Đây cũng chính là
nguồn ý tưởng chính cho Yii. Yii làm theo những ý tưởng về component- base,
"event-driven programming paradigm", các lớp database abstraction, kiến trúc
ứng dụng theo các module, "internationalization and localization", Ruby on
Rails: Yii kế thừa các quy ước của ROR thông qua cấu hình. Tham khảo mô hình
ActiveRecord của ROR jQuery: jQuery được tích hợp sẵn trong Yii và được sử
dụng như một Javascripts framework Symfony: Yii tham khảo cách thiết kế các
bộ lọc (filter design) của Sym và kiến trúc plug-in của nó Joomla: Yii tham khảo
thiết kế module (modular design) và message translation.
Yii Framework đặc biệt thích hợp cho việc phát triển các ứng dụng quy mô
lớn như các cổng thông tin, diễn đàn, các hệ thống quản lý nội dung (CMS), các
dự án thương mại điện tử, dịch vụ Web RESTful.
1.2.1.2. Thế mạnh của Yii framework
- Yii cũng chạy với mô hình MVC (Model-View-Controller) .
- Mã của Yii được viết một cách đơn giản nhưng dể nhìn, dể sử dụng.
- Yii là một bộ framework hoàn chỉnh cung cấp nhiều tính năng được xây
dựng sẵng: xây dựng truy vấn và ActiveRecord cho cả hai cơ sở dữ liệu relational
và NoSQL databases; Hỗ trợ phát triển API RESTful; nhiều tầng hỗ trợ caching;
và nhiều hơn nữa.
- Yii rất linh động. Bạn có thể tùy chỉnh hoặc thay thế gần như tất cả các
phần của mã trong lõi Yii. Bạn cũng có thể tận dụng lợi thế của kiến trúc mở rộng
trong Yii để sử dụng hoặc phát triển ứng dụng.
- Hiệu suất cao luôn là một mục tiêu chính của Yii.
- Yii framework được hỗ trợ bởi một đội ngũ phát triển mạnh mẽ, cũng
như một cộng đồng lớn của các chuyên gia liên tục đóng góp cho sự phát triển
của Yii.
11
1.2.2. Công nghệ Responsive Web Design (RWD) trong thiết kế website
1. Khái niệm về Responsive Web Design
Responsive Web Design (RWD) là xu hướng mới theo đó quy trình thiết
kế và phát triển web sẽ đáp ứng mọi thiết bị và môi trường của người dùng theo
các tiêu chí kích thước và chiều của màn hình thiết bị. Để làm được điều đó
chúng ta sẽ sử dụng linh hoạt kết hợp các kỹ thuật bao gồm flexible grid,
responsive image và CSS media query. Khi người dùng chuyển từ máy tính xách
tay của họ sang iPad hay iPhone, trang web sẽ tự động chuyển đổi để phù hợp với
kích thước màn hình và kịch bản xử lý. Nói cách khác, các trang web cần phải có
công nghệ tự động đáp ứng theo thiết bị của người dùng. Điều này sẽ loại bỏ sự
cần thiết cho nhiều thiết kế web khác nhau và giảm thiểu thời gian cũng như chi
phí thiết kế web.
2. Lợi ích của RWD
Như đã nói ở trên, RWD dùng để bố cục lại giao diện trang web cho tương
thích với nhiều loại kích cỡ màn hình khác nhau. Hãy thử tưởng tượng xem, nếu
màn hình trên điện thoại của bạn đã hẹp, diện tích rất hạn chế rồi mà bạn còn phải
thấy một đống quảng cáo trên Tinh tế thì sẽ thế nào? Nếu là mình, mình sẽ phát
điên lên. May mắn là mấy anh kĩ thuật đã làm RWD nên chúng ta không cảm
thấy phiền phức.
Hoặc bạn cũng có thể nghĩ đến tình huống như thế này: giờ đây các trình
duyệt web di động đều đã hỗ trợ HTML và CSS đầy đủ chứ không còn cùi bắp
như xưa, do đó toàn bộ trang web có thể hiển thị một cách đầy đủ trên màn hình
di động. Tuy nhiên, nếu không áp dụng RWD, trang web khi xem trên thiết bị di
động sẽ trở nên nhỏ xíu, bạn bắt buộc phải dùng kính lúp, còn không thì phải
zoom vào và kéo qua lại, lên xuống liên tục để đọc nội dung. Đây là trải nghiệm
tiêu cực và nó khiến bạn nghĩ xấu về website, và điều tất nhiên là bạn chẳng thèm
quay lại web đó nữa.
Nói tóm lại, RWD là một xu hướng thiết kế hoàn toàn có lợi bởi nó đảm
bảo bạn sẽ luôn luôn có những trải nghiệm tốt nhất, đẹp nhất khi xem trang web
dù bạn có đang dùng thiết bị nào đi nữa. Nó giúp nhà lập trình web tận dụng tối
12
đa không gian để trình diễn những nội dung cho chúng ta xem theo cách thoải
mái và thích thú nhất có thể.
1.2.3. Tìm hiểu về website thương mại điện tử.
1. Khái niệm về website thương mại điện tử.
Website thương mại điện tử là trang thông tin điện tử phục vụ hoạt động
thương mại và các hoạt động liên quan đến thương mại (như các trang website
của các doanh nghiệp buôn bán hàng hóa, dịch vụ ).
. Website thương mại điện tử là trang web động, với tính năng mở mở rộng
nâng cao, áp dụng các công nghệ hiện đại ngày nay trong lĩnh vực Công nghệ
Thông tin để tạo dựng ra trang web, giúp người bán có thể bán được sản phẩm
qua mạng internet và người mua có thể mua được sản phẩm họ cần thông qua
mạng internet. Website thương mại điện tử sẽ có chức năng chính đó là hiển thị
thông tin sản phẩm bao gồm giá cả, giới thiệu về sản phẩm, chức năng mua hàng,
… giao dịch sẽ được thanh toán qua các cổng thanh toán trực tuyến như Ngân
Lượng, Bảo Kim hoặc chuyển khoản qua ngân hàng. Thông thường các chức
năng: đăng và quản lý sản phẩm, giỏ hàng, thanh toán trực tuyến, đăng nhập và
đăng ký, quản lý đơn hàng,… sẽ được tích hợp vào trong website thương mại
điện tử. Và để bạn dễ hình dung hơn nữa thì bạn chỉ cần hiểu về website thương
mại điện tử đó là buôn bán, giao dịch thông qua website, trang web này hoạt động
bằng mạng internet.
2. Lợi ích của việc xây dựng website thương mại điện tử.
- Giúp các Doanh nghiệp giảm chi phí như: in ấn, catologue, showrom, chi
phí đi lại…
- Phạm vi hoạt động rộng rãi trên toàn cầu, không giới hạn không gian, thời
gian.
- Tiếp cận thông tin một cách nhanh chóng và dễ dàng hơn từ khách hàng
cũng như các đối tác…
- Giảm được chi phí sản xuất và các chi phí bán hàng.
- Nâng cao khả năng cạnh tranh của doanh nghiệp.
13
- Tiết kiệm được thời gian giao dịch giữa nhà cung cấp và người mua
hàng…
3. Các loại hình thương mại điện tử.
Thị trường TMĐT rất đa dạng và phong phú. Thông thường có các loại hình
sau:
Người tiêu dùng
- C2C(Consumer-To- Consumer): Người tiêu dùng với người tiêu dùng.
- C2B (Consumer-To-Business) Người tiêu dùng với doanh nghiệp
- C2G (Consumer-To-Government) Người tiêu dùng với chính phủ
Doanh nghiệp
- B2C (Business-To-Consumer) Doanh nghiệp với người tiêu dùng
- B2B (Business-To-Business) Doanh nghiệp với doanh nghiệp
- B2G (Business-To-Government) Doanh nghiệp với chính phủ
- B2E (Business-To-Employee) Doanh nghiệp với nhân viên
Chính phủ
- G2C (Government-To-Consumer) Chính phủ với người tiêu dung
- G2B (Government-To-Business) Chính phủ với doanh nghiệp
- G2G (Government-To-Government) Chính phủ với chính phủ
1.3. Mô hình MVC và một số công nghệ liên quan
1.3.1. Tìm hiểu mô hình MVC
MVC là chữ viết tắt của Model - View - Controller, đây là một mô hình
kiến phần mềm được tạo ra với mục đích quản lý và xây dựng dự án phần mềm
có hệ thống hơn. Mô hình này được dùng khá rộng rãi và đặc biệt là trong các
ngôn ngữ lập trình web. Trong PHP hiện tại có khá nhiều Framework và tất cả
đều xây dựng từ mô hình MVC.
Giải thích mô hình MVC như sau:
14
- Model: có nhiệm vụ thao tác với cơ sở dữ liệu, nghĩa là nó sẽ chứa
tất cả các hàm, các phương thức truy vấn trực tiếp với dữ liệu và controller
sẽ thông qua các hàm, phương thức đó để lấy dữ liệu rồi gửi qua View
- View: có nhiệm vụ tiếp nhận dữ liệu từ controller và hiển thị nội
dung sang các đoạn mã HTML, bạn có thể hiểu nôm na đây người ta còn
gọi là thành phần giao diện.
- Controller: đóng vài trò trung gian giữa Model và View. Nó có
nhiệm vụ tiếp nhận yêu cầu từ client sau đó xử lý request, load model
tương ứng và gửi data qua view tương ứng rồi trả kết quả về cho client.
Để rõ ràng hơn ta có thể xem hình dưới đây:
Hình 1.1. Mô hình MVC
1.3.2. Ưu điểm và nhược điểm của mô hình MVC
Ưu điểm:
- Hệ thống phân ra từng phần nên dễ dáng phát triển
- Chia thành nhiều modun nhỏ nên nhiều người có thể làm chung dự
án
- Vấn đề bảo trì cũng tương đối ok, dễ nâng cấp
- Dễ dàng debug trong quá trình xây dựng
Nhược điểm:
- Hệ thống sẽ chạy chậm hơn PHP thuần, tuy nhiên nó không phải là
vấn đề quá phức tạp.
- Xây dựng cầu kì và mất thời gian để xây dựng thư viện, cấu trúc.
15
1.4. Ngôn ngữ lập trình PHP và cơ sở dữ liệu với MySQL
1.4.1. Ngôn ngữ lập trình PHP
Khái niệm ngôn ngữ lập trình PHP(Hypertext PreProocessor)
Là một ngôn ngữ lập trình phía sever – side được thiết kế để xây dựng và
phát triển các ứng dụng web.
Điểm mạnh của ngôn ngữ lập trình php
- Chạy trên hệ thống máy chủ(server)
- Rất đơn giản
- Tốc độ xử lý nhanh, dễ sử dụng
- Luôn được cải tiến và cập nhật(mã nguồn mở)
- Có nhiều hướng dẫn sử dụng từ nhiều nguồn(ebook, internet, …)
- Hoàn toàn miễn phí
- Có thể thực thi trên bất cứ hệ điều hành nào
- Không chỉ làm việc với HTML mà còn có thể làm việc được với
hình ảnh, PDF, Flash, movie,
- Có thể kết nối với các cơ sở dữ liệu như MySQL, FrontBase,
dBase, Solid, ODBC, Oracle, …
- Được sử dụng để xây dựng các framework, CMS lớn như : Joomla,
Drupal, Zend, …
- Có nhiều editor hỗ trợ: PHPDesigner, DreamWeaver, Netbean, …
1.4.2. Cơ sở dữ liệu với MySQL
MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở miễn phí nằm trong
nhóm LAMP (Linux – Apache -MySQL – PHP) >< Microsoft (Windows, IIS,
SQL Server, ASP/ASP.NET), vì MySQL được tích hợp sử dụng chung với
apache, PHP nên nó phổ biến nhất thế giới. Vì MySQL ổn định và dễ sử dụng(đối
với tui thì ko chắc.), có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung
cấp một hệ thống lớn các hàm tiện ích rất mạnh(vì được nhiều người hỗ trợ mã
nguồn mở mà) và Mysql cũng có cùng một cách truy xuất và mã lệnh tương tự
với ngôn ngữ SQL chính vì thế nên MySQL được sử dụng và hỗ trợ của những
lập trình viên yêu thích mã nguồn mở.
CSDL là 1 phần quan trọng không thể thể thiếu được trong các ứng dụng
web chuyên nghiệp. MySQL từ lâu đã là hệ CSDL được dùng phổ biến nhất với
16
PHP vì tính gọn nhẹ, nhanh, miễn phí và được PHP hỗ trợ sẵn. Ta sẽ tìm hiểu các
lệnh thông dụng trong kết nối vào CSDL MySQL, truy cập và lưu trữ dữ liệu với
PHP.
Nhưng Mysql không bao quát toàn bộ những câu truy vấn cao cấp như
SQL Server. Vì vậy Mysql chỉ đáp ứng việc truy xuất đơn giản trong quá trình
vận hành của website, thích hợp cho các ứng dụng có truy cập CSDL trên internet
và có thể giải quyết hầu hết các bài toán trong PHP, Perl. MySQL miễn phí hoàn
toàn cho nên bạn có thể tải về MySQL từ trang chủ.
Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32
cho các hệ điều hành dòng Windows,Linux, Mac OSX, Unix, FreeBSD, NetBSD,
Novell NetWare, SGI Irix, Solaris, SunOS, …
MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu
quan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL).
Một số đặc điểm của MySQL
- MySQL là một phần mềm quản trị CSDL dạng server-based (gần
tương đương với SQL Server của Microsoft).
- MySQL quản lý dữ liệu thông qua các CSDL, mỗi CSDL có thể có
nhiều bảng quan hệ chứa dữ liệu.
- MySQL có cơ chế phân quyền người sử dụng riêng, mỗi người
dùng có thể được quản lý một hoặc nhiều CSDL khác nhau, mỗi người
dùng có một tên truy cập (user name) và mật khẩu tương ứng để truy xuất
đến CSDL.
- Khi ta truy vấn tới CSDL MySQL, ta phải cung cấp tên truy cập và mật
khẩu của tài khỏan có quyền sử dụng CSDL đó. Nếu không, chúng ta sẽ không
làm được gì cả giống như quyền chứng thực người dung trong SQL Server vậy.
17
CHƯƠNG II: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
2.1. Tổng quan về hệ thống
2.1.1. Đặt ra bài toán
- Đề tài là sự tích lũy của kiến thức mà em đã được học như : Lập
trình hướng đối tuợng, Phân tích thiết kế hướng đối tượng, cơ sở dữ liệu,
các môn về lập trình website …
- Đồ án với sự lựa chọn các công nghệ hộ trợ là: ngôn ngữ lập trình
PHP kết hợp mô hình MVC trên Framework Yii, quy trình xây dựng
webiste, các công nghệ cơ bản khác trong việc xây dựng một hệ thống
Website.
- Em quyết định đặt ra bài toán cần giải quyết, cũng là đề tài của đồ
án: xây dựng website thương mại điện tử. Với tên đề tài : “Xây dựng sàn
giao dịch thương mại điện tử trên nền tảng Framework Yii2”
2.1.2. Xác định yêu cầu nghiệp vụ
2.1.2.1. Quy trình nghiệp vụ
Bước 1: Khách hàng, từ một máy tính hay một thiết bị điện tử tại một nơi
nào đó, điền những thông tin thanh toán và điạ chỉ liên hệ vào đơn đặt hàng
(Order Form) của Website bán hàng (Website thương mại điện tử). Doanh nghiệp
nhận được yêu cầu mua hàng hoá hay dịch vụ của khách hàng và phản hồi xác
nhận tóm tắt lại những thông tin cần thiết nh mặt hàng đã chọn, địa chỉ giao nhận
và số phiếu đặt hàng
Bước 2: Khách hàng kiểm tra lại các thông tin và kích (click) vào nút
(button) "đặt hàng", từ bàn phím hay chuột (mouse) của máy tính, để gởi thông
tin trả về cho doanh nghiệp.
Bước 3: Doanh nghiệp nhận và lưu trữ thông tin đặt hàng đồng thời
chuyển tiếp thông tin thanh toán đã được mã hoá đến máy chủ (Server, thiết bị
xử lý dữ liệu) của Trung tâm cung cấp dịch vụ xử lý thẻ trên mạng Internet.
Bước 4: Khi Trung tâm Xử lý thẻ tín dụng nhận được thông tin thanh toán,
sẽ giải mã thông tin và xử lý giao dịch đằng sau bức tường lửa (FireWall) và tách
rời mạng Internet (off the Internet), nhằm mục đích bảo mật tuyệt đối cho các
18
giao dịch thương mại, định dạng lại giao dịch và chuyển tiếp thông tin thanh toán
đến ngân hàng của doanh nghiệp (Acquirer) theo một đường dây thuê bao riêng
(một đường truyền số liệu riêng biệt).
Bước 5: Ngân hàng của doanh nghiệp gởi thông điệp điện tử yêu cầu
thanh toán (authorization request) đến ngân hàng hoặc công ty cung cấp thẻ tín
dụng của khách hàng (Issuer). Và tổ chức tài chính này sẽ phản hồi là đồng ý
hoặc từ chối thanh toán đến trung tâm xử lý thẻ tín dụng trên mạng Internet.
Bước 6: Trung tâm xử lý thẻ tín dụng trên Internet sẽ tiếp tục chuyển tiếp
những thông tin phản hồi trên đến doanh nghiệp, và tùy theo đó doanh nghiệp
thông báo cho khách hàng được rõ là đơn đặt hàng sẽ được thực hiện hay không.
Với từng loại mô hình website với các bước 4,5,6 có thể quyết định
phương thức thanh toán khác nhau.
Tuy vậy, quy trình nghiệp vụ một giao dịch qua mạng từ bước 1 -> bước 6,
phải đáp ứng đuợc yêu cầu :nhanh, chính xác và tiện lợi.
2.1.2.2. Các yêu cầu thiết kế.
• Website có giao diện đẹp, nội dung phong phú, hình ảnh sinh động,
luôn cập nhật được các thông tin mới nhất.
• Có khả năng nhập, xuất dữ liệu cho mỗi lần nhập, xuất hàng hoá
kèm theo các bản in phiếu xuất, nhập.
• Xử lý được việc sửa dữ liệu nếu trong quá trình nhập có sai sót .
• Có thể cho biết tình hình bán hàng qua việc thống kê các hoá đơn
nhập, xuất.
2.1.2.3. Các yêu cầu của khách hàng
- Khi khách hàng có nhu cầu xem thông tin thì có thể sử dụng chức
năng tìm kiếm thông tin, tra cứu thông tin dễ dàng.
- Giao diện gần gũi với khách hàng.
- Dễ dàng thao tác khi sử dụng website để xem và mua sản phẩm.
Các chức năng chính của hệ thống
• Sau khi tham khảo một số website bán hàng, phỏng vấn chủ các shop, em nhận
thấy việc đưa sản phẩm lên các website để giới thiệu và quảng bá góp phần rất
lớn cho việc đưa thời trang đến với cuộc sống của người Việt Nam. Đó là các
trang web khá hoàn chỉnh, tiện dụng cho việc tra cứu và tìm kiếm thông tin, giao
diện rõ ràng và dễ sử dụng.
19
• Hệ thống website giới thiệu đa sản phẩm chúng, mô tả khái quát bao gồm các
chức năng chính như sau:
- Đăng ký, đăng nhập vào hệ thống
- Phân quyền cho quản trị
- Quản lý khách hàng.
- Quản lý loại sản phẩm(danh mục)
- Quản lý thông tin sản phẩm
- Bán hàng.
- Quản lý đơn hàng.
- Mua hàng
20
2.2. Phân tích thiết kế UML
2.2.1. Biểu đồ Use Case
1. Biểu đồ Use Case tổng quát
Hình 2.1: Biểu đồ use case tổng quát.
21
2. Biểu đồ use case đăng nhập của khách hàng
Hình 2.2: Biểu đồ use case chức năng đăng nhập của khách hàng.
3. Biểu đồ use case xem chi tiết sản phẩm của khách hàng
Hình 2.3: Biểu đồ UC chức năng xem chi tiết sản SP của khách hàng.
22
4. Biểu đồ use case đặt hàng của khách hàng
Hình 2.4: Biểu đồ user case chức năng đặt hàng của khách hàng.
5. Biểu đồ use case quản lý giỏ hàng của khách hàng
Hình 2.5: Biểu đồ user case chức năng đặt hàng của khách hàng.
23
5. Biểu đồ use case chức năng tìm kiếm
Hình 2.6: Biểu đồ use case chức năng tìm kiếm.
6. Biểu đồ use case xử lý đơn hàng
Hình 2.7: Biểu đồ user case chức năng xử lý đơn hàng
24
8. Biểu đồ use case quản lý danh mục(loại sản phẩm)
Hình 2.8: Biểu đồ use case chức năng quản lý loại sản phẩm
9. Biểu đồ use case quản lý sản phẩm
25