Tải bản đầy đủ (.pdf) (55 trang)

XÂY DỰNG WEBSITE BÁN HÀNG TRỰC TUYẾN TRÊN NỀN TẢNG SPRING FRAMEWORK

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.14 MB, 55 trang )

TRƢỜNG ĐẠI HỌC CẦN THƠ
KHOA CNTT & TT
BỘ MÔN TIN HỌC ỨNG DỤNG

LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC

XÂY DỰNG WEBSITE BÁN HÀNG
TRỰC TUYẾN TRÊN NỀN TẢNG
SPRING FRAMEWORK

Sinh viên thực hiện
Trần Hoàng Giang
MSSV: B1304959

Cán bộ hƣớng dẫn
Ths. Nguyễn Minh Trung

Cần Thơ, 2018


TRƢỜNG ĐẠI HỌC CẦN THƠ
KHOA CNTT & TT
BỘ MÔN TIN HỌC ỨNG DỤNG

LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC

XÂY DỰNG WEBSITE BÁN HÀNG
TRỰC TUYẾN TRÊN NỀN TẢNG
SPRING FRAMEWORK
Sinh viên thực hiện


Cán bộ hƣớng dẫn

Trần Hoàng Giang
MSSV: B1304959

Ths. Nguyễn Minh Trung

Cán bộ phản biện
Ts. Nguyễn Nhị Gia Vinh
Ths. Đặng Mỹ Hạnh
Luận văn đƣợc bảo vệ tại: Hội đồng chấm luận văn tốt nghiệp Bộ môn Tin học
Ứng dụng, Khoa CNTT & TT, Trƣờng Đại học Cần Thơ vào ngày … tháng … năm
….

Mã số đề tài
Có thể tìm hiểu luận văn tại:
-Trung tâm Học liệu, Trƣờng Đại học Cần Thơ
-Website: />

Cần Thơ, 2017


NHẬN XÉT CỦA GIÁO VIÊN
---------…………………………………………………………………………………………...
…………………………………………………………………………………………...
…………………………………………………………………………………………...
…………………………………………………………………………………………...
…………………………………………………………………………………………...
…………………………………………………………………………………………...
…………………………………………………………………………………………...

…………………………………………………………………………………………...
…………………………………………………………………………………………...
…………………………………………………………………………………………...
…………………………………………………………………………………………...
…………………………………………………………………………………………...
…………………………………………………………………………………………...
…………………………………………………………………………………………...
…………………………………………………………………………………………...
…………………………………………………………………………………………...
…………………………………………………………………………………………...
…………………………………………………………………………………………...
…………………………………………………………………………………………...
…………………………………………………………………………………………...
…………………………………………………………………………………………...
…………………………………………………………………………………………...
…………………………………………………………………………………………...
…………………………………………………………………………………………...
…………………………………………………………………………………………...
…………………………………………………………………………………………...
…………………………………………………………………………………………...
…………………………………………………………………………………………...
…………………………………………………………………………………………...
…………………………………………………………………………………………...


LỜI CẢM ƠN
---------Trong suốt quá trình học tập và rèn luyện ở giảng đƣờng Đại Học Cần Thơ, em
đã học hỏi đƣợc rất nhiều kinh nghiệm quý báo từ thực tế, góp phần cũng cố kiến thức
chuyên ngành. Làm hành trang quý giá để bƣớc tiếp con đƣờng học tập kiến thức và
àm việc sau này.

Để hoàn thành đƣợc bài luận văn, em xin gửi lời cám ơn chân thành nhất đến tất
cả quý thầy cô trong bộ môn Tin Học Ứng Dụng, các thầy cô trƣờng Đại Học Cần Thơ
đã dạy dỗ, hƣớng dẫn, cho em những kiến thức, bài học, những kinh nghiệm quý báu
để em hoàn thành bài luận văn này.
Đặc biệt, em xin chân thành cảm ơn thầy Nguyễn Minh Trung. Thầy là giảng
viên đã tận tình hƣớng dẫn em hoàn thành bài luận văn, giúp em tìm ra những sai sót
cũng nhƣ tìm ra hƣớng đi đúng khi em gặp khó khăn. Thầy đã tận tình chỉ bảo, truyền
đạt kinh nghiệm, cho em những nhận xét hữu ít để bài luận văn của em đƣợc hoàn
thiện hơn.
Sau cùng con xin gửi lời cảm ơn đến cha mẹ và các anh chị trong gia đình. Cha
mẹ đã lo lắng, động viên cho con trong suốt quá trình học tập. Và em xin cám ơn anh
chị trong gia đình đã quan tâm, đã là tấm gƣơng tốt để em noi theo và cố gắng hơn.
Do kiến thức còn hạn hẹp nên không tránh khỏi những thiếu xót trong cách hiểu,
lỗi trình bài. Em rất mong nhận đƣợc sự đóng góp ý kiến của quý thầy cô và các bạn
học cùng lớp để em học thêm đƣợc nhiều kinh nghiệm và sẽ hoàn thành tốt hơn bài
báo cáo niên luận này.
Xin chân thành cảm ơn!
Trân trọng
Cần thơ, ngày … tháng … năm 2018
Sinh viên thực hiện

Trần Hoàng Giang


MỤC LỤC

DANH MỤC HÌNH ....................................................................................................... I
DANH MỤC BẢNG .....................................................................................................II
TÓM TẮT ................................................................................................................... IV
ABSTRACT .................................................................................................................. V

CHƢƠNG 1 TỔNG QUAN .........................................................................................1
1.1 ĐẶT VẤN ĐỀ .......................................................................................................1
1.2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ ......................................................................1
1.3 PHẠM VI ĐỀ TÀI................................................................................................ 2
1.4 MỤC ĐÍCH ĐỀ TÀI ............................................................................................2
1.5 PHƢƠNG PHÁP NGHIÊN CỨU .......................................................................2
CHƢƠNG 2 CƠ SỞ LÝ THUYẾT .............................................................................3
2.1 FRAMEWORK SPRING....................................................................................3
2.1.1 Giới thiệu Spring Framework ..................................................................... 3
2.1.2 Lịch sử phát triển của Laravel .................................................................... 3
2.1.3 Cấu trúc, các modul của Spring Framework ............................................ 3
2.1.4 Ƣu điểm của framework Spring ................................................................. 5
2.1 MYSQL .................................................................................................................5
2.2 MÔ HÌNH MVC ...................................................................................................6
2.2.1 Giới thiệu ....................................................................................................... 6
2.2.2 Sự tƣơng tác giữa các lớp trong mô hình MVC ........................................ 7
2.2.3 Quy trình hoạt động mô hình MVC trong dự án website ........................ 7
2.2.4 Ƣu điểm của mô hình MVC ........................................................................ 8
CHƢƠNG 3 NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU ......................................10
3.1 PHÂN TÍCH HỆ THỐNG .................................................................................10
3.2 GIẢI PHÁP PHÂN TÍCH, THIẾT KẾ CÁC MÔ HÌNH ............................... 11
3.2.1 Sơ đồ Use case ............................................................................................. 11
3.3 THIẾT KẾ CƠ SỞ DỮ LIỆU ...........................................................................19
3.3.1 Mô hình dữ liệu mức quan niệm ER ........................................................ 19
3.3.2 Mô hình vật lý ............................................................................................. 20
3.3.3 Mô hình cơ sở dữ liệu quan hệ .................................................................. 21
3.3.4 Mô tả dữ liệu ............................................................................................... 22
3.3.5 Ràng buộc toàn vẹn .................................................................................... 27
3.3.6 Đặc tả dữ liệu .............................................................................................. 30
3.3.7 Sơ đồ phân rã chức năng BFD mức độ ngƣời thiết kế............................ 31



3.3.8 Mô hình tuần tự .......................................................................................... 31
3.4 KẾT QUẢ XÂY DỰNG HỆ THỐNG .............................................................. 36
TÀI LIỆU THAM KHẢO...........................................................................................43


DANH MỤC HÌNH
Hình 2.1 : Cấu trúc tổng thể của Spring Framework
Hình 2.2 Mô hình MVC
Hình 2.3 Quy trình hoạt động mô hình MVC
Hình 3.1 Use case chức năng hệ thống
Hình 3.2 Use case chức năng quản lý phiếu nhập
Hình 3.3 Use case chức năng báo cáo thống kê
Hình 3.4 Use case chức năng quản lý nhân viên
Hình 3.5 Use case chức năng quản lý khách hàng
Hình 3.6 Use case chức năng quản lý hóa đơn
Hình 3.7 Use case chức năng quản lý sản phẩm
Hình 3.8 Use case chức năng quản lý nhà cung cấp
Hình 3.9 Use case phân rã chức năng quản lý khuyến mãi
Hình 3.10 Mô hình dữ liệu mức quan niệm ER
Hình 3.11 Mô hình vật lý
Hình 3.12 Mô hình cơ sở dữ liệu quan hệ
Hình 3.13 Sơ đồ phân rã chức năng BFD mức độ ngƣời thiết kế
Hình 3.14 Sơ đồ tuần tự đăng nhập khách hàng
Hình 3.15 Sơ đồ tuần tự mua hàng
Hình 3.16 Sơ đồ tuần tự phiếu nhập
Hình 3.17 Sơ đồ tuần tự chức năng tìm kiếm
Hình 3.18 Trang chủ
Hình 3.19 Trang giỏ hàng

Hình 3.20 Trang chi tiết sản phẩm
Hình 3.21 Trang lịch sử đơn hàng
Hình 3.22 Trang góp ý
Hình 3.23 Trang quản lý nhập
Hình 3.24 Trang khách hàng
Hình 3.25 Trang quản lý đơn hàng
Hình 3.26 Trang thống kê

i

4
7
8
12
13
13
14
15
16
17
18
18
19
20
21
31
32
33
34
35

36
37
38
38
39
39
40
40
41


DANH MỤC BẢNG
Bảng 3.1 Bảng nhacungcap ...........................................................................................22
Bảng 3.2 Bảng phieunhap.............................................................................................. 22
Bảng 3.3 Bảng loaisanpham ..........................................................................................22
Bảng 3.4 Bảng sanpham ................................................................................................ 23
Bảng 3.5 Bảng khuyenmai ............................................................................................ 23
Bảng 3.6 Bảng nhanvien................................................................................................ 24
Bảng 3.7 Bảng phieunhapchitiet....................................................................................25
Bảng 3.8 Bảng hoadon ..................................................................................................24
Bảng 3.9 Bảng hoadonchitiet ........................................................................................25
Bảng 3.10 Bảng tintuc ...................................................................................................26
Bảng 3.11 Bảng shop .....................................................................................................26
Bảng 3.12 Bảng chucvu .................................................................................................26
Bảng 3.13 slider .............................................................................................................26
Bảng 3.14 Bảng nhasanxuat ..........................................................................................27
Bảng 3.15 Bảng khachhang ...........................................................................................27
Bảng 3.16 Bảng tầm ảnh hƣởng của thuộc tính ngaydh và ngaygh trên hoadon ..........27
Bảng 3.17 Bảng tầm ảnh hƣởng của thuộc tính ngaybd và ngaykt trên khuyenmai .....28
Bảng 3.18 Bảng tầm ảnh hƣởng của thuộc tính mahoadon trên hoadon .......................28

Bảng 3.19 Bảng tầm ảnh hƣởng của thuộc tính mapn trên phieunhap..........................28
Bảng 3.20 Bảng tầm ảnh hƣởng của thuộc tính soluong trên hoadonchitiet và sanpham
.......................................................................................................................................29
Bảng 3.21 Bảng tầm ảnh hƣởng của thuộc tính soluong trên hoadonchitiet và tongtien
trên hoadon ....................................................................................................................29
Bảng 3.22 Bảng tầm ảnh hƣởng của thuộc tính masp trên hoadonchitiet và sanpham .30

ii


DANH MỤC KÝ HIỆU VÀ VIẾT TẮT
Ký hiệu, chữ viết tắt

Diễn giải

CSDL

Viết tắt của Cơ Sở Dữ Liệu

DB

Viết tắt của Database

HTML

Viết tắt của HyperText Markup Language. Là ngôn ngữ
đƣợc sử dụng rộng rãi nhất để viết các trang Web.

MVC


Viết tắt của Model – View – Controler. Là một kiến trúc
phần mềm hay mô hình thiết kế đƣợc sử dụng trong kỹ
thuật phần mềm.

SQL

Viết tắt của Structured Query Language

iii


TÓM TẮT
Ngày nay, công nghệ thông tin phát triển mạnh mẽ, ứng dụng trong rất nhiều
lĩnh vực và đời sống xã hội. Đặc biệt trong lĩnh vực quản lý nói chung và quản lý bán
hàng nói riêng.
Hoạt động mua bán trực tuyến rất phổ biến với mọi ngƣời đƣợc các công ty và
các cửa hàng lớn trong và ngoài nƣớc sử dụng nhằm đem lại hiệu quả trong việc mua
bán. Sản phẩm mua bán thông thƣờng là các sản phẩm điện tử dân dụng hoặc các thiết
bị tin học nhƣ điện thoại, máy vi tính, các phụ kiện, trang sức,… Do phải sử dụng
mạng để đăng kí mua và bán nên cần phải có một hệ thống website dùng để quản cáo
và bán hàng.
Chính vì vậy việc tạo lập một website bán phụ kiện trang sức với những mặt
hàng và những thông tin liên quan đến mặt hàng đầy đủ là việc cần thiết đối với các
cửa hàng, nhằm đáp ứng đƣợc yêu cầu mua sắm của khách hàng. Vì vậy tôi chọn đề tài
“Xây dựng website quản lý bán hàng trực tuyến trên nền tảng Spring
Framework” để làm đề tài luận văn này.
 Mục tiêu của đề tài nhằm đáp ứng các yêu cầu:
- Khách hàng mua hàng trực tuyến.
- Quản lý thông tin sản phẩm.
- Quản lý thông tin phiếu nhập, phiếu xuất, nhà cung cấp, khách hàng ...

 Nội dung gồm 3 chƣơng:
Chƣơng 1: Tổng quan giới thiệu đề tài và mục tiêu, lý do chọn đề tài.
Chƣơng 2: Cơ sở lý thuyết giới thiệu mô hình MVC, spring framework.
Chƣơng 3: Nội dung và kết quả nghiên cứu thu thập thông tin, xây dựng các
sơ đồ Use case, mô hình tuần tự, cơ sở dữ liệu quan hệ,…
Website đƣợc xây dựng trên nền tảng Spring framework với công nghệ Weblg
và các công nghệ khác HTML5, Javascript, ... ngoài ra còn sử dụng cơ sở dữ liệu
MySQL và máy chủ Tomcat.
Với đề tài trên có thể mở rộng quy mô cơ sở dữ liệu lớn hơn để đáp ứng đầy đủ
các chức năng nghiệp vụ trong kinh doanh. Đồng thời có thể phát triển trên nền di
động để tƣơng tác với ngƣời dùng dể dàng hơn với điện thoại thông minh.
TỪ KHÓA: Quản lý bán hàng, Spring framwork, web quản lý, phụ kiện trang sức.

iv


ABSTRACT
Today, information technology flourished, applications in many fields and social
life. Especially in the field of general management and sales management in particular.
Online trading activities are very popular with people are the companies and the
big stores at home and abroad to use in order to bring efficiency in the sale. Products
typically purchase products or other consumer electronics information technology
equipment such as telephones, computers, accessories, jewelry… Due to network users
to register to buy and sell should have a system used to manage websites and
advertising sales.
Therefore creating a website selling jewelry accessories for those items and the
information related to the complete item is necessary for the store, in order to meet the
procurement requirements of our customers. So I chose the topic " Building an online
sales management website based on the Spring Framework " to this thesis.
 The objective of the topic in order to meet the requirements:

- Customers shopping online.
- Product Information Management.
- Information Management import bill, bills, suppliers, customers ...
 The content includes 3 chapters:
Chapter 1: Overview introduces themes and goals, why they chose the topic.
Chapter 2: Theoretical Foundations introduces MVC, Spring framework.
Chapter 3: Content and research results collected information, build Use case
diagrams, sequence patterns, relational database…
Website built on Spring framework with platform technology and other
technologies Weblg, HTML5, Javascript… in addition to using the database server
MySQL and Tomcat.
With the subject can scale up larger databases to meet the full range of business
functions in the business. At the same time can develop a mobile platform to interact
with users easier with smart phones.
KEYWORDS: Sales Management, Spring framwork, web management, jewelery
accessories

v


Chƣơng 1: Tổng quan

CHƢƠNG 1 TỔNG QUAN
1.1 ĐẶT VẤN ĐỀ
Ngày nay ngành Công nghệ Thông tin đã có những bƣớc phát triển vƣợt bậc trên
thế giới, đƣợc ứng dụng rộng rãi trong tất cả các lĩnh vực của cuộc sống. Trong khi đó,
công nghệ thông tin nƣớc ta đƣợc xác định là một ngành mũi nhọn, với tốc độ phát
triển nhanh và mạnh, chiếm một vị trí quan trọng. Đặc biệt trong lĩnh vực kinh doanh,
thƣơng mại điện tử, nó góp phần đáng kể cho sự phát triển kinh tế của nƣớc ta trong
quá trình hội nhập.

Việc ứng dụng công nghệ thông tin đã mang lại bƣớc đột phá mới cho công tác
quản lý bán hàng, giúp doanh nghiệp nắm bắt thông tin về hàng hóa, vật tƣ, thiết bị,
thông tin khách hàng, trạng thái đơn đặt hàng… một cách chính xác và kịp thời. Từ đó
ngƣời quản lý có thể đƣa ra các kế hoạch và quyết định đúng đắn, giảm chi phí và tăng
khả năng cạnh tranh, nâng cao hoạt động sản xuất kinh doanh.
Nhu cầu sử dụng của con ngƣời trong xã hội ngày càng cao, việc thiếu thông tin
sẽ gây khó khăn trong việc đƣa sản phẩm đến với ngƣời tiêu dùng. Vì vậy, để hạn chế
việc đến tận cửa hàng để xem sản phẩm, tiết kiệm đƣợc thời gian tìm kiếm sản phẩm.
Sự ra đời của phần mềm trực tuyến trên web sẽ giúp cho việc quản lý bán hàng trở nên
dễ dàng và tiện lợi hơn. Bán hàng qua mạng là một giải pháp tối ƣu để tiếp cận đến
ngƣời tiêu dùng.
Do đó, “Xây dựng website quản lý bán hàng trực tuyến trên nền tảng Spring
Framework” là một vấn đề thực tế, ứng dụng đƣợc và có tìm năng để phát triển.

1.2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ
Trong thực tế việc quản lý mua bán phụ kiện trang sức bằng phƣơng pháp thủ
công nhƣ ghi chép thông tin bằng giấy, sổ, thông qua excel, world… gặp nhiều khó
khăn, bất tiện trong việc tính toán, thống kê và lƣu trữ thông tin khách hàng.
Vì vậy, việc xây dựng một website để quản lý việc bán hàng là rất cần thiết nhằm
giúp cho ngƣời quản lý dễ dàng quản lý sản phẩm ít tốn thời gian và công sức, đem lại
hiệu quả cao trong việc kinh doanh. Giải quyết đƣợc các vấn đề mà quản lý theo cách
truyền thống mắc phải.
Một số website về đề tài bán phụ kiện trang sức, nhìn chung cũng giải quyết
đƣợc vấn đề công tác quản lý, thanh toán, …Đề tài “Xây dựng website quản lý bán
trực tuyến trên nền tảng Spring Framework” sẽ mở rộng thêm các chức năng cần
thiết khác, báo cáo, thống kê và hoàn chỉnh những phần mà các đề tài đã có chƣa hoàn
thiện.
CBHD: Nguyễn Minh Trung

Trang 1


SVTH: Trần Hoàng Giang


Chƣơng 1: Tổng quan

1.3 PHẠM VI ĐỀ TÀI
-

Đề tài thực hiện để giải quyết việc bán hàng trực tuyến, quản lý khách hàng,
nhân viên trên một cửa hàng bán quần áo nhỏ.

-

Ứng dụng của đề tài đƣợc thực hiện nhằm phục vụ trong lĩnh vực kinh doanh,
nhằm tạo điều kiện cho ngƣời quản lý dễ dàng quản lý việc nhập, xuất hàng,
thống kê và tìm kiếm thông tin khách hàng một cách nhanh chóng và hiệu quả.
Có thể ứng dụng và mở rộng ra các của hàng vừa và lớn.

1.4 MỤC ĐÍCH ĐỀ TÀI
-

Đây là website nhằm bán và giới thiệu rộng rãi các mặt hàng đến ngƣời tiêu
dùng với các chi tiết mặt hàng và giá cả một cách nhanh chóng và chính xác
nhất.

-

Giúp cho khách hàng: tìm kiếm và lựa chọn từ xa sản phẩm mình cần, đặt mua
hàng, theo dõi đơn hàng của mình, gửi đóng góp ý kiến.


-

Giúp nhà quản lý: quản lý các sản phẩm một cách dễ dàng, kiểm tra và xử lý
đơn đặt hàng, thống kê và báo cáo doanh thu.

1.5 PHƢƠNG PHÁP NGHIÊN CỨU
 Về lý thuyết:
- Nắm vững kỹ thuật thiết kế hệ thống thông tin
- Nắm vững kỹ thuật lập trình theo mô hình MVC.
- Nắm vững các phƣơng pháp tổ chức, phân tích và thiết kế cơ sở dữ liệu.
- Tham khảo một số website bán linh kiện máy tính để hiểu rõ việc mua bán.
 Về kỹ thuật:
- Dùng Power Designer để thiết kế các mô hình ứng dụng.
- Sử dụng ngôn ngữ Java, framework Spring để lập trình và cài đặt chƣơng trình
ứng dụng.
- Dùng hệ quản trị cơ sở dữ liệu SQL để tạo và quản lý cơ sở dữ liệu.
- Dùng Spring tool là công cụ để hổ trợ lập trình, kiểm tra lỗi.
- Phần mềm hổ trợ Tomcat làm server ảo.

CBHD: Nguyễn Minh Trung

Trang 2

SVTH: Trần Hoàng Giang


CHƢƠNG 2 CƠ SỞ LÝ THUYẾT
2.1 FRAMEWORK SPRING
2.1.1 Giới thiệu Spring Framework

Spring Framework là một bộ khung ứng dụng và bộ chứa đảo ngƣợc điều khiển
cho nền tảng Java. Chức năng chính của bộ khung này có thể áp dụng cho bất kỳ ứng
dụng Java nào. Tuy vậy, nhiều bản mở rộng dành cho việc xây dựng ứng dụng nền
web cũng đƣợc phát triển trên nền tảng Java EE. Tuy nhiên bộ khung không ấn định
lên một công cụ thể nào , Spring Framework đã trở nên phổ biến trong cộng đồng Java
nhƣ một phƣơng án song hành, thay thế, hoặc thậm chí bổ sung cho mô hình
Enterprise JavaBeans (EJB). Đây là bộ khung mã nguồn mở.
2.1.2 Lịch sử phát triển của Spring Framework
Phiên bản đầu tiên của Spring đƣợc viết bởi Rod Johnson, cùng lúc đó ông cũng
cho ra cuốn sách Expert One-on-One J2EE Design and Development vào tháng 10
năm 2002. Ban đầu, bộ khung đƣợc phát hành dƣới Giấy phép Apache 2.0 vào tháng
06 2003. Cột mốc đầu tiên, bản 1.0, đƣợc phát hành tháng 03 năm 2004, và lần lƣợt
các mốc phát hành kế tiếp vào tháng 09 năm 2004 và tháng 03 năm 2005. Phiên bản
Spring 1.2.6 nhận Giải năng suất Jolt (Jolt Productivity award) và một Giải Cải tiến
JAX (JAX Innovation Award) vào năm 2006.Spring 2.0 was released in October 2006,
Spring 2.5 in November 2007, Spring 3.0 in December 2009, Spring 3.1 in December
2011, and Spring 3.2.5 in November 2013. Spring Framework 4.0 đƣợc phát hành vào
tháng 12 năm 2013.Cải tiến đáng chú ý của phiên bản này gồm có hỗ trợ Java SE 8,
Groovy 2, một số phần của Java EE7, và WebSocket.
Spring Framework 4.2.0 đƣợc phát hành ngày 31 tháng 07 năm 2015 và ngay sau
đó đƣợc nâng cấp lên phiên bản 4.2.1, đƣợc phát hành ngày 01 tháng 09 cùng năm.[6]
Phiên bản này đƣợc mô tả là "tƣơng thích với Java 6, 7 và 8, chú trọng vào những cải
tiến cốt lõi và tính năng web hiện đại".
Spring Framework 4.3 đƣợc phát hành ngày 10 tháng 06 năm 2016. Phiên bản
4.3.0.RC1 có hiệu lực. Nó "sẽ là thế hệ cuối cùng cho những yêu cầu của Spring 4
(Java 6+, Servlet 2.5+), chuẩn bị cho phiên bản mở rộng 4.3.x với thời gian hỗ trợ đến
năm 2019".
Spring 5 đƣợc thông báo rằng sẽ dựng trên Reactive Streams tƣơng thích với
Reactor Core.
2.1.3 Cấu trúc, các modul của Spring Framework

CBHD: Nguyễn Minh Trung

Trang 3

SVTH: Trần Hoàng Giang


Spring đƣợc chia làm nhiều module khác nhau, tùy theo mục đích phát triển ứng
dụng mà ta dùng một trong các module đó.

Hình 2.1 : Cấu trúc tổng thể của Spring Framework
 Test
-

Tầng này cung cấp khả năng hỗ trợ kiểm thử với JUnit và TestNG.

 Spring Core Container
-

Bao gồm các module spring core, beans, context và expression languate (EL)

-

Spring core, bean cung cấp tính năng IOC và Dependency Injection.

- Spring Context hỗ trợ đa ngôn ngữ (internationalization), các tính năng Java EE
nhƣ EJB, JMX.
- Expression Language đƣợc mở rộng từ Expresion Language trong JSP. Nó
cung cấp hỗ trợ việc setting/getting giá trị, các method cải tiến cho phép truy cập
collections, index, các toán tử logic…

 AOP, Aspects and Instrumentation
- Những module này hỗ trợ cài đặt lập trình hƣớng khía cạnh (Aspect Oriented
Programming), hỗ trợ tích hợp với AspectJ.
 Data Access / Integration
- Nhóm này bao gồm JDBC, ORM, OXM, JMS và module Transaction. Những
module này cung cấp khả năng giao tiếp với database
 Web

CBHD: Nguyễn Minh Trung

Trang 4

SVTH: Trần Hoàng Giang


- Hay còn gọi là Spring MVC Nhóm này gồm Web, Web-Servlet… hỗ trợ việc
tạo ứng dụng web.
2.1.4 Ƣu điểm của framework Spring
 Đƣợc thừa hƣởng những ƣu điểm và thế mạnh của những framework khác:
- Spring cho phép lập trình viên sử dụng POJOs. Việc sử dụng POJOs giúp bạn
không phải làm việc với EJB, ứng dụng, các luồng chạy, cấu hình… đơn giản hơn rất
nhiều.
- Spring đƣợc tổ chức theo kiểu mô đun. Số lƣợng các gói và các lớp khá nhiều,
nhƣng bạn chỉ cần quan tâm đến những gì bạn cần và không cần quan tâm đến phần
còn lại.
- Spring hỗ trợ sử dụng khá nhiều công nghệ nhƣ ORM Framework, các logging
framework, JEE, các thƣ viện tạo lịch trình (Quartz và JDK timer)…
- Module Web của Spring đƣợc thiết kế theo mô hình MVC nên nó cung cấp đầy
đủ các tính năng giúp thay thế các web framework khác nhƣ Struts.


2.2 MS SQL
Ms SQL là hệ quản trị cơ sở dữ liệu phổ biến nhất thế giới và đƣợc các nhà phát
triển rất ƣa chuộng trong quá trình phát triển ứng dụng. Vì SQL là cơ sở dữ liệu tốc độ
cao, ổn định và dễ sử dụng, có tính khả chuyển. Với tốc độ và tính bảo mật cao, Ms
SQL rất thích hợp cho các ứng dụng có truy cập CSDL trên internet. Ms SQL hoàn
toàn đạt hiệu quả cao và có nhiều phiên bản cho các hệ điều hành khác nhau: phiên
bản Win32 cho Windows, Mac OS X…
Ms SQL đang đƣợc sử dụng cho nhiều công việc kinh doanh từ lớn tới nhỏ, trở nên
khá phổ biến vì:


Ms SQL có tính bảo mật cao, là một chƣơng trình rất mạnh mẽ.



Ms SQL sử dụng một form chuẩn của ngôn ngữ dữ liệu nổi tiếng là SQL.



Ms SQL làm việc trên nhiều Hệ điều hành và với nhiều ngôn ngữ nhƣ Java, C,
C++, …



Ms SQL làm việc nhanh ngay cả với các tập dữ liệu lớn.



Ms SQL rất thân thiện với Web java application, một ngôn ngữ rất đáng giá để
tìm hiểu để phát triển Web.


CBHD: Nguyễn Minh Trung

Trang 5

SVTH: Trần Hoàng Giang




Ms SQL hỗ trợ các cơ sở dữ liệu lớn, lên tới 50 triệu hàng hoặc nhiều hơn nữa
trong một bảng. Kích cỡ file mặc định đƣợc giới hạn cho một bảng là 4 GB,
nhƣng có thể tăng kích cỡ để đạt tới giới hạn lý thuyết là 8 TB.

2.3 MÔ HÌNH MVC
2.3.1 Giới thiệu
MVC là viết tắt của Model – View – Controller. Là một kiến trúc phần mềm
hay mô hình thiết kế đƣợc sử dụng trong kỹ thuật phần mềm. Là một chuẩn mô hình
và đóng vai trò quan trọng trong quá trình xây dựng – phát triển – vận hành và bảo trì
một hệ thống hay một ứng dụng – phần mềm. Nó tạo ra một mô hình 3 lớp Model –
View – Controller tách biệt và tƣơng tác nhau, giúp các chuyên gia có thể dễ dàng dựa
vào mô hình để trao đổi và xử lý những nghiệp vụ một cách nhanh chóng. Đây là một
mô hình đã xuất hiện từ những năm 70 của thế kỷ 20 tại phòng thí nghiệm Xerox
PARC ở Palo Alto, nó không phụ thuộc vào môi trƣờng, nền tảng xây dựng hay ngôn
ngữ phát triển. Chúng ta có thể áp dụng mô hình MVC vào các dự án trong môi trƣờng
Windows, Linux… và sử dụng bất kỳ ngôn ngữ nào nhƣ JSP, ASP,PHP …
Mô hình MVC đƣợc chia làm 3 lớp xử lý gồm Model – View – Controller:
- Controller: Giữ nhiệm vụ nhận điều hƣớng các yêu cầu từ ngƣời dùng và gọi
đúng những phƣơng thức xử lý chúng.
- Model: là nơi chứa những nghiệp vụ tƣơng tác với dữ liệu hoặc hệ quản trị cơ sở

dữ liệu (mssql, mysql…), bao gồm các class/function xử lý nhiều nghiệp vụ nhƣ
kết nối database, truy vấn dữ liệu, thêm – xóa – sửa dữ liệu…
- View: Đảm nhận việc hiển thị thông tin, tƣơng tác với ngƣời dùng, nơi chứa tất
cả các đối tƣợng GUI nhƣ textbox, images… tập hợp các form hoặc các file
HTML.
Mô tả luồng sự kiện trong mô hình MVC
- User tƣơng tác với View để gửi yêu cầu đi
- Controller nhận và điều hƣớng chúng đến phƣơng thức xử lý ở Model
- Model nhận thông tin và thực thi các yêu cầu
- Khi Model hoàn tất việc xử lý, View sẽ nhận kết quả từ Model và hiển thị lại cho
ngƣời dùng thông qua Controller.

CBHD: Nguyễn Minh Trung

Trang 6

SVTH: Trần Hoàng Giang


Hình 2.2 Mô hình MVC
2.3.2 Sự tƣơng tác giữa các lớp trong mô hình MVC
Controller – View sẽ lấy những hình ảnh, nút bấm…hoặc hiển thị dữ liệu đƣợc
trả ra từ Controller để ngƣời dùng có thể quan sát và thao tác. Trong sự tƣơng tác này
cũng có thể không có dữ liệu đƣợc lấy từ Model và khi đó nó chỉ chịu trách nhiệm
hiển thị đơn thuần nhƣ hình ảnh, nút bấm…
Controller – Model là luồng xử lý khi controller tiếp nhận yêu cầu và các tham
số đầu vào từ ngƣời dùng, controller sẽ sử dụng các lớp/hàm trong model cần thiết để
lấy ra những dữ liệu chính xác.
View – Model có thể tƣơng tác với nhau mà không qua controller, chỉ đảm nhận
hiển thị dữ liệu chứ không phải qua bất kỳ xử lý nghiệp vụ logic nào. Giống nhƣ các

vùng dữ liệu hiển thị tĩnh trên các website nhƣ block slidebar…
2.3.3 Quy trình hoạt động mô hình MVC trong dự án website
Ngƣời dùng sử dụng một browser trình duyệt web bất kỳ (firefox, chrome, IE…)
để có thể gửi những yêu cầu (http request) có thể kèm theo những dữ liệu nhập tới
những controller xử lý tƣơng ứng. Việc xác định controller xử lý sẽ dựa vào một bộ
routing điều hƣớng.

CBHD: Nguyễn Minh Trung

Trang 7

SVTH: Trần Hoàng Giang


Hình 2.3 Quy trình hoạt động mô hình MVC
Khi controller nhận đƣợc yêu cầu gửi tới, controller sẽ chịu trách nhiệm kiểm tra
yêu cầu đó có cần dữ liệu từ model hay không? Nếu có, nó sẽ sử dụng các
class/function cần thiết trong model và model sẽ trả về kết quả, khi đó controller sẽ xử
lý giá trị đó và trả về view để hiển thị, controller sẽ xác định các view tƣơng ứng để
hiển thị đúng với yêu cầu.
Khi nhận đƣợc dữ liệu từ controller, view sẽ chịu trách nhiệm xây dựng các
thành phẩn hiển thị nhƣ hình ảnh, thông tin dữ liệu… và trả về GUI Content để
controller đƣa ra kết quả lên màn hình browser.
Browser sẽ nhận giá trị trả về (http response) và sẽ hiển thị với ngƣời dùng. Kết
thúc một quy trình hoạt động.
2.3.4 Ƣu điểm của mô hình MVC
Các dự án có thể áp dụng ngay mô hình MVC mà không phụ thuộc môi trƣờng,
nền tảng xây dựng hay ngôn ngữ lập trình phát triển;
Quy hoạch các class/function vào các thành phần riêng biệt controller – model –
view, khi đó sẽ dễ dàng xây dựng – phát triển – quản lý – vận hành và bảo trì một dự

án, tạo sự rõ ràng, trong sáng trong quá trình phát triển dự án, kiểm soát đƣợc các
luồng xử lý và tạo ra các thành phần xử lý nghiệp vụ chuyên biệt hóa.
Tạo thành mô hình chuẩn cho nhiều dự án, nắm rõ mô hình MVC của một dự án
nào đó, thì khi tiếp cận với một dự án khác mà bạn chƣa từng biết hoặc tiếp xúc,
nhƣng lại đƣợc xây dựng với mô hình MVC thì sẽ dễ dàng hơn trong việc tiếp cận với
dự án.
CBHD: Nguyễn Minh Trung

Trang 8

SVTH: Trần Hoàng Giang


Giúp các chuyên gia lập trình, nhà quản lý, nhà đầu tƣ,… có thể hiểu đƣợc dự án
hoạt động ra sao, giúp các lập trình viên dễ dàng quản lý, phát triển dự án. Đây là một
mô hình chuẩn, tối ƣu nhất hiện nay so với nhiều mô hình khác và đƣợc sử dụng trong
nhiều dự án và nhiều lĩnh vực, đặc biệt trong công nghệ sản xuất ứng dụng, phần mềm.
Các lập trình viên sử dụng mô hình chuẩn MVC để có thể dễ dàng phân phối và
chuyển giao công nghệ.
Đây là mô hình đơn giản, xử lý những nghiệp vụ đơn giản, và dễ dàng triển khai
với các dự án nhỏ.

CBHD: Nguyễn Minh Trung

Trang 9

SVTH: Trần Hoàng Giang


CHƢƠNG 3 NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU

3.1 PHÂN TÍCH HỆ THỐNG
Website quản lý bán hàng trực tuyến nhằm phục vụ cho việc mua và đặt hàng
trực tiếp trên mạng dành cho khách hàng và quản lý bán hàng tốt hơn:
Khách hàng truy cập vào website có thể xem, tìm kiếm, mua sản phẩm hoặc đặt
hàng, các sản phẩm đƣợc phân theo loại nên khách hàng có thể dễ dàng tìm đƣợc sản
phẩm mình cần mua, có thể xem chi tiết của sản phẩm để biết còn hàng hay không.
Khi đã chọn đƣợc sản phẩm vừa ý khách hàng click nút “mua ngay” để cập nhật sản
phẩm trong giỏ hàng. Khách hàng vẫn có thể mua tiếp tục các sản phẩm khác.
Sau khi chọn đƣợc những sản phẩm cần mua, khách hàng click vào nút “thanh
toán” để hoàn thành việc mua hàng hoặc hủy bỏ đơn hàng. Nếu là khách hàng quen
thuộc, có thể đăng nhập để thanh toán, nếu là khách hàng mới có thể đăng kí tài khoản
hoặc mua ngay mà không cần tài khoản, chỉ cần nhập số điện thoại để liên hệ và địa
chỉ để giao hàng. Mỗi khách hàng đƣợc quản lý bởi các thông tin: mã khách hàng, họ
tên, địa chỉ, số điện thoại, email và mật khẩu.
Mỗi sản phẩm thuộc một loại sản phẩm, một nhà cung cấp đƣợc quản lý bởi các
thông tin gồm: mã sản phẩm, tên sản phẩm, số lƣợng, đơn giá, mô tả cho sản phẩm và
hình ảnh để hiển thị, có thể có hoặc không có khuyến mãi, một sản phẩm có thể có
nhiều ảnh kèm theo.
-

Loại sản phẩm gồm các thông tin: mã loại và tên loại.

-

Nhà cung cấp gồm các thông tin: mã nhà cung cấp, tên nhà cung cấp, địa chỉ, số
điện thoại và email. Có thể có nhiều sản phẩm khác nhau.

-

Khuyến mãi gồm các thông tin: mã khuyến mãi, tên khuyến mãi, ngày bắt đầu,

ngày kết thúc, phần trăm giảm giá và ghi chú.

-

Ảnh kèm theo gồm mã hình và tên hình, một ảnh kèm theo chỉ thuộc một sản
phẩm

Sản phẩm đƣợc nhập từ nhà cung cấp đƣợc quản lý bởi phiếu nhập. Thông tin
phiếu nhập gồm mã phiếu nhập, mã nhà cung cấp, mã nhân viên, ngày nhập, tổng tiền,
ghi chú. Thông tin về sản phẩm nhập đƣợc lƣu trong phiếu nhập chi tiết gồm mã sản
phẩm, số lƣợng nhập và đơn giá nhập.
Thông tin về đơn hàng mà khách hàng đã mua sẽ đƣợc lƣu trong hóa đơn và hóa
đơn chi tiết. Thông tin hóa đơn gồm: mã hóa đơn, mã khách hàng, tổng tiền, ngày đặt

CBHD: Nguyễn Minh Trung

Trang 10

SVTH: Trần Hoàng Giang


hàng, ngày giao hàng, ghi chú của đơn hàng, trạng thái và do một nhân viên duyệt đơn
hàng. Hóa đơn chi tiết lƣu thông tin gồm mã sản phẩm, số lƣợng bán, đơn giá bán.
Về nhân viên, mỗi nhân viên đƣợc quản lý bởi thông tin gồm mã nhân viên, họ
tên, địa chỉ, số điện thoại, giới tính, ngày sinh, email, mật khẩu. Mỗi nhân viên có
quyền và chức năng khác nhau.
Một nhu cầu khác không thể thiếu là chƣơng trình khuyến mãi. Thông tin gồm
tên chƣơng trình, ngày bắt đầu, ngày kết thúc khuyến mãi sản phẩm, sản phẩm đƣợc
khuyến mãi.Cuối tháng, chủ shop sẽ thực hiện việc thống kê lại các mặt hàng để tổng
hợp hàng nhập, hàng bán, doanh thu và kiểm tra tình hình kinh doanh của cửa hàng.


3.2 GIẢI PHÁP PHÂN TÍCH, THIẾT KẾ CÁC MÔ HÌNH
3.2.1 Sơ đồ Use case
3.2.1.1 Sơ đồ Use case mức 0
Báo cáo, thống kê

Danh mục nhà cung cấp

Danh mục khách hàng
Đăng nhập
Chủ quán

Danh mục sản phẩm

Quản lý phiếu nhập

Quản lý hóa đơn

CBHD: Nguyễn Minh Trung

Trang 11

SVTH: Trần Hoàng Giang


Tìm sản phẩm

Đặt hàng
Khách hàng


Xem khuyến mãi

Hình 3.1 Use case chức năng hệ thống
3.2.1.2 Use case chức năng quản lý phiếu nhập
 Mô tả: Use case quản lý phiếu nhập cho phép nhân viên (tác nhân) trong hệ

thống có nhu thêm phiếu nhập khi cần nhập hàng và tìm danh sách phiếu nhập
trong hệ thống khi cần.
 Dòng sự kiện:
-

Nhân viên phải đăng nhập vào hệ thống mới có thể quản lý phiếu nhập.

-

Chức năng thêm phiếu nhập đƣợc thực hiện khi cần nhập hàng cho sản phẩm.
Nhân viên bắt buộc nhập đầy đủ thông tin phiếu nhập. Khi thêm thành công, dữ
liệu sẽ đƣợc lƣu vào CSDL.

CBHD: Nguyễn Minh Trung

Trang 12

SVTH: Trần Hoàng Giang


Đặt đúng NV đăng nhập

Tự động tăng số phiếu nhập
Chọn nhà cung cấp

<<include>>

<<include>>
<<include>>

Nhập số lượng

Chọn sản phẩm

<<include>>
Nhân viên

<<include>>
Thêm phiếu nhập
<<include>>

Đăng nhập

<<extend>>

<<include>>
Lấy ngày hiện hành

Nhập giá

Quản lý phiếu nhập

<<include>>

<<extend>>


Tìm số phiếu nhập

Xem phiếu nhập

Hình 3.2 Use case chức năng quản lý phiếu nhập
3.2.1.3 Use case chức năng báo cáo thống kê

Chủ shop
Báo cáo doanh thu theo thời gian

Đăng nhập
<<extend>>
Thống kê sản phẩm bán chạy nhất
<<extend>>
Báo cáo, thống kê
<<extend>>
Thống kê số lượng bán, số lượng nhập

Hình 3.3 Use case chức năng báo cáo thống kê

CBHD: Nguyễn Minh Trung

Trang 13

SVTH: Trần Hoàng Giang


×