Cùng với sự tiến bộ của công nghệ thông tin, các phần mềm và nền tảng website đã trở thành công cụ thiết yếu trong việc quản lý thông tin, lưu trữ dữ liệu, và giao tiếp giữa nhà trường,
Trang 1XÂY DỰNG WEBSITE QUẢN
LÝ VÀ CHIA SẺ THÔNG TIN TRƯỜNG THPT
Thuộc Tiểu ban: Khoa Công Nghệ Thông Tin
Hải Phòng, tháng 04 năm 2025
Trang 2KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO TỔNG KẾT
ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN
THAM GIA HỘI NGHỊ SINH VIÊN NCKH NĂM HỌC 2024-2025
XÂY DỰNG WEBSITE QUẢN
LÝ VÀ CHIA SẺ THÔNG TIN TRƯỜNG THPT
Thuộc Tiểu ban: Khoa Công Nghệ Thông Tin
Nhóm sinh viên thực hiện: Nguyễn Đình Hoàng Anh - CNTT2.K22
Ngành học: Công Nghệ Thông Tin
Người hướng dẫn: TS Hoàng Văn Lâm
Trang 3MỤC LỤC
MỞ ĐẦU 1
CHƯƠNG 1: TỔNG QUAN PHÁT TRIỂN ĐỀ TÀI 2
1.1 Giới thiệu về đề tài nghiên cứu 2
1.1.1 Lý do chọn đề tài 2
1.1.2 Mục tiêu nghiên cứu 2
1.1.3 Phạm vi nghiên cứu 2
1.2 Kiến thức sử dụng 3
1.2.1 Phân tích thiết kế hệ thống 3
1.2.2 Mô hình MVC 3
1.2.3 Ngôn ngữ lập trình 5
1.2.4 Cơ sở dữ liệu 11
1.3 Mục tiêu của đề tài nghiên cứu 14
1.3.1 Mục tiêu tổng quát 14
1.3.2 Mục tiêu cụ thể 14
CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 16
2.1 Phân tích hệ thống 16
2.1.1 Mục tiêu của hệ thống 16
2.1.2 Phân tích chức năng hệ thống 16
2.1.3 Yêu cầu hệ thống 17
2.2 Thiết kế hệ thống (biểu đồ) 18
2.2.1 Biểu đồ Use Case tổng quát của Admin 18
2.2.2 Biểu đồ Use Case tổng quát của giáo viên 19
2.2.3 Biểu đồ Use Case của học sinh 19
2.2.4 Biểu đồ Use Case chi tiết quản lý danh sách 20
2.2.5 Biểu đồ Use Case chi tiết nhập điểm 22
2.2.6 Biểu đồ Use Case chi tiết quản lý tài khoản 24
2.2.7 Biểu đồ Use Case chi tiết quản lý bài viết 26
2.2.8 Biểu đồ Use Case chi tiết quản lý lịch biểu 27
Trang 42.2.9 Biểu đồ Use Case chi tiết thống kê 29
CHƯƠNG 3: PHÁT TRIỂN VÀ KIỂM THỬ HỆ THỐNG 32
3.1 Môi trường phát triển Visual Studio 2022 32
3.1.1 Giới thiệu Visual Studio 2022 32
3.1.2 Lý do chọn Visual Studio 2022 32
3.1.3 Các công cụ và tính năng sử dụng 32
3.1.4 Cấu hình tối thiểu để sử dụng Visual Studio 2022 33
3.1.5 Quy trình phát triển trên Visual Studio 2022 33
3.2 Thiết kế hệ thống và chức năng 33
3.2.1 Tạo trang đăng nhập 33
3.2.2 Các chức năng chính vùng layout 34
3.3 Giao diện chức năng hoàn chỉnh 37
3.3.1 Admin 37
3.3.2 Học sinh 46
3.3.3 Giáo viên 50
KẾT LUẬN VÀ KIẾN NGHỊ 52
TÀI LIỆU THAM KHẢO 53
Trang 5DANH MỤC CÁC BẢNG
Bảng 1: Mô tả chi tiết use case quản lý danh sách 21
Bảng 2: Mô tả chi tiết use case nhập điểm 23
Bảng 3: Mô tả chi tiết use case quản lý tài khoản 25
Bảng 4:Mô tả chi tiết use case quản lý bài viết 27
Bảng 5: Mô tả chi tiết use case quản lý lịch biểu 28
Bảng 6: Mô tả chi tiết use case thống kê 30
Trang 6DANH MỤC CÁC HÌNH
Ảnh 1: Mô hình MVC 4
Ảnh 2: C# 5
Ảnh 3: Ứng dụng trên Windows 6
Ảnh 4:Ứng dụng Web 7
Ảnh 5: Entity Framework 9
Ảnh 6: Các thành phần của Entity Framework 10
Ảnh 7: SQL Server 13
Ảnh 8: Cấu trúc cơ bản của SQL server 13
Ảnh 9: SQL server dùng để làm gì? 14
Ảnh 10: Biểu đồ Use Case của Admin 18
Ảnh 11: Biểu đồ Use-case của giáo viên 19
Ảnh 12: Biểu đồ Use-case của học sinh 19
Ảnh 13: Biểu đồ Diagram quản lý và chia sẻ thông tin trường THPT 31
Ảnh 14: Giao diện trang đăng nhập 37
Ảnh 15: Giao diện quên mật khẩu 37
Ảnh 16: Quản lý danh sách học sinh 38
Ảnh 17: Quản lý danh sách giáo viên 38
Ảnh 18: Quản lý danh sách lớp 39
Ảnh 19: Quản lý danh sách môn học 39
Ảnh 20: Quản lý điểm truy vấn đối tượng theo danh sách lớp/học sinh 40
Ảnh 21: Khóa/Kích hoạt tài khoản 40
Ảnh 22: Bài viết trang quản trị 41
Ảnh 23: Duyệt bài viết 41
Ảnh 24: Danh sách loại bài viết 42
Ảnh 25: Cập nhật thời khóa biểu 42
Ảnh 26: Cập nhật lịch giảng dạy cho giáo viên 43
Ảnh 27: Hòm thư góp ý 43
Ảnh 28: Thống kê số lượng 44
Ảnh 29: Thống kê học lực 44
Ảnh 30: Thông báo hòm thư 45
Ảnh 31: Trang chính học sinh 46
Trang 7Ảnh 32: Tin 46
Ảnh 33: Cập nhật thông tin cá nhân 47
Ảnh 34: Đổi mật khẩu 47
Ảnh 35: Bài viết của tôi 48
Ảnh 36: Đăng bài 48
Ảnh 37: Lịch học 49
Ảnh 38: Hòm thư góp ý 49
Ảnh 39: Giao diện trang chính 50
Ảnh 40: Giao diện quản lý lớp chủ nhiệm 50
Ảnh 41: Nhập điểm theo lớp được phân công giảng dạy 51
Ảnh 42: Xem lịch giảng dạy 51
Trang 8MỞ ĐẦU
Như chúng ta đã biết, xã hội ngày nay không ngừng phát triển, và lĩnh vực giáo dục ngày càng nhận được sự quan tâm đặc biệt từ phía các cơ quan, tổ chức và cả cộng đồng Việc quản lý và chia sẻ thông tin trong các trường trung học phổ thông đóng vai trò quan trọng, đặc biệt trong bối cảnh số lượng học sinh và các hoạt động trường học ngày càng tăng lên Điều này đòi hỏi các giải pháp công nghệ nhằm hỗ trợ công tác quản
lý trở nên hiệu quả hơn
Cùng với sự tiến bộ của công nghệ thông tin, các phần mềm và nền tảng website
đã trở thành công cụ thiết yếu trong việc quản lý thông tin, lưu trữ dữ liệu, và giao tiếp giữa nhà trường, giáo viên, học sinh Điều này không chỉ giúp tiết kiệm thời gian mà còn cải thiện đáng kể hiệu quả và độ chính xác trong việc điều hành hoạt động giáo dục
Là những sinh viên đang học tập và rèn luyện trên giảng đường Trường Đại học Hải Phòng, với mong muốn áp dụng những kiến thức được học vào thực tiễn, đồng thời góp phần hỗ trợ các trường THPT trong công tác quản lý và truyền tải thông tin, chúng
em đã mạnh dạn thiết kế hệ thống website quản lý và chia sẻ thông tin trường THPT Mục đích chính của đề tài này không chỉ nhằm nghiên cứu khoa học, củng cố, nâng cao kiến thức chuyên ngành, mà còn hỗ trợ nhà trường trong việc quản lý thông tin một cách nhanh chóng và thuận tiện
Việc duy trì và phát triển hoạt động của trường THPT không chỉ dừng lại ở công tác giảng dạy, mà còn phải giải quyết những khó khăn trong quản lý học sinh, giáo viên, lịch học, cũng như các hoạt động ngoại khóa và sự kiện của trường Hệ thống website này được thiết kế nhằm đáp ứng các yêu cầu trên, tạo ra một nền tảng tối ưu để nhà trường quản lý hiệu quả và minh bạch hơn
Trang 9CHƯƠNG 1: TỔNG QUAN PHÁT TRIỂN ĐỀ TÀI 1.1 Giới thiệu về đề tài nghiên cứu
1.1.1 Lý do chọn đề tài
Trong thời đại công nghệ 4.0, việc ứng dụng công nghệ thông tin vào quản lý và chia sẻ thông tin đã trở thành một xu hướng tất yếu, đặc biệt trong lĩnh vực giáo dục Các trường trung học phổ thông (THPT) hiện nay thường gặp khó khăn trong việc cung cấp thông tin kịp thời và minh bạch cho học sinh Việc quản lý thông tin truyền thống, dựa trên giấy tờ hoặc các phương pháp thủ công, không chỉ tốn thời gian mà còn không hiệu quả trong việc lưu trữ và truy xuất dữ liệu
Đề tài nghiên cứu “Xây dựng Website Quản lý và chia sẻ thông tin trường THPT”
ra đời nhằm giải quyết những bất cập này Với sự kết hợp của ngôn ngữ lập trình C#, nền tảng ASP.NET MVC trên NET Framework, hệ thống sẽ mang lại một giải pháp hiện đại, linh hoạt và dễ sử dụng, đáp ứng tốt nhu cầu quản lý và chia sẻ thông tin của nhà trường
1.1.2 Mục tiêu nghiên cứu
Xây dựng một hệ thống website hỗ trợ quản lý thông tin của trường THPT bao gồm học sinh, giáo viên, điểm, thời khóa biểu, tin tức thông báo và các hoạt động khác
Cung cấp công cụ để chia sẻ thông báo, tài liệu, và lịch trình giữa các thành viên trong trường
Tạo nền tảng để học sinh có thể dễ dàng tra cứu thông tin như: điểm số, thời khóa biểu, thông báo từ nhà trường
1.1.3 Phạm vi nghiên cứu
Đối tượng: Học sinh và quản trị viên (giáo viên, giáo vụ, ) tại các trường THPT
Chức năng chính: quản lý các dữ liệu trong bảng với giao diện CRUD, thống kê dữ liệu (biểu đồ tròn, cột), export file PDF và Excel, tìm kiếm, hiển thị thông báo,
Công nghệ: Ngôn ngữ C#, ASP.NET MVC trên nền tảng NET Framework,
Trang 101.2 Kiến thức sử dụng
1.2.1 Phân tích thiết kế hệ thống
1.2.1.1 Phân tích hệ thống
Phân tích hệ thống là giai đoạn đầu tiên, tập trung vào việc hiểu rõ:
Yêu cầu người dùng: Hệ thống cần làm gì, giải quyết vấn đề gì?
Quy trình hoạt động: Xem xét cách hoạt động của hệ thống hiện tại (nếu có)
Các chức năng cần thiết: Xác định các chức năng chính mà hệ thống phải có
Hạn chế và ràng buộc: Ví dụ về chi phí, công nghệ, hoặc giới hạn thời gian Mục tiêu:
Hiểu rõ vấn đề cần giải quyết
Xây dựng mô hình logic của hệ thống (không phụ thuộc vào công nghệ cụ thể)
Thiết kế giao diện: Định hình cách hệ thống sẽ tương tác với người dùng
Thiết kế chi tiết: Đưa ra cách hoạt động của từng thành phần, như các module, hàm,
và lớp
Mục tiêu:
Đảm bảo hệ thống hoạt động hiệu quả và dễ bảo trì
Chuẩn bị nền tảng cho việc lập trình và triển khai
1.2.2 Mô hình MVC
MVC là viết tắt của cụm từ “Model-View-Controller“
Đây là mô hình thiết kế được sử dụng trong kỹ thuật phần mềm
MVC là một mẫu kiến trúc phần mềm để tạo lập giao diện người dùng trên máy tính
Trang 11 MVC chia thành ba phần được kết nối với nhau và mỗi thành phần đều có một nhiệm
vụ riêng của nó và độc lập với các thành phần khác
MVC cũng được sử dụng rộng rãi trong phát triển web, sự khác biệt được tùy chỉnh
liên quan đến sự có mặt của server - client
Ảnh 1: Mô hình MVC
1.2.2.1 Model
Có nhiệm vụ thao tác với Database
Nó chứa tất cả các hàm, các phương thức truy vấn trực tiếp với dữ liệu
Controller sẽ thông qua các hàm, phương thức đó để lấy dữ liệu rồi gửi qua View
1.2.2.2 View
Là giao diện người dùng (User Interface)
Chứa các thành phần tương tác với người dùng như menu, button, image, text,
Nơi nhận dữ liệu từ Controller và hiển thị
1.2.2.3 Controller
Là thành phần trung gian giữa Model và View
Đảm nhận vai trò tiếp nhận yêu cầu từ người dùng, thông qua Model để lấy dữ liệu sau đó thông qua View để hiển thị cho người dùng
Trang 12Ảnh 2: C#
Đặc trưng cơ bản của ngôn ngữ C#:
Là một ngôn ngữ thuần hướng đối tượng (hướng đối tượng là gì sẽ được trình bày trong khóa học C# Advance)
Là ngôn ngữ khá đơn giản, chỉ có khoảng 80 từ khóa và hơn mười kiểu dữ liệu được dựng sẵn
Cung cấp những đặc tính hướng thành phần (component-oriented) như là Property, Event
C# có bộ Garbage Collector sẽ tự động thu gom vùng nhớ khi không còn sử dụng nữa
Ứng dụng trên Windows:
Trang 13Ảnh 3: Ứng dụng trên Windows
Với sự trợ giúp của bộ khung Net, “C#” được sử dụng để phát triển các ứng dụng dựa trên các cửa sổ cho máy tính để bàn Nhiều ứng dụng Windows phổ biến như các công cụ Microsoft Office, Skype, Photoshop và Visual Studio được phát triển bằng ngôn ngữ này
Các thành phần và điều khiển:
Các thành phần và điều khiển là các thư viện có thể được sử dụng để tạo ra một thứ dễ phân phối và có thể chia sẻ được Thư viện GPS là một ví dụ tuyệt vời cho một thư viện có thể được một lập trình viên xây dựng và dễ dàng phân phối cho các lập trình viên khác để sử dụng trong các ứng dụng của họ Nó cũng được sử dụng để xây dựng các thành phần máy chủ và nhiều công việc khác nữa
Trang 14Ứng dụng Web:
Ảnh 4:Ứng dụng Web
Với sự trợ giúp của bộ khung NET, C# có khả năng tạo ra nhiều ứng dụng web bằng cách sử dụng asp.net Đó là một ngôn ngữ phổ biến khác mà ai ai có thể học ngay lập tức khi muốn làm cho ứng dụng web chạy trơn tru trên một máy chủ web Các ứng dụng Windows chạy trên cả máy chủ cũng như trong trình duyệt của máy khách, tùy thuộc vào cách viết mã Nếu C# được sử dụng dưới hình thức mã hóa ở backend, thì mã C# chạy trên máy chủ và HTML frontend chạy trong trình duyệt của máy khách
1.2.3.2 ASP.NET
Khái niệm:
ASP.NET MVC là một framework tuyệt vời hỗ trợ pattern MVC cho ASP.NET Framework này là khá nhẹ và cung cấp khả năng kiểm thử, trong đó tích hợp với các tính năng hiện có của ASP.NET như xác thực (authentication) dựa trên membership và
cả các master page
Tại sao bạn nên sử dụng nó?
SoC: Một trong những lợi ích chính được đưa ra bởi ASP.NET MVC đó là
Separation of Concern (phân tách mối bận tâm) Framework này cung cấp sự
Trang 15phân tách rất rõ gàng giữa model, logic nghiệp vụ, giao diện người dùng và dữ
liệu
Control: Khi bạn sử dụng framework ASP.NET MVC, bạn được cung cấp một
bộ control rất mạnh mẽ trên JavaScript, HTML và CSS so với các control được
cung cấp bởi một số hình thức truyền thống trên web
Có khả năng kiểm thử: Framework ASP.NET MVC hỗ trợ việc kiểm thử các
ứng dụng web rất tốt Vì vậy, nếu bạn muốn kiểm thử ứng dụng web của mình trước khi đưa chúng cho người sử dụng, bạn có thể chỉ cần sử dụng ASP.NET
MVC
Gọn nhẹ: Framework này không sử dụng View State, hỗ trợ bạn trong việc làm
giảm băng thông của các request rất nhiều Nhiều chuyên gia khuyên bạn nên sử dụng framework này nếu bạn quan tâm đến việc tạo ra các ứng dụng MVC tuyệt
vời và hữu ích dựa trên web
View và Size của Control: Các framework ASP.NET thường phải đối mặt với
vấn đề của view state và kích thước của control trong HTML Phần view lưu toàn
bộ dữ liệu đã được rendered và do đó kích thước các tập tin HTML trở nên lớn hơn Nếu bạn sử dụng một đường kết nối internet chậm, bạn sẽ quan sát thấy độ trễ trong việc tải các trang web và ứng dụng Vấn đề này không còn tồn tại trong framework ASP.NET MVC cũng như nó không chứa một khái niệm về view ở trong đó Bằng cách sử dụng ASP.NET MVC, bạn sẽ không còn phải đối mặt với
các vấn đề về thời gian tải trang nữa
Tích hợp: Khi bạn tích hợp MVC với jQuery, bạn có thể viết code của mình chạy trong các trình duyệt web Điều này sẽ giúp giảm tải cho các web server của bạn
Khả năng sử dụng: Bạn không cần phải có nhiều kiến thức kỹ thuật khi sử dụng
framework ASP.NET MVC Tuy nhiên, bạn sẽ thích nó sau khi học được cách làm cho nó hoạt động Framework này tốt hơn rất nhiều so với nhiều hình thức trang web khác Lý do là nó hoạt động khá gần với các chiến lược làm việc của
web và được coi là khá dễ dàng và thú vị để sử dụng
API Services: Một lợi thế lớn khác đó là việc rendered bởi MVC giúp bổ sung
thêm các API web services Nếu bạn muốn thêm các service tới ứng dụng web của mình, thì bạn chắc chắn cần phải tìm hiểu làm thế nào những service này hoạt
động
Trang 161.2.3.3 Entity Framework
Khái niệm:
Entity Framework được phát triển từ năm 2008 bởi Microsoft Hiểu một cách đơn giản, Entity Framework là một thư viện ORM (Object Relational Mapping) hay một framework làm việc cùng cơ sở dữ liệu do microsoft khuyến nghị giúp phản xạ quan hệ đối tượng qua lại giữa các object của một chương trình, bảng cơ sở dữ liệu, bản ghi,
Ảnh 5: Entity Framework
Bằng cách cung cấp cơ chế tự động hoá các hoạt động liên quan đến CSDL cho các doanh nghiệp mà việc lưu trữ, truy cập dữ liệu và xây dựng ứng dụng đơn giản và
dễ dàng
Đặc điểm cơ bản của Entity Framework:
Bằng một lớp con của DBContent mà tất cả các cơ sở dữ liệu đều được hiển thị Bạn hoàn toàn có thể tự động thực hiện hay can thiệp vào những thao tác như thể hiện object mà bạn xây dựng trên mỗi hàng hay thể hiện thuộc tính của object ở mỗi cột
Với Entity framework, bạn có thể truy vấn dữ liệu sử dụng LINQ mà không cần đến SQL Điều này giúp dễ dàng hơn khi thực hiện các truy vấn CRUD từ code C# với các class
Trang 17 Khả năng thực hiện các thao tác với cấu trúc dữ liệu nhanh chóng và đơn giản như tạo bảng, thay đổi cấu trúc bảng, tạo cơ sở dữ liệu, mà không bị mất dữ liệu nhờ công cụ Migration
Các thành phần của Entity Framework
Việc tìm hiểu thêm về các thành phần của Entity framework cũng giúp bạn hiểu
rõ hơn về Entity framework Các thành phần cơ bản này bao gồm:
Ảnh 6: Các thành phần của Entity Framework
Các thành phần của Entity Framework:
Entity Data Model: là thành phần dùng để lưu trữ các thông tin ánh xạ, nối các lớp model với cơ sở dữ liệu, mang lại sự tách biệt giữa chương trình và CSDL với 3 thành phần chính là Conceptual Model, Mapping và Storage Model
LINQ to Entities và Entity SQL: Là hai ngôn ngữ truy vấn được sử dụng với mục đích giúp viết các truy vấn tới object model và trả về các thực thể được định ngĩa trong Conceptual Model
Object Service: Cụ thể hoá quá trình chuyển đổi và truy xuất dữ liệu Ngoài ra, nó còn đảm nhận nhiệm vụ quản lý và theo dõi trạng thái thay đổi của Object
Entity Client Data Provider: Thành phần này chịu trách nhiệm tương tác với Data provider và chuyển đổi truy vấn LINQ to Entities và Entity SQL để truy vấn SQL
Lợi ích của việc sử dụng Entity Framework:
Trang 18 Tăng năng suất: Khả năng giảm lượng code và các công việc dư thừa của Entity framework giúp tăng năng suất cho người sử dụng, tiết kiệm thời gian, chất xám và công sức của họ trong quá trình làm việc
Đơn giản hoá bảo trì phần mềm: Với lượng code ít khi sử dụng Entity framework, việc bảo trì và kiểm tra phần mềm được đơn giản hơn nhiều đặc biệt là khi bạn phải thường xuyên bảo trì
Không cần viết code SQL: Bạn có thể sử dụng LINQ to Entities khi thực hiện các truy vấn dữ liệu để thao tác với các Object được ra đời từ Entity framework
Tiết kiệm thời gian viết code: Bạn sẽ tiết kiệm được thời gian viết code khá lớn để thao tác với database bởi Entity framework sẽ tạo ra các classes cho việc truy xuất CSDL
Entity framework tự động tạo ra các commands, classes tương ứng cho việc insert, select, update, delete, dữ liệu từ CSDL quan hệ
Làm việc đơn giản với EF: Giúp người dùng có thể làm việc với EF một cacgs đơn giản và thuận tiện hơn bởi Entity framework được đặt trong NET Framework và tích hợp trong Visual studio
1.2.4 Cơ sở dữ liệu
1.2.4.1 Khái niệm
Cơ sở dữ liệu (Database) là một tập hợp các dữ liệu có tổ chức liên quan đến nhau, thường được lưu trữ và truy cập điện tử từ hệ thống máy tính Khi cơ sở dữ liệu phức tạp hơn, chúng thường được phát triển bằng cách sử dụng các kỹ thuật thiết kế và
mô hình hóa chính thức
Về mặt vật lý, máy chủ cơ sở dữ liệu là các máy tính chuyên dụng chứa cơ sở dữ liệu thực tế và chỉ chạy Database Management System (DBMS) và phần mềm liên quan Các máy chủ cơ sở dữ liệu thường là các máy tính đa bộ xử lý, với bộ nhớ hào phóng
và mảng đĩa RAID được sử dụng để lưu trữ ổn định RAID được sử dụng để phục hồi
dữ liệu nếu bất kỳ đĩa nào bị lỗi Bộ tăng tốc cơ sở dữ liệu phần cứng, được kết nối với một hoặc nhiều máy chủ thông qua kênh tốc độ cao, cũng được sử dụng trong môi trường
xử lý giao dịch khối lượng lớn DBMS được tìm thấy ở trung tâm của hầu hết các ứng dụng cơ sở dữ liệu Các DBMS có thể được xây dựng xung quanh một hạt nhân đa nhiệm tùy chỉnh có hỗ trợ mạng tích hợp, nhưng các DBMS hiện đại thường dựa vào một hệ điều hành tiêu chuẩn để cung cấp các chức năng này
Trang 19Vì các DBMS là một thị trường quan trọng, các nhà cung cấp máy tính và lưu trữ thường tính đến các yêu cầu DBMS trong các kế hoạch phát triển của riêng họ
Cơ sở dữ liệu và các DBMS có thể được phân loại theo mô hình cơ sở dữ liệu mà chúng hỗ trợ (như quan hệ hoặc XML), loại máy tính mà chúng chạy trên (từ cụm máy chủ đến điện thoại di động), ngôn ngữ truy vấn (QL) được sử dụng để truy cập cơ sở dữ liệu (như SQL hoặc XQuery) và kỹ thuật nội bộ của chúng, ảnh hưởng đến hiệu suất, khả năng mở rộng, khả năng phục hồi và bảo mật
1.2.4.2 Hệ quản trị cơ sở dữ liệu SQL Server
Khái niệm:
SQL Server (Structured Query Language) là một loại phần mềm được phát triển bởi Microsoft, dùng để lưu trữ và truy xuất dữ liệu dựa theo tiêu chuẩn RDBMS (Relational Database Management System) Một RDBMS bao gồm: cơ sở dữ liệu (databases), công
cụ cơ sở dữ liệu (database engine), các ứng dụng quản lý dữ liệu và các bộ phận khác Phiên bản đầu tiên của Microsoft SQL Server ra đời vào năm 1989 cho các hệ điều hành chạy 16 bit với SQL phiên bản 1.0 và tiếp tục phát triển cho tới ngày nay
Nền tảng được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn lên đến Byte và có khả năng phục vụ hàng ngàn người dùng cùng lúc
Tera- Thứ nhất, server là một thiết bị phần cứng nhưng SQL server thì về bản chất nó là một sản phẩm phần mềm Nó được các kỹ sư của Microsoft xây dựng và phát triển
tử cách đây gần 30 năm rồi Vì là sản phẩm phần mềm nên nó được cài trên các thiết
bị phần cứng như server
Thứ hai, nó có chức năng chính là 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 Chúng ta sẽ lưu trữ dữ liệu vào đó và sử dụng các câu lệnh để tìm kiếm dữ liệu khi cần
Thứ ba, nó sử dụng câu lệnh SQL (Transact-SQL) để trao đổi dữ liệu giữa máy khách (máy Client) và máy cài SQL Server
Trang 20Ảnh 7: SQL Server
Cấu trúc cơ bản của SQL server
Ảnh 8: Cấu trúc cơ bản của SQL server
SQL server dùng để làm gì?
Tạo và duy trì cơ sở dữ liệu:
Mục đích đầu tiên của SQL server đó chính là dùng để lưu trữ và duy trì cơ sở
dữ liệu Lúc này bạn có thể hình dung SQL server nó giống như một cái kho (hub) vậy
Dữ liệu được tổng hợp và đổ dồn vào cái hub đó
Trang 21Ảnh 9: SQL server dùng để làm gì?
Nhưng dữ liệu ở đây không phải là được lưu trữ một cách bừa bãi và không theo một quy luật nào cả Để tiện cho các truy vấn của người dùng khi tìm kiếm dữ liệu trong hub này, dữ liệu khi được đưa vào SQL server được lưu trữ một cách có chủ đích Người dùng sẽ tận dụng các công cụ lưu trữ hiện có để phân loại và sắp xếp dữ liệu cho hợp lý
Phân tích dữ liệu và tạo báo cáo:
Khi dữ liệu được đưa vào để lưu trữ trong SQL server theo một cách có chủ đích, chúng ta có thể thực hiện phân tích những dữ liệu đó sử dụng SSAS – SQL Server Analysis Services
Ngoài ra một tính năng khác của SQL server đó là việc hỗ trợ khả năng xuất báo cáo cho những phần dữ liệu được lưu trữ đó Đương nhiên lúc này chúng ta sẽ cần phải
sử dụng các công cụ để tạo báo cáo riêng có tên gọi là SSRS – SQL Server Reporting Services
1.3 Mục tiêu của đề tài nghiên cứu
1.3.1 Mục tiêu tổng quát
Thiết kế và xây dựng một hệ thống website quản lý và chia sẻ thông tin cho
trường trung học phổ thông (THPT) dựa trên nền tảng ASP.NET MVC kết hợp ngôn ngữ lập trình C#, nhằm nâng cao hiệu quả quản lý, chia sẻ thông tin, và tương tác giữa
nhà trường, học sinh
1.3.2 Mục tiêu cụ thể
Quản lý thông tin học sinh và giáo viên:
Trang 22 Lưu trữ và quản lý thông tin chi tiết của học sinh, giáo viên như hồ sơ cá nhân, lớp học, bộ môn
Hỗ trợ tìm kiếm, thêm mới, chỉnh sửa và xóa dữ liệu dễ dàng
Chia sẻ thông báo và tài liệu:
Xây dựng chức năng đăng tải thông báo, tài liệu học tập, và các bài viết liên quan
Đảm bảo các tài liệu và thông báo đến được các nhóm người dùng mục tiêu (học sinh)
Quản lý thời khóa biểu:
Cung cấp giao diện để nhập, chỉnh sửa, và hiển thị thời khóa biểu theo từng lớp học
Cho phép học sinh và phụ huynh tra cứu lịch học dễ dàng
Tra cứu điểm số và đánh giá:
Xây dựng hệ thống tra cứu điểm số cho học sinh
Tích hợp đánh giá kết quả học tập và thống kê để hỗ trợ nhà trường quản lý chất lượng giáo dục
Thống kê thành biểu đồ:
Thuận tiện cho người quản trị thống kê số lượng, học lực của học sinh
Giao diện biểu đồ (tròn, cột) thân thiện người xem
Tăng tính tương tác:
Tạo môi trường tương tác giữa các nhóm người dùng thông qua giao diện thân thiện
và dễ sử dụng
Đảm bảo người dùng có thể truy cập mọi lúc, mọi nơi qua các thiết bị khác nhau
Đảm bảo bảo mật và hiệu năng hệ thống:
Sử dụng mô hình MVC để tăng tính bảo mật và tổ chức hệ thống logic
Tối ưu hóa cơ sở dữ liệu và hiệu năng website để đáp ứng số lượng người dùng lớn
Trang 23CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 2.1 Phân tích hệ thống
2.1.1 Mục tiêu của hệ thống
Hệ thống website quản lý và chia sẻ thông tin trường THPT nhằm mục tiêu:
Quản lý thông tin học sinh, giáo viên, lớp học, môn học một cách hiệu quả
Cung cấp công cụ để đăng tải, quản lý và chia sẻ thông tin, bài viết, thời khóa biểu, tin tức nhà trường
Cho phép học sinh đăng nhập, xem thông tin cá nhân, bài viết, lịch học và gửi thư góp ý
Hỗ trợ admin trong việc duyệt bài viết, cập nhật thời khóa biểu, thống kê hồ sơ và quản lý tài khoản
2.1.2 Phân tích chức năng hệ thống
2.1.2.1 Các tác nhân trong hệ thống
Admin: Quản lý toàn bộ hệ thống, có quyền quản lý người dùng, danh sách học sinh,
giáo viên, lớp học, môn học, điểm, bài viết và thời khóa biểu
Học sinh: Truy cập vào hệ thống để xem thông tin cá nhân, bài viết, lịch học, gửi
góp ý và tương tác với nội dung trên trang
Giáo viên: quản lý danh sách học sinh chủ nhiệm, quản lý điểm lớp đảm nhiệm
giảng dạy, nhập và xuất danh sách điểm, xem thời khóa biểu giảng dạy
2.1.2.2 Các chức năng chính của hệ thống
a Đối với Admin:
Quản lý người dùng: kích hoạt/khóa tài khoản, lấy lại mật khẩu
Quản lý danh sách:
Học sinh, giáo viên, lớp, môn học
Nhập điểm theo danh sách lớp hoặc học sinh
Quản lý bài viết:
Duyệt bài viết, phân loại bài viết, đăng bài lên trang quản trị
Quản lý thời khóa biểu: cập nhật và hiển thị thời khóa biểu theo lớp
Quản lý hồ sơ: xem chi tiết hồ sơ học sinh, export dữ liệu
b Đối với Học sinh:
Quản lý tài khoản: cập nhật thông tin cá nhân, đổi mật khẩu, quên mật khẩu
Trang 24 Xem và đăng bài viết
Xem tin tức nhà trường và bài viết blog
Xem thời khóa biểu theo lớp
Gửi góp ý cho nhà trường qua hộp thư góp ý
c Đối với Giáo viên:
Quản lý tài khoản: cập nhật thông tin cá nhân, đổi mật khẩu
Quản lý học sinh chủ nhiệm: thông tin, thông báo, điểm
Quản lý điểm:
Nhập điểm theo lớp giảng dạy
Nhập xuất một hoặc danh sách điểm của lớp giảng dạy
Theo dõi: bài đăng, lịch giảng dạy cá nhân
2.1.3 Yêu cầu hệ thống
2.1.3.1 Yêu cầu chức năng
Hệ thống phải hỗ trợ hai loại người dùng: admin, học sinh, giáo viên
Mỗi nhóm người dùng có giao diện và quyền hạn riêng
Cho phép cập nhật, thêm, xóa thông tin liên quan đến học sinh, giáo viên, lớp học, môn học
Cho phép đăng, duyệt và xem bài viết
Hệ thống có khả năng lưu trữ và truy xuất các bản ghi dữ liệu
2.1.3.2 Yêu cầu phi chức năng
Giao diện thân thiện, dễ sử dụng
Bảo mật thông tin người dùng
Hệ thống hoạt động ổn định trên nhiều trình duyệt và thiết bị
Trang 252.2 Thiết kế hệ thống (biểu đồ)
2.2.1 Biểu đồ Use Case tổng quát của Admin
Ảnh 10: Biểu đồ Use Case tổng quát của Admin trong Trang Quản lý và chia sẻ thông
tin trường THPT
Trang 262.2.2 Biểu đồ Use Case tổng quát của giáo viên
Ảnh 11: Biểu đồ Use case tổng quát của giáo viên trong Trang Quản lý và chia sẻ
thông tin trường THPT
2.2.3 Biểu đồ Use Case của học sinh
Ảnh 12: Biểu đồ Use Case tổng quát của học sinh trong Trang Quản lý và chia sẻ
thông tin trường THPT
Trang 272.2.4 Biểu đồ Use Case chi tiết quản lý danh sách
Ảnh 13: Biểu đồ Use Case chi tiết quản lý danh sách
Thành phần Mô tả
Tổng quan Biểu đồ Use Case này mô tả chi tiết các chức năng trong quản lý
danh sách (học sinh, giáo viên, điểm, môn học), phần chức năng chi tiết sẽ không có nếu đối tượng quản lý không phải là người
Actors Admin (Quản trị viên): Người có quyền truy cập và thực hiện các
chức năng, thao tác với tất cả những danh sách có trong có trong sở
dữ liệu bao gồm: danh sách học sinh, danh sách giáo viên, danh sách môn học, danh sách lớp, danh sách điểm
Giáo viên: Người dùng hệ thống, chỉ có duy nhất quyền cập nhật
hệ thống đó là nhập điểm cho học sinh thuộc sự phân công giảng dạy của mình
Trang 28Use Cases Tìm kiếm: dựa vào một đoạn kí tự cung cấp để lọc ra các bản ghi
tương ứng
Thêm: thêm từng bản ghi vào cơ sở dữ liệu
Sửa: cập nhật bản ghi đã chọn trong cớ sở dữ liệu
Xóa: xóa bản ghi đã chọn khỏi cơ sở dữ liệu
Chi tiết: chức năng này chỉ có khi đối tượng quản lý là người, phần
chi tiết này sẽ hiển thị hồ sơ người dùng, ta có thể xuất file PDF hồ
sơ người dùng
Nhập danh sách Excel: thêm một danh sách các bản ghi vào cơ sở
dữ liệu từ file Excel
Xuất danh sách Excel: xuất ra một file Excel chứa danh sách các bản ghi của đối tượng quản lý
Bảng 1: Mô tả chi tiết use case quản lý danh sách
Trang 292.2.5 Biểu đồ Use Case chi tiết nhập điểm
Ảnh 14: Biểu đồ Use Case chi tiết nhập điểm
Tổng quan Biểu đồ Use Case này mô tả chi tiết các chức năng nhập điểm
Actors Admin (Quản trị viên): Người có quyền truy cập và thực hiện các
chức năng nhập điểm với toàn bộ bảng Diem trong cơ sở dữ liệu Giáo viên: Người dùng hệ thống, chỉ có quyền nhập điểm đối với
những bản ghi có lớp thuộc sự phân công giảng dạy của mình
Trang 30Use Cases Thêm: thêm từng bản ghi vào bảng Diem
Sửa: cập nhật bản ghi đã chọn trong bang Diem
Xóa: xóa bản ghi đã chọn khỏi bảng Diem
Nhập danh sách Excel: thêm một danh sách điểm vào cơ sở dữ liệu