Đáp lại yêu cầu cấp thiết hòa nhập với sự phát triển chung này của toàn thế giới, hệ thống thông tin quản lý ra đời nhằm hiện đại hóa tự động hóa lưu trữ và xử lý nguồn dữ liệu khổng lồ
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÀ RỊA - VŨNG TÀU
KHOA CÔNG NGHỆ KỸ THUẬT - NÔNG NGHIỆP
CÔNG NGHỆ CAO -
Giảng viên hướng dẫn:
Sinh viên thực hiện:
16032218 DH16LT
2016 - 2020
BÀ RỊA - VŨNG TÀU NĂM 2020
Trang 2LỜI MỞ ĐẦU
Nhờ cuộc cách mạng 4.0 tính ứng dụng ngày nay của công nghệ dường như là một điều quá “viễn vông” so với thế hệ cách đây 100 năm Cuộc cách mạng này không chỉ mạnh mẽ, sâu rộng, toàn diện đa chiều mà còn xóa nhòa dần ranh giới giữa các lĩnh vực vật lý, kỹ thuật số và sinh học Hàng tỷ người được kết nối bằng thiết bị
di động, với sức mạnh xử lý chưa từng có, khả năng lưu trữ và truy cập vào kiến thức
là không giới hạn Nhưng điều đó cũng có nghĩa là chúng ta đang sống trong thời đại
mà mỗi một ngày trôi qua sẽ là một chu kì phát triển mới của công nghệ, nếu đứng ngoài xu hướng này thì bất cứ ai, bất cứ ngành nghề nào cũng sẽ thụt lùi lạc hậu Đáp lại yêu cầu cấp thiết hòa nhập với sự phát triển chung này của toàn thế giới, hệ thống thông tin quản lý ra đời nhằm hiện đại hóa tự động hóa lưu trữ và xử lý nguồn dữ liệu khổng lồ mà mỗi ngày chúng ta phải tiếp nhận
Trong trường học, mỗi một học sinh sẽ đóng vai trò là một nguồn dữ liệu khác nhau và tập hợp nhiều học sinh thì sẽ là một khối lượng dữ liệu độc lập khổng lồ Do
đó, vấn đề về sản xuất, quản lý và cung ứng các suất ăn đến số lượng học sinh là rất phức tạp, tốn nhiều thời gian và gặp nhiều sai sót khi thực hiện bằng tay Giờ đây, với hệ thống quản lý suất ăn cho phép thống kê chính xác số lượng từng loại món ăn cần phải chuẩn bị cho học sinh, và ai sẽ được lấy loại phần ăn nào, lấy bao nhiêu, định lượng nguyên vật liệu chính xác cho bếp ăn, tiết kiệm thời gian, tăng độ chính xác tránh được tình trạng dư thừa hoặc thiếu suất ăn, dễ dàng hơn trong việc thống
kê báo cáo cho ban quản lý
Vì lý do đó nên em đã chọn đề tài “Xây dựng chương trình quản lý thực phẩm hàng ngày tại trường mầm non” để tìm hiểu thêm về hệ thống quản lý, đưa ra một số giải pháp nhằm hoàn thiện hệ thống này
Trang 3LỜI CẢM ƠN
Trước hết em xin bày tỏ tình cảm và lòng biết ơn đối với TS Phan Ngọc Hoàng
- Khoa Công Nghệ Kỹ Thuật - Nông Nghiệp Công Nghệ Cao - Trường Đại học Bà Rịa - Vũng Tàu, người đã dành cho em rất nhiều thời gian và trực tiếp hướng dẫn tận tình giúp đỡ, chỉ bảo em trong suốt quá trình làm đồ án tốt nghiệp
Em xin chân thành cảm ơn tất cả các thầy cô giáo trong Công Nghệ Kỹ Thuật - Nông Nghiệp Công Nghệ Cao và tất cả các thầy, cô giáo của Trường Đại học Bà Rịa
- Vũng Tàu đã tham gia giảng dạy và truyền đạt những kiến thức quý báu trong suốt thời gian em học tập tại trường Em cám ơn các thầy, cô đã đọc và phản biện đồ án của em giúp em hiểu rõ hơn các vấn đề mình nghiên cứu, để em có thể hoàn thành đồ
án này
Tuy có nhiều cố gắng trong quá trình học tập, trong thời gian thực tập cũng như trong quá trình làm đồ án không thể tránh khỏi những thiếu sót, em rất mong được sự góp ý quý báu của tất cả các thầy, cô giáo cũng như tất cả các bạn để kết quả của em được hoàn thiện hơn
Em xin chân thành cảm ơn!
Vũng Tàu, ngày 10 tháng 05 năm 2020
Sinh viên thực hiện
Đào Quỳnh Như
Trang 4NHẬN XÉT
(Của giảng viên hướng dẫn)
Trang 5NHẬN XÉT
(Của giảng viên phản biện)
Trang 6MỤC LỤC
CHƯƠNG 1 TỔNG QUAN 1
1.1 MỤC ĐÍCH VÀ Ý NGHĨA CỦA ĐỀ T À I 1
1.1.1 Mục đích 1
1.1.2 Ý nghĩa của đề tài 1
1.2 MÔ TẢ ĐỀ TÀI 2
1.2.1 Về lý thuyết 2
1.2.2 Về chương trình 2
1.3 PHƯƠNG PHÁP TRIỂN K H A I 3
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 4
2.1 PHÂN TÍCH THIẾT KẾ HỆ THỐNG HƯỚNG CẤU TRÚC 4
2.1.1 Quá trình phát triển của một hệ thống thông tin 4
2.1.2 Tiếp cận phát triển hệ thống thông tin định hướng cấu trúc 7
2.2 THIẾT KẾ CƠ SỞ DỮ LIỆU QUAN HỆ 8
2.2.1 Mô hình liên kết thực thể E-R 8
2.2.2 Cơ sở dữ liệu quan hệ 10
2.3 VẼ SƠ ĐỒ VỚI PHẦN MỀM MICROSOFT VISIO 14
2.3.1 Giới thiệu chung về phần m ềm 14
2.3.2 Vẽ sơ đồ Logic 15
2.3.3 Vẽ sơ đồ DFD 16
2.3.4 Vẽ sơ đồ ERD 17
2.4 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU SQL SERVER 2014 18
2.4.1 Hệ quả trị CSDL SQL Server 18
2.4.2 Đối tượng CSD L 19
2.4.3 SQL Server 2014 quản trị CSDL 20
2.4.4 Mô hình CSDL Client - Server 20
Trang 72.5 CÔNG NGHỆ ASP.NET MVC 22
2.5.1 Tìm hiểu về ASP.Net 22
2.5.2 Lịch sử ra đời của Asp.Net MVC 23
2.5.3 Sự khác nhau giữa MVC và Webform 24
2.5.4 Kiến trúc sử dụng Asp.Net MVC 24
2.5.5 Đặc điểm Asp.Net MVC Framework 25
2.6 GIỚI THIỆU ENTITY FRAMEWORK 27
2.6.1 Tổng quan 27
2.6.2 Tầng Application 27
2.6.3 Tầng Object Services 27
2.6.4 Tầng EntityClient Data Provider 28
2.6.5 Tầng Ado.Net Data Providers 29
2.6.6 Tầng EDM (Entity Data M odel) 29
2.6.7 Cách sử dụng trong Entity Framework 30
2.7 TỔNG QUAN VỀ NGÔN NGỮ GIAO D IỆN 31
2.7.1 HTML và CSHTML 31
2.7.2 Razor View Engine 31
2.7.3 CSS (Cascading Style Sheets) 32
2.7.4 Bootstrap 33
2.7.5 JavaScript và JQuery 33
2.8 KHÁI NIỆM PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG THÔNG TIN 35
2.8.1 Khái niệm hệ thống thông tin 35
2.8.2 Các thành phần của hệ thống thông tin 35
2.9 PHẦN MỀM ENTERPRISE ARCHITECT 36
2.9.1 Giới thiệu về Enterprise Architect 36 2.9.2 Một số sơ đồ UML trên Enterprise Architect
Trang 82.10 TẠO REPORT VỚI STIMULSOFT DESIGNER 47
2.10.1 Giới thiệu về Stimulsoft Company 47
2.10.2 Một số sản phẩm của Stimulsoft 47
2.10.3 Thiết kế Report với phần mềm Stimulsoft Designer 50
2.11 TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH C # 51
2.11.1 C# là ngôn ngữ đơn giản 52
2.11.2 C# là ngôn ngữ hiện đ ạ i 52
2.11.3 C# là ngôn ngữ hướng đối tượng 53
2.11.4 C# là ngôn ngữ mạnh mẽ và cũng mềm dẻo 53
2.11.5 C# là ngôn ngữ ít từ khóa 53
2.11.6 C# là ngôn ngữ hướng module 54
2.11.7 C# sẽ là một ngôn ngữ phổ biến 54
2.12 PHẦN MỀM VISUAL STUDIO 54
2.12.1 Giới thiệu về Visual Studio 54
2.12.2 Một số điểm mạnh của phần mềm Visual Studio 55
CHƯƠNG 3 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 56
3.1 KHẢO SÁT HIỆN TRẠNG 56
3.1.1 Hiện trạng thực tế 56
3.1.2 Khảo sát hệ thống 56
3.2 KHẢO SÁT NGHIỆP VỤ 57
3.2.1 Cơ cấu tổ chức 57
3.2.2 Quy trình nghiệp vụ 58
3.3 PHÂN TÍCH HỆ THỐNG 66
3.3.1 Xác định A ctor 66
3.3.2 Xác định Usecase 66
Trang 93.3.4 Thiết kế cơ sở dữ liệu 97
3.3.5 Sơ đồ lớ p 108
3.4 THIẾT KẾ HỆ THỐNG 109
3.4.1 Cơ sở dữ liệ u 109
3.4.2 Cây hệ thống 112
CHƯƠNG 4 SẢN PHẨM 114
4.1 MÀN HÌNH ĐĂNG NHẬP 114
4.2 MÀN HÌNH QUÊN MẬT K H Ẩ U 115
4.3 QUYỀN ĐĂNG NHẬP ADMIN (QUẢN LÝ) 115
4.3.1 Màn hình chính 115
4.3.2 Màn hình chức năng cập nhật thông tin 116
4.3.3 Màn hình chức năng xem phiếu 124
4.3.4 Màn hình chức năng xem báo cáo 126
4.3.5 Màn hình chức năng in phiếu 127
4.3.6 Màn hình chức năng đổi mật khẩu 129
4.3.7 Đăng x u ất 129
4.4 QUYỀN ĐĂNG NHẬP GIÁO V IÊN 130
4.4.1 Màn hình chính 130
4.4.2 Màn hình chức năng lập phiếu báo ăn 130
4.4.3 Chức năng đổi mật khẩu 131
4.4.4 Đăng x u ất 131
4.5 QUYỀN ĐĂNG NHẬP NHÂN VIÊN NHÀ BẾP 131
4.5.1 Màn hình chính 131
4.5.2 Màn hình chức năng cập nhật thông tin 132
4.5.3 Màn hình chức năng lập phiếu 135 4.5.4 Màn hình chức năng tạo bảng định lượng món ăn
Trang 104.5.5 Chức năng đổi mật khẩu 139
4.5.6 Đăng x u ất 139
4.6 QUYỀN ĐĂNG NHẬP NHÂN VIÊN THỰC PHẨM 140
4.6.1 Màn hình chính 140
4.6.2 Màn hình chức năng cập nhật thông tin 141
4.6.3 Màn hình chức năng lập phiếu 143
4.6.4 Chức năng lập báo cáo 147
4.6.5 Chức năng đổi mật khẩu 150
4.6.6 Đăng x u ất 150
CHƯƠNG 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 151
5.1 KẾT LUẬN 151
5.1.1 Kết quả đạt được 151
5.1.2 Hạn chế 151
5.2 HƯỚNG PHÁT TRIỂN 151
DANH MỤC TÀI LIỆU THAM KHẢO 152
Trang 11DANH MỤC CÁC CHỮ VIẾT TẮT
Trang 12DANH MỤC BẢNG•
Bảng 2.1: Bảng đối tượng CSDL 19
Bảng 2.2: Sự khác nhau giữa MVC và W ebform 24
Bảng 2.3: Bảng ánh xạ tương đương giữa các đối tượng trong database và EF 28
Bảng 2.4: Bảng biểu diễn bội số quan hệ 43
Bảng 2.5: Bảng liệt kê các từ khóa của ngôn ngữ C # 53
Bảng 3.1: Bảng nội dung công việc 58
Bảng 3.2: Bảng nhóm các chức năng 59
Bảng 3.3: Bảng bộ phận 100
Bảng 3.4: Bảng lớp 100
Bảng 3.5: Bảng nhân viên 100
Bảng 3.6: Bảng giáo viên 101
Bảng 3.7: Bảng nhà cung cấp 101
Bảng 3.8: Bảng người g iao 101
Bảng 3.9: Bảng món ăn 101
Bảng 3.10: Bảng thực phẩm 101
Bảng 3.11: Bảng định lượng món ă n 102
Bảng 3.12: Bảng quản lý bảng định lượng món ăn 102
Bảng 3.13: Bảng phiếu báo ă n 102
Bảng 3.14: Bảng quản lý phiếu báo ă n 102
Bảng 3.15: Bảng phiếu yêu cầu thực phẩm 103
Bảng 3.16: Bảng chi tiết phiếu yêu cầu thực phẩm 103
Bảng 3.17: Bảng quản lý phiếu yêu cầu thực phẩm 103
Bảng 3.18: Bảng phiếu đề nghị cung cấp thực phẩm 103
Bảng 3.19: Bảng chi tiết phiếu đề nghị cung cấp thực phẩm 104
Bảng 3.20: Bảng quản lý phiếu đề nghị cung cấp thực phẩm 104
Bảng 3.21: Bảng phiếu giao thực phẩm 104
Bảng 3.22: Bảng chi tiết phiếu giao thực phẩm 104
Bảng 3.23: Bảng quản lý phiếu giao thực phẩm 105
Bảng 3.24: Bảng phiếu bàn giao thực phẩm 105
Bảng 3.25: Bảng chi tiết phiếu bàn giao thực phẩm 105
Trang 13Bảng 3.26: Bảng quản lý phiếu bàn giao thực phẩm 105
Bảng 3.27: Bảng phiếu kiểm kê thực phẩm 106
Bảng 3.28: Bảng chi tiết phiếu kiểm kê thực phẩm 106
Bảng 3.29: Bảng quản lý phiếu kiểm kê thực phẩm 106
Bảng 3.30: Bảng kho thực phẩm còn lại 106
Bảng 3.31: Bảng quản lý kho thực phẩm còn lại 107
Bảng 3.32: Bảng nhóm tài khoản người dùng 107
Bảng 3.33: Bảng tài khoản đăng nhập 107
Bảng 3.34: Bảng hóa đơn 107
Bảng 3.35: Bảng chi tiết hóa đơn 108
Trang 14DANH MỤC BIỂU ĐỒ•
Sơ đồ 2.1: Quá trình phát triển của một hệ thống thông tin 4
Sơ đồ 2.2: Sơ đồ minh họa mối quan hệ các thành phần trong E F 30
Sơ đồ 3.1: Sơ đồ cơ cấu tổ chức 57
Sơ đồ 3.2: Sơ đồ tiến trình nghiệp vụ yêu cầu thực phẩm 60
Sơ đồ 3.3: Sơ đồ tiến trình nghiệp vụ đề nghị cung cấp thực phẩm 61
Sơ đồ 3.4: Sơ đồ tiến trình nghiệp vụ cung cấp và kiểm kê thực phẩm 62
Sơ đồ 3.5: Sơ đồ tiến trình nghiệp vụ báo cáo 63
Sơ đồ 3.6: Sơ đồ phân rã chức năng của hệ thống 64
Sơ đồ 3.7: Sơ đồ usecase của quản lý 67
Sơ đồ 3.8: Sơ đồ usecase của giáo viên 68
Sơ đồ 3.9: Sơ đồ usecase của nhân viên nhà bếp 68
Sơ đồ 3.10: Sơ đồ usecase của nhân viên thực phẩm 69
Sơ đồ 3.11: Sơ đồ tuần tự đăng nhập không thành công 70
Sơ đồ 3.12: Sơ đồ hợp tác đăng nhập không thành công 70
Sơ đồ 3.13: Sơ đồ tuần tự đăng nhập thành công 70
Sơ đồ 3.14: Sơ đồ hợp tác đăng nhập thành công 71
Sơ đồ 3.15: Sơ đồ tuần chức năng tự quản lý bộ phận 71
Sơ đồ 3.16: Sơ đồ hợp tác chức năng quản lý bộ phận 71
Sơ đồ 3.17: Sơ đồ tuần tự chức năng quản lý nhân viên 72
Sơ đồ 3.18: Sơ đồ hợp tác chức năng quản lý nhân viên 72
Sơ đồ 3.19: Sơ đồ tuần tự chức năng quản lý giáo v iên 73
Sơ đồ 3.20: Sơ đồ hợp tác chức năng quản lý giáo viên 73
Sơ đồ 3.21: Sơ đồ tuần tự chức năng quản lý lớp 74
Sơ đồ 3.22: Sơ đồ hợp tác chức năng quản lý lớ p 74
Sơ đồ 3.23: Sơ đồ tuần tự chức năng quản lý tài khoản 75
Sơ đồ 3.24: Sơ đồ hợp tác chức năng quản lý tài khoản 75
Sơ đồ 3.25: Sơ đồ tuần tự chức năng xem phiếu 76
Sơ đồ 3.26: Sơ đồ hợp tác chức năng xem phiếu 76
Sơ đồ 3.27: Sơ đồ tuần tự chức năng xem báo cáo thực phẩm đã m ua 77
Sơ đồ 3.28: Sơ đồ hợp tác chức năng xem báo cáo thực phẩm đã mua 77
Trang 15Sơ đồ 3.29: Sơ đồ tuần tự chức năng in phiếu 78
Sơ đồ 3.30: Sơ đồ hợp tác chức năng in phiếu 78
Sơ đồ 3.31: Sơ đồ tuần tự chức năng đổi mật khẩu 79
Sơ đồ 3.32: Sơ đồ hợp tác chức năng đổi mật khẩu 79
Sơ đồ 3.33: Sơ đồ tuần tự chức năng lập phiếu báo ăn 80
Sơ đồ 3.34: Sơ đồ hợp tác chức năng lập phiếu báo ă n 80
Sơ đồ 3.35: Sơ đồ tuần tự chức năng quản lý thực phẩm 81
Sơ đồ 3.36: Sơ đồ hợp tác chức năng quản lý thực phẩm 81
Sơ đồ 3.37: Sơ đồ tuần tự chức năng quản lý món ă n 82
Sơ đồ 3.38: Sơ đồ hợp tác chức năng quản lý món ăn 82
Sơ đồ 3.39: Sơ đồ tuần tự chức năng xem và xác nhận phiếu báo ăn 83
Sơ đồ 3.40: Sơ đồ hợp tác chức năng xem và xác nhận phiếu báo ăn 83
Sơ đồ 3.41: Sơ đồ tuần tự chức năng tạo bảng định lượng món ăn 84
Sơ đồ 3.42: Sơ đồ hợp tác chức năng tạo bảng định lượng món ă n 84
Sơ đồ 3.43: Sơ đồ tuần tự chức năng lập phiếu yêu cầu thực phẩm 85
Sơ đồ 3.44: Sơ đồ hợp tác chức năng lập phiếu yêu cầu thực phẩm 85
Sơ đồ 3.45: Sơ đồ tuần tự chức năng xem và xác nhận phiếu bàn giao thực phẩm 86
Sơ đồ 3.46: Sơ đồ hợp tác chức năng xem và xác nhận phiếu bàn giao thực phẩm 86 Sơ đồ 3.47: Sơ đồ tuần tự chức năng lập phiếu kiểm kê thực phẩm 87
Sơ đồ 3.48: Sơ đồ hợp tác chức năng lập phiếu kiểm kê thực phẩm 87
Sơ đồ 3.49: Sơ đồ tuần tự chức năng quản lý thông tin nhà cung cấp 88
Sơ đồ 3.50: Sơ đồ hợp tác chức năng quản lý thông tin nhà cung cấp 88
Sơ đồ 3.51: Sơ đồ tuần tự chức năng quản lý thông tin người giao hàng 89
Sơ đồ 3.52: Sơ đồ hợp tác chức năng quản lý thông tin người giao hàng 89
Sơ đồ 3.53: Sơ đồ tuần tự chức năng xem và xác nhận phiếu yêu cầu thực phẩm 90
Sơ đồ 3.54: Sơ đồ hợp tác chức năng xem và xác nhận phiếu yêu cầu thực phẩm 90
Sơ đồ 3.55: Sơ đồ tuần tự chức năng lập phiếu đề nghị cung cấp thực phẩm 91
Sơ đồ 3.56: Sơ đồ hợp tác chức năng lập phiếu đề nghị cung cấp thực phẩm 91
Sơ đồ 3.57: Sơ đồ tuần tự chức năng lập phiếu giao thực phẩm 92
Sơ đồ 3.58: Sơ đồ hợp tác chức năng lập phiếu giao thực phẩm 92
Sơ đồ 3.59: Sơ đồ tuần tự chức năng lập phiếu bàn giao thực phẩm 93
Sơ đồ 3.60: Sơ đồ hợp tác chức năng lập phiếu bàn giao thực phẩm 93
Trang 16Sơ đồ 3.61: Sơ đồ tuần tự chức năng xem và xác nhận phiếu kiểm kê thực phẩm 94
Sơ đồ 3.62: Sơ đồ hợp tác chức năng xem và xác nhận phiếu kiểm kê thực phẩm 94
Sơ đồ 3.63: Sơ đồ tuần tự quản lý kho thực phẩm còn lại 95
Sơ đồ 3.64: Sơ đồ hợp tác quản lý kho thực phẩm còn lạ i 95
Sơ đồ 3.65: Sơ đồ tuần tự chức năng tạo hóa đơn thanh toán 96
Sơ đồ 3.66: Sơ đồ hợp tác chức năng tạo hóa đơn thanh toán 96
Sơ đồ 3.67: Sơ đồ liên kết thực thể E R 97
Sơ đồ 3.68: Sơ đồ lớp 108
Sơ đồ 3.69: Sơ đồ cơ sở dữ liệu 109
Sơ đồ 3.70: Sơ đồ cây chức năng của quản lý 112
Sơ đồ 3.71: Sơ đồ cây chức năng của giáo viên 112
Sơ đồ 3.72: Sơ đồ cây chức năng của nhân viên nhà bếp 113
Sơ đồ 3.73: Sơ đồ cây chức năng của nhân viên thực phẩm 113
Trang 17DANH MỤC HÌNH ẢNH•
Hình 2.1: Tiếp cận phát triển hệ thống thông tin định hướng cấu trúc 7
Hình 2.2: Ví dụ về CSDL quan h ệ 11
Hình 2.3: Tập thực thể 12
Hình 2.4: Mối kết hợp 1 - 1 12
Hình 2.5: Mối kết hợp 1 - N 13
Hình 2.6: Mối kết hợp N - N 13
Hình 2.7: Mối kết hợp 3 ngôi 13
Hình 2.8: Ví dụ về sơ đồ Logic đăng ký thành viên 15
Hình 2.9: Ví dụ về sơ đồ DFD quá trình xử lý đơn hàng ở mức cao 16
Hình 2.10: Ví dụ về sơ đồ thực thể cho quá trình xử lý đơn hàng 17
Hình 2.11: Ví dụ về ưu điểm của Asp.Net 22
Hình 2.12: Mô hình M VC 25
Hình 2.13: Mô hình kiến trúc Entity Framework 27
Hình 2.14: Lưu đồ Entity Mapping M odel 30
Hình 2.15: Minh họa khối mã lệnh Razor View 32
Hình 2.16: Vai trò CSS với W ebsite 33
Hình 2.17: Phần mềm Enterprise Architect 36
Hình 2.18: Ví dụ biểu đồ trường hợp sử dụng (Usecase Diagram) 38
Hình 2.19: Biểu đồ tuần tự (Sequence Diagram) 39
Hình 2.20: Ví dụ biểu đồ tuần tự với chức năng đăng nhập 41
Hình 2.21: Sự khác nhau giữa Association, Aggregation và Composition 45
Hình 2.22: Ví dụ biểu đồ lớp 46
Hình 2.23: Logo của Stimulsoft Company 47
Hình 2.24: Stimulsoft Ultimate 47
Hình 2.25: Mẫu báo cáo hóa đơn 48
Hình 2.26: Mẫu báo cáo đơn đặt hàng 49
Hình 2.27: Mẫu báo cáo bằng biểu đ ồ 49
Hình 2.28:Stimulsoft Reports Server 50
Hình 2.29: Phần mềm tạo báo cáo Stimulsoft Designer 51
Hình 2.30: Visual Studio - trình soạn thảo nhiều ngôn ngữ lập trình 55
Trang 18Hình 3.1: Dữ liệu bảng bộ phận 110
Hình 3.2: Dữ liệu bảng nhân viên 110
Hình 3.3: Dữ liệu bảng giáo viên 110
Hình 3.4: Dữ liệu bảng lớp 110
Hình 3.5: Dữ liệu bảng thực phẩm 110
Hình 3.6: Dữ liệu bảng nhà cung cấp 110
Hình 3.7: Dữ liệu bảng người giao hàng 111
Hình 3.8: Dữ liệu bảng món ăn 111
Hình 3.9: Dữ liệu bảng nhóm người dùng 111
Hình 3.10: Dữ liệu bảng tài khoản 111
Hình 4.1: Màn hình đăng nhập vào hệ thống quản lý 114
Hình 4.2: Thông báo sai thông tin tài khoản 114
Hình 4.3: Màn hình quên mật khẩu 115
Hình 4.4: Màn hình chính của quản lý 115
Hình 4.5: Chức năng cập nhật thông tin 116
Hình 4.6: Chức năng xem phiếu 116
Hình 4.7: Chức măng xem báo cáo 116
Hình 4.8: Chức năng in phiếu 116
Hình 4.9: Chức năng đổi mật khẩu 116
Hình 4.10: Màn hình chức năng cập nhật thông tin bộ phận 116
Hình 4.11: Màn hình chức năng thêm bộ phận m ớ i 117
Hình 4.12: Thông báo thêm bộ phận mới thành công 117
Hình 4.13: Màn hình chức năng sửa thông tin bộ phận 118
Hình 4.14: Thông báo thông tin bộ phận sửa đã được lưu 118
Hình 4.15: Thông báo xác nhận xóa bộ phận 119
Hình 4.16: Thông báo xóa thành công bộ phận 119
Hình 4.17: Màn hình chức măng cập nhật thông tin nhân viên 120
Hình 4.18: Màn hình chức năng thêm nhân viên mới 120
Hình 4.19: Màn hình chức năng sửa thông tin nhân viên 120
Hình 4.20: Màn hình chức năng cập nhật thông tin giáo viên 121
Hình 4.21: Màn hình chức năng thêm thông tin giáo viên m ới 121
Hình 4.22: Màn hình chức năng sửa thông tin giáo viên 121
Trang 19Hình 4.23: Màn hình chức năng cập nhật thông tin lớp 122
Hình 4.24: Màn hình chức năng thêm lớp m ới 122
Hình 4.25: Màn hình chức năng sửa thông tin lớp 122
Hình 4.26: Màn hình chức năng cập nhật tài khoản 123
Hình 4.27: Màn hình chức năng thêm tài khoản m ớ i 123
Hình 4.28: Màn hình chức năng chỉnh sửa thông tin tài khoản 123
Hình 4.29: Màn hình chức năng xem phiếu báo ă n 124
Hình 4.30: Màn hình chức năng xem phiếu yêu cầu thực phẩm 124
Hình 4.31: Màn hình chi tiết phiếu yêu cầu thực phẩm 125
Hình 4.32: Màn hình chức năng xem phiếu đề nghị cung cấp thực phẩm 125
Hình 4.33: Màn hình chức năng xem phiếu giao thực phẩm 125
Hình 4.34: Màn hình chức năng xem phiếu bàn giao thực phẩm 126
Hình 4.35: Màn hình chức năng xem phiếu kiểm kê thực phẩm 126
Hình 4.36: Màn hình chức năng xem báo cáo thực phẩm đã mua 126
Hình 4.37: Màn hình chức năng in phiếu giao 127
Hình 4.38: Thông báo xác nhận in phiếu 127
Hình 4.39: Report phiếu giao 128
Hình 4.40: Màn hình chức năng in hóa đơn 128
Hình 4.41: Report hóa đơn 128
Hình 4.42: Màn hình chức năng đổi mật khẩu 129
Hình 4.43: Thông báo đổi mật khẩu thành công 129
Hình 4.44: Thông báo xác nhận đăng xuất hệ thống 129
Hình 4.45: Màn hình chính của giáo viên 130
Hình 4.46: Chức năng cập nhật thông tin 130
Hình 4.47: Chức năng đổi mật khẩu 130
Hình 4.48: Màn hình chức năng lập phiếu báo ă n 130
Hình 4.49: Thông báo thêm phiếu thành công 131
Hình 4.50: Màn hình chính của nhân viên nhà b ế p 131
Hình 4.51: Chức năng cập nhật thông tin 132
Hình 4.52: Chức năng lập phiếu 132
Hình 4.53: Chức năng tạo bảng định lượng món ăn và đổi mật khẩu 132
Hình 4.54: Màn hình chức măng cập nhật thông tin thực phẩm 132
Trang 20Hình 4.55: Màn hình chức năng thêm thực phẩm m ớ i 133
Hình 4.56: Màn hình chức năng sửa thông tin thực phẩm 133
Hình 4.57: Màn hình chức măng cập nhật thông tin món ăn 133
Hình 4.58: Màn hình chức năng thêm món ăn m ớ i 134
Hình 4.59: Màn hình chức năng sửa thông tin món ăn 134
Hình 4.60: Màn hình danh sách các phiếu báo ăn cần duyệt 135
Hình 4.61:Màn hình duyệt phiếu báo ăn 135
Hình 4.62: Thông báo xác nhận duyệt phiếu 136
Hình 4.63: Thông báo duyệt phiếu thành công 136
Hình 4.64: Màn hình chức năng lập phiếu yêu cầu thực phẩm 136
Hình 4.65: Danh sách các thực phẩm thêm vào phiếu yêu cầu 137
Hình 4.66: Thông báo thêm phiếu thành công 137
Hình 4.67: Danh sách phiếu bàn giao thực phẩm cần duyệt 137
Hình 4.68: Màn hình chi tiết phiếu bàn giao thực phẩm 138
Hình 4.69: Màn hình chức năng lập phiếu kiểm kê thực phẩm 138
Hình 4.70: Màn hình chức năng tạo bảng định lượng món ă n 138
Hình 4.71: Màn hình tạo bảng định lượng món ăn 139
Hình 4.72: Thông báo tạo bảng định lượng thành công 139
Hình 4.73: Màn hình chính của nhân viên thực phẩm 140
Hình 4.74: Chức năng cập nhật thông tin 140
Hình 4.75: Chức năng lập phiếu 140
Hình 4.76: Chức năng lập báo cáo 140
Hình 4.77: Chức năng đổi mật khẩu 140
Hình 4.78: Màn hình chức năng cập nhật thông tin người giao hàng 141
Hình 4.79: Màn hình chức năng thêm người giao hàng m ới 141
Hình 4.80: Màn hình chức năng chỉnh sửa thông tin người giao hàng 141
Hình 4.81: Màn hình chức năng cập nhật thông tin nhà cung cấp 142
Hình 4.82: Màn hình chức năng thêm nhà cung cấp m ới 142
Hình 4.83: Màn hình chức năng chỉnh sửa thông tin nhà cung cấp 142
Hình 4.84: Danh sách phiếu yêu cầu thực phẩm cần duyệt 143
Hình 4.85: Màn hình chi tiết phiếu yêu cầu thực phẩm 143
Hình 4.86: Màn hình chức năng lập phiếu đề nghị cung cấp thực phẩm 144
Trang 21Hình 4.87: Màn hình lập phiếu đề nghị cung cấp thực phẩm 144
Hình 4.88: Màn hình chi tiết phiếu đề nghị cung cấp thực phẩm 144
Hình 4.89: Màn hình chức năng lập phiếu giao thực phẩm 145
Hình 4.90: Màn hình lập phiếu giao thực phẩm 145
Hình 4.91: Màn hình chi tiết phiếu giao thực phẩm 145
Hình 4.92: Màn hình lập phiếu bàn giao thực phẩm 146
Hình 4.93: Danh sách phiếu kiểm kê thực phẩm cần duyệt 146
Hình 4.94: Màn hình chi tiết phiếu kiểm kê thực phẩm 147
Hình 4.95: Màn hình chức năng lập báo cáo thanh toán 147
Hình 4.96: Màn hình tạo hóa đơn thanh toán 148
Hình 4.97: Thông báo tạo hóa đơn thanh toán thành công 148
Hình 4.98: Màn hình chi tiết hóa đơn 148
Hình 4.99: Màn hình chức năng lập báo cáo thực phẩm còn lại trong kho thực phẩm 149
Hình 4.100: Màn hình thêm thực phẩm còn lại vào kho 149
Hình 4.101: Thông báo lưu thành công thực phẩm vào kho 149
Hình 4.102: Danh sách thực phẩm còn lại 150 Hình 4.103: Màn hình cập nhật thực phẩm còn lại
Trang 22Em hy vọng dựa trên nền tảng lý thuyết đã được thầy cô truyền dạy, kết hợp với
sự hiểu biết và kiến thức của cá nhân, đồ án tốt nghiệp của em sẽ đạt được mục đích mong đợi
1.1.2 Ý nghĩa của đề tài
Trước hết, đề tài “Xây dựng chương trình quản lý thực phẩm hàng ngày tại trường mầm non” là một chương trình được xây dựng như một đề tài áp dụng những kiến thức quý báu đã được các thầy cô của trường Đại học Bà Rịa - Vũng Tàu nhiệt tình truyền thụ lại cho chúng em Và đặc biệt là sự theo dõi và quan tâm giúp đỡ của thầy Phan Ngọc Hoàng trong suốt thời gian em thực hiện đề tài này
Thứ hai là những kinh nghiệm quý báu mà em có được trong quá trình thực hiện
đề tài sẽ là hành trang tuyệt vời giúp ích rất nhiều cho công việc sau này của mình.Thứ ba, trong thời đại công nghệ thông tin phát triển như vũ bão ngày nay, công nghệ không ngừng được cải tiến, những công nghệ mới ra đời đòi hỏi người lập trình viên phải cố gắng nghiên cứu và tìm hiểu để áp dụng vào thực tiễn Điều này cũng được thể hiện qua sự cố gắng em khi quyết định thực hiện đề tài này với các công nghệ được coi là mới nhất và được dự báo sẽ phát triển mạnh mẽ trong tương lai
Do vậy, em rất hy vọng sẽ tạo nên một sản phẩm hoàn chỉnh nhất có thể để đáp lại sự nhiệt tình giúp đỡ từ thầy cô và cả tâm huyết của em khi quyết định thực hiện
đề tài này
Trang 231.2 MÔ TẢ ĐỀ TÀI
1.2.1 Về lý thuyết
Hàng ngày, đầu buổi sáng, sau khi kết thúc nhận các cháu vào các lớp của trường Các giáo viên chủ nhiệm các lớp sẽ thông báo số lượng thực tế các cháu của lớp mình trong ngày hôm đó cho bộ phận nhà bếp thông qua phiếu báo ăn
Trên cơ sở thực tế đó, bộ phận nhà bếp sẽ tổng hợp để đưa ra số suất ăn của từng lứa tuổi Sau đó, căn cứ vào bảng định lượng phân bổ theo từng món ăn và bảng chi tiết các món ăn từng bữa của từng lứa tuổi để lập ra danh sách chi tiết các thực phẩm cần có trong ngày
Tiếp theo bộ phận nhà bếp sẽ lập và chuyển phiếu yêu cầu thực phẩm cho bộ phận thực phẩm của trường Bộ phận thực phẩm sẽ căn cứ vào bảng danh sách thực phẩm còn lại hôm trước và phiếu yêu cầu thực phẩm hôm nay để tổng hợp số lượng những thực phẩm cần có của ngày hôm nay Từ đó bộ phận thực phẩm lập ra phiếu
đề nghị cung cấp thực phẩm để gửi cho các nhà cung cấp thực phẩm
Sau đó, các nhà cung cấp thực phẩm sẽ mang thực phẩm theo đề nghị đến để giao trực tiếp cho bộ phận thực phẩm Bộ phận thực phẩm sẽ lập phiếu giao thực phẩm cho các nhà cung cấp thực phẩm Sau khi nhận thực phẩm từ các nhà cung cấp thực phẩm, bộ phận thực phẩm sẽ tổng hợp chi tiết thực phẩm mua về thực tế Tiếp theo bộ phận thực phẩm sẽ bàn giao thực phẩm vừa mua cho bộ phận nhà bếp và lập phiếu bàn giao thực phẩm
Cuối ngày, bộ phận nhà bếp sẽ lập phiếu kiểm kê thực phẩm có xác nhận của
bộ phận thực phẩm, kiểm kê những thực phẩm còn chưa sử dụng hết trong ngày Cuối mỗi tháng hoặc khi hiệu trưởng có yêu cầu, bộ phận thực phẩm sẽ tổng hợp để lập ra báo cáo tình hình thực phẩm mua về hàng tháng, báo cáo thanh toán tiền cho các nhà cung cấp thực phẩm trong tháng và báo cáo thực phẩm còn lại hàng ngày trong tháng.1.2.2 Về chương trình
Chương trình thực hiện được các yêu cầu đề ra của đề tài đồ án tốt nghiệp.Chương trình quản lý thực phẩm đã phần nào xây dựng và đáp ứng được một
số chức năng chính:
✓ Cập nhật thông tin: Lớp, nhà cung cấp, thực phẩm, món ăn, bảng định lượngdinh dưỡng, nhân viên, tài khoản
Trang 24✓ Lập phiếu
✓ In phiếu
✓ Báo cáo: Thực phẩm đã mua, hóa đơn thanh toán cho nhà cung cấp
1.3 PHƯƠNG PHÁP TRIỂN KHAI
Xây dựng chương trình quản lý thực phẩm để quản lý các thông tin cần rất nhiều thời gian, tâm huyết và cả công sức
Vì vậy trong phạm vi đồ án tốt nghiệp lần này, em quyết định thực hiện các phần cơ bản đến các phần nâng cao theo các bước sau:
Tìm hiểu các quy trình quản lý thực phẩm ở một số trường mầm non gần nơi
em sinh sống và trên mạng Internet
Nghiên cứu về mô hình Asp.Net MVC, Visual Studio và SQL Server là những công nghệ sẽ giúp em phát triển và hoàn thiện đề tài này
Trang 25CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
2.1 PHÂN TÍCH THIÉT KẾ HỆ THỐNG HƯỚNG CẤU TRÚC
2.1.1 Quá trình phát triển của một hệ thống thông tin
Hệ thống thông tin (HTTT) được xây dựng là sản phẩm của một loạt các hoạt động được gọi là phát triển hệ thống Quá trình phát triển một HTTT kể từ lúc nó sinh ra đến khi nó tàn lụi được gọi là vòng đời phát triển hệ thống Vòng đời phát triển các
hệ thống là một phương pháp luận cho việc phát triển các HTTT Nó được đặc trưng bằng một số pha chủ yếu phân biệt nhau của quá trình đó là phân tích, thiết kế và triển khai HTTT
Một trong nhiều mô hình vòng đời đã sắp xếp các bước phát triển hệ thống theo một hình bậc thang, với các mũi tên nối mỗi bước trước với bước sau nó Cách biểu diễn này được xem như tương ứng với mô hình thác nước (Waterfall Model) Quá trình phát triển một hệ thống với các pha: khởi tạo và lập kế hoạch, phân tích, thiết kế, triển khai, vận hành và bảo trì
Sơ đồ 2.1: Quá trình phát triển của một hệ thống thông tin
a Khởi tạo và lập kế hoạch
Việc hình dự án như một yêu cầu bắt buộc để có thể tiến hành những bước tiếp theo của quá trình phát triển
Trong pha này, cần xác định cái gì là cần thiết cho hệ thống mới hay hệ thống
sẽ được tăng cường Tại đây các nhu cầu HTTT tổng thể của tổ chức được xác định,
nó thể hiện ra bằng các chức năng hay dịch vụ mà hệ thống dự kiến phải thực hiện
Trang 26Chúng được phân tích, thiết lập sự ưu tiên và sắp xếp lại rồi chuyển thành một
kế hoạch để phát triển HTTT, trong đó bao gồm cả lịch trình phát triển hệ thống và các chi phí tương ứng Tất cả các nội dung trên được gọi là nghiên cứu hệ thống Sau khi nghiên cứu hệ thống phải đưa ra được một kế hoạch dự án cơ sở Kế hoạch này cần được phân tích đảm bảo tính khả thi trên các mặt:
- Khả thi kĩ thuật: xem xét khả năng kỹ thuật hiện có đủ đảm bảo thực hiện các
giải pháp công nghệ thông tin được áp dụng để phát triển hệ thống hay không
- Khả thi tài chính:
+ Khả năng tài chính của tổ chức cho phép thực hiện dự án bao gồm nguồn
vốn, số vốn có thể huy động trong thời hạn cho phép
+ Lợi ích mà thệ thống được xây dựng mang lại, ít nhất là đủ bù đắp chiphi phải bỏ ra xây dựng nó
- Khả thi về thời gian: án được phát triển trong thời gian cho phép và tiến trình
thực hiện dự án đã được chỉ ra trong giới hạn đã cho
- Khả thi pháp lý và hoạt động: hệ thống có thể vận hành trôi chảy trong khuôn
của tổ chức và điều kiện quản lý mà tổ chức có được và trong khuôn khổ pháp lý hiện hành
b Phân tích hệ thống
Phân tích hệ thống nhằm xác định nhu cầu thông tin của tổ chức Nó sẽ cung cấp những dữ liệu cơ sở cho việc thiết kế HTTT sau này
Phân tích bao gồm một vài pha nhỏ:
- Trước hết, xác định yêu cầu: các nhà phân tích làm việc cùng với người sử dụng để xác định cái gì người dùng chờ đợi từ hệ thống dự kiến
- Tiếp theo là nghiên cứu yêu cầu và cấu trúc phù hợp với mối quan hệ bên trong, bên ngoài và những giới hạn đặt lên các dịch vụ cần thực hiện
- Thứ ba là tìm giải pháp cho các thiết kế ban đầu để đạt được yêu cầu đặt ra,
so sánh để lựa chọn giải pháp tổng thể tốt nhất đáp ứng được các yêu cầu với chi phí, nguồn lực, thời gian và kỹ thuật cho phép để tổ chức thông qua
c Thiết kế hệ thống
Thiết kế là tìm các giải pháp công nghệ thông tin để đáp ứng được các yêu cầu đặt ra
ở trên trong điều kiện môi trường hoạt động đã xác định
Trang 27Pha thiết kế này gồm:
- Thiết kế logic: tập chung vào các khía cạnh hoàn thiện nghiệp vụ của hệ thốngthực
- Thiết kế vật lý: là quá trình chuyển mô hình logic trừu tượng thành bản thiết
kế vật lý, hay các đặc tả kỹ thuật Những phần khác nhau của hệ thống được gắn vào những thao tác và thiết bị vật lý cần thiết để tiện lợi cho thu thập dữ liệu, xử lý và đưa
ra thông tin cần thiết cho tổ chức
Trong pha thiết kế vật lý cần phải quyết định lựa chọn ngôn ngữ lập trình, hệ CSDL, cấu trúc tệp tổ chức dữ liệu, phần cứng, hệ điều hành và môi trường mạng cần được xây dựng
d Triển khai hệ thống
Trong pha này, đặc tả hệ thống được chuyển thành hệ thống vận hành được, sau
đó được thẩm định và đưa vào sử dụng Bước triển khai bào gồm việc: lập ra các chương trình, tiến hành kiểm thử, lắp đặt thiết bị, cài đặt chương trình và chuyển đổi
hệ thống
- Tạo sinh chương trình và kiểm thử: Là việc lựa chọn phần mềm hạ tầng (hệ điều hành, hệ quản trị CSDL, ngôn ngữ lập trình, phần mềm mạng) Quá trình kiểm nghiệm bao gồm kiểm thử các môđun chức năng, chương trình con, sự hoạch động của cả hệ thống và kiểm nghiệm cuối cùng
- Cài đặt và chuyển đổi hệ thống: Cài đặt các chương trình trên hệ thống phần cứng đang tồn tại hay phần cứng mới lắp đặt, chuyển đổi hoạt động của hệ thống cũ sang hoạt động hệ thống mới bao gồm việc chuyển đổi dữ liệu, sắp xếp đội ngũ cán
bộ trên hệ thống mới và đào tạo sử dụng, khai thác hệ thống Chuẩn bị tài liệu chi tiết thiết minh về việc khai thác và sử dụng hệ thống
e Vận hành và bảo trì
Khi hệ thống được lắp đặt và chuyển đổi toàn bộ, giai đoạn vẫn hành bắt đầu Trong thời gian này, người sử dụng và các chuyên viên kỹ thuật vận hành cần đánh giá xem hệ thống có đáp ứng được các mục tiêu đặt ra ban đầu hay không, đề xuất sửa đổi, cải tiến, bổ xung
Trang 282.1.2 Tiếp cận phát triển hệ thống thông tin định hướng cấu trúc
Tiếp cận định hướng cấu trúc (structure drive approach) như một bước phát triển tiếp tục của định hướng dữ liệu Nhiều tài liệu thường gộp hai cách tiếp cận này làm một, và gọi tiếp cận hướng dữ liệu/chức năng Theo cách tiếp cận này, hệ thống được phân chia thành các chức năng, bắt đầu ở mức cao nhất, sau đó làm mịn dần dần để thành thiết kế với các chức năng chi tiết hơn Trạng thái của hệ thống thể hiện qua CSDL tập trung và được chia sẻ cho các chức năng tương đối độc lập với nhau cùng tao tác trên nó Tiếp cận hướng cấu trúc hướng vào việc cải tiến cấu trúc các chương trình dựa trên cơ sở môđun hóa để dễ theo dõi, quản lý và bảo trì
Hình 2.1: Tiếp cận phát triển hệ thống thông tin định hướng cấu trúc
Các phương pháp luận định hướng cấu trúc sử dụng một hay một số công cụ để xác định luồng thông tin và các quá trình xử lý Việc xác định và chi tiết hóa dần các luồng dữ liệu và các tiến trình là ý tưởng có bản của phương pháp luận từ trên xuống (top - down) Từ mức 0: mức chung nhất, quá trình tiếp tục làm mịn cho đến mức thấp nhất (mức cơ sở) Ở đó, từ các sơ đồ nhận được ta có thể bắt đầu tạo lập các chương trình với các môđun thấp nhất (môđun cơ sở)
Phát triển có cấu trúc đã cung cấp một tập hợp đầy đủ các đặc tả hệ thống không
dư thừa được phát triển theo quá trình logic và lặp lại Nó cho ta nhiều lợi ích so với các cách tiếp cận trước đó:
- Làm giảm sự phức tạp (nhờ chia nhỏ, môđun hóa)
- Tập trung vào ý tưởng (vào logic, kiến trúc trước khi thiết kế)
- Chuẩn mực hóa (theo các phương pháp, công cụ đã cho)
- Hướng về tương lai (kiến trúc tốt, môđun hóa dễ bảo trì)
Trang 29- Giảm bớt tính nghệ thuật trong thiết kế (phát triển hệ thống phải tuân theo một tiến trình xác định với các quy tắc và phương pháp đã cho).
2.2 THIẾT KẾ CƠ SỞ DỮ LIỆU QUAN HỆ
2.2.1 Mô hình liên kết thực thể E-R
b Các thành phần cơ bản của mô hình E-R
Mô hình E-R có các thành phần cơ bản sau:
- Kiểu thực thể: là một khái niệm để chỉ một lớp các đối tượng cụ thể hay các
khái niệm có cùng những đặc trưng chung mà ta cần quan tâm
+ Mỗi kiểu thực thể được gán một tên đặc trưng cho một lớp các đối tượng tên, tên này được viết hoa
+ Ký hiệu:
- Thuộc tính: là các đặc trưng của kiểu thực thể, mỗi kiểu thực thể có một tập
các thuộc tính gắn kết với nhau Mỗi kiểu thực thể phải có ít nhất một thuộc tính.+ Ký hiệu:
TÊN THỰC THỂ
Tên thuộc tính
Trang 30+ Các thuộc tính có thể phân làm bốn loại: thuộc tính tên gọi, thuộc tính định danh, thuộc tính mô tả, thuộc tính đa trị:
• Thuộc tính tên gọi: là thuộc tính mà mỗi giá trị cụ thể của một thực thể cho ta một tên gọi của một bản thể thuộc thực thể nào đó, do đó mà ta nhận biết được bản thể đó
• Thuộc tính định danh (khóa): là một hay một số thuộc tính của kiểu thực thể
mà giá trị của nó cho phép người ta phân biệt được các thực thể khác nhau của một kiểu thực thể Ký hiệu:
• Thuộc tính mô tả: các thuộc tính của thực thể không phải là định danh, không phải là tên gọi được gọi là thuộc tính mô tả Nhờ thuộc tính này mà ta biết đầy
đủ hơn về bản thể của thực thể Một thực thể có nhiều hoặc không có thuộc tính
mô tả nào
• Thuộc tính đa trị (thuộc tính lặp): là thuộc tính có thể nhận được nhiều hơn một giá trị đối với mỗi bản thể Ký hiệu:
- Mối quan hệ: các mối quan hệ gắn kết các thực thể trong mô hình E-R Một
mối quan hệ có thể kết nối giữa một thực thể với một hoặc nhiều thực thể khác Nó phản ánh sự kiện vốn tồn tại trong thực tế
+ Mối quan hệ giữa các thực thể có thể là sở hữu hay phụ thuộc (có, thuộc, là) hoặc mô tả sự tương tác giữa chúng Tên của mối quan hệ là một động từ, cụm danh động từ nhằm thể hiện ý nghĩa bản chất của mối quan hệ
+ Lực lượng của mối quan hệ giữa các thực thể thể hiện qua số thực thể tham gia vào mối quan hệ và số lượng các bản thể của thực thể tham gia vào một quan hệ
cụ thể
+ Ký hiệu:
RI
Trang 31+ Bậc của mối quan hệ: là số các thực thể tham gia vào mối quan hệ đó:
• Mối quan hệ bậc một hay liên kết cấp 1 là mốt quan hệ đệ quy mà một thực thể quan hệ với nhau
• Mối quan hệ bậc hai là mối quan hệ giữa hai bản thể của hai thực thể khác nhau
• Mối quan hệ bậc ba là mối quan hệ có sự tham gia đồng thời của ba bản thể thuộc ba thực thể khác nhau
2.2.2 Cơ sở dữ liệu quan hệ
2.2.2.1 Mô hình dữ liệu quan hệ
a Khái niệm mô hình dữ liệu
- Mô hình dữ liệu là một tập hợp các khái niệm, dùng để mô tả CTDL, các thao tác dữ liệu, các ràng buộc dữ liệu của một CSDL
- Các loại mô hình dữ liệu:
• Mô hình logic: (mô hình dữ liệu bậc cao) cho mô tả CSDL ở mức khái niệm
và mức khung nhìn
• Mô hình vật lí: (mô hình dữ liệu bậc thấp) cho biết dữ liệu được lưu trữ thế
nào
b Mô hình dữ liệu quan hệ
- Mô hình dữ liệu quan hệ được E.F.Codd đề xuất năm 1970 Trong khoảng 20 năm trở lại đây các hệ CSDL theo mô hình quan hệ được dùng rất phổ biến
- Trong mô hình quan hệ:
• Về mặt cấu trúc: Dữ liệu được thể hiện trong các bảng (hàng, cột).
• Về mặt thao tác trên dữ liệu: Có thể cập nhật dữ liệu: Thêm, xoá, sửa.
• Về mặt ràng buộc dữ liệu: Dữ liệu trong một bảng phải thoả mãn một số
ràng buộc
2.2.2.2 Cơ sở dữ liệu quan hệ
a Khái niệm
- CSDL quan hệ: CSDL được xây dựng trên mô hình dữ liệu quan hệ
- Hệ QTCSDL quan hệ: Hệ QTCSDL quan hệ dùng để tạo lập, cập nhật và khai thác CSDL quan hệ
Trang 32- Những đặc trưng của CSDL quan hệ:
• Mỗi quan hệ có một tên phân biệt với tên các quan hệ khác
• Các bộ là phân biệt và thứ tự các bộ là không quan trọng
• Mỗi thuộc tính có một tên phân biệt và thứ tự các thuộc tính là không quantrọng
• Quan hệ không có thuộc tính đa trị hay phức hợp
30/01/1989 TV-04 Thi Ding TO-012 305 i : I •
Hình 2.2: Ví dụ về CSDL quan hệ
c Khóa và liên kết giữa các bảng
- Khóa: Khóa của một bảng là một tập gồm một hay một số thuộc tính của bảng
phân biệt được các cá thể
- Khoá chính (Primary Key) :
• Một bảng có thể có nhiều khóa Trong các khóa của một bảng người ta thường chọn (chỉ định) một khóa làm khóa chính
Trang 33• Khi nhập dữ liệu cho một bảng, giá trị của mọi bộ tại khóa chính không được
để trống
• Chú ý:
• Mỗi bảng có ít nhất một khóa Việc xác định khóa phụ thuộc vào quan hệ lôgic
của các dữ liệu chứ không phụ thuộc vào giá trị của các dữ liệu
• Nên chọn khóa chính là khóa có ít thuộc tính nhất
- Khoá ngoại (Foreign Key):
Cho 2 quan hệ Q và R X được gọi là khoá ngoại của R nếu X là thuộc tính của
R và X là khoá chính của Q Tên thuộc tính trên khóa ngoại và khóa chính có thể khác nhau
- Liên kết: Thực chất sự liên kết giữa các bảng là dựa trên thuộc tính khóa
Chẳng hạn thuộc tính số thẻ là khóa của bảng người mượn xuất hiện lại ở bảng mượn sách đó tạo nên liên kết giữa 2 bảng này
d Quy tắc chuyển đổi ERD sang mô hình dữ liệu quan hệ
Trang 34- Mối kết hợp 1 - N
Thuộc tính khoá bên 1 làm khoá ngoại bên nhiều
MAPA
I HANVI EN THOIGIAN TENNV
TENDA PHÂN
DEAN
l.n )
PHANCONGf MANV MAPA THOIGIAN)
Hình 2.6: Mối kết hợp N - N
- Mối kết hợp 3 ngôi (Ba thực thể tham gia vào mối kết hợp)
Chuyển thành quan hệ mới, có khoá chính gồm 3 thuộc tính khoá của 3 thực thể tham gia mối kết hợp Thuộc tính mối kết hợp (nếu có) trở thành thuộc tính của quan
hệ mới
Trang 352.3 VẼ SƠ ĐỒ VỚI PHẦN MỀM M ICROSOFT VISIO
2.3.1 Giới thiệu chung về phần mềm
Visio là một chương trình vẽ sơ đồ thông minh, được tích hợp vào bộ chương trình Microsoft Office từ phiên bản 2003 MS Visio cho phép thể hiện bản vẽ một cách trực quan Hơn nữa, nó còn cung cấp nhiều đặc tính khiến cho sơ đồ ý nghĩa hơn, linh động hơn và phù hợp hơn với nhu cầu của người dùng Ngoài ra, chúng ta
có thể sao chép bản vẽ của mình qua các phần mềm khác như: MS Word, MS Excel
Có nhiều phiên bản của Visio khác nhau tùy theo nhu cầu Với Visio chúng ta
có thể tạo các sơ đồ liên quan đến công việc như: biểu đồ dòng (flowcharts), sơ đồ tổ chức (organization charts), và lịch trình dự án (project scheduling) Ngoài ra, chúng
ta còn có thể tạo các sơ đồ mang tính kỹ thuật, chẳng hạn tạo các bản vẽ xây dựng, thiết kế nhà, sơ đồ mạng, sơ đồ phần mềm, sơ đồ trang web, sơ đồ máy móc, và các
sơ đồ kỹ thuật khác
Sơ đồ tổ chức là một dạng sơ đồ thường được sử dụng trong công việc kinh doanh Với sơ đồ tổ chức vẽ bằng Visio, chúng ta có thể gắn kết dữ liệu vào các hình trong sơ đồ Dữ liệu cho hình được gọi là custom properties Đối với sơ đồ tổ chức,
ta có thể chọn một khung nhân viên, gắn nó với các thông tin quan trọng như: địa điểm, số điện thoại, phòng b a n và các dữ liệu này trở thành 1 phần của biểu đồ.Một lý do khác để tạo ra các sơ đồ tổ chức trong Visio là có thể tạo chúng tự động bằng cách sử dụng thông tin từ một nguồn dữ liệu nào đó Chẳng hạn, ta có thể đặt một sơ đồ tổ chức trong 1 CSDL, một bảng tính Excel, hay thậm chí là hệ thống thư điện tử của công ty Chỉ cần sau vài cú nhấp chuột, biểu đồ đã có sẵn mà không cần phải nhập gì cả
Trang 362.3.2 Vẽ sơ đồ Logic
Giả sử, ta cần vẽ lại sơ đồ logic sau bằng công cụ MS Visio
Hình 2.8: Ví dụ về sơ đồ Logic đăng kỷ thành viên
- Thêm chữ vào hình và kết nối: chọn hình hoặc kết nối đó, rồi gõ chữ vào, nếu
gõ sai, muốn chỉnh sửa lại, thì nhấn F2
- Thêm tên vào cuối sơ đồ bằng cách nhấp chọn Text Tool (A) trên thanh công
cụ, nhấp vào phía dưới sơ đồ rồi gõ chữ vào
- Lưu sơ đồ vừa tạo bằng cách chọn File/ Save, rồi chọn đường dẫn lưu trữ và đặt tên cho hình mới vẽ
- In sơ đồ ra máy in bằng lệnh File/ Print hoặc có thể chọn toàn bộ sơ đồ rồi dùng lệnh Edit/ Copy để sao chép qua Word, Excel
Trang 372.3.3 Vẽ sơ đồ DFD
Giả sử, ta cần vẽ lại sơ đồ DFD sau bằng công cụ MS Visio
Hình 2.9: Ví dụ về sơ đồ DFD quá trình xử lý đơn hàng ở mức cao
- Thêm chữ vào hình và kết nối: chọn hình hoặc kết nối đó, rồi gõ chữ vào, nếu
gõ sai, muốn chỉnh sửa lại, thì nhấn F2 Ta cũng có thể gõ tiếng Việt bằng cách đổi font chữ và bộ gõ thích hợp
- Thêm tên vào cuối sơ đồ bằng cách nhấp chọn Text Tool (A) trên thanh công
cụ, nhấp vào phía dưới sơ đồ rồi gõ chữ vào
- Lưu sơ đồ vừa tạo bằng cách chọn File/ Save In sơ đồ ra máy in bằng lệnh File/ Print hoặc sao chép sơ đồ bằng lệnh Edit/ Copy
- Lưu ý: Nếu muốn vẽ sơ đồ ở mức chi tiết hơn cho 1 xử lý, ta chỉ cần nhấp chuột phải vào xử lý đó, chon New Detail Page, trang chi tiết sẽ được tạo có sẳn các đối tượng có liên quan đến xử lý đó
Trang 382.3.4 Vẽ sơ đồ ERD
Giả sử, ta cần vẽ lại sơ đồ ERD sau bằng công cụ MS Visio
Hình 2.10: Ví dụ về sơ đồ thực thể cho quá trình xử lý đơn hàng
đó, chọn Format/ Line, rồi chọn 1 kiểu góc bầu trong mục Round Corners
- Kết nối các hình bằng cách nắm kéo biểu tượng đường kết nối vào màn hình
và điều chỉnh điểm đầu và cuối cho phù hợp Để thay đổi ký hiệu ở 2 đầu của kết nối, chọn kết nối đó, gọi lệnh Format/ Line, trong mục Line End, thay đổi kiểu bắt đầu và kết thúc của nét ở hộp chọn Begin và End, rồi nhấn OK
- Thêm chữ vào hình và kết nối: chọn hình hoặc kết nối đó, rồi gõ chữ vào, nếu
gõ sai, muốn chỉnh sửa lại, thì nhấn F2
- Thêm tên vào cuối sơ đồ bằng cách nhấp chọn Text Tool (A) trên thanh công
cụ, nhấp vào phía dưới sơ đồ rồi gõ chữ vào
- Lưu sơ đồ vừa tạo bằng cách chọn File/ Save, rồi chọn đường dẫn lưu trữ và đặt tên cho hình mới vẽ
- In sơ đồ ra máy in bằng lệnh File/ Print hoặc cũng có thể sao chép bằng lệnh Edit/ Copy
Trang 392.4 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU SQL SERVER 2014
2.4.1 Hệ quả trị CSDL SQL Server
SQL Server là hệ thống quản trị cơ sở dữ liệu quan hệ (Relational DataBase Management System - RDBMS) sử dụng các lệnh giáo chuyển Transaction SQL để trao đổi dữ liệu giữa Client Computer và Server Computer
SQL Server có một số đặc tính sau:
- Cho phép quản trị một hệ CSDL lớn (lên đến vài tega byte), có tốc độ xử lý
dữ liệu nhanh đáp ứng yêu cầu về thời gian
- Cho phép nhiều người cùng khai thác trong một thời điểm đối với một CSDLvà toàn bộ quản trị CSDL (lên đến vài chục ngàn user)
- Có hệ thống phân quyền bảo mật tương thích với hệ thống bảo mật của công nghệ NT (Network Technology), tích hợp với hệ thống bảo mật củaWindowsNT hoặc
sử dụng hệ thống bảo vệ độc lập của SQL Server
- Hỗ trợ trong việc triển khai CSDL phân tán và phát triển ứng dụng trên Internet
- Cho phép lập trình kết nối với nhiều ngôn ngữ lập trình khác dùng xây dựngcác ứng dụng đặc thù (Visual Basic, C, C++, ASP, ASP.NET, XML )
- Sử dụng câu lệnh truy vấn dữ liệu Transaction-SQL (Access là SQL, Oracle
là PL/SQL)
SQL Server có các ấn bản chính sau:
- Enterpise Manager: Là ấn bản đầy đủ của SQL Server có thể chạy trên 32CPU
và 64GB RAM Có các dịch vụ phân tích dữ liệu Analysis Service
- Standard: Giống như Enterprise nhưng bị hạn chế một số tính năng cao cấp,
có thể chạy trên 2CPU, 4GB RAM.5
- Personal: Phiên bản này chủ yếu để chạy trên PC, nên có thể chạy trên các hệ điều hành Windows 9x, Windows XP, Windows 2000, Windows 2003
- Developer: Là phiên bản tương tự như Enterprise nhưng bị giới hạn bởi số user kết nối đến
- Desktop Engine: Là phiên bản một engine chỉ chạy trên desktop và không có giao diện người dùng (GUI), kích thước CSDL giới hạn bởi 2GB
Trang 40- Win CE: Sử dụng cho các ứng dụng chạy trên Windows CE.
- Trial: Phiên bản dùng thử, bị giới hạn bởi thời gian
- SQL Client: Là phiên bản dành cho máy khách, khi thực hiện khai thác sẽ thực hiện kết nối đến phiên bản SQL Server, phiên bản này cung cấp giao diện GUI khai thác cho người sử dụng
- SQL Connectivity only: Là phiên bản sử dụng chỉ cho các ứng dụng để kết nối đến SQL Server, phiên bản này không cung cấp công cụ GUI cho người dùng khai thác SQL Server
2.4.2 Đối tượng CSDL
Stored Procedure Đối tượng chứa các tập lệnh T-SQL
Constraint Ràng buộc dữ liệu, được thiết lập trên một cột hoặc nhiều cột
dữ liệu để thiết lập toàn vẹn dữ liệu
Trigger Loại thủ tục lưu trữ đặc biệt, được thực thi khi dữ liệu trong
bảng thay đổiLogins
Một người dùng được định danh bởi Login ID để kết nối đến SQL Server SQL Server hỗ trợ 2 cơ chế chứng thực là:
Windows Authentication và SQL Server Authentication
của người dùng dựa trên đối tượng này
Bảng 2.1: Bảng đối tượng CSDL