基於WPF的學生成績管理系統應用開發論文

摘要:針對當今中小學學生考試成績管理的普遍需求, 運用微軟.NET框架中的WPF技術以及MVVM開發模式, 研究並設計學生成績管理系統, 實現學生管理、課程管理、班級管理、考試管理、成績管理等功能。該系統開發效率高、運行速度快, 能夠爲中小學教務管理人員帶來極大的工作效率提升。

關鍵詞:WPF; 成績管理; .NET; MVVM;

Abstract:In view of the general needs of today's primary and middle school students' score management, uses the WPF technology and MVVM development model in the Microsoft.NET framework, studies and designs the student grading management system to achieve student management, course management, class management, test management, score management, etc. The system has high development efficiency and fast running speed, which can bring great work efficiency improvement to the teaching management staff of primary and middle schools.

Keyword:WPF; Score Management; .NET; MVVM;

0 引言

隨着社會的發展以及教育質量的提高, 我國中小學教學規模不斷擴大, 招生人數日漸增多, 所教學的課程以及對學生的考覈形式也逐漸多樣化, 這使得教務管理工作在數量和難度上都大大增加。學生考試成績管理在教務管理工作中處於核心地位, 考試成績管理工作是衡量教學及管理質量的重要指標。而當今不少中小學對成績管理依然採用傳統的人工管理方式, 這種管理方式不僅效率低下, 並且隨着時間的推移, 將產生大量的文件和數據, 對於查找、更新和維護都帶來諸多的困難和不便。

在目前信息時代下, 利用計算機技術進行信息處理無疑是更好的解決方案。使用微軟.NET框架中的WPF技術以及C#高級編程語言, 能夠高效率地開發出Windows平臺下的桌面應用程序。利用這些技術開發一款學生成績管理系統, 能夠幫助教務管理者對學生成績信息更加高效地管理、維護, 從而對教學質量有進一步的提升。

1 功能需求分析

針對當今中小學狀況來看, 不同地區、不同學校的教學手段不盡相同, 甚至可能有着較大的區別, 在學生成績管理工作中則主要體現在其所開設課程以及考覈方式等不同。例如對於高中而言, 各班級具有理科班、文科班等區分, 對其所開設的考試也有不同的側重處, 因此在本系統中應當實現課程管理、班級管理和考試管理功能, 使得教學管理人員能夠針對不同課程、不同班級進行不同的'考覈方式。

考試成績管理工作能夠影響到學校中的每一位師生, 而考試成績管理系統也是如此。教師需要使用該系統對其所教授課程的考試進行分數錄入、導出打印等, 學生可以通過該系統及時地對考試成績進行查詢、並且與其他同學或家長進行分享等。

由上, 系統所主要面向的用戶可分爲三大類:教學管理員、教師以及學生, 各用戶類別可進行的操作如下:

(1) 教學管理員:課程管理、班級管理、考試管理、用戶管理;

(2) 教師:分數錄入、分數導出;

(3) 學生:分數查詢。

2 系統設計

2.1系統架構

系統採用C/S (Client/Server, 客戶端/服務器) 架構。在該架構中, 客戶端通過互聯網與服務器形成連接, 整個系統的工作將合理地分配到客戶端與服務器中, 能夠充分地利用兩端的硬件資源, 並降低系統的資源開銷。該架構模型如圖1所示。

在本系統中, 客戶端主要負責數據呈現、操作提示、數據錄入查詢等功能, 服務器端則主要負責數據庫的維護功能。

2.2功能模塊設計

根據本系統所面向的用戶分類, 系統的功能模塊主要劃分爲教學管理員用戶模塊、教師用戶模塊以及學生模塊。系統功能模塊圖如圖2所示。各模塊所實現功能詳細描述如下:

(1) 管理員用戶模塊

(1) 課程管理:對學校所開設的所有課程進行添加、刪除、修改等;

(2) 班級管理:根據不同的學年, 對班級進行添加、刪除等更改;

(3) 考試管理:根據不同班級、不同課程進行考試的管理;

(4) 用戶管理:對本系統的用戶進行管理, 包括教師、學生。

(2) 教師用戶模塊

(1) 分數錄入:對自身教授課程所開設的考試進行分數的錄入;

(2) 分數導出:能夠將某次考試的成績按班級劃分導出成Excel文檔;

(3) 個人信息管理:更新個人信息。

(3) 學生用戶模塊

(1) 分數查詢:對參加過的考試進行分數查詢;

(2) 個人信息管理:更新個人信息。

2.3 數據庫設計

系統採用My SQL數據庫, 其具有體積小、速度快等優點, 足夠用於保存成績管理系統所需數據。系統數據庫共包含以下12個數據表:用戶信息表、學生表、教師表、系統管理員表、年級表、班級表、課程表、課程分配表、考試表、考試班級表、考試課程表、分數表。各數據表所包含字段信息如下:

(1) 用戶信息表:id、用戶類型、學/工號、性別、年齡、聯繫方式、登錄密碼;

(2) 學生表:id、對應用戶信息外鍵、所在班級外鍵;

(3) 教師表:id、對應用戶信息外鍵;

(4) 系統管理員表:id、對應用戶信息外鍵;

(5) 年級表:id、學年值;

(6) 班級表:id、所在年級外鍵、班級序號;

(7) 課程表:id、課程名稱;

(8) 課程分配表:id、對應課程外鍵、對應班級外鍵、對應教師外鍵;

(9) 考試表:id、考試名稱、考試日期時間;

(10) 考試班級表:id、對應考試外鍵、考試班級外鍵;

(11) 考試課程表:id、對應考試外鍵、考試課程外鍵;

(12) 分數表:id、對應考試課程外鍵、對應學生外鍵、得分。

3 系統實現

3.1開發模式

系統採用WPF技術進行開發, 能夠編寫出美觀的界面, 爲用戶提供良好的交互體驗。並且使用MVVM (Model-View-View Model, 模型-視圖-視圖模型) 開發模式進行開發。其中模型即代表所用數據, 視圖即爲用戶使用該系統時所能夠看見的頁面、外觀 (UI) , 而視圖模型相當於數據與視圖間的媒介, 通過數據創建好視圖模型後傳遞給視圖進行數據的呈現。不同於MVC (Model-View-Controller, 模型-視圖-控制器) 模式通過控制器進行主要業務邏輯處理, MVVM模式則主要通過數據模型中所包含操作命令 (Command) 以及XAML中的綁定器 (Binder) 等對數據進行邏輯處理。這種模式能夠更好地促進視圖層開發與其他層次的分離, 使得程序開發更爲模塊化, 從而提升開發效率。

3.2數據庫操作

本系統中數據庫連接、操作使用.NET框架下的Entity Framework (簡稱EF) 實現。使用EF對數據庫進行操作主要分爲代碼優先模式和數據庫優先模式, 由於本系統中數據庫結構較爲複雜, 因此採用數據庫優先模式, 即根據已經創建好的數據庫在項目中直接生成數據庫中各項數據表所對應的實體類。

要對My SQL數據庫使用EF數據庫優先模式, 在開發機器中必須安裝My SQL for Visual Studio、My SQL Connector Net, 並且在項目中通過Nu Get包管理器添加My SQL.Data以及My SQL.Data.Entity包, 且該4項軟件包的版本必須相互對應, 否則無法進行正常運作, 一個可行的對應版本號有:2.0.5、6.10.7、6.10.7、6.10.7。各軟件包安裝完成後, 只需通過新建項在項目中添加ADO.NET實體數據模型, 並按照對應提示連接數據庫、選擇數據模型和數據表後即可自動生成所選擇的數據表對應的實體類以及一個Db Context類, 所有對數據庫進行的操作均通過該類來進行。例如讀取所有考試班級的示例代碼如下:

var list=db Context.Exam Classes.Include (nameof (ExamClass.exam) )

.Include (nameof (Exam Class.t_class) .To List () ;db Context Db Context

其中db Context即爲Db Context類的示例, ExamClasses爲數據庫中的所有考試班級, 後兩項Include則表示各個考試班級需包含其對應的考試以及班級信息。

33.3 Excel數據導出

系統採用NPOI開源庫進行Excel數據導出功能的實現, 需首先通過Nu Get包進行安裝該庫。使用NPOI可在系統未安裝Office組件時完成對Word、Excel等文檔的讀寫, 並同時支持97-2003版本及其以後版本的Office文檔。以下示例代碼爲將Data Table中的內容導出至filepath所指的xlsx文檔:

以上代碼中首先創建XSSFWorkbook實例作爲文檔的對象, 並通過Create Sheet方法在該文檔內創建表格Sheet對象, 隨後通過遍歷Data Table中的各行各列往表格中插入數據, 最後通過File Stream以及Write方法將文檔實際保存至filepath文件中。

4 結語

本文簡要介紹了使用.NET框架中WPF技術對面向中小學的學生考試成績管理系統進行分析、設計以及實現, 相信對使用WPF技術的開發人員具有一定的借鑑性, 並希望該系統能夠爲中小學的教務管理人員帶來工作效率的提升。

參考文獻

[1]郭寒風.基於C#的高校社團助手應用開發[J].中國科技信息, 2016, 18:30-31.

[2]郭寒風, 陳愛國..NET Core平臺下的教務管理系統開發[J].中國科技信息, 2018, 6, 44-45.

[3]喬晶.高校學生成績管理系統設計與實現[J].電腦編程技巧與維護, 2015, 23:59-60.