TRƯỜNG ĐẠI HỌC TÂY ĐÔ KHOA KỸ THUẬT – CÔNG NGHỆ

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

XÂY DỰNG

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

TRÊN NỀN TẢNG ASP.NET MVC5

Cán bộ hướng dẫn ThS. Quách Luyl Đa

Sinh viên thực hiện Họ và tên: Trần Lam Anh Mã số sinh viên: 13D480201016

Cần Thơ, 2017

TRƯỜNG ĐẠI HỌC TÂY ĐÔ KHOA KỸ THUẬT – CÔNG NGHỆ

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

XÂY DỰNG HỆ THỐNG QUẢN LÝ BÁN HÀNG TRÊN NỀN TẢNG ASP.NET MVC5

Cán bộ hướng dẫn ThS. Quách Luyl Đa

Sinh viên thực hiện Họ và tên: Trần Lam Anh Mã số sinh viên: 13D480201016

Cán bộ phản biện ThS. Nguyễn Chí Cường Luận văn được bảo vệ tại: Hội đồng chấm luận văn tốt nghiệp Bộ môn Công nghệ thông tin - Khoa Kỹ Thuật Công Nghệ, Trường Đại học Tây Đô vào ngày 15 tháng 5 năm 2017.

Mã số đề tài: ……………..

Có thể tìm hiểu luận văn tại: • •

Thư viện: Trường Đại học Tây Đô. Website: http://www.tdu.edu.vn

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC TÂY ĐÔ ***

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh phúc

CHẤP NHẬN LUẬN VĂN ĐẠI HỌC CỦA HỘI ĐỒNG

____________________________ Họ tên Giảng viên Phản biện Phản biện

Luận văn đại học (tên luận văn) Xây dựng ứng dụng thống kê trực tuyến tình hình dịch bệnh trên lúa do sinh viên (tên) Phan Quốc Nghĩa, mã số sinh viên: 250734, thực hiện và báo cáo đã được chỉnh sửa theo góp ý và được Hội đồng chấm luận văn đại học thông qua. ____________________________ Họ tên Giảng viên hướng dẫn Giảng viên hướng dẫn

____________________________ Họ tên Thư ký Thư ký

Cần Thơ, ngày ….. tháng …… năm 20… _______________________________ Họ tên Chủ tịch Hội đồng Chủ tịch Hội đồng

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

LỜI CẢM ƠN

Em xin chân thành cả ơn Quý Thầy Cô khoa Kỹ Thuật – Công nghệ trường Đại

học Tây Đô đã tạo điều kiện cho em thực hiện đề tài khóa luận tốt nghiệp này.

Em xin chân thành cảm ơn Thầy Quách Luyl Đa đã tận tình hướng dẫn, giúp đỡ

em trong suốt quá trình thực hiện khóa luận tốt nghiệp này.

Chân thành cảm ơn Quý Thầy Cô khoa Kỹ thuật – Công nghệ, trường Đại học

Tây Đô, về những bài giảng trong suốt khóa học, về những kiến thức nền tảng cũng

như những kiến thức về chuyên ngành đã giúp cho em hoàn thành tốt đề tài.

Xin chân thành cám ơn các anh chị và bạn bè đã ủng hộ, giúp đỡ và động viên

em trong thời gian học tập và nghiên cứu.

Trong phạm vi khả năng cho phép, em đã rất cố gắng để hoàn thành đề tài một

cách tốt nhất. Song, chắc chắn sẽ không tránh khỏi những thiếu sót. Em kính mong

nhận được sự cảm thông và những ý kiến đóng góp của Quý Thầy Cô và các bạn.

Cần Thơ, ngày 15 tháng 5 năm 2017

Sinh viên thực hiện

Trần Lam Anh

i

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

LỜI MỞ ĐẦU

Bước sang thế kỉ 21, sự bùng nổ về công nghệ thông tin, thế giới số đã giúp ích

cho con người trong rất nhiều lĩnh vực kinh tế, xã hội, quốc phòng, an ninh,… Công

việc con người ngày càng phức tạp nhằm đáp ứng nhu cầu cuộc sống ngày càng cao

của xã hội, đặc biệt là trong lĩnh vực kinh doanh, mua bán. Bài toán đặt ra là phải làm

sao quản lý được mọi thông tin cần thiết của lĩnh vực như: khách hàng, nhân viên, sản

phẩm, hóa đơn, doanh thu, giao nhận hàng… của một công ty, một cửa hàng kinh

doanh một cách chặc chẽ và tiết kiệm thời gian, tiện lợi và hiệu quả mọi lúc mọi nơi

nhất. Xuất phát từ nhu cầu thực tiển trên, em đã nghiên cứu và xây dựng nên một hệ

thống quản lý bán hàng trực tuyến trên nền tảng ASP.NET với công nghệ MVC5.

ii

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

TÓM TẮT ĐỀ TÀI

Ngày nay, công nghệ Web ứng dụng trên nền .NET Framework của Microsoft

ngày càng phát triển mạnh mẽ cùng với các công nghệ khác như: PHP, JSP,… Trong

đó công nghệ ASP.NET MVC là một công nghệ mang nhiều tính năng ưu việt. Bên

cạnh đó, nhu cầu thực tế công việc quản lý bán hàng ngày càng phát triển nên đòi hỏi

về trình độ đáp ứng cho công việc ngày càng nâng cao và đòi hỏi khả năng xử lý thông

tin ngày càng phức tạp nhằm mang lại hiệu quả cao trong công việc quản lý, thúc đẩy

sự phát triển của bán hàng, tiết kiệm thời gian, nhân công, chi phí đầu tư và tính tiện

dụng.

Vì vậy, em quyết định chọn đề tài xây dựng hệ thống quản lý bán hàng trên nền

tảng Framework ASP.NET MVC5 để hỗ trợ việc quản lý bán hàng tại các công ty/cửa

hàng bán lẻ để giải quyết các vấn đề đã đề ra trên đó.

Các vấn đề mà em đã nghiên cứu được về Framework ASP.NET MVC5, công

nghệ AJAX, cấu trúc JSON, Bootstrap, HTML5. Các hướng tiếp cận phát triển của

chúng em là tìm kiếm thông tin qua Internet, xử lý thông tin dưới sự giúp đỡ của Giáo

viên hướng dẫn.

Trong quá trình nghiên cứu, xây dựng và phát triển đề tài, em đã gặp nhiều khó

khăn và phương án để giải quyết vấn đề là: tham khảo, hỏi ý kiến từ các forum, xin ý

kiến đóng góp của giảng viên hướng dẫn, trao đổi thông tin với bạn bè…

Và kết quả đã đạt được, em đã xây dựng thành công hệ thống quản lý bán hàng

đáp ứng đầy đủ yêu cầu đã đặt ra. Hệ thống được vận hành dễ dàng mọi lúc mọi nơi

trên mọi thiết bị có hỗ trợ truy cập internet, giao diện tương quan tự động co giản có

cấu trúc phù hợp với từng kích thước màn hình hiển thị khác nhau của thiết bị sử dụng.

iii

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

SUMMARY BY ENGLISH

Today, technical Web Application base on Microsoft’s .NET Framework is strong growing up beside other technicals such as PHP, JSP, etc. However, ASP.NET MVC technical have many good feature. In addition, the actual demand for sales management is increasingly evolving, requiring higher levels of responsiveness to work and the need for increasingly sophisticated information processing to bring about increased productivity. High performance in management, sales growth, time savings, labor, investment costs and usability.

So, I decided to build a sales management system based on the ASP.NET

MVC5 framework to support sales management at retail companies / stores.

Issues that we reseached are ASP.NET MVC5 Framework, technical AJAX, to development are: find

structor JSON, Bootstrap, HTML5. Our approach information via internet, processing information with the helping of supervisor.

During our research, we had many trouble and had some method to solve the problem such as references to the forum and ask for people's opinions, ask opinions of supervisor, ask opinions team mate to solved the problem.

During our research, we had many trouble and had some method to solve the problem such as references to the forum and ask for people's opinions, ask opinions of supervisor, ask opinions friends mate to solved the problem.

Finally, I have successfully built a sales management system that fully meets the requirements set out. The system is easy to operate anytime, anywhere on any device that supports internet access. The autosave interface is structured to suit the different display sizes of the device.

iv

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

MỤC LỤC

LỜI CẢM ƠN ........................................................................................................ i

LỜI MỞ ĐẦU ....................................................................................................... ii

TÓM TẮT ĐỀ TÀI .............................................................................................. iii

SUMMARY BY ENGLISH ................................................................................ iv

MỤC LỤC ............................................................................................................. v

MỤC LỤC HÌNH ẢNH ....................................................................................... ix

MỤC LỤC BẢNG .............................................................................................. xii

DANH SÁCH CHỮ VIẾT TẮT ........................................................................ xiv

CHƯƠNG I: TỔNG QUAN ................................................................................. 1

1.1. Giới thiệu tổng quan .............................................................................. 1

1.2. Mục đích chọn đề tài ............................................................................. 1

1.3.

Phạm vi nghiên cứu: .............................................................................. 1

1.4.

Phương pháp nghiên cứu: ...................................................................... 1

1.5. Mục tiêu cần đạt .................................................................................... 2

1.6. Đặc tả đề tài ........................................................................................... 2

CHƯƠNG II: CƠ SỞ LÝ THUYẾT ..................................................................... 5

2.1. Công nghệ ASP.NET MVC5 .................................................................... 5

2.2. Mô hình MVC5 .......................................................................................... 9

2.3. Giới thiệu Entity Framework ................................................................... 12

2.5. Tổng quan về SQL Server ....................................................................... 17

2.6. Tổng quan về ngôn ngữ giao diện ............................................................ 17

2.7. Vài nét về thương mại điện tử B2C ......................................................... 22

CHƯƠNG III: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG ................................ 24

v

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

3.1. Xác định Actor .................................................................................... 24

3.2. Xác định UseCase ................................................................................ 24

3.3. Mô hình tương tác người dùng và hệ thống ........................................ 25

3.4.

Sơ đồ Class .......................................................................................... 43

3.5.

Sơ đồ hoạt động các chức năng ........................................................... 44

3.5.1. Chức năng đăng nhập .................................................................... 44

3.5.2. Chức năng thêm người dùng ......................................................... 45

3.5.3. Chức năng thêm khách hàng ......................................................... 46

3.5.4. Chức năng thêm sản phẩm ............................................................ 47

3.5.5. Chức năng thêm hóa đơn/đơn hàng .............................................. 48

3.6.

Sơ đồ tuần tự các chức năng ................................................................ 49

3.6.1. Chức năng đăng nhập .................................................................... 49

3.6.2. Chức năng thêm nhân viên ............................................................ 49

3.6.3. Thêm khách hàng .......................................................................... 50

3.6.4. Chức năng thêm sản phẩm ............................................................ 51

3.6.5. Chức năng thêm hóa đơn/đơn hàng .............................................. 52

3.7. Mô hình cơ sở dữ liệu .......................................................................... 53

3.8.

Tổ chức bảng dữ liệu ........................................................................... 54

3.8.1. Bảng dữ liệu BƯU CỤC ............................................................... 54

3.8.2. Bảng dữ liệu CHI TIẾT HÓA ĐƠN ............................................. 54

3.8.3. Bảng dữ liệu CHI TIẾT NHẬP ..................................................... 54

3.8.4. Bảng dữ liệu CHỨC VỤ VỊ TRÍ .................................................. 55

3.8.5. Bảng dữ liệu ĐƠN VỊ TÍNH ......................................................... 55

3.8.6. Bảng dữ liệu HÓA ĐƠN ............................................................... 55

vi

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

3.8.7. Bảng dữ liệu KHÁCH HÀNG ...................................................... 56

3.8.8. Bảng dữ liệu KHUYẾN MÃI ....................................................... 57

3.8.9. Bảng dữ liệu LOẠI SẢN PHẨM .................................................. 58

3.8.10.

Bảng dữ liệu NHÀ CUNG CẤP ................................................ 58

3.8.11.

Bảng dữ liệu NHÂN VIÊN ........................................................ 59

3.8.12.

Bảng dữ liệu NHÓM .................................................................. 60

3.8.13.

Bảng dữ liệu NHÓM SẢN PHẨM ............................................ 60

3.8.14.

Bảng dữ liệu PHIẾU NHẬP ...................................................... 60

3.8.15.

Bảng dữ liệu QUY CÁCH ĐÓNG GÓI SẢN PHẨM ............... 61

3.8.16.

Bảng dữ liệu QUY CÁCH ......................................................... 61

3.8.17.

Bảng dữ liệu SẢN PHẨM ......................................................... 62

3.8.18.

Bảng dữ liệu TÀI KHOẢN NGÂN HÀNG ............................... 63

3.8.19.

Bảng dữ liệu VẬN ĐƠN ............................................................ 64

3.8.20.

Bảng dữ liệu TỈNH THÀNH PHỐ ............................................ 65

3.8.21.

Bảng dữ liệu QUẬN HUYỆN ................................................... 66

3.8.22.

Bảng dữ liệu XÃ PHƯỜNG ...................................................... 67

3.9.

PHÂN TÍCH MỐI QUAN HỆ DỮ LIỆU GIỮA CÁC THỰC THỂ . 67

CHƯƠNG IV: DEMO VÀ TRIỂN KHAI HỆ THỐNG .................................... 73

4.1. Giới thiệu tổng quan về hạ tầng Demo ................................................ 73

4.2. Giao diện chính .................................................................................... 73

4.3. Cấu trúc giao diện: ............................................................................... 73

4.3.1. Trên máy tính ................................................................................ 74

4.3.2. Trên điện thoại .............................................................................. 75

4.4. Giao diện chức năng ............................................................................ 75

vii

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

4.4.2. Chức năng quản trị Hóa đơn ......................................................... 76

4.4.3. Chức năng quản trị Sản phẩm ....................................................... 80

4.4.4. Chức năng quản trị Khách hàng .................................................... 85

4.4.5. Chức năng quản trị Nhà cung cấp ................................................. 87

4.4.6. Chức năng quản trị Bưu cục .......................................................... 89

4.4.7. Chức năng quản trị Vận đơn ......................................................... 91

CHƯƠNG V: KẾT LUẬN .................................................................................. 93

5.1. Kết quả và kinh nghiệm ....................................................................... 93

5.2. Hạn chế ................................................................................................ 93

5.3. Hướng phát triển .................................................................................. 93

TÀI LIỆU THAM KHẢO ................................................................................... 94

viii

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

MỤC LỤC HÌNH ẢNH

Hình 1. Logo hệ thống ..................................................................................................... 4 Hình 2. Mô hình MVC .................................................................................................... 7 Hình 3. Mô hình kiến trúc Entity Framework ............................................................... 13 Hình 4. Lưu đồ Entity Mapping Model ......................................................................... 16 Hình 5. Sơ đồ minh họa mối quan hệ các thành phần trong EF .................................... 17 Hình 6. Minh họa khối mã lệnh Razor View ................................................................ 19 Hình 7. Vai trò CSS với Website .................................................................................. 20 Hình 8. Sơ đồ UseCase tổng thể .................................................................................... 25 Hình 9. UseCase quản trị cấu hình hệ thống ................................................................. 26 Hình 10. UseCase quản trị nhân sự ............................................................................... 26 Hình 11. UseCase quản trị tài khoản người dùng.......................................................... 26 Hình 12. UseCase quản trị báo cáo thống kê ................................................................ 27 Hình 13. UseCase quản trị nhà cung cấp ....................................................................... 27 Hình 14. UseCase quản trị nhập hàng ........................................................................... 27 Hình 15. UseCase quản trị khuyến mãi ......................................................................... 28 Hình 16. UseCase quản trị sản phẩm và cấu hình ......................................................... 28 Hình 17. UseCase quản trị hóa đơn ............................................................................... 29 Hình 18. UseCase quản trị tài khoản ngân hàng ........................................................... 29 Hình 19. UseCase quản trị đối tác vận chuyển .............................................................. 30 Hình 20. UseCase quản trị vận đơn ............................................................................... 30 Hình 21. UseCase quản trị nhập hàng của nhân viên .................................................... 31 Hình 22. UseCase quản trị sản phẩm và cấu hình của nhân viên ................................. 31 Hình 23. UseCase quản trị hóa đơn của nhân viên ........................................................ 32 Hình 24. UseCase quản trị vận đơn của nhân viên ........................................................ 32 Hình 25. UseCase quản trị tài khoản ngân hàng của nhân viên .................................... 33 Hình 26. Sơ đồ class tổng thể ........................................................................................ 43 Hình 27. Sơ đồ hoạt động đăng nhập vào hệ thống ....................................................... 44 Hình 28. Sơ đồ hoạt động thêm nhân viên .................................................................... 45 Hình 29. Sơ đồ tuần tự thêm khách hàng ...................................................................... 46 Hình 30. Sơ đồ hoạt động thêm sản phẩm ..................................................................... 47

ix

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Hình 31. Sơ đồ hoạt động thêm hóa đơn/đơn hàng ....................................................... 48 Hình 32. Sơ đồ tuần tự chức năng đăng nhập ............................................................... 49 Hình 33. Sơ đồ tuần tự thêm nhân viên ......................................................................... 49 Hình 34. Sơ đồ hoạt động thêm khách hàng ................................................................. 50 Hình 35. Sơ đồ tuần tự thêm sản phẩm ......................................................................... 51 Hình 36. Sơ đồ tuần tự thêm hóa đơn/ đơn hàng ........................................................... 52 Hình 37. Mô hình dữ liệu hệ thống ............................................................................... 53 Hình 38. Giao diện Dashboard ...................................................................................... 73 Hình 39. Cấu trúc giao diện trên máy tính .................................................................... 74 Hình 40. Cấu trúc giao diện trên điện thoại................................................................... 75 Hình 41. Giao diện đăng nhập ....................................................................................... 75 Hình 42. Lựa chọn quản trị hóa đơn .............................................................................. 76 Hình 43. Quản trị hóa đơn ............................................................................................. 77 Hình 44. Chi tiết hóa đơn .............................................................................................. 78 Hình 45. Thêm mới hóa đơn .......................................................................................... 79 Hình 46. Lựa chọn quản trị Sản phẩm ........................................................................... 80 Hình 47. Quản trị sản phẩm ........................................................................................... 81 Hình 48. Chi tiết sản phẩm ............................................................................................ 82 Hình 49. Quản lý loại sản phẩm .................................................................................... 83 Hình 50. Quản lý đơn vị tính sản phẩm ......................................................................... 84 Hình 51. Quản trị nhóm sản phẩm................................................................................. 84 Hình 52. Lựa chọn quản trị Khách hàng ....................................................................... 85 Hình 53. Quản trị Khách hàng ....................................................................................... 86 Hình 54. Chi tiết thông tin Khách hàng ......................................................................... 86 Hình 55. Quản lý Thêm khách hàng .............................................................................. 87 Hình 56. Quản trị Nhà cung cấp .................................................................................... 87 Hình 57. Chi tiết thông tin nhà cung cấp ....................................................................... 88 Hình 58. Thêm nhà cung cấp ......................................................................................... 88 Hình 59. Lựa chọn quản trị Bưu cục ............................................................................. 89 Hình 60.Quản trị Bưu cục.............................................................................................. 89 Hình 61. Quản trị thêm bưu cục .................................................................................... 90

x

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Hình 62. Lựa chọn quản trị Vận đơn ............................................................................. 91 Hình 63. Quản trị Vận đơn ............................................................................................ 91 Hình 64. Tạo mới vận đơn ............................................................................................. 92

xi

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

MỤC LỤC BẢNG

Bảng 1. Lịch sử các phiên bản MVC. ............................................................................. 5

Bảng 2. Sự khác nhau giữa MVC và Webform ............................................................... 6

Bảng 3. Các loại security trong MVC5 ......................................................................... 11

Bảng 4. Bảng ánh xạ tương đương giữa các đối tượng trong database và EF .............. 14

Bảng 5. Đặc tả UseCase đăng nhập ............................................................................... 34

Bảng 6. Đặc tả UseCase Cấu hình giao diện ................................................................. 34

Bảng 7. UseCase Quản trị tài khoản nhân sự ................................................................ 35

Bảng 8. Đặc tả UseCase Quản trị tài khoản nhân viên kinh doanh ............................... 37

Bảng 9. Đặc tả UseCase Quản trị nhà cung cấp ............................................................ 38

Bảng 10. Đặc tả UseCase Quản trị nhập hàng .............................................................. 38

Bảng 11. Đặc tả UseCase Quản trị khuyến mãi ............................................................ 39

Bảng 12. Đặc tả UseCase Quản trị sản phẩm và các cấu hình ...................................... 40

Bảng 13. Đặc tả UseCase Quản trị hóa đơn .................................................................. 41

Bảng 14. Đặc tả UseCase Quản trị vận đơn .................................................................. 42

Bảng 15. Bảng dữ liệu Bưu cục ..................................................................................... 54

Bảng 16. Bảng dữ liệu Chi tiết hóa đơn ........................................................................ 54

Bảng 17. Bảng dữ liệu chi tiết nhập hàng ..................................................................... 55

Bảng 18. Bảng dữ liệu Chức vụ vị trí ............................................................................ 55

Bảng 19. Bảng dữ liệu Đơn vị tính ................................................................................ 55

Bảng 20. Bảng dữ liệu Hóa đơn .................................................................................... 56

Bảng 21. Bảng dữ liệu Khách hàng ............................................................................... 57

Bảng 22. Bảng dữ liệu khuyến mãi ............................................................................... 58

Bảng 23. Bảng dữ liệu Loại sản phẩm .......................................................................... 58

Bảng 24. Bảng dữ liệu Nhà cung cấp ............................................................................ 59

Bảng 25. Bảng cơ sở dữ liệu Nhân viên ........................................................................ 60

Bảng 26. Bảng dữ liệu Nhóm sản phẩm ........................................................................ 60

Bảng 27. Bảng dữ liệu Sản phẩm thuộc nhóm .............................................................. 60

Bảng 28. Bảng dữ liệu phiếu nhập ................................................................................ 61

Bảng 29. Quy cách đóng gói sản phẩm ......................................................................... 61

Bảng 30. Bảng dữ liệu Quy cách ................................................................................... 62

xii

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Bảng 31. Bảng dữ liệu Sản phẩm .................................................................................. 63

Bảng 32. Bảng dữ liệu Khách hàng ............................................................................... 63

Bảng 33. Bảng dữ liệu Vận đơn .................................................................................... 65

Bảng 34. Bảng dữ liệu Tỉnh Thành phố ........................................................................ 66

Bảng 35. Bảng dữ liệu Quận huyện ............................................................................... 67

Bảng 36. Bảng dữ liệu Xã phường ................................................................................ 67

Bảng 37. Bảng phân tích mối quan hệ dữ liệu các thực thể .......................................... 71

xiii

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

DANH SÁCH CHỮ VIẾT TẮT

Từ viết tắt

Ý nghĩa

Mô hình Models – Controller - View MVC

Java Script JS

Microsoft MS

Language Integrated Query LinQ

Cascading Style Sheets CSS

Uniform Resource Locator URL

Web Aplication WAPP

Application Programming Interface API

Entity Framework EF

Database Management System DBMS

Entity Data Model EDM

xiv

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

CHƯƠNG I: TỔNG QUAN

1.1. GIỚI THIỆU TỔNG QUAN

Ngày nay, cùng với sự phát triển vượt bậc của công nghệ thông tin, Microsoft

(MS) một trong những đơn vị tuyên phong cho ra đời một nền tảng ứng dựng thế hệ

mới chính là WEB APPLICATION (WAPP). WAPP được phát triển trên nền tảng

.NET Framework và được vận hành bằng ứng dụng truy cập Website thông thường

(Browser) một cách đơn giản, tiện dụng trên mọi thiết bị có hỗ trợ truy cập website và

quá trình vận hành được thực hiện mọi lúc, mọi nơi. Đây là một công nghệ rất tiên

tiến, đủ để đáp ứng cho nhu cầu công việc ngày càng phát triển, khâu quản lý ngày

càng được quan tâm và đặc biệt hơn hết tính tiện dụng đa nền tảng, đa thiết bị ngày

càng được quan trọng. Công nghệ WAPP có thể thay thế hoàn toàn cho Winform một

nền tảng phát triển ứng dụng cho ra đời các phần mềm được chạy trên hệ điều hành

Windows mà hầu hết chúng ta đang được học, phát triển và sử dụng trong thời gian

qua.

1.2. MỤC ĐÍCH CHỌN ĐỀ TÀI

Nhằm đáp ứng nhu cầu thực tế, xây dựng một hệ thống quản lý bán hàng hoạt

động độc lập được vận hành mọi lúc mọi nơi, trên mọi thiết bị chỉ cần trang bị một

trình duyệt có khả năng truy cập Website.

Nhằm đáp ứng nhu cầu phát triển xã hội, nâng cao năng suất, hiệu quả công

việc, tiết kiệm thời gian, nhân công và tiết kiệm chi phí đầu tư trang thiết bị máy móc,

đáp ứng nhu cầu chuyên nghiệp hóa xử lý hàng hóa phục vụ cho khách hàng.

Nhằm tạo điều kiện thực hiện nghiên cứu, phát triển khả năng bản thân, góp

phần phát triển xã hội.

1.3. PHẠM VI NGHIÊN CỨU

Quản lý bán hàng tại một cửa hàng, một công ty bao gồm quản lý các thông tin:

khách hàng, nhân viên, sản phẩm, hóa đơn, sản phẩm… của cửa hàng/công ty.

Quy trình khách hàng đặt hàng, mua hàng và nhận hàng, căn cứ vào thông tin

thực tế để thiết kế hệ thống thích hợp phục vụ tuần tự đúng cho nhu cầu sử dụng.

1.4. PHƯƠNG PHÁP NGHIÊN CỨU

- Quan sát thực tế quy trình bán hàng tại các cửa hàng, công ty

1

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

- Trực tiếp đặt hàng tại các cửa hàng/công ty sản phẩm theo quy trình của từng

cửa hàng/công ty.

- Nghiên cứu các website mua bán hàng sản có và quy trình thực hiện đặt hàng,

mua bán sản phẩm.

- Tham khảo các mô hình, hệ thống trực tiếp sẳn có từ các nước phát triển.

1.5. MỤC TIÊU CẦN ĐẠT

- Thêm và quản lý người dùng (Nhân viên công ty) vào hệ thống

- Thêm khách hàng và quản lý thông tin khách hàng trong hệ thống.

- Thêm và quản lý sản phẩm trong hệ thống với số lượng sản phẩm còn lại trong

kho của từng sản phẩm, lượt mua, bán của từng sản phẩm.

- Thêm và quản lý mã khuyến mãi được tạo cho từng đợt khuyến mãi với các

thông tin khuyến mãi: số lần sử dụng, thời gian áp dụng, khuyến mãi giảm phần trăm

hay giảm tiền hàng trực tiếp vào hóa đơn.

- Quản lý các lượt nhập hàng với các thông tin giá nhập vào hệ thống theo từng

đợt giá.

- Quản lý và cập nhật liên tục thông tin vận chuyển của các hóa đơn hàng hóa

khách hàng đặt hàng có vận chuyển

- Chấp nhận thanh toán bằng nhiều hình thức khác nhau: thanh toán khi nhận

hàng, thanh toán trực tiếp khi mua hàng và thanh toán qua chuyển khoản.

- Quản lý các đối tác vận chuyển với các thông tin khai thác của từng đối tác, tích

hợp được API các đối tác nhằm mục đích tạo được các đơn vận tự động thông qua hệ

thống.

- Quản lý tài khoản ngân hàng của khách hàng, nhân viên công ty, và các nhà

cung cấp.

- Quản lý thông tin nhà cung cấp các các sản phẩm kinh doanh.

1.6. ĐẶC TẢ ĐỀ TÀI

Đề tài “Xây dựng hệ thống quản lý bán hàng trên nền tảng công nghệ MVC 5

với ngôn ngữ ASP.NET” được hình thành trên ý tưởng ứng dụng công nghệ thông tin

vào việc quản lý kinh doanh tại một cửa hàng/công ty bán lẻ góp phần tạo điều kiện

2

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

thuận lợi để tiết kiệm thời gian, chi phí, nhân công nhằm mang lại hiệu quả cao và chất

lượng tốt cho công việc.

Kết quả của quá trình nghiên cứu và thực hiện cho ra đời sản phẩm chính là hệ

thống quản lý bán hàng bán hàng trực tuyến với tên gọi Seller Manage version 1.0.

Hệ thống là một tổng hợp các quản lý thông tin cần thiết cho một cửa hàng/ công ty

kinh doanh bán lẻ. Hệ thống hỗ trợ quản lý các thông tin cần thiết:

Khi người dùng tham gia vào hệ thống được Quản trị hệ thống cấp một tài

khoản người dùng để đăng nhập và sử dụng trong hệ thống. Người dùng hệ thống tùy

vào mức độ cho phép mà được sử dụng các tính năng khác nhau được phân quyền bởi

quản trị viên hệ thống. Khi có cách hàng thực hiện đơn hàng tại công ty bán lẻ/cửa

hàng, nhân viên lấy thông tin điện thoại khách hàng để tạo đơn đặt hàng hoặc xuất hóa

đơn bán hàng, thông qua số điện thoại được lấy từ khách hàng, hệ thống sẽ phản hồi

khách hàng đã có trong hệ thống hoặc chưa tồn tại, nếu khách hàng chưa có trong hệ

thống thì thêm mới thông tin khách hàng vào hệ thống và tiếp tục quá trình tạo hóa

đơn hoặc đơn hàng với hệ thống. Đối với khách hàng cần giao hàng hoặc gửi hàng đến

nơi người nhận khách thì nhân viên kinh doanh hỗ trợ tạo vận đơn cho khách hàng để

hỗ trợ gửi hàng thông qua các đối tác khai thác vận chuyển.

Bên cạnh đó hỗ trợ khách hàng thanh toán cho mỗi hóa đơn bằng nhiều hình

thức thanh toán khác nhau: thanh toán khi nhận hàng, thanh toán trực tiếp khi thực

hiện hóa đơn hoặc thanh toán chuyển khoảng nhân hàng.

Khi có chương trình khuyến mãi của công ty kinh doanh bán lẻ/cửa hàng có thể

tạo chương trình khuyến mãi giảm giá trên hóa đơn bán hàng với các hình thức giảm

giá như giảm giá % tiền hàng, giảm giá trực tiếp tiền của hàng, thời gian áp dụng và số

lần áp dụng đối với từng đơn hàng thông qua chương trình khuyến mãi và các áp dụng

giảm giá bằng cách trực tiếp điền mã vào hóa đơn khi tạo.

Ngoài ra, hệ thống cho phép quản lý sản phẩm với từng mức độ phân loại sản

phẩm, phân nhóm sản phẩm, với nhiều đơn vị tính được tạo bởi người dùng. Khi tạo

mới sản phẩm, người dùng phải lựa chọn loại sản phẩm, đơn vị tính và nhóm sản phẩm

nếu sản phẩm có chứa nhiều thuộc tính cần được quản lý. Và khi loại, đơn vị tính,

3

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

nhóm chưa có khi tạo đơn hàng nhân viên có thể thêm mới thuộc tính tại các mục

tương ứng trong cấu hình sản phẩm. Mặc khác, để nhập hàng, hệ thống còn quản lý cả

thông tin đối với nhà cung cấp sản phẩm đảm bảo tối ưu hóa tính tiện dụng cho các lần

nhập hàng tiếp theo. Để nhập hàng vào hệ thống nhân viên lựa chọn nhà cung cấp sản

phẩm, lựa chọn sản phẩm nhập và số lượng nhập. Hệ thống sẽ kiểm tra dữ liệu và tiến

hàng nhập vào hệ thống, đồng thời xuất phiếu nhập có thể in ra cho nhân viên.

Mặc khác, thiên hướng phát triển của hệ thống là hỗ trợ tích hợp được API đến

các trang thương mại điện tử bán hàng: Sendo, Lazada, Shopee,… nhằm mục đích

đồng bộ hóa sản phẩm đến các trang bán hàng, tiết kiếm tối đa thời gian đăng sản

phẩm. Và tích hợp được đến các đơn vị đối tác vận chuyển khai thác, hỗ trợ tạo vận

đơn trực tiếp tại hệ thống và đồng bộ hóa đến bộ phận vận chuyển, tiết kiệm thời gian

Hì nh 1. Logo hệ thống

tạo vận đơn trên các trang đơn vị.

4

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

CHƯƠNG II: CƠ SỞ LÝ THUYẾT

2.1. CÔNG NGHỆ ASP.NET MVC5

2.1.1. Lịch sử ra đời:

- Tất cả bắt đầu vào những năm 70 của thế kỷ 20, tại phòng thí nghiệm Xerox

PARC ở Palo Alto. Sự ra đời của giao diện đồ họa (GUI) và lập trình hướng đối tượng

(Object Oriented Programming) cho phép lập trình viên làm việc với những thành

phần đồ họa như những đối tượng đồ họa có thuộc tính và phương thức riêng của nó.

Không dừng lại ở đó, những nhà nghiên cứu ở Xerox PARC còn đi xa hơn khi cho ra

đời cái gọi là kiến trúc MVC (viết tắt của Model – View – Controller).

- MVC được phát minh tại Xerox Parc vào những năm 70, bởi

TrygveReenskaug. MVC lần đầu tiên xuất hiện công khai là trong Smalltalk-80. Các

giấy tờ quan trọng đầu tiên được công bố trên MVC là “A Cookbook for Using the

Model-View-Controller User Interface Paradigm in Smalltalk – 80”, bởi Glenn

Krasner và Stephen Pope, xuất bản trong tháng 8 / tháng 9 năm 1988.

- Thế hệ tiếp theo của MVC xuất hiện cùng với hệ điều hành NeXT và các phần

mềm của nó.

- Kiến trúc này ngày càng được phát triển và hoàn thiện nhằm giải quyết các vấn

đề phát sinh cũng như các giải pháp cho quá trình phát triển phần mềm.

- Vì vậy sau đó, lần lượt các MVC framework ra đời dựa trên mô hình MVC

như: CodeIgniter, Zend, ASP.NET MVC …

Thời gian phát hành Phiên bản

ASP.NET MVC 1.0 2008

ASP.NET MVC 2.0 (.NET 3.5) 2008

ASP.NET MVC 3.0 (.Net 4) 1/2010

ASP.NET MVC 4.0 (.Net 4.5) 15/8/2012

Bảng 1. Lịch sử các phiên bản MVC.

ASP.NET MVC 5.0 (.Net 5.0) 17/10/2013

2.1.2. Sự khác nhau giữa MVC và webform

MVC Webform

ASP.net WebForm sử dụng Thành ASP.net MVC chia ra làm 3 phần:

5

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

– Models ViewState để quản lý Các phần

– View trang ASP.net đều có

– Controller. lifecycle, postback và dùng

Mọi tương tác của người dùng với các web controls, các event

Views sẽ được xử lý thông qua việc để thực hiện các hành động

thực hiện các action hành động trong cho UI (User Interface) .

Controllers, không còn postback, Khi có sự tương tác với

lifecycle và events. người dùng nên hầu hết

ASP.net WebForm xử lý

chậm.

Với ASP.net WebForm đều Việc

Đối với MVC thì việc đó có thể sử phải chạy tất cả các tiến kiểm

dụng các unit test có thể thẩm định rất trình của ASP.net, và sự thay tra

dễ dàng các Controllers thực hiện như đổi ID của bất kỳ Controls (test),

thế nào. nào cũng ảnh hưởng đến ứng gỡ lỗi

Bả ng 2. Sự khác nhau giữa MVC và Webform

dụng. (debug)

2.1.3 Kiến trúc sử dụng ASP.NET MVC

ASP.NET MVC được thiết kế một cách gọn nhẹ, giảm thiểu sự phức tạp của

việc xây dựng ứng dụng website bằng cách chia một ứng dụng thành 3 tầng (layer):

Model, View và Controller. Sự chia nhỏ này giúp lập trình viên dễ dàng kiểm soát các

thành phần trong khi phát triển, cũng như lợi ích lâu dài trong việc kiểm tra, bảo trì và

nâng cấp.

- Model: Model chứa và thể hiện các đặc tính và logic ứng dụng. Theo một cách

hiểu khác, Model đại diện cho dữ liệu và logic cốt lõi. Nó chính là những lớp (class)

chứa thông tin về các đối tượng mà ta cần phải thao tác, làm việc trên nó. Ví dụ: “Sản

phẩm” chứa các thông tin như “Tên sản phẩm”, ”Loại sản phẩm”, “Đơn giá”, …

- View: View làm nhiệm vụ thể hiện một Model hay nhiều Model một cách trực

quan, nó nhận thông tin (một Model hoặc nhiều Model) sau đó biểu diễn lên trang

website.

6

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

- Controller: Controller nằm giữa tầng View và Model, làm nhiệm vụ tìm kiếm,

Hì nh 2. Mô hình MVC

xử lý một hoặc nhiều Model, sau đó gửi Model tới View để View hiển thị.

2.1.4 Đặc điểm ASP.NET MVC Framework

 Tiếp tục hỗ trợ các tính năng trong ASP.NET

- Hỗ trợ sử dụng các các tập tin:.ASPX, .ASCX, .Master như là thành phần

View.

- Hỗ trợ đầy đủ các tính năng bảo mật của ASP.net: Form/ Windows

authenticate, URL authorization, membership/roles, output và data

caching, section/ profile state, configuration system, provider architecture.

 Tách rõ ràng các mối liên quan, mở ra khả năng test TDD (Test Driven Developer).

- Có thể test unit trong ứng dụng mà không cần phải chạy Controllers cùng

với tiến trình của ASP.NET và có thể dùng bất kỳ một unit testing

framework nào như NUnit, MBUnit, MS Test,…

7

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

 Có khả năng mở rộng, mọi thứ trong MVC được thiết kế để dễ thay thế, dễ dàng

tùy biến. Ánh xạ URL mạnh mẽ, cho phép xây dựng ứng dụng với những URL

sạch.

 Không sử dụng mô hình post-back từ giao diện gửi đến server. Thay vào đó, chủ

động đưa những post-back từ View đến thẳng lớp Controller.

 Hỗ trợ nhiều công cụ tạo View (Support for Multiple View Engines)

- Cho phép chọn công cụ tạo view. Hộp thoại New Project cho phép xác

định view engine mặc định cho một project.

- Các loại view engine

o Web Forms (ASPX)

o Razor

o Hay một view engine nguồn mở như Spark, NHaml, NDjango.

 Hỗ trợ định tuyến

- ASP.NET MVC Framework có một bộ máy ánh xạ URL thật sự mạnh mẽ.

- Bộ máy này cung cấp phương pháp rất linh hoạt trong việc ánh xạ URLs

sang các Controller Classes.

- Bạn có thể dễ dàng định ra các quy luật, cài đặt đường đi, ASP.NET dựa

vào các quy luật đường đi đó để xác định Controller và action cần phải

thực thi.

- ASP.NET còn có khả năng phân tích URL, chuyển các thông số trong

URL thành các tham số trong lời gọi hàm của Controller.

 Model Binding

- Model Binding là tính năng thế mạnh của ASP.NET MVC (và bây giờ nó

cũng được áp dụng cho cả Web Forms trong phiên bản ASP.NET 4.5).

- Hỗ trợ bạn viết phương thức nhận một đối tượng tùy biến như là một tham

số

- Với sự hỗ trợ của Model Binding, bây giờ bạn chỉ cần tập trung vào việc

cài đặt các nghiệp vụ logic, không cần phải bận tâm về việc suy nghĩ làm

cách nào để ánh xạ dữ liệu từ người dùng sang các đối ượng .NET.

 Filters

8

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

- Là tính năng mạnh trong ASP.NET MVC. Hỗ trợ cho việc kiểm tra tính

hợp lệ trước khi một action method được gọi hoặc sau khi một action

method thi hành.

 Razor View.

Từ ASP.net MVC 3 đi kèm với một công cụ View mới có tên là Razor với

những lợi ích sau:

- Cú pháp Razor là sạch sẽ và xúc tích, đòi hỏi một số lượng tối thiểu các tổ

hợp phím.

- Việc tìm hiểu Razor tương đối dễ dàng vì nó dựa trên ngôn ngữ C# và

Visual Basic.

- Visual Studio bao gồm IntelliSense và mã cú pháp Razor được màu hóa.

- Với Razor views có thể kiểm tra từng đơn vị mà không đòi hỏi bạn phải

chạy các ứng dụng hoặc phải chạy website.

2.2. MÔ HÌNH MVC5

2.2.1. Các tính năng của mô hình MVC3 và MVC4

2.2.1.1. MVC3

- So với phiên bản ASP.NET MVC2 thì MVC3 được hỗ trợ thêm HTML5 và

CSS3.

- Cải thiện về Model Validation – tính năng kiểm tra tính hợp lệ của dữ liệu do

người dùng nhập vào.

- Hỗ trợ 2 View Engine: RAZOR, ASPX, kể cả Open source trong khi

ASP.NET MVC2 chỉ có ASPX.

- Controller được cải tiến hơn như thuộc tính ViewBag và kiểu ActionResult.

- Cải thiện Dependency Injection với IDpendencyResolver (có 2 phần:

DependencyResolver và interface IDpendencyResolver) trong ASP.NET MVC3; đây

là lớp thực thi mô hình Service Locator, cho phép framework gọi DIContainer khi

cần làm việc với 1 lớp thực thi từ 1 kiểu cụ thể.

- Cách tiếp cận với JavaScript được hạn chế.

- Hỗ trợ caching trong Partial page.

2.2.1.2. MVC4

9

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

- ASP.NET Web API ra đời, nhằm đơn giản hoá việc lập trình với HTML hiện

đại và đây là một cải tiến mới thay cho WCF Web API.

- Mặc định của dự án được cải thiện hơn về hình thức bố trí, giúp dễ nhìn hơn.

- Mẫu Empty Project là project trống, phù hợp cho những developer muốn nâng

cao khả năng lập trình với ASP.NET MVC4.

- Giới thiệu jQuery Mobile và mẫu Mobile Project cho dự án.

- Hỗ trợ Asynchrnous Controller.

- Kiểm soát Bundling và Minification thông qua web.config.

- Hỗ trợ cho việc đăng nhập OAuth và OpenID bằng cách sử dụng thư viện

DotNetOpenAuth. Cho phép Logins từ Facebook và những tài khoản khác.

- Phiên bản mới Windows Azure SDK 1.6 được phát hành.

2.2.2. Các cải tiến của MVC5

- Với MVC5 thì cải tiến hơn so với ASP.NET MVC4, Bootstrap được thay thế

mẫu MVC mặc định.

- Chứng thực người dùng Authentication Filter được tuỳ chỉnh hoặc chứng

thực từ hãng thứ 3 cung cấp.

- Với Filter overrides, chúng ta có thể Filter override trên Method hoặc

Controller.

- Thuộc tính Routing được tích hợp vào MVC5.

2.2.2.1. Bootstrap

 Bootstrap là một framework CSS được Twitter phát triển. Nó là một tập

hợp các bộ chọn, thuộc tính và giá trị có sẵn để giúp web designer tránh việc lặp đi lặp

lại trong quá trình tạo ra các class CSS và những đoạn mã HTML giống nhau trong dự

án web của mình. Ngoài CSS ra, thì bootstrap còn hỗ trợ các function tiện ích được

viết dựa trên JQuery(Carousel, Tooltip, Popovers ,...)

- Được viết bởi những người có óc thẩm mỹ và tài năng trên khắp thế giới. Sự

 Những lý do để sử dụng Bootstrap:

tương thích của trình duyệt với thiết bị đã được kiểm tra nhiều lần nên có thể tin tưởng

kết quả mình làm ra và nhiều khi không cần kiểm tra lại. Vì vậy, giúp cho dự án của

bạn tiết kiệm được thời gian và tiền bạc.

10

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

- Chỉ cần biết sơ qua HTML, CSS, Javascript, Jquery là bạn có thể sử dụng

Bootstrap để tạo nên một trang web sang trọng và đầy đủ. Nhưng lại không cần code

- Với giao diện mặc định là màu xám bạc sang trọng, hỗ trợ các component thông

quá nhiều CSS.

dụng mà các website hiện nay cần có. Vì nó là opensource nên bạn có thể vào mã

- Do có sử dụng Grid System nên Bootstrap mặc định hỗ trợ Responsive.

nguồn của nó để thay đổi theo ý thích của bản thân.

Bootstrap được viết theo xu hướng Mobile First tức là ưu tiên giao diện trên Mobile

trước. Nên việc sử dụng Bootstrap cho website của bạn sẽ phù hợp với tất cả kých

thước màn hình. Nhờ đó mà chúng ta không cần xây dựng thêm một trang web riêng

- Đội ngũ phát triển Bootstrap đã bổ sung thêm tính năng Customizer. Giúp cho

biệt cho mobile.

designer có thể lựa chọn những thuộc tính, component phù hợp với project của họ.

Chức năng này giúp ta không cần phải tải toàn bộ mã nguồn về máy.

2.2.2.2. Authentication Filter

- Một trong những vấn đề bảo mật cơ bản nhất là đảm bảo những người dùng hợp

lệ truy cập vào hệ thống. ASP.NET đưa ra 2 khái niệm: Authentication và Authorize

- Authentication là xác thực người dùng, trong MVC5 Authentication Filter

được tuỳ chỉnh hoặc chứng thực từ hãng thứ 3 cung cấp.

- Khi tạo 1 Project MVC5, người dùng được lựa chọn 4 loại security:

Loại Mô tả

Ứng dụng không hỗ trợ security No Authentication

Ứng dụng sử dụng tài khoản được quản lý Individual User Accounts

bởi SQL Server hoặc từ gmail, facebook

Ứng dụng sử dụng tài khoản được quản lý Organizational Accounts

bởi Active Directory hoặc Windows

Azure Directory

Ứng dụng chạy trên intranet tức sử dụng Windown Authentication

Bả ng 3. Các loại security trong MVC5

tài khoản windows để đăng nhập

11

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

- Mỗi loại security khác nhau sẽ phù hợp với các ứng dụng khác nhau. Khi chọn

Individual User Accounts thì ứng dụng chạy trên Internet và sử dụng SQL Server để

lưu trữ thành viên hoặc đăng nhập từ các hệ thống khác như Google, Facebook... Khi

đó người dùng có thể đăng ký, đăng nhập, đổi mật khẩu, đăng xuất với tài khoản cục

bộ hoặc từ bên ngoài(Google, Facebook…).

- Code của AccountController có 2 sự khác biệt

o Annotation [Authorize] được sử dụng để làm cho mọi action trong

controller không thẻ truy xuất khi chưa đăng nhập ngoại trừ action đó được đánh dấu

với annotion [AllowAnontmous].

o Thuộc tính UserManager được tạo ra trong constructor để quản lý các

thành viên. Các trang chức năng security đăng ký, đăng nhập và đổi mật khẩu được

thực hiện nhờ thuộc tính này.

2.3. GIỚI THIỆU ENTITY FRAMEWORK

2.3.1. Tổng quan

Entity Framework (EF) là một framework ánh xạ quan hệ đối tượng (ORM)

dành cho ADO.NET, là 1 phần của .NET Framework. EF cho phép các nhà phát triển

Web tương tác với dữ liệu quan hệ theo phương pháp hướng đối tượng đặc trưng. Lợi

ích lớn nhất của EF là giúp lập trình viên giảm thiểu việc lập trình mã nguồn cần thiết

để truy cập và tương tác với cơ sở dữ liệu. EF được Microsoft hỗ trợ phát triển lâu dài

và bền vững, vì vậy EF là 1 framework mạnh nhất hiện nay để phát triển ứng dụng

Web với sự hỗ trợ đông đảo của các nhà phát triển Web. Kiến trúc của Entity

Framework được minh họa như sau:

12

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Hì nh 3. Mô hình kiến trúc Entity Framework

2.3.2. Tầng Application

Application (ứng dụng) là tầng chứa giao diện trang Web (HTML, CSS,

Javascript, hình ảnh, …) và các đoạn mã nguồn (C#, VB) để tương tác dữ liệu với các

tầng khác trong mô hình thông qua Object Services.

2.3.3. Tầng Object Services

Object Services (tạm dịch là các dịch vụ đối tượng) là tầng chứa quá trình

tương tác giữa ứng dụng và database, hay nói cách khác nó là nơi chủ yếu để truy cập

dữ liệu từ database và trả ngược kết quả về giao diện. Object Services cung cấp các

tiện ích để truy vết các thay đổi và quản lý nhận dạng, đồng thời là các quan hệ và thay

đổi ở database.

Đây là các class tự động sinh ra tương ứng với mô hình dữ liệu. Các class này

bao gồm:

- ObjectContext đại diện cho một database. ObjectContext có chức năng quản lý

các kết nối, định nghĩa mô hình dữ liệu với metadata và thao tác với database. Lớp này

cũng có thể thêm vào các phương thức đại diện cho các stored procedure trong

database.

13

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

- ObjectSet 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

ObjectContext Database

EntityObject, ComplexObject Table, View

Property Column

EntityCollection, Relationship

Bả ng 4. Bảng ánh xạ tương đương giữa các đối tượng trong database và EF

EntityReference

2.3.4. Tầng EntityClient Data Provider

EntityClient là một data provider mới của ADO.NET dùng để truy xuất đến

database. Được xây dựng bên trên các ADO.NET data provider cơ bản, EntityClient

không truy xuất trực tiếp dữ liệu mà thông qua các data provider khác dựa vào các

thông tin dữ liệu từ Entity Data Model.

EntityClient cũng bao gồm các lớp giống như các ADO.NET data provider

khác và tên lớp được đặt với tiền tố Entity. Ví dụ bạn có thể tạo kết nối bằng

EntityConnection, tạo các câu truy vấn bằng EntityCommand và đọc kết quả bằng

EntityDataReader.

Một điểm khác biệt với các data provider khác là EntityClient sử dụng Entity

SQL để truy vấn dữ liệu. Các lệnh Entity SQL sẽ được chuyển thành một cấu trúc lệnh

dạng cây (command tree) và chuyển xuống cho các data provider khác.

2.3.5. Tầng ADO.NET Data Providers

14

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Đây là tầng thấp nhấp để dịch các truy vấn L2E (LINQ to Entity) thông qua cây

lệnh thành các câu lệnh SQL và thực thi các câu lệnh trong hệ thống DBMS (database

management system – hệ quản lý dữ liệu) nào đó. Tầng này kết với database sử dụng

ADO.NET.

EntityClient là một data provider mới của ADO.NET dùng để truy xuất đến

database. Được xây dựng bên trên các ADO.NET data provider cơ bản, EntityClient

không truy xuất trực tiếp dữ liệu mà thông qua các data provider khác dựa vào các

thông tin dữ liệu từ Entity Data Model.

EntityClient cũng bao gồm các lớp giống như các ADO.NET data provider

khác và tên lớp được đặt với tiền tố Entity. Ví dụ bạn có thể tạo kết nối bằng

EntityConnection, tạo các câu truy vấn bằng EntityCommand và đọc kết quả bằng

EntityDataReader.

Một điểm khác biệt với các data provider khác là EntityClient sử dụng Entity

SQL để truy vấn dữ liệu. Các lệnh Entity SQL sẽ được chuyển thành một cấu trúc lệnh

dạng cây (command tree) và chuyển xuống cho các data provider khác.

2.3.6. Tầng EDM (Entity Data Model)

Entity Data Model (EDM) là mô hình dữ liệu được mô tả thông qua các ngôn

ngữ theo chuẩn XML. EDM được chia làm 3 lớp là: Conceptual, Mapping và Logical.

Mỗi lớp này được định nghĩa bởi ngôn ngữ riêng theo định dạng XML:

- Conceptual – Conceptual Schema Definition Language (CSDL): là ngôn ngữ

định nghĩa các entity, relationship, hàm trong tập tin với phần mở rộng .csdl. Có thể

tạo được các entity class (object layer).

- Mapping – Mapping specification language (MSL): định nghĩa các ánh xạ giữa

lớp conceptual và logical, nội dung này được lưu trong tập tin .msl.

- Logical – Store Schema Definition Language (SSDL): định nghĩa mô hình lưu

trữ của dữ liệu, lưu trữ trong tập tin .ssdl.

15

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Hì nh 4. Lưu đồ Entity Mapping Model

16

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

2.3.7. Cách sử dụng trong Entity Framework

Là thành phần trung gian giữa ứng dụng và database, Entity Data Model (EDM) giúp

tạo liên kết và mô tả giữa nguồn dữ liệu vật lý và các đối tượng bussiness (hay object layer)

trong ứng dụng. Dựa vào sự lựa chọn thành phần nào sẽ được tạo ra trước, một ứng dụng Entity

Framework (EF) có thể sử dụng 1 trong 3 cách tiếp cận: Database First, Model First và Code

First.

Các sơ đồ dưới đây minh hoạt mối quan hệ và thứ tự tạo ra giữa các thành phần dữ liệu

trong ứng dụng của Entity Framework. Phần Model tương ứng với tập tin .edmx, Code tương

Hì nh 5. Sơ đồ minh họa mối quan hệ các thành phần trong EF

ứng với tập tin .cs (hoặc .vb nếu bạn dùng VB.NET).

2.5. TỔNG QUAN VỀ SQL SERVER

Là một hệ quản trị cơ sở dữ liệu do Microsoft phát triển. SQL Server là một hệ

quản trị cơ sở dữ liệu quan hệ mạng máy tính hoạt động theo mô hình khách chủ cho

phép đồng thời cùng lúc có nhiều người dùng truy xuất đến dữ liệu, quản lý việc truy

nhập hợp lệ và các quyền hạn của từng người dùng trên mạng.

2.6. TỔNG QUAN VỀ NGÔN NGỮ GIAO DIỆN

2.6.1. HTML và CSHTML

HTML viết tắt của HyperText Markup Language (tạm dịch Ngôn ngữ Đánh dấu

Siêu văn bản) là ngôn ngữ đánh dấu được thiết kế để tạo nên các trang web với các

mẫu thông tin trình bày trên World Wide Web. Cùng với CSS và JavaScript, HTML

17

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

tạo thành bộ ba nền tảng kỹ thuật cho World Wide Web. Hiện nay, HTML đang được

phát triển tiếp với phiên bản HTML5 hứa hẹn mang lại diện mạo mới cho trang web.

Trong view của ASP.NET, sẽ sử dụng các thẻ HTML đồng thời có thể kết hợp

với các khối lệnh ngôn ngữ C# bằng cách khai báo @{…} hoặc @ để 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

18

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

2.6.2.2. Khối mã lệnh

Razor hỗ trợ lập trình viên viết các khối mã lệnh tại các View. Một khối mã lệnh

Raror là một phần của View, và nó được viết bằng các ngôn ngữ C# hoặc VB.

Cú pháp @{

}

 code : là các đoạn mã code được viết bởi ngôn ngữ C# hoặc VB và được biên

Mô tả

Hì nh 6. Minh họa khối mã lệnh Razor View

dịch ở phía Server

CSS được viết tắc của cụm từ Cascading Style Sheets, hiểu đơn giản nó là tổng hợp

các chuỗi dạng text, mỗi câu lệnh của CSS dùng để định dạng một phần tử của HTML về

màu sắc, kích thước, font chữ...Nhờ có CSS mà giao diện của web, nội dung trên web trở

nên rõ ràng hơn, hấp dẫn hơn với người đọc.

2.6.3. CSS (Cascading Style Sheets)

19

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Hì nh 7. Vai trò CSS với Website

2.6.4. Bootstrap

Bootstrap hiện đang là Framwork hỗ trợ tốt nhất và phổ biến nhất trong việc

phát triễn các dự án về giao diện website cho cả thiết bị di động và máy tính bao gồm

HTML, CSS và Java script. Bootstrap phát triễn qua nhiều phiên bản, phiên bản mới

nhất lúc mình thực hiện tutorials là bản 3.3.2.

Bootstrap được sử dụng rộng rải bởi lợi ích to lớn mà nó mang lại như giao diện

website tương thích với các thiết bị smartphone, tablet và máy tính thông thường vì có

thể tự động co giản kích thước. Bootstrap được xây dựng với các module hỗ trợ sẵn

nên rất dễ dàng tìm hiểu, xây dựng giao diện một cách nhanh chóng…

2.6.5. JavaScript, JQuery và Ajax

2.6.5.1. JavaScript

- JavaScript (có phần mở rộng .js) là một ngôn ngữ lập trình dạng kịch bản dựa

trên đối tượng được phát triển từ các ý niệm nguyên mẫu. Ngôn ngữ được sử dụng

rộng rãi trên các trang web, nhưng cũng được dùng để tạo khả năng viết script sử dụng

đối tượng có sẵn trong các ứng dụng. Giống Java, JavaScript có cú pháp tương tự C,

nhưng gần giống với Self hơn Java. Hiện nay, có rất nhiều framework, libraries được

viết bằng ngôn ngữ JavaScript:

o jQuery: Một thư viện mạnh mẽ và thông dụng.

o AngularJS: Một thư viện xây dựng ứng dụng Single Page.

o NodeJS: Một thư viện được phát triển phía Server dùng để xây dựng ứng

dụng realtime.

o Firebase: Một nền tảng di động dùng lưu trữ dữ liệu theo thời gian thực.

20

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

2.6.5.2. JQuery

- jQuery là một thư viện kiểu mới của JavaScript, được tạo bởi John Resig vào

năm 2006 với một phương châm tuyệt vời: Write less, do more.

- jQuery làm đơn giản hóa việc truyền tải HTML, xử lý sự kiện, tạo hiệu ứng

động và tương tác Ajax. Với jQuery, khái niệm Rapid Web Development đã không

còn quá xa lạ.

- jQuery là một bộ công cụ tiện ích JavaScript làm đơn giản hóa các tác vụ đa

dạng với việc viết ít code hơn. Dưới đây liệt kê một số tính năng tối quan trọng được

hỗ trợ bởi jQuery:

o Thao tác DOM − jQuery giúp dễ dàng lựa chọn các phần tử DOM để

traverse một cách dễ dàng như sử dụng CSS, và chỉnh sửa nội dung của

chúng bởi sử dụng phương tiện Selector mã nguồn mở, mà được gọi là

Sizzle.

o Xử lý sự kiện − jQuery giúp tương tác với người dùng tốt hơn bằng việc xử

lý các sự kiện đa dạng mà không làm cho HTML code rối tung lên với các

Event Handler.

o Hỗ trợ AJAX − jQuery giúp bạn rất nhiều để phát triển một site giàu tính

năng và phản hồi tốt bởi sử dụng công nghệ AJAX.

o Hiệu ứng − jQuery đi kèm với rất nhiều các hiệu ứng đa dạng và đẹp mắt

mà bạn có thể sử dụng trong các Website của mình.

o Gọn nhẹ − jQuery là thư viện gọn nhẹ - nó chỉ có kích cỡ khoảng 19KB

(gzipped).

o Được hỗ trợ hầu hết bởi các trình duyệt hiện đại − jQuery được hỗ trợ

hầu hết bởi các trình duyệt hiện đại, và làm việc tốt trên IE 6.0+, FF 2.0+,

Safari 3.0+, Chrome và Opera 9.0+

o Cập nhật và hỗ trợ các công nghệ mới nhất − jQuery hỗ trợ CSS3

Selector và cú pháp XPath cơ bản.

2.6.5.3. Ajax

AJAX, là viết tắt của Asynchronous JavaScript and XML, (tạm dịch là JavaScript

và XML không đồng bộ), là một kỹ thuật mới để tạo các ứng dụng web giàu tính

21

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

tương tác, nhanh hơn và mượt mà hơn với sự giúp đỡ của XML, HTML, CSS và

JavaScript.

AJAX không phải là ngôn ngữ lập trình mới. Tên AJAX ở đây không có nghĩa là

bạn phải học XML trước khi cần học AJAX. Điều này là không cần thiết.

AJAX cho phép các trang web được cập nhật một cách không đồng bộ bằng cách

trao đổi các lượng dữ liệu nhỏ với Server. Tức là AJAX giúp cập nhật các phần nhỏ

trong trang mà không cần tải lại toàn bộ trang. Nếu đến đây bạn chưa hiểu thì các dòng

tiếp theo đây sẽ giúp bạn hiểu cách AJAX làm việc hơn.

2.6.6. Phương thức mã hóa dữ liệu MD5

Viết tắt của Message-Digest algorithm 5 (Giải thuật Tiêu hóa tin 5) là một hàm

băm mật mã học được diễn tả bằng một số hệ thập lục phân 32 ký tự, theo chuẩn RFC

1321, các chương trình MD5 thường được gọi là MD5Sum. Nó được dùng để tạo ra

một chuỗi 128 bit duy nhất từ một chuỗi dữ liệu nhập bất kỳ, và vì thế thường được

dùng để kiểm tra tính toàn vẹn dữ liệu của một tập tin.

2.7. VÀI NÉT VỀ THƯƠNG MẠI ĐIỆN TỬ B2C

2.7.1. Khái niệm

- Mô hình B2C (Business to Consumer) - còn gọi là mô hình bán lẻ trực tuyến là

mô hình thương mại điện tử diễn ra giữa doanh nghiệp và người tiêu dùng. Các công

ty, doanh nghiệp sẽ buôn bán, trao đổi hàng hóa và dịch vụ cho người tiêu dùng.

Doanh nghiệp ở đây có thể là nhà sản xuất, nhà phân phối hoặc đại lý.

- Đây là loại giao dịch quen thuộc và phổ biến nhất trong thương mại điện tử xuất

phát từ những nhu cầu mua bán hàng hóa qua mạng.

2.7.2. Phân loại mô hình B2C

Mô hình B2C được chia thành 2 loại là cửa hàng điện tử và siêu thị điện tử.

- Cửa hàng điện tử (e-store) là một trang web bán hàng hóa, dịch vụ thường được

sở hữu bởi các cá nhân, nhà sản xuất, nhà bán lẻ. Một website cửa hàng điện tử thường

chứa danh mục hàng hóa, dịch vụ; công cụ tìm kiếm; giỏ hàng; cổng thanh toán; dịch

vụ khách hàng...

- Siêu thị điện tử (e-mall) là một trang web chứa nhiều cửa hàng điện tử. Đặc

trưng của siêu thị điện tử là thường chứa danh bạ hàng hóa và danh mục các cửa hàng

điện tử.

22

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

2.7.3. Hoạt động của mô hình B2C

- Mô hình B2C được áp dụng trong các mô hình siêu thị điện tử và các website

bán lẻ. Khách hàng truy cập vào website, chọn những món hàng cho mình và cung

cấp thông tin cần thiết cho việc mua hàng, chọn hình thức thanh toán và hoàn thành

thao tác đặt hàng.

23

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

CHƯƠNG III: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

3.1. XÁC ĐỊNH ACTOR

3.1.1. Quản trị viên hệ thống

- Là thành viên có cấp độ cao nhất khi giao tiếp với hệ thống với toàn quyền thao

tác với hệ thống.

- Thêm thành viên người dùng thao tác với hệ thống, cấp quyền cho người dùng

thao tác với hệ thống phù hợp vai trò và nhiệm vụ của nhân viên, người dùng.

3.1.2. Giám đốc, kế toán, thư ký

- Có đầy đủ các quyền thao tác với hệ thống cũng giống như quản trị viên hệ

thống, nhưng ngoại trừ các quyền đặc thù riêng của quản trị viên trên hệ thống như

điều chỉnh giao diện, quản lý quản trị hệ thống,…

- Và dưới đây Giám đốc, Kế toán và Thư ký được gọi chung là Nhân sự công ty

3.1.3. Nhân viên kinh doanh (người dùng hệ thống)

- Tạo và quản lý sản phẩm, đơn hàng, đơn vận trên hệ thống

- Thêm mới, cập nhật thông tin khách hàng trên hệ thống

- Thêm mới, cập nhật thông tin nhà cung cấp, nhập hàng vào hệ thống

3.2. XÁC ĐỊNH USECASE

3.2.1. Quản trị viên hệ thống

- Thay đổi cấu trúc giao diện hệ thống

- Cấu hình xử lý các thông tin hệ thống

- Quản trị tài khoản quản trị viên hệ thống

- Quản trị tài khoản giám đốc, thư ký, kế toán

- Quản trị tài khoản nhân viên kinh doanh

3.2.2. Nhân sự công ty (Giám đốc, thư ký và kế toán)

- Quản trị tài khoản nhân viên kinh doanh

- Quản trị thông tin thống kê, báo cáo

- Quản trị nhập hàng

- Quản trị sản phẩm và cấu hình sản phẩm

- Quản trị hóa đơn

24

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

- Quản trị đối tác vận chuyển và vận đơn

- Quản trị tài khoản ngân hàng của nhân viên

- Quản trị thông tin khách hàng

- Quản trị thông tin khuyến mãi

3.2.3. Nhân viên kinh doanh

- Quản trị sản phẩm và cấu hình sản phẩm

- Quản trị thông tin khách hàng, tài khoản ngân hàng khách hàng

- Quản trị đơn hàng

- Quản trị nhập hàng

- Quản trị đối tác vận chuyển và vận đơn

3.3. MÔ HÌNH TƯƠNG TÁC NGƯỜI DÙNG VÀ HỆ THỐNG

Hì nh 8. Sơ đồ UseCase tổng thể

3.3.1. Sơ đồ tổng thể

3.3.2. Sơ đồ phân rã Actor

3.3.2.1. Actor Quản trị viên

- Quản trị cấu hình hiển thị hệ thống

25

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Hì nh 9. UseCase quản trị cấu hình hệ thống

Hì nh 10. UseCase quản trị nhân sự

- Quản trị tài khoản nhân sự công ty

3.3.2.2. Actor Nhân sự công ty

Hì nh 11. UseCase quản trị tài khoản người dùng

- Quản trị tài khoản người dùng (nhân viên kinh doanh)

26

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Hì nh 12. UseCase quản trị báo cáo thống kê

- Quản trị báo cáo thống kê

Hì nh 13. UseCase quản trị nhà cung cấp

- Quản trị nhà cung cấp

Hì nh 14. UseCase quản trị nhập hàng

- Quản trị nhập hàng

27

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Hì nh 15. UseCase quản trị khuyến mãi

- Quản trị khuyến mãi

Hì nh 16. UseCase quản trị sản phẩm và cấu hình

- Quản trị sản phẩm và cấu hình

28

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Hì nh 17. UseCase quản trị hóa đơn

- Quản trị hóa đơn

Hì nh 18. UseCase quản trị tài khoản ngân hàng

- Quản trị tài khoản ngân hàng

29

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Hì nh 19. UseCase quản trị đối tác vận chuyển

- Quản trị đối tác vận chuyển

Hì nh 20. UseCase quản trị vận đơn

- Quản trị vận đơn

3.3.2.3. Actor Nhân viên công ty

30

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Hì nh 21. UseCase quản trị nhập hàng của nhân viên

- Quản trị nhập hàng

Hì nh 22. UseCase quản trị sản phẩm và cấu hình của nhân viên

- Quản trị sản phẩm và cấu hình

31

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Hì nh 23. UseCase quản trị hóa đơn của nhân viên

- Quản trị hóa đơn

Hì nh 24. UseCase quản trị vận đơn của nhân viên

- Quản trị vận đơn

32

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Hì nh 25. UseCase quản trị tài khoản ngân hàng của nhân viên

- Quản trị tài khoản ngân hàng

3.3.3. Đặc tả các UseCase tổng quát

3.3.3.1. Đặc tả UseCase đăng nhập

Đăng nhập Tên Use case

Chức năng này thực hiện kiểm tra Mã Nhân viên và Mô tả Use case Mật khẩu đăng nhập của người dùng trong hệ thống.

Quản trị viên, Nhân sự công ty, nhân viên kinh doanh Tác nhân chính

1 Mức

Quản trị viên Người chịu trách nhiệm

Không có Tiền điều kiện

Tự động thoát khỏi hệ thống khi không sử dụng và Đảm bảo tối thiểu hiện thị đăng nhập lại

Vào trang chính của hệ thống tại màng hình Đảm bảo thành công Dashboard

Truy cập vào hệ thống (https://seller.mrtrananh.com) Kích hoạt

- Nhập mã nhân viên

- Nhập mật khẩu đăng nhập

- Gõ Enter hoặc Click Đăng nhập Chuổi sự kiện chính

- Hệ thống kiểm tra Mã nhân viên, mật khẩu

đăng nhập

Không có Ngoại lệ

Không có Điểm mở rộng

33

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Bả ng 5. Đặc tả UseCase đăng nhập

3.3.3.2. Đặc tả UseCase Cấu hình giao diện

Cấu hình giao diện Tên Use case

Một giao diện thường ngày thường giờ phải dụng đã

trở nên nhàm chán hoặc chưa mang tính tiện dụng cho Mô tả Use case người dùng, quản trị viên cần thay đổi các khối hiển

thị trên giao diện cho phù hợp.

Quản trị viên Tác nhân chính

1 Mức

Quản trị viên Người chịu trách nhiệm

Đăng nhập vào hệ thống Tiền điều kiện

Trở về giao diện hiện hành Đảm bảo tối thiểu

Giao diện điều chỉnh với các khối được hiển thị đúng Đảm bảo thành công theo nhu cầu hiển thị

Từ Menu của hệ thống lựa chọn mục Quản trị > Cấu Kích hoạt hình giao diện

- Vào chuyên mục Cấu hình giao diện

- Cấu hình khối giao diện

- Lựa chọn hiển thị các khối cần thiết Chuổi sự kiện chính

- Thay đổi vị trí hiển thị của khối hiển thị theo

nhu cầu sử dụng

Không có Ngoại lệ

Bả ng 6. Đặc tả UseCase Cấu hình giao diện

Không có Điểm mở rộng

3.3.3.3. Đặc tả UseCase Quản trị tài khoản nhân sự

Quản trị tài khoản nhân sự Tên Use case

Đối với một công ty việc thay đổi nhân sự, thay đổi vị

trí nhân sự là một điều tất yếu có thể xảy ra, chức năng Mô tả Use case

quản trị nhân sự với các thông tin nhân sự là cần thiết.

34

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Quản trị viên, Nhân sự công ty Tác nhân chính

1 Mức

Quản trị viên, Nhân sự công ty Người chịu trách nhiệm

Đăng nhập vào hệ thống Tiền điều kiện

Xóa nhân sự ra khỏi hệ thống Đảm bảo tối thiểu

Lưu trữ thông tin nhân sự mới, nhân sự sau khi cập Đảm bảo thành công nhật thông tin vào hệ thống

Từ Menu chức năng hệ thống lựa chọn chuyên mục

Người dùng > Thêm mới hoặc lựa chọn người dùng Kích hoạt

trong bảng Người dùng > Cập nhật

- Lựa chọn thêm người dùng

- Nhập thông tin người dùng

- Lựa chọn chức vụ người dùng là các chức vụ

1. Thêm mới nhân sự:

- Xác nhận thêm

thuộc nhân sự công ty tương ứng

- Chọn người dùng cần cập nhật

- Điền thông tin thay đổi

- Xác nhận cập nhật

2. Cập nhật thông tin Chuổi sự kiện chính

- Chọn người dùng cần xóa

- Xác nhận xóa

3. Xóa người dùng:

Nhân sự từng tạo các đơn hàng tại công ty thì không Ngoại lệ thể xóa mà thay vào đó là vô hiệu hóa người dùng.

Bả ng 7. UseCase Quản trị tài khoản nhân sự

Không có Điểm mở rộng

3.3.3.4. Đặc tả UseCase Quản trị tài khoản nhân viên kinh doanh

Quản trị tài khoản nhân viên kinh donah Tên Use case

35

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Đối với một công ty việc thay đổi hoặc thêm mới nhân

viên kinh doanh là một điều tất yếu có thể xảy ra, chức Mô tả Use case năng quản trị nhân viên kinh doanh với các thông tin

nhân viên kinh doanh là cần thiết.

Quản trị viên, Nhân sự công ty Tác nhân chính

1 Mức

Quản trị viên, Nhân sự công ty Người chịu trách nhiệm

Đăng nhập vào hệ thống Tiền điều kiện

Xóa nhân viên kinh doanh ra khỏi hệ thống Đảm bảo tối thiểu

Lưu trữ thông tin nhân viên kinh doanh mới mới, nhân

viên kinh doanh sau khi cập nhật thông tin vào hệ Đảm bảo thành công

thống

Từ Menu chức năng hệ thống lựa chọn chuyên mục

Người dùng > Thêm mới hoặc lựa chọn người dùng Kích hoạt

trong bảng Người dùng > Cập nhật

- Lựa chọn thêm người dùng

- Nhập thông tin người dùng

- Lựa chọn chức vụ người dùng là các chức vụ

1. Thêm mới nhân viên kinh doanh:

- Xác nhận thêm

thuộc nhân viên kinh doanh công ty tương ứng

- Chọn người dùng cần cập nhật

- Điền thông tin thay đổi

- Xác nhận cập nhật

Chuổi sự kiện chính 2. Cập nhật thông tin

- Chọn người dùng cần xóa

3. Xóa người dùng:

Nhân viên kinh doanh từng tạo các đơn hàng tại công

ty thì không thể xóa mà thay vào đó là vô hiệu hóa Ngoại lệ

người dùng.

36

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Bả ng 8. Đặc tả UseCase Quản trị tài khoản nhân viên kinh doanh

Không có Điểm mở rộng

3.3.3.5. Đặc tả UseCase Quản trị nhà cung cấp

Quản trị nhà cung cấp Tên Use case

Thông tin nhà cung cấp sản phẩm là quan trọng, góp

phần cho công tác sử dụng dữ liệu lâu dài sau những Mô tả Use case thao tác nhập hàng vào hệ thống và hỗ trợ công ty

trong công tác thống kê, kiểm toán được dễ dàng.

Nhân sự công ty Tác nhân chính

1 Mức

Quản trị viên, Nhân sự công ty Người chịu trách nhiệm

Đăng nhập vào hệ thống Tiền điều kiện

Xóa nhà cung cấp ra khỏi hệ thống Đảm bảo tối thiểu

Lưu trữ thông tin nhà cung cấp mới mới mới, nhà Đảm bảo thành công cung cấp sau khi cập nhật thông tin vào hệ thống

Từ Menu chức năng hệ thống lựa chọn chuyên mục

Nhà cung cấp > Thêm mới hoặc lựa chọn Nhà cung Kích hoạt

cấp trong bảng Nhà cung cấp > Cập nhật

- Lựa chọn thêm nhà cung cấp

- Nhập thông tin nhà cung cấp

- Xác nhận thêm

1. Thêm mới nhà cung cấp:

- Chọn nhà cung cấp cần cập nhật

- Điền thông tin thay đổi

- Xác nhận cập nhật

2. Cập nhật thông tin Chuổi sự kiện chính

- Chọn nhà cung cấp cần xóa

4. Xóa nhà cung cấp:

Nhà cung cấp đã từng cung cấp hàng thông qua nhập Ngoại lệ

37

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

hàng thì không thể xóa khỏi hệ thống.

Bả ng 9. Đặc tả UseCase Quản trị nhà cung cấp

Không có Điểm mở rộng

3.3.3.6. Đặc tả UseCase Quản trị nhập hàng

Quản trị nhập hàng Tên Use case

Thông qua thông tin nhập hàng vào hệ thống với số

lượng và đơn giá nhập qua từng đợt, giúp cho nhân sự Mô tả Use case công ty thuận lợi trong công tác thông kê hàng hóa,

kiểm tra số lượng tồn kho và báo cáo doanh thu

Nhân sự công ty, nhân viên kinh doanh Tác nhân chính

1 Mức

Quản trị viên, Nhân sự công ty, nhân viên kinh doanh Người chịu trách nhiệm

Đăng nhập vào hệ thống Tiền điều kiện

Tạo được đơn nhập hàng với nhiều sản phẩm lựa chọn Đảm bảo tối thiểu thuộc phạm vi cung cấp của nhà cung cấp

Lưu trữ thông tin nhập hàng vào hệ thống Đảm bảo thành công

- Lựa chọn nhà cung cấp

- Lựa chọn sản phẩm

- Nhập số lượng, đơn giá

Từ Menu chức năng hệ thống lựa chọn chuyên mục Kích hoạt Nhập hàng

- Nhập các thông tin khác: hạn thanh toán, đã

Chuổi sự kiện chính

- Xác nhập nhập hàng

thanh toán,…

Nhà cung cấp đã từng cung cấp hàng thông qua nhập Ngoại lệ hàng thì không thể xóa khỏi hệ thống.

Bả ng 10. Đặc tả UseCase Quản trị nhập hàng

In được phiếu nhập hoặc lưu trữ sang file PDF Điểm mở rộng

3.3.3.7. Đặc tả UseCase Quản trị khuyến mãi

38

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Quản trị khuyến mãi Tên Use case

Chức năng cho phép tạo mới chương trình khuyến mãi

và quản lý chương trình khuyến mãi hiện có một cách Mô tả Use case

hiệu quản nhất.

Nhân sự công ty Tác nhân chính

1 Mức

Quản trị viên, Nhân sự công ty Người chịu trách nhiệm

Đăng nhập vào hệ thống Tiền điều kiện

Tạo được mã khuyến mãi với các thông tin khuyến Đảm bảo tối thiểu mãi được thể hiện đầy đủ

Lưu trữ thông tin nhập hàng vào hệ thống Đảm bảo thành công

- Nhập mã khuyến mãi

- Kiểm tra tỉnh khả dụng

- Nhập thông tin hạn khuyến mãi

Từ Menu chức năng hệ thống lựa chọn chuyên mục Kích hoạt Khuyến mãi

- Nhập thông tin đối tượng áp dụng và các chính

Chuổi sự kiện chính

sách thụ hưởng khuyến mãi

Không có Ngoại lệ

Bả ng 11. Đặc tả UseCase Quản trị khuyến mãi

Không có Điểm mở rộng

3.3.3.8. Đặc tả UseCase Quản trị sản phẩm và các cấu hình

Quản trị sản phẩm và các cấu hình Tên Use case

Chức năng cho phép quản trị sản phẩm trong hệ thống

với các thông tin căn bản của sản phẩm và các thuộc

tính của sản phẩm, phục vụ cho nhu cầu nhập hàng và Mô tả Use case

xuất hóa đơn bán hàng nhanh chóng – hiệu quả với độ

chính xác cao.

Nhân sự công ty, nhân viên kinh doanh Tác nhân chính

39

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

1 Mức

Quản trị viên, Nhân sự công ty, nhân viên kinh doanh Người chịu trách nhiệm

Đăng nhập vào hệ thống Tiền điều kiện

Thêm mới được sản phẩm và cập nhật được thông tin

sản phẩm khi có thay đổi, đồng thời quản lý các thuộc Đảm bảo tối thiểu tính của sản phẩm như: kích thước, cân nặng, loại sản

phẩm và các đặc điểm khác.

Lưu trữ thông tin sản phẩm vào hệ thống Đảm bảo thành công

- Thêm thuộc tính Loại sản phẩm

- Thêm thuộc tính Nhóm sản phẩm

- Thêm thuộc tính quy cách đóng gói

- Nhập thông tin sản phẩm

Từ Menu chức năng hệ thống lựa chọn chuyên mục Kích hoạt Sản phẩm

- Lựa chọn các thuộc tính cho sản phẩm

- Nhập đơn giá sản phẩm

- Xác nhận thêm sản phẩm

Chuổi sự kiện chính

Không có Ngoại lệ

Bả ng 12. Đặc tả UseCase Quản trị sản phẩm và các cấu hình

Không có Điểm mở rộng

3.3.3.9. Đặc tả UseCase Quản trị hóa đơn

Quản trị hóa đơn Tên Use case

Chức năng cho phép tạo mới hóa đơn bán hàng với các

thông tin khách hàng, hàng hóa mua, số lượng mua và Mô tả Use case tổng thanh toán hóa đơn nhanh chóng, tiện lợi và

chính xác nhất.

Nhân sự công ty, nhân viên kinh doanh Tác nhân chính

1 Mức

Quản trị viên, Nhân sự công ty, nhân viên kinh doanh Người chịu trách nhiệm

40

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Đăng nhập vào hệ thống Tiền điều kiện

Thêm mới được hóa đơn bán hàng với danh sách hàng

hóa được liệt kê đúng theo nhu cầu mua hàng của Đảm bảo tối thiểu

khách hàng.

Lưu trữ thông tin hóa đơn chính xác theo yêu cầu Đảm bảo thành công

- Chọn khách hàng

- Chọn sản phẩm

- Điều chỉnh giá sản phẩm, số lượng đúng theo

Từ Menu chức năng hệ thống lựa chọn chuyên mục Kích hoạt Hóa đơn

- Nhập mã khuyến mãi nếu có

- Nhập mã vận đơn cho đơn hàng có vận chuyển

- Xác nhận tạo hóa đơn

nhu cầu của khách hàng Chuổi sự kiện chính

Không có Ngoại lệ

In hóa đơn hoặc lưu sang định dạng file PDF Điểm mở rộng

Bả ng 13. Đặc tả UseCase Quản trị hóa đơn

3.3.3.10. Đặc tả UseCase Quản trị vận đơn

Quản trị vận đơn Tên Use case

Chức năng cho phép tạo mới vận đơn cho đơn hàng có

vận chuyển với đầy đủ thông tin người nhận hàng,

kích thước vận hàng, khối lượng vận hàng và đơn giá Mô tả Use case vận hàng. Hỗ trợ tối ưu hóa hệ thống rút ngắn thời

gian ghi chép vận đơn gửi cho đối tác khai thác vận

chuyển.

Nhân sự công ty, nhân viên kinh doanh Tác nhân chính

1 Mức

Quản trị viên, Nhân sự công ty, nhân viên kinh doanh Người chịu trách nhiệm

Đăng nhập vào hệ thống Tiền điều kiện

41

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Thêm mới được vận đơn với đầy thủ thông tin người Đảm bảo tối thiểu nhận hàng cần thiết

Lưu trữ thông tin vận đơn, gửi thông tin đến đối tác Đảm bảo thành công vận chuyển

- Nhập thông tin vận đơn

- Chọn hoặc thêm mới người nhân hàng

- Nhập thông tin của vận hàng

Từ Menu chức năng hệ thống lựa chọn chuyên mục Kích hoạt Hóa đơn

- Xác nhận vận đơn

- Gửi vận đơn đến đối tác vận chuyển

Chuổi sự kiện chính

Không có Ngoại lệ

Bả ng 14. Đặc tả UseCase Quản trị vận đơn

In vận đơn hoặc lưu sang định dạng file PDF Điểm mở rộng

42

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Hì nh 26. Sơ đồ class tổng thể

3.4. SƠ ĐỒ CLASS

43

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

3.5. SƠ ĐỒ HOẠT ĐỘNG CÁC CHỨC NĂNG

Hì nh 27. Sơ đồ hoạt động đăng nhập vào hệ thống

3.5.1. Chức năng đăng nhập

44

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Hì nh 28. Sơ đồ hoạt động thêm nhân viên

3.5.2. Chức năng thêm người dùng

45

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Hì nh 29. Sơ đồ tuần tự thêm khách hàng

3.5.3. Chức năng thêm khách hàng

46

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Hì nh 30. Sơ đồ hoạt động thêm sản phẩm

3.5.4. Chức năng thêm sản phẩm

47

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Hì nh 31. Sơ đồ hoạt động thêm hóa đơn/đơn hàng

3.5.5. Chức năng thêm hóa đơn/đơn hàng

48

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

3.6. SƠ ĐỒ TUẦN TỰ CÁC CHỨC NĂNG

Hì nh 32. Sơ đồ tuần tự chức năng đăng nhập

3.6.1. Chức năng đăng nhập

Hì nh 33. Sơ đồ tuần tự thêm nhân viên

3.6.2. Chức năng thêm nhân viên

49

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Hì nh 34. Sơ đồ hoạt động thêm khách hàng

3.6.3. Thêm khách hàng

50

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Hì nh 35. Sơ đồ tuần tự thêm sản phẩm

3.6.4. Chức năng thêm sản phẩm

51

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Hì nh 36. Sơ đồ tuần tự thêm hóa đơn/ đơn hàng

3.6.5. Chức năng thêm hóa đơn/đơn hàng

52

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Hì nh 37. Mô hình dữ liệu hệ thống

3.7. MÔ HÌNH CƠ SỞ DỮ LIỆU

53

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

3.8. TỔ CHỨC BẢNG DỮ LIỆU

3.8.1. Bảng dữ liệu BƯU CỤC

STT Tên cột Kiểu dữ liệu Not Null Diễn giải

char(13) Not Null Mã bưu cục 1 MABC

TENBC nvarchar(256) Tên bưu cục 2

SODIENTHOAIBC char(13) Điện thoại 3

char(256) Website 4 WEBSITEBC

FAXBC char(13) Fax 5

EMAILBC char(256) Email 6

nvarchar(256) Địa chỉ 7 DIACHIBC

TINHTHANHBC nvarchar(128) Tỉnh/TP 8

nvarchar(128) Quận/ huyện 9 QUANHUYENBC

nvarchar(128) Xã/Phường 10 XAPHUONGBC

Bả ng 15. Bảng dữ liệu Bưu cục

text Ghi chú 11 GHICHUBC

3.8.2. Bảng dữ liệu CHI TIẾT HÓA ĐƠN

STT Tên cột Kiểu dữ liệu Not Null Diễn giải

char(12) Not Null Mã hóa đơn 1 MAHD

int Not Null Mã sản phẩm 2 MASP

money Đơn giá 3 DONGIASP

SOLUONG int Not Null Số lượng 4

TONGTIEN money Not Null Tổng tiền 5

Bả ng 16. Bảng dữ liệu Chi tiết hóa đơn

ntext Ghi chú 6 GHICHU

3.8.3. Bảng dữ liệu CHI TIẾT NHẬP

STT Tên cột Kiểu dữ liệu Not Null Diễn giải

int Not Null Mã phiếu nhập 1 MAPN

int Not Null Mã sản phẩm 2 MASP

54

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

money Đơn giá 3 DONGIASP

SOLUONGNHAP int Not Null Số lượng 4

money Not Null Đơn giá nhập 5 DONGIANHAP

Bả ng 17. Bảng dữ liệu chi tiết nhập hàng

THANHTIENNHAP money Thành tiền 6

3.8.4. Bảng dữ liệu CHỨC VỤ VỊ TRÍ

STT Tên cột Kiểu dữ liệu Not Null Diễn giải

int Not Null Mã chức vụ 1 MACV

TENCV nvarchar(128) Tên chức vụ 2

Bả ng 18. Bảng dữ liệu Chức vụ vị trí

nvarchar(512) Diễn giải 3 DIENGIAICV

3.8.5. Bảng dữ liệu ĐƠN VỊ TÍNH

STT Tên cột Kiểu dữ liệu Not Null Diễn giải

1 MACV int Not Null Mã chức vụ

TENCV nvarchar(128) Tên chức vụ 2

Bả ng 19. Bảng dữ liệu Đơn vị tính

nvarchar(512) Diễn giải 3 DIENGIAICV

3.8.6. Bảng dữ liệu HÓA ĐƠN

STT Tên cột Kiểu dữ liệu Not Null Diễn giải

char(12) Not Null Mã hóa đơn 1 MAHD

char(18) Mã vận đơn 2 MAVD

char(8) Mã khuyến 3 MAKM

mãi

char(8) Not Null Mã nhân viên 4 MANV

int Not Null Mã khách 5 MAKH

hàng

THOIGIANXUATHD datetime Not Null Thời gian 6

xuất hóa đơn

55

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

int Not Null Hình thức 7 HINHTHUCTHANHTOANHD

thanh toán

TONGTIENHANGHD money Not Null Tổng tiền 8

hàng

THUEHD int Thuế giá tị 9

gia tăng

money Not Null Tổng thanh 10 TONGTHANHTOANHD

toán

bit Not Null vận Có 11 SHIPHANGHD

chuyển

money Phí vận 12 PHISHIPHD

chuyển

bit Not Null Đã thanh 13 DATHANHTOANHD

toán

ntext Ghi chú 14 GHICHU

Bả ng 20. Bảng dữ liệu Hóa đơn

bit Not Null Đã giao hàng 15 DAGIAOHANGHD

3.8.7. Bảng dữ liệu KHÁCH HÀNG

STT Tên cột Kiểu dữ liệu Not Null Diễn giải

1 MAKH int Not Null Mã

khách

hàng

TOCHUCKH bit Tổ chức 2

TENKH nvarchar(256) Tên khách 3

hàng

char(10) Mã số 4 MASOTHUEKH

thuế

char(13) Not Null Điện thoại 5 DIENTHOAIKH

FAXKH char(13) Fax 6

56

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

EMAILKH char(256) Email 7

ZALOKH char(13) Zalo 8

FACEBOOKKH char(256) Facebook 9

nvarchar(128) Địa chỉ 10 DIACHIKH

nvarchar(128) Tỉnh 11 TINHTHANHKH

thành

nvarchar(128) Quận 12 QUANHUYENKH

huyện

nvarchar(128) Xã 13 XAPHUONGKH

phường

nvarchar(64) Quốc gia 14 QUOCGIAKH

char(6) Mã bưu 15 MABUUCHINHKH

chính

bigint Điểm 16 DIEMTHUONGKH

thưởng

Bả ng 21. Bảng dữ liệu Khách hàng

Ghi chú text 17 GHICHUKH

3.8.8. Bảng dữ liệu KHUYẾN MÃI

STT Tên cột Kiểu dữ liệu Not Null Diễn giải

1 MAKM char(8) Not Null Mã khuyến mãi

TENKM nvarchar(256) Tên khuyến mãi 2

datetime Not Null Ngày bắt đầu 3 NGAYBATDAUKM

datetime Not Null Ngày kết thúc 4 NGAYKETTHUCKM

LOAIKM bit Not Null Loại khuyến mãi 5

decimal(18, 0) Not Null Giá trị khuyến 6 GIATRIKM

mãi

Not Null Giá trị đơn hàng 7 GIATRIDONHANGKM money

áp dụng

SOLANSUDUNGKM int Số lần sử dụng 8

57

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Bả ng 22. Bảng dữ liệu khuyến mãi

PHAMVIAPDUNGKM bit Phạm vi áp dụng 9

3.8.9. Bảng dữ liệu LOẠI SẢN PHẨM

STT Tên cột Kiểu dữ liệu Not Null Diễn giải

1 MALSP int Not Null Mã loại sản

phẩm

TENLSP nvarchar(256) Tên loại sản 2

phẩm

Diễn giải nvarchar(512) 3 DIENGIAILSP

Bả ng 23. Bảng dữ liệu Loại sản phẩm

char(1024) Ảnh minh họa 4 ANHMINHHOALSP

3.8.10. Bảng dữ liệu NHÀ CUNG CẤP

STT Tên cột Kiểu dữ liệu Not Null Diễn giải

1 MANCC int Not Null Mã nhà

cung cấp

TENNCC nvarchar(512) Tên nhà 2

cung cấp

nvarchar(256) Địa chỉ 3 DIACHINCC

nhà cung

cấp

TINHTHANHNCC nvarchar(256) Tỉnh 4

thành

nvarchar(256) Quận 5 QUANHUYENNCC

huyện

nvarchar(256) Xã 6 XAPHUONGNCC

phường

nvarchar(128) Quốc gia 7 QUOCGIANCC

nvarchar(12) Mã bưu 8 MABUUCHINHNCC

chính

58

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Not Null Điện thoại char(13) 9 DIENTHOAINCC

char(13) Fax 10 FAXNCC

char(128) Email 11 EMAILNCC

char(128) Website 12 WEBSITENCC

nvarchar(256) Người 13 NGUOILIENHENCC

liên hệ

char(13) Số điện 14 SDTNGUOILIENHENCC

thoại

người liên

Bả ng 24. Bảng dữ liệu Nhà cung cấp

hệ

3.8.11. Bảng dữ liệu NHÂN VIÊN

STT Tên cột Kiểu dữ liệu Not Null Diễn giải

1 MANV char(8) Not Null Mã nhân

viên

TENNV nvarchar(256) Tên nhân 2

viên

date Not Null Ngày sinh 3 NGAYSINHNV

nvarchar(256) Địa chỉ 4 DIACHINV

TINHTHANHNV nvarchar(256) Tỉnh 5

thành

nvarchar(256) Quận 6 QUANHUYENNV

huyện

nvarchar(256) Xã 7 XAPHUONGNV

phường

SODIENTHOAINV char(13) Not Null Số điện 8

thoại

BANGCAPNV nvarchar(256) Bằng cấp 9

char(13) Số chứng 10 SOCMTNV

59

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

minh

date Ngày cấp 11 NGAYCAPCMTNV

nvarchar(256) Nơi cấp 12 NOICAPCMTNV

char(32) Not Null Mật khẩu 13 MatkhauNV

char(512) Facebook 14 FACEBOOKNV

char(13) Zalo 15 ZALONV

char(128) Email 16 EMAILNV

Bả ng 25. Bảng cơ sở dữ liệu Nhân viên

char(1024) Hình ảnh 17 HINHANHNV

3.8.12. Bảng dữ liệu NHÓM

STT Tên cột Kiểu dữ liệu Not Null Diễn giải

1 MANSP int Not Null Mã nhóm sản

phẩm

TENNSP nvarchar(256) Not Null Tên nhóm sản 2

phẩm

Diễn giải nvarchar(512) 3 DIENGIAINSP

Bả ng 26. Bảng dữ liệu Nhóm sản phẩm

char(1024) Ảnh minh họa 4 ANHMINHHOANSP

3.8.13. Bảng dữ liệu NHÓM SẢN PHẨM

STT Tên cột Kiểu dữ liệu Not Null Diễn giải

int Not Null Mã sản phẩm 1 MASP

int Not Null Mã nhóm sản 2 MANSP

Bả ng 27. Bảng dữ liệu Sản phẩm thuộc nhóm

phẩm

3.8.14. Bảng dữ liệu PHIẾU NHẬP

STT Tên cột Kiểu dữ liệu Not Null Diễn giải

1 MAPN int Not Null Mã phiếu

nhập

60

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

int Not Null Mã nhà 2 MANCC

cung cấp

char(8) Not Null Mã nhân 3 MANV

viên

Ngày datetime Not Null 4 NGAYNHAPPN

nhập

TONGSOLUONGPN Not Null Số lượng int 5

nhập

TONGTIENPN Not Null Tổng tiền int 6

nhập

TONGMATHANGPN Not Null Tổng mặt int 7

hàng

Đã thanh bit 8 DATHANHTOANPN

toán

datetime Not Null Hẹn thanh 9 HENTHANHTOANPN

toán

Bả ng 28. Bảng dữ liệu phiếu nhập

Ghi chú text 10 GHICHUPN

3.8.15. Bảng dữ liệu QUY CÁCH ĐÓNG GÓI SẢN PHẨM

STT Tên cột Kiểu dữ liệu Not Null Diễn giải

Not Null Mã sản int 1 MASP

phẩm

Not Null Mã quy int 2 MAQC

Bả ng 29. Quy cách đóng gói sản phẩm

cách

3.8.16. Bảng dữ liệu QUY CÁCH

STT Tên cột Kiểu dữ liệu Not Null Diễn giải

1 MAQC int Not Null Mã quy

cách

61

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

nvarchar(512) Diễn giải 2 DIENGIAIQC

int SOLUONGQC Not Null Số lượng 3

int Not Null Giá trị 4 GIATRIQC

bit LOAIGITRIQC Loại giá 5

trị

Bả ng 30. Bảng dữ liệu Quy cách

3.8.17. Bảng dữ liệu SẢN PHẨM

STT Tên cột Kiểu dữ liệu Not Null Diễn giải

int Not Null Mã sản 1 MASP

phẩm

int Not Null Mã đơn vị 2 MADVT

tính

int Not Null Mã loại 3 MALSP

sản phẩm

Mã char(8) 4 MAKM

khuyến

mãi

TENSP nvarchar(256) Tên sản 5

phẩm

Khối float Not Null 6 KHOILUONGSP

lượng

float Dài 7 DAISP

float Rộng RONGSP 8

float Cao CAOSP 9

nvarchar(512) Nhà sản 10 NHASXSP

xuất

Nguồn nvarchar(256) 11 NGUONGOCSP

gốc

money Not Null Đơn giá 12 DONGIASP

62

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

int Tồn kho 13 TONKHO

ntext Giới thiệu 14 GIOITHIEUNGANSP

ntext Thông tin 15 THONGTINCHITIETSP

chi tiết

char(1024) Ảnh minh 16 ANHSP1

họa 1

char(1024) Ảnh minh 17 ANHSP2

họa 2

char(1024) Ảnh minh 18 ANHSP3

Bả ng 31. Bảng dữ liệu Sản phẩm

họa 3

3.8.18. Bảng dữ liệu TÀI KHOẢN NGÂN HÀNG

STT Tên cột Kiểu dữ liệu Not Null Diễn giải

1 MATKNH int Not Null Mã tài

khoản

TENNH nvarchar(512) Tên tài 2

khoản

CHINHANHNH nvarchar(256) Chi nhánh 3

TENCHUTAIKHOANNH nvarchar(128) Tên chủ 4

tài khoản

SOTAIKHOANNH char(15) Not Null Số tài 5

khoản

char(8) Mã nhân 6 MANV

viên

int Mã nhà 7 MANCC

cung cấp

int Mã khách 8 MAKH

Bả ng 32. Bảng dữ liệu Khách hàng

hàng

63

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

3.8.19. Bảng dữ liệu VẬN ĐƠN

STT Tên cột Kiểu dữ liệu Not Diễn

Null giải

1 MAVD char(18) Not Mã

Null vận

đơn

Mã hóa char(12) 2 MAHD

đơn

char(13) Not Mã 3 MABC

Null bưu

cục

char(24) Mã 4 MADIEUCHINHVD

điều

chỉnh

image Mã 5 MAVACHVD

vạch

TENNGUOINHANVD nvarchar(512) Tên 6

người

nhận

SDTNGUOINHANVD char(13) Not Số điện 7

Null thoại

người

nhận

nvarchar(128) Địa chỉ 8 DIACHINGUOINHANVD

người

nhận

TINHTHANHNGUOINHANVD nvarchar(128) Tỉnh 9

thành

nvarchar(128) Quận 10 QUANHUYENNGUOINHANVD

huyện

64

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

nvarchar(128) Xã 11 XAPHUONGNGUOINHANVD

phường

datetime Thời 12 THOIGIANGUIVD

gian

gửi

datetime Thời 13 THOIGIANNHANDUKIENVD

gian

nhận

dự kiến

Dài int 14 DAIVD

Rộng int 15 RONGVD

Cao int 16 CAOVD

Khối int 17 KHOILUONGVD

lượng

money Not Phí vận 18 PHIVANCHUYENVD

Null chuyên

Not Người 19 NGUOITHANHTOANPHIVANCHUYENVD bit

Null thanh

toán

money Phí thu 20 PHITHUHOVD

hộ

money Not Tổng 21 TONGTHANHTOANVD

Null thanh

toán

nvarchar(128) Not Trạng 22 TRANGTHAIVD

Null thái

Ghi ntext 23 GHICHU

Bả ng 33. Bảng dữ liệu Vận đơn

chú

3.8.20. Bảng dữ liệu TỈNH THÀNH PHỐ

65

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

STT Tên cột Kiểu dữ liệu Not Null Diễn

giải

1 MATTP char(5) Not Null Mã

tỉnh

thành

phố

TENTTP nvarchar(128) Not Null Tên 2

tỉnh

thành

phố

LOAITTP nvarchar(50) Not Null Loại 3

tỉnh

thành

Bả ng 34. Bảng dữ liệu Tỉnh Thành phố

phố

3.8.21. Bảng dữ liệu QUẬN HUYỆN

STT Tên cột Kiểu dữ liệu Not Null Diễn

giải

1 MAQH char(5) Not Null Mã

quận

huyện

TENQH nvarchar(128) Not Null Tên 2

Quận

huyện

LOAIQH nvarchar(50) Not Null Loại 3

Quận

huyện

TOADOQH char(64) Not Null Tọa độ 4

char(5) Not Null Mã 5 MATTP

tỉnh

66

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

thành

Bả ng 35. Bảng dữ liệu Quận huyện

phố

3.8.22. Bảng dữ liệu XÃ PHƯỜNG

STT Tên cột Kiểu dữ liệu Not Null Diễn

giải

1 MAXP char(5) Not Null Mã Xã/

Phường

TENXP nvarchar(128) Not Null Tên Xã/ 2

phường

LOAIXP nvarchar(50) Not Null Loại 3

Xã/

Phường

TOADOXP char(64) Not Null Tọa độ 4

char(5) Not Null Mã 5 MAQH

Quận/

Bả ng 36. Bảng dữ liệu Xã phường

Huyện

3.9. PHÂN TÍCH MỐI QUAN HỆ DỮ LIỆU GIỮA CÁC THỰC THỂ

Sơ đồ thể hiện mối quan hệ ST Tên mối quan hệ T Diễn giải

LOẠI SẢN PHẢM - Một Loại sản phẩm có thể không có hoặc có

1 và nhiều sản phẩm

SẢN PHẨM - Một Sản phẩm chỉ thuộc một và chỉ một loại

sản phẩm

67

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

NHÓM SẢN - Một nhóm sản phẩm có thể không có hoặc có PHẢM 2 nhiều sản phẩm và - Một sản phẩm có thể không thuộc hoặc thuộc SẢN PHẨM nhiều nhóm

ĐƠN VỊ TÍNH - Một đơn vị tính có thể không có hoặc có nhiều 3 và sản phẩm SẢN PHẨM - Một sản phẩm chỉ có một và chỉ một đơn vị tính

QUY CÁCH - Một quy cách không có hoặc có nhiều sản 4 và phẩm SẢN PHẨM - Một sản phẩm có thể không có hoặc có nhiều

quy cách đóng gói

KHUYẾN MÃI - Một khuyến mãi có thể không có hoặc có nhiều

5 và sản phẩm

SẢN PHẨM - Một sản phẩm chỉ có một và chỉ một khuyến

mãi

68

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

- Một phiếu nhập có một hoặc nhiều chi tiết nhập PHIẾU NHẬP - Một chi tiết nhập có chỉ một hoặc nhiều sản 6 và phẩm SẢN PHẨM - Một sản phẩm có thể không có hoặc có nhiều

chi tiết nhập

- Một chi tiết nhập có duy nhất một và chỉ một

phiếu nhập

HÓA ĐƠN - Một hóa đơn có thể không có hoặc có duy nhất

7 và chỉ một khuyến mãi

KHUYẾN MÃI - Một khuyến mãi có thể không có hoặc có nhiều

hóa đơn

- Một hóa đơn có một hoặc nhiều chi tiết hóa đơn HÓA ĐƠN

- Một chi tiết hóa đơn có một hoặc nhiều sẩn 8 và

phẩm SẢN PHẨM

- Một sản phẩm có thể không có hoặc có nhiều

chi tiết hóa đơn

- Một chi tiết hóa đơn chỉ duy nhất một hóa đơn

69

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

- Một hóa đơn có thể không có hoặc có nhiều vận HÓA ĐƠN

đơn 9 và

- Một vận đơn có thể không có hoặc có nhiều hóa VẬN ĐƠN

đơn

HÓA ĐƠN - Một hóa đơn chỉ thuộc một và chỉ một nhân 10 và viên NHÂN VIÊN - Một nhân viên có thể không có hoặc có nhiều

hóa đơn

HÓA ĐƠN - Một hóa đơn chỉ thuộc một và duy nhất một 11 và khách hàng KHÁCH HÀNG - Một khách hàng có thể không có hoặc có nhiều

hóa đơn

VẬN ĐƠN - Một vận đơn chỉ thuộc một và duy nhất một 12 và bưu cục BƯU CỤC - Một bưu cục có thể không có hoặc có nhiều vận

đơn

PHIẾU NHẬP - Một phiếu nhập chỉ thuộc một và chỉ một nhà 13 và cung cấp NHÀ CUNG CẤP - Một nhà cung cấp có thể không có hoặc có

nhiều phiếu nhập

70

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

PHIẾU NHẬP - Một phiếu nhập chỉ thuộc một và chỉ một nhân 14 và viên NHÂN VIÊN - Một nhân viên có thể không có hoặc có nhiều

phiếu nhập

CHỨC VỤ VỊ TRÍ

15 và

- Một chức vụ có thể không có hoặc có nhiều NHÂN VIÊN

nhân viên

- Một nhân viên có một hoặc nhiều chức vụ

TÀI KHOẢN

- Một nhân viên có thể không có hoặc có nhiều NGÂN HÀNG 16 tài khoản ngân hàng và

- Một tài khoản ngân hàng chỉ thuộc một và duy NHÂN VIÊN

nhất một nhân viên

TÀI KHOẢN

- Một khách hàng có thể không có hoặc có nhiều NGÂN HÀNG 17 tài khoản ngân hàng và

- Một tài khoản ngân hàng chỉ thuộc một và duy KHÁCH HÀNG

nhất một khách hàng

TÀI KHOẢN

- Một nhà cung cấp có thể không có hoặc có NGÂN HÀNG 18 nhiều tài khoản ngân hàng và

- Một tài khoản ngân hàng chỉ thuộc một và duy NHÀ CUNG CẤP

Bả ng 37. Bảng phân tích mối quan hệ dữ liệu các thực thể

nhất một nhà cung cấp

71

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

72

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

CHƯƠNG IV: DEMO VÀ TRIỂN KHAI HỆ THỐNG

4.1. GIỚI THIỆU TỔNG QUAN VỀ HẠ TẦNG DEMO

- Demo được cài đặt và vận hành trực tiếp tại tên miền

HTTPS://SELLER.MRTRANANH.COM

- Demo được cài đặt, vận hành trên Hosting Server Window và tích hợp kết nối

Microsoft SQL Server Version 12.0. Và có đăng ký chứng thực an toàn nội

dung mã hóa thông tin HTTPS.

4.2. GIAO DIỆN CHÍNH

Hì nh 38. Giao diện Dashboard

Giao diện chính của hệ thống (Dashboard) được hiển thị với đầy đủ các tính

năng sau khi quá trình đăng nhập vào hệ thống được diễn ra thành công.

4.3. CẤU TRÚC GIAO DIỆN:

73

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Trên máy tính

4.3.1.

Hì nh 39. Cấu trúc giao diện trên máy tính

Cấu trúc giao diện trên máy tính được chia ra thành 4 phần.

- Menu Site (1): Bao gồm toàn bộ Menu thể hiện các tính năng mà hệ thống đáp

ứng.

- Header Site (2): Bao gồm tên của xử lý hiện hành, khung tìm kiếm thông trong

site tương ứng dữ liệu với xử lý hiện hành.

- Body Site (3): Đây là phần thân cốt lõi của hệ thống, thể hiện toàn bộ thông tin

dữ kiện, nhập liệu và biểu diễn.

- Footer Site (4): Là phần dưới cùng của hệ thống, thông thường được dùng để

ghi nhận thông tin site, thông tin bản quyền, tác giả,…

74

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Trên điện thoại

4.3.2.

Cấu trúc giao diện trên điện thoại được thể hiện

vẫn đảm bảo đầy đủ như trên máy tính với 4 thành

phần:

- Menu Site (1): Bao gồm toàn bộ Menu thể hiện

các tính năng mà hệ thống đáp ứng.

- Header Site (2): Bao gồm tên của xử lý hiện

hành, khung tìm kiếm thông trong site tương ứng dữ

liệu với xử lý hiện hành.

- Body Site (3): Đây là phần thân cốt lõi của hệ

thống, thể hiện toàn bộ thông tin dữ kiện, nhập liệu và

biểu diễn.

- Footer Site (4): Là phần dưới cùng của hệ thống,

thông thường được dùng để ghi nhận thông tin site,

thông tin bản quyền, tác giả,… Hì nh 40. Cấu trúc giao diện trên điện thoại

4.4. GIAO DIỆN CHỨC NĂNG

Hì nh 41. Giao diện đăng nhập

5.1.1. Chức năng đăng nhập

75

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Lần đầu tiên thực hiện thao tác với hệ thống, View đăng nhập được hiển thị với

yêu cầu nhập [Mã nhân viên] và [Mật khẩu] để được truy cập vào hệ thống.

Nếu nhập sai thông tin, hệ thống sẽ phát thông báo “Đăng nhập thất bại, vui

lòng thử đăng nhập lại”. Và quá trình cứ được lặp lại cho đến khi được nhập đúng để

truy cập vào hệ thống hoặc người dùng chủ động thoát khỏi hệ thống.

Chức năng quản trị Hóa đơn

4.4.1.

Hì nh 42. Lựa chọn quản trị hóa đơn

Để quản trị hóa đơn người dùng có thể lựa chọn tại giao diện chính bằng cách

click chọn vào tổng đơn hàng hoặc lựa chọn Đơn hàng trên Menu Site bên tay phải của

hệ thống.

76

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Hì nh 43. Quản trị hóa đơn

Chuyên trang quản trị hóa đơn nhiều thông tin quan trọng được hiển thị bên

ngoài hệ thống quản trị hóa đơn. Tại đây người dùng có thể xem chi tiết thông tin hóa

đơn đã được tạo.

Để tìm nhanh một hóa đơn, người dùng có thể sử dụng thanh công cụ tìm kiếm

trên Header, hỗ trợ người dùng tìm kiếm theo tên khách hàng, mã khách hàng, mã hóa

đơn.

77

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Hì nh 44. Chi tiết hóa đơn

Chuyên trang chi tiết hóa đơn hiển thị đầy đủ thông tin của hóa đơn mà người

dung đã tạo trước đó. Tại đây người dùng có thể lựa chọn in hóa đơn để sao lưu hoặc

lưu file PDF khi cần thiết.

78

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Hì nh 45. Thêm mới hóa đơn

Chuyên trang thêm mới hóa đơn hỗ trợ người dùng thao tác thêm hóa đơn

nhanh chóng, chỉ với thao tác chọn khách hàng chọn mặc hàng cần mua, nhập số

lượng cần mua và xác nhận hóa đơn.

79

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

4.4.2. Chức năng quản trị Sản phẩm

Hì nh 46. Lựa chọn quản trị Sản phẩm

Để quản trị Sản phẩm người dùng có thể lựa chọn Sản Phẩm trên Menu Site bên

tay phải của hệ thống hoặc Click vào Thêm sản phẩm tại màng hình chính của hệ

thống để thêm nhanh sản phẩm mới.

80

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Hì nh 47. Quản trị sản phẩm

Chuyên trang quản trị sản phẩm đươc hiển thị tóm tắt các thông tin chính của

sản phẩm đủ đáp ứng cho chu cầu quản lý.

Bằng công cụ tìm kiếm trên Header, người dùng có thể tìm nhanh một sản

phẩm thông qua tên sản phẩm hoặc mã sản phẩm.

81

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Hì nh 48. Chi tiết sản phẩm

Chi tiết sản phẩm của một sản phẩm người dùng lựa chọn được hiển thị có cấu

trúc gõ gàng, thẩm mỹ đảm bảo ngay cả trên máy tính và thiết bị điện thoại.

82

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Hì nh 49. Quản lý loại sản phẩm

Danh sách loại sản phẩm được hiện thị với tên loại, diễn giải, ảnh minh họa và

số lượng sản phẩm thuộc loại sản phẩm.

Bằng thanh công cụ tìm kiếm trên Header, người dùng dễ dàng tìm nhanh một

loại sản phẩm theo tên hoặc theo mã loại sản phẩm.

83

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Hì nh 50. Quản lý đơn vị tính sản phẩm

Danh sách quản lý đơn vị tính sản phẩm được hiển thị trong cài đặt cấu hình sản

phẩm với thông tin: Tên đơn vị, số lượng sản phẩm thuộc đơn vị, diễn giải.

Bằng thành công cụ tìm kiếm trên Header, người dùng có thể tìm kiếm nhanh

Hì nh 51. Quản trị nhóm sản phẩm

đơn vị tính theo tên, mã đơn vị.

84

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Danh sách nhóm sản phẩm được hiển thị khi lựa chọn cấu hình nhóm sản phẩm

tại chức năng Quản trị Sản phẩm.

Bằng công cụ tìm kiếm trên Header người dùng hoàn toàn có thể tìm kiếm

nhanh một nhóm theo tên nhóm hoặc mã nhóm.

4.4.3. Chức năng quản trị Khách hàng

Hì nh 52. Lựa chọn quản trị Khách hàng

Để lựa chọn tính năng quản trị khách hàng, người dùng có thể chọn chuyên mục

khách hàng tại Menu bên trái của hệ thống hoặc chọn block Tổng khách hàng tại màng

hình nội dung Dashboard, đồng thời tại đây người dùng có thể thêm mới người dùng

bằng lựa chọn Thêm khách hàng.

85

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Hì nh 53. Quản trị Khách hàng

Kết quả của quá trình truy cập vào Quản trị khách hàng là nhận được danh sách

khách hàng với các thông tin căn bản được hiển thị tóm tắt.

Bằng thành công cụ tìm kiếm trực tiếp trên Header người dùng có thể tìm

Hì nh 54. Chi tiết thông tin Khách hàng

nhanh tên của khách hàng với tên khách hàng, số điện thoại,…

Chi tiết thông tin khách hàng được tổ thức hiển thị rõ ràng và đầy đủ thông tin

đúng như đăng ký.

86

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Hì nh 55. Quản lý Thêm khách hàng

Người dùng nhập thông tin khách hàng chưa có trong hệ thống và tiến hành xác

nhận thêm khách hàng.

4.4.4. Chức năng quản trị Nhà cung cấp

Hì nh 56. Quản trị Nhà cung cấp

Sau lực chọn chuyên mục quản lý nhà cung cấp, hệ thống hiển thị cho người

dùng danh sách các nhà cung cấp với các thông tin căn bản của nhà cung cấp.

87

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Hì nh 57. Chi tiết thông tin nhà cung cấp

Chi tiết thông tin nhà cung cấp được thể hiện đầy đủ như thông tin nhân viên đã

Hì nh 58. Thêm nhà cung cấp

được nhập vào hệ thống.

Thêm nhà cung cấp thật dễ dàng và nhanh chóng chỉ với một việc duy nhất là

điền thông tin và xác nhận gửi đi xử lý.

88

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

4.4.5. Chức năng quản trị Bưu cục

Hì nh 59. Lựa chọn quản trị Bưu cục

Để truy cập hệ thống quản lý bưu cục, người dùng thao tác chọn chức năng vận

Hì nh 60.Quản trị Bưu cục

chuyển trên thanh Menu bên trái của chương trình.

Sau khi thực hiện lựa chọn tính năng quản lý bưu cục, danh sách bưu cục tồn tại

trong hệ thống được hiển thị.

89

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Bằng công cụ tìm kiếm trên Header người dùng có thể tìm kiếm nhanh một bưu

Hì nh 61. Quản trị thêm bưu cục

cục thông qua tên, số điện thoại. số fax, hoặc địa chỉ của người nhận.

Để thêm một bưu cục, người dùng chỉ cần đơn giản là nhập đầy đủ thông tin

của bưu cục vào biểu mẫu và thực hiện thêm bưu cục.

90

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

4.4.6. Chức năng quản trị Vận đơn

Hì nh 62. Lựa chọn quản trị Vận đơn

Để sử dụng tính năng quản trị vận đơn, người dùng lựa chọn trên hệ

Hì nh 63. Quản trị Vận đơn

thống tại Menu trái chức năng vận chuyển.

91

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

Hệ thống hiển thị toàn bộ các vận đơn đã được tạo thành công trên hệ thống. Bằng

công cụ tìm kiếm trên Header hỗ trợ tìm kiếm vận đơn theo: mã vận đơn, mã khách

Hì nh 64. Tạo mới vận đơn

hàng, mã hóa đơn, …

Để tạo được vận đơn, người dùng hệ thống chỉ cần điền đầy đủ thông tin cần thiết vào

biểu mẫu và xác nhận tạo vận đơn.

92

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

CHƯƠNG V: KẾT LUẬN

5.2. KẾT QUẢ VÀ KINH NGHIỆM

5.2.1. Kết quả

- Đã xây dựng được hệ thống quản lý bán hàng với nền tảng ASP.NET MVC5

với đầy đủ các tính năng cần thiết.

- Ứng dụng công nghệ Bootstrap vào hệ thống, góp phần tăng tính tương thích về

cấu trúc giao diện cho nhiều kích thước màng hình khác nhau, từ điện thoại đến

máy tỉnh bảng và Laptop/PC.

- Ứng dụng được các công nghệ JavaScript, Json, Ajax,…

5.2.2. Kinh nghiệm

- Rèn luyện kỹ năng tự học và giải quyết vấn đề.

- Củng cố kiến thức về: lập trình web (HTML, CSS, JavaScript), ASP.NET C#,

LINQ, ADO.NET, Sql Server.

- Sử dụng thành thạo hơn các công cụ Microsoft Visual Studio 2015, Microsoft

SQL Server 2016, FileZilla, Adobe Illustrator CC

- Hiểu thêm về mã hóa mật khẩu bằng MD5.

5.3. HẠN CHẾ

- Kiến thức về MVC còn hạn chế

- Phương thức code và tổ chức code chưa được tối ưu

- Thời gian thực hiện còn hạn chế

- Đây là công nghệ khá mới nên chưa có nhiều tài liệu nghiên, diễn đàn hỗ trợ

5.4. HƯỚNG PHÁT TRIỂN

- Tích hợp vào hệ thống các API của các đối tác vận chuyển để Vận đơn được tạo

tự động

- Nâng cao tốc độ thực thi và hiệu suất của hệ thống.

- Nâng cao tính năng bảo mật của hệ thống.

- Nâng cấp hệ thống tự tính phí vận chuyển trên toàn nước

- Nâng cấp và phát triển một trang tích hợp bán hàng trực tuyến đồng bộ với hệ

thống quản lý bán hàng.

93

Sinh viên thực hiện: Trần Lam Anh – 13D480201016

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

TÀI LIỆU THAM KHẢO

Tiếng Việt

[1] Phạm Nguyễn Cương – Nguyễn Trần Minh Thư – Hồ Bảo Quốc,

Giáo trình phân tích thiết kế hệ thống thông tin theo hướng đối tượng.

Nhà xuất bản Khoa học và Kỹ thuật, Hà Nội, 2016.

[2] Nguyễn Văn Vy, Giáo trình phân tích thiết kế các hệ thống thông tin.

Nhà xuất bản Giáo dục Việt Nam, 2010.

[3] Đậu Quang Tuấn, Giáo trình lập trình hướng đối tượng và lập trình cơ

sở dữ liệu với C#. Nhà xuất bạn Giao Thông Vận Tải, 2006

[4] Technology Education, “Khóa học lập trình ASP.NET MVC”.

https://goo.gl/fynVqn

[5] Đào Hải Nam (21/7/2013), “Bắt đầu với mô hình ASP.NET MVC5”

https://goo.gl/mC8WO1

[6] Lập trình ASP.NET MVC.

https://goo.gl/W90Ooh

Tiếng Anh

[1] Adam Freeman, Pro ASP.NET MVC 5. Published by Apress, 2013

[2] Jose Guay Paz, Beginning ASP.NET MVC5. Published by Apress, 2014

[3] Join the Stack Overflow Community

http://stackoverflow.com/

[4] Learn about ASP.NET MVC

http://www.asp.net/mvc/overview/getting-started

94

Sinh viên thực hiện: Trần Lam Anh – 13D480201016