基于C#的高校社團助手應用開發

基于當今高校中社團的普遍狀況,運用.NET集成技術,C#高級編程語言以及高效的C/S框架模式,研究并設計高校社團助手應用,從而實現成員信息、社團基本信息、社團活動及系統后臺四大模塊的管理。該系統開發效率高,數據存取容易,將給高效社團管理人員帶來更加高效的社團管理體驗。
當今高校學生社團形式多種多樣,社團內的各項資料、數據變得越來越復雜,處理起來也十分繁瑣,而社團的管理人員和服務對象一般都是本高校的學生,在其運作期間,管理水平能夠直接影響到學生的工作及學習效率。如何利用先進的管理方法,提高社團的管理水平,是每一位社團管理者所面臨的重要難題。
微軟的.NET平臺提供了Windows Form的開發組件以及能夠高效處理數據庫的ADO.NET技術,能夠高效率的開發出Windows平臺上幾乎任何類型的軟件。而C#便是專門為.NET平臺而生的一門高級編程語言,具有非常強的靈活性。使用C#語言和微軟SQL Server開發高校社團助手應用,能夠滿足社團管理者對高標準、高效率的管理追求。
現實中,繁重的社團信息管理工作給社團管理人員帶來了很大麻煩。雖然使用Excel電子文檔的管理模式可以解決一部分的問題,可是在信息化管理的現實面前,它的不足之處就顯而易見了。Excel 電子文檔管理模式能夠解決的問題過于單一,管理人員不能通過計算機方便、快捷地對職工信息進行增刪改等操作,隨之帶來各種問題。若使用專門的社團管理軟件,并結合后臺數據庫存取數據,則能夠極大地提高社團管理的工作效率。
根據高效社團的基本現狀,社團中需要管理的信息主要有成員信息、社團信息、部門信息等,除了這些基本信息外,社團所舉辦的活動也需要一定維護,包括活動信息、活動籌備、活動計劃和活動評價等。有的社團還受企業公司的贊助,則還需要管理贊助商信息。
由此,系統應當至少包含三大模塊:成員信息管理模塊、社團信息管理模塊和社團活動管理模塊,又考慮到社團管理者的分工,為每個模塊分配一類管理員,各類的管理員只能對當前模塊下的信息進行管理,這樣便進一步提高管理效率,并能夠防止信息混合出錯的情況。
系統總體結構
系統結構采用C/S(Client/Server)模式,也就是常見的客戶端和服務器架構。通過它將任務更加合理地分配到客戶端和服務器端,以降低系統的資源開銷,并充分利用兩端硬件環境。該結構模型如圖1所示。
系統功能模塊
系統分為以下四大模塊:成員信息管理、社團信息管理、社團活動管理以及系統后臺管理。系統功能模塊圖如圖2所示。
(1)成員信息管理
a. 通訊錄管理:成員信息的增刪改查等;
b. 積分管理:對成員的積分進行管理,通過活動獲得積分,若違規則相應扣除積分,積分達到設定的閾值,可實現成員等級的變遷。包括積分添加、修改、查詢、排序、求平均分等各種操作。
(2)社團信息管理
a. 基本信息管理:對社團名稱,宗旨,章程,發起人,社團性質等信息增刪改操作。
b. 組織機構管理:組織機構的增刪改查、成員招新、退社等;
c. 贊助商管理:贊助商信息的增刪改查,贊助商與社團的關系管理等。
(3)社團活動管理
a. 活動計劃管理:活動的可行性分析與關鍵路徑處理等;
b. 活動籌備管理:活動經費與場地、校園導航等;
c. 活動評價管理:對每次活動的參與人員評分并總結。
(4)系統后臺管理
a. 配置信息管理:數據庫的配置信息管理;
b. 用戶管理:用戶的添加、刪除,登陸密碼修改等;
c. 數據庫管理:數據庫的添加、備份、恢復等。
數據庫設計
數據庫設計采用關系模型,規定在每張表內不得出現任何中文字符,以防止出現字符亂碼的情況,并且表單、列名、數據庫名都應能直接體現其含義。考慮到數據存取的效率,設定每個社團使用單獨一個數據庫,每個數據庫由系統管理員表sadmin,成員表member,社團信息表club,組織機構表organization,贊助商表sponsor,活動表activity,活動評價表actevaluation,活動地站點表actstation共8張表組成。在系統管理員表sadmin中加入管理員標識符字段,以區別各個模塊的管理員。

圖2 系統功能模塊圖
數據庫連接實現
本系統使用ADO.NET來對數據庫進行訪問操作。ADO.NET可以更加良好地管理軟件的生命周期與系統資源。ADO.NET是.NET中所有訪問數據庫連接技術的簡稱,是.NET中許多與數據訪問相關的類及技術。
本系統的數據庫設計開發將采用微軟的SQL Server,因此在實現數據庫連接時使用.NET提供的System.Data. SqlClient,它包含了SqlConnection、SqlCommand、SqlDataReader等幾個類。通過這幾個類產生的對象,可以對數據庫進行查詢、新增、修改及刪除的操作。
要實現數據庫的連接,首先應創建一個SqlConnection對象,與數據庫建立連接,之后再使用SqlCommand對象執行SQL命令,將SqlDataReader作為數據接收者,將數據保存在緩存中,最后執行相關的操作。例如:
SqlConnection CONN = new SqlConnection();// 創建連接對象
CONN.ConnectionString=“server=localhost;user id=sa;pwd=sa”; // 設定連接字符串
CONN.Open(); // 打開連接
SqlCommand CMD = new SqlCommand(); //創建命令對象
CMD.Connection = CONN; // 設定對應連接
CMD.CommandText = “select * from table1”; //設定SQL命令
SqlDataReader sdr = CMD.ExecuteReader();// 執行命令,并保存執行結果
CONN.Close(); // 關閉連接
數據顯示
系統主要通過.NET中的DataGridView控件和RichTextBox控件來顯示數據,部分代碼如下:
SqlDataReader sdr = CMD.ExecuteReader();

活動計劃管理
活動可行性分析
社團活動(為了區別社團活動與后文所提經典算法中的活動,后文使用“項目”來表示社團活動)的可行性分析可使用拓撲排序來完成,拓撲排序是對有向無環圖的頂點的一種排序,如果圖中存在一條從頂點A到頂點B的路徑,那么在拓撲排序的結果序列中A一定在B的前面。一個項目可以看成是多個活動的集合,每個活動相當于是圖中的一個頂點,圖中頂點間的方向規定為先發活動指向后發活動,若該圖能夠完成拓撲排序,則該項目可行,否則不可行。
活動關鍵路徑分析
關鍵路徑通常是決定項目工期的進度活動序列。它是項目中的最長路徑,能夠直接影響整個項目的最早完成時間。要得到一個項目(社團活動)的關鍵路徑,可以使用基于AOE網(用頂點表示事件,頂點間的弧表示活動,弧上的權值表示活動持續的時間的有向圖)的關鍵路徑算法來完成。一個項目是否存在關鍵路徑,取決于它能否完成拓撲排序,即不可行的項目不存在關鍵路徑。
校園導航
校園導航是活動籌備管理中的一項功能,輸入所有站點和每條路徑的信息后,可求出每個站點間的最短路徑。本系統中將所有站點和路徑用有向加權圖表示出來,最后使用Floyd算法求出最短路徑。算法實現的部分代碼如下:
for (int l = 0; l < vc; l++)
for (int m = 0; m < vc; m++)
for (int n = 0; n < vc; n++)
if(mtx[m,l]+mtx[l,n] mtx[m,n]=mtx[m,l]+mtx[l,n]; 一個高效的信息管理手段是高效社團管理工作中不可缺少的一部分,本文簡要講解了使用.NET平臺技術和C#語言對高校社團助手應用的分析與設計,相信對C#在Windows窗口的編程和使用C#進行數據庫操作具有一定的借鑒性。 10.3969/j.issn.1001- 8972.2016.18.008總結