Kết quả của phần mềm Xây dựng được một số các chức năng của một website bán hàng: Đối với người dùng: Đăng nhập Đăng kí Tìm kiếm theo tên mặt hàng Xem chi tiết mặt hàng Quản
Trang 1ii
TÓM TẮT
Ngày nay, công nghệ ngày càng phát triển, và cùng với sự phát triển đó thì Intenet là một lĩnh vực phát triển mạnh mẽ hàng đầu Từ đó, việc giao dịch, mua bán trên mạng hiện nay không còn là một lĩnh vực xa lạ mà nó đã được phổ biến rộng rãi Đồng hành với điều đó thì công nghệ web trên nền NET Framework của Microsoft ngày càng phát triển mạnh mẽ hơn, cùng với rất nhiều các công nghệ khác như: PHP, JSP, … Trong đó, ASP.NET MVC là một công nghệ đang phát triển mạnh
mẽ cùng với nhiều tính năng ưu việt đáp ứng nhu cầu của người thiết kế và người lập trình
Vì vậy em đã chọn xây dựng website dựa trên ASP.NET MVC framework và một số tính năng khác để hỗ trợ khách hàng trong việc mua hàng trên mạng Internet
Trang 2iii
ABSTRACT
Today, the technology is growing, and with that development, the Intenet is a strong growth sector leading From there, the transaction and online shopping are no longer a strange field It was widespread everywhere
Together with that, the web-based technologies of Microsoft NET Framework
is growing stronger as many other technologies such as PHP, JSP, In technology ASP.NET MVC which meets for designers and developers is flourished with many premium features
So, I decided to build a website base on ASP.NET MVC5 Framework and some other features to support customer buy product via internet
Trang 3iv
MỤC LỤC
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 3
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 4
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN 6
LỜI CÁM ƠN i
TÓM TẮT ii
ABSTRACT iii
MỤC LỤC iv
DANH SÁCH CHỮ VIẾT TẮT viii
DANH SÁCH BẢNG BIỂU ix
DANH SÁCH HÌNH ẢNH, BIỂU ĐỒ xi
CHƯƠNG 1: TỔNG QUAN 13
1.1 Giới thiệu tổng quát 13
1.2 Mục đích của đồ án 13
1.3 Kết quả của phần mềm 13
Chương 2: CƠ SỞ LÝ THUYẾT 15
2.1 Giới thiệu mô hình MVC 15
2.1.1 Xuất xứ 15
2.1.2 Kiến trúc của mô hình MVC 15
2.1.3 Đặc điểm của mô hình MVC 16
2.2 Công nghệ ASP.NET MVC5 16
2.2.1 Lịch sử phát triển của ASP.NET 16
2.2.2 Khái quát các thành phần của ASP.NET MVC 17
2.2.3 Lợi ích của mô hình ASP.NET MVC 18
2.2.4 Đặc điểm ASP.NET MVC FRAMEWORK 18
2.2.5 Các tính năng của mô hình MVC3 và MVC4 20
2.2.6 Cải tiến của mô hình MVC5 21
Trang 4v
2.3 Bootstrap 21
2.4 Authentication Filter 22
2.5 Giới thiệu mô hình B2C 23
2.5.1 Khái niệm 23
2.5.2 Phân loại 23
2.5.3 Cách thức hoạt động 23
CHƯƠNG 3: WEBSITE BÁN HÀNG ONLINE 24
3.1 Khảo sát thực trạng và phân tích đặc tả yêu cầu 24
3.1.1 Khảo sát thực trạng 24
3.1.2 Phân tích thực trạng 24
3.1.2.1 Một số website bán hàng online phổ biến hiện nay 24
3.1.2.2 Các chức năng chính của website bán hàng online 26
3.1.3 Mục tiêu đề tài 26
3.1.4 Phân tích yêu cầu 27
3.1.4.1 Sơ đồ use case 27
3.1.4.2 Mô tả use case 28
3.1.4.2.1 Use case Đăng ký: 28
3.1.4.2.2 Use case Đăng nhập: 28
3.1.4.2.3 Use case Đăng xuất: 28
3.1.4.2.4 Use case Quản lý mặt hàng: 29
3.1.4.2.5 Use case Quản lý loại mặt hàng: 29
3.1.4.2.6 Use case Quản lý nhà sản xuất 30
3.1.4.2.7 Use case Quản lý nhà cung cấp: 31
3.1.4.2.8 Use case Quản lý loại nhà cung cấp: 32
3.1.4.2.9 Use case Quản lý hợp đồng cung cấp: 33
3.1.4.2.10 Use case Quản lý chi tiết hợp đồng cung cấp: 34
3.1.4.2.11 Use case Quản lý khả năng cung cấp: 35
Trang 5vi
3.1.4.2.12 Use case Quản lý chi tiết khả năng cung cấp: 36
3.1.4.2.13 Use case Quản lý đặt hàng: 37
3.1.4.2.14 Use case Quản lý chi tiết đặt hàng: 37
3.1.4.2.15 Use case Quản lý giao hàng: 38
3.1.4.2.16 Use case Quản lý chi tiết giao hàng: 39
3.1.4.2.17 Use case Quản lý hình thức vận chuyển: 40
3.1.4.2.18 Use case Quản lý khách hàng: 41
3.1.4.2.19 Use case Quản lý loại khách hàng: 42
3.1.4.2.20 Use case Quản lý user: 43
3.1.4.2.21 Use case Quản lý quyền user: 44
3.1.4.2.22 Use case Quản lý giỏ hàng: 45
3.1.4.2.23 Use case Tìm kiếm theo tên mặt hàng: 45
3.1.4.2.24 Use case Xem chi tiết mặt hàng: 46
3.1.4.2.25 Use case Đặt hàng: 46
3.2 Thiết kế 46
3.2.1 Thiết kế giao diện 46
3.2.1.1 Giao diện người dùng 46
3.2.1.2 Giao diện quản trị 49
3.2.2 Thiết kế cơ sở dữ liệu 52
3.2.2.1 Sơ đồ lớp 52
3.2.2.2 Sơ đồ logic 53
3.2.2.3 Cấu trúc bảng CSDL 54
3.2.2.3.1 Bảng User 54
3.2.2.3.2 Bảng Roles 55
3.2.2.3.3 Bảng Mặt hàng (MatHang) 56
3.2.2.3.4 Bảng Loại mặt hàng (LoaiMatHang) 57
3.2.2.3.5 Bảng Nhà sản xuất (NhaSanXuat) 57
Trang 6vii
3.2.2.3.6 Bảng Khách hàng (KhachHang) 58
3.2.2.3.7 Bảng LoaiKhachHang 59
3.2.2.3.8 Bảng Wishlist (WISTLIST) 59
3.2.2.3.9 Bảng Đặt hàng (DatHang) 60
3.2.2.3.10 Bảng Chi tiết đặt hàng (CTDH) 61
3.2.2.3.11 Bảng Hình thức vận chuyển (VanChuyen) 62
3.2.2.3.12 Bảng Nhà cung cấp (NhaCungCap) 62
3.2.2.3.13 Bảng Loại nhà cung cấp (LoaiNCC) 63
3.2.2.3.14 Bảng Hợp đồng cung cấp (HDCC) 63
3.2.2.3.15 Bảng Khả năng cung cấp (KNCC) 64
3.2.2.3.16 Bảng Chi tiết khả năng cung cấp (CTKhaNangCC) 64
3.2.2.3.17 Bảng Giao hàng (GiaoHang) 65
3.2.2.3.18 Bảng Chi tiết giao hàng (ChiTietGH) 65
3.2.3 Thiết kế xử lý 66
3.2.3.1 Login 66
3.2.3.2 Đăng ký 67
3.2.3.3 Đặt hàng 68
3.2.3.4 Tìm kiếm mặt hàng 68
3.2.3.5 Quản lý mặt hàng 69
CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 71
4.1 Kết quả đạt được 71
4.2 Ưu điểm 71
4.3 Khuyết điểm 71
4.4 Hướng phát triển 71
TÀI LIỆU THAM KHẢO 73
PHỤ LỤC 74
Trang 7viii
DANH SÁCH CHỮ VIẾT TẮT STT Các từ viết tắt Từ viết đầy đủ
3 AJAX Asynchronous JavaScript and XML
4 API Application Programming Interface
11 JSON JavaScript Object Notation
13 OOP Object Oriented Programming
Trang 8ix
DANH SÁCH BẢNG BIỂU
Bảng 2.1: Quá trình phát triển của ASP.NET 17
Bảng 2.2: Các loại security trong MVC5 22
Bảng 3.1: Mô tả use case Đăng ký 28
Bảng 3.2: Mô tả use case Đăng nhập 28
Bảng 3.3: Mô tả use case Đăng xuất 28
Bảng 3.4: Mô tả use case Quản lý mặt hàng 29
Bảng 3.5: Mô tả use case Quản lý loại mặt hàng 30
Bảng 3.6: Mô tả use case Quản lý nhà sản xuất 31
Bảng 3.7: Mô tả use case Quản lý nhà cung cấp 32
Bảng 3.8: Mô tả use case Quản lý loại nhà cung cấp 33
Bảng 3.9: Mô tả use case Quản lý hợp đồng cung cấp 34
Bảng 3.10: Mô tả use case Quản lý chi tiết hợp đồng cung cấp 35
Bảng 3.11: Mô tả use case Quản lý khả năng cung cấp 36
Bảng 3.12: Mô tả use case Quản lý chi tiết khả năng cung cấp 37
Bảng 3.13: Mô tả use case Quản lý đặt hàng 37
Bảng 3.14: Mô tả use case Quản lý chi tiết đặt hàng 38
Bảng 3.15: Mô tả use case Quản lý giao hàng 39
Bảng 3.16: Mô tả use case Quản lý chi tiết giao hàng 40
Bảng 3.17: Mô tả use case Quản lý hình thức vận chuyển 41
Bảng 3.18: Mô tả use case Quản lý khách hàng 42
Bảng 3.19: Mô tả use case Quản lý loại khách hàng 43
Bảng 3.20: Mô tả use case Quản lý user 44
Bảng 3.21: Mô tả use case Quản lý quyền user 45
Bảng 3.22: Mô tả use case Quản lý giỏ hàng 45
Bảng 3.23: Mô tả use case Tìm kiếm theo tên mặt hàng 45
Bảng 3.24: Mô tả use case Xem chi tiết mặt hàng 46
Bảng 3.25: Mô tả use case Đặt hàng 46
Bảng 3.26: Mô tả bảng User 55
Bảng 3.27: Mô tả bảng Roles 55
Bảng 3.28: Mô tả bảng MatHang 57
Bảng 3.29: Mô tả bảng LoaiMatHang 57
Bảng 3.30: Mô tả bảng NhaSanXuat 57
Bảng 3.31: Mô tả bảng KhachHang 59
Trang 9x
Bảng 3.32: Mô tả bảng LoaiKhachHang 59
Bảng 3.33: Mô tả bảng WISHLIST 60
Bảng 3.34: Mô tả bảng DatHang 61
Bảng 3.35: Mô tả bảng CTDH 61
Bảng 3.36: Mô tả bảng VanChuyen 62
Bảng 3.37: Mô tả bảng NhaCungCap 63
Bảng 3.38: Mô tả bảng LoaiNCC 63
Bảng 3.39: Mô tả bảng HDCC 64
Bảng 3.40: Mô tả bảng KNCC 64
Bảng 3.41: Mô tả bảng CTKhaNangCC 65
Bảng 3.42: Mô tả bảng GiaoHang 65
Bảng 3.43: Mô tả bảng ChiTietGH 66
Trang 10xi
DANH SÁCH HÌNH ẢNH, BIỂU ĐỒ
Hình 2.1: Sơ đồ cấu trúc MVC 16
Hình 2.2: Nền tảng ASP.NET MVC Framework 17
Hình 3.1 : Wesite amazon.com 24
Hình 3.2: Website lazada.vn 25
Hình 3.3: Website vatgia.com 25
Hình 3.4: Website pro-office.vn 26
Hình 3.5: Sơ đồ use case cho Khách hàng 27
Hình 3.6: Sơ đồ use case cho admin 27
Hình 3.7: Trang chủ người dùng (nửa trên) 46
Hình 3.8: Trang chủ người dùng (nửa dưới) 47
Hình 3.9: Giao diện đặt hàng 47
Hình 3.10: Giao diện giỏ hàng 48
Hình 3.11: Giao diện xem chi tiết mặt hàng 48
Hình 3.12: Trang chủ quản trị 49
Hình 3.13: Giao diện Quản lý mặt hàng (nửa trên) 49
Hình 3.14: Giao diện Quản lý mặt hàng (nửa dưới) 50
Hình 3.15: Giao diện quản lý_Xem thông tin chi tiết 50
Hình 3.16: Giao diện quản lý_Sửa thông tin 51
Hình 3.17: Giao diện quản lý_Xoá 51
Hình 3.18: Giao diện quản lý_Thêm mới 52
Hình 3.19: Sơ đồ lớp 52
Hình 3.20: Sơ đồ logic 53
Hình 3.21: Bảng User 54
Hình 3.22: Bảng Roles 55
Hình 3.23: Bảng MatHang 56
Hình 3.24: Bảng LoaiMatHang 57
Hình 3.25: Bảng NhaSanXuat 57
Hình 3.26: Bảng KhachHang 58
Hình 3.27: Bảng LoaiKhachHang 59
Hình 3.28: Bảng WISHLIST 59
Hình 3.29: Bảng DatHang 60
Hình 3.30: Bảng CTDH 61
Trang 11xii
Hình 3.31: Bảng VanChuyen 62
Hình 3.32: Bảng NhaCungCap 62
Hình 3.33: Bảng LoaiNCC 63
Hình 3.34: Bảng HDCC 63
Hình 3.35: Bảng KNCC 64
Hình 3.36: Bảng CTKhaNangCC 64
Hình 3.37: Bảng GiaoHang 65
Hình 3.38: Bảng ChiTietGH 65
Hình 3.39: Sơ đồ tuần tự của quá trình login 66
Hình 3.40: Sơ đồ tuần tự của quá trình đăng ký 67
Hình 3.41: Sơ đồ tuần tự của quá trình đặt hàng 68
Hình 3.42: Sơ đồ tuần tự của quá trình tìm kiếm mặt hàng 68
Hình 3.43: Sơ đồ tuần tự của quá trình quản lý mặt hàng_Xem chi tiết mặt hàng 69
Hình 3.44:Sơ đồ tuần tự của quá trình quản lý mặt hàng_Sửa thông tin mặt hàng 69
Hình 3.45: Sơ đồ tuần tự của quá trình quản lý mặt hàng_Xoá mặt hàng 70
Hình 3.46:Sơ đồ tuần tự của quá trình quản lý mặt hàng_Thêm mặt hàng 70
Trang 1213
CHƯƠNG 1: TỔNG QUAN
1.1 Giới thiệu tổng quát
Ngày nay, công nghệ ngày càng phát triển, và cùng với sự phát triển đó thì Intenet là một lĩnh vực phát triển mạnh mẽ hàng đầu Từ đó, việc giao dịch, mua bán trên mạng hiện nay không còn là một lĩnh vực xa lạ mà nó đã được phổ biến rộng rãi Đồng hành với điều đó thì công nghệ web trên nền NET Framework của Microsoft ngày càng phát triển mạnh mẽ hơn, cùng với rất nhiều các công nghệ khác như: JSP, PHP, … Trong đó, công nghệ ASP.NET MVC là một công nghệ đang phát triển mạnh mẽ cùng với nhiều tính năng ưu việt đáp ứng nhu cầu của người lập trình và người thiết kế
1.2 Mục đích của đồ án
Tìm hiểu, nghiên cứu ASP.NET MVC5, WEB API và Bootstrap để xây dựng một website bán hàng
Xây dựng website bán văn phòng phẩm online đáp ứng được một số quy trình
cơ bản của một website bán hàng
1.3 Kết quả của phần mềm
Xây dựng được một số các chức năng của một website bán hàng:
Đối với người dùng:
Đăng nhập
Đăng kí
Tìm kiếm theo tên mặt hàng
Xem chi tiết mặt hàng
Quản lý đặt hàng, chi tiết đặt hàng
Quản lý giao hàng, chi tiết giao hàng
Quản lý nhà cung cấp, loại nhà cung cấp
Trang 1314
Quản lý khả năng cung cấp, chi tiết khả năng cung cấp
Quản lý hợp đồng cung cấp, chi tiết hợp đồng cung cấp
Quản lý user, quyền user
Quản lý các hình thức vận chuyển
Trang 1415
Chương 2: CƠ SỞ LÝ THUYẾT
2.1 Giới thiệu mô hình MVC
2.1.1 Xuất xứ
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).[1]
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 Sau đó trong một thời gian dài hầu như không có thông tin nào về MVC, ngay cả trong tài liệu
80 Smalltalk 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
2.1.2 Kiến trúc của mô hình MVC
Trong kiến trúc MVC, một đối tượng đồ hoạ người dùng (GUI Component) bao gồm 3 thành phần cơ bản: 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.
Trang 1516
Hình 2.1: Sơ đồ cấu trúc MVC
Model: đại diện cho dữ liệu 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ó
View: là thể hiện trực quan của Model, hay nói cách khác chính là giao diện của đối tượng đồ hoạ Nó làm nhiệm vụ thể hiện một Model hay nhiều Model một cách trực quan, nhận thông tin (từ một Model hoặc nhiều Model) sau đó biểu diễn lên trang website
Controller: điều khiển việc tương tác giữa đối tượng đồ hoạ với người sử dụng cũng như những đối tượng khác Nó nằm giữa tầng View và Model, làm nhiệm vụ tìm kiếm, xử lý một hoặc nhiều Model, sau đó gửi Model tới View để View hiển thị
2.1.3 Đặc điểm của mô hình MVC
Lợi ích quan trọng nhất của mô hình MVC là nó giúp cho ứng dụng dễ bảo trì, module hoá các chức năng và được xây dựng nhanh chóng
MVC tách các tác vụ của ứng dụng thành các phần riêng lẽ: Model, View, Controller giúp cho việc xây dựng ứng dụng nhẹ nhàng hơn, dễ thêm các tính năng mới đồng thời dễ dàng thay đổi các tính năng cũ Nó cho phép thay đổi một phần của ứng dụng mà không ảnh hưởng đến các phần khác
MVC đã tách biệt sự phụ thuộc giữa các thành phần trong một đối tượng đồ hoạ, làm tăng tính linh động (flexibility) và tính tái sử dụng (reusebility) của đối tượng đồ hoạ Một đối tượng đồ hoạ có thể dễ dàng thay đổi giao diện (View) hoặc cách thức lưu trữ (Model) hoặc cách xử lý (Controller) của đối tượng mà những thành phần còn lại vẫn giữ nguyên
2.2 Công nghệ ASP.NET MVC5
2.2.1 Lịch sử phát triển của ASP.NET
Thời kỳ đầu Common Gateway Interface (CGI)
Thời kỳ tiếp theo Microsoft Internet Database Connector (IDC)
Trang 16Bảng 2.1: Quá trình phát triển của ASP.NET
2.2.2 Khái quát các thành phần của ASP.NET MVC
Giống như mô hình MVC, ASP.NET MVC cũng chia nhỏ một ứng dụng thành
ba thành phần Models, Views, Controllers để cài đặt, mỗi thành phần đóng một vai trò khác nhau và ảnh hưởng lẫn nhau
Hình 2.2: Nền tảng ASP.NET MVC Framework
Models: là thành phần có nhiệm vụ lưu trữ thông tin, trạng thái của các đối tượng, thông thường nó là một lớp được ánh xạ từ một bảng trong CSDL
Trang 1718
Views: là thành phần có nhiệm vụ hiển thị các thông tin lên cho người dùng thông qua giao diện, thông thường các thông tin cần hiển thị được lấy từ thành phần Models
Controllers: là thành phần có trách nhiệm xử lý các tác động về mặt giao diện, các thao tác đối với Models, và chọn một Views thích hợp để hiển thị
ra màn hình Trong ASP.NET MVC, Views chỉ có tác dụng hiển thị giao diện mà thôi, còn điều khiển dòng nhập xuất và xử lý của người dùng vẫn
Hỗ trợ kết hợp tốt giữa người lập trình và người thiết kế giao diện
Sử dụng các tính năng tốt nhất đã có của ASP.NET
2.2.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,…
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
Trang 1819
Không sử dụng mô hình post-back từ giao diện gửi đến server nữa Thay vào
đó, có thể chủ động đưa những post-back từ View đến thẳng lớp Controller Không còn viewstate hay là page lifecycle tồn trong mô hình MVC
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 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
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
Filters: 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 MVC3 đ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
Trang 1920
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.5 Các tính năng của mô hình MVC3 và MVC4
Cách tiếp cận với JavaScript được hạn chế
Hỗ trợ caching trong Partial page
Trang 2021
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.6 Cải tiến của mô hình 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.3 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 người lập trình web tránh việc lặp đi lặp lại trong quá trình tạo ra các class CSS và những đoạn mã HTML giống nhau trong dự án web của mình Ngoài CSS ra, thì bootstrap còn hỗ trợ các function tiện ích được viết dựa trên JQuery(Carousel, Tooltip, Popovers , )
Những lí do để sử dụng Bootstrap:
Được viết bởi những người có óc thẩm mỹ và tài năng trên khắp thế giới
Sự tương thích của trình duyệt với thiết bị đã được kiểm tra nhiều lần nên
có thể tin tưởng kết quả làm ra và nhiều khi không cần kiểm tra lại Vì vậy, giúp cho dự án tiết kiệm được thời gian và tiền bạc
Chỉ cần biết căn bản HTML, CSS, Javascript, Jquery là bạn có thể sử dụng Bootstrap để tạo nên một trang web sang trọng và đầy đủ nhưng lại không cần code quá nhiều CSS
Với giao diện mặc định là màu xám bạc sang trọng, hỗ trợ các component thông dụng mà các website hiện nay cần có Vì nó là opensource nên có thể thay đổi dễ dàng theo ý thích của bản thân
Do có sử dụng Grid System nên Bootstrap mặc định hỗ trợ Responsive Bootstrap được viết theo xu hướng Mobile First nên việc sử dụng
Trang 212.4 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:
No Authentication Ứng dụng không hỗ trợ security
Individual User Accounts Ứng dụng sử dụng tài khoản được quản lý bởi SQL Server
hoặc từ gmail, facebook
Organizational Accounts Ứng dụng sử dụng tài khoản được quản lý bởi Active
Directory hoặc Windows Azure Directory
Windown Authentication Ứng dụng chạy trên intranet, tức là sử dụng tài khoản
windows để đăng nhập
Bảng 2.2: Các loại security trong 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ư Gmail, 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 (gmail, facebook, …)
Code của AccountController có 2 sự khác biệt:
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 [AllowAnonymous]
Trang 2223
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.5 Giới thiệu mô hình B2C
2.5.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.5.2 Phân loại
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ử
2.5.3 Cách thức hoạt động
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
Trang 2324
CHƯƠNG 3: WEBSITE BÁN HÀNG ONLINE
3.1 Khảo sát thực trạng và phân tích đặc tả yêu cầu
3.1.1 Khảo sát thực trạng
Tìm hiểu các website bán hàng online hiện nay, xác định các chức năng của website bán hàng Sau đó, dựa trên việc khảo sát để tìm ra cách tổ chức, đối tượng khách hàng và các chức năng cơ bản của website bán hàng
3.1.2 Phân tích thực trạng
3.1.2.1 Một số website bán hàng online phổ biến hiện nay
Hình 3.1 : Wesite amazon.com
Trang 2425
Hình 3.2: Website lazada.vn
Hình 3.3: Website vatgia.com
Trang 2526
Hình 3.4: Website pro-office.vn
3.1.2.2 Các chức năng chính của website bán hàng online
Mỗi website bán hàng có những chức năng đặc trưng tuỳ theo loại mặt hàng được bán trên website đó Tuy nhiên, tất cả những website bán hàng online đều có những chức năng cơ bản sau:
Thông tin liên hệ
Đối với quản trị viên:
Trang 2627
dàng xem và đặt hàng , đồng thời giúp quản trị viên dễ dàng quản lý thông tin của website
3.1.4 Phân tích yêu cầu
3.1.4.1 Sơ đồ use case
Hình 3.5: Sơ đồ use case cho Khách hàng
Hình 3.6: Sơ đồ use case cho admin
Trang 2728
3.1.4.2 Mô tả use case
3.1.4.2.1 Use case Đăng ký:
Tên use case Đăng ký
Mô tả Cho phép khách hàng đăng ký tài khoản
Các bước thực hiện Khách hàng chọn đăng ký
Khách hàng điền đầy đủ thông tin đăng ký Nhấn nút đăng ký
Không thành công Khách hàng chưa điền những thông tin cần thiết đầy đủ
Khách hàng điền những thông tin không hợp lệ
Thành công Một tài khoản mới được tạo
Bảng 3.1: Mô tả use case Đăng ký 3.1.4.2.2 Use case Đăng nhập:
Tên use case Đăng nhập
Mô tả Cho phép đăng nhập tài khoản
Các bước thực hiện Actor chọn Đăng nhập
Actor điền username và password vào form đăng nhập
Nhấn nút đăng nhập
Điều kiện Đã có tài khoản
Không thành công Thông tin không hợp lệ
Tài khoản không tồn tại
Thành công Đăng nhập thành công
Bảng 3.2: Mô tả use case Đăng nhập 3.1.4.2.3 Use case Đăng xuất:
Tên use case Đăng xuất
Mô tả Cho phép đăng xuất tài khoản
Các bước thực hiện Actor chọn Đăng xuất
Thành công Đăng xuất thành công
Bảng 3.3: Mô tả use case Đăng xuất
Trang 2829
3.1.4.2.4 Use case Quản lý mặt hàng:
Tên use case Quản lý mặt hàng
Các bước thực hiện Chọn QL mặt hàng
Chọn Mặt hàng Chọn chức năng:
Màn hình hiển thị chi tiết Mặt hàng
Điều kiện Đã đăng nhập admin
Không thành công Thêm hoặc sửa thông tin không hợp lệ
Thành công Mặt hàng mới được tạo hoặc mặt hàng được xem, sửa, xoá
thành công
Bảng 3.4: Mô tả use case Quản lý mặt hàng 3.1.4.2.5 Use case Quản lý loại mặt hàng:
Tên use case Quản lý loại mặt hàng
Mô tả Cho phép quản lý Loại mặt hàng
Trang 29 Màn hình hiển thị chi tiết Loại mặt hàng
Điều kiện Đã đăng nhập admin
Không thành công Thêm hoặc sửa thông tin không hợp lệ
Thành công Loại mặt hàng mới được tạo hoặc loại mặt hàng được xem,
sửa, xoá thành công
Bảng 3.5: Mô tả use case Quản lý loại mặt hàng 3.1.4.2.6 Use case Quản lý nhà sản xuất
Tên use case Quản lý nhà sản xuất
Mô tả Cho phép quản lý Nhà sản xuất
Các bước thực hiện Chọn QL mặt hàng
Chọn Nhà sản xuất
Trang 30 Màn hình hiển thị chi tiết Nhà sản xuất
Điều kiện Đã đăng nhập admin
Không thành công Thêm hoặc sửa thông tin không hợp lệ
Thành công Nhà sản xuất mới được tạo hoặc nhà sản xuất được xem, sửa,
xoá thành công
Bảng 3.6: Mô tả use case Quản lý nhà sản xuất
3.1.4.2.7 Use case Quản lý nhà cung cấp:
Tên use case Quản lý nhà cung cấp
Mô tả Cho phép quản lý Nhà cung cấp
Trang 31 Màn hình hiển thị chi tiết Nhà cung cấp
Điều kiện Đã đăng nhập admin
Không thành công Thêm hoặc sửa thông tin không hợp lệ
Thành công Nhà cung cấp mới được tạo hoặc nhà cung cấp được xem, sửa,
xoá thành công
Bảng 3.7: Mô tả use case Quản lý nhà cung cấp 3.1.4.2.8 Use case Quản lý loại nhà cung cấp:
Tên use case Quản lý loại nhà cung cấp
Mô tả Cho phép quản lý Loại nhà cung cấp
Trang 32 Màn hình hiển thị chi tiết Loại nhà cung cấp
Điều kiện Đã đăng nhập admin
Không thành công Thêm hoặc sửa thông tin không hợp lệ
Thành công Loại nhà cung cấp mới được tạo hoặc loại nhà cung cấp được
xem, sửa, xoá thành công
Bảng 3.8: Mô tả use case Quản lý loại nhà cung cấp 3.1.4.2.9 Use case Quản lý hợp đồng cung cấp:
Tên use case Quản lý hợp đồng cung cấp
Mô tả Cho phép quản lý Hợp đồng cung cấp
Trang 33 Màn hình hiển thị chi tiết Hợp đồng cung cấp
Điều kiện Đã đăng nhập admin
Không thành công Thêm hoặc sửa thông tin không hợp lệ
Thành công Hợp đồng cung cấp mới được tạo hoặc hợp đồng cung cấp
được xem, sửa, xoá thành công
Bảng 3.9: Mô tả use case Quản lý hợp đồng cung cấp 3.1.4.2.10 Use case Quản lý chi tiết hợp đồng cung cấp:
Tên use case Quản lý chi tiết hợp đồng cung cấp
Mô tả Cho phép quản lý Chi tiết hợp đồng cung cấp
Các bước thực hiện Chọn QL nhà cung cấp
Chọn Chi tiết hợp đồng cung cấp
Trang 34Không thành công Thêm hoặc sửa thông tin không hợp lệ
Thành công Chi tiết hợp đồng cung cấp mới được tạo hoặc chi tiết hợp
đồng cung cấp được xem, sửa, xoá thành công
Bảng 3.10: Mô tả use case Quản lý chi tiết hợp đồng cung cấp
3.1.4.2.11 Use case Quản lý khả năng cung cấp:
Tên use case Quản lý khả năng cung cấp
Mô tả Cho phép quản lý Khả năng cung cấp
Trang 3536
Nhấp “Xem”
Màn hình hiển thị chi tiết Khả năng cung cấp
Điều kiện Đã đăng nhập admin
Không thành công Thêm hoặc sửa thông tin không hợp lệ
Thành công Khả năng cung cấp mới được tạo hoặc khả năng cung cấp được
xem, sửa, xoá thành công
Bảng 3.11: Mô tả use case Quản lý khả năng cung cấp 3.1.4.2.12 Use case Quản lý chi tiết khả năng cung cấp:
Tên use case Quản lý chi tiết khả năng cung cấp
Mô tả Cho phép quản lý Chi tiết khả năng cung cấp
Các bước thực hiện Chọn QL nhà cung cấp
Chọn Chi tiết khả năng cung cấp
Trang 3637
Không thành công Thêm hoặc sửa thông tin không hợp lệ
Thành công Chi tiết khả năng cung cấp mới được tạo hoặc chi tiết khả năng
cung cấp được xem, sửa, xoá thành công
Bảng 3.12: Mô tả use case Quản lý chi tiết khả năng cung cấp
3.1.4.2.13 Use case Quản lý đặt hàng:
Tên use case Quản lý đặt hàng
Mô tả Cho phép quản lý đặt hàng
Các bước thực hiện Chọn QL đặt hàng
Chọn Đơn đặt hàng Chọn chức năng:
Màn hình hiển thị chi tiết Đặt hàng
Điều kiện Đã đăng nhập admin
Không thành công Thêm hoặc sửa thông tin không hợp lệ
Thành công Đơn đặt hàng được xem, sửa thành công
Bảng 3.13: Mô tả use case Quản lý đặt hàng 3.1.4.2.14 Use case Quản lý chi tiết đặt hàng:
Tên use case Quản lý chi tiết đặt hàng
Mô tả Cho phép quản lý Chi tiết đặt hàng