国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ASP.NET的高校成教管理系統(tǒng)設(shè)計與實現(xiàn)

2009-03-23 02:40
計算機時代 2009年1期
關(guān)鍵詞:教務(wù)管理成人教育

何 俊

摘要:介紹了基于ASENET技術(shù)的高校成教管理系統(tǒng),該系統(tǒng)采用B/S結(jié)構(gòu)。文章就系統(tǒng)的體系結(jié)構(gòu)、數(shù)據(jù)庫設(shè)計和快速開發(fā)方法作了簡要的說明,并著重闡述了組件、系統(tǒng)安全、動態(tài)報表等技術(shù)在系統(tǒng)中的應(yīng)用。

關(guān)鍵詞:成人教育;教務(wù)管理;組件技術(shù);ASP.NET

0引言

蘇州大學(xué)的成人教育事業(yè)由于開辦歷史長,基礎(chǔ)好,近年來發(fā)展非常迅速,學(xué)生超過數(shù)萬人。隨著成教事業(yè)的發(fā)展,對成教院的管理工作提出了更高的要求。本系統(tǒng)主要目的是解決各學(xué)院成人教育相關(guān)信息的計算機管理,允許上級主管部門、成教院和各學(xué)院能在統(tǒng)一的平臺下操作。系統(tǒng)將成教院用戶作為高級管理員,可管理所有院系的數(shù)據(jù);而院系用戶作為一般管理員,只能操作相應(yīng)院系的數(shù)據(jù),其他院系的數(shù)據(jù)將被限制訪問,部分重要數(shù)據(jù)的操作,必須通過成教院用戶審核后方可生效。在安全性方面采用用戶、用戶組、模塊及其他方式如臨時表、日期限定等相結(jié)合的形式進行控制。該系統(tǒng)的實施使得成教管理從報名入學(xué)到畢業(yè)審核一系列的工作流進行得更加規(guī)范,且達到方便、省時、高效、安全的目的,實現(xiàn)了成教學(xué)生、報名考試、成績、畢業(yè)等信息管理的數(shù)字化、系統(tǒng)化和科學(xué)化。

1數(shù)據(jù)庫E—R圖設(shè)計

本系統(tǒng)涉及的主要實體有:學(xué)生、班級、專業(yè)、院系、課程、開課計劃、課表、學(xué)生考試成績、學(xué)籍變動、用戶、用戶組、模塊等。它們之間的聯(lián)系如圖1數(shù)據(jù)庫邏輯設(shè)計所示。

數(shù)據(jù)庫邏輯設(shè)計中需要重點說明的是:

(1)新生錄取的數(shù)據(jù)主要包括“省下達招生計劃”和“錄取學(xué)生名單”,該信息主要來源于省教委,每次錄取時需要從省教委下發(fā)數(shù)據(jù)導(dǎo)入。導(dǎo)入前將上次數(shù)據(jù)全部移入備份庫。專業(yè)、班級和學(xué)生是錄取學(xué)生正式報到注冊后的學(xué)籍?dāng)?shù)據(jù)。

(2)教學(xué)計劃是一切教學(xué)活動的依據(jù)和判斷學(xué)生畢業(yè)的依據(jù),也是申報新專業(yè)時必須提供的主要材料。

專業(yè)的教學(xué)計劃可以隨著時間的變化而進行修訂。因此,同一個專業(yè)不同年級的教學(xué)計劃可能不同。但同一專業(yè)同一年級的各個班級的教學(xué)計劃必須相同(指課程相同),只允許課程開課的時間不同。

按照不同的級別,教學(xué)計劃分為兩類:①專業(yè)教學(xué)計劃(模版);②教學(xué)班的教學(xué)計劃(開課計劃)。

(3)用戶、用戶組、模塊及用戶組權(quán)限分配。

本系統(tǒng)是一個授權(quán)訪問的系統(tǒng)。用戶是有權(quán)使用本系統(tǒng)的人。同一類用戶定義為一個組。用戶組分為兩類:

①系統(tǒng)組:即系統(tǒng)一開始就設(shè)定的組。系統(tǒng)組包括:超級管理員組、一般管理員組、院系管理員組、學(xué)生組、過客組。系統(tǒng)組是系統(tǒng)初始設(shè)定好的,不允許管理員刪除。

②自定義組:由超級管理員用戶定義的組。例如,可以定義:全權(quán)瀏覽組、審核組等。

一個用戶可以隸屬于多個組。用戶與組的多對多聯(lián)系通過“用戶組成員”體現(xiàn)。學(xué)生作為特殊的用戶,不記錄在該表內(nèi),而是在學(xué)生表內(nèi)保存密碼,用學(xué)號作為登錄賬號。

(4)模塊及用戶組權(quán)限分配。

模塊是描述一組或一個功能頁面的實體。模塊組可以包含子組。子模塊組或功能模塊頁面通過“父編號”標(biāo)識指定屬于哪個上級組。從而構(gòu)成一顆模塊結(jié)構(gòu)樹。模塊實體中的“文件名”是指包含相對路徑的完全文件名;“開始時間”和“結(jié)束時間”是指對記錄進行添加、刪除、修改的開放時間。若未指定,則表示無時間限制。

定義每個用戶組對每個模塊或模塊組的權(quán)限。如果某個用戶組對某個模塊沒有相關(guān)記錄,則認(rèn)為該用戶組對該模塊沒有任何權(quán)限。一個用戶對某模塊是否具有某種權(quán)限,是由其所在組的權(quán)限、組對模塊的權(quán)限和模塊本身開放的權(quán)限三者共同限制的。判斷模塊開放時間限制的代碼如下(如果一個用戶屬于多個組,則取這些組對于某權(quán)限的或即“0r”):

User.Rights=UserGroups Rights And UserGroupModuleRights.

Rights And Modules.Rights And(When IsNull(Modules.

BeginDate,0)=0 Then 1 Else getDate0>=Modules.BeginDate

End)And(When IsNull(Modules.EndDate,0)=0 Then 1 Else

getDate()<=Modules.EndDate End)

2系統(tǒng)體系結(jié)構(gòu)

系統(tǒng)體系結(jié)構(gòu)如圖2所示。本系統(tǒng)是一個完全基于ASP.NET技術(shù)的Web應(yīng)用程序。系統(tǒng)體系結(jié)構(gòu)為三層模式:表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問層。在表示層中,各個功能頁面劃分成許多自定義用戶控件及服務(wù)器控件,控件搭建成完整的功能頁面,數(shù)據(jù)訪問和安全設(shè)置放在控件中,使用模塊表進行管理,其目的是便于裝配和安全控制。數(shù)據(jù)訪問及業(yè)務(wù)邏輯層主要采用微軟提供的標(biāo)準(zhǔn)數(shù)據(jù)應(yīng)用訪問塊ApplicationBlocks for.NET。該類庫集成了數(shù)據(jù)庫的連接、方法重載返回DataSet和DataReader訪問數(shù)據(jù)庫、以及ExecuteScalar方法重載更新和修改數(shù)據(jù)庫。在本系統(tǒng)中擴充了標(biāo)準(zhǔn)數(shù)據(jù)應(yīng)用訪問塊的功能,以滿足數(shù)據(jù)訪問的要求和實現(xiàn)部分業(yè)務(wù)邏輯。數(shù)據(jù)庫采用微軟SQL Server2000。

3系統(tǒng)快速實現(xiàn)方法

本系統(tǒng)采用快速開發(fā)方法,既保證了系統(tǒng)的功能又縮短了開發(fā)周期。

在基于SQL Server數(shù)據(jù)庫的邏輯和物理實現(xiàn)之后,就可用RapidTier工具軟件快速生成基于VB或C#代碼的三層架構(gòu)的框架源代碼。自動生成的項目中BuildSolution.bat批處理文件為編譯產(chǎn)生源代碼文件;Import.bat批處理文件幫助產(chǎn)生Sql存儲過程(包括所有表的Insert、Add、Delete和Modify操作)。RapidTier工具產(chǎn)生的三層實現(xiàn)模式如圖3所示。在RapidTier工具產(chǎn)生的解決方案中包括如下三個獨立的工程:

Model工程該項目中的類為數(shù)據(jù)實體,類中只包含屬性,其屬性對應(yīng)數(shù)據(jù)庫中表的各個字段信息。即數(shù)據(jù)實體類的實例對應(yīng)一條記錄,可從數(shù)據(jù)庫提取記錄信息到該實體對象,或用該實體對象添加或修改數(shù)據(jù)庫中表的記錄。

DAL工程該項目為數(shù)據(jù)訪問層,所有的類均從DaoBase基類繼承,該基類提供可擴展的數(shù)據(jù)訪問功能,如連接信息、共有屬性等。該項目中的每一個類中的接口(即方法)提供一個表的Select、Insert、Updam等數(shù)據(jù)庫操作方法:Select方法通常返回DataTable或DataSet對象;Insert、Update方法返回Boolean或Integer。對于Insert和Update方法,參數(shù)類型為Model項目中的相應(yīng)數(shù)據(jù)實體,該項目中實體對象的方法通常被BLL層中的對象調(diào)用。底層操作數(shù)據(jù)庫所采用的技術(shù)為微軟提供的數(shù)據(jù)應(yīng)用訪問塊Application Blocks for.NET,其中SqlHelper類

中的共享方法直接操作數(shù)據(jù)庫。

BLL工程該層為業(yè)務(wù)邏輯層,為表示層提供訪問接口。業(yè)務(wù)邏輯層控制如字段級的驗證。一些不能在單個列中表示的包含不同實體或概念的更高級的業(yè)務(wù)規(guī)則等,通常都放在該層中。業(yè)務(wù)邏輯層對象通過訪問DAL層中的方法返回DataTable、DataSet或數(shù)據(jù)實體到表示層。

三個工程的關(guān)系是:DAL工程負(fù)責(zé)直接對數(shù)據(jù)庫中的數(shù)據(jù)表進行存取。BLL工程通過調(diào)用DAL工程中的方法來實現(xiàn)對數(shù)據(jù)庫的間接操作,同時添加業(yè)務(wù)邏輯代碼;只有BLL工程可以直接調(diào)用DAL工程中的方法,不可以跨層調(diào)用(Web層不能直接訪問DAL層中的對象)。Web表示層(或桌面應(yīng)用程序)通過調(diào)用BLL層的方法來實現(xiàn)與用戶的交互,同時Web層中對輸入數(shù)據(jù)進行一些初級驗證。Model提供數(shù)據(jù)實體供Web、BLL、DAL三層之間進行數(shù)據(jù)傳遞。DAL工程、BLL工程和Model工程均為類庫工程,編譯后為DLL動態(tài)連接庫。在ASP.NET中。它們的引用關(guān)系是Web工程引用BLL工程和Model工程即包含Imports qgI.BLL和Imports qgl.Model語句;BLLI程引用DAL工程和Model工程,其中qgl為該項目的名稱空間。

4系統(tǒng)關(guān)鍵技術(shù)的實現(xiàn)

4.1組件技術(shù)

在本系統(tǒng)中,主要使用了下列用戶控件:班級列表、學(xué)院列表、專業(yè)列表、課程列表以及它們的各種組合列表,另外還涉及驗證、日志記錄等自定義服務(wù)器控件。用戶控件的擴展名為ascx。其實它是一種小型的Web頁面,只是它不能作為獨立的Web頁來運行,而被包含在.aspx頁面文件中,用戶控件才能工作??梢詫⒚總€頁面中的共同部分、頁面初始化時所要執(zhí)行的操作(如登錄驗證,角色驗證)封裝在用戶控件當(dāng)中。

比如學(xué)院列表用戶控件Depart.ascx,該頁面中只包括一個標(biāo)簽控件和一個下拉列表框控件DropDownXueYuan。在后臺代碼中集成了對院系表的訪問方法,提供的外部方法有:根據(jù)用戶級別填充下拉列表框FillDepartMent;獲得院系ID號GetDepartlD,因為ASP.NET的內(nèi)部運行機制不允許簡單通過屬性的方式將控件在運行時的值傳遞到外部,所以必須通過方法來獲取控件的值;根據(jù)院系ID號在DropDownXueYuan中同步顯示相應(yīng)的院系名稱TongBuDropDownDepartlD;以及提供DepartSelectChanged事件,在外部響應(yīng)院系下拉列表框改變時,進行一些額外的操作。要想在aspx頁面中觸發(fā)下拉列表框的SelectedlndexChanged事件,必須在用戶控件中增加觸發(fā)事件功能。其實現(xiàn)代碼如下:

Public Event DepartSelectChanged(ByVal sender As Object.

ByVal e As EventArgsl Private Sub DropDownXueYuan_SelectedlndexChanged(ByVal

sender As_System.Object.ByVal e AS System.EventArgs)_Handles DropDownXueYuan SelectedlndexChanged

RaiseEvent DepartSelectChanged(Me,e)End Sub

其它用戶控件的實現(xiàn)與學(xué)院列表用戶控件類似。

4.2動態(tài)報表技術(shù)

目前基于ASP.NET的報表開發(fā)工具比較流行的主要有水晶報表設(shè)計器Crystal Report Designer,微軟的報表工具SQLServer 2000 Reporting Services以及各種第三方開發(fā)的報表設(shè)計器,如Data Dynamics公司開發(fā)的ActiveReports for.NET。本系統(tǒng)采用AcfiveReports for.NET組件進行報表設(shè)計。該組.件安裝后能與NET完美結(jié)合,用其設(shè)計的在Web上運行的報表與在桌面應(yīng)用程序上運行的報表具有完全相同的模式。

在報表設(shè)計中,往往要根據(jù)用戶需求顯示不同字段數(shù)的動態(tài)報表,這類報表因在設(shè)計時不能固定字段的位置,設(shè)計難度較大。本系統(tǒng)班級學(xué)生基本信息打印,就具有該類動態(tài)報表性質(zhì)。因為學(xué)生基本信息包括22個字段,在A4紙上根本不可能打印如此多的信息,通常只能選擇其中的若干個字段打印,而具體選擇哪些字段,是用戶自己決定的。此時需要考慮的問題有:字段頭標(biāo)題的總長度、各字段變量值的總長度和單個字段值的最大長度(例如通訊地址字段,該字段數(shù)據(jù)可能都為空,也可能剛好具有30個漢字)、以及標(biāo)題與值的對齊等??紤]到重用性,專門為動態(tài)生成報表創(chuàng)建了類DynamicReportServer,在構(gòu)造函數(shù)中傳入紙張寬度、每行的寬度、要打印的數(shù)據(jù)表字段、以及標(biāo)題名稱等信息。用私有過程SetEachFieldWidth從數(shù)據(jù)庫中獲得選擇字段的長度填充HASH變量HashFieldWidth,計算總長度和各字段所占比例,并通過GetFieldWidth屬性傳遞給外部。在過程SetEachFieldWidth中有一點要注意的是,當(dāng)打印字段標(biāo)題的長度大于該字段值的長度時,使用的寬度應(yīng)該是標(biāo)題的寬度。

5結(jié)束語

本系統(tǒng)在經(jīng)過6個多月的快速分析開發(fā)后,現(xiàn)已在蘇州大學(xué)成教院試用和測試,測試期間系統(tǒng)運行穩(wěn)定、可靠。開發(fā)時間短和成本低廉是本系統(tǒng)的特色,這為其它同類管理系統(tǒng)的開發(fā)提供了借鑒。

猜你喜歡
教務(wù)管理成人教育
基于SaaS的教務(wù)管理工作
ERP系統(tǒng)在成人教育管理中的應(yīng)用分析
分類分層教學(xué)模式在高職院校成人教育工作中的實踐探索
微課教學(xué)在成人教育中的實踐與思考
新形勢下高校二級學(xué)院教務(wù)管理優(yōu)化路徑探析
高校教學(xué)秘書隊伍建設(shè)存在的問題及對策
有關(guān)開設(shè)跨文化課程優(yōu)化教務(wù)管理的討論
团风县| 高阳县| 宜宾市| 康乐县| 吉首市| 故城县| 南部县| 张家川| 如东县| 田林县| 广宗县| 泰兴市| 邳州市| 临海市| 镇江市| 宁津县| 南京市| 高安市| 左贡县| 越西县| 潍坊市| 鹿泉市| 拉萨市| 县级市| 神农架林区| 鹤山市| 天长市| 凤翔县| 齐齐哈尔市| 大埔区| 高密市| 高陵县| 栾城县| 巴彦淖尔市| 岐山县| 苗栗县| 务川| 伊金霍洛旗| 牙克石市| 浮山县| 曲麻莱县|