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

Báo cáo thực tập kỹ thuật phần mềmhệ thống quản lý bán hàng online

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 (3.87 MB, 97 trang )

TRƯỜNG ĐẠI HỌC AN GIANG
KHOA CÔNG NGHỆ THÔNG TIN

THỰC TẬP CUỐI KHÓA NGÀNH KỸ THUẬT PHẦN MỀM

HỆ THỐNG QUẢN LÝ BÁN HÀNG ONLINE
Đơn vị thực tập: Công ty cổ phần Nam Việt

TRẦN MINH NHỰT

AN GIANG, 04-2018

1


TRƯỜNG ĐẠI HỌC AN GIANG
KHOA CÔNG NGHỆ THÔNG TIN

THỰC TẬP CUỐI KHÓA NGÀNH KỸ THUẬT PHẦN MỀM

HỆ THỐNG QUẢN LÝ BÁN HÀNG ONLINE

TRẦN MINH NHỰT
MSSV: DPM147166

GVHD: NGUYỄN MINH VI

AN GIANG, 04-2018

2



NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
.............................................................................................................................
Giảng viên hướng dẫn
(Ký và ghi rõ họ tên)

Nội dung nhận xét:
-


Đồng ý hay không đồng ý cho sinh viên báo cáo TTCK; Nếu không đồng ý cần
ghi rõ lý do.
Kết quả đạt được so với yêu cầu;
Ý kiến khác (nếu có)

i


LỜI CẢM ƠN
Lời đầu tiên, em xin tỏ lòng biết ơn sâu sắc đến quý thầy, cô đã giảng dạy
và truyền đạt những kiến thức quý báu nhất cho chúng em bằng cả tâm huyết của
một người giáo viên. Nhờ sự tận tâm giảng dạy, hết lòng truyền đạt những kiến
thức của quý thầy cô giúp em thấy được những khuyết điểm của bản thân mình đế
em rút kinh nghiệm và có được những kiến thức quy báu làm hành hành trang khi
bước vào xã hội ngày một phát triển như hiện nay.
Và em xin chân thành cám ơn cô Nguyễn Minh Vi đã hướng dẫn và giúp
đỡ em trong suốt thời gian thực tập cuối khóa vừa qua. Cơ ln hỗ trợ em hết
mình, theo dõi và nhắc nhở trong suốt q trình hồn thiện đề tài của em, do đó
em mới có thể hồn thành tốt đề tài thực tập cuối khóa của mình.
Cuối cùng, em xin gửi lời cám ơn đến trưởng phịng Tin học của cơng ty
Cổ phần Nam Việt là anh Trần Văn Tèo, người đã tạo điều kiện cho em được học
hỏi kinh nghiệm và trải nghiệm môi trường làm việc của công ty. Anh đã hướng
những hướng đi thật sự cần thiết cho em, ln giúp đỡ em trong q trình thực
tập.
Bên cạnh đó, em xin tỏ lịng biết ơn đến tồn thể nhân viên phịng tin học
của cơng ty Cổ phần Nam Việt đã tạo điều kiện cho em thu thập được nhiều
thông tin cần thiết cho đề tài thực tập cũng như tiếp thu, học hỏi được nhiều kinh
nghiệm thực tế bổ ích.
Đề tại thực tập được thực hiện trong khoảng thời gian 2 tháng. Bước tiếp

cận với dự án thực tế, kiến thức của chúng em vẫn còn hạn chế. Do vậy, khơng
tránh khỏi những thiếu sót, chúng em rất mong nhận được những ý kiến đóng
góp, phê bình của quý thầy cô và quý công ty. Những ý kiến đóng góp đó là hành
trang quý giá giúp chúng em hoàn thiện được kiến thức sau này.
Cuối cùng em xin chúc quý thầy cô trường Đại học An Giang, quý thầy cơ
khoa Cơng Nghệ Thơng Tin và tồn thể nhân viên cơng ty Cổ phần Nam Việt có
thật nhiều sức khỏe, nhiều niềm vui và thành công trong cuộc sống.
Long Xuyên, ngày 1 tháng 4 năm 2018
Sinh viên thực hiện
Trần Minh Nhựt

ii


TÓM TẮT
CHƯƠNG 1: GIỚI THIỆU VỀ CƠ QUAN THỰC TẬP
Giới thiệu sơ lược về đơn vị thực tập, về lịch sử hình thành cũng như về
tình hình hoạt động, cơ cấu tổ chức chung của đơn vị. Khái quát lý do chọn đề tài,
nhu cầu cần thiết của đề tài, phạm vi của đề tài, đối tượng và phạm vi ứng dụng
của đề tài.
CHƯƠNG 2: TỔNG QUAN VÀ CƠ SỞ LÝ THUYẾT
Tính khả thi của đề tài, nội dung bài toán đặt ra cần giải quyết và xác định
phạm vi của đề tài. Cơ sở lý thuyết, phương pháp nghiên cứu, các công cụ và
công nghệ hỗ trợ trong quá tình thực tập.
CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỒNG
Thu thập thơng tin sau đó tiến hành thiết kế cơ sở dữ liệu và mơ tả thuộc
tính từng bảng. Cấu trúc chức năng hệ thống. Thiết kế sơ đồ chức năng (usecase), sơ đồ tuần tự, thiết kế giao diện chương trình, xử lý và mơ tả hoạt động của
chương trình, thiết kế cơ sở dữ liệu.
CHƯƠNG 4: THIẾT KẾ CÀI ĐẶT HỆ THỐNG
Kết luận kết quả thực tập bao gồm thiết kế cơ sở dữ liệu, thiết kế giao diện

và những gì đã đạt được, những hạn chế, hướng phát triển, một số tài liệu tham
khảo.

iii


MỤC LỤC

CHƯƠNG 1: GIỚI THIỆU VỀ CƠ QUAN THỰC TẬP ...................................... 1
1.1.

GIỚI THIỆU CƠ QUAN THỰC TẬP...................................................... 1

1.2.

QUY TRÌNH KHÉP KÍN CỦA CƠNG TY ............................................. 1

CHƯƠNG 2: TỔNG QUAN CƠ SỞ LÝ THUYẾT .............................................. 4
2.1. LÝ DO CHỌN ĐỀ TÀI................................................................................ 4
2.2. ĐẶT VẤN ĐỀ .............................................................................................. 4
2.3. LỊCH SỬ GIẢ QUYẾT VẤN ĐỀ: .............................................................. 5
2.4. PHẠM VI ĐỀ TÀI ....................................................................................... 5
2.5. PHƯƠNG PHÁP NGHIÊN CỨU/HƯỚNG GIẢI QUYẾT VẤN ĐỀ: ....... 6
2.6. CƠ SỞ LÝ THUYẾT: .................................................................................. 8
2.6.1. Hệ quản trị CSDL SQL Server .............................................................. 8
2.6.2.Tổng quan về ASP.NET MVC ............................................................. 10
2.6.3. Tổng quan về WEB API ...................................................................... 12
2.6.4. Tổng quan kiến trúc của Entity Framework ........................................ 17
2.6.5. Tổng quan về Entity Framework Code First........................................ 21
2.6.6. HTML (Hypertext Markup Language) ................................................ 24

2.6.7. CSS (Cascading Style Sheets) ............................................................. 24
2.6.8. JAVASCRIPT ...................................................................................... 24
2.6.9. Tổng quan về AngularJS ...................................................................... 25
2.6.10. Tổng quan về ASP.NET Identity ....................................................... 29
CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỒNG.................................... 32
3.1.

CÁC BƯỚC HOÀN THÀNH DỰ ÁN ................................................... 32

3.2.

ĐÁNH GIÁ KHẢ THI VÀ RỦI RO....................................................... 33

3.2.1. Khả thi về kinh tế ................................................................................. 33
3.2.2. Khả thi về kỹ thuật ............................................................................... 33
3.3.MÔ TẢ RỦI RO VỀ MẶT KỸ THUẬT .................................................... 34
3.4. THU THẬP YÊU CẦU .............................................................................. 35
iv


3.4.1. Yêu cầu nghiệp vụ................................................................................ 35
3.4.2. Yêu cầu chức năng: .............................................................................. 36
3.4.3. Yêu cầu phi chức năng: ........................................................................ 37
3.4.5. Yêu cầu hệ thống: ................................................................................ 38
3.5. PHÂN TÍCH ............................................................................................... 38
3.5.1. Sơ đồ use case ...................................................................................... 38
3.5.2. Mô tả chi tiết một số use case .............................................................. 47
3.5.3. Sơ đồ tuần tự ........................................................................................ 53
3.5.4. Sơ đồ lớp .............................................................................................. 58
CHƯƠNG 4: THIẾT KẾ CÀI ĐẶT HỆ THỐNG ............................................... 61

4.1. THIẾT KẾ CƠ SỞ DỮ LIỆU VÀ CÁC MỐI QUAN HỆ ........................ 61
........................................................................................................................... 61
4.2. THIẾT KẾ CÁC BẢNG CƠ SỞ DỮ LIỆU ............................................... 63
4.3. THIẾT KẾ GIAO DIỆN............................................................................. 74
TỔNG KẾT........................................................................................................... 83

v


DANH MỤC HÌNH
Hình 1. Quy trình khép kính của cơng ty................................................................ 2
Hình 2. Hệ quản trị CSDL SQL Server .................................................................. 8
Hình 3. Các thành cơ bản trong SQL Server ......................................................... 9
Hình 4. Mơ hình ASP.NET MVC ........................................................................ 11
Hình 5. Cấu trúc REST ......................................................................................... 14
Hình 6. Kiến trúc của Entity Framework.............................................................. 18
Hình 7. Mơ hình Entity Data Model ..................................................................... 20
Hình 8. Luồng khởi tạo database .......................................................................... 22
Hình 9. Định nghĩa lớp Context khơng có đối số truyền vào ............................... 22
Hình 10. Định nghĩa lớp Context truyền vào tên của database ............................ 23
Hình 11. Định nghĩa lớp Context truyền vào chuỗi kết nối.................................. 23
Hình 12. File App.config ...................................................................................... 23
Hình 13. Các tính năng chính của Angular JS ...................................................... 26
Hình 14. Ví dụ về directive................................................................................... 28
Hình 15. Danh sách các directive cơ bản.............................................................. 29
Hình 16. Các table của ASP.NET Identity ........................................................... 31
Hình 17. Sơ đồ use case tổng quát ........................................................................ 40
Hình 18. Sơ đồ use case quản lý phía người quản trị ........................................... 40
Hình 19. Sơ đồ use case quản lý đơn đặt hàng ..................................................... 41
Hình 20. Sơ đồ use case quản lý danh mục .......................................................... 42

Hình 21. Sơ đồ use case quản lý sản phẩm ........................................................... 43
Hình 22. Sơ đồ use case quản lý thành viên ......................................................... 44
Hình 23. Sơ đồ use case phía khách hàng............................................................. 45
Hình 24. Sơ đồ use case đặt hàng ......................................................................... 46
Hình 25. Sơ đồ tuần tự đăng nhập ........................................................................ 53
Hình 26. Sơ đồ tuần tự đăng xuất ......................................................................... 54
Hình 27. Sơ đồ tuần tự thêm thành viên ............................................................... 54
Hình 28. Sơ đồ tuần tự đặt hàng ........................................................................... 55
Hình 29. Sơ đồ tuần tự thêm vào giỏ hàng ........................................................... 55
Hình 30. Sơ đồ tuần tự xem danh sách sản phẩm ................................................. 56
Hình 31. Sơ đồ tuần tự thêm sản phẩm................................................................. 56
Hình 32. Sơ đồ tuần tự sửa thơng tin sản phẩm .................................................... 57
Hình 33. Sơ đồ lớp (P1) ....................................................................................... 58
Hình 34. Sơ đồ lớp (P2) ........................................................................................ 59
Hình 35. Sơ đồ lớp (P3) ........................................................................................ 60
Hình 36. Cơ sở dữ liệu và các mối quan hệ (P1) .................................................. 61
Hình 37. Cơ sở dữ liệu và các mối quan hệ (P2) .................................................. 62
vi


Hình 38. Cơ sở dữ liệu và các mối quan hệ (P3) .................................................. 63
Hình 39. Trang chủ ............................................................................................... 74
Hình 40. Giao diện thơng tin chi tiết sản phẩm .................................................... 75
Hình 41. Giao diện giỏ hàng ................................................................................. 76
Hình 42. Giao diện đăng nhập .............................................................................. 77
Hình 43. Giao diện trang quản trị ......................................................................... 77
Hình 44. Giao diện danh sách sản phẩm............................................................... 78
Hình 45. Giao diện trang thêm sản phẩm ............................................................. 79
Hình 46. Giao diện trang thống kê doanh số và lợi nhuận ................................... 80
Hình 47. Giao diện trang giới thiệu ...................................................................... 81

Hình 48. Giao diện trang thông tin liên hệ ........................................................... 78

vii


DANH MỤC BẢNG
Bảng 1. Ánh xạ tương đương giữa các đối tượng trong database và EF ............. 19
Bảng 2. Các bước hồn thành dự án ..................................................................... 32
Bảng 3.Mơ tả rủi ro về mặt kỹ thuật ..................................................................... 34
Bảng 4. Mô tả yêu cầu chức năng đối với người dùng ......................................... 36
Bảng 5. Mô tả yêu cầu chức năng đối với quản trị ............................................... 36
Bảng 6. Mô tả yêu cầu phi chức năng................................................................... 37
Bảng 7. Mô tả yêu cầu hệ thống ........................................................................... 38
Bảng 8. Danh sách các actor ................................................................................. 38
Bảng 9. Danh sách và chức năng của các use case ............................................... 38
Bảng 10. Các ký hiệu ............................................................................................ 39
Bảng 11. Mô tả use case đăng nhập ...................................................................... 47
Bảng 12. Mô tả use case thêm thành viên ............................................................ 47
Bảng 13. Mô tả use case đặt hàng ......................................................................... 48
Bảng 14. Mô tả use case thêm sản phẩm .............................................................. 49
Bảng 15. Mô tả use case sửa sản phẩm................................................................. 49
Bảng 16. Mơ tả use case xóa sản phẩm ................................................................ 50
Bảng 17. Mô tả use case thêm danh mục.............................................................. 51
Bảng 18. Mô tả use case sửa danh mục ................................................................ 52
Bảng 19. Mô tả use case sửa danh mục ................................................................ 52
Bảng 20. Bảng ApplicationUsers ......................................................................... 63
Bảng 21. Errors ..................................................................................................... 64
Bảng 22. Bảng Footers.......................................................................................... 64
Bảng 23. Bảng MenuGroups ................................................................................ 64
Bảng 24. Bảng Menus ........................................................................................... 65

Bảng 25. Bảng OrderDetails ................................................................................. 65
Bảng 26. Bảng Orders ........................................................................................... 65
Bảng 27. Bảng Pages ............................................................................................ 66
Bảng 28. Bảng PostCategories ............................................................................. 66
Bảng 29. Bảng Posts ............................................................................................. 67
Bảng 30. Bảng PostTags ....................................................................................... 68
Bảng 31. Bảng ProductCategories ........................................................................ 68
Bảng 32. Bảng Products........................................................................................ 69
Bảng 33. Bảng ProductTags ................................................................................. 70
Bảng 34. Bảng Slides ............................................................................................ 70
Bảng 35. Bảng SupportOnlines ............................................................................ 71
viii


Bảng 36.Bảng SystemConfigs ............................................................................. 71
Bảng 37. Bảng Tags .............................................................................................. 71
Bảng 38. Bảng VisitorStatistics ............................................................................ 72
Bảng 39. Bảng IdentityRoles ................................................................................ 72
Bảng 40. Bảng IdentityUserClaims ...................................................................... 72
Bảng 41. Bảng IdentityUserLogins ...................................................................... 72
Bảng 42. Bảng IdentityUserRoles ........................................................................ 73

ix


DANH SÁCH CÁC TỪ VIẾT TẮT
STT

Từ viết tắt


Ý nghĩa

1

NAVICO

Công ty Cổ Phần Nam Việt

2

CSDL

Cơ sở dữ liệu

3

CSS

Cascading Style Sheets

4

DOM

Document Object Model

5

API


Application Programming Interface

6

HTML

HyperText Markup Language

7

HTTP

HyperText Transfer Protocol

8

MVC

Model – View – Controller

9

HTTP

Hypertext Transfer Protocol

10

REST


Representational State Transfer

13

TNHH

Trách nhiệm hữu hạn

14

UI

User Interface

15

UX

User Experience

x


CHƯƠNG 1:
GIỚI THIỆU VỀ CƠ QUAN THỰC TẬP
1.1. GIỚI THIỆU CƠ QUAN THỰC TẬP
-

-


Công ty Cổ phần Nam Việt (Navico) có tiền thân là Cơng ty TNHH Nam
Việt được thành lập vào năm 1993 ban đầu hoạt động trong lĩnh vực xây
dựng dân dụng và cơng nghiệp. Sau đó cơng ty quyết định đầu tư mở rộng
phạm vi kinh doanh sang lĩnh vực chế biến thuỷ sản, khởi đầu là việc xây
dựng nhà máy chế biến thuỷ sản Nam Việt, chuyên chế biến xuất khẩu cá
Tra, cá Ba sa đông lạnh. Các lĩnh vực hoạt động kinh doanh của công ty được
cấp phép bao gồm:
 Xây dựng cơng trình thủy lợi
 Ni cá
 Sản xuất bao bì giấy
 In bao bì các loại
 Sản xuất, chế biến và bảo quản thủy sản
 Sản xuất dầu Bio – diesel
 Chế biến dầu cá, bột cá
 Sản xuất keo Gentaline và Glycerin
 Mua bán cá thủy sản
Tên cơng ty: CƠNG TY CỔ PHẦN NAM VIỆT
Tên tiếng Anh: NAM VIET CORPORATION
Tên viết tắt: NAVICO
Địa chỉ: 19D Trần Hưng Đạo, Phường Mỹ Quí, TP Long Xuyên, An Giang
Điện thoại: (84) 0296 834 065 - 834 060
Email: ;
Website: www.navicorp.com.vn ; www.navifishco.com

1.2. QUY TRÌNH KHÉP KÍN CỦA CƠNG TY
-

Cơng ty Cổ phần Nam Việt tự hào tạo nên vịng trịn chu trình khép kín về
nền công nghiệp thủy sản, từ những nhà máy chế biến hiện đại và con người
chuyên nghiệp họ đã tạo ra những sản phẩm thủy sản chất lượng tốt nhất, dựa

trên việc chủ động kiểm soát nguồn thức ăn rồi đến cả môi trường sống, kĩ
thuật để nuôi trồng trên từng vùng ni của chính mình , bên cạnh đó việc
đảm bảo an toàn vệ sinh và bảo quản tốt nhất từng sản phẩm để đưa đến tay
người tiêu dùng bằng những bao bì đạt chất lượng ln được chúng tơi đảm
bảo.

-

Khơng chỉ kiểm sốt những sản phẩm của chính mình ma họ cịn quan tâm
đến cả mơi trường và khơng để lãng phí bất kì cơng sức nào của người nuôi

1


hay của chính mình, nhà máy chế biến phụ phẩm đã được lập nên để tạo nên
những sản phẩm phục vụ lại cho công việc chăn nuôi và sản xuất.

Vùng ni
Nhà máy
thức ăn
NAVICO

Nhà máy chế
biến thủy sản

Nhà máy bao

Nhà máy phụ
phẩm


Nhà máy
Nam Việt
Nhà máy Thái
Bình Dương

Nhà máy Đại
Tây Dương
Nhà máy Ấn
Độ Dương

Hình 1. Quy trình khép kính của cơng ty.

Hình 2. Hệ quản trị CSDL SQL ServerHình 3. Quy trình khép kính của cơng ty.
 Vùng ni
Với 24 vùng ni và vùng liên kết tổng diện tích ni cá tra đến hơn
300ha, với tổng năng suất lên đến 120.000 tấn cá thịt nguyên liệu/ năm và trại
cá giống có thể cung cấp 14 tỉ con dựa trên 20.000 cá bố mẹ, bên cạnh đó
vùng ni cá rơ phi được xây dựng trên sông với hơn 4000 vèo cho ra hơn
80.000 tấn cá thịt/ năm, cùng với đội ngũ quản lí đầy kĩ thuật và kinh nghiệm
chúng tôi tự tin đảm bảo đáp ứng nhu cầu của thị trường về cả chất lượng và
số lượng.


Nhà máy chế biến thức ăn thủy sản NAVIFEED

Từ những nguyên liệu chất lượng như: bã đậu nành từ Argentina, bột cá từ
Peru… cùng với quá trình tìm hiểu bởi bộ phận nghiên cứu và phát triển
cũng như kinh nghiệm ni cá lâu năm từ chính vùng ni của chính mình,
chúng tơi đã tạo ra những dịng sản phẩm cho nhiều loại thủy sản như: cá tra,
cá lóc, các có vảy, ếch…và đã được khẳng định trên thị trường bởi người

nuôi trên khắp Đồng bằng Sông Cửu Long hiện tại và chúng tôi tin rằng sẽ là
2


trên cả nước trong tương lai, cũng như qua chất lượng những sản phẩm thủy
sản được đưa đến tay người tiêu dùng trên toàn thế giới.
 Nhà máy chế biến thủy sản
Nhà máy đông lạnh Nam Việt (DL152), nhà máy đơng lạnh Thái Bình
Dương (DL384), nhà máy đơng lạnh Ấn Độ Dương (DL18): được xây dựng
và trang bị những thiết bị hiện đại, công suất cao cùng với đội ngũ nhân công
chuyên nghiệp chúng tôi đảm bảo chất lượng trên mỗi sản phẩm được tạo ra.
 Nhà máy bao bì
Để có những sản phẩm tốt nhất đưa đến tay người tiêu dùng chúng tơi
chủ động tạo ra bao bì cho chính mình để có thể kiểm sốt chất lượng từ
những bao PE, PP cho đến thùng carton đạt đủ chất lượng, thiết kế riêng theo
yêu cầu cho những khách hàng ở mỗi quốc gia trên thế giới.
 Nhà máy chế biến phụ phẩm
Từ máu, da, xương, đầu… của các loại thủy sản sau khi được chế biến,
chúng tôi đã tận dụng chúng để tạo ra những sản phẩm có thể tiếp tục phục
vụ cho nhu cầu khác như: Gelatine, nguyên liệu sản xuất thức ăn cho động
vật… cũng như góp phần bảo vệ môi trường.

3


CHƯƠNG 2: TỔNG QUAN CƠ SỞ LÝ THUYẾT
2.1. LÝ DO CHỌN ĐỀ TÀI
Ngày nay, tất cả các nước trên thể giới đang dần chuyển mình để hịa vào
cuộc cách mạng công nghệ lần thứ tư, còn được gọi là cuộc cách mạng “Cơng
nghệ 4.0”. Vì vậy mà các từ như “máy vi tính”, “điện thoại đi động”, “internet”,

“online” đã xuất hiện từ thời kỳ cơng nghệ trước đó, thời đại cơng nghệ thứ ba có
lẽ đã khơng còn mấy xa lạ với tất cả mọi người. Bên cạnh các dịch vụ thơng
thường đã được số hóa gần như là hồn hảo như: đọc báo, sách, tài liệu, mua sắm,
giải trí,.v.v.. Bên cạnh đó các hoạt động thương mại điện tử như mua bán hàng
hố, dịch vụ, thơng tin,... đang tăng trưởng với tốc độ chóng mặt, với doanh số
tăng trưởng hàng năm rất lớn. Đối với các doanh nghiệp có liên quan đến hoạt
động xuất nhập khẩu, thương mại điện tử thực sự cần thiết vì những lợi ích to lớn
mà nó đã, đang và sẽ đem lại. Thương mại điện tử thực sự đã làm thay đổi bộ mặt
thế giới, từ các hoạt động kinh doanh của doanh nghiệp, cho đến thói quen sinh
hoạt, mua sắm của từng cá nhân.
Với sự phát triển của công nghệ thông tin, việc sử dụng thiết bị công nghệ
cũng như phần mềm hỗ trợ công việc hằng ngày là điều thiết yếu. Công ty cổ
phần Nam Việt đang kinh doanh rất nhiều lĩnh vực khác nhau do đó nó tạo nên
một chuỗi các bộ phận và nhà máy khác nhau. Với việc kinh doanh nhiều lĩnh
vực như vậy thì việc quản lý quá trình cung cấp hàng hóa cho các bộ phận và nhà
máy vô cùng phức tạp. Để phục vụ nhu cầu mua hàng từ các bộ phận và nhà máy
thì cơng ty Nam Việt cần triển khai một website thương mại điện tử dùng để giới
thiệu và kinh doanh các mặt hàng của cơng ty.
Ngồi ra, cơng ty đang sử dụng các sản phẩm của phòng tin học hầu hết đều
phát triển từ ngơn ngữ lập trình C# nên việc chọn ngơn ngữ lập trình là điều rất
quan trọng. Vì vậy em đã chọn ngôn ngữ C# và xây dựng trên nền tảng ứng dụng
web ASP.NET, nhờ đó mà các anh chị trong phịng tin học có thể dễ dàng giúp
đỡ em trong suốt q trình thực tập, bên cạnh đó việc bảo trì phần mềm sau này
cũng trở nên dễ dàng.
2.2. ĐẶT VẤN ĐỀ
-

Để quản lý quy trình mua hàng của khách nhân viên kỹ thuật phải ghi chép
các biểu mẫu hằng ngày và lưu trữ dưới dạng file thô, khả năng lưu trữ kém
và có thể sai sót và gây nhiều bất lợi cho nhân viên kỹ thuật về việc quản lý

4


mua hàng của khách hàng. Ngoài ra khi các bộ phận, nhà máy đặt hàng với số
lượng lớn và các mặt hàng khác nhau thì việc giải quyết các nhu cầu mua
hàng đó vơ cùng phức tạp và mất q nhiều thời gian nhưng hiệu quả cơng
việc vẫn cịn rất thấp.
-

Vấn đề đặt ra cho bài toán là làm thế nào xây dựng một website cho phép
nhân viên kỹ thuật có thể quản lý quy trình mua hàng của từng khách riêng
biệt nhờ vậy mà công ty dễ dàng quản lý được các đơn đặt hàng, thống kê
được doanh số bán hàng và lợi nhuận của từng tháng.

-

Bên cạnh đó đề tài cần đảm bảo được các yêu cầu sau:
 Tính tiện dụng: Hệ thống phải có tính thân thiện với người dùng, đảm bảo
khả năng hỗ trợ tối đa cho người dùng trong việc sử dụng và khai thác hệ
thống.
 Tính bảo mật: Hệ thống phải đảm bảo khả năng bảo mật cho thơng tin
trong q trình truy xuất thơng tin từ phía người dùng. Mọi truy xuất của
người dùng phải được kiểm sốt cả từ phía trình khách lẫn trình chủ
nhầm đảm bảo khả năng vận hành tốt nhất cho hệ thống.
 Tính tùy biến: Hệ thống phải hỗ trợ khả năng tùy biến nhằm giúp cho
người quản trị dễ dàng kiểm sốt các nguồn thơng tin của mình tùy thuộc
vào nhu cầu của họ.

2.3. LỊCH SỬ GIẢ QUYẾT VẤN ĐỀ:
Đây là một vấn đề hoàn toàn mới của công ty và chưa hề được giải quyết nên

công ty đã nghiên cứu giải pháp và đã đề xuất giải pháp cho em. Sau đó em tiến
hành thực hiện đề tài của mình bằng các giải pháp mà cơng ty đã đưa ra để giải
quyết vấn đề hiện tại của công ty.
2.4. PHẠM VI ĐỀ TÀI
-

Đề tài nghiên cứu xoay quanh vấn đề quản lý quy trình mua hàng của khách
hàng và hỗ trợ cho nhân viên kỹ thuật để giúp cơng ty quản lý tốt quy trình
mua hàng của của khách hàng được hiệu quả hơn.

-

Hệ thống được xây dựng trên nền website và người dùng là khách hàng có
nhu cầu mua hàng trực tuyến trên hệ thống website của công ty. Hệ thống sẽ
gồm các chức năng chính như sau:

5


 Quản trị viên (admin) quản lý sản phẩm, đơn hàng, thành viên người
dùng
 Khách hàng xem, tìm kiếm và mua sản phẩm
 Khách hàng có thể đăng nhập và xem danh sách đơn hàng đã mua
 Khách hàng có thể gửi liên hệ và xem thông tin công ty
 Có 2 view cho khách hàng và cho quản trị, quản trị u cầu đăng nhập
cịn khách hàng thì mặc định là không.
2.5. PHƯƠNG PHÁP NGHIÊN CỨU/HƯỚNG GIẢI QUYẾT VẤN ĐỀ:
-

Cấu trúc dự án

 Dự án được xây dựng theo sự kết hợp của mơ hình 3 lớp và MVC.
 Mục đích là để có thể sử dụng lại được tồn bộ code ở phần server side vì
AngularJS cũng là MVC.
 Một số khái niệm:
 Backend: Toàn bộ code c# xử lý WebAPI, EF, MVC5
 Frontend: Phần code giao diện bên ngoài như AngularJS, Bootstrap,
HTML, CSS, JavaScript
 Trang admin: Trang dành cho Admin
 Trang customer: Trang dành cho khách hàng Database  Repository
 Service  Web API, Controller  AngularJS, ASP.NET MVC

-

Yêu cầu cài đặt:
 Microsoft SQL Server 2008 R2:
/> Visual Studio 2015 Community:
/> Node Package Manage: /> Bower: />
-

Công nghệ sử dụng
 Truy xuất dữ liệu: Entity Framework
6


 Resfull API: Web API
 Hiển thị cho khách hàng: ASP.NET MVC thuần
 Phần quản trị: AngularJS
 Phần chứng thực: ASP.NET Identity
-


Định hướng cơng nghệ:
 Có thể sử dụng ADO.NET nếu cần tốc độ nhưng lại vất vả trong khi code
và cần có kỹ năng quản lý code tốt.
 Có thể dùng Dapper hỗ trợ bạn quản lý kết nối và mapping data.
 Ngồi ra có thể dùng các thư viện khác.
 Tất cả các thư viện này đều phải base trên ADO.NET Provider. Nên
ADO.NET tốc độ vẫn là vô địch vì nó nằm gần SQL nhất.

-

Dựng cấu trúc solution cho dự án
 Các thành phần của Solution
 Demo.Common: Chứa các lớp tiện ích dùng chung cho dự án
 Demo.Model: Chứa các lớp Domain Entities của dự án
 Shop.Data: Chứa tầng truy cập dữ liệu sủ dụng Entity Framework
Codefirst
 Demo.Service: Chứa các service xử lý Business logic
 Demo.Web: Project chính dùng để hiển thị giao diện và tương tác
người dùng.
 Demo.UnitTest: Chứa các class Text sử dụng cho việc Unit Test

-

Các package cần cài đặt
 Shop.Common
 Shop.Model
 Entity Framework
 Microsoft.AspNet.Identity.Core
 Microsoft.AspNet.Identity.EntityFramework


7


 Shop.Data
 Entity Framework
 Shop.Service
 Shop.Web
 Autofac, AutoMapper, Entity Framework...
 Shop.UnitTest
 Moq, Entity Framwork
2.6. CƠ SỞ LÝ THUYẾT:
2.6.1. Hệ quản trị CSDL SQL Server

Hình 4. Hệ quản trị CSDL SQL Server

Hình 5. Các thành cơ bản trong
SQL ServerHình 6. Hệ quản trị CSDL
SQL Server
-

Giới Thiệu SQL Server
 SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ (Relational Database
Management System (RDBMS) ) sử dụng câu lệnh SQL (Transact-SQL)
để trao đổi dữ liệu giữa máy Client và máy cài SQL Server. Một RDBMS
bao gồm databases, database engine và các ứng dụng dùng để quản lý dữ
liệu và các bộ phận khác nhau trong RDBMS.
 SQL Server được tối ưu để có thể chạy trên mơi trường cơ sở dữ liệu rất
lớn (Very Large Database Environment) lên đến Tera-Byte và có thể
phục vụ cùng lúc cho hàng ngàn user. SQL Server có thể kết hợp “ăn ý”


8


với các server khác như Microsoft Internet Information Server (IIS), ECommerce Server, Proxy Server….
-

Các thành cơ bản trong SQL Server
SQL Server được cấu tạo bởi nhiều thành phần như Database
Engine, Reporting Services, Notification Services, Integration Services,
Full-Text Search Service…. Các thành phần này khi phối hợp với nhau
tạo thành một giải pháp hoàn chỉnh giúp cho việc lưu trữ và phân tích dữ
liệu một cách dễ dàng.
 Database Engine: Đây là một
engine có khả năng chứa dữ
liệu ở các quy mơ dưới dạng
support và table. Ngồi ra, nó
cịn có khả năng tự điều
chỉnh ví dụ: trả lại tài nguyên
cho ệ điều hành khi một user
log off và sử dụng thêm các
tài nguyên của máy khi cần.
 Integration Services: là tập
hợp các đối tượng lập trình
Hình 7. Các thành cơ bản trong
và các công cụ đồ họa cho
SQL Server
việc sao chép, di chuyển và
chuyển đổi dữ liệu. Khi bạn
làm việc trong một cơng ty Hình 8. Mơ hình ASP.NET MVCHình 9.
Các thành cơ bản trong

lớn thì dữ liệu được lưu trữ ở
SQL Server
nhiều nơi khác nhau như
được chứa trong: Oracle, SQL Server, DB2, Microsoft Access,… và bạn
chắc chắn sẽ có nhu cầu di chuyển dữ liệu giữa các server này. Ngoài ra,
bạn còn muốn định dạng dữ liệu trước khi lưu vào database. Chắc chắn
Integration Services sẽ giúp bạn giải quyết được công việc này dễ dàng.
 Analysis Services: Đây là một dịch vụ phân tích dữ liệu rất hay của
Microsoft. Dữ liệu khi được lưu trữ vào trong database mà bạn khơng thể
lấy được những thơng tin bổ ích thì coi như khơng có ý nghĩa gì. Chính vì
thế, cơng cụ này ra đời giúp bạn trong việc phân tích dữ liệu một cách

9


hiệu quả và dễ dàng bằng cách dùng kỹ thuật khai thác dữ liệu –
datamining và khái niệm hình khối nhiều chiều – multi dimendion cubes.
 Notification Services: Dịch vụ thông báo này là nền tảng cho sự phát
triển và triển khai các ứng dụng soạn và gửi thông báo. Ngồi ra, dịch vụ
này cịn có chức năng gửi thơng báo theo dịch thời đến hàng ngàn người
dăng ký sử dụng trên nhiều loại thiết bị khác nhau.
 Reporting Services: là một công cụ tạo, quản lý và triển khai báo cáo bao
gồm: server và client. Ngồi ra, nó cịn là nền tảng cho việc phát triển và
xây dựng các ứng dụng báo cáo.
 Full Text Search Service: là một thành phần đặc biệt trong việc truy vấn
và đánh chỉ mục dữ liệu văn bản không cấu trúc được lưu trữ trong các cơ
sở dữ liệu SQL Server.
 Service Broker: là một mơi trường lập trình cho việc tạo ra các ứng dụng
trong việc nhảy qua các Instance.
2.6.2.Tổng quan về ASP.NET MVC

-

Mẫu kiến trúc Model – View – Controller được sử dụng nhằm chi ứng dụng
thành ba thành phần chính: model, view và controller. Nền tảng ASP.NET
MVC giúp cho chúng ta có thể tạo được các ứng dụng web áp dụng mơ hình
MVC thay vì tạo ứng dụng theo mẫu ASP.NET Web Forsm. Nền tảng
ASP.NET MVC có đặc điểm nổi bật là nhẹ (lighweigt), dễ kiểm thử phần
giao diện (so với ứng dụng Web Forms), tích hợp các tính năng có sẵn của
ASP.NET. Nền tảng ASP.NET MVC được định nghĩa trong namespace
System.Web.Mvc và là một phần của name space System.Web.

-

MVC là một mẫu thiết kế (design pattern) chuẩn mà nhiều lập trình viên đã
quen thuộc. Một số loại ứng dụng web sẽ thích hợp với kiến trúc MVC. Một
số khác vẫn thích hợp với ASP.NET Web Forms và cơ chế postbacks. Đơi
khi có những ứng dụng kết hợp cả hai kiến trúc trên.

10


-

Nền tảng MVC bao gồm các thành phần dưới đây:

Hình 10. Mơ hình ASP.NET MVC

Hình 11. Cấu trúc RESTHình 12. Mơ hình
ASP.NET MVC
 Models: Các đối tượng Models là một phần của ứng dụng, các đối tượng

này thiết lập logic của phần dữ liệu của ứng dụng. Thông thường, các đối
tượng model lấy và lưu trạng thái của model trong CSDL. Ví dụ như, một
đối tượng Product (sản phẩm) sẽ lấy dữ liệu từ CSDL, thao tác trên dữ
liệu và sẽ cập nhật dữ liệu trở lại vào bảng Products ở SQL Server.
 Views: Views là các thành phần dùng để hiển thị giao diện người dùng
(UI). Thông thường, view được tạo dựa vào thơng tin dữ liệu model. Ví
dụ như, view dùng để cập nhật bảng Products sẽ hiển thị các hộp văn bản,
drop-down list, và các check box dựa trên trạng thái hiện tại của một đối
tượng Product.
 Controllers: Controller là các thành phần dùng để quản lý tương tác
người dùng, làm việc với model và chọn view để hiển thị giao diện người
dùng. Trong một ứng dụng MVC, view chỉ được dùng để hiển thị thông
tin, controller chịu trách nhiệm quản lý và đáp trả nội dung người dùng
nhập và tương tác với người dùng. Ví dụ, controller sẽ quản lý các dữ liệu
người dùng gởi lên (query-string values) và gởi các giá trị đó đến model,
model sẽ lấy dữ liệu từ CSDL nhờ vào các giá trị này.
11


-

Nền tảng ASP.NET MVC mang lại những lợi ích sau:
 Dễ dàng quản lý sự phức tạp của ứng dụng bằng cách chia ứng dụng
thành ba thành phần model, view, controller
 Nó khơng sử dụng view state hoặc server-based form. Điều này tốt cho
những lập trình viên muốn quản lý hết các khía cạnh của một ứng dụng.
 Nó sử dụng mẫu Front Controller, mẫu này giúp quản lý các requests
(u cầu) chỉ thơng qua một Controller. Nhờ đó bạn có thể thiết kế một
hạ tầng quản lý định tuyến. Để có nhiều thơng tin hơn, bạn nên xem phần
Front Controller trên web site MSDN

 Hỗ trợ tốt hơn cho mơ hình phát triển ứng dụng hướng kiểm thử (TDD)
 Nó hỗ trợ tốt cho các ứng dụng được xây dựng bởi những đội có nhiều
lập trình viên và thiết kế mà vẫn quản lý được tính năng của ứng dụng

-

Lợi ích của ứng dụng được xây dựng trên nền tảng Web Forms
 Nó hỗ trợ cách lập trình hướng sự kiện, quản lý trạng thái trên giao thức
HTTP, tiện dụng cho việc phát triển các ứng dụng Web phục vụ kinh
doanh. Các ứng dụng trên nền tảng Web Forms cung cấp hàng tá các sự
kiện được hỗ trợ bởi hàng trăm các server controls.
 Sử dụng mẫu Page Controller. Xem thêm ở mục Page Controller trên
MSDN
 Mơ hình này sử dụng view state hoặc server-based form, nhờ đó sẽ giúp
cho việc quản lý trạng thái các trang web dễ dàng.
 Nó rất phù hợp với các nhóm lập trình viên quy mô nhỏ và các thiết kế,
những người muốn tận dụng các thành phần giúp xây dựng ứng dụng một
cách nhanh chóng.
 Nói tóm lại, áp dụng Web Forms giúp giảm bớt sự phức tạp trong xây
dựng ứng dụng, bởi vì các thành phần (lớp Page, controls,…) được tích
hợp chặc chẽ và thường thì giúp bạn viết ít code hơn là áp dụng theo mơ
hình MVC.
2.6.3. Tổng quan về WEB API

-

API là gì?

12



 API là viết tắt của Application Programming Interface (giao diện lập
trình ứng dụng) phương thức kết nối với các thư viện và ứng dụng khác.
Windows có nhiều API, và Twitter cũng có web API, tuy nhiên chúng
thực hiện các chức năng khác nhau, với mục tiêu khác nhau. Nó chính là
một phần mềm giao tiếp được sử dụng bởi các ứng dụng khác nhau. Nó
cũng giống như bàn phím là thiết bị dùng để giao tiếp giữa người sử dụng
và máy tính, API là một phần mềm giao tiếp giữa chương trình và hệ điều
hành.
-

Những điểm nổi bật của API:
 Đây là một trong những framework mới sẽ giúp ít cho bạn trong việc xây
dựng các HTTP service một cách rất đơn giản và nhanh chóng.
 Mã nguồn mở nên bạn có thể được sử dụng bởi bất kì một client nào hỗ
trợ XML, JSON.
 Nó cũng có khả năng hỗ trợ đầy đủ các thành phần HTTP: URI,
request/response headers, caching, versioning, content forma.
 Bạn có thể sử dụng các host nằm trong phần ứng dụng hoặc trên IIS.
 Một kiểu kiến trúc vô cùng phù hợp dành cho các thiết bị trang bị băng
thông giới hạn như smartphone, tablet.
 Thường nó có định dạng dữ liệu là JSON, XML hoặc một kiểu dữ liệu
bất kỳ.

-

REST For Web Developers
 Hiện nguyên lý REST và cấu trúc dữ liệu RESTful được biết đến rất rộng
rãi trong giới lập trình, nhưng vẫn có nhiều người hay nhầm lẫn. Bản thân
REST khơng phải là một loại công nghệ, mà là phương thức tạo API với

nguyên lý tổ chức nhất định. Những nguyên lý này nhằm hướng dẫn lập
trình viên tạo mơi trường xử lý API request được toàn diện hơn.
 REST là viết tắt của Representational State Transfer. Giải thích đơn giản,
REST là một loạt hướng dẫn và dạng cấu trúc dùng cho việc chuyển đổi
dữ liệu. Thông thường, REST hay được dùng cho ứng dụng web, nhưng
cũng có thể làm việc được với dữ liệu phần mềm.
 Tóm lại, RESTful API là các API theo cấu trúc REST.

13


×