TRƯỜNG ĐẠI HỌC TÂY ĐÔ KHOA KỸ THUẬT – CÔNG NGHỆ
LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC
XÂY DỰNG
HỆ THỐNG QUẢN LÝ BÁN HÀNG
TRÊN NỀN TẢNG ASP.NET MVC5
Cán bộ hướng dẫn ThS. Quách Luyl Đa
Sinh viên thực hiện Họ và tên: Trần Lam Anh Mã số sinh viên: 13D480201016
Cần Thơ, 2017
TRƯỜNG ĐẠI HỌC TÂY ĐÔ KHOA KỸ THUẬT – CÔNG NGHỆ
LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC
XÂY DỰNG HỆ THỐNG QUẢN LÝ BÁN HÀNG TRÊN NỀN TẢNG ASP.NET MVC5
Cán bộ hướng dẫn ThS. Quách Luyl Đa
Sinh viên thực hiện Họ và tên: Trần Lam Anh Mã số sinh viên: 13D480201016
Cán bộ phản biện ThS. Nguyễn Chí Cường 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 Công nghệ thông tin - Khoa Kỹ Thuật Công Nghệ, Trường Đại học Tây Đô vào ngày 15 tháng 5 năm 2017.
Mã số đề tài: ……………..
Có thể tìm hiểu luận văn tại: • •
Thư viện: Trường Đại học Tây Đô. Website: http://www.tdu.edu.vn
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC TÂY ĐÔ ***
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh phúc
CHẤP NHẬN LUẬN VĂN ĐẠI HỌC CỦA HỘI ĐỒNG
____________________________ Họ tên Giảng viên Phản biện Phản biện
Luận văn đại học (tên luận văn) Xây dựng ứng dụng thống kê trực tuyến tình hình dịch bệnh trên lúa do sinh viên (tên) Phan Quốc Nghĩa, mã số sinh viên: 250734, thực hiện và báo cáo đã được chỉnh sửa theo góp ý và được Hội đồng chấm luận văn đại học thông qua. ____________________________ Họ tên Giảng viên hướng dẫn Giảng viên hướng dẫn
____________________________ Họ tên Thư ký Thư ký
Cần Thơ, ngày ….. tháng …… năm 20… _______________________________ Họ tên Chủ tịch Hội đồng Chủ tịch Hội đồng
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
LỜI CẢM ƠN
Em xin chân thành cả ơn Quý Thầy Cô khoa Kỹ Thuật – Công nghệ trường Đại
học Tây Đô đã tạo điều kiện cho em thực hiện đề tài khóa luận tốt nghiệp này.
Em xin chân thành cảm ơn Thầy Quách Luyl Đa đã tận tình hướng dẫn, giúp đỡ
em trong suốt quá trình thực hiện khóa luận tốt nghiệp này.
Chân thành cảm ơn Quý Thầy Cô khoa Kỹ thuật – Công nghệ, trường Đại học
Tây Đô, về những bài giảng trong suốt khóa học, về những kiến thức nền tảng cũng
như những kiến thức về chuyên ngành đã giúp cho em hoàn thành tốt đề tài.
Xin chân thành cám ơn các anh chị và bạn bè đã ủng hộ, giúp đỡ và động viên
em trong thời gian học tập và nghiên cứu.
Trong phạm vi khả năng cho phép, em đã rất cố gắng để hoàn thành đề tài một
cách tốt nhất. Song, chắc chắn sẽ không tránh khỏi những thiếu sót. Em kính mong
nhận được sự cảm thông và những ý kiến đóng góp của Quý Thầy Cô và các bạn.
Cần Thơ, ngày 15 tháng 5 năm 2017
Sinh viên thực hiện
Trần Lam Anh
i
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
LỜI MỞ ĐẦU
Bước sang thế kỉ 21, sự bùng nổ về công nghệ thông tin, thế giới số đã giúp ích
cho con người trong rất nhiều lĩnh vực kinh tế, xã hội, quốc phòng, an ninh,… Công
việc con người ngày càng phức tạp nhằm đáp ứng nhu cầu cuộc sống ngày càng cao
của xã hội, đặc biệt là trong lĩnh vực kinh doanh, mua bán. Bài toán đặt ra là phải làm
sao quản lý được mọi thông tin cần thiết của lĩnh vực như: khách hàng, nhân viên, sản
phẩm, hóa đơn, doanh thu, giao nhận hàng… của một công ty, một cửa hàng kinh
doanh một cách chặc chẽ và tiết kiệm thời gian, tiện lợi và hiệu quả mọi lúc mọi nơi
nhất. Xuất phát từ nhu cầu thực tiển trên, em đã nghiên cứu và xây dựng nên một hệ
thống quản lý bán hàng trực tuyến trên nền tảng ASP.NET với công nghệ MVC5.
ii
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
TÓM TẮT ĐỀ TÀI
Ngày nay, công nghệ Web ứng dụng trên nền .NET Framework của Microsoft
ngày càng phát triển mạnh mẽ cùng với các công nghệ khác như: PHP, JSP,… Trong
đó công nghệ ASP.NET MVC là một công nghệ mang nhiều tính năng ưu việt. Bên
cạnh đó, nhu cầu thực tế công việc quản lý bán hàng ngày càng phát triển nên đòi hỏi
về trình độ đáp ứng cho công việc ngày càng nâng cao và đòi hỏi khả năng xử lý thông
tin ngày càng phức tạp nhằm mang lại hiệu quả cao trong công việc quản lý, thúc đẩy
sự phát triển của bán hàng, tiết kiệm thời gian, nhân công, chi phí đầu tư và tính tiện
dụng.
Vì vậy, em quyết định chọn đề tài xây dựng hệ thống quản lý bán hàng trên nền
tảng Framework ASP.NET MVC5 để hỗ trợ việc quản lý bán hàng tại các công ty/cửa
hàng bán lẻ để giải quyết các vấn đề đã đề ra trên đó.
Các vấn đề mà em đã nghiên cứu được về Framework ASP.NET MVC5, công
nghệ AJAX, cấu trúc JSON, Bootstrap, HTML5. Các hướng tiếp cận phát triển của
chúng em là tìm kiếm thông tin qua Internet, xử lý thông tin dưới sự giúp đỡ của Giáo
viên hướng dẫn.
Trong quá trình nghiên cứu, xây dựng và phát triển đề tài, em đã gặp nhiều khó
khăn và phương án để giải quyết vấn đề là: tham khảo, hỏi ý kiến từ các forum, xin ý
kiến đóng góp của giảng viên hướng dẫn, trao đổi thông tin với bạn bè…
Và kết quả đã đạt được, em đã xây dựng thành công hệ thống quản lý bán hàng
đáp ứng đầy đủ yêu cầu đã đặt ra. Hệ thống được vận hành dễ dàng mọi lúc mọi nơi
trên mọi thiết bị có hỗ trợ truy cập internet, giao diện tương quan tự động co giản có
cấu trúc phù hợp với từng kích thước màn hình hiển thị khác nhau của thiết bị sử dụng.
iii
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
SUMMARY BY ENGLISH
Today, technical Web Application base on Microsoft’s .NET Framework is strong growing up beside other technicals such as PHP, JSP, etc. However, ASP.NET MVC technical have many good feature. In addition, the actual demand for sales management is increasingly evolving, requiring higher levels of responsiveness to work and the need for increasingly sophisticated information processing to bring about increased productivity. High performance in management, sales growth, time savings, labor, investment costs and usability.
So, I decided to build a sales management system based on the ASP.NET
MVC5 framework to support sales management at retail companies / stores.
Issues that we reseached are ASP.NET MVC5 Framework, technical AJAX, to development are: find
structor JSON, Bootstrap, HTML5. Our approach information via internet, processing information with the helping of supervisor.
During our research, we had many trouble and had some method to solve the problem such as references to the forum and ask for people's opinions, ask opinions of supervisor, ask opinions team mate to solved the problem.
During our research, we had many trouble and had some method to solve the problem such as references to the forum and ask for people's opinions, ask opinions of supervisor, ask opinions friends mate to solved the problem.
Finally, I have successfully built a sales management system that fully meets the requirements set out. The system is easy to operate anytime, anywhere on any device that supports internet access. The autosave interface is structured to suit the different display sizes of the device.
iv
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
MỤC LỤC
LỜI CẢM ƠN ........................................................................................................ i
LỜI MỞ ĐẦU ....................................................................................................... ii
TÓM TẮT ĐỀ TÀI .............................................................................................. iii
SUMMARY BY ENGLISH ................................................................................ iv
MỤC LỤC ............................................................................................................. v
MỤC LỤC HÌNH ẢNH ....................................................................................... ix
MỤC LỤC BẢNG .............................................................................................. xii
DANH SÁCH CHỮ VIẾT TẮT ........................................................................ xiv
CHƯƠNG I: TỔNG QUAN ................................................................................. 1
1.1. Giới thiệu tổng quan .............................................................................. 1
1.2. Mục đích chọn đề tài ............................................................................. 1
1.3.
Phạm vi nghiên cứu: .............................................................................. 1
1.4.
Phương pháp nghiên cứu: ...................................................................... 1
1.5. Mục tiêu cần đạt .................................................................................... 2
1.6. Đặc tả đề tài ........................................................................................... 2
CHƯƠNG II: CƠ SỞ LÝ THUYẾT ..................................................................... 5
2.1. Công nghệ ASP.NET MVC5 .................................................................... 5
2.2. Mô hình MVC5 .......................................................................................... 9
2.3. Giới thiệu Entity Framework ................................................................... 12
2.5. Tổng quan về SQL Server ....................................................................... 17
2.6. Tổng quan về ngôn ngữ giao diện ............................................................ 17
2.7. Vài nét về thương mại điện tử B2C ......................................................... 22
CHƯƠNG III: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG ................................ 24
v
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
3.1. Xác định Actor .................................................................................... 24
3.2. Xác định UseCase ................................................................................ 24
3.3. Mô hình tương tác người dùng và hệ thống ........................................ 25
3.4.
Sơ đồ Class .......................................................................................... 43
3.5.
Sơ đồ hoạt động các chức năng ........................................................... 44
3.5.1. Chức năng đăng nhập .................................................................... 44
3.5.2. Chức năng thêm người dùng ......................................................... 45
3.5.3. Chức năng thêm khách hàng ......................................................... 46
3.5.4. Chức năng thêm sản phẩm ............................................................ 47
3.5.5. Chức năng thêm hóa đơn/đơn hàng .............................................. 48
3.6.
Sơ đồ tuần tự các chức năng ................................................................ 49
3.6.1. Chức năng đăng nhập .................................................................... 49
3.6.2. Chức năng thêm nhân viên ............................................................ 49
3.6.3. Thêm khách hàng .......................................................................... 50
3.6.4. Chức năng thêm sản phẩm ............................................................ 51
3.6.5. Chức năng thêm hóa đơn/đơn hàng .............................................. 52
3.7. Mô hình cơ sở dữ liệu .......................................................................... 53
3.8.
Tổ chức bảng dữ liệu ........................................................................... 54
3.8.1. Bảng dữ liệu BƯU CỤC ............................................................... 54
3.8.2. Bảng dữ liệu CHI TIẾT HÓA ĐƠN ............................................. 54
3.8.3. Bảng dữ liệu CHI TIẾT NHẬP ..................................................... 54
3.8.4. Bảng dữ liệu CHỨC VỤ VỊ TRÍ .................................................. 55
3.8.5. Bảng dữ liệu ĐƠN VỊ TÍNH ......................................................... 55
3.8.6. Bảng dữ liệu HÓA ĐƠN ............................................................... 55
vi
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
3.8.7. Bảng dữ liệu KHÁCH HÀNG ...................................................... 56
3.8.8. Bảng dữ liệu KHUYẾN MÃI ....................................................... 57
3.8.9. Bảng dữ liệu LOẠI SẢN PHẨM .................................................. 58
3.8.10.
Bảng dữ liệu NHÀ CUNG CẤP ................................................ 58
3.8.11.
Bảng dữ liệu NHÂN VIÊN ........................................................ 59
3.8.12.
Bảng dữ liệu NHÓM .................................................................. 60
3.8.13.
Bảng dữ liệu NHÓM SẢN PHẨM ............................................ 60
3.8.14.
Bảng dữ liệu PHIẾU NHẬP ...................................................... 60
3.8.15.
Bảng dữ liệu QUY CÁCH ĐÓNG GÓI SẢN PHẨM ............... 61
3.8.16.
Bảng dữ liệu QUY CÁCH ......................................................... 61
3.8.17.
Bảng dữ liệu SẢN PHẨM ......................................................... 62
3.8.18.
Bảng dữ liệu TÀI KHOẢN NGÂN HÀNG ............................... 63
3.8.19.
Bảng dữ liệu VẬN ĐƠN ............................................................ 64
3.8.20.
Bảng dữ liệu TỈNH THÀNH PHỐ ............................................ 65
3.8.21.
Bảng dữ liệu QUẬN HUYỆN ................................................... 66
3.8.22.
Bảng dữ liệu XÃ PHƯỜNG ...................................................... 67
3.9.
PHÂN TÍCH MỐI QUAN HỆ DỮ LIỆU GIỮA CÁC THỰC THỂ . 67
CHƯƠNG IV: DEMO VÀ TRIỂN KHAI HỆ THỐNG .................................... 73
4.1. Giới thiệu tổng quan về hạ tầng Demo ................................................ 73
4.2. Giao diện chính .................................................................................... 73
4.3. Cấu trúc giao diện: ............................................................................... 73
4.3.1. Trên máy tính ................................................................................ 74
4.3.2. Trên điện thoại .............................................................................. 75
4.4. Giao diện chức năng ............................................................................ 75
vii
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
4.4.2. Chức năng quản trị Hóa đơn ......................................................... 76
4.4.3. Chức năng quản trị Sản phẩm ....................................................... 80
4.4.4. Chức năng quản trị Khách hàng .................................................... 85
4.4.5. Chức năng quản trị Nhà cung cấp ................................................. 87
4.4.6. Chức năng quản trị Bưu cục .......................................................... 89
4.4.7. Chức năng quản trị Vận đơn ......................................................... 91
CHƯƠNG V: KẾT LUẬN .................................................................................. 93
5.1. Kết quả và kinh nghiệm ....................................................................... 93
5.2. Hạn chế ................................................................................................ 93
5.3. Hướng phát triển .................................................................................. 93
TÀI LIỆU THAM KHẢO ................................................................................... 94
viii
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
MỤC LỤC HÌNH ẢNH
Hình 1. Logo hệ thống ..................................................................................................... 4 Hình 2. Mô hình MVC .................................................................................................... 7 Hình 3. Mô hình kiến trúc Entity Framework ............................................................... 13 Hình 4. Lưu đồ Entity Mapping Model ......................................................................... 16 Hình 5. Sơ đồ minh họa mối quan hệ các thành phần trong EF .................................... 17 Hình 6. Minh họa khối mã lệnh Razor View ................................................................ 19 Hình 7. Vai trò CSS với Website .................................................................................. 20 Hình 8. Sơ đồ UseCase tổng thể .................................................................................... 25 Hình 9. UseCase quản trị cấu hình hệ thống ................................................................. 26 Hình 10. UseCase quản trị nhân sự ............................................................................... 26 Hình 11. UseCase quản trị tài khoản người dùng.......................................................... 26 Hình 12. UseCase quản trị báo cáo thống kê ................................................................ 27 Hình 13. UseCase quản trị nhà cung cấp ....................................................................... 27 Hình 14. UseCase quản trị nhập hàng ........................................................................... 27 Hình 15. UseCase quản trị khuyến mãi ......................................................................... 28 Hình 16. UseCase quản trị sản phẩm và cấu hình ......................................................... 28 Hình 17. UseCase quản trị hóa đơn ............................................................................... 29 Hình 18. UseCase quản trị tài khoản ngân hàng ........................................................... 29 Hình 19. UseCase quản trị đối tác vận chuyển .............................................................. 30 Hình 20. UseCase quản trị vận đơn ............................................................................... 30 Hình 21. UseCase quản trị nhập hàng của nhân viên .................................................... 31 Hình 22. UseCase quản trị sản phẩm và cấu hình của nhân viên ................................. 31 Hình 23. UseCase quản trị hóa đơn của nhân viên ........................................................ 32 Hình 24. UseCase quản trị vận đơn của nhân viên ........................................................ 32 Hình 25. UseCase quản trị tài khoản ngân hàng của nhân viên .................................... 33 Hình 26. Sơ đồ class tổng thể ........................................................................................ 43 Hình 27. Sơ đồ hoạt động đăng nhập vào hệ thống ....................................................... 44 Hình 28. Sơ đồ hoạt động thêm nhân viên .................................................................... 45 Hình 29. Sơ đồ tuần tự thêm khách hàng ...................................................................... 46 Hình 30. Sơ đồ hoạt động thêm sản phẩm ..................................................................... 47
ix
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Hình 31. Sơ đồ hoạt động thêm hóa đơn/đơn hàng ....................................................... 48 Hình 32. Sơ đồ tuần tự chức năng đăng nhập ............................................................... 49 Hình 33. Sơ đồ tuần tự thêm nhân viên ......................................................................... 49 Hình 34. Sơ đồ hoạt động thêm khách hàng ................................................................. 50 Hình 35. Sơ đồ tuần tự thêm sản phẩm ......................................................................... 51 Hình 36. Sơ đồ tuần tự thêm hóa đơn/ đơn hàng ........................................................... 52 Hình 37. Mô hình dữ liệu hệ thống ............................................................................... 53 Hình 38. Giao diện Dashboard ...................................................................................... 73 Hình 39. Cấu trúc giao diện trên máy tính .................................................................... 74 Hình 40. Cấu trúc giao diện trên điện thoại................................................................... 75 Hình 41. Giao diện đăng nhập ....................................................................................... 75 Hình 42. Lựa chọn quản trị hóa đơn .............................................................................. 76 Hình 43. Quản trị hóa đơn ............................................................................................. 77 Hình 44. Chi tiết hóa đơn .............................................................................................. 78 Hình 45. Thêm mới hóa đơn .......................................................................................... 79 Hình 46. Lựa chọn quản trị Sản phẩm ........................................................................... 80 Hình 47. Quản trị sản phẩm ........................................................................................... 81 Hình 48. Chi tiết sản phẩm ............................................................................................ 82 Hình 49. Quản lý loại sản phẩm .................................................................................... 83 Hình 50. Quản lý đơn vị tính sản phẩm ......................................................................... 84 Hình 51. Quản trị nhóm sản phẩm................................................................................. 84 Hình 52. Lựa chọn quản trị Khách hàng ....................................................................... 85 Hình 53. Quản trị Khách hàng ....................................................................................... 86 Hình 54. Chi tiết thông tin Khách hàng ......................................................................... 86 Hình 55. Quản lý Thêm khách hàng .............................................................................. 87 Hình 56. Quản trị Nhà cung cấp .................................................................................... 87 Hình 57. Chi tiết thông tin nhà cung cấp ....................................................................... 88 Hình 58. Thêm nhà cung cấp ......................................................................................... 88 Hình 59. Lựa chọn quản trị Bưu cục ............................................................................. 89 Hình 60.Quản trị Bưu cục.............................................................................................. 89 Hình 61. Quản trị thêm bưu cục .................................................................................... 90
x
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Hình 62. Lựa chọn quản trị Vận đơn ............................................................................. 91 Hình 63. Quản trị Vận đơn ............................................................................................ 91 Hình 64. Tạo mới vận đơn ............................................................................................. 92
xi
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
MỤC LỤC BẢNG
Bảng 1. Lịch sử các phiên bản MVC. ............................................................................. 5
Bảng 2. Sự khác nhau giữa MVC và Webform ............................................................... 6
Bảng 3. Các loại security trong MVC5 ......................................................................... 11
Bảng 4. Bảng ánh xạ tương đương giữa các đối tượng trong database và EF .............. 14
Bảng 5. Đặc tả UseCase đăng nhập ............................................................................... 34
Bảng 6. Đặc tả UseCase Cấu hình giao diện ................................................................. 34
Bảng 7. UseCase Quản trị tài khoản nhân sự ................................................................ 35
Bảng 8. Đặc tả UseCase Quản trị tài khoản nhân viên kinh doanh ............................... 37
Bảng 9. Đặc tả UseCase Quản trị nhà cung cấp ............................................................ 38
Bảng 10. Đặc tả UseCase Quản trị nhập hàng .............................................................. 38
Bảng 11. Đặc tả UseCase Quản trị khuyến mãi ............................................................ 39
Bảng 12. Đặc tả UseCase Quản trị sản phẩm và các cấu hình ...................................... 40
Bảng 13. Đặc tả UseCase Quản trị hóa đơn .................................................................. 41
Bảng 14. Đặc tả UseCase Quản trị vận đơn .................................................................. 42
Bảng 15. Bảng dữ liệu Bưu cục ..................................................................................... 54
Bảng 16. Bảng dữ liệu Chi tiết hóa đơn ........................................................................ 54
Bảng 17. Bảng dữ liệu chi tiết nhập hàng ..................................................................... 55
Bảng 18. Bảng dữ liệu Chức vụ vị trí ............................................................................ 55
Bảng 19. Bảng dữ liệu Đơn vị tính ................................................................................ 55
Bảng 20. Bảng dữ liệu Hóa đơn .................................................................................... 56
Bảng 21. Bảng dữ liệu Khách hàng ............................................................................... 57
Bảng 22. Bảng dữ liệu khuyến mãi ............................................................................... 58
Bảng 23. Bảng dữ liệu Loại sản phẩm .......................................................................... 58
Bảng 24. Bảng dữ liệu Nhà cung cấp ............................................................................ 59
Bảng 25. Bảng cơ sở dữ liệu Nhân viên ........................................................................ 60
Bảng 26. Bảng dữ liệu Nhóm sản phẩm ........................................................................ 60
Bảng 27. Bảng dữ liệu Sản phẩm thuộc nhóm .............................................................. 60
Bảng 28. Bảng dữ liệu phiếu nhập ................................................................................ 61
Bảng 29. Quy cách đóng gói sản phẩm ......................................................................... 61
Bảng 30. Bảng dữ liệu Quy cách ................................................................................... 62
xii
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Bảng 31. Bảng dữ liệu Sản phẩm .................................................................................. 63
Bảng 32. Bảng dữ liệu Khách hàng ............................................................................... 63
Bảng 33. Bảng dữ liệu Vận đơn .................................................................................... 65
Bảng 34. Bảng dữ liệu Tỉnh Thành phố ........................................................................ 66
Bảng 35. Bảng dữ liệu Quận huyện ............................................................................... 67
Bảng 36. Bảng dữ liệu Xã phường ................................................................................ 67
Bảng 37. Bảng phân tích mối quan hệ dữ liệu các thực thể .......................................... 71
xiii
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
DANH SÁCH CHỮ VIẾT TẮT
Từ viết tắt
Ý nghĩa
Mô hình Models – Controller - View MVC
Java Script JS
Microsoft MS
Language Integrated Query LinQ
Cascading Style Sheets CSS
Uniform Resource Locator URL
Web Aplication WAPP
Application Programming Interface API
Entity Framework EF
Database Management System DBMS
Entity Data Model EDM
xiv
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
CHƯƠNG I: TỔNG QUAN
1.1. GIỚI THIỆU TỔNG QUAN
Ngày nay, cùng với sự phát triển vượt bậc của công nghệ thông tin, Microsoft
(MS) một trong những đơn vị tuyên phong cho ra đời một nền tảng ứng dựng thế hệ
mới chính là WEB APPLICATION (WAPP). WAPP được phát triển trên nền tảng
.NET Framework và được vận hành bằng ứng dụng truy cập Website thông thường
(Browser) một cách đơn giản, tiện dụng trên mọi thiết bị có hỗ trợ truy cập website và
quá trình vận hành được thực hiện mọi lúc, mọi nơi. Đây là một công nghệ rất tiên
tiến, đủ để đáp ứng cho nhu cầu công việc ngày càng phát triển, khâu quản lý ngày
càng được quan tâm và đặc biệt hơn hết tính tiện dụng đa nền tảng, đa thiết bị ngày
càng được quan trọng. Công nghệ WAPP có thể thay thế hoàn toàn cho Winform một
nền tảng phát triển ứng dụng cho ra đời các phần mềm được chạy trên hệ điều hành
Windows mà hầu hết chúng ta đang được học, phát triển và sử dụng trong thời gian
qua.
1.2. MỤC ĐÍCH CHỌN ĐỀ TÀI
Nhằm đáp ứng nhu cầu thực tế, xây dựng một hệ thống quản lý bán hàng hoạt
động độc lập được vận hành mọi lúc mọi nơi, trên mọi thiết bị chỉ cần trang bị một
trình duyệt có khả năng truy cập Website.
Nhằm đáp ứng nhu cầu phát triển xã hội, nâng cao năng suất, hiệu quả công
việc, tiết kiệm thời gian, nhân công và tiết kiệm chi phí đầu tư trang thiết bị máy móc,
đáp ứng nhu cầu chuyên nghiệp hóa xử lý hàng hóa phục vụ cho khách hàng.
Nhằm tạo điều kiện thực hiện nghiên cứu, phát triển khả năng bản thân, góp
phần phát triển xã hội.
1.3. PHẠM VI NGHIÊN CỨU
Quản lý bán hàng tại một cửa hàng, một công ty bao gồm quản lý các thông tin:
khách hàng, nhân viên, sản phẩm, hóa đơn, sản phẩm… của cửa hàng/công ty.
Quy trình khách hàng đặt hàng, mua hàng và nhận hàng, căn cứ vào thông tin
thực tế để thiết kế hệ thống thích hợp phục vụ tuần tự đúng cho nhu cầu sử dụng.
1.4. PHƯƠNG PHÁP NGHIÊN CỨU
- Quan sát thực tế quy trình bán hàng tại các cửa hàng, công ty
1
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
- Trực tiếp đặt hàng tại các cửa hàng/công ty sản phẩm theo quy trình của từng
cửa hàng/công ty.
- Nghiên cứu các website mua bán hàng sản có và quy trình thực hiện đặt hàng,
mua bán sản phẩm.
- Tham khảo các mô hình, hệ thống trực tiếp sẳn có từ các nước phát triển.
1.5. MỤC TIÊU CẦN ĐẠT
- Thêm và quản lý người dùng (Nhân viên công ty) vào hệ thống
- Thêm khách hàng và quản lý thông tin khách hàng trong hệ thống.
- Thêm và quản lý sản phẩm trong hệ thống với số lượng sản phẩm còn lại trong
kho của từng sản phẩm, lượt mua, bán của từng sản phẩm.
- Thêm và quản lý mã khuyến mãi được tạo cho từng đợt khuyến mãi với các
thông tin khuyến mãi: số lần sử dụng, thời gian áp dụng, khuyến mãi giảm phần trăm
hay giảm tiền hàng trực tiếp vào hóa đơn.
- Quản lý các lượt nhập hàng với các thông tin giá nhập vào hệ thống theo từng
đợt giá.
- Quản lý và cập nhật liên tục thông tin vận chuyển của các hóa đơn hàng hóa
khách hàng đặt hàng có vận chuyển
- Chấp nhận thanh toán bằng nhiều hình thức khác nhau: thanh toán khi nhận
hàng, thanh toán trực tiếp khi mua hàng và thanh toán qua chuyển khoản.
- Quản lý các đối tác vận chuyển với các thông tin khai thác của từng đối tác, tích
hợp được API các đối tác nhằm mục đích tạo được các đơn vận tự động thông qua hệ
thống.
- Quản lý tài khoản ngân hàng của khách hàng, nhân viên công ty, và các nhà
cung cấp.
- Quản lý thông tin nhà cung cấp các các sản phẩm kinh doanh.
1.6. ĐẶC TẢ ĐỀ TÀI
Đề tài “Xây dựng hệ thống quản lý bán hàng trên nền tảng công nghệ MVC 5
với ngôn ngữ ASP.NET” được hình thành trên ý tưởng ứng dụng công nghệ thông tin
vào việc quản lý kinh doanh tại một cửa hàng/công ty bán lẻ góp phần tạo điều kiện
2
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
thuận lợi để tiết kiệm thời gian, chi phí, nhân công nhằm mang lại hiệu quả cao và chất
lượng tốt cho công việc.
Kết quả của quá trình nghiên cứu và thực hiện cho ra đời sản phẩm chính là hệ
thống quản lý bán hàng bán hàng trực tuyến với tên gọi Seller Manage version 1.0.
Hệ thống là một tổng hợp các quản lý thông tin cần thiết cho một cửa hàng/ công ty
kinh doanh bán lẻ. Hệ thống hỗ trợ quản lý các thông tin cần thiết:
Khi người dùng tham gia vào hệ thống được Quản trị hệ thống cấp một tài
khoản người dùng để đăng nhập và sử dụng trong hệ thống. Người dùng hệ thống tùy
vào mức độ cho phép mà được sử dụng các tính năng khác nhau được phân quyền bởi
quản trị viên hệ thống. Khi có cách hàng thực hiện đơn hàng tại công ty bán lẻ/cửa
hàng, nhân viên lấy thông tin điện thoại khách hàng để tạo đơn đặt hàng hoặc xuất hóa
đơn bán hàng, thông qua số điện thoại được lấy từ khách hàng, hệ thống sẽ phản hồi
khách hàng đã có trong hệ thống hoặc chưa tồn tại, nếu khách hàng chưa có trong hệ
thống thì thêm mới thông tin khách hàng vào hệ thống và tiếp tục quá trình tạo hóa
đơn hoặc đơn hàng với hệ thống. Đối với khách hàng cần giao hàng hoặc gửi hàng đến
nơi người nhận khách thì nhân viên kinh doanh hỗ trợ tạo vận đơn cho khách hàng để
hỗ trợ gửi hàng thông qua các đối tác khai thác vận chuyển.
Bên cạnh đó hỗ trợ khách hàng thanh toán cho mỗi hóa đơn bằng nhiều hình
thức thanh toán khác nhau: thanh toán khi nhận hàng, thanh toán trực tiếp khi thực
hiện hóa đơn hoặc thanh toán chuyển khoảng nhân hàng.
Khi có chương trình khuyến mãi của công ty kinh doanh bán lẻ/cửa hàng có thể
tạo chương trình khuyến mãi giảm giá trên hóa đơn bán hàng với các hình thức giảm
giá như giảm giá % tiền hàng, giảm giá trực tiếp tiền của hàng, thời gian áp dụng và số
lần áp dụng đối với từng đơn hàng thông qua chương trình khuyến mãi và các áp dụng
giảm giá bằng cách trực tiếp điền mã vào hóa đơn khi tạo.
Ngoài ra, hệ thống cho phép quản lý sản phẩm với từng mức độ phân loại sản
phẩm, phân nhóm sản phẩm, với nhiều đơn vị tính được tạo bởi người dùng. Khi tạo
mới sản phẩm, người dùng phải lựa chọn loại sản phẩm, đơn vị tính và nhóm sản phẩm
nếu sản phẩm có chứa nhiều thuộc tính cần được quản lý. Và khi loại, đơn vị tính,
3
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
nhóm chưa có khi tạo đơn hàng nhân viên có thể thêm mới thuộc tính tại các mục
tương ứng trong cấu hình sản phẩm. Mặc khác, để nhập hàng, hệ thống còn quản lý cả
thông tin đối với nhà cung cấp sản phẩm đảm bảo tối ưu hóa tính tiện dụng cho các lần
nhập hàng tiếp theo. Để nhập hàng vào hệ thống nhân viên lựa chọn nhà cung cấp sản
phẩm, lựa chọn sản phẩm nhập và số lượng nhập. Hệ thống sẽ kiểm tra dữ liệu và tiến
hàng nhập vào hệ thống, đồng thời xuất phiếu nhập có thể in ra cho nhân viên.
Mặc khác, thiên hướng phát triển của hệ thống là hỗ trợ tích hợp được API đến
các trang thương mại điện tử bán hàng: Sendo, Lazada, Shopee,… nhằm mục đích
đồng bộ hóa sản phẩm đến các trang bán hàng, tiết kiếm tối đa thời gian đăng sản
phẩm. Và tích hợp được đến các đơn vị đối tác vận chuyển khai thác, hỗ trợ tạo vận
đơn trực tiếp tại hệ thống và đồng bộ hóa đến bộ phận vận chuyển, tiết kiệm thời gian
Hì nh 1. Logo hệ thống
tạo vận đơn trên các trang đơn vị.
4
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
CHƯƠNG II: CƠ SỞ LÝ THUYẾT
2.1. CÔNG NGHỆ ASP.NET MVC5
2.1.1. Lịch sử ra đời:
- Tất cả bắt đầu vào những năm 70 của thế kỷ 20, tại phòng thí nghiệm Xerox
PARC ở Palo Alto. Sự ra đời của giao diện đồ họa (GUI) và lập trình hướng đối tượng
(Object Oriented Programming) cho phép lập trình viên làm việc với những thành
phần đồ họa như những đối tượng đồ họa có thuộc tính và phương thức riêng của nó.
Không dừng lại ở đó, những nhà nghiên cứu ở Xerox PARC còn đi xa hơn khi cho ra
đời cái gọi là kiến trúc MVC (viết tắt của Model – View – Controller).
- MVC được phát minh tại Xerox Parc vào những năm 70, bởi
TrygveReenskaug. MVC lần đầu tiên xuất hiện công khai là trong Smalltalk-80. Các
giấy tờ quan trọng đầu tiên được công bố trên MVC là “A Cookbook for Using the
Model-View-Controller User Interface Paradigm in Smalltalk – 80”, bởi Glenn
Krasner và Stephen Pope, xuất bản trong tháng 8 / tháng 9 năm 1988.
- Thế hệ tiếp theo của MVC xuất hiện cùng với hệ điều hành NeXT và các phần
mềm của nó.
- Kiến trúc này ngày càng được phát triển và hoàn thiện nhằm giải quyết các vấn
đề phát sinh cũng như các giải pháp cho quá trình phát triển phần mềm.
- Vì vậy sau đó, lần lượt các MVC framework ra đời dựa trên mô hình MVC
như: CodeIgniter, Zend, ASP.NET MVC …
Thời gian phát hành Phiên bản
ASP.NET MVC 1.0 2008
ASP.NET MVC 2.0 (.NET 3.5) 2008
ASP.NET MVC 3.0 (.Net 4) 1/2010
ASP.NET MVC 4.0 (.Net 4.5) 15/8/2012
Bảng 1. Lịch sử các phiên bản MVC.
ASP.NET MVC 5.0 (.Net 5.0) 17/10/2013
2.1.2. Sự khác nhau giữa MVC và webform
MVC Webform
ASP.net WebForm sử dụng Thành ASP.net MVC chia ra làm 3 phần:
5
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
– Models ViewState để quản lý Các phần
– View trang ASP.net đều có
– Controller. lifecycle, postback và dùng
Mọi tương tác của người dùng với các web controls, các event
Views sẽ được xử lý thông qua việc để thực hiện các hành động
thực hiện các action hành động trong cho UI (User Interface) .
Controllers, không còn postback, Khi có sự tương tác với
lifecycle và events. người dùng nên hầu hết
ASP.net WebForm xử lý
chậm.
Với ASP.net WebForm đều Việc
Đối với MVC thì việc đó có thể sử phải chạy tất cả các tiến kiểm
dụng các unit test có thể thẩm định rất trình của ASP.net, và sự thay tra
dễ dàng các Controllers thực hiện như đổi ID của bất kỳ Controls (test),
thế nào. nào cũng ảnh hưởng đến ứng gỡ lỗi
Bả ng 2. Sự khác nhau giữa MVC và Webform
dụng. (debug)
2.1.3 Kiến trúc sử dụng ASP.NET MVC
ASP.NET MVC được thiết kế một cách gọn nhẹ, giảm thiểu sự phức tạp của
việc xây dựng ứng dụng website bằng cách chia một ứng dụng thành 3 tầng (layer):
Model, View và Controller. Sự chia nhỏ này giúp lập trình viên dễ dàng kiểm soát các
thành phần trong khi phát triển, cũng như lợi ích lâu dài trong việc kiểm tra, bảo trì và
nâng cấp.
- Model: Model chứa và thể hiện các đặc tính và logic ứng dụng. Theo một cách
hiểu khác, Model đại diện cho dữ liệu và logic cốt lõi. Nó chính là những lớp (class)
chứa thông tin về các đối tượng mà ta cần phải thao tác, làm việc trên nó. Ví dụ: “Sản
phẩm” chứa các thông tin như “Tên sản phẩm”, ”Loại sản phẩm”, “Đơn giá”, …
- View: View làm nhiệm vụ thể hiện một Model hay nhiều Model một cách trực
quan, nó nhận thông tin (một Model hoặc nhiều Model) sau đó biểu diễn lên trang
website.
6
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
- Controller: Controller nằm giữa tầng View và Model, làm nhiệm vụ tìm kiếm,
Hì nh 2. Mô hình MVC
xử lý một hoặc nhiều Model, sau đó gửi Model tới View để View hiển thị.
2.1.4 Đặc điểm ASP.NET MVC Framework
Tiếp tục hỗ trợ các tính năng trong ASP.NET
- Hỗ trợ sử dụng các các tập tin:.ASPX, .ASCX, .Master như là thành phần
View.
- Hỗ trợ đầy đủ các tính năng bảo mật của ASP.net: Form/ Windows
authenticate, URL authorization, membership/roles, output và data
caching, section/ profile state, configuration system, provider architecture.
Tách rõ ràng các mối liên quan, mở ra khả năng test TDD (Test Driven Developer).
- Có thể test unit trong ứng dụng mà không cần phải chạy Controllers cùng
với tiến trình của ASP.NET và có thể dùng bất kỳ một unit testing
framework nào như NUnit, MBUnit, MS Test,…
7
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Có khả năng mở rộng, mọi thứ trong MVC được thiết kế để dễ thay thế, dễ dàng
tùy biến. Ánh xạ URL mạnh mẽ, cho phép xây dựng ứng dụng với những URL
sạch.
Không sử dụng mô hình post-back từ giao diện gửi đến server. Thay vào đó, chủ
động đưa những post-back từ View đến thẳng lớp Controller.
Hỗ trợ nhiều công cụ tạo View (Support for Multiple View Engines)
- Cho phép chọn công cụ tạo view. Hộp thoại New Project cho phép xác
định view engine mặc định cho một project.
- Các loại view engine
o Web Forms (ASPX)
o Razor
o Hay một view engine nguồn mở như Spark, NHaml, NDjango.
Hỗ trợ định tuyến
- ASP.NET MVC Framework có một bộ máy ánh xạ URL thật sự mạnh mẽ.
- Bộ máy này cung cấp phương pháp rất linh hoạt trong việc ánh xạ URLs
sang các Controller Classes.
- Bạn có thể dễ dàng định ra các quy luật, cài đặt đường đi, ASP.NET dựa
vào các quy luật đường đi đó để xác định Controller và action cần phải
thực thi.
- ASP.NET còn có khả năng phân tích URL, chuyển các thông số trong
URL thành các tham số trong lời gọi hàm của Controller.
Model Binding
- Model Binding là tính năng thế mạnh của ASP.NET MVC (và bây giờ nó
cũng được áp dụng cho cả Web Forms trong phiên bản ASP.NET 4.5).
- Hỗ trợ bạn viết phương thức nhận một đối tượng tùy biến như là một tham
số
- Với sự hỗ trợ của Model Binding, bây giờ bạn chỉ cần tập trung vào việc
cài đặt các nghiệp vụ logic, không cần phải bận tâm về việc suy nghĩ làm
cách nào để ánh xạ dữ liệu từ người dùng sang các đối ượng .NET.
Filters
8
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
- Là tính năng mạnh trong ASP.NET MVC. Hỗ trợ cho việc kiểm tra tính
hợp lệ trước khi một action method được gọi hoặc sau khi một action
method thi hành.
Razor View.
Từ ASP.net MVC 3 đi kèm với một công cụ View mới có tên là Razor với
những lợi ích sau:
- Cú pháp Razor là sạch sẽ và xúc tích, đòi hỏi một số lượng tối thiểu các tổ
hợp phím.
- Việc tìm hiểu Razor tương đối dễ dàng vì nó dựa trên ngôn ngữ C# và
Visual Basic.
- Visual Studio bao gồm IntelliSense và mã cú pháp Razor được màu hóa.
- Với Razor views có thể kiểm tra từng đơn vị mà không đòi hỏi bạn phải
chạy các ứng dụng hoặc phải chạy website.
2.2. MÔ HÌNH MVC5
2.2.1. Các tính năng của mô hình MVC3 và MVC4
2.2.1.1. MVC3
- So với phiên bản ASP.NET MVC2 thì MVC3 được hỗ trợ thêm HTML5 và
CSS3.
- Cải thiện về Model Validation – tính năng kiểm tra tính hợp lệ của dữ liệu do
người dùng nhập vào.
- Hỗ trợ 2 View Engine: RAZOR, ASPX, kể cả Open source trong khi
ASP.NET MVC2 chỉ có ASPX.
- Controller được cải tiến hơn như thuộc tính ViewBag và kiểu ActionResult.
- Cải thiện Dependency Injection với IDpendencyResolver (có 2 phần:
DependencyResolver và interface IDpendencyResolver) trong ASP.NET MVC3; đây
là lớp thực thi mô hình Service Locator, cho phép framework gọi DIContainer khi
cần làm việc với 1 lớp thực thi từ 1 kiểu cụ thể.
- Cách tiếp cận với JavaScript được hạn chế.
- Hỗ trợ caching trong Partial page.
2.2.1.2. MVC4
9
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
- ASP.NET Web API ra đời, nhằm đơn giản hoá việc lập trình với HTML hiện
đại và đây là một cải tiến mới thay cho WCF Web API.
- Mặc định của dự án được cải thiện hơn về hình thức bố trí, giúp dễ nhìn hơn.
- Mẫu Empty Project là project trống, phù hợp cho những developer muốn nâng
cao khả năng lập trình với ASP.NET MVC4.
- Giới thiệu jQuery Mobile và mẫu Mobile Project cho dự án.
- Hỗ trợ Asynchrnous Controller.
- Kiểm soát Bundling và Minification thông qua web.config.
- Hỗ trợ cho việc đăng nhập OAuth và OpenID bằng cách sử dụng thư viện
DotNetOpenAuth. Cho phép Logins từ Facebook và những tài khoản khác.
- Phiên bản mới Windows Azure SDK 1.6 được phát hành.
2.2.2. Các cải tiến của MVC5
- Với MVC5 thì cải tiến hơn so với ASP.NET MVC4, Bootstrap được thay thế
mẫu MVC mặc định.
- Chứng thực người dùng Authentication Filter được tuỳ chỉnh hoặc chứng
thực từ hãng thứ 3 cung cấp.
- Với Filter overrides, chúng ta có thể Filter override trên Method hoặc
Controller.
- Thuộc tính Routing được tích hợp vào MVC5.
2.2.2.1. Bootstrap
Bootstrap là một framework CSS được Twitter phát triển. Nó là một tập
hợp các bộ chọn, thuộc tính và giá trị có sẵn để giúp web designer tránh việc lặp đi lặp
lại trong quá trình tạo ra các class CSS và những đoạn mã HTML giống nhau trong dự
án web của mình. Ngoài CSS ra, thì bootstrap còn hỗ trợ các function tiện ích được
viết dựa trên JQuery(Carousel, Tooltip, Popovers ,...)
- Được viết bởi những người có óc thẩm mỹ và tài năng trên khắp thế giới. Sự
Những lý do để sử dụng Bootstrap:
tương thích của trình duyệt với thiết bị đã được kiểm tra nhiều lần nên có thể tin tưởng
kết quả mình làm ra và nhiều khi không cần kiểm tra lại. Vì vậy, giúp cho dự án của
bạn tiết kiệm được thời gian và tiền bạc.
10
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
- Chỉ cần biết sơ qua HTML, CSS, Javascript, Jquery là bạn có thể sử dụng
Bootstrap để tạo nên một trang web sang trọng và đầy đủ. Nhưng lại không cần code
- Với giao diện mặc định là màu xám bạc sang trọng, hỗ trợ các component thông
quá nhiều CSS.
dụng mà các website hiện nay cần có. Vì nó là opensource nên bạn có thể vào mã
- Do có sử dụng Grid System nên Bootstrap mặc định hỗ trợ Responsive.
nguồn của nó để thay đổi theo ý thích của bản thân.
Bootstrap được viết theo xu hướng Mobile First tức là ưu tiên giao diện trên Mobile
trước. Nên việc sử dụng Bootstrap cho website của bạn sẽ phù hợp với tất cả kých
thước màn hình. Nhờ đó mà chúng ta không cần xây dựng thêm một trang web riêng
- Đội ngũ phát triển Bootstrap đã bổ sung thêm tính năng Customizer. Giúp cho
biệt cho mobile.
designer có thể lựa chọn những thuộc tính, component phù hợp với project của họ.
Chức năng này giúp ta không cần phải tải toàn bộ mã nguồn về máy.
2.2.2.2. Authentication Filter
- Một trong những vấn đề bảo mật cơ bản nhất là đảm bảo những người dùng hợp
lệ truy cập vào hệ thống. ASP.NET đưa ra 2 khái niệm: Authentication và Authorize
- Authentication là xác thực người dùng, trong MVC5 Authentication Filter
được tuỳ chỉnh hoặc chứng thực từ hãng thứ 3 cung cấp.
- Khi tạo 1 Project MVC5, người dùng được lựa chọn 4 loại security:
Loại Mô tả
Ứng dụng không hỗ trợ security No Authentication
Ứng dụng sử dụng tài khoản được quản lý Individual User Accounts
bởi SQL Server hoặc từ gmail, facebook
Ứng dụng sử dụng tài khoản được quản lý Organizational Accounts
bởi Active Directory hoặc Windows
Azure Directory
Ứng dụng chạy trên intranet tức sử dụng Windown Authentication
Bả ng 3. Các loại security trong MVC5
tài khoản windows để đăng nhập
11
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
- Mỗi loại security khác nhau sẽ phù hợp với các ứng dụng khác nhau. Khi chọn
Individual User Accounts thì ứng dụng chạy trên Internet và sử dụng SQL Server để
lưu trữ thành viên hoặc đăng nhập từ các hệ thống khác như Google, Facebook... Khi
đó người dùng có thể đăng ký, đăng nhập, đổi mật khẩu, đăng xuất với tài khoản cục
bộ hoặc từ bên ngoài(Google, Facebook…).
- Code của AccountController có 2 sự khác biệt
o Annotation [Authorize] được sử dụng để làm cho mọi action trong
controller không thẻ truy xuất khi chưa đăng nhập ngoại trừ action đó được đánh dấu
với annotion [AllowAnontmous].
o Thuộc tính UserManager được tạo ra trong constructor để quản lý các
thành viên. Các trang chức năng security đăng ký, đăng nhập và đổi mật khẩu được
thực hiện nhờ thuộc tính này.
2.3. GIỚI THIỆU ENTITY FRAMEWORK
2.3.1. Tổng quan
Entity Framework (EF) là một framework ánh xạ quan hệ đối tượng (ORM)
dành cho ADO.NET, là 1 phần của .NET Framework. EF cho phép các nhà phát triển
Web tương tác với dữ liệu quan hệ theo phương pháp hướng đối tượng đặc trưng. Lợi
ích lớn nhất của EF là giúp lập trình viên giảm thiểu việc lập trình mã nguồn cần thiết
để truy cập và tương tác với cơ sở dữ liệu. EF được Microsoft hỗ trợ phát triển lâu dài
và bền vững, vì vậy EF là 1 framework mạnh nhất hiện nay để phát triển ứng dụng
Web với sự hỗ trợ đông đảo của các nhà phát triển Web. Kiến trúc của Entity
Framework được minh họa như sau:
12
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Hì nh 3. Mô hình kiến trúc Entity Framework
2.3.2. Tầng Application
Application (ứng dụng) là tầng chứa giao diện trang Web (HTML, CSS,
Javascript, hình ảnh, …) và các đoạn mã nguồn (C#, VB) để tương tác dữ liệu với các
tầng khác trong mô hình thông qua Object Services.
2.3.3. Tầng Object Services
Object Services (tạm dịch là các dịch vụ đối tượng) là tầng chứa quá trình
tương tác giữa ứng dụng và database, hay nói cách khác nó là nơi chủ yếu để truy cập
dữ liệu từ database và trả ngược kết quả về giao diện. Object Services cung cấp các
tiện ích để truy vết các thay đổi và quản lý nhận dạng, đồng thời là các quan hệ và thay
đổi ở database.
Đây là các class tự động sinh ra tương ứng với mô hình dữ liệu. Các class này
bao gồm:
- ObjectContext đại diện cho một database. ObjectContext có chức năng quản lý
các kết nối, định nghĩa mô hình dữ liệu với metadata và thao tác với database. Lớp này
cũng có thể thêm vào các phương thức đại diện cho các stored procedure trong
database.
13
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
- ObjectSet
ứng với một table. Có thể lấy được các đối tượng này thông qua các property tương
ứng của ObjectContext.
- EntityObject, ComplexObject là các lớp tương ứng cho một dòng dữ liệu của
table trong database. Khác biệt chính giữa hai loại này là ComplexObject không chứa
primary key.
- EntityCollection
thể hiện mối quan hệ (relationship) giữa hai entity class. Mỗi đối tượng này có thể
được truy xuất thông qua các property của entity class.
- Sự ánh xạ tương đương được thể hiện bảng sau:
Database Object Entity Framework Object
ObjectContext Database
EntityObject, ComplexObject Table, View
Property Column
EntityCollection
Bả ng 4. Bảng ánh xạ tương đương giữa các đối tượng trong database và EF
EntityReference
2.3.4. Tầng EntityClient Data Provider
EntityClient là một data provider mới của ADO.NET dùng để truy xuất đến
database. Được xây dựng bên trên các ADO.NET data provider cơ bản, EntityClient
không truy xuất trực tiếp dữ liệu mà thông qua các data provider khác dựa vào các
thông tin dữ liệu từ Entity Data Model.
EntityClient cũng bao gồm các lớp giống như các ADO.NET data provider
khác và tên lớp được đặt với tiền tố Entity. Ví dụ bạn có thể tạo kết nối bằng
EntityConnection, tạo các câu truy vấn bằng EntityCommand và đọc kết quả bằng
EntityDataReader.
Một điểm khác biệt với các data provider khác là EntityClient sử dụng Entity
SQL để truy vấn dữ liệu. Các lệnh Entity SQL sẽ được chuyển thành một cấu trúc lệnh
dạng cây (command tree) và chuyển xuống cho các data provider khác.
2.3.5. Tầng ADO.NET Data Providers
14
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Đây là tầng thấp nhấp để dịch các truy vấn L2E (LINQ to Entity) thông qua cây
lệnh thành các câu lệnh SQL và thực thi các câu lệnh trong hệ thống DBMS (database
management system – hệ quản lý dữ liệu) nào đó. Tầng này kết với database sử dụng
ADO.NET.
EntityClient là một data provider mới của ADO.NET dùng để truy xuất đến
database. Được xây dựng bên trên các ADO.NET data provider cơ bản, EntityClient
không truy xuất trực tiếp dữ liệu mà thông qua các data provider khác dựa vào các
thông tin dữ liệu từ Entity Data Model.
EntityClient cũng bao gồm các lớp giống như các ADO.NET data provider
khác và tên lớp được đặt với tiền tố Entity. Ví dụ bạn có thể tạo kết nối bằng
EntityConnection, tạo các câu truy vấn bằng EntityCommand và đọc kết quả bằng
EntityDataReader.
Một điểm khác biệt với các data provider khác là EntityClient sử dụng Entity
SQL để truy vấn dữ liệu. Các lệnh Entity SQL sẽ được chuyển thành một cấu trúc lệnh
dạng cây (command tree) và chuyển xuống cho các data provider khác.
2.3.6. Tầng EDM (Entity Data Model)
Entity Data Model (EDM) là mô hình dữ liệu được mô tả thông qua các ngôn
ngữ theo chuẩn XML. EDM được chia làm 3 lớp là: Conceptual, Mapping và Logical.
Mỗi lớp này được định nghĩa bởi ngôn ngữ riêng theo định dạng XML:
- Conceptual – Conceptual Schema Definition Language (CSDL): là ngôn ngữ
định nghĩa các entity, relationship, hàm trong tập tin với phần mở rộng .csdl. Có thể
tạo được các entity class (object layer).
- Mapping – Mapping specification language (MSL): định nghĩa các ánh xạ giữa
lớp conceptual và logical, nội dung này được lưu trong tập tin .msl.
- Logical – Store Schema Definition Language (SSDL): định nghĩa mô hình lưu
trữ của dữ liệu, lưu trữ trong tập tin .ssdl.
15
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Hì nh 4. Lưu đồ Entity Mapping Model
16
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
2.3.7. Cách sử dụng trong Entity Framework
Là thành phần trung gian giữa ứng dụng và database, Entity Data Model (EDM) giúp
tạo liên kết và mô tả giữa nguồn dữ liệu vật lý và các đối tượng bussiness (hay object layer)
trong ứng dụng. Dựa vào sự lựa chọn thành phần nào sẽ được tạo ra trước, một ứng dụng Entity
Framework (EF) có thể sử dụng 1 trong 3 cách tiếp cận: Database First, Model First và Code
First.
Các sơ đồ dưới đây minh hoạt mối quan hệ và thứ tự tạo ra giữa các thành phần dữ liệu
trong ứng dụng của Entity Framework. Phần Model tương ứng với tập tin .edmx, Code tương
Hì nh 5. Sơ đồ minh họa mối quan hệ các thành phần trong EF
ứng với tập tin .cs (hoặc .vb nếu bạn dùng VB.NET).
2.5. TỔNG QUAN VỀ SQL SERVER
Là một hệ quản trị cơ sở dữ liệu do Microsoft phát triển. SQL Server là một hệ
quản trị cơ sở dữ liệu quan hệ mạng máy tính hoạt động theo mô hình khách chủ cho
phép đồng thời cùng lúc có nhiều người dùng truy xuất đến dữ liệu, quản lý việc truy
nhập hợp lệ và các quyền hạn của từng người dùng trên mạng.
2.6. TỔNG QUAN VỀ NGÔN NGỮ GIAO DIỆN
2.6.1. HTML và CSHTML
HTML viết tắt của HyperText Markup Language (tạm dịch Ngôn ngữ Đánh dấu
Siêu văn bản) là ngôn ngữ đánh dấu được thiết kế để tạo nên các trang web với các
mẫu thông tin trình bày trên World Wide Web. Cùng với CSS và JavaScript, HTML
17
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
tạo thành bộ ba nền tảng kỹ thuật cho World Wide Web. Hiện nay, HTML đang được
phát triển tiếp với phiên bản HTML5 hứa hẹn mang lại diện mạo mới cho trang web.
Trong view của ASP.NET, sẽ sử dụng các thẻ HTML đồng thời có thể kết hợp
với các khối lệnh ngôn ngữ C# bằng cách khai báo @{…} hoặc @
một view template (file .cshtml).
2.6.2. Razor View Engine
2.6.2.1. Giới thiệu
Như chúng ta đã biết, từ phiên bản Asp.net MVC 3, Microsoft lựa chọn View
Engine mặc định là Razor View Engine, khi View được yêu cầu bởi Http Request thì
Razor View Engine thực hiện biên dịch trang View này.
Khi sử dụng Razor View Engine, lập trình viên không cần phải học một ngôn
ngữ lập trình mới, mà thay vào đó Razor cung cấp các mẫu nhằm kết hợp giữa cú pháp
của ngôn ngữ đánh dấu siêu văn bản (HTML) và ngôn ngữ lập trình như C#, VB ở nội
dung của các trang View. Với các lập trình viên đã quen với các ngôn ngữ C# hoặc
VB thì học và làm quen với Razor View Engine là rất đơn giản.
2.6.2.2. Cú pháp Razor
Để thông dịch các đoạn mã được viết bởi các ngôn ngữ như C#, VB trong các
trang View, Razor đưa ra những quy tắc nhằm để xác định các đoạn mã đó được biên
dịch ở phía Server (server-side code) và các đoạn mã đánh dấu (markup code) được
thực hiện biên dịch ở phía client (như javascript, css, html, …), Razor sử dụng ký tự @
nhằm phân biệt giữa server-side code và markup code.
Khi tạo ra các Razor view chúng ta cần chú ý như sau :
Sử dụng @{ code } để viết một khối mã lệnh
Để viết một biểu thức inline (Viết biểu thức Razor trực tiếp trong đoạn mã của
markup code, lập trình viên chỉ cần sử dụng @.
Sử dụng từ khóa var để khai báo biến
Sử dụng ; để kết thúc một câu lệnh
Với các Razor view sử dụng ngôn ngữ C#, các file có đuôi mở rộng là .cshtml
Với các Razor view sử dụng ngôn ngữ VB, các file có đuôi mở rộng là .vbhtml
18
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
2.6.2.2. Khối mã lệnh
Razor hỗ trợ lập trình viên viết các khối mã lệnh tại các View. Một khối mã lệnh
Raror là một phần của View, và nó được viết bằng các ngôn ngữ C# hoặc VB.
Cú pháp @{
}
code : là các đoạn mã code được viết bởi ngôn ngữ C# hoặc VB và được biên
Mô tả
Hì nh 6. Minh họa khối mã lệnh Razor View
dịch ở phía Server
CSS được viết tắc của cụm từ Cascading Style Sheets, hiểu đơn giản nó là tổng hợp
các chuỗi dạng text, mỗi câu lệnh của CSS dùng để định dạng một phần tử của HTML về
màu sắc, kích thước, font chữ...Nhờ có CSS mà giao diện của web, nội dung trên web trở
nên rõ ràng hơn, hấp dẫn hơn với người đọc.
2.6.3. CSS (Cascading Style Sheets)
19
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Hì nh 7. Vai trò CSS với Website
2.6.4. Bootstrap
Bootstrap hiện đang là Framwork hỗ trợ tốt nhất và phổ biến nhất trong việc
phát triễn các dự án về giao diện website cho cả thiết bị di động và máy tính bao gồm
HTML, CSS và Java script. Bootstrap phát triễn qua nhiều phiên bản, phiên bản mới
nhất lúc mình thực hiện tutorials là bản 3.3.2.
Bootstrap được sử dụng rộng rải bởi lợi ích to lớn mà nó mang lại như giao diện
website tương thích với các thiết bị smartphone, tablet và máy tính thông thường vì có
thể tự động co giản kích thước. Bootstrap được xây dựng với các module hỗ trợ sẵn
nên rất dễ dàng tìm hiểu, xây dựng giao diện một cách nhanh chóng…
2.6.5. JavaScript, JQuery và Ajax
2.6.5.1. JavaScript
- JavaScript (có phần mở rộng .js) là một ngôn ngữ lập trình dạng kịch bản dựa
trên đối tượng được phát triển từ các ý niệm nguyên mẫu. Ngôn ngữ được sử dụng
rộng rãi trên các trang web, nhưng cũng được dùng để tạo khả năng viết script sử dụng
đối tượng có sẵn trong các ứng dụng. Giống Java, JavaScript có cú pháp tương tự C,
nhưng gần giống với Self hơn Java. Hiện nay, có rất nhiều framework, libraries được
viết bằng ngôn ngữ JavaScript:
o jQuery: Một thư viện mạnh mẽ và thông dụng.
o AngularJS: Một thư viện xây dựng ứng dụng Single Page.
o NodeJS: Một thư viện được phát triển phía Server dùng để xây dựng ứng
dụng realtime.
o Firebase: Một nền tảng di động dùng lưu trữ dữ liệu theo thời gian thực.
20
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
2.6.5.2. JQuery
- jQuery là một thư viện kiểu mới của JavaScript, được tạo bởi John Resig vào
năm 2006 với một phương châm tuyệt vời: Write less, do more.
- jQuery làm đơn giản hóa việc truyền tải HTML, xử lý sự kiện, tạo hiệu ứng
động và tương tác Ajax. Với jQuery, khái niệm Rapid Web Development đã không
còn quá xa lạ.
- jQuery là một bộ công cụ tiện ích JavaScript làm đơn giản hóa các tác vụ đa
dạng với việc viết ít code hơn. Dưới đây liệt kê một số tính năng tối quan trọng được
hỗ trợ bởi jQuery:
o Thao tác DOM − jQuery giúp dễ dàng lựa chọn các phần tử DOM để
traverse một cách dễ dàng như sử dụng CSS, và chỉnh sửa nội dung của
chúng bởi sử dụng phương tiện Selector mã nguồn mở, mà được gọi là
Sizzle.
o Xử lý sự kiện − jQuery giúp tương tác với người dùng tốt hơn bằng việc xử
lý các sự kiện đa dạng mà không làm cho HTML code rối tung lên với các
Event Handler.
o Hỗ trợ AJAX − jQuery giúp bạn rất nhiều để phát triển một site giàu tính
năng và phản hồi tốt bởi sử dụng công nghệ AJAX.
o Hiệu ứng − jQuery đi kèm với rất nhiều các hiệu ứng đa dạng và đẹp mắt
mà bạn có thể sử dụng trong các Website của mình.
o Gọn nhẹ − jQuery là thư viện gọn nhẹ - nó chỉ có kích cỡ khoảng 19KB
(gzipped).
o Được hỗ trợ hầu hết bởi các trình duyệt hiện đại − jQuery được hỗ trợ
hầu hết bởi các trình duyệt hiện đại, và làm việc tốt trên IE 6.0+, FF 2.0+,
Safari 3.0+, Chrome và Opera 9.0+
o Cập nhật và hỗ trợ các công nghệ mới nhất − jQuery hỗ trợ CSS3
Selector và cú pháp XPath cơ bản.
2.6.5.3. Ajax
AJAX, là viết tắt của Asynchronous JavaScript and XML, (tạm dịch là JavaScript
và XML không đồng bộ), là một kỹ thuật mới để tạo các ứng dụng web giàu tính
21
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
tương tác, nhanh hơn và mượt mà hơn với sự giúp đỡ của XML, HTML, CSS và
JavaScript.
AJAX không phải là ngôn ngữ lập trình mới. Tên AJAX ở đây không có nghĩa là
bạn phải học XML trước khi cần học AJAX. Điều này là không cần thiết.
AJAX cho phép các trang web được cập nhật một cách không đồng bộ bằng cách
trao đổi các lượng dữ liệu nhỏ với Server. Tức là AJAX giúp cập nhật các phần nhỏ
trong trang mà không cần tải lại toàn bộ trang. Nếu đến đây bạn chưa hiểu thì các dòng
tiếp theo đây sẽ giúp bạn hiểu cách AJAX làm việc hơn.
2.6.6. Phương thức mã hóa dữ liệu MD5
Viết tắt của Message-Digest algorithm 5 (Giải thuật Tiêu hóa tin 5) là một hàm
băm mật mã học được diễn tả bằng một số hệ thập lục phân 32 ký tự, theo chuẩn RFC
1321, các chương trình MD5 thường được gọi là MD5Sum. Nó được dùng để tạo ra
một chuỗi 128 bit duy nhất từ một chuỗi dữ liệu nhập bất kỳ, và vì thế thường được
dùng để kiểm tra tính toàn vẹn dữ liệu của một tập tin.
2.7. VÀI NÉT VỀ THƯƠNG MẠI ĐIỆN TỬ B2C
2.7.1. Khái niệm
- Mô hình B2C (Business to Consumer) - còn gọi là mô hình bán lẻ trực tuyến là
mô hình thương mại điện tử diễn ra giữa doanh nghiệp và người tiêu dùng. Các công
ty, doanh nghiệp sẽ buôn bán, trao đổi hàng hóa và dịch vụ cho người tiêu dùng.
Doanh nghiệp ở đây có thể là nhà sản xuất, nhà phân phối hoặc đại lý.
- Đây là loại giao dịch quen thuộc và phổ biến nhất trong thương mại điện tử xuất
phát từ những nhu cầu mua bán hàng hóa qua mạng.
2.7.2. Phân loại mô hình B2C
Mô hình B2C được chia thành 2 loại là cửa hàng điện tử và siêu thị điện tử.
- Cửa hàng điện tử (e-store) là một trang web bán hàng hóa, dịch vụ thường được
sở hữu bởi các cá nhân, nhà sản xuất, nhà bán lẻ. Một website cửa hàng điện tử thường
chứa danh mục hàng hóa, dịch vụ; công cụ tìm kiếm; giỏ hàng; cổng thanh toán; dịch
vụ khách hàng...
- Siêu thị điện tử (e-mall) là một trang web chứa nhiều cửa hàng điện tử. Đặc
trưng của siêu thị điện tử là thường chứa danh bạ hàng hóa và danh mục các cửa hàng
điện tử.
22
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
2.7.3. Hoạt động của mô hình B2C
- Mô hình B2C được áp dụng trong các mô hình siêu thị điện tử và các website
bán lẻ. Khách hàng truy cập vào website, chọn những món hàng cho mình và cung
cấp thông tin cần thiết cho việc mua hàng, chọn hình thức thanh toán và hoàn thành
thao tác đặt hàng.
23
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
CHƯƠNG III: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
3.1. XÁC ĐỊNH ACTOR
3.1.1. Quản trị viên hệ thống
- Là thành viên có cấp độ cao nhất khi giao tiếp với hệ thống với toàn quyền thao
tác với hệ thống.
- Thêm thành viên người dùng thao tác với hệ thống, cấp quyền cho người dùng
thao tác với hệ thống phù hợp vai trò và nhiệm vụ của nhân viên, người dùng.
3.1.2. Giám đốc, kế toán, thư ký
- Có đầy đủ các quyền thao tác với hệ thống cũng giống như quản trị viên hệ
thống, nhưng ngoại trừ các quyền đặc thù riêng của quản trị viên trên hệ thống như
điều chỉnh giao diện, quản lý quản trị hệ thống,…
- Và dưới đây Giám đốc, Kế toán và Thư ký được gọi chung là Nhân sự công ty
3.1.3. Nhân viên kinh doanh (người dùng hệ thống)
- Tạo và quản lý sản phẩm, đơn hàng, đơn vận trên hệ thống
- Thêm mới, cập nhật thông tin khách hàng trên hệ thống
- Thêm mới, cập nhật thông tin nhà cung cấp, nhập hàng vào hệ thống
3.2. XÁC ĐỊNH USECASE
3.2.1. Quản trị viên hệ thống
- Thay đổi cấu trúc giao diện hệ thống
- Cấu hình xử lý các thông tin hệ thống
- Quản trị tài khoản quản trị viên hệ thống
- Quản trị tài khoản giám đốc, thư ký, kế toán
- Quản trị tài khoản nhân viên kinh doanh
3.2.2. Nhân sự công ty (Giám đốc, thư ký và kế toán)
- Quản trị tài khoản nhân viên kinh doanh
- Quản trị thông tin thống kê, báo cáo
- Quản trị nhập hàng
- Quản trị sản phẩm và cấu hình sản phẩm
- Quản trị hóa đơn
24
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
- Quản trị đối tác vận chuyển và vận đơn
- Quản trị tài khoản ngân hàng của nhân viên
- Quản trị thông tin khách hàng
- Quản trị thông tin khuyến mãi
3.2.3. Nhân viên kinh doanh
- Quản trị sản phẩm và cấu hình sản phẩm
- Quản trị thông tin khách hàng, tài khoản ngân hàng khách hàng
- Quản trị đơn hàng
- Quản trị nhập hàng
- Quản trị đối tác vận chuyển và vận đơn
3.3. MÔ HÌNH TƯƠNG TÁC NGƯỜI DÙNG VÀ HỆ THỐNG
Hì nh 8. Sơ đồ UseCase tổng thể
3.3.1. Sơ đồ tổng thể
3.3.2. Sơ đồ phân rã Actor
3.3.2.1. Actor Quản trị viên
- Quản trị cấu hình hiển thị hệ thống
25
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Hì nh 9. UseCase quản trị cấu hình hệ thống
Hì nh 10. UseCase quản trị nhân sự
- Quản trị tài khoản nhân sự công ty
3.3.2.2. Actor Nhân sự công ty
Hì nh 11. UseCase quản trị tài khoản người dùng
- Quản trị tài khoản người dùng (nhân viên kinh doanh)
26
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Hì nh 12. UseCase quản trị báo cáo thống kê
- Quản trị báo cáo thống kê
Hì nh 13. UseCase quản trị nhà cung cấp
- Quản trị nhà cung cấp
Hì nh 14. UseCase quản trị nhập hàng
- Quản trị nhập hàng
27
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Hì nh 15. UseCase quản trị khuyến mãi
- Quản trị khuyến mãi
Hì nh 16. UseCase quản trị sản phẩm và cấu hình
- Quản trị sản phẩm và cấu hình
28
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Hì nh 17. UseCase quản trị hóa đơn
- Quản trị hóa đơn
Hì nh 18. UseCase quản trị tài khoản ngân hàng
- Quản trị tài khoản ngân hàng
29
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Hì nh 19. UseCase quản trị đối tác vận chuyển
- Quản trị đối tác vận chuyển
Hì nh 20. UseCase quản trị vận đơn
- Quản trị vận đơn
3.3.2.3. Actor Nhân viên công ty
30
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Hì nh 21. UseCase quản trị nhập hàng của nhân viên
- Quản trị nhập hàng
Hì nh 22. UseCase quản trị sản phẩm và cấu hình của nhân viên
- Quản trị sản phẩm và cấu hình
31
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Hì nh 23. UseCase quản trị hóa đơn của nhân viên
- Quản trị hóa đơn
Hì nh 24. UseCase quản trị vận đơn của nhân viên
- Quản trị vận đơn
32
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Hì nh 25. UseCase quản trị tài khoản ngân hàng của nhân viên
- Quản trị tài khoản ngân hàng
3.3.3. Đặc tả các UseCase tổng quát
3.3.3.1. Đặc tả UseCase đăng nhập
Đăng nhập Tên Use case
Chức năng này thực hiện kiểm tra Mã Nhân viên và Mô tả Use case Mật khẩu đăng nhập của người dùng trong hệ thống.
Quản trị viên, Nhân sự công ty, nhân viên kinh doanh Tác nhân chính
1 Mức
Quản trị viên Người chịu trách nhiệm
Không có Tiền điều kiện
Tự động thoát khỏi hệ thống khi không sử dụng và Đảm bảo tối thiểu hiện thị đăng nhập lại
Vào trang chính của hệ thống tại màng hình Đảm bảo thành công Dashboard
Truy cập vào hệ thống (https://seller.mrtrananh.com) Kích hoạt
- Nhập mã nhân viên
- Nhập mật khẩu đăng nhập
- Gõ Enter hoặc Click Đăng nhập Chuổi sự kiện chính
- Hệ thống kiểm tra Mã nhân viên, mật khẩu
đăng nhập
Không có Ngoại lệ
Không có Điểm mở rộng
33
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Bả ng 5. Đặc tả UseCase đăng nhập
3.3.3.2. Đặc tả UseCase Cấu hình giao diện
Cấu hình giao diện Tên Use case
Một giao diện thường ngày thường giờ phải dụng đã
trở nên nhàm chán hoặc chưa mang tính tiện dụng cho Mô tả Use case người dùng, quản trị viên cần thay đổi các khối hiển
thị trên giao diện cho phù hợp.
Quản trị viên Tác nhân chính
1 Mức
Quản trị viên Người chịu trách nhiệm
Đăng nhập vào hệ thống Tiền điều kiện
Trở về giao diện hiện hành Đảm bảo tối thiểu
Giao diện điều chỉnh với các khối được hiển thị đúng Đảm bảo thành công theo nhu cầu hiển thị
Từ Menu của hệ thống lựa chọn mục Quản trị > Cấu Kích hoạt hình giao diện
- Vào chuyên mục Cấu hình giao diện
- Cấu hình khối giao diện
- Lựa chọn hiển thị các khối cần thiết Chuổi sự kiện chính
- Thay đổi vị trí hiển thị của khối hiển thị theo
nhu cầu sử dụng
Không có Ngoại lệ
Bả ng 6. Đặc tả UseCase Cấu hình giao diện
Không có Điểm mở rộng
3.3.3.3. Đặc tả UseCase Quản trị tài khoản nhân sự
Quản trị tài khoản nhân sự Tên Use case
Đối với một công ty việc thay đổi nhân sự, thay đổi vị
trí nhân sự là một điều tất yếu có thể xảy ra, chức năng Mô tả Use case
quản trị nhân sự với các thông tin nhân sự là cần thiết.
34
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Quản trị viên, Nhân sự công ty Tác nhân chính
1 Mức
Quản trị viên, Nhân sự công ty Người chịu trách nhiệm
Đăng nhập vào hệ thống Tiền điều kiện
Xóa nhân sự ra khỏi hệ thống Đảm bảo tối thiểu
Lưu trữ thông tin nhân sự mới, nhân sự sau khi cập Đảm bảo thành công nhật thông tin vào hệ thống
Từ Menu chức năng hệ thống lựa chọn chuyên mục
Người dùng > Thêm mới hoặc lựa chọn người dùng Kích hoạt
trong bảng Người dùng > Cập nhật
- Lựa chọn thêm người dùng
- Nhập thông tin người dùng
- Lựa chọn chức vụ người dùng là các chức vụ
1. Thêm mới nhân sự:
- Xác nhận thêm
thuộc nhân sự công ty tương ứng
- Chọn người dùng cần cập nhật
- Điền thông tin thay đổi
- Xác nhận cập nhật
2. Cập nhật thông tin Chuổi sự kiện chính
- Chọn người dùng cần xóa
- Xác nhận xóa
3. Xóa người dùng:
Nhân sự từng tạo các đơn hàng tại công ty thì không Ngoại lệ thể xóa mà thay vào đó là vô hiệu hóa người dùng.
Bả ng 7. UseCase Quản trị tài khoản nhân sự
Không có Điểm mở rộng
3.3.3.4. Đặc tả UseCase Quản trị tài khoản nhân viên kinh doanh
Quản trị tài khoản nhân viên kinh donah Tên Use case
35
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Đối với một công ty việc thay đổi hoặc thêm mới nhân
viên kinh doanh là một điều tất yếu có thể xảy ra, chức Mô tả Use case năng quản trị nhân viên kinh doanh với các thông tin
nhân viên kinh doanh là cần thiết.
Quản trị viên, Nhân sự công ty Tác nhân chính
1 Mức
Quản trị viên, Nhân sự công ty Người chịu trách nhiệm
Đăng nhập vào hệ thống Tiền điều kiện
Xóa nhân viên kinh doanh ra khỏi hệ thống Đảm bảo tối thiểu
Lưu trữ thông tin nhân viên kinh doanh mới mới, nhân
viên kinh doanh sau khi cập nhật thông tin vào hệ Đảm bảo thành công
thống
Từ Menu chức năng hệ thống lựa chọn chuyên mục
Người dùng > Thêm mới hoặc lựa chọn người dùng Kích hoạt
trong bảng Người dùng > Cập nhật
- Lựa chọn thêm người dùng
- Nhập thông tin người dùng
- Lựa chọn chức vụ người dùng là các chức vụ
1. Thêm mới nhân viên kinh doanh:
- Xác nhận thêm
thuộc nhân viên kinh doanh công ty tương ứng
- Chọn người dùng cần cập nhật
- Điền thông tin thay đổi
- Xác nhận cập nhật
Chuổi sự kiện chính 2. Cập nhật thông tin
- Chọn người dùng cần xóa
3. Xóa người dùng:
Nhân viên kinh doanh từng tạo các đơn hàng tại công
ty thì không thể xóa mà thay vào đó là vô hiệu hóa Ngoại lệ
người dùng.
36
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Bả ng 8. Đặc tả UseCase Quản trị tài khoản nhân viên kinh doanh
Không có Điểm mở rộng
3.3.3.5. Đặc tả UseCase Quản trị nhà cung cấp
Quản trị nhà cung cấp Tên Use case
Thông tin nhà cung cấp sản phẩm là quan trọng, góp
phần cho công tác sử dụng dữ liệu lâu dài sau những Mô tả Use case thao tác nhập hàng vào hệ thống và hỗ trợ công ty
trong công tác thống kê, kiểm toán được dễ dàng.
Nhân sự công ty Tác nhân chính
1 Mức
Quản trị viên, Nhân sự công ty Người chịu trách nhiệm
Đăng nhập vào hệ thống Tiền điều kiện
Xóa nhà cung cấp ra khỏi hệ thống Đảm bảo tối thiểu
Lưu trữ thông tin nhà cung cấp mới mới mới, nhà Đảm bảo thành công cung cấp sau khi cập nhật thông tin vào hệ thống
Từ Menu chức năng hệ thống lựa chọn chuyên mục
Nhà cung cấp > Thêm mới hoặc lựa chọn Nhà cung Kích hoạt
cấp trong bảng Nhà cung cấp > Cập nhật
- Lựa chọn thêm nhà cung cấp
- Nhập thông tin nhà cung cấp
- Xác nhận thêm
1. Thêm mới nhà cung cấp:
- Chọn nhà cung cấp cần cập nhật
- Điền thông tin thay đổi
- Xác nhận cập nhật
2. Cập nhật thông tin Chuổi sự kiện chính
- Chọn nhà cung cấp cần xóa
4. Xóa nhà cung cấp:
Nhà cung cấp đã từng cung cấp hàng thông qua nhập Ngoại lệ
37
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
hàng thì không thể xóa khỏi hệ thống.
Bả ng 9. Đặc tả UseCase Quản trị nhà cung cấp
Không có Điểm mở rộng
3.3.3.6. Đặc tả UseCase Quản trị nhập hàng
Quản trị nhập hàng Tên Use case
Thông qua thông tin nhập hàng vào hệ thống với số
lượng và đơn giá nhập qua từng đợt, giúp cho nhân sự Mô tả Use case công ty thuận lợi trong công tác thông kê hàng hóa,
kiểm tra số lượng tồn kho và báo cáo doanh thu
Nhân sự công ty, nhân viên kinh doanh Tác nhân chính
1 Mức
Quản trị viên, Nhân sự công ty, nhân viên kinh doanh Người chịu trách nhiệm
Đăng nhập vào hệ thống Tiền điều kiện
Tạo được đơn nhập hàng với nhiều sản phẩm lựa chọn Đảm bảo tối thiểu thuộc phạm vi cung cấp của nhà cung cấp
Lưu trữ thông tin nhập hàng vào hệ thống Đảm bảo thành công
- Lựa chọn nhà cung cấp
- Lựa chọn sản phẩm
- Nhập số lượng, đơn giá
Từ Menu chức năng hệ thống lựa chọn chuyên mục Kích hoạt Nhập hàng
- Nhập các thông tin khác: hạn thanh toán, đã
Chuổi sự kiện chính
- Xác nhập nhập hàng
thanh toán,…
Nhà cung cấp đã từng cung cấp hàng thông qua nhập Ngoại lệ hàng thì không thể xóa khỏi hệ thống.
Bả ng 10. Đặc tả UseCase Quản trị nhập hàng
In được phiếu nhập hoặc lưu trữ sang file PDF Điểm mở rộng
3.3.3.7. Đặc tả UseCase Quản trị khuyến mãi
38
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Quản trị khuyến mãi Tên Use case
Chức năng cho phép tạo mới chương trình khuyến mãi
và quản lý chương trình khuyến mãi hiện có một cách Mô tả Use case
hiệu quản nhất.
Nhân sự công ty Tác nhân chính
1 Mức
Quản trị viên, Nhân sự công ty Người chịu trách nhiệm
Đăng nhập vào hệ thống Tiền điều kiện
Tạo được mã khuyến mãi với các thông tin khuyến Đảm bảo tối thiểu mãi được thể hiện đầy đủ
Lưu trữ thông tin nhập hàng vào hệ thống Đảm bảo thành công
- Nhập mã khuyến mãi
- Kiểm tra tỉnh khả dụng
- Nhập thông tin hạn khuyến mãi
Từ Menu chức năng hệ thống lựa chọn chuyên mục Kích hoạt Khuyến mãi
- Nhập thông tin đối tượng áp dụng và các chính
Chuổi sự kiện chính
sách thụ hưởng khuyến mãi
Không có Ngoại lệ
Bả ng 11. Đặc tả UseCase Quản trị khuyến mãi
Không có Điểm mở rộng
3.3.3.8. Đặc tả UseCase Quản trị sản phẩm và các cấu hình
Quản trị sản phẩm và các cấu hình Tên Use case
Chức năng cho phép quản trị sản phẩm trong hệ thống
với các thông tin căn bản của sản phẩm và các thuộc
tính của sản phẩm, phục vụ cho nhu cầu nhập hàng và Mô tả Use case
xuất hóa đơn bán hàng nhanh chóng – hiệu quả với độ
chính xác cao.
Nhân sự công ty, nhân viên kinh doanh Tác nhân chính
39
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
1 Mức
Quản trị viên, Nhân sự công ty, nhân viên kinh doanh Người chịu trách nhiệm
Đăng nhập vào hệ thống Tiền điều kiện
Thêm mới được sản phẩm và cập nhật được thông tin
sản phẩm khi có thay đổi, đồng thời quản lý các thuộc Đảm bảo tối thiểu tính của sản phẩm như: kích thước, cân nặng, loại sản
phẩm và các đặc điểm khác.
Lưu trữ thông tin sản phẩm vào hệ thống Đảm bảo thành công
- Thêm thuộc tính Loại sản phẩm
- Thêm thuộc tính Nhóm sản phẩm
- Thêm thuộc tính quy cách đóng gói
- Nhập thông tin sản phẩm
Từ Menu chức năng hệ thống lựa chọn chuyên mục Kích hoạt Sản phẩm
- Lựa chọn các thuộc tính cho sản phẩm
- Nhập đơn giá sản phẩm
- Xác nhận thêm sản phẩm
Chuổi sự kiện chính
Không có Ngoại lệ
Bả ng 12. Đặc tả UseCase Quản trị sản phẩm và các cấu hình
Không có Điểm mở rộng
3.3.3.9. Đặc tả UseCase Quản trị hóa đơn
Quản trị hóa đơn Tên Use case
Chức năng cho phép tạo mới hóa đơn bán hàng với các
thông tin khách hàng, hàng hóa mua, số lượng mua và Mô tả Use case tổng thanh toán hóa đơn nhanh chóng, tiện lợi và
chính xác nhất.
Nhân sự công ty, nhân viên kinh doanh Tác nhân chính
1 Mức
Quản trị viên, Nhân sự công ty, nhân viên kinh doanh Người chịu trách nhiệm
40
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Đăng nhập vào hệ thống Tiền điều kiện
Thêm mới được hóa đơn bán hàng với danh sách hàng
hóa được liệt kê đúng theo nhu cầu mua hàng của Đảm bảo tối thiểu
khách hàng.
Lưu trữ thông tin hóa đơn chính xác theo yêu cầu Đảm bảo thành công
- Chọn khách hàng
- Chọn sản phẩm
- Điều chỉnh giá sản phẩm, số lượng đúng theo
Từ Menu chức năng hệ thống lựa chọn chuyên mục Kích hoạt Hóa đơn
- Nhập mã khuyến mãi nếu có
- Nhập mã vận đơn cho đơn hàng có vận chuyển
- Xác nhận tạo hóa đơn
nhu cầu của khách hàng Chuổi sự kiện chính
Không có Ngoại lệ
In hóa đơn hoặc lưu sang định dạng file PDF Điểm mở rộng
Bả ng 13. Đặc tả UseCase Quản trị hóa đơn
3.3.3.10. Đặc tả UseCase Quản trị vận đơn
Quản trị vận đơn Tên Use case
Chức năng cho phép tạo mới vận đơn cho đơn hàng có
vận chuyển với đầy đủ thông tin người nhận hàng,
kích thước vận hàng, khối lượng vận hàng và đơn giá Mô tả Use case vận hàng. Hỗ trợ tối ưu hóa hệ thống rút ngắn thời
gian ghi chép vận đơn gửi cho đối tác khai thác vận
chuyển.
Nhân sự công ty, nhân viên kinh doanh Tác nhân chính
1 Mức
Quản trị viên, Nhân sự công ty, nhân viên kinh doanh Người chịu trách nhiệm
Đăng nhập vào hệ thống Tiền điều kiện
41
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Thêm mới được vận đơn với đầy thủ thông tin người Đảm bảo tối thiểu nhận hàng cần thiết
Lưu trữ thông tin vận đơn, gửi thông tin đến đối tác Đảm bảo thành công vận chuyển
- Nhập thông tin vận đơn
- Chọn hoặc thêm mới người nhân hàng
- Nhập thông tin của vận hàng
Từ Menu chức năng hệ thống lựa chọn chuyên mục Kích hoạt Hóa đơn
- Xác nhận vận đơn
- Gửi vận đơn đến đối tác vận chuyển
Chuổi sự kiện chính
Không có Ngoại lệ
Bả ng 14. Đặc tả UseCase Quản trị vận đơn
In vận đơn hoặc lưu sang định dạng file PDF Điểm mở rộng
42
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Hì nh 26. Sơ đồ class tổng thể
3.4. SƠ ĐỒ CLASS
43
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
3.5. SƠ ĐỒ HOẠT ĐỘNG CÁC CHỨC NĂNG
Hì nh 27. Sơ đồ hoạt động đăng nhập vào hệ thống
3.5.1. Chức năng đăng nhập
44
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Hì nh 28. Sơ đồ hoạt động thêm nhân viên
3.5.2. Chức năng thêm người dùng
45
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Hì nh 29. Sơ đồ tuần tự thêm khách hàng
3.5.3. Chức năng thêm khách hàng
46
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Hì nh 30. Sơ đồ hoạt động thêm sản phẩm
3.5.4. Chức năng thêm sản phẩm
47
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Hì nh 31. Sơ đồ hoạt động thêm hóa đơn/đơn hàng
3.5.5. Chức năng thêm hóa đơn/đơn hàng
48
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
3.6. SƠ ĐỒ TUẦN TỰ CÁC CHỨC NĂNG
Hì nh 32. Sơ đồ tuần tự chức năng đăng nhập
3.6.1. Chức năng đăng nhập
Hì nh 33. Sơ đồ tuần tự thêm nhân viên
3.6.2. Chức năng thêm nhân viên
49
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Hì nh 34. Sơ đồ hoạt động thêm khách hàng
3.6.3. Thêm khách hàng
50
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Hì nh 35. Sơ đồ tuần tự thêm sản phẩm
3.6.4. Chức năng thêm sản phẩm
51
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Hì nh 36. Sơ đồ tuần tự thêm hóa đơn/ đơn hàng
3.6.5. Chức năng thêm hóa đơn/đơn hàng
52
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Hì nh 37. Mô hình dữ liệu hệ thống
3.7. MÔ HÌNH CƠ SỞ DỮ LIỆU
53
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
3.8. TỔ CHỨC BẢNG DỮ LIỆU
3.8.1. Bảng dữ liệu BƯU CỤC
STT Tên cột Kiểu dữ liệu Not Null Diễn giải
char(13) Not Null Mã bưu cục 1 MABC
TENBC nvarchar(256) Tên bưu cục 2
SODIENTHOAIBC char(13) Điện thoại 3
char(256) Website 4 WEBSITEBC
FAXBC char(13) Fax 5
EMAILBC char(256) Email 6
nvarchar(256) Địa chỉ 7 DIACHIBC
TINHTHANHBC nvarchar(128) Tỉnh/TP 8
nvarchar(128) Quận/ huyện 9 QUANHUYENBC
nvarchar(128) Xã/Phường 10 XAPHUONGBC
Bả ng 15. Bảng dữ liệu Bưu cục
text Ghi chú 11 GHICHUBC
3.8.2. Bảng dữ liệu CHI TIẾT HÓA ĐƠN
STT Tên cột Kiểu dữ liệu Not Null Diễn giải
char(12) Not Null Mã hóa đơn 1 MAHD
int Not Null Mã sản phẩm 2 MASP
money Đơn giá 3 DONGIASP
SOLUONG int Not Null Số lượng 4
TONGTIEN money Not Null Tổng tiền 5
Bả ng 16. Bảng dữ liệu Chi tiết hóa đơn
ntext Ghi chú 6 GHICHU
3.8.3. Bảng dữ liệu CHI TIẾT NHẬP
STT Tên cột Kiểu dữ liệu Not Null Diễn giải
int Not Null Mã phiếu nhập 1 MAPN
int Not Null Mã sản phẩm 2 MASP
54
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
money Đơn giá 3 DONGIASP
SOLUONGNHAP int Not Null Số lượng 4
money Not Null Đơn giá nhập 5 DONGIANHAP
Bả ng 17. Bảng dữ liệu chi tiết nhập hàng
THANHTIENNHAP money Thành tiền 6
3.8.4. Bảng dữ liệu CHỨC VỤ VỊ TRÍ
STT Tên cột Kiểu dữ liệu Not Null Diễn giải
int Not Null Mã chức vụ 1 MACV
TENCV nvarchar(128) Tên chức vụ 2
Bả ng 18. Bảng dữ liệu Chức vụ vị trí
nvarchar(512) Diễn giải 3 DIENGIAICV
3.8.5. Bảng dữ liệu ĐƠN VỊ TÍNH
STT Tên cột Kiểu dữ liệu Not Null Diễn giải
1 MACV int Not Null Mã chức vụ
TENCV nvarchar(128) Tên chức vụ 2
Bả ng 19. Bảng dữ liệu Đơn vị tính
nvarchar(512) Diễn giải 3 DIENGIAICV
3.8.6. Bảng dữ liệu HÓA ĐƠN
STT Tên cột Kiểu dữ liệu Not Null Diễn giải
char(12) Not Null Mã hóa đơn 1 MAHD
char(18) Mã vận đơn 2 MAVD
char(8) Mã khuyến 3 MAKM
mãi
char(8) Not Null Mã nhân viên 4 MANV
int Not Null Mã khách 5 MAKH
hàng
THOIGIANXUATHD datetime Not Null Thời gian 6
xuất hóa đơn
55
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
int Not Null Hình thức 7 HINHTHUCTHANHTOANHD
thanh toán
TONGTIENHANGHD money Not Null Tổng tiền 8
hàng
THUEHD int Thuế giá tị 9
gia tăng
money Not Null Tổng thanh 10 TONGTHANHTOANHD
toán
bit Not Null vận Có 11 SHIPHANGHD
chuyển
money Phí vận 12 PHISHIPHD
chuyển
bit Not Null Đã thanh 13 DATHANHTOANHD
toán
ntext Ghi chú 14 GHICHU
Bả ng 20. Bảng dữ liệu Hóa đơn
bit Not Null Đã giao hàng 15 DAGIAOHANGHD
3.8.7. Bảng dữ liệu KHÁCH HÀNG
STT Tên cột Kiểu dữ liệu Not Null Diễn giải
1 MAKH int Not Null Mã
khách
hàng
TOCHUCKH bit Tổ chức 2
TENKH nvarchar(256) Tên khách 3
hàng
char(10) Mã số 4 MASOTHUEKH
thuế
char(13) Not Null Điện thoại 5 DIENTHOAIKH
FAXKH char(13) Fax 6
56
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
EMAILKH char(256) Email 7
ZALOKH char(13) Zalo 8
FACEBOOKKH char(256) Facebook 9
nvarchar(128) Địa chỉ 10 DIACHIKH
nvarchar(128) Tỉnh 11 TINHTHANHKH
thành
nvarchar(128) Quận 12 QUANHUYENKH
huyện
nvarchar(128) Xã 13 XAPHUONGKH
phường
nvarchar(64) Quốc gia 14 QUOCGIAKH
char(6) Mã bưu 15 MABUUCHINHKH
chính
bigint Điểm 16 DIEMTHUONGKH
thưởng
Bả ng 21. Bảng dữ liệu Khách hàng
Ghi chú text 17 GHICHUKH
3.8.8. Bảng dữ liệu KHUYẾN MÃI
STT Tên cột Kiểu dữ liệu Not Null Diễn giải
1 MAKM char(8) Not Null Mã khuyến mãi
TENKM nvarchar(256) Tên khuyến mãi 2
datetime Not Null Ngày bắt đầu 3 NGAYBATDAUKM
datetime Not Null Ngày kết thúc 4 NGAYKETTHUCKM
LOAIKM bit Not Null Loại khuyến mãi 5
decimal(18, 0) Not Null Giá trị khuyến 6 GIATRIKM
mãi
Not Null Giá trị đơn hàng 7 GIATRIDONHANGKM money
áp dụng
SOLANSUDUNGKM int Số lần sử dụng 8
57
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Bả ng 22. Bảng dữ liệu khuyến mãi
PHAMVIAPDUNGKM bit Phạm vi áp dụng 9
3.8.9. Bảng dữ liệu LOẠI SẢN PHẨM
STT Tên cột Kiểu dữ liệu Not Null Diễn giải
1 MALSP int Not Null Mã loại sản
phẩm
TENLSP nvarchar(256) Tên loại sản 2
phẩm
Diễn giải nvarchar(512) 3 DIENGIAILSP
Bả ng 23. Bảng dữ liệu Loại sản phẩm
char(1024) Ảnh minh họa 4 ANHMINHHOALSP
3.8.10. Bảng dữ liệu NHÀ CUNG CẤP
STT Tên cột Kiểu dữ liệu Not Null Diễn giải
1 MANCC int Not Null Mã nhà
cung cấp
TENNCC nvarchar(512) Tên nhà 2
cung cấp
nvarchar(256) Địa chỉ 3 DIACHINCC
nhà cung
cấp
TINHTHANHNCC nvarchar(256) Tỉnh 4
thành
nvarchar(256) Quận 5 QUANHUYENNCC
huyện
nvarchar(256) Xã 6 XAPHUONGNCC
phường
nvarchar(128) Quốc gia 7 QUOCGIANCC
nvarchar(12) Mã bưu 8 MABUUCHINHNCC
chính
58
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Not Null Điện thoại char(13) 9 DIENTHOAINCC
char(13) Fax 10 FAXNCC
char(128) Email 11 EMAILNCC
char(128) Website 12 WEBSITENCC
nvarchar(256) Người 13 NGUOILIENHENCC
liên hệ
char(13) Số điện 14 SDTNGUOILIENHENCC
thoại
người liên
Bả ng 24. Bảng dữ liệu Nhà cung cấp
hệ
3.8.11. Bảng dữ liệu NHÂN VIÊN
STT Tên cột Kiểu dữ liệu Not Null Diễn giải
1 MANV char(8) Not Null Mã nhân
viên
TENNV nvarchar(256) Tên nhân 2
viên
date Not Null Ngày sinh 3 NGAYSINHNV
nvarchar(256) Địa chỉ 4 DIACHINV
TINHTHANHNV nvarchar(256) Tỉnh 5
thành
nvarchar(256) Quận 6 QUANHUYENNV
huyện
nvarchar(256) Xã 7 XAPHUONGNV
phường
SODIENTHOAINV char(13) Not Null Số điện 8
thoại
BANGCAPNV nvarchar(256) Bằng cấp 9
char(13) Số chứng 10 SOCMTNV
59
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
minh
date Ngày cấp 11 NGAYCAPCMTNV
nvarchar(256) Nơi cấp 12 NOICAPCMTNV
char(32) Not Null Mật khẩu 13 MatkhauNV
char(512) Facebook 14 FACEBOOKNV
char(13) Zalo 15 ZALONV
char(128) Email 16 EMAILNV
Bả ng 25. Bảng cơ sở dữ liệu Nhân viên
char(1024) Hình ảnh 17 HINHANHNV
3.8.12. Bảng dữ liệu NHÓM
STT Tên cột Kiểu dữ liệu Not Null Diễn giải
1 MANSP int Not Null Mã nhóm sản
phẩm
TENNSP nvarchar(256) Not Null Tên nhóm sản 2
phẩm
Diễn giải nvarchar(512) 3 DIENGIAINSP
Bả ng 26. Bảng dữ liệu Nhóm sản phẩm
char(1024) Ảnh minh họa 4 ANHMINHHOANSP
3.8.13. Bảng dữ liệu NHÓM SẢN PHẨM
STT Tên cột Kiểu dữ liệu Not Null Diễn giải
int Not Null Mã sản phẩm 1 MASP
int Not Null Mã nhóm sản 2 MANSP
Bả ng 27. Bảng dữ liệu Sản phẩm thuộc nhóm
phẩm
3.8.14. Bảng dữ liệu PHIẾU NHẬP
STT Tên cột Kiểu dữ liệu Not Null Diễn giải
1 MAPN int Not Null Mã phiếu
nhập
60
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
int Not Null Mã nhà 2 MANCC
cung cấp
char(8) Not Null Mã nhân 3 MANV
viên
Ngày datetime Not Null 4 NGAYNHAPPN
nhập
TONGSOLUONGPN Not Null Số lượng int 5
nhập
TONGTIENPN Not Null Tổng tiền int 6
nhập
TONGMATHANGPN Not Null Tổng mặt int 7
hàng
Đã thanh bit 8 DATHANHTOANPN
toán
datetime Not Null Hẹn thanh 9 HENTHANHTOANPN
toán
Bả ng 28. Bảng dữ liệu phiếu nhập
Ghi chú text 10 GHICHUPN
3.8.15. Bảng dữ liệu QUY CÁCH ĐÓNG GÓI SẢN PHẨM
STT Tên cột Kiểu dữ liệu Not Null Diễn giải
Not Null Mã sản int 1 MASP
phẩm
Not Null Mã quy int 2 MAQC
Bả ng 29. Quy cách đóng gói sản phẩm
cách
3.8.16. Bảng dữ liệu QUY CÁCH
STT Tên cột Kiểu dữ liệu Not Null Diễn giải
1 MAQC int Not Null Mã quy
cách
61
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
nvarchar(512) Diễn giải 2 DIENGIAIQC
int SOLUONGQC Not Null Số lượng 3
int Not Null Giá trị 4 GIATRIQC
bit LOAIGITRIQC Loại giá 5
trị
Bả ng 30. Bảng dữ liệu Quy cách
3.8.17. Bảng dữ liệu SẢN PHẨM
STT Tên cột Kiểu dữ liệu Not Null Diễn giải
int Not Null Mã sản 1 MASP
phẩm
int Not Null Mã đơn vị 2 MADVT
tính
int Not Null Mã loại 3 MALSP
sản phẩm
Mã char(8) 4 MAKM
khuyến
mãi
TENSP nvarchar(256) Tên sản 5
phẩm
Khối float Not Null 6 KHOILUONGSP
lượng
float Dài 7 DAISP
float Rộng RONGSP 8
float Cao CAOSP 9
nvarchar(512) Nhà sản 10 NHASXSP
xuất
Nguồn nvarchar(256) 11 NGUONGOCSP
gốc
money Not Null Đơn giá 12 DONGIASP
62
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
int Tồn kho 13 TONKHO
ntext Giới thiệu 14 GIOITHIEUNGANSP
ntext Thông tin 15 THONGTINCHITIETSP
chi tiết
char(1024) Ảnh minh 16 ANHSP1
họa 1
char(1024) Ảnh minh 17 ANHSP2
họa 2
char(1024) Ảnh minh 18 ANHSP3
Bả ng 31. Bảng dữ liệu Sản phẩm
họa 3
3.8.18. Bảng dữ liệu TÀI KHOẢN NGÂN HÀNG
STT Tên cột Kiểu dữ liệu Not Null Diễn giải
1 MATKNH int Not Null Mã tài
khoản
TENNH nvarchar(512) Tên tài 2
khoản
CHINHANHNH nvarchar(256) Chi nhánh 3
TENCHUTAIKHOANNH nvarchar(128) Tên chủ 4
tài khoản
SOTAIKHOANNH char(15) Not Null Số tài 5
khoản
char(8) Mã nhân 6 MANV
viên
int Mã nhà 7 MANCC
cung cấp
int Mã khách 8 MAKH
Bả ng 32. Bảng dữ liệu Khách hàng
hàng
63
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
3.8.19. Bảng dữ liệu VẬN ĐƠN
STT Tên cột Kiểu dữ liệu Not Diễn
Null giải
1 MAVD char(18) Not Mã
Null vận
đơn
Mã hóa char(12) 2 MAHD
đơn
char(13) Not Mã 3 MABC
Null bưu
cục
char(24) Mã 4 MADIEUCHINHVD
điều
chỉnh
image Mã 5 MAVACHVD
vạch
TENNGUOINHANVD nvarchar(512) Tên 6
người
nhận
SDTNGUOINHANVD char(13) Not Số điện 7
Null thoại
người
nhận
nvarchar(128) Địa chỉ 8 DIACHINGUOINHANVD
người
nhận
TINHTHANHNGUOINHANVD nvarchar(128) Tỉnh 9
thành
nvarchar(128) Quận 10 QUANHUYENNGUOINHANVD
huyện
64
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
nvarchar(128) Xã 11 XAPHUONGNGUOINHANVD
phường
datetime Thời 12 THOIGIANGUIVD
gian
gửi
datetime Thời 13 THOIGIANNHANDUKIENVD
gian
nhận
dự kiến
Dài int 14 DAIVD
Rộng int 15 RONGVD
Cao int 16 CAOVD
Khối int 17 KHOILUONGVD
lượng
money Not Phí vận 18 PHIVANCHUYENVD
Null chuyên
Not Người 19 NGUOITHANHTOANPHIVANCHUYENVD bit
Null thanh
toán
money Phí thu 20 PHITHUHOVD
hộ
money Not Tổng 21 TONGTHANHTOANVD
Null thanh
toán
nvarchar(128) Not Trạng 22 TRANGTHAIVD
Null thái
Ghi ntext 23 GHICHU
Bả ng 33. Bảng dữ liệu Vận đơn
chú
3.8.20. Bảng dữ liệu TỈNH THÀNH PHỐ
65
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
STT Tên cột Kiểu dữ liệu Not Null Diễn
giải
1 MATTP char(5) Not Null Mã
tỉnh
thành
phố
TENTTP nvarchar(128) Not Null Tên 2
tỉnh
thành
phố
LOAITTP nvarchar(50) Not Null Loại 3
tỉnh
thành
Bả ng 34. Bảng dữ liệu Tỉnh Thành phố
phố
3.8.21. Bảng dữ liệu QUẬN HUYỆN
STT Tên cột Kiểu dữ liệu Not Null Diễn
giải
1 MAQH char(5) Not Null Mã
quận
huyện
TENQH nvarchar(128) Not Null Tên 2
Quận
huyện
LOAIQH nvarchar(50) Not Null Loại 3
Quận
huyện
TOADOQH char(64) Not Null Tọa độ 4
char(5) Not Null Mã 5 MATTP
tỉnh
66
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
thành
Bả ng 35. Bảng dữ liệu Quận huyện
phố
3.8.22. Bảng dữ liệu XÃ PHƯỜNG
STT Tên cột Kiểu dữ liệu Not Null Diễn
giải
1 MAXP char(5) Not Null Mã Xã/
Phường
TENXP nvarchar(128) Not Null Tên Xã/ 2
phường
LOAIXP nvarchar(50) Not Null Loại 3
Xã/
Phường
TOADOXP char(64) Not Null Tọa độ 4
char(5) Not Null Mã 5 MAQH
Quận/
Bả ng 36. Bảng dữ liệu Xã phường
Huyện
3.9. PHÂN TÍCH MỐI QUAN HỆ DỮ LIỆU GIỮA CÁC THỰC THỂ
Sơ đồ thể hiện mối quan hệ ST Tên mối quan hệ T Diễn giải
LOẠI SẢN PHẢM - Một Loại sản phẩm có thể không có hoặc có
1 và nhiều sản phẩm
SẢN PHẨM - Một Sản phẩm chỉ thuộc một và chỉ một loại
sản phẩm
67
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
NHÓM SẢN - Một nhóm sản phẩm có thể không có hoặc có PHẢM 2 nhiều sản phẩm và - Một sản phẩm có thể không thuộc hoặc thuộc SẢN PHẨM nhiều nhóm
ĐƠN VỊ TÍNH - Một đơn vị tính có thể không có hoặc có nhiều 3 và sản phẩm SẢN PHẨM - Một sản phẩm chỉ có một và chỉ một đơn vị tính
QUY CÁCH - Một quy cách không có hoặc có nhiều sản 4 và phẩm SẢN PHẨM - Một sản phẩm có thể không có hoặc có nhiều
quy cách đóng gói
KHUYẾN MÃI - Một khuyến mãi có thể không có hoặc có nhiều
5 và sản phẩm
SẢN PHẨM - Một sản phẩm chỉ có một và chỉ một khuyến
mãi
68
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
- Một phiếu nhập có một hoặc nhiều chi tiết nhập PHIẾU NHẬP - Một chi tiết nhập có chỉ một hoặc nhiều sản 6 và phẩm SẢN PHẨM - Một sản phẩm có thể không có hoặc có nhiều
chi tiết nhập
- Một chi tiết nhập có duy nhất một và chỉ một
phiếu nhập
HÓA ĐƠN - Một hóa đơn có thể không có hoặc có duy nhất
7 và chỉ một khuyến mãi
KHUYẾN MÃI - Một khuyến mãi có thể không có hoặc có nhiều
hóa đơn
- Một hóa đơn có một hoặc nhiều chi tiết hóa đơn HÓA ĐƠN
- Một chi tiết hóa đơn có một hoặc nhiều sẩn 8 và
phẩm SẢN PHẨM
- Một sản phẩm có thể không có hoặc có nhiều
chi tiết hóa đơn
- Một chi tiết hóa đơn chỉ duy nhất một hóa đơn
69
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
- Một hóa đơn có thể không có hoặc có nhiều vận HÓA ĐƠN
đơn 9 và
- Một vận đơn có thể không có hoặc có nhiều hóa VẬN ĐƠN
đơn
HÓA ĐƠN - Một hóa đơn chỉ thuộc một và chỉ một nhân 10 và viên NHÂN VIÊN - Một nhân viên có thể không có hoặc có nhiều
hóa đơn
HÓA ĐƠN - Một hóa đơn chỉ thuộc một và duy nhất một 11 và khách hàng KHÁCH HÀNG - Một khách hàng có thể không có hoặc có nhiều
hóa đơn
VẬN ĐƠN - Một vận đơn chỉ thuộc một và duy nhất một 12 và bưu cục BƯU CỤC - Một bưu cục có thể không có hoặc có nhiều vận
đơn
PHIẾU NHẬP - Một phiếu nhập chỉ thuộc một và chỉ một nhà 13 và cung cấp NHÀ CUNG CẤP - Một nhà cung cấp có thể không có hoặc có
nhiều phiếu nhập
70
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
PHIẾU NHẬP - Một phiếu nhập chỉ thuộc một và chỉ một nhân 14 và viên NHÂN VIÊN - Một nhân viên có thể không có hoặc có nhiều
phiếu nhập
CHỨC VỤ VỊ TRÍ
15 và
- Một chức vụ có thể không có hoặc có nhiều NHÂN VIÊN
nhân viên
- Một nhân viên có một hoặc nhiều chức vụ
TÀI KHOẢN
- Một nhân viên có thể không có hoặc có nhiều NGÂN HÀNG 16 tài khoản ngân hàng và
- Một tài khoản ngân hàng chỉ thuộc một và duy NHÂN VIÊN
nhất một nhân viên
TÀI KHOẢN
- Một khách hàng có thể không có hoặc có nhiều NGÂN HÀNG 17 tài khoản ngân hàng và
- Một tài khoản ngân hàng chỉ thuộc một và duy KHÁCH HÀNG
nhất một khách hàng
TÀI KHOẢN
- Một nhà cung cấp có thể không có hoặc có NGÂN HÀNG 18 nhiều tài khoản ngân hàng và
- Một tài khoản ngân hàng chỉ thuộc một và duy NHÀ CUNG CẤP
Bả ng 37. Bảng phân tích mối quan hệ dữ liệu các thực thể
nhất một nhà cung cấp
71
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
72
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
CHƯƠNG IV: DEMO VÀ TRIỂN KHAI HỆ THỐNG
4.1. GIỚI THIỆU TỔNG QUAN VỀ HẠ TẦNG DEMO
- Demo được cài đặt và vận hành trực tiếp tại tên miền
HTTPS://SELLER.MRTRANANH.COM
- Demo được cài đặt, vận hành trên Hosting Server Window và tích hợp kết nối
Microsoft SQL Server Version 12.0. Và có đăng ký chứng thực an toàn nội
dung mã hóa thông tin HTTPS.
4.2. GIAO DIỆN CHÍNH
Hì nh 38. Giao diện Dashboard
Giao diện chính của hệ thống (Dashboard) được hiển thị với đầy đủ các tính
năng sau khi quá trình đăng nhập vào hệ thống được diễn ra thành công.
4.3. CẤU TRÚC GIAO DIỆN:
73
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Trên máy tính
4.3.1.
Hì nh 39. Cấu trúc giao diện trên máy tính
Cấu trúc giao diện trên máy tính được chia ra thành 4 phần.
- Menu Site (1): Bao gồm toàn bộ Menu thể hiện các tính năng mà hệ thống đáp
ứng.
- Header Site (2): Bao gồm tên của xử lý hiện hành, khung tìm kiếm thông trong
site tương ứng dữ liệu với xử lý hiện hành.
- Body Site (3): Đây là phần thân cốt lõi của hệ thống, thể hiện toàn bộ thông tin
dữ kiện, nhập liệu và biểu diễn.
- Footer Site (4): Là phần dưới cùng của hệ thống, thông thường được dùng để
ghi nhận thông tin site, thông tin bản quyền, tác giả,…
74
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Trên điện thoại
4.3.2.
Cấu trúc giao diện trên điện thoại được thể hiện
vẫn đảm bảo đầy đủ như trên máy tính với 4 thành
phần:
- Menu Site (1): Bao gồm toàn bộ Menu thể hiện
các tính năng mà hệ thống đáp ứng.
- Header Site (2): Bao gồm tên của xử lý hiện
hành, khung tìm kiếm thông trong site tương ứng dữ
liệu với xử lý hiện hành.
- Body Site (3): Đây là phần thân cốt lõi của hệ
thống, thể hiện toàn bộ thông tin dữ kiện, nhập liệu và
biểu diễn.
- Footer Site (4): Là phần dưới cùng của hệ thống,
thông thường được dùng để ghi nhận thông tin site,
thông tin bản quyền, tác giả,… Hì nh 40. Cấu trúc giao diện trên điện thoại
4.4. GIAO DIỆN CHỨC NĂNG
Hì nh 41. Giao diện đăng nhập
5.1.1. Chức năng đăng nhập
75
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Lần đầu tiên thực hiện thao tác với hệ thống, View đăng nhập được hiển thị với
yêu cầu nhập [Mã nhân viên] và [Mật khẩu] để được truy cập vào hệ thống.
Nếu nhập sai thông tin, hệ thống sẽ phát thông báo “Đăng nhập thất bại, vui
lòng thử đăng nhập lại”. Và quá trình cứ được lặp lại cho đến khi được nhập đúng để
truy cập vào hệ thống hoặc người dùng chủ động thoát khỏi hệ thống.
Chức năng quản trị Hóa đơn
4.4.1.
Hì nh 42. Lựa chọn quản trị hóa đơn
Để quản trị hóa đơn người dùng có thể lựa chọn tại giao diện chính bằng cách
click chọn vào tổng đơn hàng hoặc lựa chọn Đơn hàng trên Menu Site bên tay phải của
hệ thống.
76
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Hì nh 43. Quản trị hóa đơn
Chuyên trang quản trị hóa đơn nhiều thông tin quan trọng được hiển thị bên
ngoài hệ thống quản trị hóa đơn. Tại đây người dùng có thể xem chi tiết thông tin hóa
đơn đã được tạo.
Để tìm nhanh một hóa đơn, người dùng có thể sử dụng thanh công cụ tìm kiếm
trên Header, hỗ trợ người dùng tìm kiếm theo tên khách hàng, mã khách hàng, mã hóa
đơn.
77
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Hì nh 44. Chi tiết hóa đơn
Chuyên trang chi tiết hóa đơn hiển thị đầy đủ thông tin của hóa đơn mà người
dung đã tạo trước đó. Tại đây người dùng có thể lựa chọn in hóa đơn để sao lưu hoặc
lưu file PDF khi cần thiết.
78
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Hì nh 45. Thêm mới hóa đơn
Chuyên trang thêm mới hóa đơn hỗ trợ người dùng thao tác thêm hóa đơn
nhanh chóng, chỉ với thao tác chọn khách hàng chọn mặc hàng cần mua, nhập số
lượng cần mua và xác nhận hóa đơn.
79
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
4.4.2. Chức năng quản trị Sản phẩm
Hì nh 46. Lựa chọn quản trị Sản phẩm
Để quản trị Sản phẩm người dùng có thể lựa chọn Sản Phẩm trên Menu Site bên
tay phải của hệ thống hoặc Click vào Thêm sản phẩm tại màng hình chính của hệ
thống để thêm nhanh sản phẩm mới.
80
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Hì nh 47. Quản trị sản phẩm
Chuyên trang quản trị sản phẩm đươc hiển thị tóm tắt các thông tin chính của
sản phẩm đủ đáp ứng cho chu cầu quản lý.
Bằng công cụ tìm kiếm trên Header, người dùng có thể tìm nhanh một sản
phẩm thông qua tên sản phẩm hoặc mã sản phẩm.
81
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Hì nh 48. Chi tiết sản phẩm
Chi tiết sản phẩm của một sản phẩm người dùng lựa chọn được hiển thị có cấu
trúc gõ gàng, thẩm mỹ đảm bảo ngay cả trên máy tính và thiết bị điện thoại.
82
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Hì nh 49. Quản lý loại sản phẩm
Danh sách loại sản phẩm được hiện thị với tên loại, diễn giải, ảnh minh họa và
số lượng sản phẩm thuộc loại sản phẩm.
Bằng thanh công cụ tìm kiếm trên Header, người dùng dễ dàng tìm nhanh một
loại sản phẩm theo tên hoặc theo mã loại sản phẩm.
83
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Hì nh 50. Quản lý đơn vị tính sản phẩm
Danh sách quản lý đơn vị tính sản phẩm được hiển thị trong cài đặt cấu hình sản
phẩm với thông tin: Tên đơn vị, số lượng sản phẩm thuộc đơn vị, diễn giải.
Bằng thành công cụ tìm kiếm trên Header, người dùng có thể tìm kiếm nhanh
Hì nh 51. Quản trị nhóm sản phẩm
đơn vị tính theo tên, mã đơn vị.
84
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Danh sách nhóm sản phẩm được hiển thị khi lựa chọn cấu hình nhóm sản phẩm
tại chức năng Quản trị Sản phẩm.
Bằng công cụ tìm kiếm trên Header người dùng hoàn toàn có thể tìm kiếm
nhanh một nhóm theo tên nhóm hoặc mã nhóm.
4.4.3. Chức năng quản trị Khách hàng
Hì nh 52. Lựa chọn quản trị Khách hàng
Để lựa chọn tính năng quản trị khách hàng, người dùng có thể chọn chuyên mục
khách hàng tại Menu bên trái của hệ thống hoặc chọn block Tổng khách hàng tại màng
hình nội dung Dashboard, đồng thời tại đây người dùng có thể thêm mới người dùng
bằng lựa chọn Thêm khách hàng.
85
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Hì nh 53. Quản trị Khách hàng
Kết quả của quá trình truy cập vào Quản trị khách hàng là nhận được danh sách
khách hàng với các thông tin căn bản được hiển thị tóm tắt.
Bằng thành công cụ tìm kiếm trực tiếp trên Header người dùng có thể tìm
Hì nh 54. Chi tiết thông tin Khách hàng
nhanh tên của khách hàng với tên khách hàng, số điện thoại,…
Chi tiết thông tin khách hàng được tổ thức hiển thị rõ ràng và đầy đủ thông tin
đúng như đăng ký.
86
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Hì nh 55. Quản lý Thêm khách hàng
Người dùng nhập thông tin khách hàng chưa có trong hệ thống và tiến hành xác
nhận thêm khách hàng.
4.4.4. Chức năng quản trị Nhà cung cấp
Hì nh 56. Quản trị Nhà cung cấp
Sau lực chọn chuyên mục quản lý nhà cung cấp, hệ thống hiển thị cho người
dùng danh sách các nhà cung cấp với các thông tin căn bản của nhà cung cấp.
87
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Hì nh 57. Chi tiết thông tin nhà cung cấp
Chi tiết thông tin nhà cung cấp được thể hiện đầy đủ như thông tin nhân viên đã
Hì nh 58. Thêm nhà cung cấp
được nhập vào hệ thống.
Thêm nhà cung cấp thật dễ dàng và nhanh chóng chỉ với một việc duy nhất là
điền thông tin và xác nhận gửi đi xử lý.
88
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
4.4.5. Chức năng quản trị Bưu cục
Hì nh 59. Lựa chọn quản trị Bưu cục
Để truy cập hệ thống quản lý bưu cục, người dùng thao tác chọn chức năng vận
Hì nh 60.Quản trị Bưu cục
chuyển trên thanh Menu bên trái của chương trình.
Sau khi thực hiện lựa chọn tính năng quản lý bưu cục, danh sách bưu cục tồn tại
trong hệ thống được hiển thị.
89
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Bằng công cụ tìm kiếm trên Header người dùng có thể tìm kiếm nhanh một bưu
Hì nh 61. Quản trị thêm bưu cục
cục thông qua tên, số điện thoại. số fax, hoặc địa chỉ của người nhận.
Để thêm một bưu cục, người dùng chỉ cần đơn giản là nhập đầy đủ thông tin
của bưu cục vào biểu mẫu và thực hiện thêm bưu cục.
90
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
4.4.6. Chức năng quản trị Vận đơn
Hì nh 62. Lựa chọn quản trị Vận đơn
Để sử dụng tính năng quản trị vận đơn, người dùng lựa chọn trên hệ
Hì nh 63. Quản trị Vận đơn
thống tại Menu trái chức năng vận chuyển.
91
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
Hệ thống hiển thị toàn bộ các vận đơn đã được tạo thành công trên hệ thống. Bằng
công cụ tìm kiếm trên Header hỗ trợ tìm kiếm vận đơn theo: mã vận đơn, mã khách
Hì nh 64. Tạo mới vận đơn
hàng, mã hóa đơn, …
Để tạo được vận đơn, người dùng hệ thống chỉ cần điền đầy đủ thông tin cần thiết vào
biểu mẫu và xác nhận tạo vận đơn.
92
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
CHƯƠNG V: KẾT LUẬN
5.2. KẾT QUẢ VÀ KINH NGHIỆM
5.2.1. Kết quả
- Đã xây dựng được hệ thống quản lý bán hàng với nền tảng ASP.NET MVC5
với đầy đủ các tính năng cần thiết.
- Ứng dụng công nghệ Bootstrap vào hệ thống, góp phần tăng tính tương thích về
cấu trúc giao diện cho nhiều kích thước màng hình khác nhau, từ điện thoại đến
máy tỉnh bảng và Laptop/PC.
- Ứng dụng được các công nghệ JavaScript, Json, Ajax,…
5.2.2. Kinh nghiệm
- Rèn luyện kỹ năng tự học và giải quyết vấn đề.
- Củng cố kiến thức về: lập trình web (HTML, CSS, JavaScript), ASP.NET C#,
LINQ, ADO.NET, Sql Server.
- Sử dụng thành thạo hơn các công cụ Microsoft Visual Studio 2015, Microsoft
SQL Server 2016, FileZilla, Adobe Illustrator CC
- Hiểu thêm về mã hóa mật khẩu bằng MD5.
5.3. HẠN CHẾ
- Kiến thức về MVC còn hạn chế
- Phương thức code và tổ chức code chưa được tối ưu
- Thời gian thực hiện còn hạn chế
- Đây là công nghệ khá mới nên chưa có nhiều tài liệu nghiên, diễn đàn hỗ trợ
5.4. HƯỚNG PHÁT TRIỂN
- Tích hợp vào hệ thống các API của các đối tác vận chuyển để Vận đơn được tạo
tự động
- Nâng cao tốc độ thực thi và hiệu suất của hệ thống.
- Nâng cao tính năng bảo mật của hệ thống.
- Nâng cấp hệ thống tự tính phí vận chuyển trên toàn nước
- Nâng cấp và phát triển một trang tích hợp bán hàng trực tuyến đồng bộ với hệ
thống quản lý bán hàng.
93
Sinh viên thực hiện: Trần Lam Anh – 13D480201016
Luận án tốt nghiệp: Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5
TÀI LIỆU THAM KHẢO
Tiếng Việt
[1] Phạm Nguyễn Cương – Nguyễn Trần Minh Thư – Hồ Bảo Quốc,
Giáo trình phân tích thiết kế hệ thống thông tin theo hướng đối tượng.
Nhà xuất bản Khoa học và Kỹ thuật, Hà Nội, 2016.
[2] Nguyễn Văn Vy, Giáo trình phân tích thiết kế các hệ thống thông tin.
Nhà xuất bản Giáo dục Việt Nam, 2010.
[3] Đậu Quang Tuấn, Giáo trình lập trình hướng đối tượng và lập trình cơ
sở dữ liệu với C#. Nhà xuất bạn Giao Thông Vận Tải, 2006
[4] Technology Education, “Khóa học lập trình ASP.NET MVC”.
https://goo.gl/fynVqn
[5] Đào Hải Nam (21/7/2013), “Bắt đầu với mô hình ASP.NET MVC5”
https://goo.gl/mC8WO1
[6] Lập trình ASP.NET MVC.
https://goo.gl/W90Ooh
Tiếng Anh
[1] Adam Freeman, Pro ASP.NET MVC 5. Published by Apress, 2013
[2] Jose Guay Paz, Beginning ASP.NET MVC5. Published by Apress, 2014
[3] Join the Stack Overflow Community
http://stackoverflow.com/
[4] Learn about ASP.NET MVC
http://www.asp.net/mvc/overview/getting-started
94
Sinh viên thực hiện: Trần Lam Anh – 13D480201016