網(wǎng)絡(luò)考試系統(tǒng)的設(shè)計與實現(xiàn) (2)
《網(wǎng)絡(luò)考試系統(tǒng)的設(shè)計與實現(xiàn) (2)》由會員分享,可在線閱讀,更多相關(guān)《網(wǎng)絡(luò)考試系統(tǒng)的設(shè)計與實現(xiàn) (2)(36頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 成人高等教育畢業(yè)設(shè)計(論文) 題 目: 網(wǎng)絡(luò)考試系統(tǒng)設(shè)計與實踐 專 業(yè): 計 算 機 班 級: 1 1 級 學(xué) 生: 張 鵬 指導(dǎo)教師: 袁 建 星 2014 年
2、 摘 要 本論文敘述了考試方式的歷史、現(xiàn)狀以及ASP語言和SQL SEVER2000數(shù)據(jù)庫管理系統(tǒng)的概況。重點介紹了網(wǎng)絡(luò)考試系統(tǒng)的實現(xiàn)過程:包括系統(tǒng)分析、?系統(tǒng)調(diào)查、?數(shù)據(jù)流程分析、功能設(shè)計、?數(shù)據(jù)庫設(shè)計、?系統(tǒng)物理配置方案、?系統(tǒng)實現(xiàn)、?系統(tǒng)測試和調(diào)試??偨Y(jié)了本系統(tǒng)的特點:節(jié)約考試成本,提高考試工作的效率。本系統(tǒng)主要面向三類人員使用:普通學(xué)生、老師、管理員,使用時他們擁有不同的權(quán)限。使用的過程是通過考試新聞的發(fā)布、試卷的制定、審核、生成、考試與成績的查詢來實現(xiàn)無紙標(biāo)準(zhǔn)化考試,從而使考試可以方便地通過 Internet和局域網(wǎng)進行。 關(guān)健字:網(wǎng)上考試系統(tǒng)、A
3、SP、SQL SERVER2000 Abstract This thesis described the examination history, present condition and the ASP language with the SQL SEVER2000 -the database manage system's general condition.I emphases introduced the process to realize the network examination system:Include the s
4、ystem the analysis, system to investigate, data process analysis, function design, database design, the system physics install the project, system to realize, the system test and debug.summarized the characteristics of this system:Economy examination cost, increase the examination work's efficiency.
5、This system primarily face to three personnel usageses:Common student, teacher, admin, they own the different legal power when use this system .The usage's process of standardize examine without papers is an announcement for of examination establishment, examining, bornly, examination result and se
6、arch of announce, thus make examination can expediently pass the Internetand intranetthe proceeding. Key words:the network examination system 、ASP、SQL SERVER2000 目 錄 摘 要 i 1 引 言 1 1.1 項目開發(fā)背景 1 1.2 項目開發(fā)的目的 1 1.3 項目開發(fā)的目標(biāo) 2 1.4 項目提出的意義 2 1.5 系統(tǒng)開發(fā)所用的技術(shù)準(zhǔn)備 2 1.5.
7、1 數(shù)據(jù)庫系統(tǒng) 2 1.5.2 ADO 2 1.5.3 ASP技術(shù) 3 2 系統(tǒng)分析 5 2.1 系統(tǒng)需求分析 5 2.1.1 系統(tǒng)調(diào)查 5 2.1.2 考試工作的組織機構(gòu)設(shè)置如圖 6 2.1.3 用戶需求 6 2.1.4 系統(tǒng)業(yè)務(wù)流程圖 7 2.1.5 可行性分析 8 2.2 新系統(tǒng)邏輯方案 9 2.2.1 數(shù)據(jù)流圖 9 2.2.2 新系統(tǒng)邏輯模型的提出 11 2.2.3 系統(tǒng)邊界 12 3 系統(tǒng)設(shè)計 12 3.1 系統(tǒng)總體結(jié)構(gòu)設(shè)計 12 3.1.1 系統(tǒng)的總體布局方案 13 3.1.2 軟件系統(tǒng)總體結(jié)構(gòu)設(shè)計 13 3.
8、1.3 數(shù)據(jù)存儲的總體設(shè)計 13 3.1.4 系統(tǒng)總體功能結(jié)構(gòu)設(shè)計 13 3.2 系統(tǒng)詳細設(shè)計 14 3.2.1 數(shù)據(jù)庫設(shè)計 14 3.2.2 數(shù)據(jù)庫的完整性和安全性 20 3.3 功能模塊設(shè)計 22 3.4 代碼設(shè)計 22 3.5 系統(tǒng)輸出設(shè)計 23 3.6 系統(tǒng)輸入設(shè)計 23 3.7 系統(tǒng)處理流程圖設(shè)計 24 4 系統(tǒng)實施 24 4.1 數(shù)據(jù)庫連接的建立 25 4.2 各子系統(tǒng)模塊程序設(shè)計舉例 25 4.2.1 用戶登陸界面的實現(xiàn) 25 4.2.2 管理員頁面的實現(xiàn) 25 5 技術(shù)點和難點 26 5.1 技術(shù)點 26 5.
9、1.1 多條件查詢 26 5.1.2 全選按鈕 26 5.1.3 難度的設(shè)置 26 5.2 難點 27 5.2.1 recordcount問題 27 5.2.2 隨機生成試卷問題 27 結(jié) 論 28 參考文獻 29 致 謝 30 iv 1 引 言 1.1 項目開發(fā)背景 在上個世紀(jì)九十年代中期以前,各個學(xué)校的各種類型的考試基本上都是靠手工進 行,大體上要經(jīng)歷出卷、印刷、測試、閱卷、統(tǒng)計分數(shù)等過程。后來隨著電腦的普及以及計算機軟硬件的發(fā)展,市場上出現(xiàn)了一些隨機出題軟件并
10、被一些學(xué)校采用,但仍然需要大量的人工參與考試過程之中??荚囀且豁棙O其繁瑣的工作,通過人手工計算容易出錯,很多老師一談到考試就頭皮發(fā)麻。 在此開發(fā)的網(wǎng)絡(luò)考試系統(tǒng),旨在探索一種以互聯(lián)網(wǎng)為基礎(chǔ)的考試模式。通過這種新的模式,為大學(xué)計算機系的考試創(chuàng)造一種新的考試環(huán)境,使考務(wù)管理突破時空限制,提高考試工作效率和標(biāo)準(zhǔn)化水平,使學(xué)校管理者、教師和學(xué)生可以在任何時候、任何地點通過網(wǎng)絡(luò)進行考試。基于這些優(yōu)點,在本次畢業(yè)設(shè)計之院,我作為一名計算機軟件工程專業(yè)的畢業(yè)生,著手開發(fā)了“網(wǎng)上考試系統(tǒng)”。 1.2 項目開發(fā)的目的 現(xiàn)階段,學(xué)校與社會上的各種考試大都采用傳統(tǒng)的考試方式,在此方式下,組織一次考試至少要經(jīng)過
11、五個步驟,即人工出卷、考生考試、人工閱卷、成績評估和試卷分析。隨著計算機應(yīng)用的迅猛發(fā)展,網(wǎng)絡(luò)應(yīng)用不斷擴大,如遠程教育和虛擬大學(xué)的出現(xiàn)等等,且這些應(yīng)用正逐步深入到千家萬戶。人們迫切要求利用這些技術(shù)來進行在線考試,以減輕教師的工作負擔(dān)及提高工作效率,與此同時也提高了考試的質(zhì)量,從而使考試更趨于公證!客觀!更加激發(fā)學(xué)生的學(xué)習(xí)興趣。為了適應(yīng)新形勢的發(fā)展,在這次畢業(yè)設(shè)計之時,我選擇了這一網(wǎng)上考試系統(tǒng),使其盡快在各類考試中發(fā)揮高效、便捷的作用,把老師從繁重的工作中解脫出來! 1.3 項目開發(fā)的目標(biāo) 建立網(wǎng)上考試系統(tǒng),進一步提高辦學(xué)效益和現(xiàn)代化水平。幫助老師提高工作效率,實現(xiàn)考試信息管理以及考試流程的
12、系統(tǒng)化、規(guī)范化和自動化。 1.4 項目提出的意義 “網(wǎng)上考試系統(tǒng)”適用于任何專業(yè)或?qū)W院進行考試,在具體的考試過程中用網(wǎng)絡(luò)實現(xiàn)老師、學(xué)院和學(xué)生進行考試工作的計算機化,同時也可作平時練習(xí)測試之用,基本上擺脫以前的人工操作模式。 1.5 系統(tǒng)開發(fā)所用的技術(shù)準(zhǔn)備 1.5.1 數(shù)據(jù)庫系統(tǒng) 后臺數(shù)據(jù)庫系統(tǒng)使用微軟的Microsoft SQL Server SQL Server 2000。Microsoft SQL Server SQL Server 2000是建立在Microsoft SQL Server SQL Server 7.0可擴展基礎(chǔ)上的,代表著下一代Microsoft .NE
13、T Enterprise Servers(企業(yè)服務(wù)器)數(shù)據(jù)庫的發(fā)展趨勢。Microsoft SQL Server 2000是為創(chuàng)建可伸縮電子商務(wù)、在線商務(wù)和數(shù)據(jù)倉儲解決方案而設(shè)計的真正意義上的關(guān)系型數(shù)據(jù)庫管理與分析系統(tǒng)。 1.5.2 ADO ADO具有以下特點:易于編程;與語言無關(guān);實現(xiàn)過程簡單;使用最小網(wǎng)絡(luò)流量;應(yīng)用程序前端和數(shù)據(jù)源之間需要的層數(shù)很少。兩種方法都可提供高性能的數(shù)據(jù)訪問。選擇這兩種數(shù)據(jù)訪問技術(shù)的任一種都會影響應(yīng)用程序的設(shè)計、擴展性、互操作性、易于維護性以及其他許多因素。這些因素包括: 數(shù)據(jù)結(jié)構(gòu) ADO 記錄集是單個表,只能以記錄集形式訪問,并且不包含關(guān)系。ADO 記錄
14、集可以是多表 JOIN 查詢的結(jié)果,但它仍只是單個結(jié)果表。如果希望 ADO 具有多個表,必須擁有多個 Recordset 對象。 游標(biāo)位置 應(yīng)用程序可以在以下兩個位置中的任一處建立結(jié)果集:在應(yīng)用程序進程內(nèi)(客戶端游標(biāo))或數(shù)據(jù)存儲區(qū)進程內(nèi)(服務(wù)器端游標(biāo))。對于任意類型的用戶與數(shù)據(jù)的即興交互,客戶端游標(biāo)通常是很好的選擇??蛻舳擞螛?biāo)在 ADO 中則由 ClientCursor Recordset 對象支持。 順序的、只讀服務(wù)器游標(biāo)在 ADO 中則由只進/只讀 Recordset 對象支持。順序的、只讀游標(biāo)為從數(shù)據(jù)庫中讀出數(shù)據(jù)提供最快的方法。 可滾動、可更新的服務(wù)器端游標(biāo)在 ADO 中由可滾動、可更
15、新的 Recordset 對象支持。應(yīng)謹慎使用服務(wù)器端游標(biāo)。通過服務(wù)器端游標(biāo)進行的非順序結(jié)果滾動和更新保留鎖定并導(dǎo)致資源爭用,這將大大限制應(yīng)用程序的可縮放性。不使用可滾動、可更新的服務(wù)器端游標(biāo),而在服務(wù)器上對結(jié)果的過程處理使用存儲過程,應(yīng)用程序通常會獲益。 1.5.3 ASP技術(shù) 1 ASP技術(shù)簡介 ASP(Active Server Pages動態(tài)網(wǎng)頁)是微軟公司推出的一種用以取代CGI(Common Gateway Interface通用網(wǎng)關(guān)接口)的技術(shù)。簡單地講,ASP是一個位于服務(wù)器端的腳本運行環(huán)境,通過這種環(huán)境,用戶可以創(chuàng)建和運行動態(tài)的交互式Web服務(wù)器應(yīng)用程
16、序,如交互式動態(tài)網(wǎng)頁,包括使用HTML表單收集和處理信息,上傳與下載等等。而隨著Web應(yīng)用的發(fā)展,用戶希望能夠看到根據(jù)要求而動態(tài)生成的主頁,例如響應(yīng)用戶查詢數(shù)據(jù)庫的要求、生成報表等。當(dāng)在瀏覽器上填好表單(form)的輸入數(shù)據(jù),以提供HTTP要求時,可以在站點服務(wù)器中執(zhí)行的應(yīng)用程序,而不只是一個HTML 文件。站點服務(wù)器收到要求執(zhí)行的應(yīng)用程序,分析表單(form)的輸入數(shù)據(jù),將執(zhí)行的結(jié)果以HTML的格式傳送給瀏覽器。ASP使用的ActiveX技術(shù)基于開放設(shè)計環(huán)境,用戶可以自己定義和制作組件加入其中,使自己的動態(tài)網(wǎng)頁幾乎具有無限的擴充能力,這是傳統(tǒng)的CGI等程序所遠遠不及的地方。由于ASP是在服務(wù)
17、器端解釋執(zhí)行,開發(fā)者可以不必考慮瀏覽器是否支持ASP;同時由于它在服務(wù)器端執(zhí)行,開發(fā)者也不必擔(dān)心別人下載程序從而竊取編程邏輯。 ASP通過后綴名為.asp的ASP文件來實現(xiàn),一個.asp文件相當(dāng)于一個可執(zhí)行文件,因此必須放在Web服務(wù)器上有可執(zhí)行權(quán)限的目錄下。當(dāng)用戶從瀏覽器輸入了.asp文件的地址后,瀏覽器就將這個URL請求發(fā)給Web Server,如果Web Server上裝了ASP,就調(diào)用ASP。ASP讀出相應(yīng).asp文件,解釋并執(zhí)行命令,動態(tài)生成一個HTML頁面回傳Web Server,然后Web Server再把結(jié)果發(fā)送給瀏覽器。ASP文件的制作和HTML類似,且和HTML開發(fā)集成,可
18、以在同一個過程完成,利用ASP將可以執(zhí)行的腳本嵌入到HTML文件中(將HTML文件的后綴名改為.asp),這使得HTML文件的編寫與腳本的開發(fā)融合在一起。 2 ASP的內(nèi)部特點 (1) ASP內(nèi)部6大對象 ASP提供了6個功能強大的內(nèi)部對象,每個對象具有各自的屬性(Property)、方法(Method),有的還擁有數(shù)據(jù)集合(Collection)與事件(Event),它們共同完成Web中的一些重要工作。 這6個對象及其功能描述如表1.1所示。 對象名稱 功能描述 Request 從客戶端取得信息 Response 將信息送給客戶端 Server 提供一些Web
19、服務(wù)器工具 Session 儲存在一個Session內(nèi)的用戶信息,該信息僅可被該用戶訪問 Application 在一個ASP-Application中讓不同的客戶端共享信息 ObjectContext 配合Microsoft Transaction服務(wù)器進行分布式事務(wù)處理 (2) Global 文件 每一個以Active Server Pages為基礎(chǔ)的應(yīng)用程序都擁有一個Global.asa文件(ASA后綴名其實是Active Server Application的縮寫),它位于每一個應(yīng)用程序的基點目錄之下。 前面已經(jīng)提到Application和Session這兩個ASP
20、的內(nèi)部對象。Application對象內(nèi)的信息供所有正在執(zhí)行該應(yīng)用程序的用戶分享,它創(chuàng)建于Web Server啟動后一個應(yīng)用程序中任一ASP文件被提出第一個HTTP請求時,結(jié)束于Server端停止運行。而Session對象僅屬于一位用戶,維持一個用戶端的信息,其他用戶無法訪問,它創(chuàng)建于一個不具有Session的用戶向Server請求一個ASP文件時,結(jié)束于該Session到期(即用戶端超過某時間段沒有向Server提出要求或刷新Web頁面)或Abandon語句的調(diào)用??梢?,Global.asa文件的調(diào)用與Application與Session這兩個對象密切相關(guān)。事實上我們通常在Global。a
21、sa文件中寫入以下內(nèi)容: Application或Session的開始事件(Start-event)。 Application或Session的結(jié)束事件 (End-event)。 這樣,在一個Application或Session對象被創(chuàng)建或結(jié)束時,系統(tǒng)會自動完成Global.asa文件中寫入的相應(yīng)事件。值得注意的是,如果一個Application與一個Session同時開始,Active Server Pages會先處理Application的開始事件,而如果一個Application與一個Session同時結(jié)束,Active Server Pages則會先處理Session的結(jié)束事件
22、。 3 利用ADO訪問數(shù)據(jù)庫 ADO(ActiveX Data Objects)是一種操作Microsoft所支持的數(shù)據(jù)庫的新技術(shù)。在ASP中,ADO可以看作是一個服務(wù)器組件(Server Component),更簡單點說,是一系列的對象,應(yīng)用這些功能強大的對象,即可輕松完成對數(shù)據(jù)庫復(fù)雜的操作。本文中個性化頁面的實現(xiàn)便大量地用到了ADO技術(shù)。具體的操作步驟可以歸納為以下幾步: 1.創(chuàng)建數(shù)據(jù)庫源名(DSN) 2.創(chuàng)建數(shù)據(jù)庫鏈接(Connection) 3.創(chuàng)建數(shù)據(jù)對象 4.操作數(shù)據(jù)庫 5.關(guān)閉數(shù)據(jù)對象和鏈接 2 系統(tǒng)分析 2.1 系統(tǒng)需求分析 2.1.1 系
23、統(tǒng)調(diào)查 對現(xiàn)行考試業(yè)務(wù)進行詳細調(diào)查是了解系統(tǒng)需求和進香系統(tǒng)分析和設(shè)計的重要基礎(chǔ)工 作,因此要尋我們學(xué)校的考試工作進行全面、細致的調(diào)查研究、系統(tǒng)調(diào)研采取的要方法是到現(xiàn)場去,通過座談、詢問、觀察甚至直接參與考試活動,自上而下、逐步細化的進行了解。 通過調(diào)查得知,原先人工操作在考試活動中占絕大部分,具體的考試經(jīng)過是:教務(wù)處下發(fā)或轉(zhuǎn)發(fā)學(xué)校的考試通知,聯(lián)系有關(guān)老師出卷,安排、檢查考場及所需設(shè)備,組織監(jiān)考人員培訓(xùn)和考前宣傳、公布考場地點及考試時間、發(fā)放準(zhǔn)考證等前期準(zhǔn)備工作。然后是印刷試卷、考試、閱卷、填分、公布學(xué)生成績、總結(jié)、備案、打印通知書等。在考試的部分環(huán)節(jié)已用到了計算機,如打印試卷、打印有關(guān)材
24、料、學(xué)生成績處理與公布等。為適應(yīng)當(dāng)前網(wǎng)絡(luò)技術(shù)新形勢的發(fā)展,把考試與網(wǎng)絡(luò)技術(shù)與數(shù)據(jù)庫技術(shù)結(jié)合起來,實現(xiàn)考試信息的發(fā)布、自動生成試卷,考試成績自動生成及查詢等功能,保證考試的正規(guī)性及標(biāo)準(zhǔn)化,所以要求建立一個基于網(wǎng)絡(luò)的考試系統(tǒng)。 2.1.2 考試工作的組織機構(gòu)設(shè)置如圖 學(xué)院領(lǐng)導(dǎo) 教務(wù)處 教師 學(xué)生 考務(wù)人員 圖2-1 本系統(tǒng)的組織機構(gòu)設(shè)置圖 2.1.3 用戶需求 要設(shè)計一個性能良好的管理系統(tǒng),明確用戶的應(yīng)用環(huán)境對系統(tǒng)的要求是首要的和基本的。本系統(tǒng)從以下四個方面對用戶需求進行了分析: (1)、用戶
25、的信息需求:考生能查詢有關(guān)考試新聞或考試通知、考試成績;系統(tǒng)管理員能夠進行用戶管理;而老師能夠進行有關(guān)考試的所有操作。 (2)、用戶的處理要求:老師能對題庫執(zhí)行增加、刪除和修改操作;老師能對考試科目的增加、刪除和修改操作;由老師設(shè)置考試信息,經(jīng)過審核后就可考試;在考試時,系統(tǒng)將根據(jù)考試信息的設(shè)置對每個考生自動生成試卷;老師可設(shè)置考試信息,經(jīng)過管理員審核后批準(zhǔn)向考生發(fā)布考試新聞;系統(tǒng)控制考試時間、防刷新、考試成績自動生成、多功能查詢等。 (3)、對系統(tǒng)的適應(yīng)性、通用性要求:要求系統(tǒng)能夠不受未來課程設(shè)置變化 的影響,仍能照常使用。 (4)對系統(tǒng)的安全性要求,要求進入系統(tǒng)必須進行口令
26、校驗。 2.1.4 系統(tǒng)業(yè)務(wù)流程圖 詳細調(diào)查的重點是對管理業(yè)務(wù)的流程進行描述,通過采用系統(tǒng)流程圖中部分圖形工具來描述管理活動,進行規(guī)范化說明。 業(yè)務(wù)流程圖的符號說明如圖2-2所示: 1、 2、 3、 4、 5、 系統(tǒng)中人員 實體或單據(jù) 實物或信息流 處理 數(shù)據(jù)存儲 圖2-2 業(yè)務(wù)流程圖圖例 詳細調(diào)查之后,結(jié)合現(xiàn)行考試模式,為開發(fā)本系統(tǒng)而繪制出的無紙化網(wǎng)絡(luò)考試的管理業(yè)務(wù)流程圖如圖2-3所示。 課程考試計劃 系領(lǐng)導(dǎo) 教務(wù)處 考試通知
27、 考試結(jié)果 參加考試 系領(lǐng)導(dǎo)審核。 領(lǐng)導(dǎo)審核 運行本系統(tǒng),錄入試卷,并發(fā)布新聞提請審核。 學(xué)生 試卷 教師 教師出題 系領(lǐng)導(dǎo) 圖 2-3 網(wǎng)絡(luò)考試系統(tǒng)業(yè)務(wù)流程圖 2.1.5 可行性分析 也稱為可行性研究,是在系統(tǒng)調(diào)查的基礎(chǔ)上,針對新系統(tǒng)的開發(fā)是否具備必要性和可能性,對新系統(tǒng)的開發(fā)從技術(shù)、經(jīng)濟、社會的方面進行分析和研究,以避免投資失誤,保證新系統(tǒng)的開發(fā)成功??尚行匝芯康哪康木褪怯米钚〉拇鷥r在盡可能短的時間內(nèi)確定問題是否能夠解決。該系統(tǒng)的可行性分析包括以下幾個方面的內(nèi)容。 (1) 經(jīng)濟可行性:主要是對項目的經(jīng)濟效益進行評
28、價,本系統(tǒng)作為一個畢業(yè)設(shè)計,無需開發(fā)經(jīng)費,對于我系在經(jīng)濟上是可以接受的,并且本系統(tǒng)實施后可以顯著提高考試效率,有助于學(xué)院完全實現(xiàn)網(wǎng)絡(luò)化管理。所以本系統(tǒng)在經(jīng)濟上是可行的。 (2) 技術(shù)上的可行性:技術(shù)上的可行性分析主要分析技術(shù)條件能否順利完成開發(fā)工作,硬、軟件能否滿足開發(fā)者的需要等。該管理系統(tǒng)采用了當(dāng)前新興的Client/Server模式進行開發(fā)。結(jié)合了Internet/Intranet技術(shù)。數(shù)據(jù)庫服務(wù)器選用微軟公司的SQL Server數(shù)據(jù)庫,它能夠處理大量數(shù)據(jù),同時保持數(shù)據(jù)的完整性并提供許多高級管理功能。它的靈活性、安全性和易用性為數(shù)據(jù)庫編程提供了良好的條件。因此,系統(tǒng)的軟件開發(fā)平臺已成熟
29、可行。硬件方面,科技飛速發(fā)展的今天,硬件更新的速度越來越快,容量越來越大,可靠性越來越高,價格越來越低,其硬件平臺完全能滿足此系統(tǒng)的需要。 (3) 時機可行性:目前,大學(xué)的校園網(wǎng)路覆蓋了教學(xué)區(qū)和學(xué)生區(qū)的主要建筑物及部分家屬宿舍,從而滿足校內(nèi)各學(xué)院,各職能部門,各直屬單位上網(wǎng)需求。學(xué)校良好的網(wǎng)絡(luò)設(shè)施為開發(fā)使用無紙化網(wǎng)絡(luò)考試系統(tǒng)提供了堅實的基礎(chǔ)。 (4) 管理上的可行性:主要是教務(wù)處管理人員大力支持,系領(lǐng)導(dǎo)認同,現(xiàn)有的管理制度和方法科學(xué),規(guī)章制度齊全,原始數(shù)據(jù)正確等。規(guī)章制度和管理方法為系統(tǒng)的建設(shè)提供了制度保障。 綜上所述,此系統(tǒng)開發(fā)目標(biāo)已明確,在技術(shù)和經(jīng)濟等方面都可行,并且投入少、見效快
30、。因此系統(tǒng)的開發(fā)是完全可行的。 2.2 新系統(tǒng)邏輯方案 系統(tǒng)分析的主要成果是系統(tǒng)的邏輯模型。本系統(tǒng)的邏輯模型主要是以系統(tǒng)的數(shù)據(jù)流圖和數(shù)據(jù)字典為主要描述工具。即在無紙化網(wǎng)絡(luò)考試系統(tǒng)管理方式和業(yè)務(wù)流程進行認真分析和研究的基礎(chǔ)上,排除現(xiàn)有組織機構(gòu)和業(yè)務(wù)分工所造成的信息障礙。完全從業(yè)務(wù)管理功能和管理對象出發(fā),按照信息系統(tǒng)中應(yīng)有的數(shù)據(jù)流和數(shù)據(jù)結(jié)構(gòu)來勾畫系統(tǒng)的概貌。 2.2.1 數(shù)據(jù)流圖 數(shù)據(jù)流圖是組織中信息運動的抽象。是在調(diào)研的基礎(chǔ)上,從系統(tǒng)的科學(xué)性、管理的合理性、實際運動的可行性角度出發(fā)。將信息處理功能和彼此之間的聯(lián)系自頂向下,逐層分解,從邏輯上精確地描述系統(tǒng)應(yīng)具有的數(shù)據(jù)加工功能、數(shù)據(jù)輸入
31、、數(shù)據(jù)輸出、數(shù)據(jù)存儲及數(shù)據(jù)來源和去向(外部實體)等項目。 首先,分析無紙化網(wǎng)絡(luò)考試管理系統(tǒng)的總體情況,劃分系統(tǒng)邊界,識別系統(tǒng)的數(shù)據(jù)來源和去處,確定外部實體,得出系統(tǒng)的頂層數(shù)據(jù)流程圖; 然后劃分出幾個主要的信息管理功能,并明確各功能之間的聯(lián)系,繪制出數(shù)據(jù)流程圖。 外部實體 處理 數(shù)據(jù)流 數(shù)據(jù)存儲 圖2-4 數(shù)據(jù)流程圖的符號 2.0科目管理、生成試卷,并提交審核 3.0考試 任課教師 出卷 瀏覽新聞 分數(shù)查詢 分數(shù) 參加考試 試卷 批
32、準(zhǔn)考試 批準(zhǔn)新聞 批準(zhǔn)/不批準(zhǔn) 1.0提交考試新聞 考試通知 系統(tǒng)管理員 批準(zhǔn)/不批準(zhǔn) 學(xué)院領(lǐng)導(dǎo) 學(xué)生 圖2-5 網(wǎng)絡(luò)考試系統(tǒng)的頂層數(shù)據(jù)流程圖 上圖中把系統(tǒng)功能分為提交考試新聞、考試科目管理、錄入并生成試卷、參加考試、查詢分數(shù)、瀏覽考試新聞六個功能。 下面2-6至2-9給出了相應(yīng)的第二層數(shù)據(jù)流圖。 考試計劃或考試通知 1.0.2按考試計劃安排老師出卷 1.0.1起草新聞,選擇領(lǐng)導(dǎo)審核 系統(tǒng)管理員 審核通過 審核 審核未通過 學(xué)院領(lǐng)導(dǎo) 取消考試 圖2-6 提交考試新聞數(shù)據(jù)流程
33、圖(第二層) 2.0.2刪除 科目 2.0.1查詢 科目 老師 多余或無用的科目 2.0.3添加 科目 考試時涉及到而沒有的科目 圖2-7考試科目管理流程圖(第二層) 2.1.5保存到題庫 2.1.4增加題目 2.1.1選擇相應(yīng)的科目及題型 老師 2.1.3編輯或刪除題目 2.1.2瀏覽題目 2.1.6選擇科目,設(shè)置卷面總分題型分布,分值分布,及考試時間,選擇考生并并生成試卷 圖2-8錄入及生成試卷流程圖(第二層) 運行考試系統(tǒng) 瀏覽考試新聞 3.0.2選擇科目,開
34、啟計時器 3.0.1在規(guī)定時間內(nèi)到指定的考場參加考試 學(xué)生 3.0.4考試結(jié)束,查詢分數(shù) 考試結(jié)束 3.0.3開始考試 圖2-9學(xué)生參加考試及查詢成績流程圖(第二層) 2.2.2 新系統(tǒng)邏輯模型的提出 根據(jù)前面的分析與評價結(jié)果,提出新系統(tǒng)邏輯模型如圖2-9所示。 數(shù)據(jù)編輯 用戶信息 文件 用戶登錄 題庫信息 文件 考試信息文件 用戶信息 學(xué)院信息 題庫信息 考試新聞 考試信息 學(xué)院信息文件 文件 數(shù)據(jù)編輯 數(shù)據(jù)編輯 數(shù)據(jù)編輯 考試新聞文件 數(shù)據(jù)編輯 學(xué)生成績 數(shù)據(jù)編輯 成績信息表 待審核項目信息表 數(shù)
35、據(jù)編輯 待審核項目 考生信息表 數(shù)據(jù)編輯 考生信息表 學(xué)院管理 新聞發(fā)布 題庫管理 成績查詢 圖2-9 新系統(tǒng)邏輯模型 2.2.3 系統(tǒng)邊界 輸入邊界—學(xué)生原始名單、課程設(shè)置情況、班級信息和考試信息、考試新聞、試卷 輸出邊界—考試新聞、學(xué)生成績、考試試題。 3 系統(tǒng)設(shè)計 這個階段的主要目標(biāo)是將系統(tǒng)分析階段所提出的反應(yīng)了用戶信息要求的系 邏輯方案轉(zhuǎn)換成可以實施的基于計算機和物理方案。 3.1 系統(tǒng)總體結(jié)構(gòu)設(shè)計 3.1.1 系統(tǒng)的總體布局方案 系統(tǒng)的總體布局是指系統(tǒng)的硬軟
36、件資源以及數(shù)據(jù)資源在空間上的分布特征。結(jié)合我們計算機學(xué)院實際情況(我院使用環(huán)境具有典型性,代表了大多數(shù)計算機系的使用情況),采用以下總體布局方案: 本系統(tǒng)的功能較多,并且規(guī)模較大,采用聯(lián)機系統(tǒng) 從信息資源管理的集中程度來看,采用分布式c/s系統(tǒng) 從信息處理的方式來看,采用批處理系統(tǒng) 3.1.2 軟件系統(tǒng)總體結(jié)構(gòu)設(shè)計 軟件系統(tǒng)總體結(jié)構(gòu)設(shè)計的主要任務(wù)就是將整個系統(tǒng)合理的劃分成各個功能模塊,正確處理模塊之間與模塊內(nèi)部的聯(lián)系及它們之間的調(diào)用關(guān)系和數(shù)據(jù)聯(lián)系,定義各模塊的內(nèi)部結(jié)構(gòu)等,本系統(tǒng)的軟件總體結(jié)構(gòu)按分解-協(xié)調(diào)的原則,信息隱蔽抽象的原則,自頂向下的原則,一致性原則,面向用戶的原則進行設(shè)計。
37、 3.1.3 數(shù)據(jù)存儲的總體設(shè)計 按用途分類可把本系統(tǒng)文件分成以下幾種: 1 主文件:系統(tǒng)中的主文件是最重要的共享文件,主要存放具有固定值屬性的數(shù)據(jù)。它需要長期保存,并不斷更新。如用戶信息文件、學(xué)院信息文件、題庫信息文件、考試信息文件、考試新聞信息表、考試成績文件。 2 處理文件:處理文件包含下一次更新文件所需要的全部記錄,本系統(tǒng)中的處理文件如新聞登錄日志文件、待審核項目信息文件。 3.1.4 系統(tǒng)總體功能結(jié)構(gòu)設(shè)計 通過對系統(tǒng)的數(shù)據(jù)流圖進行分析,進一步進行功能分解,直到分解成含義明確,功能單一的功能模塊,從而得到系統(tǒng)的功能模塊結(jié)構(gòu)圖,即系統(tǒng)的HIPO圖。本系
38、統(tǒng)的HIPO圖如圖3-1(見下頁)所示。 圖3-1 3.2 系統(tǒng)詳細設(shè)計 3.2.1 數(shù)據(jù)庫設(shè)計 數(shù)據(jù)庫(Database),是按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲和管理數(shù)據(jù)的倉庫,是用于查詢的大量數(shù)據(jù)的存儲區(qū)域。使用數(shù)據(jù)庫可以帶來許多好處:如減少了數(shù)據(jù)的冗余度,從而大大地節(jié)省了數(shù)據(jù)的存儲空間,實現(xiàn)數(shù)據(jù)資源的充分共享等等。此外,數(shù)據(jù)庫技術(shù)還為用戶提供了非常簡便的使用手段,使用戶易于編寫有關(guān)數(shù)據(jù)庫應(yīng)用程序。特別是近年來推出的計算機關(guān)系數(shù)據(jù)庫管理系統(tǒng),操作直觀,使用靈活,編程方便,功能強大,環(huán)境適應(yīng)廣泛,數(shù)據(jù)處理能力極強。 數(shù)據(jù)庫的設(shè)計是指對一個給定的應(yīng)用環(huán)境,構(gòu)造數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及
39、其應(yīng)用系統(tǒng),滿足各種用戶需求。作為信息資源開發(fā)、管理和服務(wù)的一種有效的手段,數(shù)據(jù)庫技術(shù)的應(yīng)用已越來越廣泛,從小型的單項事務(wù)處理系統(tǒng)到大型的信息系統(tǒng)大都用先進的數(shù)據(jù)庫技術(shù)來保持系統(tǒng)數(shù)據(jù)的安全性、完整性和共享性。對一個實際的系統(tǒng)來說,數(shù)據(jù)庫表的設(shè)計在遵循數(shù)據(jù)庫理論的同時,必須能用開發(fā)工具來實現(xiàn)用戶在各方面提出的功能要求。 一個真正的、完整的站點是離不開數(shù)據(jù)庫的,因為少量的數(shù)據(jù),如網(wǎng)頁訪問 人數(shù)等完全可以存儲在文本文件中,但實際應(yīng)用中,需要保存的數(shù)據(jù)遠不止這一點點,而且這些數(shù)據(jù)之間往往還有關(guān)聯(lián),利用數(shù)據(jù)庫來管理這些數(shù)據(jù),可以很方便的查詢和更新。可以說一個動態(tài)網(wǎng)站的建設(shè)是離不開一個設(shè)計最優(yōu)的數(shù)據(jù)庫
40、的。我們現(xiàn)在可以使用的數(shù)據(jù)庫有很多種,如:Fox數(shù)據(jù)庫(.dbf)、Access數(shù)據(jù)庫(.mdb)、DB2、Informix、Oracle和SQL Server等等,在本次設(shè)計中,選擇了SQL Server作為后臺數(shù)據(jù)庫工具,因為它功能遠比其它數(shù)據(jù)庫強大,并提供了許多標(biāo)準(zhǔn)的關(guān)系數(shù)據(jù)庫管理功能的支持。 1 概念結(jié)構(gòu)設(shè)計 在系統(tǒng)的數(shù)據(jù)庫設(shè)計中,先要對系統(tǒng)分析得到的數(shù)據(jù)字典中的數(shù)據(jù)存儲進 行分析,分析各數(shù)據(jù)存儲之間的關(guān)系,然后才能得出系統(tǒng)的關(guān)系模式??梢圆捎肊-R圖的方法來進行數(shù)據(jù)結(jié)構(gòu)分析,E-R設(shè)計方法是一種通過E-R圖來描述現(xiàn)實世界信息結(jié)構(gòu)的DB設(shè)計方法。E-R圖由實體、屬性、聯(lián)系三部
41、分組成。 n 1 查詢 考試成績 考生 學(xué)院領(lǐng)導(dǎo) 考試新聞 審核 瀏覽 老師 科目信息 錄入 錄入 試卷 錄入 考試 1 n n 1 n m 1 n 圖3-3 組合E-R圖 考試管理中所涉及到的主要實體集及其屬性如下: 用戶﹛用戶ID,姓名,密碼,系別,班級,性別,職務(wù),專業(yè),權(quán)限﹜; 學(xué)院﹛自動編號,學(xué)院名稱﹜; 考生﹛自動編號,考試編號,考生考號,是否參加考試﹜; 題庫﹛題號,所屬科目,題型,問題,選項1,選項2,選項3,選項4,選項5,選項6,正確答案,是否已選中標(biāo)志﹜; 考試信息﹛
42、編號,科目,試卷總分,單選題數(shù)目,多選題數(shù)目,判斷題數(shù)據(jù),單選題分值,多選題分值,判斷題分值,考試時間長度,開始時間,結(jié)束時間,設(shè)置時間,設(shè)置者,審核者,通過審核時間﹜; 待審核項目﹛項目名稱,項目編號,審核者,審核意見,通過時間,是否已通過審核﹜; 考試新聞{自動編號,新聞編號,新聞標(biāo)題,新聞內(nèi)容,有效期,創(chuàng)建日期,發(fā)布者,審核通過者,審核通過日期}; 考試成績{自動編號,考生考號,姓名,考試科目,考試編號,開始時間,結(jié)束時間,分數(shù)}; 新聞登錄記錄{自動編號,新聞編號,用戶編號}。 2 邏輯結(jié)構(gòu)設(shè)計(E-R圖向關(guān)系模型的轉(zhuǎn)換) E-R圖向關(guān)系模型的轉(zhuǎn)化要解決的問題是如何
43、將實體和實體間的聯(lián)系轉(zhuǎn)換為關(guān)系模式,如何確定這些關(guān)系橫式的屬性和碼。 將圖3-12轉(zhuǎn)換為關(guān)系模型。每個關(guān)系的碼用下劃線表示。 用戶﹛用戶ID,姓名,密碼,系別,班級,性別,職務(wù),專業(yè),是否管理員﹜; 科目﹛自動編號,科目名稱﹜; 考生﹛自動編號,考試編號,考生考號,是否參加考試﹜; 題庫﹛題號,所屬科目,題型,問題,選項1,選項2,選項3,選項4,選項5,選項6,正確答案,難易度﹜; 考試信息﹛編號,科目,試卷總分,單選題數(shù)目,多選題數(shù)目,判斷題數(shù)據(jù),單選題分值,多選題分值,判斷題分值,考試時間長度,開始時間,結(jié)束時間,設(shè)置時間,設(shè)置者,審核者,通過審核時間,難度﹜; 待審核項目
44、﹛項目編號,項目名稱,審核者,審核意見,通過時間,是否已通過審核﹜; 考試新聞{自動編號,新聞編號,新聞標(biāo)題,新聞內(nèi)容,有效期,創(chuàng)建日期,發(fā)布者,審核通過者,審核通過日期}; 考試成績{自動編號,考生考號,姓名,考試科目,考試編號,開始時間,結(jié)束時間,分數(shù)}; 新聞登錄記錄{自動編號,新聞編號,用戶編號}。 3 物理結(jié)構(gòu)設(shè)計 設(shè)計原則如下: 3.1進行規(guī)范化設(shè)計,盡可能地減少數(shù)據(jù)冗余和重復(fù) 合理的數(shù)據(jù)庫表的設(shè)計應(yīng)該是在滿足需求的前提下,使數(shù)據(jù)的重復(fù)量最小,就盡量按照關(guān)系數(shù)據(jù)庫系統(tǒng)理論方法去設(shè)計一個數(shù)據(jù)庫,減少數(shù)據(jù)的冗余。 3.2結(jié)構(gòu)設(shè)計與操作設(shè)計相結(jié)合 在設(shè)計數(shù)據(jù)庫結(jié)構(gòu)時,
45、有時為了編程實現(xiàn)的簡捷和思路的清晰,往往故意增加一些冗余數(shù)據(jù)。這雖然有悖于傳統(tǒng)的關(guān)系數(shù)據(jù)庫理論,但是考慮到選擇的機器型號和檔次等因素,如果增加的冗余不會明顯增加存儲空間和降低處理效率,并且對編程實現(xiàn)有很大幫助,往往可以采用這種方法。 3.3數(shù)據(jù)結(jié)構(gòu)具有相對的穩(wěn)定性 數(shù)據(jù)結(jié)構(gòu)的相對穩(wěn)定性,可以作為新、舊系統(tǒng)轉(zhuǎn)換的依據(jù)。無論采用何種方法或手段去處理日常事務(wù),都應(yīng)該能完成相應(yīng)的功能,決不會因為采用了計算機而丟失 了必要的功能,或徹底改變了原有的工作流程和模式。計算機系統(tǒng)的建成是建立在原系統(tǒng)充分調(diào)研的基礎(chǔ)上的,它既不能脫離原系統(tǒng)的大框架,也不是簡單的重復(fù)和替代。所以數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計應(yīng)保證數(shù)據(jù)的相對
46、穩(wěn)定,這樣才能考慮在新的數(shù)據(jù)結(jié)構(gòu)下的業(yè)務(wù)處理方式。 本系統(tǒng)中關(guān)于數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計如下: 在服務(wù)器上用SQL Sever2000建立名為exam的數(shù)據(jù)庫。其中包括以下表:考試系統(tǒng)用戶信息表(cadre_info),考試系統(tǒng)學(xué)院表(college),考試系統(tǒng)科目信息表(exam_subject),考試系統(tǒng)考生信息表(exam_testuser),考試系統(tǒng)題庫信息表(exam_database),考試系統(tǒng)考試信息表(exam_test),待審核項目信息表(waitforpass),考試新聞信息表(exam_news),考試成績信息表(exam_score),考試系統(tǒng)新聞登錄日志表(exam_ne
47、ws_logs)。下面將具體介紹數(shù)據(jù)庫中各個表的結(jié)構(gòu)。 字段名 類型 備注 UserID nvarchar 用戶ID UserName nvarchar 用戶的真實姓名 Pwd nvarchar 用戶密碼 sex Char 性別 college nvarchar 學(xué)院 speciality nvarchar 專業(yè) S_class nvarchar 班級 status nvarchar 權(quán)限 phone nvarchar 聯(lián)系電話 qq nvarchar Qq havepass int 是否通過審批
48、表3-1考試系統(tǒng)用戶信息表(cadre_info) 字段名 類型 備注 testid nvarchar 考試編號 subject nvarchar 考試科目 totalper int 試卷總分 singlecount int 單選題數(shù)目 multicount int 多選題數(shù)目 judgecount int 判斷題數(shù)目 singleper int 單選題分值 multiper int 多選題分值 judegper int 判斷題分值 testime int 考試時間長度(小時) starttime
49、 datetime 開始時間 endtime datetime 結(jié)束時間 settime datetime 設(shè)置時間 setuserid nvarchar 設(shè)置者 passuserid nvarchar 審核者 pastime datatime 通過審核時間 表3-2考試系統(tǒng)考試信息表(exam_test) 3.2.2 數(shù)據(jù)庫的完整性和安全性 1 數(shù)據(jù)庫的完整性 數(shù)據(jù)庫的完整性是指數(shù)據(jù)的正確性和相容性。數(shù)據(jù)庫管理系統(tǒng)(DBMS)用 一定的機制來檢查數(shù)據(jù)庫中
50、的數(shù)據(jù)是否滿足規(guī)定的條件——完整性約束條件,數(shù)據(jù)的約束條件是語義的體現(xiàn),將作為模式的一部分存入數(shù)據(jù)庫中。 本系統(tǒng)中定義了表與表之間的聯(lián)系有助于實現(xiàn)完整性規(guī)則,一般在程序中實現(xiàn)具體的完整性控制。 2 數(shù)據(jù)庫的安全性 數(shù)據(jù)庫的安全性是指保護數(shù)據(jù)庫以防止不合法的使用所造成的數(shù)據(jù)泄漏、更 改或破壞。在數(shù)據(jù)庫考試信息﹛編號,科目,試卷總分,單選題數(shù)目,多選題數(shù)目,判斷題數(shù)據(jù),單選題分值,多選題分值,判斷題分值,考試時間長度,開始時間,結(jié)束時間,設(shè)置時間,設(shè)置者,審核者,通過審核時間,難度﹜; 待審核項目﹛項目編號,項目名稱,審核者,審核意見,通過時間,是否已通過審核﹜; 考試
51、新聞{自動編號,新聞編號,新聞標(biāo)題,新聞內(nèi)容,有效期,創(chuàng)建日期,發(fā)布者,審核通過者,審核通過日期}; 考試成績{自動編號,考生考號,姓名,考試科目,考試編號,開始時間,結(jié)束時間,分數(shù)}; 新聞登錄記錄{自動編號,新聞編號,用戶編號}。 3 物理結(jié)構(gòu)設(shè)計 設(shè)計原則如下: 3.1進行規(guī)范化設(shè)計,盡可能地減少數(shù)據(jù)冗余和重復(fù) 合理的數(shù)據(jù)庫表的設(shè)計應(yīng)該是在滿足需求的前提下,使數(shù)據(jù)的重復(fù)量最小,就盡量按照關(guān)系數(shù)據(jù)庫系統(tǒng)理論方法去設(shè)計一個數(shù)據(jù)庫,減少數(shù)據(jù)的冗余。 3.2結(jié)構(gòu)設(shè)計與操作設(shè)計相結(jié)合 在設(shè)計數(shù)據(jù)庫結(jié)構(gòu)時,有時為了編程實現(xiàn)的簡捷和思路的清晰,往往故意增加一些冗余數(shù)據(jù)。這雖然有悖于傳
52、統(tǒng)的關(guān)系數(shù)據(jù)庫理論,但是考慮到選擇的機器型號和檔次等因素,如果增加的冗余不會明顯增加存儲空間和降低處理效率,并且對編程實現(xiàn)有很大幫助,往往可以采用這種方法。 3.3數(shù)據(jù)結(jié)構(gòu)具有相對的穩(wěn)定性 數(shù)據(jù)結(jié)構(gòu)的相對穩(wěn)定性,可以作為新、舊系統(tǒng)轉(zhuǎn)換的依據(jù)。無論采用何種方法或手段去處理日常事務(wù),都應(yīng)該能完成相應(yīng)的功能,決不會因為采用了計算機而丟失 了必要的功能,或徹底改變了原有的工作流程和模式。計算機系統(tǒng)的建成是建立在原系統(tǒng)充分調(diào)研的基礎(chǔ)上的,它既不能脫離原系統(tǒng)的大框架,也不是簡單的重復(fù)和替代。所以數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計應(yīng)保證數(shù)據(jù)的相對穩(wěn)定,這樣才能考慮在新的數(shù)據(jù)結(jié)構(gòu)下的業(yè)務(wù)處理方式。 本系統(tǒng)中關(guān)于數(shù)據(jù)庫表結(jié)
53、構(gòu)設(shè)計如下: 在服務(wù)器上用SQL Sever2000建立名為exam的數(shù)據(jù)庫。其中包括以下表:考試系統(tǒng)用戶信息表(cadre_info),考試系統(tǒng)學(xué)院表(college),考試系統(tǒng)科目信息表(exam_subject),考試系統(tǒng)考生信息表(exam_testuser),考試系統(tǒng)題庫信息表(exam_database),考試系統(tǒng)考試信息表(exam_test),待審核項目信息表(waitforpass),考試新聞信息表(exam_news),考試成績信息表(exam_score),考試系統(tǒng)新聞登錄日志表(exam_news_logs)。下面將具體介紹數(shù)據(jù)庫中各個表的結(jié)構(gòu)。 數(shù)據(jù)庫的完整
54、性是指數(shù)據(jù)的正確性和相容性。數(shù)據(jù)庫管理系統(tǒng)(DBMS)用 一定的機制來檢查數(shù)據(jù)庫中的數(shù)據(jù)是否滿足規(guī)定的條件——完整性約束條件,數(shù)據(jù)的約束條件是語義的體現(xiàn),將作為模式的一部分存入數(shù)據(jù)庫中。 本系統(tǒng)中定義了表與表之間的聯(lián)系有助于實現(xiàn)完整性規(guī)則,一般在程序中實現(xiàn)具體的完整性控制。 2 數(shù)據(jù)庫的安全性 數(shù)據(jù)庫的安全性是指保護數(shù)據(jù)庫以防止不合法的使用所造成的數(shù)據(jù)泄漏、更 改或破壞。在數(shù)據(jù) 系統(tǒng)中,大量的數(shù)據(jù)集中存放,而且為許多用戶直接共享, 是寶貴的信息資源,系統(tǒng)的安全保護措施就顯得更為重要,它保護數(shù)據(jù)庫防止惡 意的破壞和非法的存取。 本系統(tǒng)包括數(shù)據(jù)庫的安全和服務(wù)器的安
55、全。采用管理員表示和鑒定的方法實 現(xiàn)數(shù)據(jù)庫的安全,此安全管理措施并不在前臺開發(fā)工具中實現(xiàn),而是在后臺數(shù)據(jù) 庫中實現(xiàn)。在登錄數(shù)據(jù)庫時,系統(tǒng)讓用戶表示自己的身份,不同的用戶權(quán)限不同,系統(tǒng)進行核實,鑒別此用戶是否為合法用戶,若是,系統(tǒng)進一步核實用戶,通常要求用戶輸入口令,系統(tǒng)和對用戶口令以鑒別用戶身份。 3.3 功能模塊設(shè)計 軟件所實現(xiàn)的功能強弱是衡量一個軟件的最根本的標(biāo)準(zhǔn)。經(jīng)過對系統(tǒng)的可行 性分析、需求分析、數(shù)據(jù)分析以及數(shù)據(jù)庫設(shè)計后,結(jié)合調(diào)研的情況,確定了本子 系統(tǒng)的功能模塊如圖3-13所示。 圖3-13 系統(tǒng)功能模塊圖 3.4 代碼設(shè)計
56、 通過對數(shù)據(jù)庫表及彼此之間的聯(lián)系進行分析,為了便于使用者進行操作和管 理,需要對有關(guān)代碼進行統(tǒng)一設(shè)計?,F(xiàn)以學(xué)號為考號設(shè)計為例: 考慮到一個學(xué)校有很多學(xué)院,每個學(xué)校又分別有數(shù)個專業(yè),所以要想設(shè)計能 唯一標(biāo)識一個學(xué)生的學(xué)號(又稱為考號)可采用如下編碼方案: ×× ×× ×× 學(xué)生在班級中的序號如03等 班級中的序號如01等 學(xué)院 3.
57、5 系統(tǒng)輸出設(shè)計 無紙化網(wǎng)絡(luò)考試系統(tǒng)的最終用戶是對計算機操作較為熟練的人員,從他們的 應(yīng)用需求出發(fā),系統(tǒng)全部采用類似WINDOWS風(fēng)格的界面,清晰直觀,人機交互性 好,只需要用戶會最基本的WINDOWS操作和拼音輸入法,就可用好本系統(tǒng)。 3.5.1 有關(guān)輸出信息使用方面的設(shè)計: 使用者:學(xué)院領(lǐng)導(dǎo)、老師、學(xué)生等。 報告量:關(guān)于某次考試的成績系統(tǒng)管理員和老師及學(xué)生都可查詢到。 使用周期:略。 3.5.2 輸出報表的設(shè)計 本系統(tǒng)的報表為學(xué)生成績報表,管理員輸入相應(yīng)的密碼后可查到所有學(xué)生的成績,學(xué)生可查到自已的學(xué)生成績。 3.6 系統(tǒng)輸入設(shè)計 3.6.1 數(shù)據(jù)的收集方式
58、 根據(jù)各校目前實際,采用人工收集數(shù)據(jù)的方式,這種形式雖然速度慢,出錯率高,但仍是目前學(xué)生成績處理的主要收集數(shù)據(jù)方式。 3.6.2 數(shù)據(jù)的輸入方式 采用傳統(tǒng)的手工數(shù)據(jù)輸入方式,終端用戶從原始單據(jù)上獲取數(shù)據(jù)。 3.6.3 輸入設(shè)備的選擇 鍵盤-終端 3.6.4 試卷 要求要有試卷名稱、題號、題目內(nèi)容、出卷人、分值,難度 3.6.5 輸入的屏幕設(shè)計 屏幕上通過人機對話輸入是目前廣泛使用的輸入方式。因為是人 機對話,既有用戶輸入,又有計算機的輸出。 3.7 系統(tǒng)處理流程圖設(shè)計 系統(tǒng)的處理流程圖是系統(tǒng)流程圖的展開和具體化,系統(tǒng)流程圖對每一處理功 能只是列
59、出其處理功能名稱,而處理流程圖則使用和種符號具體地規(guī)定了處理過 程內(nèi)的各個步驟(包括程序名和文件名) 學(xué)生名單 課程設(shè)置表 班級設(shè)置表 錄入數(shù)據(jù)模塊 學(xué)生信息 班級信息 課程信息 試卷及考試新聞 考試 查詢有關(guān)考試 信息 試題庫及新聞庫 成績報表 圖3-15處理流程圖 4 系統(tǒng)實施 系統(tǒng)實施在管理信息系統(tǒng)的生命周期中,要繼承此前各階段的工作,將技術(shù)設(shè)計轉(zhuǎn)化成為物理實現(xiàn),是系統(tǒng)建設(shè)的實現(xiàn)階段。因此,系統(tǒng)實施的成果將是系統(tǒng)分析和設(shè)計階段的結(jié)晶。 4.1 數(shù)據(jù)庫連接的建立 本系統(tǒng)使
60、用的數(shù)據(jù)庫為SQL Server,首先需要安裝SQL server,在安裝好 SQL Server后,運行企業(yè)管理器,建立一個名為exam的數(shù)據(jù)庫。然后新建如本 文§3.3所示的各個表。建立好數(shù)據(jù)庫后,需要建立網(wǎng)站業(yè)面與后臺服務(wù)器的連 接。代碼如下: <% dim conn dim strcnn Set conn = Server.CreateObject("ADODB.Connection") strcnn="Provider=sqloledb;User id=sa;Password=sa;database=exam;Data Source=(local)" conn.Op
61、en strcnn %> 其中User id為用戶名,password為密碼。 因為這段代碼幾乎在下面的每個動態(tài)頁面中都要使用,所以為了設(shè)計的方便 可以把它單獨封裝為一個文件,名為conn.inc,后面如果需要與數(shù)據(jù)庫建立連 接只需要在頁面代碼的前面將這個文件包含進去就行了。 4.2 各子系統(tǒng)模塊程序設(shè)計舉例 4.2.1 用戶登陸界面的實現(xiàn) 本網(wǎng)站用戶分為三個權(quán)限,分別為學(xué)生、老師和管理員。我在系統(tǒng)用戶表中設(shè)置了一個權(quán)限屬性,用戶登錄時,首先判斷是用戶密碼是否正確,錯誤則提示;然后則進行權(quán)限的判斷,不同權(quán)限的用戶進入不同的管理頁面,實現(xiàn)不同的功能,當(dāng)用戶選擇錯誤權(quán)限
62、時,系統(tǒng)會提示你重新選擇。 4.2.2 管理員頁面的實現(xiàn) +++的鏈接)。 2 生成試卷,計時并防刷新。 選擇好考試科目后,考生進入考場考試。這時系統(tǒng)需要完成的幾個重要功能是:首先生成考試時試卷中的題目,然后計時,還要防止刷新,整個頁面其實就是一個大的表單,內(nèi)嵌一個計時頁面。表單只需要在頁面上做好一個然后通過循環(huán)生成即可。計時系統(tǒng)使用javascript實現(xiàn)的,具體可參考paper.asp文件。 5 技術(shù)點和難點 在整個系統(tǒng)的開發(fā)過程中,遇到了很多的問題。從發(fā)現(xiàn)問題到解決問題的過程,也是一個學(xué)習(xí)的過程,很多平??雌饋淼暮芎唵吻袕?fù)雜的細節(jié)問題,都正真的掌握了。
63、5.1 技術(shù)點 5.1.1 多條件查詢 在試題查詢和用戶查詢時,因為要用有多個查詢條件,如果只是其中的一個的 條件查詢,就會顯得單調(diào),不能很精確地查詢到用戶所需的資料。在這個系統(tǒng)中,我把多個查詢條件一起查詢。在script塊內(nèi)function()判斷各查詢條件是否為空值,如為空,則提示你為查詢所有的資料。在查詢時,先用request把查詢框的數(shù)據(jù)讀出來,通過select語句查詢相應(yīng)的數(shù)據(jù)表,結(jié)果在當(dāng)前頁面里動態(tài)分頁顯示。 5.1.2 全選按鈕 在我們平時刪除用戶時,很常遇到這樣的一個問題:全部的資料都是沒用的,想一下子全刪除了,不過系統(tǒng)切沒有這樣的功能,只好一個一個地刪除
64、,麻煩。設(shè)計這個系統(tǒng),為了解決這個問題,我用了一個全選按鈕,用戶想刪除幾個也行,當(dāng)前頁面的全部選擇也行,方便易用。在script塊內(nèi)function CheckAll()里用for判斷form里面有是否全部選擇,實用易懂。 5.1.3 難度的設(shè)置 對于不同的考生,所要求掌握的知識則不同,因此考試時,就應(yīng)該生成不同的試 卷。在數(shù)據(jù)庫中,我設(shè)置了一個難度表,表示試卷的難度。在老師生成試卷時,有一個難度參數(shù)設(shè)置,設(shè)置了多少,系統(tǒng)會自動計算困難度的試題有多少,容易度的試題又有多少,當(dāng)題庫的題量不夠里,就會提示相應(yīng)是相應(yīng)難度的試題不夠,提醒老師修改試卷設(shè)置或增加題庫。因為難度的設(shè)置為小數(shù),有可能出
65、現(xiàn)小數(shù)的題量,則要要求系統(tǒng)取整,我是用了Rount()來四舍五入取整,比較符合難度的設(shè)置,如果用fix(),就不是很適合。例如:3.2和3.9,用fix()都是取整為3;而用Rount(),則取整為3和4。 5.2 難點 5.2.1 recordcount問題 我在系統(tǒng)開發(fā)時大量用到recordcount來統(tǒng)計查詢記錄的總和,但是每次都會出現(xiàn)recordcount=-1,網(wǎng)上查看資料才知道,使用以下兩種方法來執(zhí)行SQL語句: Set?Rs=Conn.Execute(Sqlr) 和 Set?Rs =Server.CreateObject(“ADODB.RecordSet“)
66、 Rs.Open?Sql,Conn,CursorType,LockType 由于默認的記錄集游標(biāo)是服務(wù)器游標(biāo),Rs.CursorLocation?=?adUseServer 所以返回Rs.RecordCount=-1,應(yīng)該把服務(wù)器游標(biāo)改為客戶端游標(biāo), Rs.CursorLocation?=?adUseClient。這個方法有時是行,但有時切不知乍回事,還是取不了值。例如: 在生成試卷時,要判斷題庫里的試題是否夠生成試卷,用recordcount不行 所以我只好用了count(*) as rec_count 讀出查詢記錄列的總數(shù),再和試卷所需題量比較。還有在分頁時也是一樣。 5.2.2 隨機生成試卷問題 剛開始的時候,我想到用randomize取隨機數(shù),從數(shù)據(jù)庫中讀取題(分別單選,多選,判斷)各有幾道,如各有X,Y,Z道,再分別產(chǎn)生在X,Y,Z之間的隨機數(shù),然后用循環(huán)語句(循環(huán)的次數(shù)分別是試卷的單選題數(shù)目、多選題數(shù)目、判斷題數(shù)目)使游標(biāo)移到以隨機數(shù)為ID的記錄(即題目),讀出并顯示。但莫名甚妙的出現(xiàn)“下標(biāo)越界“的問題,解決不了。應(yīng)該又是那個RecordCount的問題,
- 溫馨提示:
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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代文閱讀之小說人物形象課件
- 3第12課蘇東的艱難探索
- 《第二節(jié)--探究環(huán)境污染對生物的影響》課件-(同課異構(gòu))2022年課件
- 牛津譯林版七下英語7bunit1dreamhomesreading課件1
- 六年級語文《一個這樣的老師》教學(xué)課件
- 六年級安全教育-運動的自我監(jiān)控課件
- 五年級下冊數(shù)學(xué)優(yōu)秀教學(xué)課件《解決問題》人教新課標(biāo)
- 27清澈的湖水 (2)
- 49稍復(fù)雜的分數(shù)乘法應(yīng)用題練習(xí)
- 江蘇省高考物理二輪復(fù)習(xí)專題一力與物體的平衡課件
- 小松鼠找花生課件(教育精品)
- 22跨越海峽的生命橋 (2)
- 人力資源環(huán)境分析
- 《空氣》課件-(省優(yōu))2022年人教版化學(xué)課件-2
- 鐵路與城市軌道交通振動與噪聲