亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ASP.NET的軟件學(xué)院實(shí)踐環(huán)節(jié)課題申報(bào)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

        2011-12-27 08:16:30冬,高
        關(guān)鍵詞:題庫(kù)功能模塊管理員

        趙 冬,高 亮

        (中原工學(xué)院,鄭州450007)

        基于ASP.NET的軟件學(xué)院實(shí)踐環(huán)節(jié)課題申報(bào)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

        趙 冬,高 亮

        (中原工學(xué)院,鄭州450007)

        從軟件學(xué)院實(shí)踐環(huán)節(jié)課題申報(bào)工作的實(shí)際需求出發(fā),以實(shí)現(xiàn)軟件學(xué)院實(shí)踐環(huán)節(jié)課題申報(bào)工作的自動(dòng)化、信息化管理為目標(biāo),討論了系統(tǒng)軟件架構(gòu)、功能模塊及涉及到的關(guān)鍵技術(shù).系統(tǒng)采用微軟ASP.NET、AJAX技術(shù)及C#語(yǔ)言,可實(shí)現(xiàn)從教師開(kāi)設(shè)課題,管理員審核課題,到學(xué)生申報(bào)課題,教師批準(zhǔn)學(xué)生申報(bào)全過(guò)程的自動(dòng)化管理,提高了實(shí)踐環(huán)節(jié)課題申報(bào)工作的效率.

        課題申報(bào);實(shí)踐環(huán)節(jié);三層架構(gòu)

        目前,我國(guó)已有越來(lái)越多的高校開(kāi)設(shè)了軟件學(xué)院,這些軟件學(xué)院多以培養(yǎng)應(yīng)用型軟件工程人才為目標(biāo).在學(xué)生的培養(yǎng)過(guò)程中,實(shí)踐環(huán)節(jié)占了教學(xué)過(guò)程的較大比重,基本上每個(gè)學(xué)期末,都會(huì)安排一個(gè)為期1~3周的集中實(shí)踐課程.課程實(shí)踐中,教師要帶領(lǐng)學(xué)生,以組或個(gè)人為單位,開(kāi)發(fā)具有一定規(guī)模的軟件.這類(lèi)實(shí)踐課程的管理過(guò)程一般是:①在實(shí)踐課程開(kāi)始前若干周,由各位教師發(fā)布自己的題目及每個(gè)題目需要多少組、每組多少人;②題目經(jīng)過(guò)相關(guān)管理人員審批合格后,即公布給學(xué)生;③學(xué)生自由結(jié)合成組,選擇教師及題目;④教師確認(rèn)自己所帶的組,并將最終的選報(bào)結(jié)果公布給學(xué)生.

        目前,很多高校的這一選報(bào)過(guò)程仍采用手工或半自動(dòng)化方式來(lái)完成,不僅工作效率較低,而且結(jié)果不準(zhǔn)確,每次都會(huì)發(fā)生學(xué)生漏報(bào)或教師統(tǒng)計(jì)錯(cuò)誤等情況,給后續(xù)的統(tǒng)計(jì)教師工作量及提交學(xué)生成績(jī)等工作造成不便.本課題申報(bào)系統(tǒng)能夠完成課題申報(bào)審批的全自動(dòng)化處理,不僅減少了相關(guān)人員的工作壓力、提高了工作效率,而且提高了課題申報(bào)過(guò)程的規(guī)范性和準(zhǔn)確性.

        1 軟件架構(gòu)

        本系統(tǒng)采用了三層架構(gòu)模式.所謂三層架構(gòu),是將整個(gè)系統(tǒng)劃分為三層,自下而上分別是數(shù)據(jù)訪問(wèn)層、業(yè)務(wù)邏輯層和表示層[1].如圖1所示.三層架構(gòu)模式層與層相對(duì)獨(dú)立,各層分別負(fù)責(zé)完成一類(lèi)工作.該模式具有分散關(guān)注、松散耦合、邏輯復(fù)用等優(yōu)勢(shì)[2].

        圖1 軟件架構(gòu)示意圖

        2 功能結(jié)構(gòu)

        本系統(tǒng)功能模塊包括教師功能模塊、管理員功能模塊、學(xué)生功能模塊及通用功能模塊.系統(tǒng)體系結(jié)構(gòu)如圖2所示.

        圖2 實(shí)踐課題申報(bào)系統(tǒng)體系結(jié)構(gòu)圖

        2.1 教師功能模塊

        教師功能模塊包括:

        (1)個(gè)人題庫(kù)管理.教師可以維護(hù)自己的題庫(kù),進(jìn)行新增、修改及刪除題目等操作.每個(gè)學(xué)期申報(bào)題目時(shí)可以直接從題庫(kù)中選取或稍加修改,無(wú)需重復(fù)錄入.個(gè)人題庫(kù)中的題目只有教師本人可以維護(hù).

        (2)課題申請(qǐng).教師在個(gè)人題庫(kù)或公共題庫(kù)列表中選擇合適的題目,只要選擇正確的學(xué)期、實(shí)踐環(huán)節(jié)類(lèi)型、專(zhuān)業(yè)、組數(shù)、每組人數(shù)等信息,即可提交申請(qǐng).

        (3)學(xué)生選報(bào)處理.教師與學(xué)生之間是雙向選擇的關(guān)系,學(xué)生在選報(bào)教師的某個(gè)課題后,教師要對(duì)其進(jìn)行確認(rèn),同時(shí)也有權(quán)拒絕其加入課題組.經(jīng)過(guò)確認(rèn)的學(xué)生,不能再自行退組.學(xué)生如要更換教師或題目,必須由本人提出申請(qǐng),由教師將學(xué)生除名后才能再選擇其他教師的題目.

        (4)學(xué)生成果管理.課題結(jié)束時(shí),學(xué)生必須上傳自己的代碼及文檔.教師可通過(guò)此模塊查看并下載自己所帶學(xué)生上傳的成果.

        2.2 管理員功能模塊

        管理員功能模塊包括:

        (1)公共題庫(kù)管理.管理員可以維護(hù)公共題庫(kù),公共題庫(kù)中的題目可以供所有教師使用.

        (2)課題審批.教師提交課題申請(qǐng)之后,需要經(jīng)過(guò)管理員審批,學(xué)生才能選題.如審批沒(méi)通過(guò),管理員可將沒(méi)通過(guò)的原因反饋給教師.

        (3)基礎(chǔ)信息管理.管理員還需管理系統(tǒng)運(yùn)行所需的基礎(chǔ)信息,如學(xué)生信息、教師信息、專(zhuān)業(yè)信息、班級(jí)信息、課題允許選報(bào)時(shí)間設(shè)置等.

        2.3 學(xué)生功能模塊

        學(xué)生功能模塊包括:

        (1)課題選報(bào).學(xué)生登錄后可看到與自己本專(zhuān)業(yè)、本次實(shí)踐環(huán)節(jié)相關(guān)的所有題目,可查看每一個(gè)題目的詳細(xì)信息及目前的選報(bào)情況,如課題組是否已經(jīng)報(bào)滿(mǎn)、各組組員是否已經(jīng)報(bào)滿(mǎn)等情況.學(xué)生選好課題后,可自行在該課題下創(chuàng)建項(xiàng)目組(在該課題項(xiàng)目組數(shù)未滿(mǎn)的情況下)并設(shè)置組密碼,也可直接加入其他組(該組的組員未滿(mǎn),且要求輸入組密碼).學(xué)生在創(chuàng)建或加入某組后,在教師未確認(rèn)之前,仍可自行退組并選擇其他組或課題.教師確認(rèn)后,學(xué)生會(huì)收到一條確認(rèn)成功的站內(nèi)短信,且不能再退組.如果教師將學(xué)生除名,被除名的學(xué)生會(huì)收到一條站內(nèi)短信,則該生處于未加入任何組的狀態(tài),可繼續(xù)選擇其他教師的題目.

        (2)成果提交.在實(shí)踐環(huán)節(jié)結(jié)束時(shí),學(xué)生可以通過(guò)該模塊提交自己的代碼及文檔等成果性資料,作為教師評(píng)分的依據(jù).

        2.4 通用功能模塊

        通用功能模塊包括:

        (1)登錄.本系統(tǒng)所有用戶(hù)必須經(jīng)過(guò)登錄驗(yàn)證身份后才可使用.如果是學(xué)生登錄,需要以學(xué)生所在班級(jí)為依據(jù),結(jié)合當(dāng)前日期計(jì)算本學(xué)期該生應(yīng)該參加哪個(gè)實(shí)踐環(huán)節(jié),以及目前是否已經(jīng)開(kāi)放了該實(shí)踐環(huán)節(jié)的選題功能.系統(tǒng)會(huì)根據(jù)計(jì)算結(jié)果決定是否顯示課題列表以及顯示哪些題目.

        (2)公告.管理員有權(quán)發(fā)布公告,教師及學(xué)生只有瀏覽公告的權(quán)限.

        (3)站內(nèi)短信.管理員可向任何人發(fā)送站內(nèi)短信,教師可向自己所帶學(xué)生及管理員發(fā)送站內(nèi)短信;學(xué)生可向自己的指導(dǎo)教師及管理員發(fā)送站內(nèi)短信.系統(tǒng)支持群發(fā)功能.

        (4)BBS.任何登錄用戶(hù)均可使用BBS進(jìn)行交流.管理員具有論壇管理權(quán)限,包括刪除帖子、刪除回復(fù)、封ID等.

        3 數(shù)據(jù)庫(kù)設(shè)計(jì)

        本系統(tǒng)采用了SQL Server2000作為DBMS.系統(tǒng)E-R圖如圖3所示.

        圖3 實(shí)踐課題申報(bào)系統(tǒng)E-R圖

        4 關(guān)鍵技術(shù)的應(yīng)用

        4.1 AJAX技術(shù)的應(yīng)用

        AJAX(Asynchronous JavaScript and XML)即異步JavaScript和XML,是一種創(chuàng)建交互式網(wǎng)頁(yè)應(yīng)用的網(wǎng)頁(yè)開(kāi)發(fā)技術(shù).AJAX最大的特點(diǎn)是實(shí)現(xiàn)了客戶(hù)端與服務(wù)器端之間異步的數(shù)據(jù)交換[3].目前在 ASP.NET2.0下,可以有多種方式實(shí)現(xiàn)AJAX.本系統(tǒng)是采用Client CallBack方式實(shí)現(xiàn)的.

        本系統(tǒng)幾乎所有涉及到數(shù)據(jù)列表刷新的頁(yè)面都采用了AJAX技術(shù),下面以班級(jí)信息的添加操作為例,說(shuō)明采用Client CallBack方式實(shí)現(xiàn)AJAX的方法:

        第一步,使需要完成AJAX效果的頁(yè)面實(shí)現(xiàn)ICallback Event Handler:

        public partial class Classes Manage :System.Web.UI.Page,System.Web.UI.ICallback Event Handler

        既然需要實(shí)現(xiàn)ICallback Event Handler接口,就要實(shí)現(xiàn)接口中定義的2個(gè)方法:GetCallback Result和RaiseCallback Event.第一個(gè)方法用來(lái)返回回調(diào)事件的結(jié)果,第二個(gè)方法用來(lái)處理回調(diào)事件.

        班級(jí)管理頁(yè)面中,這2個(gè)方法的核心實(shí)現(xiàn)如下:

        public string Get Callback Result()

        return builder.ToString();//builder 為Classes Manage類(lèi)的成員變量

        public void RaiseCallback Event(string event Argument)

        //Begin實(shí)現(xiàn)班級(jí)信息的添加,重新綁定數(shù)據(jù)顯示列表

        BLL.classes bc = new Maticsoft.BLL.classes();//創(chuàng)建班級(jí)的業(yè)務(wù)邏輯層對(duì)象

        Model.classes mc=new Maticsoft.Model.classes();//創(chuàng)建班級(jí)實(shí)體

        mc.classid= GetId();

        mc.classname = Request.Form\["txt-ClassName"\].ToString();

        mc.proid=ddlPro.Selected Value;

        bc.Add(mc);//調(diào)用業(yè)務(wù)邏輯層添加班級(jí)信息的方法,完成添加操作

        Grid View1.DataSource = bc.Get All List().Tables\[0\].Default View ;

        Grid View1.DataBind();

        //End

        //以下代碼將Grid View?轉(zhuǎn)換成 HTML流,存到builder中,在GetCallBack Result時(shí)傳回客戶(hù)端

        System.IO.String Writer sw = new System.IO.StringWriter();

        Html Text Writer htw=new Html Text-Writer(sw);

        Grid View1.RenderControl(htw);

        builder.Append(sw.ToString());

        第二步,需要在aspx文件中注冊(cè)回調(diào)方法.

        (1)在<Head>標(biāo)簽內(nèi)添加以下Javascript代碼:

        function ReceiveServer Data(arg,context)

        document.get ElementById ("msg_display").inner HTML=arg;//將服務(wù)器傳回的Grid View的HTML碼顯示在名為“msg_display”的DIV標(biāo)簽內(nèi).

        function Call TheServer(arg,context)

        <% =ClientScript.GetCallback Event Reference(this,"arg","ReceiveServer Data","context")%>//注冊(cè)回調(diào)方法

        (2)處理添加按鈕的onclick客戶(hù)端事件處理函數(shù)為:Call TheServer.

        <input type="button"value="添加"onclick="Call TheServer(')"id="Button1"/>

        在Call TheServer函數(shù)中對(duì)回調(diào)函數(shù)注冊(cè)后,當(dāng)用戶(hù)點(diǎn)擊“添加”按鈕時(shí),服務(wù)器端就會(huì)執(zhí)行Raise-Callback Event方法,即處理數(shù)據(jù)的插入操作,重新綁定Grid View的數(shù)據(jù)源,以及將Grid View轉(zhuǎn)換成新的HTML碼,最后以GetCallback Result返回給客戶(hù)端,而客戶(hù)端就會(huì)以ReceiveServer Data函數(shù)接收這個(gè)HTML碼,將其放到合適的位置中.在整個(gè)處理過(guò)程中,Grid View的更新是無(wú)刷新的.

        4.2 服務(wù)器推送技術(shù)的應(yīng)用

        所謂服務(wù)器推送技術(shù),就是當(dāng)客戶(hù)端提出一個(gè)請(qǐng)求后,即和服務(wù)器建立一個(gè)永久的連接,而后服務(wù)器會(huì)根據(jù)客戶(hù)端的請(qǐng)求主動(dòng)把數(shù)據(jù)推給客戶(hù)端,這個(gè)推的過(guò)程是不間斷的.由服務(wù)器推向客戶(hù)端的數(shù)據(jù)在客戶(hù)機(jī)的瀏覽器上會(huì)不斷呈現(xiàn)出新的內(nèi)容[4].

        在本系統(tǒng)中,有2個(gè)功能在實(shí)現(xiàn)時(shí)用到了服務(wù)器推送技術(shù):其一是站內(nèi)短信的即時(shí)提醒功能,本功能做到了當(dāng)站內(nèi)在線(xiàn)的用戶(hù)給他人發(fā)送短信時(shí),接收方可以實(shí)時(shí)獲得新短消息的閃爍圖片通知;其二是學(xué)生進(jìn)行課題選報(bào)時(shí)所使用的課題列表頁(yè)面,該頁(yè)面要時(shí)刻根據(jù)所有同學(xué)的選報(bào)情況控制每個(gè)在線(xiàn)學(xué)生的課題列表中每個(gè)課題所在行的“創(chuàng)建課題組”和“加入課題組”按鈕的可用狀況,以避免在學(xué)生從進(jìn)入課題列表頁(yè)面到確定選報(bào)哪個(gè)題目并進(jìn)行操作這段時(shí)間內(nèi),因其他同學(xué)已經(jīng)報(bào)滿(mǎn)了該題目而浪費(fèi)學(xué)生的選題時(shí)間.

        下面以站內(nèi)短信即時(shí)提醒功能為例,說(shuō)明服務(wù)器推送技術(shù)在本系統(tǒng)中的具體實(shí)現(xiàn).本系統(tǒng)站內(nèi)短信新消息的提醒是采用在母版頁(yè)上顯示閃爍的GIF圖標(biāo)來(lái)提醒用戶(hù)的.母版頁(yè)的核心代碼如下:

        在<head>標(biāo)簽中添加以下javascript:

        <script type="text/javascript">

        function SetContent()

        window.document.get ElementById("div New Message").inner HTML="<a href='list My-New Message.a(chǎn)spx'><img width=30 height=20 src='imgs/message.gif'/></a>";

        //在<body>中需要有一個(gè)名為div New Message的標(biāo)簽,該標(biāo)簽就是用來(lái)顯示新消息提醒圖標(biāo)的

        function init(){

        var ifr1= new ActiveXObject("htmlfile");//創(chuàng)建htmlfile對(duì)象

        ifr1.open();//打開(kāi)該對(duì)象

        var iDiv=ifr1.createElement("div");//在該htmlfile對(duì)象中創(chuàng)建一個(gè)div標(biāo)簽

        ifr1.a(chǎn)ppendChild(iDiv);//將創(chuàng)建的div添加到htmlfile

        ifr1.parent Window.SetContent=SetContent;//注冊(cè)方法

        iDiv.inner HTML = "<iframe src='message.a(chǎn)spx'></iframe>";//在上面創(chuàng)建的div里添加iframe

        ifr1.close();//關(guān)閉htmlfile對(duì)象

        setInterval(function(){},10000);//循環(huán)執(zhí)行,因htmlfile對(duì)象存在超時(shí)的問(wèn)題

        init();執(zhí)行init函數(shù)

        </script>

        在init函數(shù)中提到的message.a(chǎn)spx就是要和服務(wù)器保持長(zhǎng)連接的頁(yè)面,其后臺(tái)C#代碼如下 :

        Application[Session["username"].ToString()]= Response;//Session["username"]會(huì)在用戶(hù)登錄時(shí)產(chǎn)生,存儲(chǔ)用戶(hù)名,該行代碼的目的是保存每一個(gè)登錄用戶(hù)及其長(zhǎng)連接頁(yè)面的Response對(duì)象.

        System.Threading.Thread.Sleep (System.Threading.Timeout.Infinite);//使該頁(yè)面永不完成,以實(shí)現(xiàn)長(zhǎng)連接

        發(fā)送站內(nèi)消息的發(fā)送按鈕事件代碼如下:

        for (int i = 0;i < Application.All Keys.Length;i++)//遍歷各在線(xiàn)用戶(hù)的Response對(duì)象

        string name= Application.All Keys[i];//獲得Application的鍵,即用戶(hù)名

        Http Response Response=Application[name]as Http Response;//獲得該用戶(hù)的Response

        if(Response!= null && Response.IsClientConnected)

        for (int j= 0;j< cbl User List.Items.Count;j++)//遍歷短信的目標(biāo)用戶(hù)列表if (cbl User List.Items [j].Selected&&cbl User List.Items[j].Value==name)

        {//如果當(dāng)前Response所屬用戶(hù)是短信接受人,則執(zhí)行推送

        Response.Write("<script>parent.SetContent()</script>");

        Response.Flush();

        e

        lse

        Application.Remove(name);

        總體來(lái)說(shuō),服務(wù)器推送功能由3個(gè)重要的環(huán)節(jié)來(lái)實(shí)現(xiàn):

        (1)構(gòu)造長(zhǎng)連接頁(yè)面,時(shí)刻保持與服務(wù)器的連接,隨時(shí)接受服務(wù)器“推”來(lái)的數(shù)據(jù);

        (2)保管每一個(gè)長(zhǎng)連接,推送時(shí)才能有目的地進(jìn)行;

        (3)需要htmlfile對(duì)象來(lái)避免下載進(jìn)度條持續(xù)下載的缺陷.

        5 結(jié) 語(yǔ)

        本系統(tǒng)能夠完成軟件學(xué)院實(shí)踐環(huán)節(jié)課題申報(bào)全業(yè)務(wù)過(guò)程的自動(dòng)化管理,大大提高了工作效率,有效保證了數(shù)據(jù)的及時(shí)性和準(zhǔn)確性.本系統(tǒng)自2006年開(kāi)始投入試運(yùn)行,4年間經(jīng)過(guò)了3個(gè)版本的升級(jí)與完善,目前運(yùn)行穩(wěn)定,業(yè)務(wù)邏輯嚴(yán)謹(jǐn),計(jì)算準(zhǔn)確.

        [1]李園,陳世平.MVC設(shè)計(jì)模式在ASP.NET平臺(tái)中的應(yīng)用[J].計(jì)算機(jī)工程與設(shè)計(jì),2009(30):3180-3184.

        [2]甄鐳 .NET與設(shè)計(jì)模式[M].北京:電子工業(yè)出版社,2005.

        [3]修桂華,李紅光.AJAX技術(shù)在 ASP.NET開(kāi)發(fā)中的應(yīng)用[J].科技資訊,2009(33):7-8.

        [4]Jason Bell,Mike Clark.ASP.NET程序員參考手冊(cè)[M].北京:清華大學(xué)出版社,2002.

        Designing and Realizing of ASP.NET Based Project Declaring System for Practicing Courses of Software College

        ZHAO Dong,GAO Liang
        (Zhongyuan University of Technology,Zhengzhou 450007,China)

        This article discusses the framework,function modules and the key thchniques of project declaring system for practicing courses,which was designed from the real working flow of software college and aimed at robotization and informationization of project declaring.The system was designed and realized by ASP.NET,AJAX and C#.NET,which can automaticly process teacher’s opening project,manager’s auditing project,students’declaring project and teacher’s arrpoving students,which can improve the working efficiency of project declaring.

        project declaring;practicing courses;3-tier application

        TP315

        A

        10.3969/j.issn.1671-6906.2011.02.018

        1671-6906(2011)02-0066-05

        2011-02-27

        趙 冬(1976-),女,河南鄭州人,講師,碩士.

        猜你喜歡
        題庫(kù)功能模塊管理員
        我是小小午餐管理員
        “勾股定理”優(yōu)題庫(kù)
        我是圖書(shū)管理員
        我是圖書(shū)管理員
        “軸對(duì)稱(chēng)”優(yōu)題庫(kù)
        可疑的管理員
        “軸對(duì)稱(chēng)”優(yōu)題庫(kù)
        “整式的乘法與因式分解”優(yōu)題庫(kù)
        基于ASP.NET標(biāo)準(zhǔn)的采購(gòu)管理系統(tǒng)研究
        輸電線(xiàn)路附著物測(cè)算系統(tǒng)測(cè)算功能模塊的研究
        人妻无码人妻有码不卡| 精品国产一二三产品区别在哪 | 大又黄又粗又爽少妇毛片| 丰满少妇人妻久久精品| 国产成人精品久久综合| 在线综合网| 久久伊人精品只有这里有| 中文字幕在线看精品乱码| 国自产精品手机在线观看视频 | 熟妇人妻精品一区二区视频| 浪货趴办公桌~h揉秘书电影| 久久久久亚洲精品天堂| 久久国产精品免费一区六九堂| av高潮一区二区三区| 7777色鬼xxxx欧美色妇| 亚洲日韩欧美国产另类综合| 中国免费一级毛片| 成人av综合资源在线| 强奷乱码中文字幕| 国产在线高清视频| 一区二区三区在线观看视频免费| 寂寞人妻渴望被中出中文字幕| 97在线观看| 天堂av一区二区在线观看| 日韩一级精品视频免费在线看| 色综合av综合无码综合网站 | 免费人妻精品一区二区三区| 日韩第四页| 久久精品国产亚洲av一| 国产人妻高清国产拍精品| 色翁荡息又大又硬又粗又视频图片| 久久视频在线| 日韩在线免费| 精品国产夫妻自拍av| 久久精品成人一区二区三区| 99久久国产综合精品麻豆| 成人国产在线播放自拍| 一区二区国产av网站| 撕开奶罩揉吮奶头视频| 久久99精品久久久久九色| 日本一区二区不卡在线|