Tên đề tài: Ứng dụng công nghệ ASP.NET Core để xây dựng hệ thống dịch vụ tiệc cướiVăn Phán Sinh viên thực hiện: Phan Thị Hoài Anh Nội dung tóm tắt: Đề tài xây dựng hệ thống website dành
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA CÔNG NGHỆ SỐ
ĐỒ ÁN TỐT NGHIỆP
ĐẠI HỌCNGÀNH: CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN
Trang 2TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA CÔNG NGHỆ SỐ
ĐỒ ÁN TỐT NGHIỆP
ĐẠI HỌCNGÀNH: CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN
Trang 5Tên đề tài: Ứng dụng công nghệ ASP.NET Core để xây dựng hệ thống dịch vụ tiệc cưới
Văn Phán
Sinh viên thực hiện: Phan Thị Hoài Anh
Nội dung tóm tắt:
Đề tài xây dựng hệ thống website dành cho cơ sở dịch vụ tiệc cưới Văn Phán – một
cơ sở dịch vụ tiệc cưới lưu động – với mục đích giúp hỗ trợ trong quá trình phát triển,hoạt động và triển khai các dịch vụ của nhà dịch vụ này
Kỷ nguyên số đã và đang tác động mạnh mẽ đến mọi ngành nghề, và dịch vụ tiệccưới cũng không ngoại lệ Nhận thức được tiềm năng to lớn của công nghệ, dịch vụ tiệccưới Văn Phán cũng muốn có cho mình một hệ thống website, đánh dấu bước tiến mớitrong hành trình mang đến những trải nghiệm hoàn hảo cho khách hàng
Hệ thống website này không chỉ đóng vai trò như bộ mặt thương hiệu trực tuyến củaVăn Phán, mà còn là công cụ đắc lực hỗ trợ quản lý, tiếp cận khách hàng và tối ưu hóaquy trình cung cấp dịch vụ
Website với các chức năng chính như sau:
- Khách hàng có thể xem chi tiết các dịch vụ được cung cấp, những ưu đãi và lợiích của dịch vụ mang đến cho người dùng trải nghiệm một cách nhanh chóng,tiện lợi, giúp đặt tiệc, dịch vụ… tiết kiệm thời gian và công sức
- Nhân viên có thể xem được danh sách phân công về công việc và khu vực làmviệc để có thể nắm bắt nhanh chóng, rõ ràng
- Quản lý sẽ tiện lợi hơn trong quá trình quản lý, lưu trữ thông tin, tiến độ của cácdịch vụ được cập nhật; công việc giám sát, cập nhật thông tin về dịch vụ, tiệc, sựkiện, hóa đơn … được tối ưu hóa, tạo cho người quản lý một môi trường tổng thể
và cũng nắm bắt được các chi tiết để tạo nên sự phát triển của dịch vụ tiệc cưới
Trang 6Giảng viên hướng dẫn: ThS Nguyễn Văn Phát
Sinh viên thực hiện: Phan Thị Hoài Anh Mã sinh viên: 20505531200106
1 Tên đề tài:
- Xây dựng hệ thống hỗ trợ phát triển và khai thác kết quả hoạt động của dịch vụtiệc cưới lưu động – dịch vụ tiệc cưới Văn Phán
2 Các tài liệu ban đầu:
- Các tài liệu tham khảo được lấy từ nhiều nguồn khác nhau:
• Giáo trình lý thuyết về cơ sở dữ liệu SQL Server
• Các bài viết của Microsoft về ASP.NET Core
• Các website liên quan ASP.NET và ASP.NET Core
• Các website liên quan và hướng dẫn về C#
3 Nội dung chính của đồ án
Chương 1: Cơ sở lý thuyết
1 Hệ quản trị cơ sở dữ liệu SQL Server
2 Microsoft ASP.NET Core MVC
Chương 2: Phân tích thiết kế hướng đối tượng
1 Khảo sát yêu cầu
2 Phân tích thiết kế hệ thống
Chương 3: Kết quả triển khai hệ thống website
1 Công cụ xây dựng chương trình
2 Giao diện chương trình
Kết luận và hướng phát triển
4 Các sản phẩm dự kiến
Trang 7dịch vụ tiệc cưới Văn Phán.
- File word báo cáo đồ án tốt nghiệp
- Slide giới thiệu – báo cáo đề tài
5 Ngày giao đồ án: 05/03/2024
6 Ngày nộp đồ án: 20/06/2024
Đà Nẵng, ngày 20 tháng 06 năm 2024
Người hướng dẫn
Trang 8Ngày nay, công nghệ thông tin đã có những bước phát triển mạnh mẽ theo cả chiềurộng và sâu Máy tính điện tử không còn là một thứ phương tiện quý hiếm mà đang ngàycàng trở thành một công cụ làm việc và giải trí thông dụng của con người, không chỉ ởcông sở mà còn ngay cả trong gia đình.
Đứng trước vai trò của thông tin hoạt động cạnh tranh gay gắt, các tổ chức và cácdoanh nghiệp đều tìm mọi biện pháp để xây dựng hoàn thiện hệ thống thông tin của mìnhnhằm tin học hóa các hoạt động tác nghiệp của đơn vị
Hiện nay các công ty tin học hàng đầu thế giới không ngừng đầu tư và cải thiện cácgiải pháp cũng như các sản phẩm nhằm cho phép tiến hành tự động hóa trên Internet.Thông qua các sản phẩm và công nghệ này, chúng ta dễ dàng nhận ra tầm quan trọng vàtính tất yếu của website Với những thao tác đơn giản trên máy có nối mạng Internet bạn
sẽ có tận tay những gì mình cần mà không phải mất nhiều thời gian Bạn chỉ cần vào cáctrang web làm theo hướng dẫn và click vào những gì bạn cần Các hoạt động sẽ thực hiệnngay trên hệ thống đó
Để tiếp cận và góp phần đẩy mạnh sự phổ biến và tiện ích của website, em đã tìmhiểu và cài đặt “Ứng dụng công nghệ ASP.NET Core để xây dựng hệ thống dịch vụ tiệccưới Văn Phán” nhằm mục đích có thể giúp được một phần nào đó trong sự duy trì vàphát triển của nhà làm dịch vụ
Em muốn bày tỏ lòng biết ơn sâu sắc đến quý Thầy Cô đã hỗ trợ và đồng hành cùng
em trong quá trình thực hiện đề tài này Với sự hướng dẫn tận tình của ThS.Nguyễn VănPhát, em đã hoàn thành đồ án tốt nghiệp này Tuy đã cố gắng hết sức tìm hiểu, phân tíchthiết kế và cài đặt hệ thống nhưng chắc rằng không tránh khỏi những thiếu sót Em rấtmong nhận được sự thông cảm và góp ý của quý Thầy cô
Em xin chân thành cảm ơn!
Trang 9Em xin cam đoan:
1 Những nội dung trong đồ án tốt nghiệp này do chúng em thực hiện dưới sựhướng dẫn của thầy ThS Nguyễn Văn Phát
2 Mọi tham khảo trong đồ án tốt nghiệp đều được trích dẫn rõ ràng tên tác giả, têncông trình, thời gian, địa điểm công bố
3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, em xin chịuhoàn toàn trách nhiệm
Sinh viên thực hiện
Phan Thị Hoài Anh
Trang 10NHẬN XÉT CỦA NGƯỜI HƯỚNG DẪN i
NHẬN XÉT CỦA NGƯỜI PHẢN BIỆN ii
TÓM TẮT iii
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP iv
LỜI NÓI ĐẦU i
CAM ĐOAN ii
MỤC LỤC iii
DANH MỤC BẢNG BIỂU vii
DANH MỤC HÌNH VẼ viii
DANH MỤC CHỮ VIẾT TẮT TIẾNG VIỆT x
DANH MỤC CHỮ VIẾT TẮT TIẾNG ANH xi
MỞ ĐẦU 1
Chương 1 CƠ SỞ LÝ THUYẾT 4
1.1 Hệ quản trị cơ sở dữ liệu SQL Server 4
1.1.1 SQL Server là gì? 4
1.1.2 Kiến trúc và các thành phần 4
1.1.2.1 Các thành phần chính của SQL Server 4
1.1.2.2 Các dịch vụ (Services) 5
1.1.3 Lý do nên sử dụng SQL Server 6
1.2 Microsoft ASP.NET Core MVC 6
1.2.1 ASP.NET Core là gì? 6
1.2.2 Sự khác nhau giữa ASP.NET và ASP.NET Core 7
1.2.3 Khái niệm ASP.NET Core MVC 8
1.2.4 Lợi ích khi sử dụng ASP.NET Core MVC 8
1.2.5 Ngôn ngữ lập trình: 9
1.2.5.1 Ngôn ngữ lập trình C# 9
Trang 111.2.5.3 Ứng dụng của C# 10
Chương 2 PHÂN TÍCH THIẾT KẾ Hệ thống 11
2.1 Khảo sát yêu cầu 11
2.1.1 Hoạt động nghiệp vụ 11
2.1.2 Sơ đồ nghiệp vụ thực tế 11
2.1.3 Yêu cầu chức năng 17
2.1.3.1 Khách vãng lai 17
2.1.3.2 Khách hàng 17
2.1.3.3 Nhân viên 17
2.1.3.4 Quản lý 17
2.1.4 Yêu cầu phi chức năng 18
2.2 Phân tích thiết kế hệ thống 18
2.2.1 Actor và Usecase 18
2.2.1.1 Khách vãng lai 18
2.2.1.2 Khách hàng 18
2.2.1.3 Nhân viên 19
2.2.1.4 Quản lý 19
2.2.2 Sơ đồ usecase 20
2.2.2.1 Khách hàng 20
2.2.2.2 Quản lý 23
2.2.3 Kịch bản cho các usecase 24
2.2.3.1 Khách hàng 24
2.2.3.2 Quản lý 28
2.2.4 Sơ đồ hoạt động 32
2.2.4.1 Khách hàng 32
2.2.4.2 Quản lý 34
2.2.5 Sơ đồ tuần tự 36
2.2.5.1 Khách hàng 36
Trang 122.2.6 Thiết kế ERD 39
2.2.7 Sơ đồ class 40
2.2.8 Thiết kế cơ sở dữ liệu 41
2.2.8.1 Bảng “AspNetRoles” 41
2.2.8.2 Bảng “AspNetUserRoles” 41
2.2.8.3 Bảng “UserModel” 41
2.2.8.4 Bảng “tblFoodCategories” 41
2.2.8.5 Bảng “tblFoodSequence” 42
2.2.8.6 Bảng “tblFoodModel” 42
2.2.8.7 Bảng “tblMenu” 42
2.2.8.8 Bảng “tblMenuDetails” 43
2.2.8.9 Bảng “tblLocation” 43
2.2.8.10 Bảng “tblPartyCategories” 43
2.2.8.11 Bảng “tblParty” 43
2.2.8.12 Bảng “tblServiceCategories” 44
2.2.8.13 Bảng “tblOtherServices” 44
2.2.8.14 Bảng “tblOrders” 45
2.2.8.15 Bảng “tblOrderDetails” 45
2.2.8.16 Bảng “tblWeddingCardCategories” 46
2.2.8.17 Bảng “tblOrderWeddingCard” 46
2.2.8.18 Bảng “tblTasks” 47
2.2.8.19 Bảng “tblPosition” 47
2.2.8.20 Bảng “tblMembers” 47
Chương 3 XÂY DỰNG CHƯƠNG TRÌNH 49
3.1 Công cụ xây dựng chương trình 49
3.1.1 Phần mềm Microsoft SQL Server Management Studio 49
3.1.2 Phần mềm Visual Studio 49
3.1.2.1 Front-end (FE) 49
Trang 133.1.3 StarUML 49
3.2 Giao diện chương trình 50
3.2.1 Giao diện “Trang chủ” 50
3.2.2 Giao diện trang “Đăng nhập”: 51
3.2.3 Giao diện trang “Đăng ký tài khoản”: 51
3.2.4 Giao diện trang “Giỏ hàng”: 52
3.2.5 Giao diện trang “Chi tiết thanh toán”: 52
3.2.6 Giao diện trang “Đặt tiệc”: 53
3.2.7 Giao diện trang “Thông tin đặt tiệc”: 54
3.2.8 Giao diện trang “Đặt thiệp cưới”: 54
3.2.9 Giao diện trang “Cập nhật thông tin cá nhân”: 55
3.2.10 Giao diện trang “Danh sách lịch sử đặt tiệc”: 55
3.2.11 Giao diện các trang “Quản lý”: 56
KẾT LUẬN & HƯỚNG PHÁT TRIỂN 61
TÀI LIỆU THAM KHẢO 64
Trang 14Bảng 1.1: So sánh ASP.NET và ASP NET Core 8
Trang 15Hình 1.1: Sơ đồ kiến trúc và các thành phần SQL Server 4
Hình 2.8: Use case “Xem lịch sử đăng ký dịch vụ” 22
Hình 2.10: Use case “Cập nhật thông tin các dịch vụ” 23Hình 2.11: Use case “Cập nhật danh sách đăng ký dịch vụ” 23Hình 2.12: Use case “Cập nhật danh sách nhiệm vụ công việc” 23Hình 2.13: Use case “Cập nhật danh sách khách hàng” 24
Hình 2.15: Sơ đồ hoạt động – use case “Xem chi tiết thực đơn” 32Hình 2.16: Sơ đồ hoạt động – use case “Đặt thiệp cưới” 32Hình 2.17: Sơ đồ hoạt động – use case “Đặt tiệc” 33Hình 2.18: Sơ đồ hoạt động – use case “Đặt dịch vụ” 33Hình 2.19: Sơ đồ hoạt động – use case “Cập nhật thông tin các dịch vụ” 34Hình 2.20: Sơ đồ hoạt động – use case “Cập nhật danh sách đặt dịch vụ” 34Hình 2.21 : Sơ đồ hoạt động – use case “Cập nhật thực đơn” 35Hình 2.22: Sơ đồ hoạt động – use case “Cập nhật danh sách nhiệm vụ công việc”35Hình 2.23: Sơ đồ tuần tự – use case “Xem chi tiết thực đơn” 36
Hình 2.25: Sơ đồ tuần tự – use case “Đặt dịch vụ” 37Hình 2.26: Sơ đồ tuần tự – use case “Xem chi tiết thực đơn” 37Hình 2.27: Sơ đồ tuần tự – use case “Cập nhật thông tin các dịch vụ” 38Hình 2.28: Sơ đồ tuần tự – use case “Cập nhật danh sách đặt dịch vụ 38
Hình 3.1: Giao diện “Trang chủ” khi chưa đăng nhập tài khoản 50Hình 3.2: Giao diện “Trang chủ” khi đã đăng nhập tài khoản 50
Trang 16Hình 3.6: Giao diện trang “Chi tiết thanh toán” 52Hình 3.7: Giao diện “Gửi Email khi đặt dịch vụ thành công” 53
Hình 3.11: Giao diện trang “Cập nhật thông tin cá nhân” 55Hình 3.12: Giao diện trang “Xem lịch sử đặt hàng” 55
Hình 3.15: Giao diện trang “Danh sách trật tự món” 57
Hình 3.18: Giao diện trang “Danh sách loại dịch vụ” 58Hình 3.19: Giao diện trang “Cập nhật thông tin thực đơn” 58Hình 3.20: Giao diện trang “Cập nhật chi tiết thực đơn” 59Hình 3.21: Giao diện trang “Cập nhật thông tin các loại tiệc” 59Hình 3.22: Giao diện trang “Cập nhật thông tin loại địa điểm tiệc” 59Hình 3.23: Giao diện trang “Cập nhật danh sách đăng ký dịch vụ” 60Hình 3.24: Giao diện trang “Cập nhật danh sách người dùng” 60Hình 3.25: Giao diện trang “Cập nhật danh sách nhân viên” 60
Trang 17STT Chữ viết tắt Giải nghĩa
1. CNTT Công nghệ thông tin
2. CSDL Cở sở dữ liệu
3.
Trang 18STT Chữ viết tắt Giải nghĩa Nghĩa tiếng Việt
1. HTML Hyper Text Markup Language Ngôn ngữ đánh dấu siêu văn bản
2. CSS Cascading Style Sheets
Dùng để miêu tả cách trình bày tài liệu được viết bangwd ngôn ngữ HTML và XHTML
3. MVC Model – View – Controller Mô hình – Giao diện – Điều khiển
4. ERD Entity Relationship Diagram Sơ đồ thực thể - mối quan hệ
5. SQL Structured Query Language Ngôn ngữ truy vấn có cấu trúc
6. API Application Programming
Interface Giao diện lập trình ứng dụng
7. FE Front-end Hệ thống tương tác và giao diện website
8. BE Back-end Hệ thống điều khiển và dữ liệu website
9. UML Unified Modeling Language Ngôn ngữ mô hình hóa hợp nhất
Trang 19MỞ ĐẦU
Ngày nay, ngành dịch vụ tiệc cưới đang ngày càng phát triển mạnh mẽ Nhu cầu tổchức tiệc cưới lưu động cũng ngày càng tăng cao, mang đến nhiều cơ hội cho các cơ sởdịch vụ tiệc cưới Tuy nhiên, để có thể cạnh tranh hiệu quả trong thị trường này, các cơ sởdịch vụ cần phải có những giải pháp quản lý và vận hành hiệu quả
Từ những nhìn nhận đó, đề tài “Ứng dụng công nghệ ASP.NET Core để xây dựng hệ
thống dịch vụ tiệc cưới Văn Phán” được xây dựng nhằm hỗ trợ cơ sở dịch vụ tiệc cưới
Văn Phán trong việc vận hành, phát triển, mở rộng sự tiếp cận về quy mô và đối tượngkhách hàng Hệ thống này sẽ giúp cơ sở dịch vụ:
- Hiểu rõ hơn về nhu cầu của khách hàng, từ đó đưa ra các gói dịch vụ phù hợp
- Nâng cao hiệu quả quản lý và vận hành, tiết kiệm chi phí
- Tăng cường khả năng tiếp cận khách hàng, thu hút khách hàng mới
Hệ thống này có những tính năng chính sau:
- Thu thập và lưu trữ dữ liệu về kết quả hoạt động của dịch vụ tiệc cưới lưu động,bao gồm: số lượng đơn hàng, doanh thu, chi phí, phản hồi của khách hàng,
- Phân tích dữ liệu bằng các phương pháp thống kê xác định các xu hướng, điểmmạnh, điểm yếu trong hoạt động của dịch vụ
- Cung cấp các báo cáo và biểu đồ trực quan để giúp người dùng dễ dàng theo dõi
• Đăng ký tài khoản
• Xem chi tiết đặt tiệc
• Xem chi tiết đặt thiệp cưới
• Xem chi tiết dịch vụ
• Xem chi tiết món ăn
- Khách hàng
• Cập nhật thông tin cá nhân
• Đăng ký dịch vụ
Trang 20• Xem chi tiết đặt thiệp cưới
• Đặt thiệp cưới
• Đặt tiệc cưới
• Xem lịch sử đăng ký dịch vụ
- Nhân viên
• Xem chi tiết các dịch vụ
• Xem danh sách đăng ký dịch vụ
• Xem danh sách phân công công việc
• Xem thông tin cá nhân
• Cập nhật thông tin cá nhân
• Cập nhật danh sách nhiệm vụ công việc
2 Đối tượng nghiên cứu và phạm vi nghiên cứu
a Đối tượng nghiên cứu
Đối tượng nghiên cứu hướng đến: cơ sở dịch vụ tiệc cưới Văn Phán
b Phạm vi nghiên cứu
Phạm vi nghiên cứu của đề tài là xây dựng hệ thống phát triển và khai thác hoạtđộng của dịch vụ tiệc cưới lưu động – cơ sở dịch vụ tiệc cưới Văn Phán để hỗ trợ sự pháttriển của nhà làm dịch vụ
3 Phương pháp nghiên cứu
- Phương pháp nghiên cứu lý thuyết:
• Phỏng vấn: Phỏng vấn các nhà cung cấp trong lĩnh vực dịch vụ tiệc cưới vàcông nghệ thông tin để lấy ý kiến về hệ thống
Trang 21• Thu thập dữ liệu thực tế: Thu thập dữ liệu về kết quả hoạt động của dịch vụtiệc cưới lưu động từ cơ sở dịch vụ tiệc cưới Văn Phán.
- Phương pháp xây dựng ứng dụng:
• Sử dụng các công nghệ để xây dựng hệ thống website
• Áp dụng các phương pháp thiết kế giao diện người dùng để đảm bảo ứngdụng đơn giản, dễ sử dụng
4 Giải pháp công nghệ
- Ngôn ngữ lập trình: C# (ASP.NET Core, Microsoft Entity Framework Core)
- Hệ quản trị cơ sở dữ liệu: SQL Server
- Công cụ hỗ trợ: SQL Server Management Studio Management Studio, Visual
Studio, StarUML
5 Cấu trúc của đồ án tốt nghiệp
Cấu trúc đồ án tốt nghiệp bao gồm các phần như sau:
Chương 1: Cơ sở lý thuyết
1 Hệ quản trị cơ sở dữ liệu SQL Server
2 Microsoft ASP.NET Core
3 Thư viện Microsoft Entity Framework Core
Chương 2: Phân tích thiết kế hướng đối tượng
1 Khảo sát yêu cầu
2 Phân tích thiết kế hệ thống
Chương 3: Kết quả triển khai hệ thống website
1 Công cụ xây dựng chương trình
2 Giao diện chương trình
Kết luận và hướng phát triển
Trang 22Chương 1
CƠ SỞ LÝ THUYẾT
1.1 Hệ quản trị cơ sở dữ liệu SQL Server
1.1.1 SQL Server là gì?
SQL Server hay Microsoft SQL Server, r, viết tắt là MS SQL Server Đây là
một phần mềm được phát triển bởi Microsoft, là một hệ quản trị cơ sở dữ liệu quan hệ(Relational DataBase Management System – RDBMS) cho phép thiết kế và thực thi cơ
sở dữ liệu quan hệ [1]
SQL (Structured Query Language) – là một máy chủ cơ sở dữ liệu lưu trữ và truy
xuất dữ liệu theo yêu cầu của các ứng dụng phần mềm khác trên cùng một máy tính hoặcmáy tính từ xa theo mô hình máy khách-máy chủ (client-server)
SQL Server có chức năng là giúp cung cấp đầy đủ tất cả các công cụ cho việc quản
lý đến sử dụng ngôn ngữ cho việc truy vấn SQL Thế nhưng, SQL Server thường chungvới việc thực hiện riêng các ngôn ngữ truy vấn dữ liệu T-SQL, SQL:[2]
● T-SQL: Đây là một dạng mở rộng của ngôn ngữ SQL được độc quyền bởiMicrosoft, mang tên gọi đầy đủ là Transact-SQL T-SQL có thêm các chức năngnâng cao như là khai báo biến, các thủ tục lưu trữ hay xử lý ngoại lệ, …
● SQL Server Management Studio: là một phần mềm cung cấp giao diện, chứcnăng chính của phần mềm này là cho máy chủ cơ sở của dữ liệu SQL, thôngthường thì nó hỗ trợ cho cả môi trường 64-bit và 32-bit
1.1.2 Kiến trúc và các thành phần
1.1.2.1 Các thành phần chính của SQL Server
Tiến trình hoạt động của SQL Server bắt đầu từ khi ứng dụng khách gửi yêu cầu 🡪 máy chủ SQL chấp nhận, xử lý và trả lời yêu cầu với dữ liệu được xử lý [1]
Trang 23Hình 1.1: Sơ đồ kiến trúc và các thành phần SQL Server
Ba thành phần chính trong kiến trúc SQL Server ở hình 1.1 gồm:
SQL Server được cài đặt gồm nhiều services liên quan phụ thuộc lẫn nhau:
a) SQL Server Service, SQL Server Agent Service và SQL Server Browser Service
- SQL Server Service: SQL Server có tên hiển thị là MSSQLSERVER, và là dịch
vụ cơ sở dữ liệu chính được sử dụng bởi SQL Server Database Engine Dịch vụnày không phụ thuộc vào bất kỳ dịch vụ nào khác để chạy (run) và mặc định ởtrạng thái (Status) “Running”, và có thể được cấu hình để chạy như là mộtDomain User, hoặc Local User, hoặc Managed Service Accounts, hoặc VirtualAccounts, hoặc Built-in System Account Microsoft khuyến cáo sử dụng tàikhoản ảo mặc định (Default Virtual Accounts), tài khoản Managed ServiceAccounts với quyền truy cập yêu cầu tối thiểu Việc thao tác với cơ sở dữ liệu chỉ
có thể được thực hiện khi SQL Server Service ở status “Running”
- SQL Server Agent: SQL Server Agent cũng có tên hiển thị là MSSQLSERVER.Dịch vụ này chịu trách nhiệm chạy các lập lịch (Scheduled Tasks and Jobs) Mặcđịnh, dịch vụ này ở trạng thái “Stopped” và khi cần thì dịch vụ này sẽ được khởiđộng thủ công Tuy nhiên, để SQL Server đảm bảo các nhiệm vụ về scheduledmaintenance, backup, and monitoring tasks, dịch vụ này cũng được khuyến cáothiết lập bắt đầu tự động (set to start automatically) SQL Server Agent Servicephụ thuộc vào SQL Server Service, nghĩa là chỉ có thể khởi động khi SQLServer đang ở trạng thái “Running”
- SQL Browser Service: dịch vụ này chịu trách nhiệm lắng nghe các yêu cầu từclient để cung cấp tài nguyên và kết nối đến SQL Server (thường port 1434)
Trang 24Hoạt động của dịch vụ này cũng có thể được hiểu như DNS Server Chỉ có mộtSQL Browser Service để cung cấp thông tin kết nối cần thiết cho chỉ một máychủ SQL Server mà nó đang chạy trên máy đó, nó không thể cung cấp thông tincủa những máy chủ SQL Server khác mà chạy trên các máy khác trong cùng mộtmạng.
b) Microsoft Distributed Transaction Coordinator Service (MSDTC)
Dịch vụ MSDTC điều phối các giao tác phân tán (Distributed Transaction) giữa haihoặc nhiều máy chủ cơ sở dữ liệu Các ứng dụng client sử dụng dịch vụ này để làm việcvới dữ liệu từ nhiều nguồn trong một transaction Luôn luôn chỉ có một phiên bảnMSDTC chạy trên máy tính bất kể có bao nhiêu phiên bản máy chủ cơ sở dữ liệu đượccài đặt Dịch vụ này không bắt buộc, nghĩa là nó có thể ở trạng thái bị tắt (Disabled), ví
dụ khi máy tính chạy local database Service này có thể được thao tác sau khi cài đặtWindow Server trong mục “Troubleshooting SQL Server Distributed Transactions”
1.1.3 Lý do nên sử dụng SQL Server
Ngoài việc sử dụng SQL Server cho mục đích lưu trữ dữ liệu thì nó còn những tínhnăng giúp người dùng làm việc hiệu quả hơn đó chính là:
- Xây dựng một đường cơ sở cho hiệu suất
- Xác định những thay đổi về hiệu suất theo thời gian
- Chẩn đoán các vấn đề hiệu suất cụ thể
- Xác định các thành phần hoặc quy trình để tối ưu hóa
- So sánh hiệu quả của các ứng dụng khách khác nhau đối với hiệu suất
- Giúp việc kiểm tra các hoạt động của người dùng
- Kiểm tra một máy chủ dưới các tải khác nhau
- Kiểm tra kiến trúc cơ sở dữ liệu
- Kiểm tra lịch trình bảo trì
- Kiểm tra các kế hoạch sao lưu và khôi phục
- Xác định thời điểm sửa đổi cấu hình phần cứng
1.2 Microsoft ASP.NET Core MVC
1.2.1 ASP.NET Core là gì?
ASP.NET Core là một phiên bản mới của ASP.NET, được phát hành bởi Microsoft
và là một mã nguồn mở trên GitHub ASP.NET Core được sử dụng để phát triển khuônkhổ website và có thể thích ứng với nhiều trình duyệt khác nhau như Windows, Mac
Trang 25hoặc Linux kể cả trên nền tảng MVC Ban đầu, phiên bản này có tên là ASP.NET 5nhưng sau đó được đổi tên thành ASP.NET Core [3]
ASP.NET Core được thiết kế để tối ưu development framework cho những ứngdụng cái mà được chạy on-promise hay được triển khai trên đám mây ASP.NET Corebao gồm các thành phần theo hướng module với mục đích tối thiểu tài nguyên và tiếtkiệm chi phí khi phát triển Đồng thời, ASP.NET Core cũng là một mã nguồn mở, một xuthế mà các ngôn ngữ lập trình hiện nay hướng đến
1.2.2 Sự khác nhau giữa ASP.NET và ASP.NET Core
Bên cạnh sự phát triển của ASP.NET Core và ASP.NET thì giữa chúng có những sựkhác biệt nhau:
Được xây dựng chỉ để dành cho
Windows
Được xây dựng dành cho cả Windows,Mac và Linux
Có hiệu suất tốt Có hiệu suất cao hơn cả ASP.NET 4x
Có thể chạy được trên Net Framework
hay được gọi là Full Net Framework.
Có thể chạy trên Net Core và Full NetFramework
Asp.Net hỗ trợ Web Forms, Asp.Net
MVC và ASP.NET web Pages
Asp.Net Core hỗ trợ cho các trang WebMVC, Web API và Asp.Net được thêmvào ban đầu trong Net Core 2.0, không hỗtrợ cho Web Forms
Chỉ sử dụng IIS phụ thuộc vào
và WF Tuy nhiên, Asp.Net Core lại cóthể hỗ trợ cho các thư viện WCP có sẵn.Asp.Net MVC có thêm các ứng dụng như
Web.config, Global.asax, Application
Start
Asp.Net Core đang hỗ trợappsettings.json, không hỗ trợ tệpWeb.config và Global.asax
Trang 26Hỗ trợ vùng chứa không được đánh giá
Bảng 1.1: So sánh ASP.NET và ASP NET Core
1.2.3 Khái niệm ASP.NET Core MVC
ASP.NET Core MVC là một khung phần mềm mã nguồn mở được phát triển bởiMicrosoft để xây dựng các ứng dụng web Nó dựa trên nền tảng NET Core và sử dụng
mô hình Model-View-Controller (MVC) để tách biệt logic ứng dụng, giao diện ngườidùng và quản lý yêu cầu từ người dùng [4]
Mô hình MVC chia ứng dụng thành ba thành phần chính:
- Model (Mô hình): Đại diện cho dữ liệu của ứng dụng
- View (Giao diện): Hiển thị dữ liệu cho người dùng
- Controller (Bộ điều khiển): Xử lý yêu cầu từ người dùng và tương tác với model
để cập nhật dữ liệu
1.2.4 Lợi ích khi sử dụng ASP.NET Core MVC
ASP.NET Core MVC cung cấp nhiều tính năng và lợi ích cho việc phát triển ứngdụng web, bao gồm:
- Dễ dàng sử dụng: ASP.NET Core MVC có cú pháp đơn giản và dễ học, giúp cácnhà phát triển nhanh chóng bắt đầu xây dựng ứng dụng web
- Có thể mở rộng: ASP.NET Core MVC là một khung phần mềm có thể mở rộngcao, cho phép các nhà phát triển dễ dàng thêm các tính năng và chức năng mớicho ứng dụng của họ
- Hiệu suất cao: ASP.NET Core MVC được tối ưu hóa cho hiệu suất cao, giúp cácứng dụng web chạy nhanh và mượt mà
- Bảo mật: ASP.NET Core MVC cung cấp nhiều tính năng bảo mật giúp bảo vệứng dụng web khỏi các cuộc tấn công
Trang 27- Cộng đồng lớn: ASP.NET Core MVC có một cộng đồng lớn các nhà phát triển
và người dùng, giúp các nhà phát triển dễ dàng tìm kiếm trợ giúp và hỗ trợ khicần thiết
ASP.NET Core MVC được sử dụng để xây dựng nhiều loại ứng dụng web khácnhau, bao gồm:
- Ứng dụng web thương mại điện tử: ASP.NET Core MVC là một lựa chọn phổbiến cho việc xây dựng các ứng dụng web thương mại điện tử, vì nó cung cấpnhiều tính năng để quản lý sản phẩm, đơn hàng và thanh toán
- Ứng dụng web blog: ASP.NET Core MVC cũng là một lựa chọn tốt cho việc xâydựng các ứng dụng web blog, vì nó cung cấp các tính năng để quản lý bài đăng,bình luận và người dùng
- Ứng dụng web API: ASP.NET Core MVC có thể được sử dụng để xây dựng cácứng dụng web API, cung cấp dữ liệu cho các ứng dụng web và di động khác
1.2.5 Ngôn ngữ lập trình:
1.2.5.1 Ngôn ngữ lập trình C#
C# (phát âm là "xi-sáp") là một ngôn ngữ lập trình đa năng, hướng đối tượng đượcphát triển bởi Microsoft Nó được thiết kế để chạy trên nền tảng NET Framework, mộtnền tảng phần mềm cung cấp nhiều dịch vụ và thư viện cho các nhà phát triển phần mềm.1.2.5.2 Đặc điểm chính của C#
- Hướng đối tượng: C# là ngôn ngữ lập trình hướng đối tượng, có nghĩa là nó sửdụng các khái niệm như lớp, đối tượng, thừa kế và đa hình để tổ chức mã Điềunày giúp cho mã C# dễ đọc, dễ bảo trì và có thể tái sử dụng hơn
- Quản lý bộ nhớ tự động: C# có tính năng thu gom rác tự động, giúp giải phóng
bộ nhớ được sử dụng bởi các đối tượng không còn cần thiết Điều này giúp chocác nhà phát triển C# không phải lo lắng về việc quản lý bộ nhớ thủ công, vốn
Trang 28- Dễ sử dụng: C# là một ngôn ngữ lập trình tương đối dễ sử dụng Nó có cú phápđơn giản và dễ học, giúp cho các nhà phát triển mới bắt đầu có thể dễ dàng bắtđầu sử dụng nó.
1.2.5.3 Ứng dụng của C#
- Ứng dụng web: C# có thể được sử dụng để phát triển các ứng dụng web bằngcách sử dụng các khung phần mềm web như ASP.NET Core và Blazor
- Ứng dụng di động: C# có thể được sử dụng để phát triển các ứng dụng di độngbằng cách sử dụng các khung phần mềm di động như Xamarin
- Ứng dụng máy tính để bàn: C# có thể được sử dụng để phát triển các ứng dụngmáy tính để bàn bằng cách sử dụng các khung phần mềm máy tính để bàn nhưWindows Forms và WPF
- Trò chơi: C# có thể được sử dụng để phát triển các trò chơi bằng cách sử dụngcác công cụ phát triển trò chơi như Unity và Unreal Engine
- Dịch vụ web: C# có thể được sử dụng để phát triển các dịch vụ web bằng cách
sử dụng các khung phần mềm dịch vụ web như WCF
Trang 29Chương 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG
2.1 Khảo sát yêu cầu
Diễn giải quy trình nghiệp vụ:
1. Tìm kiếm dịch vụ Từ khóa tìm
kiếm
Danh sách dịch vụ phù hợp Khách hàng
2. Xem chi tiết thực đơn
Danh sách các thực đơn hoặc tên thực đơn
Thông tin chi tiết về thực đơn như món ăn, giá cả, hình ảnh, mô tả … Khách hàng
3. Xem chi tiết dịch vụ Mã dịch vụ hoặc
tên dịch vụ
Thông tin chi tiết về dịch
vụ, như mô tả, giá cả, hình ảnh, loại dịch vụ… Khách hàng,
Nhân viên
Trang 304. Xem chi tiết đặt tiệc Chọn mục Đặt
tiệc
Thông tin chi tiết về đặt tiệc: ngày giờ, địa điểm,
số lượng khách, thực đơn, dịch vụ
Khách hàng, Nhân viên
5. Xem chi tiết đặt thiệp
cưới
Chọn mục Đặt thiệp cưới
Thông tin chi tiết về đặt thiệp mời, bao gồm mẫu thiệp, số lượng, nội dung
Khách hàng, Nhân viên
6. Đặt dịch vụ
Thông tin của khách hàng, thông tin đặt tiệc, thông tin thanh toán
Xác nhận đặt dịch vụ thành công Khách hàng
7. Đặt tiệc
- Thông tin về
khách hàng (địa chỉ, số điện thoại)
- Thông tin đặt
tiệc như: ngày, giờ, địa điểm,
số lượng khách, thực đơn, dịch vụ…
mô tả…)
- Xác nhận việc đặt thiệp cưới thành công
- Thông tin chi tiết về đơn đặt hàng thiệp cưới
- Đánh giá được lưu trữ
và hiển thị trên hệ thống
- Thông báo xác nhận
đánh giá thành công
Khách hàng
Trang 3110. Cập nhật thông tin cá
nhân
Thông tin cá nhân hiện tại
Thông tin cá nhân được cập nhật
Khách hàng, Nhân viên
11. Xem danh sách phân
công công việc
Thông tin đăng nhập của nhân viên
Danh sách các công việc được phân công cho nhân viên, bao gồm thông tin về công việc, thời hạn, người phụ trách
Nhân viên
12. Xem danh sách phân
công khu giám sát
Thông tin đăng nhập của nhân viên
Danh sách các khu vực giám sát được phân công cho nhân viên gồm thông tin về khu vực, thời gian, người phụ trách
Danh sách các khách hàng đã đăng ký dịch vụ gồm thông tin về khách hàng, dịch vụ đăng ký, thời gian thực hiện …
Nhân viên
Trang 3214. Cập nhật thông tin các
dịch vụ
- Thông tin đăng
nhập của quản lý
- Thông tin dịch
vụ cần cập nhật (tên dịch vụ,
mô tả, giá cả, hình ảnh)
Thông tin dịch vụ được cập nhật trên hệ thống Quản lý
15. Cập nhật thông tin các
món ăn
- Thông tin đăng
nhập của quản lý
- Thông tin món
ăn cần cập nhật (tên món ăn,
mô tả, giá cả, hình ảnh)
Thông tin món ăn được cập nhật trên hệ thống Quản lý
16.
Cập nhật thực đơn
- Thông tin đăng
nhập của quản lý
- Thông tin thực
đơn cần cập nhật (tên thực đơn, món ăn trong thực đơn, giá cả…)
Thông tin thực đơn được cập nhật trên hệ thống Quản lý
Trang 3317. Cập nhật chi tiết thực
đơn
- Thông tin đăng
nhập của quản lý
- Thông tin chi
tiết thực đơn cần cập nhật (các món ăn trong từng thực đơn)
Thông tin chi tiết thực đơn được cập nhật trên
- Thông tin nhân
viên cần cập nhật (họ tên, chức vụ, thông tin liên lạc…)
Danh sách nhân viên được cập nhật trên hệ thống
- Thông tin khách hàng cần cập nhật (họ tên, địa chỉ, số điện thoại, email …)
Danh sách khách hàng được cập nhật trên hệ thống
Quản lý
20. Cập nhật danh sách - Thông tin đăng Danh sách đăng ký dịch Quản lý
Trang 34đăng ký dịch vụ
nhập của quản lý
- Thông tin đăng
ký dịch vụ cần cập nhật (trạng thái, thanh toán)
vụ được cập nhật trên hệ thống
21. Cập nhật danh sách
đăng ký tiệc cưới
- Thông tin đăng
nhập của quản lý
- Thông tin đăng
ký tiệc cưới cần cập nhật (trạng thái, thanh toán)
Danh sách đăng ký tiệc cưới được cập nhật trên
hệ thống
Quản lý
22. Cập nhật danh sách
nhiệm vụ công việc
- Thông tin đăng
nhập của quản lý
- Thông tin nhiệm vụ công việc cần cập nhật (tiêu đề, nội dung, người phụ trách, hạn chót)
Danh sách nhiệm vụ công việc được cập nhật trên hệ thống
Quản lý
Bảng 2.1: Quy trình nghiệp vụ
Trang 352.1.3 Yêu cầu chức năng
2.1.3.1 Khách vãng lai
- Đăng ký tài khoản
- Tìm kiếm dịch vụ
- Xem chi tiết đặt tiệc
- Xem chi tiết dịch vụ
- Xem chi tiết thực đơn
2.1.3.2 Khách hàng
- Đăng nhập
- Xem thông tin cá nhân
- Cập nhật thông tin cá nhân
- Xem chi tiết các dịch vụ
- Xem danh sách đăng ký dịch vụ
- Xem danh sách phân công công việc
- Xem thông tin cá nhân
- Cập nhật thông tin cá nhân
2.1.3.4 Quản lý
- Đăng nhập
- Cập nhật thông tin dịch vụ
Trang 362.1.4 Yêu cầu phi chức năng
- An ninh: Hệ thống phải được bảo mật khỏi sự truy cập trái phép
- Hiệu suất: Hệ thống phải có khả năng xử lý số lượng người dùng cần thiết màkhông có bất kỳ sự suy giảm nào về hiệu suất
- Khả dụng: Hệ thống phải sẵn sàng khi cần thiết
- Bảo trì: Hệ thống phải dễ bảo trì và cập nhật
- Độ bền: Hệ thống phải đáng tin cậy và đáp ứng các yêu cầu của người dùng
- Khả năng sử dụng: Hệ thống phải dễ sử dụng và dễ hiểu
2.2 Phân tích thiết kế hệ thống
2.2.1 Actor và Usecase
2.2.1.1 Khách vãng lai
- Tìm kiếm dịch vụ
- Xem chi tiết đặt tiệc
- Xem chi tiết đặt thiệp cưới
- Xem chi tiết thực đơn
- Xem chi tiết thông tin dịch vụ
- Đăng ký tài khoản
2.2.1.2 Khách hàng
- Đăng nhập
- Xem thông tin cá nhân
- Cập nhật thông tin cá nhân
- Tìm kiếm dịch vụ
Trang 37- Xem chi tiết các dịch vụ
- Xem chi tiết các dịch vụ
- Xem danh sách đăng ký dịch vụ
- Xem danh sách phân công công việc
- Xem danh sách phân công giám sát khu
- Cập nhật thông tin cá nhân
Trang 39- Xem chi tiết thực đơn