Luận văn Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5

pdf 111 trang thiennha21 14/04/2022 3800
Bạn đang xem 20 trang mẫu của tài liệu "Luận văn 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 tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfxay_dung_he_thong_quan_ly_ban_hang_tren_nen_tang_asp_net_mvc.pdf

Nội dung text: Luận văn Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5

  1. 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 Sinh viên thực hiện Cán bộ hướng dẫn Họ và tên: Trần Lam Anh ThS. Quách Luyl Đa Mã số sinh viên: 13D480201016 Cần Thơ, 2017
  2. 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 Sinh viên thực hiện Cán bộ hướng dẫn Họ và tên: Trần Lam Anh ThS. Quách Luyl Đa 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:
  3. BỘ GIÁO DỤC VÀ ĐÀO TẠO CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC TÂY ĐÔ Độ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 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 Họ tên Giảng viên Phản biện Giảng viên hướng dẫn Phản biệ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
  4. 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 Sinh viên thực hiện: Trần Lam Anh – 13D480201016 i
  5. 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. Sinh viên thực hiện: Trần Lam Anh – 13D480201016 ii
  6. 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. Sinh viên thực hiện: Trần Lam Anh – 13D480201016 iii
  7. 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, structor JSON, Bootstrap, HTML5. Our approach to development are: find 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. Sinh viên thực hiện: Trần Lam Anh – 13D480201016 iv
  8. 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 Sinh viên thực hiện: Trần Lam Anh – 13D480201016 v
  9. 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 Sinh viên thực hiện: Trần Lam Anh – 13D480201016 vi
  10. 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 Sinh viên thực hiện: Trần Lam Anh – 13D480201016 vii
  11. 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 Sinh viên thực hiện: Trần Lam Anh – 13D480201016 viii
  12. 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 Sinh viên thực hiện: Trần Lam Anh – 13D480201016 ix
  13. 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 Sinh viên thực hiện: Trần Lam Anh – 13D480201016 x
  14. 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 Sinh viên thực hiện: Trần Lam Anh – 13D480201016 xi
  15. 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 Sinh viên thực hiện: Trần Lam Anh – 13D480201016 xii
  16. 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 Sinh viên thực hiện: Trần Lam Anh – 13D480201016 xiii
  17. 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 MVC Mô hình Models – Controller - View JS Java Script MS Microsoft LinQ Language Integrated Query CSS Cascading Style Sheets URL Uniform Resource Locator WAPP Web Aplication API Application Programming Interface EF Entity Framework DBMS Database Management System EDM Entity Data Model Sinh viên thực hiện: Trần Lam Anh – 13D480201016 xiv
  18. 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 Sinh viên thực hiện: Trần Lam Anh – 13D480201016 1
  19. 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 Sinh viên thực hiện: Trần Lam Anh – 13D480201016 2
  20. 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, Sinh viên thực hiện: Trần Lam Anh – 13D480201016 3
  21. 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 tạo vận đơn trên các trang đơn vị. Hì nh 1. Logo hệ thống Sinh viên thực hiện: Trần Lam Anh – 13D480201016 4
  22. 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 2008 ASP.NET MVC 1.0 2008 ASP.NET MVC 2.0 (.NET 3.5) 1/2010 ASP.NET MVC 3.0 (.Net 4) 15/8/2012 ASP.NET MVC 4.0 (.Net 4.5) 17/10/2013 ASP.NET MVC 5.0 (.Net 5.0) Bảng 1. Lịch sử các phiên bản MVC. 2.1.2. Sự khác nhau giữa MVC và webform MVC Webform Thành ASP.net MVC chia ra làm 3 phần: ASP.net WebForm sử dụng Sinh viên thực hiện: Trần Lam Anh – 13D480201016 5
  23. 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 phần – Models ViewState để quản lý Các – 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. Việc Với ASP.net WebForm đều kiểm Đối với MVC thì việc đó có thể sử phải chạy tất cả các tiến tra dụng các unit test có thể thẩm định rất trình của ASP.net, và sự thay (test), dễ dàng các Controllers thực hiện như đổi ID của bất kỳ Controls gỡ lỗi thế nào. nào cũng ảnh hưởng đến ứng (debug) dụng. Bả ng 2. Sự khác nhau giữa MVC và Webform 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. Sinh viên thực hiện: Trần Lam Anh – 13D480201016 6
  24. 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, xử lý một hoặc nhiều Model, sau đó gửi Model tới View để View hiển thị. Hì nh 2. Mô hình MVC 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, Sinh viên thực hiện: Trần Lam Anh – 13D480201016 7
  25. 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 Sinh viên thực hiện: Trần Lam Anh – 13D480201016 8
  26. 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 Sinh viên thực hiện: Trần Lam Anh – 13D480201016 9
  27. 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 , )  Những lý do để sử dụng Bootstrap: - Đượ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ự 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. Sinh viên thực hiện: Trần Lam Anh – 13D480201016 10
  28. 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 quá nhiều CSS. - 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 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ã nguồn của nó để thay đổi theo ý thích của bản thân. - Do có sử dụng Grid System nên Bootstrap mặc định hỗ trợ Responsive. 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 biệt cho mobile. - Đội ngũ phát triển Bootstrap đã bổ sung thêm tính năng Customizer. Giúp cho 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ả No Authentication Ứng dụng không hỗ trợ security Individual User Accounts Ứng dụng sử dụng tài khoản được quản lý bởi SQL Server hoặc từ gmail, facebook Organizational Accounts Ứng dụng sử dụng tài khoản được quản lý bởi Active Directory hoặc Windows Azure Directory Windown Authentication Ứng dụng chạy trên intranet tức sử dụng tài khoản windows để đăng nhập Bả ng 3. Các loại security trong MVC5 Sinh viên thực hiện: Trần Lam Anh – 13D480201016 11
  29. 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: Sinh viên thực hiện: Trần Lam Anh – 13D480201016 12
  30. 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. Sinh viên thực hiện: Trần Lam Anh – 13D480201016 13
  31. 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 là một một tập hợp các entity. Mỗi đối tượng này tương ứ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 và EntityReference : là các đối tượng 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 Database ObjectContext Table, View EntityObject, ComplexObject Column Property Relationship EntityCollection , EntityReference Bả ng 4. Bảng ánh xạ tương đương giữa các đối tượng trong database và EF 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 Sinh viên thực hiện: Trần Lam Anh – 13D480201016 14
  32. 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. Sinh viên thực hiện: Trần Lam Anh – 13D480201016 15
  33. 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 Sinh viên thực hiện: Trần Lam Anh – 13D480201016 16
  34. 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 ứng với tập tin .cs (hoặc .vb nếu bạn dùng VB.NET). Hì nh 5. Sơ đồ minh họa mối quan hệ các thành phần trong EF 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 Sinh viên thực hiện: Trần Lam Anh – 13D480201016 17
  35. 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, se ̃ 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 @ để tạo ra 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 Sinh viên thực hiện: Trần Lam Anh – 13D480201016 18
  36. 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 @{ } Mô tả code : là các đoạn mã code được viết bởi ngôn ngữ C# hoặc VB và được biên dịch ở phía Server Hì nh 6. Minh họa khối mã lệnh Razor View 2.6.3. CSS (Cascading Style Sheets) 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. Sinh viên thực hiện: Trần Lam Anh – 13D480201016 19
  37. 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. Sinh viên thực hiện: Trần Lam Anh – 13D480201016 20
  38. 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 Sinh viên thực hiện: Trần Lam Anh – 13D480201016 21
  39. 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ử. Sinh viên thực hiện: Trần Lam Anh – 13D480201016 22
  40. 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. Sinh viên thực hiện: Trần Lam Anh – 13D480201016 23
  41. 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 Sinh viên thực hiện: Trần Lam Anh – 13D480201016 24
  42. 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 3.3.1. Sơ đồ tổng thể Hì nh 8. Sơ đồ UseCase 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 Sinh viên thực hiện: Trần Lam Anh – 13D480201016 25
  43. 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 - Quản trị tài khoản nhân sự công ty Hì nh 10. UseCase quản trị nhân sự 3.3.2.2. Actor Nhân sự công ty - Quản trị tài khoản người dùng (nhân viên kinh doanh) Hì nh 11. UseCase quản trị tài khoản người dùng Sinh viên thực hiện: Trần Lam Anh – 13D480201016 26
  44. 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ị báo cáo thống kê Hì nh 12. UseCase quản trị báo cáo thống kê - Quản trị nhà cung cấp Hì nh 13. UseCase quản trị nhà cung cấp - Quản trị nhập hàng Hì nh 14. UseCase quản trị nhập hàng Sinh viên thực hiện: Trần Lam Anh – 13D480201016 27
  45. 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 Hì nh 15. UseCase quản trị khuyến mãi - Quản trị sản phẩm và cấu hình Hì nh 16. UseCase quản trị sản phẩm và cấu hình Sinh viên thực hiện: Trần Lam Anh – 13D480201016 28
  46. 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ị hóa đơn Hì nh 17. UseCase quản trị hóa đơn - Quản trị tài khoản ngân hàng Hì nh 18. UseCase quản trị tài khoản ngân hàng Sinh viên thực hiện: Trần Lam Anh – 13D480201016 29
  47. 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 Hì nh 19. UseCase quản trị đối tác vận chuyển - Quản trị vận đơn Hì nh 20. UseCase quản trị vận đơn 3.3.2.3. Actor Nhân viên công ty Sinh viên thực hiện: Trần Lam Anh – 13D480201016 30
  48. 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ị nhập hàng Hì nh 21. UseCase quản trị nhập hàng của nhân viên - Quản trị sản phẩm và cấu hình Hì nh 22. UseCase quản trị sản phẩm và cấu hình của nhân viên Sinh viên thực hiện: Trần Lam Anh – 13D480201016 31
  49. 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ị hóa đơn Hì nh 23. UseCase quản trị hóa đơn của nhân viên - Quản trị vận đơn Hì nh 24. UseCase quản trị vận đơn của nhân viên Sinh viên thực hiện: Trần Lam Anh – 13D480201016 32
  50. 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ị tài khoản ngân hàng Hì nh 25. UseCase quản trị tài khoản ngân hàng của nhân viên 3.3.3. Đặc tả các UseCase tổng quát 3.3.3.1. Đặc tả UseCase đăng nhập Tên Use case Đăng nhập 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. Tác nhân chính Quản trị viên, Nhân sự công ty, nhân viên kinh doanh Mức 1 Người chịu trách nhiệm Quản trị viên Tiền điều kiện Không có 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 Kích hoạt Truy cập vào hệ thống ( - Nhập mã nhân viên - Nhập mật khẩu đăng nhập Chuổi sự kiện chính - Gõ Enter hoặc Click Đăng nhập - Hệ thống kiểm tra Mã nhân viên, mật khẩu đăng nhập Ngoại lệ Không có Điểm mở rộng Không có Sinh viên thực hiện: Trần Lam Anh – 13D480201016 33
  51. 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 Tên Use case Cấu hình giao diện 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. Tác nhân chính Quản trị viên Mức 1 Người chịu trách nhiệm Quản trị viên Tiền điều kiện Đăng nhập vào hệ thống Đảm bảo tối thiểu Trở về giao diện hiện hành 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 Chuổi sự kiện chính - Lựa chọn hiển thị các khối cần thiết - Thay đổi vị trí hiển thị của khối hiển thị theo nhu cầu sử dụng Ngoại lệ Không có Điểm mở rộng Không có Bả ng 6. Đặc tả UseCase Cấu hình giao diện 3.3.3.3. Đặc tả UseCase Quản trị tài khoản nhân sự Tên Use case Quản trị tài khoản nhân sự Đối với một công ty việc thay đổi nhân sự, thay đổi vị Mô tả Use case trí nhân sự là một điều tất yếu có thể xảy ra, chức năng quản trị nhân sự với các thông tin nhân sự là cần thiết. Sinh viên thực hiện: Trần Lam Anh – 13D480201016 34
  52. 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ác nhân chính Quản trị viên, Nhân sự công ty Mức 1 Người chịu trách nhiệm Quản trị viên, Nhân sự công ty Tiền điều kiện Đăng nhập vào hệ thống Đảm bảo tối thiểu Xóa nhân sự ra khỏi hệ thống 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 Kích hoạt Người dùng > Thêm mới hoặc lựa chọn người dùng trong bảng Người dùng > Cập nhật 1. Thêm mới nhân sự: - 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ụ thuộc nhân sự công ty tương ứng - Xác nhận thêm Chuổi sự kiện chính 2. Cập nhật thông tin - 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 3. Xóa người dùng: - Chọn người dùng cần xóa - Xác nhận xóa 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. Điểm mở rộng Không có Bả ng 7. UseCase Quản trị tài khoản nhân sự 3.3.3.4. Đặc tả UseCase Quản trị tài khoản nhân viên kinh doanh Tên Use case Quản trị tài khoản nhân viên kinh donah Sinh viên thực hiện: Trần Lam Anh – 13D480201016 35
  53. 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. Tác nhân chính Quản trị viên, Nhân sự công ty Mức 1 Người chịu trách nhiệm Quản trị viên, Nhân sự công ty Tiền điều kiện Đăng nhập vào hệ thống Đảm bảo tối thiểu Xóa nhân viên kinh doanh ra khỏi hệ thống Lưu trữ thông tin nhân viên kinh doanh mới mới, nhân Đảm bảo thành công viên kinh doanh 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 Kích hoạt Người dùng > Thêm mới hoặc lựa chọn người dùng trong bảng Người dùng > Cập nhật 1. Thêm mới nhân viên kinh doanh: - 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ụ thuộc nhân viên kinh doanh công ty tương ứng - Xác nhận thêm Chuổi sự kiện chính 2. Cập nhật thông tin - 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 3. Xóa người dùng: - Chọn người dùng cần xóa Nhân viên kinh doanh từng tạo các đơn hàng tại công Ngoại lệ ty thì không thể xóa mà thay vào đó là vô hiệu hóa người dùng. Sinh viên thực hiện: Trần Lam Anh – 13D480201016 36
  54. 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ểm mở rộng Không có Bả ng 8. Đặc tả UseCase Quản trị tài khoản nhân viên kinh doanh 3.3.3.5. Đặc tả UseCase Quản trị nhà cung cấp Tên Use case Quản trị nhà cung cấp 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. Tác nhân chính Nhân sự công ty Mức 1 Người chịu trách nhiệm Quản trị viên, Nhân sự công ty Tiền điều kiện Đăng nhập vào hệ thống Đảm bảo tối thiểu Xóa nhà cung cấp ra khỏi hệ thống 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 Kích hoạt Nhà cung cấp > Thêm mới hoặc lựa chọn Nhà cung cấp trong bảng Nhà cung cấp > Cập nhật 1. Thêm mới nhà cung cấp: - 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 2. Cập nhật thông tin Chuổi sự kiện chính - 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 4. Xóa nhà cung cấp: - Chọn nhà cung cấp cần xóa Ngoại lệ Nhà cung cấp đã từng cung cấp hàng thông qua nhập Sinh viên thực hiện: Trần Lam Anh – 13D480201016 37
  55. 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. Điểm mở rộng Không có Bả ng 9. Đặc tả UseCase Quản trị nhà cung cấp 3.3.3.6. Đặc tả UseCase Quản trị nhập hàng Tên Use case Quản trị nhập hàng 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 Tác nhân chính Nhân sự công ty, nhân viên kinh doanh Mức 1 Người chịu trách nhiệm Quản trị viên, Nhân sự công ty, nhân viên kinh doanh Tiền điều kiện Đăng nhập vào hệ thống 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 Đảm bảo thành công Lưu trữ thông tin nhập hàng vào hệ thống 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 - Lựa chọn nhà cung cấp - Lựa chọn sản phẩm - Nhập số lượng, đơn giá Chuổi sự kiện chính - Nhập các thông tin khác: hạn thanh toán, đã thanh toán, - Xác nhập nhập hàng 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. Điểm mở rộng In được phiếu nhập hoặc lưu trữ sang file PDF Bả ng 10. Đặc tả UseCase Quản trị nhập hàng 3.3.3.7. Đặc tả UseCase Quản trị khuyến mãi Sinh viên thực hiện: Trần Lam Anh – 13D480201016 38
  56. 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ên Use case Quản trị khuyến mãi Chức năng cho phép tạo mới chương trình khuyến mãi Mô tả Use case và quản lý chương trình khuyến mãi hiện có một cách hiệu quản nhất. Tác nhân chính Nhân sự công ty Mức 1 Người chịu trách nhiệm Quản trị viên, Nhân sự công ty Tiền điều kiện Đăng nhập vào hệ thống 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 đủ Đảm bảo thành công Lưu trữ thông tin nhập hàng vào hệ thống 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 mã khuyến mãi - Kiểm tra tỉnh khả dụng Chuổi sự kiện chính - Nhập thông tin hạn khuyến mãi - Nhập thông tin đối tượng áp dụng và các chính sách thụ hưởng khuyến mãi Ngoại lệ Không có Điểm mở rộng Không có Bả ng 11. Đặc tả UseCase Quản trị khuyến mãi 3.3.3.8. Đặc tả UseCase Quản trị sản phẩm và các cấu hình Tên Use case Quản trị sản phẩm và các cấu hình 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 Mô tả Use case tính của sản phẩm, phục vụ cho nhu cầu nhập hàng và xuất hóa đơn bán hàng nhanh chóng – hiệu quả với độ chính xác cao. Tác nhân chính Nhân sự công ty, nhân viên kinh doanh Sinh viên thực hiện: Trần Lam Anh – 13D480201016 39
  57. 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 1 Người chịu trách nhiệm Quản trị viên, Nhân sự công ty, nhân viên kinh doanh Tiền điều kiện Đăng nhập vào hệ thống 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. Đảm bảo thành công Lưu trữ thông tin sản phẩm vào hệ thống 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 - 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 Chuổi sự kiện chính - Nhập thông tin 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 Ngoại lệ Không có Điểm mở rộng Không có Bả ng 12. Đặc tả UseCase Quản trị sản phẩm và các cấu hình 3.3.3.9. Đặc tả UseCase Quản trị hóa đơn Tên Use case Quản trị hóa đơn 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. Tác nhân chính Nhân sự công ty, nhân viên kinh doanh Mức 1 Người chịu trách nhiệm Quản trị viên, Nhân sự công ty, nhân viên kinh doanh Sinh viên thực hiện: Trần Lam Anh – 13D480201016 40
  58. 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 Tiền điều kiện Đăng nhập vào hệ thống Thêm mới được hóa đơn bán hàng với danh sách hàng Đảm bảo tối thiểu hóa được liệt kê đúng theo nhu cầu mua hàng của khách hàng. Đảm bảo thành công Lưu trữ thông tin hóa đơn chính xác theo yêu cầu Từ Menu chức năng hệ thống lựa chọn chuyên mục Kích hoạt Hóa đơn - 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 Chuổi sự kiện chính nhu cầu của khách hàng - 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 Ngoại lệ Không có Điểm mở rộng In hóa đơn hoặc lưu sang định dạng file PDF 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 Tên Use case Quản trị vận đơn 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. Tác nhân chính Nhân sự công ty, nhân viên kinh doanh Mức 1 Người chịu trách nhiệm Quản trị viên, Nhân sự công ty, nhân viên kinh doanh Tiền điều kiện Đăng nhập vào hệ thống Sinh viên thực hiện: Trần Lam Anh – 13D480201016 41
  59. 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 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 thông tin vận đơn - Chọn hoặc thêm mới người nhân hàng Chuổi sự kiện chính - Nhập thông tin của vận hàng - Xác nhận vận đơn - Gửi vận đơn đến đối tác vận chuyển Ngoại lệ Không có Điểm mở rộng In vận đơn hoặc lưu sang định dạng file PDF Bả ng 14. Đặc tả UseCase Quản trị vận đơn Sinh viên thực hiện: Trần Lam Anh – 13D480201016 42
  60. 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.4. SƠ ĐỒ CLASS Hì nh 26. Sơ đồ class tổng thể Sinh viên thực hiện: Trần Lam Anh – 13D480201016 43
  61. 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 3.5.1. Chức năng đăng nhập Hì nh 27. Sơ đồ hoạt động đăng nhập vào hệ thống Sinh viên thực hiện: Trần Lam Anh – 13D480201016 44
  62. 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.2. Chức năng thêm người dùng Hì nh 28. Sơ đồ hoạt động thêm nhân viên Sinh viên thực hiện: Trần Lam Anh – 13D480201016 45
  63. 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.3. Chức năng thêm khách hàng Hì nh 29. Sơ đồ tuần tự thêm khách hàng Sinh viên thực hiện: Trần Lam Anh – 13D480201016 46
  64. 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.4. Chức năng thêm sản phẩm Hì nh 30. Sơ đồ hoạt động thêm sản phẩm Sinh viên thực hiện: Trần Lam Anh – 13D480201016 47
  65. 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.5. Chức năng thêm hóa đơn/đơn hàng Hì nh 31. Sơ đồ hoạt động thêm hóa đơn/đơn hàng Sinh viên thực hiện: Trần Lam Anh – 13D480201016 48
  66. 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 3.6.1. Chức năng đăng nhập Hì nh 32. Sơ đồ tuần tự chức năng đăng nhập 3.6.2. Chức năng thêm nhân viên Hì nh 33. Sơ đồ tuần tự thêm nhân viên Sinh viên thực hiện: Trần Lam Anh – 13D480201016 49
  67. 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.3. Thêm khách hàng Hì nh 34. Sơ đồ hoạt động thêm khách hàng Sinh viên thực hiện: Trần Lam Anh – 13D480201016 50
  68. 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.4. Chức năng thêm sản phẩm Hì nh 35. Sơ đồ tuần tự thêm sản phẩm Sinh viên thực hiện: Trần Lam Anh – 13D480201016 51
  69. 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.5. Chức năng thêm hóa đơn/đơn hàng Hì nh 36. Sơ đồ tuần tự thêm hóa đơn/ đơn hàng Sinh viên thực hiện: Trần Lam Anh – 13D480201016 52
  70. 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.7. MÔ HÌNH CƠ SỞ DỮ LIỆU NHACUNGCAP MANCC TENNCC DIACHINCC TINHTHANHNCC QUANHUYENNCC XAPHUONGNCC QUOCGIANCC CHUCVUVITRI MABUUCHINHNCC MACV DIENTHOAINCC TENCV FAXNCC DIENGIAICV EMAILNCC NHANVIEN WEBSITENCC MANV NGUOILIENHENCC TENNV SDTNGUOILIENHENCC PHIEUNHAP NGAYSINHNV MAPN DIACHINV MANCC TINHTHANHNV MANV QUANHUYENNV NGAYNHAPPN XAPHUONGNV TONGSOLUONGPN SODIENTHOAINV TONGTIENPN TAIKHOANNGANHANG BANGCAPNV MATKNH TONGMATHANGPN SOCMTNV TENNH DATHANHTOANPN NGAYCAPCMTNV CHINHANHNH HENTHANHTOANPN NOICAPCMTNV TENCHUTAIKHOANNH GHICHUPN MatkhauNV SOTAIKHOANNH FACEBOOKNV MANV ZALONV MANCC EMAILNV MAKH HINHANHNV KHACHHANG MACV MAKH TOCHUCKH CHITIETHOADON CHITIETNHAP MAHD TENKH MAPN MASP MASOTHUEKH MASP DONGIASP DIENTHOAIKH DONGIASP SOLUONG FAXKH SOLUONGNHAP TONGTIEN EMAILKH DONGIANHAP GHICHU ZALOKH THANHTIENNHAP KHUYENMAI FACEBOOKKH MAKM DIACHIKH TENKM TINHTHANHKH SANPHAM NGAYBATDAUKM QUANHUYENKH MASP NGAYKETTHUCKM XAPHUONGKH MADVT LOAIKM HOADON QUOCGIAKH MALSP GIATRIKM MAHD MABUUCHINHKH MAKM GIATRIDONHANGKM MAVD DIEMTHUONGKH TENSP SOLANSUDUNGKM MAKM GHICHUKH KHOILUONGSP PHAMVIAPDUNGKM MANV DAISP MAKH RONGSP THOIGIANXUATHD CAOSP HINHTHUCTHANHTOANHD VANDON NHASXSP MAVD TONGTIENHANGHD NGUONGOCSP MAHD THUEHD DONGIASP MABC TONGTHANHTOANHD TONKHO MADIEUCHINHVD SHIPHANGHD GIOITHIEUNGANSP MAVACHVD PHISHIPHD BUUCUC MABC THONGTINCHITIETSP TENNGUOINHANVD DATHANHTOANHD TENBC ANHSP1 SDTNGUOINHANVD GHICHU SODIENTHOAIBC ANHSP2 DIACHINGUOINHANVD DAGIAOHANGHD WEBSITEBC ANHSP3 TINHTHANHNGUOINHANVD QUYCACH FAXBC QUANHUYENNGUOINHANVD MAQC EMAILBC XAPHUONGNGUOINHANVD DIENGIAIQC DIACHIBC THOIGIANGUIVD SOLUONGQC TINHTHANHBC THOIGIANNHANDUKIENVD GIATRIQC QUANHUYENBC DAIVD LOAIGITRIQC NHOMSANPHAM XAPHUONGBC RONGVD MASP GHICHUBC LOAISANPHAM CAOVD MANSP MALSP KHOILUONGVD TENLSP PHIVANCHUYENVD DIENGIAILSP NGUOITHANHTOANPHIVANCH ANHMINHHOALSP PHITHUHOVD TONGTHANHTOANVD TRANGTHAIVD QCDONGGOISP NHOM MANSP GHICHU MASP TENNSP MAQC DIENGIAINSP ANHMINHHOANSP DONVITINH MADVT TENDVT DIENGIAIDVT XAPHUONG TINHTHANHPHO QUANHUYEN MAXP MATTP MAQH TENXP TENTTP TENQH LOAIXP LOAITTP LOAIQH TOADOXP TOADOQH MAQH MATTP Hì nh 37. Mô hình dữ liệu hệ thống Sinh viên thực hiện: Trần Lam Anh – 13D480201016 53
  71. 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 1 MABC char(13) Not Null Mã bưu cục 2 TENBC nvarchar(256) Tên bưu cục 3 SODIENTHOAIBC char(13) Điện thoại 4 WEBSITEBC char(256) Website 5 FAXBC char(13) Fax 6 EMAILBC char(256) Email 7 DIACHIBC nvarchar(256) Địa chỉ 8 TINHTHANHBC nvarchar(128) Tỉnh/TP 9 QUANHUYENBC nvarchar(128) Quận/ huyện 10 XAPHUONGBC nvarchar(128) Xã/Phường 11 GHICHUBC text Ghi chú Bả ng 15. Bảng dữ liệu Bưu cục 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 1 MAHD char(12) Not Null Mã hóa đơn 2 MASP int Not Null Mã sản phẩm 3 DONGIASP money Đơn giá 4 SOLUONG int Not Null Số lượng 5 TONGTIEN money Not Null Tổng tiền 6 GHICHU ntext Ghi chú Bả ng 16. Bảng dữ liệu Chi tiết hóa đơn 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 1 MAPN int Not Null Mã phiếu nhập 2 MASP int Not Null Mã sản phẩm Sinh viên thực hiện: Trần Lam Anh – 13D480201016 54
  72. 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 DONGIASP money Đơn giá 4 SOLUONGNHAP int Not Null Số lượng 5 DONGIANHAP money Not Null Đơn giá nhập 6 THANHTIENNHAP money Thành tiền Bả ng 17. Bảng dữ liệu chi tiết nhập hàng 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 1 MACV int Not Null Mã chức vụ 2 TENCV nvarchar(128) Tên chức vụ 3 DIENGIAICV nvarchar(512) Diễn giải Bả ng 18. Bảng dữ liệu Chức vụ vị trí 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ụ 2 TENCV nvarchar(128) Tên chức vụ 3 DIENGIAICV nvarchar(512) Diễn giải Bả ng 19. Bảng dữ liệu Đơn vị tính 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 1 MAHD char(12) Not Null Mã hóa đơn 2 MAVD char(18) Mã vận đơn 3 MAKM char(8) Mã khuyến mãi 4 MANV char(8) Not Null Mã nhân viên 5 MAKH int Not Null Mã khách hàng 6 THOIGIANXUATHD datetime Not Null Thời gian xuất hóa đơn Sinh viên thực hiện: Trần Lam Anh – 13D480201016 55
  73. 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 7 HINHTHUCTHANHTOANHD int Not Null Hình thức thanh toán 8 TONGTIENHANGHD money Not Null Tổng tiền hàng 9 THUEHD int Thuế giá tị gia tăng 10 TONGTHANHTOANHD money Not Null Tổng thanh toán 11 SHIPHANGHD bit Not Null Có vận chuyển 12 PHISHIPHD money Phí vận chuyển 13 DATHANHTOANHD bit Not Null Đã thanh toán 14 GHICHU ntext Ghi chú 15 DAGIAOHANGHD bit Not Null Đã giao hàng Bả ng 20. Bảng dữ liệu Hóa đơn 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 2 TOCHUCKH bit Tổ chức 3 TENKH nvarchar(256) Tên khách hàng 4 MASOTHUEKH char(10) Mã số thuế 5 DIENTHOAIKH char(13) Not Null Điện thoại 6 FAXKH char(13) Fax Sinh viên thực hiện: Trần Lam Anh – 13D480201016 56
  74. 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 7 EMAILKH char(256) Email 8 ZALOKH char(13) Zalo 9 FACEBOOKKH char(256) Facebook 10 DIACHIKH nvarchar(128) Địa chỉ 11 TINHTHANHKH nvarchar(128) Tỉnh thành 12 QUANHUYENKH nvarchar(128) Quận huyện 13 XAPHUONGKH nvarchar(128) Xã phường 14 QUOCGIAKH nvarchar(64) Quốc gia 15 MABUUCHINHKH char(6) Mã bưu chính 16 DIEMTHUONGKH bigint Điểm thưởng 17 GHICHUKH text Ghi chú Bả ng 21. Bảng dữ liệu Khách hàng 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 2 TENKM nvarchar(256) Tên khuyến mãi 3 NGAYBATDAUKM datetime Not Null Ngày bắt đầu 4 NGAYKETTHUCKM datetime Not Null Ngày kết thúc 5 LOAIKM bit Not Null Loại khuyến mãi 6 GIATRIKM decimal(18, 0) Not Null Giá trị khuyến mãi 7 GIATRIDONHANGKM money Not Null Giá trị đơn hàng áp dụng 8 SOLANSUDUNGKM int Số lần sử dụng Sinh viên thực hiện: Trần Lam Anh – 13D480201016 57
  75. 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 9 PHAMVIAPDUNGKM bit Phạm vi áp dụng Bả ng 22. Bảng dữ liệu khuyến mãi 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 2 TENLSP nvarchar(256) Tên loại sản phẩm 3 DIENGIAILSP nvarchar(512) Diễn giải 4 ANHMINHHOALSP char(1024) Ảnh minh họa Bả ng 23. Bảng dữ liệu Loại sản phẩm 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 2 TENNCC nvarchar(512) Tên nhà cung cấp 3 DIACHINCC nvarchar(256) Địa chỉ nhà cung cấp 4 TINHTHANHNCC nvarchar(256) Tỉnh thành 5 QUANHUYENNCC nvarchar(256) Quận huyện 6 XAPHUONGNCC nvarchar(256) Xã phường 7 QUOCGIANCC nvarchar(128) Quốc gia 8 MABUUCHINHNCC nvarchar(12) Mã bưu chính Sinh viên thực hiện: Trần Lam Anh – 13D480201016 58
  76. 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 9 DIENTHOAINCC char(13) Not Null Điện thoại 10 FAXNCC char(13) Fax 11 EMAILNCC char(128) Email 12 WEBSITENCC char(128) Website 13 NGUOILIENHENCC nvarchar(256) Người liên hệ 14 SDTNGUOILIENHENCC char(13) Số điện thoại người liên hệ Bả ng 24. Bảng dữ liệu Nhà cung cấp 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 2 TENNV nvarchar(256) Tên nhân viên 3 NGAYSINHNV date Not Null Ngày sinh 4 DIACHINV nvarchar(256) Địa chỉ 5 TINHTHANHNV nvarchar(256) Tỉnh thành 6 QUANHUYENNV nvarchar(256) Quận huyện 7 XAPHUONGNV nvarchar(256) Xã phường 8 SODIENTHOAINV char(13) Not Null Số điện thoại 9 BANGCAPNV nvarchar(256) Bằng cấp 10 SOCMTNV char(13) Số chứng Sinh viên thực hiện: Trần Lam Anh – 13D480201016 59
  77. 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 11 NGAYCAPCMTNV date Ngày cấp 12 NOICAPCMTNV nvarchar(256) Nơi cấp 13 MatkhauNV char(32) Not Null Mật khẩu 14 FACEBOOKNV char(512) Facebook 15 ZALONV char(13) Zalo 16 EMAILNV char(128) Email 17 HINHANHNV char(1024) Hình ảnh Bả ng 25. Bảng cơ sở dữ liệu Nhân viên 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 2 TENNSP nvarchar(256) Not Null Tên nhóm sản phẩm 3 DIENGIAINSP nvarchar(512) Diễn giải 4 ANHMINHHOANSP char(1024) Ảnh minh họa Bả ng 26. Bảng dữ liệu Nhóm sản phẩm 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 1 MASP int Not Null Mã sản phẩm 2 MANSP int Not Null Mã nhóm sản phẩm Bả ng 27. Bảng dữ liệu Sản phẩm thuộc nhó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 Sinh viên thực hiện: Trần Lam Anh – 13D480201016 60
  78. 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 MANCC int Not Null Mã nhà cung cấp 3 MANV char(8) Not Null Mã nhân viên 4 NGAYNHAPPN datetime Not Null Ngày nhập 5 TONGSOLUONGPN int Not Null Số lượng nhập 6 TONGTIENPN int Not Null Tổng tiền nhập 7 TONGMATHANGPN int Not Null Tổng mặt hàng 8 DATHANHTOANPN bit Đã thanh toán 9 HENTHANHTOANPN datetime Not Null Hẹn thanh toán 10 GHICHUPN text Ghi chú Bả ng 28. Bảng dữ liệu phiếu nhập 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 1 MASP int Not Null Mã sản phẩm 2 MAQC int Not Null Mã quy cách Bả ng 29. Quy cách đóng gói sản phẩm 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 Sinh viên thực hiện: Trần Lam Anh – 13D480201016 61
  79. 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 DIENGIAIQC nvarchar(512) Diễn giải 3 SOLUONGQC int Not Null Số lượng 4 GIATRIQC int Not Null Giá trị 5 LOAIGITRIQC bit Loại giá 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 1 MASP int Not Null Mã sản phẩm 2 MADVT int Not Null Mã đơn vị tính 3 MALSP int Not Null Mã loại sản phẩm 4 MAKM char(8) Mã khuyến mãi 5 TENSP nvarchar(256) Tên sản phẩm 6 KHOILUONGSP float Not Null Khối lượng 7 DAISP float Dài 8 RONGSP float Rộng 9 CAOSP float Cao 10 NHASXSP nvarchar(512) Nhà sản xuất 11 NGUONGOCSP nvarchar(256) Nguồn gốc 12 DONGIASP money Not Null Đơn giá Sinh viên thực hiện: Trần Lam Anh – 13D480201016 62
  80. 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 13 TONKHO int Tồn kho 14 GIOITHIEUNGANSP ntext Giới thiệu 15 THONGTINCHITIETSP ntext Thông tin chi tiết 16 ANHSP1 char(1024) Ảnh minh họa 1 17 ANHSP2 char(1024) Ảnh minh họa 2 18 ANHSP3 char(1024) Ảnh minh họa 3 Bả ng 31. Bảng dữ liệu Sản phẩm 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 2 TENNH nvarchar(512) Tên tài khoản 3 CHINHANHNH nvarchar(256) Chi nhánh 4 TENCHUTAIKHOANNH nvarchar(128) Tên chủ tài khoản 5 SOTAIKHOANNH char(15) Not Null Số tài khoản 6 MANV char(8) Mã nhân viên 7 MANCC int Mã nhà cung cấp 8 MAKH int Mã khách hàng Bả ng 32. Bảng dữ liệu Khách hàng Sinh viên thực hiện: Trần Lam Anh – 13D480201016 63
  81. 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 2 MAHD char(12) Mã hóa đơn 3 MABC char(13) Not Mã Null bưu cục 4 MADIEUCHINHVD char(24) Mã điều chỉnh 5 MAVACHVD image Mã vạch 6 TENNGUOINHANVD nvarchar(512) Tên người nhận 7 SDTNGUOINHANVD char(13) Not Số điện Null thoại người nhận 8 DIACHINGUOINHANVD nvarchar(128) Địa chỉ người nhận 9 TINHTHANHNGUOINHANVD nvarchar(128) Tỉnh thành 10 QUANHUYENNGUOINHANVD nvarchar(128) Quận huyện Sinh viên thực hiện: Trần Lam Anh – 13D480201016 64
  82. 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 11 XAPHUONGNGUOINHANVD nvarchar(128) Xã phường 12 THOIGIANGUIVD datetime Thời gian gửi 13 THOIGIANNHANDUKIENVD datetime Thời gian nhận dự kiến 14 DAIVD int Dài 15 RONGVD int Rộng 16 CAOVD int Cao 17 KHOILUONGVD int Khối lượng 18 PHIVANCHUYENVD money Not Phí vận Null chuyên 19 NGUOITHANHTOANPHIVANCHUYENVD bit Not Người Null thanh toán 20 PHITHUHOVD money Phí thu hộ 21 TONGTHANHTOANVD money Not Tổng Null thanh toán 22 TRANGTHAIVD nvarchar(128) Not Trạng Null thái 23 GHICHU ntext Ghi chú Bả ng 33. Bảng dữ liệu Vận đơn 3.8.20. Bảng dữ liệu TỈNH THÀNH PHỐ Sinh viên thực hiện: Trần Lam Anh – 13D480201016 65
  83. 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ố 2 TENTTP nvarchar(128) Not Null Tên tỉnh thành phố 3 LOAITTP nvarchar(50) Not Null Loại tỉnh thành phố Bả ng 34. Bảng dữ liệu Tỉnh Thành 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 2 TENQH nvarchar(128) Not Null Tên Quận huyện 3 LOAIQH nvarchar(50) Not Null Loại Quận huyện 4 TOADOQH char(64) Not Null Tọa độ 5 MATTP char(5) Not Null Mã tỉnh Sinh viên thực hiện: Trần Lam Anh – 13D480201016 66
  84. 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 phố Bả ng 35. Bảng dữ liệu Quận huyện 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 2 TENXP nvarchar(128) Not Null Tên Xã/ phường 3 LOAIXP nvarchar(50) Not Null Loại Xã/ Phường 4 TOADOXP char(64) Not Null Tọa độ 5 MAQH char(5) Not Null Mã Quận/ Huyện Bả ng 36. Bảng dữ liệu Xã phường 3.9. PHÂN TÍCH MỐI QUAN HỆ DỮ LIỆU GIỮA CÁC THỰC THỂ ST Sơ đồ thể hiện mối quan hệ 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 Sinh viên thực hiện: Trần Lam Anh – 13D480201016 67
  85. 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 Sinh viên thực hiện: Trần Lam Anh – 13D480201016 68
  86. 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 HÓA ĐƠN - Một hóa đơn có một hoặc nhiều chi tiết hóa đơn 8 và - Một chi tiết hóa đơn có một hoặc nhiều sẩn SẢN PHẨM 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 Sinh viên thực hiện: Trần Lam Anh – 13D480201016 69
  87. 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ÓA ĐƠN - Một hóa đơn có thể không có hoặc có nhiều vận 9 và đơn VẬN ĐƠN - Một vận đơ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à 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 Sinh viên thực hiện: Trần Lam Anh – 13D480201016 70
  88. 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à NHÂN VIÊN - Một chức vụ có thể không có hoặc có nhiều nhân viên - Một nhân viên có một hoặc nhiều chức vụ TÀI KHOẢN NGÂN HÀNG - Một nhân viên có thể không có hoặc có nhiều 16 và tài khoản ngân hàng NHÂN VIÊN - Một tài khoản ngân hàng chỉ thuộc một và duy nhất một nhân viên TÀI KHOẢN NGÂN HÀNG - Một khách hàng có thể không có hoặc có nhiều 17 và tài khoản ngân hàng KHÁCH HÀNG - Một tài khoản ngân hàng chỉ thuộc một và duy nhất một khách hàng TÀI KHOẢN NGÂN HÀNG - Một nhà cung cấp có thể không có hoặc có 18 và nhiều tài khoản ngân hàng NHÀ CUNG CẤP - Một tài khoản ngân hàng chỉ thuộc một và duy nhất một 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ể Sinh viên thực hiện: Trần Lam Anh – 13D480201016 71
  89. 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 Sinh viên thực hiện: Trần Lam Anh – 13D480201016 72
  90. 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 - 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: Sinh viên thực hiện: Trần Lam Anh – 13D480201016 73
  91. 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.3.1. 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. Hì nh 39. Cấu trúc giao diện trên máy tính - 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ả, Sinh viên thực hiện: Trần Lam Anh – 13D480201016 74
  92. 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.3.2. Trên điện thoại 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, Hình 40. Cấu trúc giao thông thường được dùng để ghi nhận thông tin site, diện trên điện thoại thông tin bản quyền, tác giả, 4.4. GIAO DIỆN CHỨC NĂNG 5.1.1. Chức năng đăng nhập Hì nh 41. Giao diện đăng nhập Sinh viên thực hiện: Trần Lam Anh – 13D480201016 75
  93. 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. 4.4.1. Chức năng quản trị Hóa đơn 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. Sinh viên thực hiện: Trần Lam Anh – 13D480201016 76
  94. 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. Sinh viên thực hiện: Trần Lam Anh – 13D480201016 77
  95. 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. Sinh viên thực hiện: Trần Lam Anh – 13D480201016 78
  96. 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. Sinh viên thực hiện: Trần Lam Anh – 13D480201016 79
  97. 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. Sinh viên thực hiện: Trần Lam Anh – 13D480201016 80
  98. 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. Sinh viên thực hiện: Trần Lam Anh – 13D480201016 81
  99. 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. Sinh viên thực hiện: Trần Lam Anh – 13D480201016 82
  100. 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. Sinh viên thực hiện: Trần Lam Anh – 13D480201016 83
  101. 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 đơn vị tính theo tên, mã đơn vị. Hì nh 51. Quản trị nhóm sản phẩm Sinh viên thực hiện: Trần Lam Anh – 13D480201016 84
  102. 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. Sinh viên thực hiện: Trần Lam Anh – 13D480201016 85
  103. 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 nhanh tên của khách hàng với tên khách hàng, số điện thoại, Hì nh 54. Chi tiết thông tin Khách hàng 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ý. Sinh viên thực hiện: Trần Lam Anh – 13D480201016 86
  104. 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. Sinh viên thực hiện: Trần Lam Anh – 13D480201016 87
  105. 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 đã được nhập vào hệ thống. Hì nh 58. Thêm nhà cung cấp 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ý. Sinh viên thực hiện: Trần Lam Anh – 13D480201016 88
  106. 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 chuyển trên thanh Menu bên trái của chương trình. Hì nh 60.Quản trị Bưu cục 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ị. Sinh viên thực hiện: Trần Lam Anh – 13D480201016 89
  107. 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 cục thông qua tên, số điện thoại. số fax, hoặc địa chỉ của người nhận. Hì nh 61. Quản trị thêm bưu cục Để 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. Sinh viên thực hiện: Trần Lam Anh – 13D480201016 90
  108. 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ệ thống tại Menu trái chức năng vận chuyển. Hì nh 63. Quản trị Vận đơn Sinh viên thực hiện: Trần Lam Anh – 13D480201016 91
  109. 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àng, mã hóa đơn, Hì nh 64. Tạo mới vận đơ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. Sinh viên thực hiện: Trần Lam Anh – 13D480201016 92
  110. 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. Sinh viên thực hiện: Trần Lam Anh – 13D480201016 93