Bối cảnh và vấn đề nghiên cứu

Khóa luận tốt nghiệp "Xây dựng phần mềm quản lý điểm sinh viên" được thực hiện bởi sinh viên Khanvilay Xayavong (chuyên ngành Công nghệ Thông tin, Trường Đại học Quảng Nam) dưới sự hướng dẫn của ThS. Hồ Hữu Linh vào tháng 5 năm 2019.

Về mặt thực tiễn, Trường Đại học Quảng Nam tiếp nhận một lượng lớn người học mỗi năm. Phòng Đào tạo của nhà trường phải đối mặt với khối lượng công việc lớn trong công tác quản lý điểm số cho cả sinh viên mới nhập học lẫn sinh viên các khóa đang theo học. Áp lực quản lý trở nên đặc biệt nghiêm trọng trong các đợt tổng kết học kỳ và tổng kết năm học. Quá trình vận hành khi đó bộc lộ nhiều hạn chế do các công đoạn còn phụ thuộc nặng nề vào các thao tác thủ công, gây tốn kém thời gian, nhân lực và tiềm ẩn nguy cơ xảy ra sai sót trong quá trình cập nhật điểm số, tính toán kết quả và in ấn phiếu điểm. Trước yêu cầu theo dõi toàn bộ quá trình học tập của sinh viên từ khi nhập học cho đến khi ra trường, việc tin học hóa quy trình quản lý điểm là nhu cầu cấp thiết nhằm phục vụ công tác đánh giá kết quả, kiểm soát khen thưởng, xét cấp học bổng, xử lý học lại, thi lại và lưu ban theo đúng quy chế đào tạo.

Mục tiêu nghiên cứu của đề tài được tác giả xác định cụ thể gồm 4 nhiệm vụ:

  1. Nắm vững các kiến thức về lý thuyết công nghệ phần mềm;
  2. Tìm hiểu mô hình lập trình .NET;
  3. Tìm hiểu quy trình xây dựng phần mềm;
  4. Triển khai phân tích ứng dụng quản lý điểm sinh viên.

Đối tượng nghiên cứu của khóa luận là hệ thống lý thuyết về công nghệ phần mềm và quy trình xây dựng một sản phẩm phần mềm hoàn chỉnh. Phạm vi nghiên cứu được giới hạn ở hai phương diện: về mặt lý thuyết là các nguyên lý công nghệ phần mềm và nền tảng .NET; về mặt thực tế là bài toán khảo sát hiện trạng, phân tích nghiệp vụ và thiết kế hệ thống phần mềm quản lý điểm sinh viên tại Trường Đại học Quảng Nam.

Cơ sở lý thuyết và phương pháp

Khóa luận thiết lập nền tảng nghiên cứu dựa trên các khái niệm chuyên ngành công nghệ phần mềm, nền tảng lập trình và hệ quản trị cơ sở dữ liệu:

  • Nền tảng .NET Framework: Văn bản trình bày vai trò của .NET như một tầng trung gian giữa ứng dụng và hệ điều hành, cung cấp các dịch vụ cơ bản thông qua hai thành phần cốt lõi là .NET Framework (tập hợp các đối tượng) và Common Language Runtime - CLR (môi trường vận hành yểm trợ các ngôn ngữ). Tiêu chuẩn Common Language Specifications (CLS) giúp các trình biên dịch hoạt động đồng nhất, hỗ trợ các ngôn ngữ như C# và Visual Basic .NET. Hệ sinh thái máy chủ hậu phương (.NET Enterprise Servers) được đề cập bao gồm Windows Server, SQL Server, Exchange Server, BizTalk Server và Host Integration Server.
  • Hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) Microsoft SQL Server: Nghiên cứu khái quát lịch sử phát triển từ phiên bản 1.0 (năm 1989), bản 6.0, 7.0 đến phiên bản 2016; phân tích các ấn bản gồm Enterprise, Standard, Developer, Workgroup và Express. Các thành phần chức năng cốt lõi của SQL Server được nêu gồm: Database Engine, Replication, Integration Services (DTS), Analysis Services, Notification Services, Reporting Services, Full Text Search Service và Service Broker. Phương thức xác thực được khuyến nghị là chế độ bảo mật hỗn hợp (Mixed Mode).
  • Lý thuyết công nghệ phần mềm: Tác giả hệ thống hóa định nghĩa về phần mềm và kỹ nghệ phần mềm; bốn hoạt động nền tảng gồm đặc tả, phát triển, kiểm nghiệm và tiến hóa; phân loại thành phần mềm hệ thống và phần mềm ứng dụng; cấu trúc ba thành phần của một phần mềm (thành phần giao tiếp/giao diện, thành phần dữ liệu, thành phần xử lý); cùng sáu tiêu chuẩn chất lượng (tính đúng đắn, tính tiến hóa, tính hiệu quả, tính tiện dụng, tính tương thích, tính tái sử dụng).

Phương pháp nghiên cứu thực tế được tác giả sử dụng bao gồm:

  • Phương pháp nghiên cứu lý thuyết: Thu thập, tổng hợp và nghiên cứu các tài liệu liên quan đến công nghệ phần mềm và công nghệ phát triển ứng dụng.
  • Phương pháp phân tích và tổng hợp thông tin: Khảo sát thực tế cơ cấu tổ chức và quy trình quản lý điểm tại Trường Đại học Quảng Nam, phân tích luồng thông tin nghiệp vụ giữa Phòng Đào tạo, các khoa chuyên môn, giáo viên chủ nhiệm và sinh viên.
  • Phương pháp phân rã và thiết kế hệ thống: Ứng dụng kỹ thuật phân rã chức năng, xây dựng biểu đồ luồng dữ liệu (Data Flow Diagram - DFD) và mô hình hóa thực thể quan hệ (ERD).

Nguồn dữ liệu của nghiên cứu bắt nguồn trực tiếp từ các quy chế học và thi theo học chế tín chỉ, quy định xét học bổng, biểu mẫu phiếu điểm và dữ liệu hồ sơ sinh viên tại Trường Đại học Quảng Nam.

Thiết kế và triển khai hệ thống

Khóa luận kết hợp giữa phương pháp thiết kế hướng chức năng (phân rã thuật toán thành các mô-đun độc lập) và thiết kế hướng đối tượng (tổ chức quanh các đối tượng dữ liệu và mối quan hệ để phục vụ khả năng tái sử dụng).

Hệ thống luồng dữ liệu được phân cấp chi tiết qua các cấp độ:

  • Biểu đồ luồng dữ liệu mức khung nhìn: Xác định tương tác giữa tác nhân ngoài duy nhất là Phòng Đào tạo với hệ thống Quản lý sinh viên.
  • Biểu đồ luồng dữ liệu mức đỉnh: Phân rã tiến trình xử lý thành 4 phân hệ chính: (1) Quản lý, (2) Tìm kiếm, (3) Thống kê, (4) Điểm/Học.
  • Biểu đồ luồng dữ liệu mức dưới đỉnh:
    • Phân hệ Quản lý: Gồm 5 tiến trình cập nhật: Quản lý giáo viên, Quản lý môn học, Quản lý học kỳ, Quản lý lớp, Quản lý sinh viên.
    • Phân hệ Tìm kiếm: Phân rã thành tìm kiếm sinh viên, tìm kiếm giáo viên, tìm kiếm môn học và tìm kiếm lớp (cho phép tra cứu theo mã hoặc theo tên).
    • Phân hệ Thống kê: Phân rã thành thống kê sinh viên, môn học, học kỳ, lớp, giáo viên và điểm số.
    • Phân hệ Điểm: Xử lý tiếp nhận dữ liệu đầu vào, truy xuất cơ sở dữ liệu và tính toán điểm trung bình học kỳ, điểm trung bình tích lũy.

Cơ sở dữ liệu của phần mềm được thiết kế dưới dạng mô hình quan hệ, bao gồm 8 bảng dữ liệu:

Tên bảng dữ liệu Mục đích lưu trữ trong hệ thống Các trường thông tin chính được xác định
Bảng Đăng nhập Quản lý tài khoản quản trị hệ thống Tên đăng nhập (Admin), Mật khẩu
Bảng Sinh viên Lưu trữ hồ sơ lý lịch cá nhân sinh viên Mã sinh viên, Mã lớp, Họ tên sinh viên, Giới tính, Ngày sinh, Địa chỉ
Bảng Lớp Quản lý thông tin tổ chức lớp học Mã lớp, Tên lớp, Giáo viên chủ nhiệm
Bảng Môn học Quản lý danh mục học phần đào tạo Mã môn học, Tên môn học, Hệ số môn học
Bảng Giáo viên Quản lý thông tin cán bộ giảng dạy Mã giáo viên, Tên giáo viên, Giới tính, Địa chỉ, Trình độ, Tên môn học, Số tín chỉ, Mã môn học
Bảng Học kỳ Quản lý chu kỳ thời gian đào tạo Mã học kỳ, Tên học kỳ, Hệ số học kỳ
Bảng Điểm Lưu trữ kết quả học tập chi tiết Mã sinh viên, Họ tên sinh viên, Mã môn học, Mã lớp, Học kỳ, Năm học, Điểm 15 phút, Điểm 1 tiết, Điểm thi, Điểm trung bình học kỳ
Bảng Liên kết dữ liệu Thiết lập các ràng buộc quan hệ toàn vẹn Khóa ngoại kết nối giữa sinh viên, môn học, lớp và bảng điểm

Về công nghệ triển khai, phần mềm được cài đặt và xây dựng bằng môi trường Microsoft Visual Studio 2010, sử dụng ngôn ngữ trên nền tảng .NET và kết nối hệ quản trị cơ sở dữ liệu Microsoft SQL Server 2008 để quản trị dữ liệu tập trung trên hệ điều hành Windows. Hệ thống phân chia quyền truy cập thành hai nhóm: người quản lý hệ thống (toàn quyền cập nhật, chỉnh sửa, thêm, xóa thông tin sinh viên, môn học, điểm số) và người truy cập thông thường (sử dụng tài khoản chỉ có quyền xem và tra cứu dữ liệu).

Nội dung chính theo từng chương

Chương 1: Cơ sở lý thuyết và khảo sát bài toán quản lí điểm

Chương này dành phần lớn nội dung trình bày lý thuyết nền tảng về công nghệ phần mềm, công nghệ .NET và hệ quản trị SQL Server, đồng thời khảo sát chi tiết hiện trạng quy trình nghiệp vụ điểm tại Trường Đại học Quảng Nam.

Văn bản ghi nhận quy chế học và thi tín chỉ của trường: Điểm mỗi môn học được chấm theo thang điểm 10, cấu thành từ các điểm thành phần: điểm chuyên cần (tham gia đủ buổi đạt 10 điểm, vắng học do giảng viên xem xét), điểm kiểm tra giữa kỳ (sau khi học hơn 2/3 số buổi), điểm thực hành, điểm bài tập/tiểu luận, điểm thi lần 1 (kết thúc học phần) và điểm thi lần 2 (nếu điểm lần 1 dưới 4,0). Điểm tổng kết môn học được quy đổi từ thang số sang thang chữ và tương ứng với thang điểm số hệ 4 theo quy tắc chuẩn:

Điểm tổng kết môn học (thang chữ) Điểm quy đổi (thang điểm 4)
A+ 4,0
A 3,7
B+ 3,5
B 3,0
C+ 2,5
C 2,0
D+ 1,5
D 1,0
F 0,0

Điểm trung bình chung học kỳ và điểm trung bình chung tích lũy ($A$) được tính theo công thức lấy đến 2 chữ số thập phân:

$$A = \frac{\sum_{i=1}^{n} a_i \cdot n_i}{\sum_{i=1}^{n} n_i}$$

Trong đó $a_i$ là điểm môn học thứ $i$ (theo thang 4), $n_i$ là số tín chỉ của môn học thứ $i$, và $n$ là tổng số môn học.

Văn bản quy định rõ tiêu chuẩn phân loại và xét học bổng sau mỗi học kỳ (chỉ tính điểm thi kết thúc học phần lần 1):

Xếp loại học bổng Tiêu chuẩn điểm học lực (thang 4) Tiêu chuẩn điểm rèn luyện
Xuất sắc Điểm hệ 4 $\ge 3,6$ Điểm rèn luyện $\ge 90$
Giỏi Điểm hệ 4 $\ge 3,2$ Điểm rèn luyện $\ge 80$
Khá Điểm hệ 4 $\ge$ Điểm trung bình học bổng Điểm rèn luyện $\ge 70$

Bên cạnh đó, chương 1 phản ánh quy định quản lý hồ sơ: Sinh viên có điểm thi nhỏ hơn 4,0 phải thi lại; nếu thi lại lần 2 vẫn dưới 4,0 thì bắt buộc học lại. Sinh viên đã tốt nghiệp hoặc sinh viên học hết 4 năm chưa tốt nghiệp vẫn được lưu trữ thông tin trong cơ sở dữ liệu của nhà trường trong vòng 2 năm tiếp theo để phục vụ xác minh, xin việc hoặc học tiếp cao học; sau thời hạn 2 năm này, mọi thông tin mới bị xóa bỏ.

Chương 2: Phân tích và thiết kế chương trình quản lý điểm sinh viên

Chương này tập trung vào khâu đặc tả yêu cầu và mô hình hóa hệ thống. Khảo sát hiện trạng cho thấy nhà trường quản lý sinh viên theo khóa và lớp; mỗi lớp có giáo viên chủ nhiệm quản lý danh sách và điểm số, trong khi Phòng Đào tạo quản lý tập trung toàn khóa và kết quả học tập của từng khối.

Tác giả xác định 5 yêu cầu chức năng cho phần mềm:

  1. Quản lý sinh viên, kết quả học tập và xuất báo cáo thống kê;
  2. Quản lý thông tin sinh viên và các đối tượng liên quan (sinh viên, lớp học, môn học, học kỳ, giáo viên, người dùng);
  3. Quản lý điểm của từng sinh viên và điểm của cả lớp;
  4. Tìm kiếm nhanh chóng thông tin sinh viên và điểm số theo từng cá nhân hoặc theo lớp;
  5. Thống kê, báo cáo danh sách sinh viên theo sinh viên và lớp.

Dựa trên yêu cầu, tác giả thực hiện phân rã thiết kế hệ thống thông qua các sơ đồ luồng dữ liệu DFD mức khung nhìn, mức đỉnh và mức dưới đỉnh; thiết lập sơ đồ quan hệ thực thể ER, mô hình quan hệ giữa các bảng cơ sở dữ liệu và phác thảo giao diện tương tác người dùng theo mô hình bản mẫu (prototype).

Chương 3: Cài đặt chương trình và kết quả

Chương 3 trình bày việc hiện thực hóa các thiết kế thành phần mềm ứng dụng thực tế trên môi trường Microsoft Visual Studio 2010 và SQL Server 2008.

Cấu trúc giao diện chương trình được thiết kế bao gồm:

  • Giao diện đăng nhập: Bảo đảm an toàn dữ liệu, yêu cầu xác thực tài khoản Admin và mật khẩu trước khi truy cập chương trình.
  • Giao diện chính: Thiết lập môi trường làm việc thông qua hệ thống thanh menu điều hướng cấp cao gồm: Menu Hệ thống (cho phép đăng xuất, hủy đăng xuất, thoát), Menu Quản lý, Menu Thống kê, Menu Học và Menu Tìm kiếm.
  • Menu Quản lý: Chứa các giao diện cập nhật cho 5 đối tượng thực thể: Cập nhật Giáo viên, Cập nhật Môn học, Cập nhật Học kỳ, Cập nhật Lớp, Cập nhật Sinh viên. Các màn hình này cung cấp đầy đủ các thao tác: thêm, sửa, xóa, lưu, hủy, phục hồi dữ liệu và thoát.
  • Menu Thống kê: Chứa 6 giao diện thống kê chuyên biệt gồm: Thống kê Sinh viên (phân loại nam, nữ), Thống kê Môn học, Thống kê Học kỳ, Thống kê Lớp, Thống kê Giáo viên, và Thống kê Điểm.
  • Menu Học: Cung cấp giao diện Nhập điểm học, cho phép cập nhật, thêm, sửa, xóa các điểm thành phần của sinh viên.
  • Menu Tìm kiếm: Cung cấp 4 giao diện tìm kiếm thông tin: Tìm kiếm Sinh viên, Tìm kiếm Giáo viên, Tìm kiếm Môn học, Tìm kiếm Lớp. Tất cả các giao diện tìm kiếm đều hỗ trợ tra cứu theo hai tiêu chí: theo mã định danh hoặc theo tên đối tượng.

Kết quả và đóng góp

Khóa luận đã hoàn thành các kết quả cụ thể theo đúng mục tiêu đặt ra:

  • Xây dựng hoàn chỉnh một ứng dụng phần mềm chạy trên hệ điều hành Windows bằng Visual Studio 2010 kết nối hệ cơ sở dữ liệu SQL Server 2008.
  • Số hóa và mô hình hóa thành công cơ sở dữ liệu quan hệ gồm 8 bảng lưu trữ đầy đủ các thông tin về sinh viên, giáo viên, lớp, môn học, học kỳ và điểm số.
  • Lập trình và triển khai đầy đủ các giao diện thực thi cho 6 nhóm chức năng: xác thực đăng nhập, cập nhật dữ liệu danh mục, nhập và xử lý điểm theo quy chế tín chỉ, thống kê báo cáo theo nhiều tiêu chí, và tìm kiếm thông tin đa năng theo mã và tên.
  • Hiện thực hóa các thuật toán tính toán điểm trung bình học kỳ, điểm tích lũy theo thang điểm 4 có trọng số tín chỉ, phục vụ chính xác việc phân loại học bổng và xét điều kiện thi lại, học lại.

Về giải pháp đề xuất, tác giả đưa ra phương án áp dụng hệ thống phần mềm quản lý điểm vào thực tiễn Phòng Đào tạo Trường Đại học Quảng Nam nhằm thay thế quy trình sổ sách thủ công, giảm thiểu công sức và giấy tờ lưu trữ, nâng cao tính chính xác trong khâu tính điểm và in bảng điểm.

Về đóng góp, tác giả tự nêu hai đóng góp chính:

  1. Hệ thống hóa và cung cấp tài liệu về lý thuyết công nghệ phần mềm cũng như quy trình xây dựng một phần mềm ứng dụng từ khâu khảo sát nghiệp vụ đến cài đặt;
  2. Đóng vai trò là tài liệu tham khảo chuyên ngành hữu ích nhằm chia sẻ kiến thức cho cộng đồng sinh viên Lào đang theo học ngành Công nghệ Thông tin tại Việt Nam.

Hạn chế và hướng nghiên cứu tiếp

Khóa luận thẳng thắn ghi nhận những hạn chế trong quá trình thực hiện:

  • Do giới hạn về thời gian nghiên cứu và kiến thức chuyên môn của tác giả còn chưa vững, phần mềm vẫn còn những thiếu sót nhất định trong quá trình phân tích và thiết kế.
  • Phần mềm mới dừng lại ở mô hình ứng dụng cục bộ trên máy tính cá nhân (Desktop Application), chưa được phát triển lên môi trường mạng diện rộng hoặc nền tảng Web để giảng viên và sinh viên có thể tự truy cập trực tuyến.
  • Báo cáo khóa luận chưa thể hiện các quy trình kiểm thử phần mềm chuyên sâu (unit test, stress test) cũng như các phương án sao lưu, phục hồi dữ liệu tự động ở mức độ nâng cao.

Hướng nghiên cứu tiếp theo được tác giả xác định là tiếp thu các ý kiến đóng góp của giảng viên hướng dẫn và hội đồng đánh giá để khắc phục những sai sót hiện có, hoàn thiện thêm các tính năng của phần mềm nhằm đáp ứng tốt hơn yêu cầu quản lý thực tế của nhà trường.

Giá trị tham khảo

Khóa luận có giá trị tham khảo thiết thực đối với:

  • Sinh viên ngành Công nghệ Thông tin, Kỹ thuật Phần mềm và Hệ thống Thông tin đang thực hiện đồ án môn học hoặc khóa luận tốt nghiệp về đề tài xây dựng phần mềm quản lý trên môi trường Windows Forms (.NET và SQL Server).
  • Lưu học sinh Lào theo học ngành công nghệ thông tin tại các trường đại học tại Việt Nam, đóng vai trò như một tài liệu mẫu về cấu trúc trình bày khóa luận tốt nghiệp và phương pháp phân tích nghiệp vụ bằng tiếng Việt.
  • Phần đáng tham khảo nhất trong khóa luận là hệ thống quy tắc khảo sát nghiệp vụ đào tạo tín chỉ tại Chương 1 (quy đổi điểm thang chữ sang hệ 4, công thức tính GPA/CPA có trọng số, điều kiện học bổng) và quy trình thiết kế biểu đồ luồng dữ liệu DFD phân cấp rõ ràng cùng cấu trúc 8 bảng cơ sở dữ liệu quan hệ tại Chương 2.

Câu hỏi thường gặp

1. Khóa luận sử dụng những công cụ và công nghệ nào để xây dựng phần mềm quản lý điểm? Phần mềm được phát triển dựa trên nền tảng công nghệ .NET của Microsoft, sử dụng môi trường lập trình Microsoft Visual Studio 2010 và kết nối với hệ quản trị cơ sở dữ liệu Microsoft SQL Server 2008, vận hành trên hệ điều hành Windows.

2. Quy chế tính điểm tại Trường Đại học Quảng Nam được hệ thống xử lý theo những thang điểm nào? Hệ thống xử lý điểm môn học ban đầu theo thang điểm 10 (được tổng hợp từ điểm chuyên cần, giữa kỳ, thực hành, bài tập và thi kết thúc môn). Điểm này sau đó được quy đổi sang thang điểm chữ (A+, A, B+, B, C+, C, D+, D, F) và chuyển đổi tương ứng sang thang điểm số hệ 4 (A+=4,0; A=3,7; B+=3,5; B=3,0; C+=2,5; C=2,0; D+=1,5; D=1,0; F=0,0) để tính điểm trung bình chung học kỳ và tích lũy.

3. Tiêu chuẩn xét cấp học bổng cho sinh viên được văn bản quy định cụ thể ra sao? Học bổng được xét dựa trên kết quả thi lần 1 kết hợp giữa điểm trung bình học kỳ hệ 4 và điểm rèn luyện:

  • Học bổng Xuất sắc: Điểm hệ 4 $\ge 3,6$ và điểm rèn luyện $\ge 90$.
  • Học bổng Giỏi: Điểm hệ 4 $\ge 3,2$ và điểm rèn luyện $\ge 80$.
  • Học bổng Khá: Điểm hệ 4 $\ge$ Điểm trung bình học bổng quy định và điểm rèn luyện $\ge 70$.

4. Dữ liệu hồ sơ của sinh viên sau khi tốt nghiệp hoặc chưa tốt nghiệp được quy định lưu giữ trong bao lâu? Theo khảo sát hiện trạng của tác giả, sinh viên đã tốt nghiệp cũng như sinh viên học hết 4 năm chưa tốt nghiệp đều được hệ thống tiếp tục lưu giữ hồ sơ trong cơ sở dữ liệu trong vòng 2 năm tiếp theo để phục vụ tra cứu, xác minh thông tin xin việc hoặc học lên cao học. Sau thời hạn 2 năm, toàn bộ dữ liệu mới bị xóa để giải phóng dung lượng.

5. Giao diện chính của chương trình quản lý điểm bao gồm những menu chức năng nào? Màn hình chính của phần mềm được tổ chức thành 5 menu điều hướng: Menu Hệ thống (đăng xuất, hủy đăng xuất, thoát), Menu Quản lý (cập nhật giáo viên, môn học, học kỳ, lớp, sinh viên), Menu Thống kê (thống kê sinh viên, môn học, học kỳ, lớp, giáo viên, điểm), Menu Học (giao diện nhập điểm học), và Menu Tìm kiếm (tìm kiếm sinh viên, giáo viên, môn học, lớp).

Kết luận

Khóa luận tốt nghiệp của sinh viên Khanvilay Xayavong đã giải quyết trọn vẹn bài toán xây dựng phần mềm quản lý điểm sinh viên phục vụ công tác đào tạo tín chỉ tại Trường Đại học Quảng Nam. Thông qua việc phân tích kỹ lưỡng các quy chế điểm số, thiết lập hệ thống biểu đồ luồng dữ liệu nhiều mức và thiết kế cơ sở dữ liệu quan hệ gồm 8 bảng, tác giả đã cài đặt thành công một ứng dụng quản lý hoàn chỉnh trên Visual Studio 2010 và SQL Server 2008. Công trình không chỉ cung cấp một sản phẩm phần mềm có tính ứng dụng thực tế trong quản lý đào tạo mà còn là tài liệu tham khảo giá trị cho các sinh viên ngành công nghệ thông tin, đặc biệt là lưu học sinh Lào đang học tập tại Việt Nam.