Cùng với sự phát triển của khoa học kỹ thuật, nhu cầu sử dụng tiện ích trong cuộc sống của con người ngày càng tăng. Đặc biết trong lĩnh vực quản lí nhận sự trong trường học, việc kết hợp công nghê thông tin là một bước tiến hết sức quan trọng. Trước đây, trong hệ thống quản lí, công tác lưu trữ thông tin nhân sự đều phải thực hiện trên giấy tờ , sổ sách. Việc này gây ra nhiều bất cập do lượng thông tin cần lưu trữ quá lớn. Vì vậy hệ thống quản lí nhân sự ra đời nhằm tổ vận dụng công nghệ thông tin để quản lý, lưu trữ thông tin sinh viên, giảng viên,… hỗ trợ tối đa trong việc truy cập nhanh các thông tin cần thiết hỗ trợ nhằm tiết kiệm thời gian và nâng cao hiệu suất quản lý. Với mục tiêu xây dựng hệ thống hoàn chỉnh nhằm lưu trữ, quản lý nhân sự trong trường học phù hợp với điều kiện thực tế ở Việt Nam, em đã chọn đề tài nghiên cứu cho Đồ án: “Thiết kế website quản lý trường học”. Trong báo cáo này, em xin trình bày cụ thể về ý nghĩa, cơ sở lý thuyết và kết quả nghiên cứu em đã đạt được. Qua đây, em cũng xin gửi lời cảm ơn sâu sắc đến thầy Dương Tấn Nghĩa đã hướng dẫn tận tình, tạo điều kiện thuận lợi, cung cấp nhiều tài liệu quý báu để em hoàn thành tốt Đồ án. Trong quá trình thực hiện đề tài, tuy đã rất cố gắng song do những hạn chế về thời gian cũng như kiến thực có hạn nên không thể tránh khỏi những thiếu sót. Em rất mong nhận được ý kiến đóng góp của thầy cô để hoàn thiện Đồ án một cách tốt nhất
TỔNG QUAN VỀ ĐỀ TÀI
Đặt vấn đề
Trong thời đại công nghệ hiện nay, ứng dụng quản lý ngày càng trở nên phổ biến trong cả doanh nghiệp và tổ chức xã hội, đóng vai trò quan trọng trong việc nâng cao khả năng quản lý Đặc biệt, các tổ chức giáo dục cũng không nằm ngoài xu hướng này; việc sử dụng ứng dụng quản lý trường học sẽ giúp phát triển hệ thống trường học một cách quy củ và chuyên nghiệp hơn.
Quản lý một trường học với hàng trăm, thậm chí hàng nghìn học sinh, sinh viên là một thách thức lớn Việc theo dõi bảng điểm, lịch học, lịch thi, và danh sách học sinh, giáo viên theo từng khoa, môn học cần được thực hiện một cách chính xác Do đó, việc sở hữu một ứng dụng quản lý trường học sẽ hỗ trợ hiệu quả cho cán bộ quản lý và giáo viên trong công việc của họ.
Đề xuất hệ thống
− Từ những khảo sát ban đầu đề xuất hệ thống được đưa ra như sau:
Tên dự án: Website quản lý trường học.
Việc xây dựng hệ thống website quản lý trường học trở nên cấp thiết do số lượng lớn sinh viên, giảng viên và môn học cần được quản lý hiệu quả.
Người dùng: Phòng đào tạo, giảng viên, sinh viên.
Phân tích tính khả thi
Phân tích tính khả thi về kỹ thuật là bước quan trọng giúp nhóm đảm bảo rằng việc mở rộng hoặc xây dựng hệ thống mới có thể được thiết kế, phát triển và cài đặt thành công Tính khả thi này được xác định dựa trên nhiều yếu tố khác nhau.
Dựa trên yêu cầu hệ thống đã được trình bày trước đó, chúng tôi đã xác định được lý do xây dựng hệ thống và những giá trị mà nó sẽ mang lại.
− Việc xây dựng ứng dụng quản lý trường học là cần thiết Do đó chúng em đã phát triển ứng dụng mới để khắc phục vấn đề trên.
Hệ thống này hoàn toàn khả thi nhờ vào các công nghệ hiện tại, với các công cụ và phần mềm phát triển ứng dụng sẵn có để tận dụng.
Nhóm phát triển gồm 1 thành viên, nhiệm vụ gồm phân tích, phát triển cho các chức năng phục vụ hệ thống để hoàn thành dự án.
Giải pháp thực hiện
− Tìm hiểu lý thuyết từ đó xây dựng website bám sát các thông tin cần thiết của bệnh án, đảm bảo các chức năng đề ra:
− Phần Front-end: Lập trình giao diện bằng HTML/CSS và JavaScript.
− Phần Back-end: Lập trình bằng ngôn ngữ PHP sử dụng Framwork Laravel kết hợpVuejs.
Phương pháp nghiên cứu
Phương pháp thu thập và xử lý thông tin bao gồm việc thu thập dữ liệu từ nhiều nguồn khác nhau như báo chí, truyền thông trực tuyến và các đồ án có cùng chủ đề Qua đó, tiến hành phân tích, đánh giá và tổng hợp thông tin để đạt được cái nhìn tổng quát và sâu sắc hơn.
− Phương pháp phỏng vấn-trả lời: Tiếp nhận nhận xét, góp ý từ bạn bè, thầy cô để chỉnh sửa các giao diện cho phù hợp.
− Các phương pháp khác: tổng hợp, phân tích,…
CƠ SỞ LÝ THUYẾT
Các công cụ sử dụng để hỗ trợ xây dựng website
2.1.1 Hệ quản trị cơ sở dữ liệu MySQL
MySQL is an open-source relational database management system (RDBMS) that operates on a client-server model It is a software or service designed to create and manage databases by organizing the relationships between them.
MySQL là một phần mềm RDBMS phổ biến, thường được nhắc đến cùng với RDBMS do sự phổ biến rộng rãi của nó Nhiều ứng dụng web lớn như Facebook, Twitter, YouTube, Google và Yahoo! sử dụng MySQL để lưu trữ dữ liệu Mặc dù ban đầu MySQL được sử dụng hạn chế, nhưng hiện nay nó đã tương thích với nhiều hệ điều hành quan trọng như Linux, macOS, Microsoft Windows và Ubuntu.
Hình 2 1 Hệ quản trị cơ sở dữ liệu MySQL
HTML (Hypertext Markup Language) là ngôn ngữ đánh dấu dùng để tạo các trang web trên internet, sử dụng các thẻ để định nghĩa các thành phần khác nhau CSS (Cascading Style Sheets) là ngôn ngữ trình bày giúp tạo kiểu cho nội dung, như phông chữ và màu sắc.
HTML và CSS là hai ngôn ngữ độc lập, với HTML đại diện cho nội dung và CSS thể hiện cách thức nội dung đó được trình bày Việc viết CSS bên trong tài liệu HTML là không nên, vì mỗi ngôn ngữ có vai trò riêng biệt trong việc phát triển web.
JavaScript là ngôn ngữ lập trình phổ biến cho website, được tích hợp vào HTML để làm cho trang web trở nên sống động Nó thực hiện các script từ phía người dùng và máy chủ (Node.js), giúp tạo ra các trang web động.
− JavaScript là một ngôn ngữ lập trình thông dịch với khả năng hướng đến đối tượng.
Là một trong 3 ngôn ngữ chính trong lập trình web và có mối liên hệ lẫn nhau để xây dựng một website sống động, chuyên nghiệp:
HTML: Hỗ trợ trong việc xây dựng layout, thêm nội dung dễ dàng trên website.
CSS: Hỗ trợ việc định dạng thiết kế, bố cục, style, màu sắc,…
Tạo nên những nội dung “động” trên website.
HTML được sử dụng để định dạng bố cục và các thuộc tính hiển thị của văn bản, hiển thị trên trình duyệt như Firefox, Chrome, Opera, và Safari Tất cả các trình duyệt này đều giúp người dùng tương tác với website và có khả năng biên dịch mã HTML, CSS và JavaScript.
2.1.3 Ngôn ngữ lập trình PHP
PHP, viết tắt của Personal Home Page, là một ngôn ngữ kịch bản được phát triển chủ yếu cho các ứng dụng trên máy chủ Khi lập trình viên viết chương trình bằng PHP, các lệnh sẽ được thực thi trên server, tạo ra mã HTML Điều này giúp các ứng dụng web hoạt động một cách hiệu quả và dễ dàng.
Ngôn ngữ PHP là lựa chọn lý tưởng cho lập trình website nhờ khả năng kết nối dễ dàng với các trang web sử dụng HTML trên trình duyệt Điều này khiến PHP trở thành ngôn ngữ lập trình dễ đọc và phổ biến, được các lập trình viên ưu tiên học hỏi trước khi bước vào nghề phát triển web.
− Một số ứng dụng của PHP như:
PHP chủ yếu được sử dụng để phát triển các chương trình cho hệ thống máy chủ Để viết các ứng dụng chạy trên máy chủ, lập trình viên cần thực hiện các công việc như xây dựng máy chủ web, phân tích cú pháp ngôn ngữ lập trình PHP và sử dụng trình duyệt web Các lập trình viên có thể tạo ra đầu ra này thông qua các trình duyệt web phổ biến.
Ngôn ngữ PHP cho phép tạo ra các dòng tập lệnh để thực thi chương trình PHP mà không cần máy chủ Lập trình này có thể được sử dụng trên các hệ điều hành như Windows và Linux thông qua các trình lập tác vụ.
Xây dựng ứng dụng phần mềm bằng PHP có thể không phải là phương thức tối ưu nhất, nhưng nếu bạn muốn khám phá sâu hơn, PHP – GTK là một lựa chọn tốt để phát triển phần mềm riêng PHP – GTK là một nhánh mở rộng của ngôn ngữ lập trình PHP, tuy nhiên, nó không có sẵn trong các phiên bản hiện tại.
PHP hỗ trợ nhiều loại cơ sở dữ liệu khác nhau, đây là một trong những ứng dụng mạnh mẽ nhất của nó Việc sử dụng cơ sở dữ liệu tốt cho trang web không chỉ giúp cải thiện hiệu suất vận hành mà còn đảm bảo an toàn cho dữ liệu, đặc biệt trong trường hợp xảy ra tấn công an ninh mạng.
Laravel là một framework PHP mã nguồn mở và miễn phí, được thiết kế để hỗ trợ phát triển phần mềm và ứng dụng theo kiến trúc MVC Được phát triển bởi Taylor Otwell, Laravel giúp tạo ra các sản phẩm chất lượng cao với mã code tối giản, đáp ứng tiêu chuẩn ngành, từ đó tiết kiệm hàng trăm giờ phát triển.
Laravel framework nổi bật nhờ vào việc sử dụng các tính năng mới nhất của PHP, điều mà các framework khác không thể tận dụng Với Laravel 5, người dùng sẽ được trải nghiệm những tính năng tiên tiến như Namespaces, Interfaces, Overloading, Anonymous functions và cú pháp mảng ngắn gọn Nhiều hệ thống quản lý nội dung (CMS) nổi bật, từ đơn giản đến phức tạp, đã được phát triển trên nền tảng Laravel, bao gồm cả mã nguồn mở và thương mại.
Tài liệu của Laravel rất thân thiện với nhà phát triển, cung cấp hướng dẫn chi tiết cho tất cả các phiên bản Bạn sẽ tìm thấy những giải thích rõ ràng về phong cách lập trình, các phương thức và lớp, giúp việc phát triển trở nên dễ dàng hơn.
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Phân tích hệ thống
− Có hệ thống tài khoản, yêu cầu đăng nhập nếu là nhân viên bệnh viện
− Đối với Phòng đào tạo:
Xem thông tin giảng viên
Xem thông tin sinh viên
Nhập điểm cho sinh viên
Xem thông tin giảng viên
Xem thông tin sinh viên
Đăng kí vào lớp học
3.1.2 Yêu cầu phi chức năng
− Về giao diện: giao diện đơn giản, dễ tiếp cận với sinh viên , giảng viên.
− Về bảo mật: đảm bảo an toàn bảo mật dữ liệu; mã hoá mật khẩu.
− Đáp ứng được khả năng truy xuất và xử lý.
− Kiểm soát truy cập hệ thống, cơ sở dữ liệu
Thiết kế hệ thống
3.2.1 Thiết kế cơ sở dữ liệu
Các thực thể trong cơ sở dữ liệu:
− Thực thể phòng đào tạo
− Thực thể ngành bao gồm các thuộc tính:
− Thực thể khóa bao gồm các thuộc tính
− Thực thể sinh viên bao gồm thuộc tính:
− Thực thể môn bao gồm thuộc tính:
3.2.1.5 Thực thể phòng đào tạo
− Thực thể phòng đào tạo bao gồm thuộc tính:
− Thực thể giảng viên bảo gồm thuộc tính:
− Thực thẻ lớp bao gồm thuộc tính:
− Thực thể điểm bao gồm thuộc tính:
STT THUỘC TÍNH KIỂU DỮ LIỆU MÔ TẢ
3 Founded_year varchar Năm thành lập
4 Cre_at datetime Ngày tạo
5 Upd_at datetime Ngày chỉnh sửa
Bảng 3 1 Majors (ngành): Lưu thông tin ngành
STT THUỘC TÍNH KIỂU DỮ LIỆU MÔ TẢ
3 Founded_year varchar Năm thành lập
4 Cre_at datetime Ngày tạo
5 Upd_at datetime Ngày chỉnh sửa
Bảng 3 2 Courses (khóa): Lưu thông tin khóa
STT THUỘC TÍNH KIỂU DỮ LIỆU MÔ TẢ
3 Major_id varchar Mã ngành
4 Cre_at datetime Ngày tạo
5 Upd_at datetime Ngày chỉnh sửa
Bảng 3 3 Subjects (môn): Lưu thông tin môn
STT THUỘC TÍNH KIỂU DỮ LIỆU MÔ TẢ
1 ID int Mã lớp học
2 Name varchar Tên lớp học
3 Subject_id varchar Mã môn
4 Teacher_id varchar Mã giáo viên
6 Cre_at datetime Ngày tạo
7 Upd_at datetime Ngày chỉnh sửa
Bảng 3 4 Classes (lớp học): Lưu thông tin lớp học
STT THUỘC TÍNH KIỂU DỮ LIỆU MÔ TẢ
1 Uuid char Mã người dùng
2 Name varchar Tên người dùng
3 Course_id varchar Mã khóa
4 Major_id varchar Mã ngành
9 Year_of_admission varchar Năm vào trường
11 Phone varchar Số điện thoại
13 Reset_password_token varchar Token reset mật khẩu
14 Reset_password_token_expire datetime Thời gian hết token
15 Cre_at datetime Ngày tạo
16 Upd_at datetime Ngày chỉnh sửa
Bảng 3 5 Users (người dùng): Lưu thông tin người dùng
STT THUỘC TÍNH KIỂU DỮ LIỆU MÔ TẢ
2 Class_id varchar Tên lớp học
3 Student_id varchar Mã sinh viên
4 Midterm_score varchar Điểm giữa kì
5 Final_score varchar Điểm cuối kì
7 Cre_at datetime Ngày tạo
8 Upd_at datetime Ngày chỉnh sửa
Bảng 3 6 Scores (Điểm): Lưu thông tin điểm
KẾT QUẢ ĐẠT ĐƯỢC
Giao diện của phần mềm
Hình 4 1 Giao diện đăng nhập
4.1.2 Giao diện sau khi đăng nhập với quyền Phòng đào tạo
Hình 4 2 Giao diện sau khi đăng nhập với quyền Phòng đào tạo
4.1.3 Giao diện sau khi đăng nhập với quyền Giảng viên
Hình 4 3 Giao diện đăng nhập với quyền Giảng viên
4.1.4 Giao diện sau khi đăng nhập với quyền Sinh viên
Hình 4 4 Giao diện sau khi đăng nhập với quyền Sinh viên
4.1.5 Giao diện quản lý ngành
Hình 4 5 Giao diện quản lý ngành
4.1.6 Giao diện quản lý khóa
Hình 4 6 Giao diện quản lý khóa
4.1.7 Giao diện quản lý giảng viên
Hình 4 7 Giao diện quản lý giảng viên
4.1.8 Giao diện quản lý sinh viên
Hình 4 8 Giao diện quản lý sinh viên
4.1.9 Giao diện quản lý môn học
Hình 4 9 Giao diện quản lí môn học
4.1.10 Giao diện quản lý lớp học
Hình 4 10 Giao diện quản lý lớp học
Kịch bản kiểm thử phần mềm
4.2.1 Sinh viên đăng kí lớp
− B1: Tại giao diện sau đăng nhập, sinh viên nhấn vào tab Lớp học để chuyển sang màn hình lớp học
Sinh viên sẽ ấn vào nút đăng kí lớp học, khi lớp chưa đăng kí sẽ hiện nên nút màu xám để sinh viên có thể đăng kí lớp
Hình 4 11 Giao diện xác nhận đăng kí vào lớp
Với những lớp cùng với môn đã đăng kí, sinh viên sẽ không thể đăng kí được nữa
Hình 4 12 Giao diện thông báo đã đăng kí trùng môn
Sau khi đăng kí thành công, sinh viên có thể hủy đăng kí lớp đã đăng kí
Hình 4 13 Giao diện hủy đăng kí lớp học
Sau khi đã bắt đầu vào học, sinh viên sẽ không thể hủy được lớp nữa
Hình 4 14 Giao diện sau khi bắt đầu vào học
Giáo viên cần nhấn nút Nhập điểm trên màn hình lớp học để bắt đầu quá trình nhập điểm cho sinh viên Việc nhập điểm chỉ được thực hiện đối với những lớp đã được mở và thuộc quyền giảng dạy của giáo viên.
Hình 4 15 Màn hình nhập điểm của giảo viên
− B2: Màn hình sẽ chuyển sang màn hình sinh viên với chỉ những sinh viên đã có ở trong lớp mới được hiện lên
Hình 4 16 Màn hình lớp học khi nhập điểm
Hình 4 17 Màn hình nhập điểm
− Sau khi hoàn thành nhập điểm
Hình 4 18 Nhập điểm thành công
− Tại giao diện sinh viên, nhấn vào nút Xuất PDF để xuất file pdf
Hình 4 19 Màn hình xuất file pdf
Hình 4 20 Xuất file pdf thành công