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

        ?

        基于C#的在線考試系統(tǒng)設(shè)計

        2014-07-24 14:47:39梁紅碩
        無線互聯(lián)科技 2014年5期
        關(guān)鍵詞:數(shù)據(jù)庫系統(tǒng)設(shè)計

        梁紅碩

        摘 要:隨著校園網(wǎng)的普及,以及傳統(tǒng)考試方式逐漸凸顯的弊端,基于網(wǎng)絡(luò)的在線考試系統(tǒng)越來越受到人們的青睞。本系統(tǒng)采用C/S結(jié)構(gòu)的“胖服務(wù)器”模式,服務(wù)器端承擔(dān)了考生的身份驗證、題目抽取、考生的考試監(jiān)控以及數(shù)據(jù)庫的管理等大部分工作,而客戶端僅僅承擔(dān)了考生的考試認(rèn)證,不保存任何數(shù)據(jù)。本系統(tǒng)設(shè)計主要采用C#的三層架構(gòu)模式,構(gòu)建了數(shù)據(jù)訪問層、業(yè)務(wù)邏輯層和表示層的三層體系架構(gòu)。

        關(guān)鍵詞:C#;在線;考試系統(tǒng)

        考試是教學(xué)工作的一項重要組成部分,是對學(xué)生學(xué)習(xí)情況以及教師的教學(xué)情況的考察。而傳統(tǒng)的考試需要教師投入大量的經(jīng)歷,要經(jīng)過出題、印卷、閱卷等多個環(huán)節(jié),還存在紙張、設(shè)備的浪費(fèi)。而基于網(wǎng)絡(luò)的在線考試系統(tǒng)越來越受人們青睞,借助網(wǎng)絡(luò)、數(shù)據(jù)庫等技術(shù)實現(xiàn)的在線考試,既省時省力,還節(jié)約了資源。該系統(tǒng)中試卷可以根據(jù)試題庫中的內(nèi)容自動生成,避免學(xué)生的押題;題目采用的是標(biāo)準(zhǔn)化試題,方便計算機(jī)自主閱卷,大大提高了閱卷效率。

        本系統(tǒng)采用了C/S結(jié)構(gòu)的“胖服務(wù)器”模式,服務(wù)器端承擔(dān)來了大部分工作,主要包括考生的身份驗證、題目的抽取、考生的考試監(jiān)控以及數(shù)據(jù)庫的管理等工作;客戶端僅僅完成考生的考試認(rèn)證,不保存任何數(shù)據(jù),它所完成的大部分功能都是通過調(diào)用服務(wù)器的遠(yuǎn)程對象來實現(xiàn)的。

        1 在線考生系統(tǒng)功能設(shè)計

        該系統(tǒng)用戶主要分為兩類:管理員(老師兼),考生(學(xué)生),其中管理員主要完成考試題目的管理、成績?yōu)g覽、考生信息的管理以及對服務(wù)器的管理,如上功能集中在服務(wù)器端,如圖1所示。而考生主要進(jìn)行登錄、答題、題目標(biāo)記、交卷的操作,此功能集中在客戶端。

        2 三層模式設(shè)計實現(xiàn)

        本系統(tǒng)采用經(jīng)典的三層架構(gòu),即數(shù)據(jù)訪問層、業(yè)務(wù)邏輯層和表示層。其中,數(shù)據(jù)訪問層主要實現(xiàn)對數(shù)據(jù)庫的操作;業(yè)務(wù)邏輯層主要完成業(yè)務(wù)邏輯的封裝,對表示層隱藏實現(xiàn);表示層主要提供用戶的操作界面,具體的業(yè)務(wù)邏輯由業(yè)務(wù)邏輯層實現(xiàn)。

        2.1 數(shù)據(jù)庫訪問設(shè)計

        2.1.1 通用數(shù)據(jù)訪問類設(shè)計

        由于每次訪問數(shù)據(jù)庫的基本步驟是類似的,比如與數(shù)據(jù)庫的連接操作、執(zhí)行非查詢命令、執(zhí)行返回結(jié)果集的查詢命令等,所以首先設(shè)計一個通用類庫,來完成對數(shù)據(jù)庫的這些基本訪問操作。對SQL Server的訪問類叫SQLServerHelper,包含五個方法:ExecuteSQLNonQuery、ExecuteSQLReader、ExecuteSQLScalar、ExecuteProcederNonQuery和ExecuteProcederReader,分別用于執(zhí)行SQL語句不返回結(jié)果、執(zhí)行SQL語句返回只讀、以正向方式訪問數(shù)據(jù)庫的DataReader對象、執(zhí)行SQL語句返回標(biāo)量查詢、執(zhí)行存儲過程不返回結(jié)果、執(zhí)行存儲過程返回DataReader。這樣,對數(shù)據(jù)庫的訪問,直接調(diào)用相應(yīng)方法即可完成。

        2.1.2 數(shù)據(jù)訪問層的ORM實現(xiàn)

        ORM為Object/Relation Mappinga的簡稱,即對象-關(guān)系映射,是隨著面向?qū)ο笳Z言的發(fā)展而產(chǎn)生的。C#語言是面向?qū)ο蟮某绦蛟O(shè)計語言,業(yè)務(wù)實體為對象,而現(xiàn)在通用的數(shù)據(jù)庫是關(guān)系型數(shù)據(jù),業(yè)務(wù)實體為關(guān)系數(shù)據(jù),因此開發(fā)語言和數(shù)據(jù)庫之間存在不匹配現(xiàn)象。而解決這個問題的方法就是建模。建模是一個很大的話題,不同復(fù)雜度的程序有不同的建模方法,建模需要確定的內(nèi)容就是需要處理的問題領(lǐng)域包含哪些實體。經(jīng)過分析,該系統(tǒng)抽象出四個實體類,分別是Administrator(管理員、教師)、Examinee(考生)、Exercise(考題)和Grade(成績)4個類。

        2.1.3 數(shù)據(jù)訪問層設(shè)計

        數(shù)據(jù)訪問層主要負(fù)責(zé)數(shù)據(jù)庫的訪問,即完成對數(shù)據(jù)庫的增加、修改、刪除、查詢等操作。因為分層結(jié)構(gòu)中各個層職能明確,所以該層的主要功能是通過獲取參數(shù),執(zhí)行相應(yīng)命令,然后返回結(jié)果。該層主要設(shè)計4個類:AdminDAL、ExamineeDAL、ExerciseDAL和GradeDAL,分別完成對用戶的管理、考生的管理、題目的管理和成績的管理。其中ExamineeDAL的設(shè)計如下:

        public class ExamineeDAL

        { public static bool AddExaminee(Examinee examiee) { } //添加考生

        public static bool DeleteExamineeById(string id) { } //根據(jù)id刪除考生

        ...... }

        2.2 業(yè)務(wù)邏輯層設(shè)計

        業(yè)務(wù)邏輯層主要封裝相關(guān)的業(yè)務(wù)規(guī)則,實現(xiàn)過程中的數(shù)據(jù)訪問操作通過調(diào)用數(shù)據(jù)訪問層實現(xiàn)。它對流入的邏輯性數(shù)據(jù)的正確性及有效性負(fù)責(zé),對流出的邏輯性數(shù)據(jù)及用戶數(shù)據(jù)不負(fù)責(zé)。由于本系統(tǒng)業(yè)務(wù)較簡單,該層并沒有實質(zhì)內(nèi)容,只是簡單的調(diào)用數(shù)據(jù)訪問層的方法。對應(yīng)數(shù)據(jù)訪問層設(shè)計了AdministratorBLL、ExamineeBLL、ExercieseBLL和GradeBLL四個類,完成了相應(yīng)的業(yè)務(wù)邏輯訪問。

        2.3 表示層設(shè)計

        表示層是一個系統(tǒng)的門面,負(fù)責(zé)完成與用戶的交互,一方面接收用戶的輸入,同時將輸出數(shù)據(jù)呈現(xiàn)給用戶,并決定呈現(xiàn)的樣式。它對用戶數(shù)據(jù)的有效性負(fù)責(zé),同時管理會話及頁面跳轉(zhuǎn)等邏輯。

        3 遠(yuǎn)程對象設(shè)計

        本系統(tǒng)采用Remoting技術(shù)來完成遠(yuǎn)程通信,Remoting技術(shù)是在.NET平臺下提供的用于開發(fā)分布式應(yīng)用程序的技術(shù)框架,可以在不同應(yīng)用程序域之間相互通信。該系統(tǒng)中客戶端是通過調(diào)用位于服務(wù)器端的遠(yuǎn)程對象來獲取服務(wù)的,因此設(shè)計供客戶端調(diào)用的遠(yuǎn)程對象是該部分的重要內(nèi)容。

        客戶端在登錄時需要驗證考生信息,由于客戶端沒有數(shù)據(jù)庫,無法獲取考生信息,需要把驗證功能放在服務(wù)器端。在ServerObject類中添加ExamineeValidate方法,代碼如下:

        public Examinee ExamineeValidate(string name,string passwd)

        { Examinee examer=ExamineeBll.GetExamineeByNameNumber(name,passwd);

        if(examer!=null) ExamineeOnlineManager.GetInstant().RegisterExaminee(examer);

        return examer; }

        登錄成功后,考生便進(jìn)入到考試窗體進(jìn)行答題,而考生題目、考試時間等信息也來源于服務(wù)器端,所以還需要添加獲取考生信息和考生題目的方法。

        4 結(jié)語

        在線考生系統(tǒng)是一個功能強(qiáng)大的基于通信的應(yīng)用系統(tǒng),本設(shè)計采用了C/S模式,同時應(yīng)用了C#的三層架構(gòu),構(gòu)建了數(shù)據(jù)訪問層、業(yè)務(wù)邏輯層和表示層的三層體系架構(gòu),基于篇幅原因,沒有給出客戶端、服務(wù)器端的詳細(xì)設(shè)計。

        [參考文獻(xiàn)]

        [1]段海清.基于NET平臺的分成架構(gòu)與設(shè)計模式的設(shè)計與實現(xiàn).碩士論文.電子科技大學(xué),2013.11.

        [2]陳青華.C#網(wǎng)絡(luò)開發(fā)項目教程.電子工業(yè)出版社,2012.12.

        猜你喜歡
        數(shù)據(jù)庫系統(tǒng)設(shè)計
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機(jī)系統(tǒng)
        ZC系列無人機(jī)遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        瞞天過海——仿生設(shè)計萌到家
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        設(shè)計秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設(shè)計叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        數(shù)據(jù)庫
        財經(jīng)(2017年2期)2017-03-10 14:35:35
        數(shù)據(jù)庫
        財經(jīng)(2016年15期)2016-06-03 07:38:02
        數(shù)據(jù)庫
        財經(jīng)(2016年3期)2016-03-07 07:44:46
        精品少妇ay一区二区三区| 午夜国产精品视频免费看电影| 亚洲视频在线视频在线视频| 亚洲天堂久久午夜福利| 久热re这里精品视频在线6| 无码一区二区三区老色鬼| 人妻无码人妻有码不卡| 女人天堂国产精品资源麻豆| 呦系列视频一区二区三区| 精品视频无码一区二区三区| 亚洲国产区男人本色| 亚洲性爱区免费视频一区| 亚洲综合av一区在线| 真实夫妻露脸自拍视频在线播放 | 在线视频你懂的国产福利| 午夜日本精品一区二区| 久久久天堂国产精品女人| 人妻夜夜爽天天爽| 国产污污视频| 亚洲av一区二区网址| 亚洲欧洲免费无码| 久久无码人妻精品一区二区三区 | 少妇饥渴偷公乱a级无码| 国产精品久久久久尤物| 最新国产精品国产三级国产av| 国产人妖乱国产精品人妖| 人人妻人人澡人人爽欧美二区| 日韩国产精品一本一区馆/在线| 精品少妇一区二区三区入口| 国产人成无码视频在线观看| 天天躁人人躁人人躁狂躁| 米奇亚洲国产精品思久久| 久久精品女人av一区二区| 精品av熟女一区二区偷窥海滩| 国产精品免费久久久久软件| 久久国产精品超级碰碰热| 国产丝袜长腿美臀在线观看| 国产农村乱辈无码| 乱子伦av无码中文字幕| 青青操视频手机在线免费观看| 含紧一点h边做边走动免费视频|