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

基於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.

最近訪問