基于WEB的傳感器題庫設(shè)計畢業(yè)設(shè)計_第1頁
基于WEB的傳感器題庫設(shè)計畢業(yè)設(shè)計_第2頁
基于WEB的傳感器題庫設(shè)計畢業(yè)設(shè)計_第3頁
基于WEB的傳感器題庫設(shè)計畢業(yè)設(shè)計_第4頁
基于WEB的傳感器題庫設(shè)計畢業(yè)設(shè)計_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

畢業(yè)論文(設(shè)計)題目基于WEB的傳感器題庫設(shè)計院系自動控制系專業(yè)測控技術(shù)與儀器學(xué)生姓名學(xué)號指導(dǎo)教師職稱二O一三年五月二十日④刪除模塊系統(tǒng)管理員用戶具有此權(quán)限,管理員用戶可以根據(jù)自己的需要進(jìn)行刪除試題的操作,而對于數(shù)量較大的試題庫則通過輸入或選擇條件,就可達(dá)到刪除那些過時的無用試題的功能。2.3系統(tǒng)的數(shù)據(jù)庫2.3.1數(shù)據(jù)庫的設(shè)計原則數(shù)據(jù)存放于數(shù)據(jù)庫中,能不能夠高校的利用數(shù)據(jù)庫關(guān)鍵在于能夠?qū)?shù)據(jù)庫進(jìn)行合理的邏輯設(shè)計。從而達(dá)到建立完善的數(shù)據(jù)管理系統(tǒng),方便用戶使用。首先對數(shù)據(jù)庫設(shè)計原則進(jìn)行說明:(1)考慮到數(shù)據(jù)庫是同時為多個用戶服務(wù)的,因此數(shù)據(jù)庫的共享性是必不可少的。(2)除了共享性,各個數(shù)據(jù)之間還應(yīng)該相互獨(dú)立,因為并不是所有的用戶都需要所有的數(shù)據(jù),通常都只是少部分用戶需要。(3)設(shè)計數(shù)據(jù)庫時還應(yīng)該充分考慮數(shù)據(jù)庫的安全性和使用權(quán)限,避免因為設(shè)計不當(dāng)而造成的不可預(yù)知的損失。(4)正確認(rèn)識數(shù)據(jù)冗余,主鍵與外鍵在多表中的重復(fù)出現(xiàn),不屬于數(shù)據(jù)冗余,這個概念必須清楚,事實上有許多人還不清楚。非鍵字段的重復(fù)出現(xiàn),才是數(shù)據(jù)冗余,而且是一種低級冗余,即重復(fù)性的冗余。高級冗余不是字段的重復(fù)出現(xiàn),而是字段的派生出現(xiàn)。要善于識別與正確處理多對多的關(guān)系(5)善于識別與正確處理多對多的關(guān)系。若兩個實體之間存在多對多的關(guān)系,則應(yīng)消除這種關(guān)系。消除的辦法是,在兩者之間增加第三個實體。這樣,原來一個多對多的關(guān)系,現(xiàn)在變?yōu)閮蓚€一對多的關(guān)系。要將原來兩個實體的屬性合理地分配到三個實體中去。這里的第三個實體,實質(zhì)上是一個較復(fù)雜的關(guān)系,它對應(yīng)一張基本表。2.3.2數(shù)據(jù)庫表的設(shè)計數(shù)據(jù)庫表的設(shè)計部分是本系統(tǒng)實現(xiàn)網(wǎng)上考試的主要部分?;赪eb的題庫系統(tǒng)需要使用數(shù)據(jù)庫存儲系統(tǒng)的各種數(shù)據(jù),需要在數(shù)據(jù)庫中定義多個表,表間通過鍵相互聯(lián)系。本題庫采用的是SQLserver構(gòu)建數(shù)據(jù)庫,一共建立了四個表:管理員表、選擇表、填空表以及判斷表。管理員表用于存儲管理員用戶的信息,如圖2.2所示。選擇表存儲題庫的選擇題部分,如圖2.3所示。填空表存儲題庫的填空題部分,如圖2.4所示。判斷表存儲題庫的判斷題部分,如圖2.5所示。學(xué)生登錄時,不需要進(jìn)行任何身份驗證,直接進(jìn)入在線試題的測試,由服務(wù)器自動抽取試題并顯示到學(xué)生用戶的屏幕上。當(dāng)管理員用戶登陸時,首先提示要輸入驗證信息,當(dāng)輸入用戶信息后,通過sql語言查詢管理員表,以此判斷此管理員用戶是否允許進(jìn)入,如果不合法,則顯示提示信息,如果合法,則進(jìn)入考試管理系統(tǒng)。管理員用戶進(jìn)入后可以通過程序?qū)υ陬}庫內(nèi)容進(jìn)行添加,修改和刪除。圖2.2管理員表結(jié)構(gòu)圖2.3選擇題表結(jié)構(gòu)圖2.4填空題表結(jié)構(gòu)圖2.5判斷題表結(jié)構(gòu)基于Web的題庫系統(tǒng)具體設(shè)計與實現(xiàn)3.1基于Web的題庫系統(tǒng)的主要工作流程3.1.1學(xué)生用戶功能流程學(xué)生用戶無需身份驗證就可以直接進(jìn)入基于Web的傳感器題庫系統(tǒng)。一旦進(jìn)入在線考試模式,系統(tǒng)就會自動開始計時(本系統(tǒng)中考生的考試時間暫設(shè)定為10分鐘)。時間一到系統(tǒng)就會自動提交試卷(在時間到達(dá)之前,學(xué)生用戶也可以自行提前交卷),最后進(jìn)入自動批閱試卷系統(tǒng),給出學(xué)生用戶在各個環(huán)節(jié)的考分并附上相關(guān)的參考答案,這樣一來學(xué)生用戶的考試信息會自動保存到數(shù)據(jù)庫中。在考試過程中,學(xué)生用戶進(jìn)入該傳感器題庫后方可直接答題,而且可以不按題目順序答題,整個操作過程簡單方便,易于接受。3.1.2管理員用戶功能流程管理員用戶可以通過相關(guān)的身份驗證進(jìn)入題庫管理系統(tǒng),對各種類型的試題進(jìn)行查詢、添加、刪除、修改等。管理員的題庫管理功能流程如圖3.1所示。開始開始身份驗證身份驗證成功N成功Y試題的題型選擇試題的題型選擇試題的修改、刪除或添加試題的修改、刪除或添加結(jié)束結(jié)束圖3.1管理功能流程3.2學(xué)生用戶考試功能實現(xiàn)3.3.1組卷功能系統(tǒng)界面整齊、美觀,操作簡單、方便。用戶可以通過點擊如圖3.2所示的“開始答題”,無需進(jìn)行任何身份驗證直接進(jìn)行在線答題。圖3.2考生登錄試卷都是由系統(tǒng)自動組合生成的,不需要管理員或?qū)W生進(jìn)行任何操作。每份試卷的內(nèi)容包括20道選擇題,共計40分;10道判斷題,共計20分;10道填空題,共計40分。試卷的滿分記為100分系統(tǒng)自動組卷的主要代碼如下:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Configuration;usingSystem.Data.SqlClient;usingSystem.Data;usingFelomeng.VSMSimilarity;publicpartialclass_Default:System.Web.UI.Page{protectedintsingeCount=1;protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){stringstrConn=ConfigurationManager.ConnectionStrings["DefaultConnectionString"].ToString();//隨機(jī)選取20個選擇題DataSetds1=SQLHelper.ExecuteReader(strConn,CommandType.Text,"selecttop20*fromChoiceQuestionorderbynewid()",null);RpChoice.DataSource=ds1;RpChoice.DataBind();Session["choiceData"]=ds1;//隨機(jī)選取10個判斷題DataSetds2=SQLHelper.ExecuteReader(strConn,CommandType.Text,"selecttop10*fromDeterminQuestionorderbynewid()",null);RpDetermine.DataSource=ds2;RpDetermine.DataBind();Session["determineData"]=ds2;//隨機(jī)選取20個填空題這里我簡單介紹一下選擇題的生成,選擇好一道題目后開始在頁面上顯示這道題目:<tablecellspacing="1"style="border-collapse:collapse"bordercolor="#C0C0C0"width="100%"id="AutoNumber2"cellpadding="0">循環(huán)生成下一道題目:<%j=j+1rs.movenextNextrs.closeSetrs=nothing%>這樣,選擇題就已經(jīng)生成了,生成其他題目的算法跟選擇題是一樣。生成好試卷后,要將download設(shè)為已經(jīng)生成的狀態(tài),即不允許刷新了。為了計分方便,采用了一些隱藏的input標(biāo)簽將考試信息傳入下個頁面。以下是本基于Web的題庫系統(tǒng)的考試模塊,包括選擇題如圖3.3所示,要求學(xué)生用戶從四個答案中選出唯一正確答案;判斷題如圖3.4所示,判斷一個命題的真與假;填空題如圖3.5所示,在給定欄內(nèi)輸入指定的內(nèi)容。正如上面介紹的,這些題目都是系統(tǒng)自動生成的,無需進(jìn)行任何操作。圖3.3部分選擇題選擇題的部分實現(xiàn)代碼:<strong><em>選擇題(每空2分)</em></strong></td></tr><tr><td><asp:RepeaterID="RpChoice"runat="server"><ItemTemplate><a> <%#singeCount++%>.<%#Eval("Subject")%><asp:HiddenFieldrunat="server"Value='<%#Eval("Id")%>ID="Id"/><asp:HiddenFieldrunat="server"Value='<%#Eval("Answer")%>'ID="Answer"/></a><div>    A.<asp:RadioButtonID="rbA"GroupName="option"runat="server"Text='<%#Eval("A")%>/>//在選項A中輸入相關(guān)內(nèi)容<br/>    B.<asp:RadioButtonID="rbB"GroupName="option"runat="server"Text='<%#Eval("B")%>/>//在選項B中輸入相關(guān)內(nèi)容<br/>    C.<asp:RadioButtonID="rbC"GroupName="option"runat="server"Text='<%#Eval("C")%>'/>//在選項C中輸入相關(guān)內(nèi)容<br/>    D.<asp:RadioButtonID="rbD"GroupName="option"runat="server"Text='<%#Eval("D")%>'/>//在選項D中輸入相關(guān)內(nèi)容</div></ItemTemplate></asp:Repeater></td></tr><tr>圖3.4部分判斷題判斷題的部分實現(xiàn)代碼:<tdclass="auto-style4"><strong><em>判斷題(每空2分)</em></strong></td></tr><tr><td><asp:RepeaterID="RpDetermine"runat="server"><ItemTemplate><a> <%#singeCount++%>.<%#Eval("Subject")%><asp:HiddenFieldrunat="server"Value='<%#Eval("Id")%>ID="Id"/><asp:HiddenFieldrunat="server"Value='<%#Eval("Answer")%>'ID="Answer"/></a><div>    <asp:RadioButtonID="rbA"GroupName="option"runat="server"Text="對"/>//判斷該選項的內(nèi)容,若是正確的,則選“對”<br/>    <asp:RadioButtonID="rbB"GroupName="option"runat="server"Text="錯"/>//判斷該選項的內(nèi)容,若是錯誤的,則選“錯”</div></ItemTemplate></asp:Repeater></td></tr><tr>圖3.5部分填空題填空題的部分實現(xiàn)代碼:<tdclass="auto-style4"><strong><em>填空題(每題4分)<每個答案之間用','隔開></em></strong></td></tr><tr><td><asp:RepeaterID="RpFillBlank"runat="server"><ItemTemplate><a> singeCount++#Eval("Subject")</a><div><asp:TextBoxID="TbxAnswer"runat="server"Width="1000px"Style="border-bottom:gray1pxsolid"BorderStyle="None"></asp:TextBox></div></ItemTemplate></asp:Repeater></td></tr><tr>3.3.2計時功能本基于Web的題庫系統(tǒng)設(shè)置限時為10分鐘,如圖3.6所示,若超過10分鐘,無論考試是否答題結(jié)束,系統(tǒng)都會自動提交試卷。系統(tǒng)需要完成的幾個重要功能是:首先生成考試時試卷中的題目,然后計時,同時還要防刷新。整個頁面其實就是一個大的表單,內(nèi)嵌一個計時頁面。表單只需要在頁面上做好一個然后通過循環(huán)就可實現(xiàn)。圖3.6系統(tǒng)計時界面下面是控制考試時間的部分核心代碼:<asp:ContentID="Content1"ContentPlaceHolderID="CphMain"runat="Server"><!DOCTYPEhtml><htmlxmlns="/1999/xhtml"><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><title>傳感器試題在線測試</title>DataSetds3=SQLHelper.ExecuteReader(strConn,CommandType.Text,"selecttop10*FROMFillBlankQuestionorderbynewid()",null);RpFillBlank.DataSource=ds3;RpFillBlank.DataBind();Session["fillBlankData"]=ds3;//設(shè)置考試時間為10分鐘LbEndTime.Text=DateTime.Now.Add(newTimeSpan(0,10,0)).ToString();BtnSubmit.Attributes.Add("OnClick","javascript:returnconfirm('您確定提交嗎?');");}}protectedvoidTimer1_Tick(objectsender,EventArgse){//啟動定時器if(DateTime.Now.ToString()==LbEndTime.Text){Timer1.Enabled=false;ComputeScore();Response.Redirect("Score.aspx");}LbTime.Text=DateTime.Now.ToString();}protectedvoidBtnSubmit_Click(objectsender,EventArgse){ComputeScore();Response.Redirect("Score.aspx");}l1"runat="server"><ContentTemplate><asp:TimerID="Timer1"runat="server"OnTick="Timer1_Tick"Interval="1000"/>當(dāng)前時間:<asp:LabelID="LbTime"runat="server"></asp:Label> 交卷時間:<asp:LabelID="LbEndTime"runat="server"></asp:Label> 考試時間:10分鐘 總分:100分3.3.3學(xué)生查詢成績頁面在考試結(jié)束、考生交卷后系統(tǒng)會馬上進(jìn)入閱卷功能,生成成績。具體就是打開題庫數(shù)據(jù)表,對比每一道題目的答案,累加求和即可得到成績。提交試卷之后,系統(tǒng)會自動給考生閱卷評分,顯示綜合總分的同時也會顯示選擇題、填空題以及判斷題的具體分?jǐn)?shù),以便考試自行參考,如圖3.7所示。圖3.7系統(tǒng)自動評分與此同時,系統(tǒng)還會顯示相關(guān)的參考答案給考生,以便考生提高自己的學(xué)習(xí)水平。如圖3.8所示。圖3.8系統(tǒng)參考答案展示3.4管理員用戶功能實現(xiàn)3.4.1管理員登錄的實現(xiàn)為了保證系統(tǒng)的安全,要求對管理員的身份進(jìn)行驗證,即在使用本系統(tǒng)時要求用戶輸入用戶名與密碼。用戶名與密碼不符則不能進(jìn)入本系統(tǒng),其操作過程如下圖3.9所示,管理員具體登錄界面如圖3.10所示。用戶名和密碼用戶名和密碼登錄界面面登錄界面面驗證模塊系統(tǒng)管理界面輸入有誤正確圖3.9管理員登錄流程圖3.10管理員界面管理員登錄頁面的部分代碼:usingSystem;usingSystem.Collections.Generic;usingSystem.Configuration;usingSystem.Data.SqlClient;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;publicpartialclassLogin:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){this.TbxId.Focus();}protectedvoidBtnLogin_Click(objectsender,EventArgse){//獲取管理員賬號stringid=TbxId.Text.ToString();//獲取密碼stringpassword=TbxPass.Text.ToString();//讀取連接字符串stringstrConn=ConfigurationManager.ConnectionStrings["DefaultConnectionString"].ToString();

//創(chuàng)建連接對象SqlConnectionconn=newSqlConnection(strConn);//執(zhí)行SQL語句stringsql="select*fromAdminwhereId='"+id+"'andPassword='"+password+"'";SqlCommandcmd=newSqlCommand(sql,conn);conn.Open();//判斷用戶名密碼是否匹配if(cmd.ExecuteScalar()!=null){Session["ID"]=id;Session["PASS"]=password;//登陸成功Response.Redirect("Index.aspx");}Else{//登錄失敗返回重新登陸Response.Write("<script>alert('登錄失敗,請重新登錄!')</script>");this.TbxId.Text="";this.TbxPass.Text="";this.TbxId.Focus();}conn.Close();}protectedvoidBtnReset_Click(objectsender,EventArgse)

{//清空輸入框this.TbxId.Text="";this.TbxPass.Text="";this.TbxId.Focus();}3.4.2管理員題庫管理的實現(xiàn)進(jìn)行題庫管理時,可以分別到選擇題、判斷題、填空題選項中進(jìn)行分類操作。題庫管理的操作具體包括添加題目、刪除題目以及修改題目。其中添加題目如圖3.11所示。圖3.11添加題目基于Web的題庫系統(tǒng)的配置和測試4.1網(wǎng)站運(yùn)行環(huán)境4.1.1IIS的配置IIS全名為InternetInformationServer譯為“互聯(lián)網(wǎng)信息服務(wù)”,是一種WEB服務(wù)組建,它可以通過超文本傳輸協(xié)議傳輸信息,還可以通過配置以提供文件傳輸協(xié)議和其他服務(wù),如SMTP服務(wù)、NNTP服務(wù)等,分別用于網(wǎng)頁瀏覽、文件傳輸、新聞服務(wù)和郵件發(fā)送等方面,IIS使得在網(wǎng)絡(luò)上發(fā)布信息變得更加容易。一般系統(tǒng)中自帶有IIS但是沒有配置,因此首先我們要進(jìn)行IIS環(huán)境的配置,具體方法如下:(1)打開控制面板中的“程序和功能”,點擊“打開或關(guān)閉Windows功能”,如圖4.1所示。圖4.1IIS配置步驟1(2)點擊“Internet信息服務(wù)”復(fù)選框,選中IIS配置所需的環(huán)境。(3)安裝完成后打開控制面板中的“管理工具”,如圖4.2所示。4.2管理工具頁面(4)點擊Internet信息服務(wù)(IIS)管理器,右擊網(wǎng)站選擇“添加網(wǎng)站”設(shè)置網(wǎng)站的物理路徑、網(wǎng)站名稱等具體參數(shù)如圖4.3所示。圖4.3添加網(wǎng)站(5)此時完成網(wǎng)站配置,便可在瀏覽器輸入欄中輸入“http://localhost”來瀏覽網(wǎng)站。4.1.2網(wǎng)絡(luò)協(xié)議網(wǎng)站所遵循的網(wǎng)絡(luò)協(xié)議包括:超文本傳輸協(xié)議(HTTP)、IP協(xié)議、TCP協(xié)議和FTP文件傳送協(xié)議。4.2數(shù)據(jù)庫的配置(1)打開SQLServerManagementStudio,如4.4所示。圖4.4SQLServer(2)以Windows身份驗證方式登錄,如圖4.5所示。圖4.5身份驗證(3)還原數(shù)據(jù)庫,如圖4.6所示。圖4.6還原數(shù)據(jù)庫(4)添加數(shù)據(jù)庫備份文件,點擊確定,如圖4.7所示圖4.7添加數(shù)據(jù)庫備份(5)點擊確定即可還原數(shù)據(jù)庫,如圖4.8所示。4.8確認(rèn)還原數(shù)據(jù)庫4.3網(wǎng)站測試測試是為了發(fā)現(xiàn)程序的錯誤從而執(zhí)行程序的一個過程,成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤的測試。由于測試的目標(biāo)是暴露程序中錯誤,從心理學(xué)角度看,由程序的編寫者自己進(jìn)行測試是不恰當(dāng)?shù)?,因此在綜合測試階段通常由其他人員組成測試小組來完成測試工作。測試階段的根本任務(wù)是發(fā)現(xiàn)并改正軟件中的錯誤。設(shè)計測試方案是測試階段的關(guān)鍵技術(shù)問題,其基本目標(biāo)是選用盡可能少的高效測試數(shù)據(jù),作到盡可能完善的測試,從而盡可能多地發(fā)現(xiàn)軟件中的錯誤。軟件測試是在軟件投入運(yùn)行之前,對軟件需求分析,設(shè)計規(guī)格說明和編碼的最終復(fù)審,是軟件質(zhì)量保證的關(guān)鍵步驟。它是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程,或者說軟件測試是根據(jù)軟件開發(fā)各階段的規(guī)格說明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計一批測試?yán)樱▽ο到y(tǒng)進(jìn)行操作,看是否能有其預(yù)期的輸出結(jié)果)并利用這些測試?yán)尤ミ\(yùn)行程序,以發(fā)現(xiàn)程序錯誤的過程。本傳感器題庫在制作過程中,每完成一個模塊就會進(jìn)行一次測試。我重點檢測了系統(tǒng)管理員對題庫進(jìn)行管理的一系列功能,一開始發(fā)現(xiàn)刪除題目功能使用時影響其他模塊的功能,后來通過多項測試找到了刪除題目模塊出錯的地方并進(jìn)行了錯誤處理。通過多次測試,證明該基于Web的題庫系統(tǒng)具有可行性與可擴(kuò)充性。目前,其最大的缺陷在于只實現(xiàn)了試卷中選擇題、判斷題以及填空題部分,還沒有真正實現(xiàn)主觀題部分和真正的多媒體試卷。5.總結(jié)考試的網(wǎng)絡(luò)化可以方便我們在考試的有效期內(nèi),在任何地點參加考試,并立即給出客觀的成績,大大提高了教師的工作效率和學(xué)生的學(xué)習(xí)效率。在這幾個月的畢業(yè)設(shè)計里,本系統(tǒng)經(jīng)歷了開發(fā)所必須的每一步,盡管有時不能完全體會出來,就好像是自己直接進(jìn)行開發(fā),而沒有按常規(guī)進(jìn)行,其實不知不覺當(dāng)中已經(jīng)運(yùn)用了自己四年來所學(xué)的知識。以前我總是感到所學(xué)知識并不能與所用真正的合二為一、融會貫通,這次通過畢業(yè)設(shè)計的機(jī)會,我復(fù)習(xí)并強(qiáng)化了軟件的一些相關(guān)基本知識,以及ASP的編程技術(shù)等,體會了模塊化的設(shè)計思想。由于時間的關(guān)系,整體的功能并沒有很完善,管理員的管理模塊功能還有些欠缺,特別是缺少成績管理功能。在開發(fā)系統(tǒng)之前也沒有做過專業(yè)的市場調(diào)查,資料也不夠完善,考試系統(tǒng)的定位還不是很明確。總而言之,通過參考別人成功的系統(tǒng),我發(fā)現(xiàn)自己做的系統(tǒng)總會和人家相比還有一定的差距,無論是從界面的大方美觀方面還是從內(nèi)容的豐富多變方面看,成功的作品都做的比較豐富,相比下來我自己的就顯得些許單調(diào)了,這說明我的經(jīng)驗還不夠豐富,考慮問題還不夠周全,各方面都需要加強(qiáng),在總結(jié)中進(jìn)步。通過這次畢業(yè)設(shè)計,我確實學(xué)到了不少,同樣,也發(fā)現(xiàn)了自己身上存在著許多問題,這為我以后的學(xué)習(xí)也奠定了很重要的實踐基礎(chǔ),在教訓(xùn)中得到經(jīng)驗,這樣學(xué)習(xí)起來才會進(jìn)步的更快。通過此次對基于Web的題庫系統(tǒng)進(jìn)行測試,我學(xué)到了很多,個人覺得要開發(fā)出比較好的系統(tǒng)還要作到以下幾個方面:(1)對所開發(fā)的系統(tǒng)要充分的調(diào)查、研究及詳細(xì)分析,從系統(tǒng)全局出發(fā),然后再從系統(tǒng)功能模塊著手。只有系統(tǒng)的整體框架設(shè)計完成后,在做功能模塊時才不至于出現(xiàn)這樣那樣的問題,因為系統(tǒng)的整體框架已經(jīng)決定了你所做的功能模塊及功能模塊與功能模塊之間的關(guān)系。(2)詳細(xì)的數(shù)據(jù)庫設(shè)計方案,只有詳細(xì)的數(shù)據(jù)庫設(shè)計方案才能把數(shù)據(jù)庫設(shè)計的更符合系統(tǒng)要求,更具有擴(kuò)展性。這樣在進(jìn)行系統(tǒng)開發(fā)時,才能很好把握采用多表進(jìn)行功能設(shè)計時,不出現(xiàn)某個數(shù)據(jù)項有或沒有及數(shù)據(jù)類型是否一致、數(shù)據(jù)長度是否相等。從某種意義上,也提高了開發(fā)效率和降低了開發(fā)難度。(3)要對本系統(tǒng)所采用的開發(fā)工具有足夠的了解、豐富的理論知識和具備較強(qiáng)的動手能力。這樣,既能夠?qū)δ硞€功能的實現(xiàn),不僅僅是實現(xiàn)此功能,而是比較全面的對此功能進(jìn)行控制和擴(kuò)充,以達(dá)到更滿意的效果,進(jìn)而讓用戶操作起來簡捷、直觀、好用。又能夠把開發(fā)工具與數(shù)據(jù)庫的設(shè)計緊密結(jié)合起來,來進(jìn)一步提高系統(tǒng)的穩(wěn)定性。參考文獻(xiàn)[1]張華賈志娟.《項目開發(fā)實踐》[M].中國鐵道出版社,2010.164—178.[2]付強(qiáng).《基于ASP技術(shù)的教學(xué)網(wǎng)站的設(shè)計與實現(xiàn)》[D].哈爾濱工業(yè)大學(xué)碩士學(xué)位論文,2009.5-8.[3]王永皎.《SQLServer2008數(shù)據(jù)庫開發(fā)》[M].清華大學(xué)出版社,2008.215—223.[4]熊凱.《用C#開發(fā)基于MicrosoftSpeechSDK的語音應(yīng)用程序》[J].計算機(jī)時代.2009.1:40-42.[5]葉汶華程永靈.《ASP.NET網(wǎng)頁制作教程》[M].冶金工業(yè)出版社,2009.95—108.[6]張宏林.《VisualC++6.0程序設(shè)計與開發(fā)技術(shù)大全》[M].人民郵電出版社.2008.760-768.[7]常倬林.《從零開始學(xué)ASP.NET》[M].電子工業(yè)出版社,2011.213[8]駱家偉.《基于WEB的在線考試系統(tǒng)的實現(xiàn)》[J].先進(jìn)技術(shù)研究通報,2009,3:22-25.[9]劉秋生.《數(shù)據(jù)庫技術(shù)及其應(yīng)用》[M].南京:東南大學(xué)出版社,2010.113-119.[10]余金山.《SQLSERVER2008編程指南》[M].北京希望電子工業(yè)出版社,2009.26-34.[11]許宵羽王潤孝趙雪愛.《國家精品課程《大學(xué)英語》網(wǎng)站的構(gòu)建及思考》[J].中國電化教育,2008,1:58-59.[12]黃燕勤.《淺談網(wǎng)站設(shè)計的流程、原則和技巧》[J].廣西大學(xué)梧州分校學(xué)報,2006,13(3):58-61.[13]劉志峰.《軟件工程技術(shù)與實踐》[M].北京:電子工業(yè)出版社,2007.[14]張海藩.《軟件工程》[M].北京:人民郵電出版社,2008.128-134.[15]KlattDH.ReviewofText-to-SpeechConversionforEnglish[J].TheJournaloftheAcousticalSocietyofAmerica,2008,82(3):737-792.[16]Yu.Yatsenko,N.Hritonenko.Networkeconomicsandoptimalreplacementofagestructured.ITcapital[J].MathematicalMethodsofOperationsResearch,2009,65:483-497.[17]N.Hritonenko,Yu.Yatsenko.Creativedestructionofcomputingsystem:Analysisandmodeling[J].JournalofSupercomputing,2007,38,143-154.[18]SantenJanvan,Whenwillsyntheticspeechsoundhuman:Roleofrulesanddata[C].ProceedingsofInternationalConferenceofSpokenLanguageProcessing,2009,3:868-882附錄<asp:ContentID="Content1"ContentPlaceHolderID="CphMain"runat="Server"><!DOCTYPEhtml><htmlxmlns="/1999/xhtml"><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><title>傳感器試題在線測試</title><styletype="text/css">.auto-style1{width:100%;}.auto-style4{color:#0000CC;}.auto-style5{font-size:x-large;}.auto-style6{text-decoration:none;}</style></head><body><formid="form1"runat="server"><tableclass="auto-style1"><tr><tdstyle="color:#FF0000"><asp:ScriptManagerID="ScriptManager1"runat="server"></asp:ScriptManager><asp:UpdatePanelID="UpdatePanel1"runat="server"><ContentTemplate><asp:TimerID="Timer1"runat="server"OnTick="Timer1_Tick"Interval="1000"/>當(dāng)前時間:<asp:LabelID="LbTime"runat="server"></asp:Label> 交卷時間:<asp:LabelID="LbEndTime"runat="server"></asp:Label> 考試時間:10分鐘 總分:100分</ContentTemplate></asp:UpdatePanel></td></tr><tr><tdclass="auto-style4"><strong><em>選擇題(每空2分)</em></strong></td></tr><tr><td><asp:RepeaterID="RpChoice"runat="server"><ItemTemplate></ItemTemplate></asp:Repeater></td></tr><tr><tdclass="auto-style4"><strong><em>判斷題(每空2分)</em></strong></td></tr><tr><td><asp:RepeaterID="RpDetermine"runat="server"><ItemTemplate></a><div>    <asp:RadioButtonID="rbA"GroupName="option"runat="server"Text="對"/><br/>    <asp:RadioButtonID="rbB"GroupName="option"runat="server"Text="錯"/></div></ItemTemplate></asp:Repeater></td></tr><tr><tdclass="auto-style4"><strong><em>填空題(每題4分)<每個答案之間用','隔開></em></strong></td></tr><tr><td><asp:RepeaterID="RpFillBlank"runat="server"><ItemTemplate></a><div><asp:TextBoxID="TbxAnswer"runat="server"Width="1000px"Style="border-bottom:gray1pxsolid"BorderStyle="None"></asp:TextBox></div></ItemTemplate></asp:Repeater></td></tr><tr><tdstyle="text-align:center"><asp:ButtonID="BtnSubmit"runat="server"Height="30px"OnClick="BtnSubmit_Click"Text="交卷"Width="100px"/></td></tr><tr><td><divalign="center"class="auto-style5"><aclass="auto-style6"href="#top"><em><strong>返回頂端</strong></em></a></td></tr><tr><td><asp:SqlDataSourceID="SdsChoice"runat="server"</td></tr></table></form></body></html></asp:Content>usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Configuration;usingSystem.Data.SqlClient;usingSystem.Data;usingFelomeng.VSMSimilarity;publicpartialclass_Default:System.Web.UI.Page{protectedintsingeCount=1;protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){stringstrConn=ConfigurationManager.ConnectionStrings["DefaultConnectionString"].ToString();DataSetds1=SQLHelper.ExecuteReader(strConn,CommandType.Text,"selecttop20*fromChoiceQuestionorderbynewid()",null);RpChoice.DataSource=ds1;RpChoice.DataBind();Session["choiceData"]=ds1;DataSetds2=SQLHelper.ExecuteReader(strConn,CommandType.Text,"selecttop10*fromDeterminQuestionorderbynewid()",null);RpDetermine.DataSource=ds2;RpDetermine.DataBind();Session["determineData"]=ds2;DataSetds3=SQLHelper.ExecuteReader(strConn,CommandType.Text,"selecttop10*FROMFillBlankQuestionorderbynewid()",null);RpFillBlank.DataSource=ds3;RpFillBlank.DataBind();Session["fillBlankData"]=ds3;//設(shè)置考試時間LbEndTime.Text=DateTime.Now.Add(newTimeSpan(0,10,0)).ToString();BtnSubmit.Attributes.Add("OnClick","javascript:returnconfirm('您確定提交嗎?');");}}protectedvoidTimer1_Tick(objectsender,EventArgse){if(DateTime.Now.ToString()==LbEndTime.Text){Timer1.Enabled=false;ComputeScore();Response.Redirect("Score.aspx");}LbTime.Text=DateTime.Now.ToString();}protectedvoidBtnSubmit_Click(objectsender,EventArgse){ComputeScore();Response.Redirect("Score.aspx");}voidComputeScore(){intchoiceScore=0;intdetermineScore=0;doublefillBlankScore=0;//選擇題foreach(RepeaterItemiteminRpChoice.Items){//HiddenFieldId=item.FindControl("Id")asHiddenField;HiddenFieldAnswer=item.FindControl("Answer")asHiddenField;stringstr="";if(((RadioButton)item.FindControl("rbA")).Checked){str="A";}elseif(((RadioButton)item.FindControl("rbB")).Checked){str="B";}elseif(((RadioButton)item.FindControl("rbC")).Checked){str="C";}elseif(((RadioButton)item.FindControl("rbD")).Checked){str="D";}if(str.Trim()==Answer.Value.ToString().Trim()){choiceScore+=2;}}//判斷題foreach(RepeaterItemiteminthis.RpDetermine.Items){HiddenFieldAnswer=item.FindControl("Answer")asHiddenField;stringstr="";if(((RadioButton)item.FindControl("rbA")).Checked){str="對";}elseif(((RadioButton)item.FindControl("rbB")).Checked){str="錯";}if(str.Trim()==Answer.Value.ToString().Trim()){determineScore+=2;}}//填空題foreach(RepeaterItemiteminthis.RpFillBlank.Items){HiddenFieldAnswer=item.FindControl("Answer")asHiddenField;stringstr="";str=((TextBox)item.FindControl("TbxAnswer")).Text.Trim();string[]s1=str.Split(',');string[]s2=Answer.Value.Split(',');for(inti=0;i<s1.Length;i++){if(s1[i].Trim()==s2[i].Trim()){fillBlankScore+=(4.0/(s2.Length));}}}Session["choiceScore"]=choiceScore;Session["determineScore"]=determineScore;Session["fillBlankScore"]=(int)fillBlankScore;Session["allScore"]=determineScore+choiceScore+(int)fillBlankScore;}SqlDataReaderGetData(stringsql){stringstrConn=ConfigurationManager.ConnectionStrings["DefaultConnectionString"].ToString();SqlConnectionconn=newSqlConnection(strConn);SqlCommandcmd=newSqlCommand(sql,conn);conn.Open();SqlDataReaderdr=cmd.ExecuteReader();conn.Close();returndr;}}<asp:ContentID="Content2"ContentPlaceHolderID="ContentPlaceHolder1"Runat="Server"><htmlxmlns="/1999/xhtml"><body><spanstyle="font-size:large;color:#009933"><strong><em>歡迎進(jìn)入題庫管理頁!你可以在左側(cè)導(dǎo)航選擇項目添加,刪除,修改題目!</em></strong></span></body></html></asp:Content><asp:ContentID="Content1"ContentPlaceHolderID="CphMain"Runat="Server"><!DOCTYPEhtml><htmlxmlns="/1999/xhtml"><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><title></title></head><body><formid="form1"runat="server"><divstyle="color:#009933"><strong><em>歡迎進(jìn)入傳感器試題在線測試系統(tǒng)!現(xiàn)在你可以點擊開始答題進(jìn)行作答,完成后系統(tǒng)將自動為你評分!</em></strong></div></form></body></html></asp:Content>系統(tǒng)自動為你評分!你的總分為:<asp:LabelID="LbScoreAll"runat="server"Font-Bold="True"Font-Italic="True"Font-Size="XX-Large"Font-Strikeout="False"ForeColor="Blue">0</asp:Label> <br/>選擇題得分:<asp:LabelID="LbScoreChoice"runat="server"Font-Bold="True"Font-Italic="True"Font-Size="XX-Large"Font-Strikeout="False"ForeColor="Blue">0</asp:Label><br/>判斷題得分:<asp:LabelID="LbScoreDetermine"runat="server"Font-Bold="True"Font-Italic="True"Font-Size="XX-Large"Font-Strikeout="False"ForeColor="Blue">0</asp:Label><br/>填空題得分:<asp:LabelID="LabelScoreFillBlank"runat="server"Font-Bold="True"Font-Italic="True"Font-Size="XX-Large"Font-Strikeout="False"ForeColor="Blue">0</asp:Label><tableclass="auto-style3"><tr><tdclass="auto-style5"><ahref="Default.aspx">返回主頁</a></td></tr></table><tableclass="auto-style3"><tr><tdclass="auto-style4"style="border-top-style:double;border-bottom-style:double;border-width:medium"><strong>以下為題目的參考答案</strong></td></tr></table><tablestyle="text-align:left"><tr><tdclass="auto-style1"><strong><em>選擇題</em></strong></td></tr><tr><td><asp:RepeaterID="RpChoice"runat="server"><ItemTemplate>singeCount++#Eval("Subject")</div><div> 參考答案:<spanstyle="color:#FF0000">#Eval("Answer")</span></div><div>Eval("A")/>  BEval("B")<br/>  C.#Eval("C")br/>  D.#Eval("D")/div></ItemTemplate></asp:Repeater></td></tr><tr><tdclass="auto-style2"><strong><em>判斷題</em></strong></td></tr><tr><td><asp:RepeaterID="RpDetermine"runat="server"><ItemTemplate><div>#singeCount++Eval("Subject")</div><div> 參考答案:<spanstyle="color:#FF0000">Eval("Answer")</span></div></ItemTemplate></asp:Repeater></td></tr>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論