- 相關(guān)推薦
基于WPF的學(xué)生成績管理系統(tǒng)應(yīng)用開發(fā)論文
摘要:針對(duì)當(dāng)今中小學(xué)學(xué)生考試成績管理的普遍需求, 運(yùn)用微軟.NET框架中的WPF技術(shù)以及MVVM開發(fā)模式, 研究并設(shè)計(jì)學(xué)生成績管理系統(tǒng), 實(shí)現(xiàn)學(xué)生管理、課程管理、班級(jí)管理、考試管理、成績管理等功能。該系統(tǒng)開發(fā)效率高、運(yùn)行速度快, 能夠?yàn)橹行W(xué)教務(wù)管理人員帶來極大的工作效率提升。
關(guān)鍵詞: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 引言
隨著社會(huì)的發(fā)展以及教育質(zhì)量的提高, 我國中小學(xué)教學(xué)規(guī)模不斷擴(kuò)大, 招生人數(shù)日漸增多, 所教學(xué)的課程以及對(duì)學(xué)生的考核形式也逐漸多樣化, 這使得教務(wù)管理工作在數(shù)量和難度上都大大增加。學(xué)生考試成績管理在教務(wù)管理工作中處于核心地位, 考試成績管理工作是衡量教學(xué)及管理質(zhì)量的重要指標(biāo)。而當(dāng)今不少中小學(xué)對(duì)成績管理依然采用傳統(tǒng)的人工管理方式, 這種管理方式不僅效率低下, 并且隨著時(shí)間的推移, 將產(chǎn)生大量的文件和數(shù)據(jù), 對(duì)于查找、更新和維護(hù)都帶來諸多的困難和不便。
在目前信息時(shí)代下, 利用計(jì)算機(jī)技術(shù)進(jìn)行信息處理無疑是更好的解決方案。使用微軟.NET框架中的WPF技術(shù)以及C#高級(jí)編程語言, 能夠高效率地開發(fā)出Windows平臺(tái)下的桌面應(yīng)用程序。利用這些技術(shù)開發(fā)一款學(xué)生成績管理系統(tǒng), 能夠幫助教務(wù)管理者對(duì)學(xué)生成績信息更加高效地管理、維護(hù), 從而對(duì)教學(xué)質(zhì)量有進(jìn)一步的提升。
1 功能需求分析
針對(duì)當(dāng)今中小學(xué)狀況來看, 不同地區(qū)、不同學(xué)校的教學(xué)手段不盡相同, 甚至可能有著較大的區(qū)別, 在學(xué)生成績管理工作中則主要體現(xiàn)在其所開設(shè)課程以及考核方式等不同。例如對(duì)于高中而言, 各班級(jí)具有理科班、文科班等區(qū)分, 對(duì)其所開設(shè)的考試也有不同的側(cè)重處, 因此在本系統(tǒng)中應(yīng)當(dāng)實(shí)現(xiàn)課程管理、班級(jí)管理和考試管理功能, 使得教學(xué)管理人員能夠針對(duì)不同課程、不同班級(jí)進(jìn)行不同的考核方式。
考試成績管理工作能夠影響到學(xué)校中的每一位師生, 而考試成績管理系統(tǒng)也是如此。教師需要使用該系統(tǒng)對(duì)其所教授課程的考試進(jìn)行分?jǐn)?shù)錄入、導(dǎo)出打印等, 學(xué)生可以通過該系統(tǒng)及時(shí)地對(duì)考試成績進(jìn)行查詢、并且與其他同學(xué)或家長進(jìn)行分享等。
由上, 系統(tǒng)所主要面向的用戶可分為三大類:教學(xué)管理員、教師以及學(xué)生, 各用戶類別可進(jìn)行的操作如下:
(1) 教學(xué)管理員:課程管理、班級(jí)管理、考試管理、用戶管理;
(2) 教師:分?jǐn)?shù)錄入、分?jǐn)?shù)導(dǎo)出;
(3) 學(xué)生:分?jǐn)?shù)查詢。
2 系統(tǒng)設(shè)計(jì)
2.1系統(tǒng)架構(gòu)
系統(tǒng)采用C/S (Client/Server, 客戶端/服務(wù)器) 架構(gòu)。在該架構(gòu)中, 客戶端通過互聯(lián)網(wǎng)與服務(wù)器形成連接, 整個(gè)系統(tǒng)的工作將合理地分配到客戶端與服務(wù)器中, 能夠充分地利用兩端的硬件資源, 并降低系統(tǒng)的資源開銷。該架構(gòu)模型如圖1所示。
在本系統(tǒng)中, 客戶端主要負(fù)責(zé)數(shù)據(jù)呈現(xiàn)、操作提示、數(shù)據(jù)錄入查詢等功能, 服務(wù)器端則主要負(fù)責(zé)數(shù)據(jù)庫的維護(hù)功能。
2.2功能模塊設(shè)計(jì)
根據(jù)本系統(tǒng)所面向的用戶分類, 系統(tǒng)的功能模塊主要?jiǎng)澐譃榻虒W(xué)管理員用戶模塊、教師用戶模塊以及學(xué)生模塊。系統(tǒng)功能模塊圖如圖2所示。各模塊所實(shí)現(xiàn)功能詳細(xì)描述如下:
(1) 管理員用戶模塊
(1) 課程管理:對(duì)學(xué)校所開設(shè)的所有課程進(jìn)行添加、刪除、修改等;
(2) 班級(jí)管理:根據(jù)不同的學(xué)年, 對(duì)班級(jí)進(jìn)行添加、刪除等更改;
(3) 考試管理:根據(jù)不同班級(jí)、不同課程進(jìn)行考試的管理;
(4) 用戶管理:對(duì)本系統(tǒng)的用戶進(jìn)行管理, 包括教師、學(xué)生。
(2) 教師用戶模塊
(1) 分?jǐn)?shù)錄入:對(duì)自身教授課程所開設(shè)的考試進(jìn)行分?jǐn)?shù)的錄入;
(2) 分?jǐn)?shù)導(dǎo)出:能夠?qū)⒛炒慰荚嚨某煽儼窗嗉?jí)劃分導(dǎo)出成Excel文檔;
(3) 個(gè)人信息管理:更新個(gè)人信息。
(3) 學(xué)生用戶模塊
(1) 分?jǐn)?shù)查詢:對(duì)參加過的考試進(jìn)行分?jǐn)?shù)查詢;
(2) 個(gè)人信息管理:更新個(gè)人信息。
2.3 數(shù)據(jù)庫設(shè)計(jì)
系統(tǒng)采用My SQL數(shù)據(jù)庫, 其具有體積小、速度快等優(yōu)點(diǎn), 足夠用于保存成績管理系統(tǒng)所需數(shù)據(jù)。系統(tǒng)數(shù)據(jù)庫共包含以下12個(gè)數(shù)據(jù)表:用戶信息表、學(xué)生表、教師表、系統(tǒng)管理員表、年級(jí)表、班級(jí)表、課程表、課程分配表、考試表、考試班級(jí)表、考試課程表、分?jǐn)?shù)表。各數(shù)據(jù)表所包含字段信息如下:
(1) 用戶信息表:id、用戶類型、學(xué)/工號(hào)、性別、年齡、聯(lián)系方式、登錄密碼;
(2) 學(xué)生表:id、對(duì)應(yīng)用戶信息外鍵、所在班級(jí)外鍵;
(3) 教師表:id、對(duì)應(yīng)用戶信息外鍵;
(4) 系統(tǒng)管理員表:id、對(duì)應(yīng)用戶信息外鍵;
(5) 年級(jí)表:id、學(xué)年值;
(6) 班級(jí)表:id、所在年級(jí)外鍵、班級(jí)序號(hào);
(7) 課程表:id、課程名稱;
(8) 課程分配表:id、對(duì)應(yīng)課程外鍵、對(duì)應(yīng)班級(jí)外鍵、對(duì)應(yīng)教師外鍵;
(9) 考試表:id、考試名稱、考試日期時(shí)間;
(10) 考試班級(jí)表:id、對(duì)應(yīng)考試外鍵、考試班級(jí)外鍵;
(11) 考試課程表:id、對(duì)應(yīng)考試外鍵、考試課程外鍵;
(12) 分?jǐn)?shù)表:id、對(duì)應(yīng)考試課程外鍵、對(duì)應(yīng)學(xué)生外鍵、得分。
3 系統(tǒng)實(shí)現(xiàn)
3.1開發(fā)模式
系統(tǒng)采用WPF技術(shù)進(jìn)行開發(fā), 能夠編寫出美觀的界面, 為用戶提供良好的交互體驗(yàn)。并且使用MVVM (Model-View-View Model, 模型-視圖-視圖模型) 開發(fā)模式進(jìn)行開發(fā)。其中模型即代表所用數(shù)據(jù), 視圖即為用戶使用該系統(tǒng)時(shí)所能夠看見的頁面、外觀 (UI) , 而視圖模型相當(dāng)于數(shù)據(jù)與視圖間的媒介, 通過數(shù)據(jù)創(chuàng)建好視圖模型后傳遞給視圖進(jìn)行數(shù)據(jù)的呈現(xiàn)。不同于MVC (Model-View-Controller, 模型-視圖-控制器) 模式通過控制器進(jìn)行主要業(yè)務(wù)邏輯處理, MVVM模式則主要通過數(shù)據(jù)模型中所包含操作命令 (Command) 以及XAML中的綁定器 (Binder) 等對(duì)數(shù)據(jù)進(jìn)行邏輯處理。這種模式能夠更好地促進(jìn)視圖層開發(fā)與其他層次的分離, 使得程序開發(fā)更為模塊化, 從而提升開發(fā)效率。
3.2數(shù)據(jù)庫操作
本系統(tǒng)中數(shù)據(jù)庫連接、操作使用.NET框架下的Entity Framework (簡稱EF) 實(shí)現(xiàn)。使用EF對(duì)數(shù)據(jù)庫進(jìn)行操作主要分為代碼優(yōu)先模式和數(shù)據(jù)庫優(yōu)先模式, 由于本系統(tǒng)中數(shù)據(jù)庫結(jié)構(gòu)較為復(fù)雜, 因此采用數(shù)據(jù)庫優(yōu)先模式, 即根據(jù)已經(jīng)創(chuàng)建好的數(shù)據(jù)庫在項(xiàng)目中直接生成數(shù)據(jù)庫中各項(xiàng)數(shù)據(jù)表所對(duì)應(yīng)的實(shí)體類。
要對(duì)My SQL數(shù)據(jù)庫使用EF數(shù)據(jù)庫優(yōu)先模式, 在開發(fā)機(jī)器中必須安裝My SQL for Visual Studio、My SQL Connector Net, 并且在項(xiàng)目中通過Nu Get包管理器添加My SQL.Data以及My SQL.Data.Entity包, 且該4項(xiàng)軟件包的版本必須相互對(duì)應(yīng), 否則無法進(jìn)行正常運(yùn)作, 一個(gè)可行的對(duì)應(yīng)版本號(hào)有:2.0.5、6.10.7、6.10.7、6.10.7。各軟件包安裝完成后, 只需通過新建項(xiàng)在項(xiàng)目中添加ADO.NET實(shí)體數(shù)據(jù)模型, 并按照對(duì)應(yīng)提示連接數(shù)據(jù)庫、選擇數(shù)據(jù)模型和數(shù)據(jù)表后即可自動(dòng)生成所選擇的數(shù)據(jù)表對(duì)應(yīng)的實(shí)體類以及一個(gè)Db Context類, 所有對(duì)數(shù)據(jù)庫進(jìn)行的操作均通過該類來進(jìn)行。例如讀取所有考試班級(jí)的示例代碼如下:
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為數(shù)據(jù)庫中的所有考試班級(jí), 后兩項(xiàng)Include則表示各個(gè)考試班級(jí)需包含其對(duì)應(yīng)的考試以及班級(jí)信息。
33.3 Excel數(shù)據(jù)導(dǎo)出
系統(tǒng)采用NPOI開源庫進(jìn)行Excel數(shù)據(jù)導(dǎo)出功能的實(shí)現(xiàn), 需首先通過Nu Get包進(jìn)行安裝該庫。使用NPOI可在系統(tǒng)未安裝Office組件時(shí)完成對(duì)Word、Excel等文檔的讀寫, 并同時(shí)支持97-2003版本及其以后版本的Office文檔。以下示例代碼為將Data Table中的內(nèi)容導(dǎo)出至filepath所指的xlsx文檔:
以上代碼中首先創(chuàng)建XSSFWorkbook實(shí)例作為文檔的對(duì)象, 并通過Create Sheet方法在該文檔內(nèi)創(chuàng)建表格Sheet對(duì)象, 隨后通過遍歷Data Table中的各行各列往表格中插入數(shù)據(jù), 最后通過File Stream以及Write方法將文檔實(shí)際保存至filepath文件中。
4 結(jié)語
本文簡要介紹了使用.NET框架中WPF技術(shù)對(duì)面向中小學(xué)的學(xué)生考試成績管理系統(tǒng)進(jìn)行分析、設(shè)計(jì)以及實(shí)現(xiàn), 相信對(duì)使用WPF技術(shù)的開發(fā)人員具有一定的借鑒性, 并希望該系統(tǒng)能夠?yàn)橹行W(xué)的教務(wù)管理人員帶來工作效率的提升。
參考文獻(xiàn)
[1]郭寒風(fēng).基于C#的高校社團(tuán)助手應(yīng)用開發(fā)[J].中國科技信息, 2016, 18:30-31.
[2]郭寒風(fēng), 陳愛國..NET Core平臺(tái)下的教務(wù)管理系統(tǒng)開發(fā)[J].中國科技信息, 2018, 6, 44-45.
[3]喬晶.高校學(xué)生成績管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電腦編程技巧與維護(hù), 2015, 23:59-60.
【基于WPF的學(xué)生成績管理系統(tǒng)應(yīng)用開發(fā)論文】相關(guān)文章:
基于系統(tǒng)設(shè)計(jì)的科研管理論文09-22
應(yīng)用系統(tǒng)開發(fā)崗位職責(zé)04-10
學(xué)生成績管理系統(tǒng)心得體會(huì)03-21
庫存管理系統(tǒng)論文07-24
物資管理系統(tǒng)論文08-06
供電企業(yè)生產(chǎn)信息管理系統(tǒng)軟件的開發(fā)相關(guān)問題論文02-17
信息管理系統(tǒng)論文09-18