【文章內(nèi)容簡介】
再需要重新編譯或者更改全部的層了。這是個很強大的功能。例如,如果把數(shù)據(jù)訪問代碼與業(yè)務邏輯層分離,當數(shù)據(jù)庫服務器更改后,你只需要更改數(shù)據(jù)訪問的代碼,因為業(yè)務邏輯層是不變的,因此不 需要更改或者重新編譯業(yè)務邏輯層。應用程序通常有三層:表現(xiàn)層、業(yè)務層和數(shù)據(jù)層。表現(xiàn)層( Presentation Layer)用于用戶接口的展示,以及用業(yè)務層的類和對象來 “驅動 ”這些接口。在 C.NET 中,該層包括 aspx 頁面、用戶控制、服務器控制以及某些與安全相關的類和對象。業(yè)務層( Business Tier)用于訪問數(shù)據(jù)層,從數(shù)據(jù)層取數(shù)據(jù)、修改數(shù)據(jù)以及刪除數(shù)據(jù),并將結果返回給表現(xiàn)層。數(shù)據(jù)層( Data Tier)是數(shù)據(jù)庫或者數(shù)據(jù)源。在 .NET 中,通常它是一個 SQL Server 或 Access 數(shù)據(jù)庫,但不僅限于 此兩種形式,它還可能是 Oracle, mySQL,甚至是 XML。 SQLHelper 類 SqlHelper 是一個基于 NET Framework 的數(shù)據(jù)庫操作組件。組件中包含數(shù)據(jù)庫操作方法。 SqlHelper 用于簡化你重復的去寫那些數(shù)據(jù)庫連接( SqlConnection) ,SqlCommand,SqlDataReader 等等。 SqlHelper 封裝過后通常是只需要給方法傳入一些參數(shù)如數(shù)據(jù)庫連接字符串, SQL 參數(shù)等,就可以訪問數(shù)據(jù)庫了,很方便。 3 需求分析 可行性分析 系統(tǒng)的可行性 客戶端 /服務器架構的數(shù)據(jù)庫應用程序已有很久的發(fā)展歷程,所以其技術已十分成熟和完善,并且其應用的領域已十分廣泛。試卷自動生成系統(tǒng)所用到的C.NET 技術就可以實現(xiàn)試卷自動生成系統(tǒng)的代碼編寫。本系統(tǒng)運用了 C.NET技術,然后利用 SQL Server +C.NET 的架構,又因為 SQL Server 和 C.NET 可以兼容,所以可以容易的建立起一個穩(wěn)定的試卷自動生成系統(tǒng)。 系統(tǒng)的必要性 在如今的信息飛速發(fā)展的時代,充分利用計算機給我們帶來的便利,可以使我們做事的效率大大提高。 具體所述其中一點,就是通過計算機來管理我們的試卷(自動生成)可以節(jié)省我們大量的人力、物力、財力和一去不復返的時間,而其最大的作用就是做到了人類無法做到的絕對公平,給像我們這樣的普通學子莫大的動力,會讓我們更加有信心的去改善、提高我們自己的能力,做出我們自己該有的貢獻。更何況現(xiàn)在計算機技術發(fā)展的速度和計算機的普及可以使我們很方 便使用該系統(tǒng),所以開發(fā)該系統(tǒng)是一件勢在必行的事情。 系統(tǒng)需求 功能需求 從試卷自動生成系統(tǒng)的特點可知,可以將其分為系統(tǒng)用戶登錄模塊、身份驗證模塊、題庫添加刪除修改功能 模塊、試卷生成模塊、用戶添加刪除修改功能模塊、成績查詢模塊、學生答卷模塊等七個主要部分。 ( 1)、系統(tǒng)用戶登錄模塊:當用戶登錄到考試系統(tǒng)時,首先要求輸入用戶名和密碼,按下確定后進行身份驗證,如果沒有通過身份驗證,根據(jù)驗證結果進行不同的操作,說明沒有通過的原因。沒有通過的原因可能為輸入的姓名和密碼錯誤,該用戶不存在等; ( 2)、身份驗證模塊:當用戶進入考試系統(tǒng)時,系統(tǒng)根據(jù)不同的情況返回不同的值,以判別該用戶是老師、學生還是管理者; ( 3)、題庫添加刪除修改功能模塊:主要完成教師對題庫的操作,包含試題的錄入,查 看,刪除及修改; ( 4)試卷生成模塊:主要根據(jù)不同的條件從題庫中選出符合要求的試題生成試卷; ( 5)用戶添加刪除修改功能模塊(管理者):對系統(tǒng)用戶登錄系統(tǒng)的人員進行統(tǒng)一管理,并賦予不同的權限; ( 6)成績查詢模塊:當考生用戶登錄后,可根據(jù)自己做的試卷進行成績的查詢; ( 7)學生答卷模塊:學生用戶登錄后,可直接進行考試,考完以后顯示評分結果及正確的答案。 系統(tǒng)的性能需求 從前面所做的可行性分析和功能的需求可知,試卷自動生成系統(tǒng)運用后,應達到的系統(tǒng)性能標準如下: ( 1) 由于系統(tǒng)的使用人員較多 ,應設置明確的使用權限; ( 2)需要嚴格按照操作功能來分配權限; ( 3)實現(xiàn)每個用戶成績的綜合管理,并鏈接到相應分數(shù)的試題,方便用戶對成績和試卷的隨時查閱; ( 4)在題庫和用戶的刪除情況下要具有方便的刪除 性 能; ( 5)在系統(tǒng)的自主生成題目的情況下能夠做到題目的完全隨機篩選,做到公平公正; ( 6)在考生提交試卷后,能夠快速對照系統(tǒng)自帶的標準答案做到無誤的分數(shù)統(tǒng)計,并將總分呈現(xiàn)在考生面前,減少人工干預; 4 系統(tǒng) 設計 系統(tǒng)數(shù)據(jù)庫設計 由于做試卷自動生成系統(tǒng)的目的就是為了廣大學子的公平競爭所以需要考慮到 試題數(shù)據(jù)的廣泛性(也就是具有代表性)和準確性等問題, Microsoft SQL 20xx 相對于其他的數(shù)據(jù)庫,有著安全性高,處理速度快,并且還具有存儲功能,這也就滿足了我們教育考核方面的需求。 在設計試卷自動生成系統(tǒng)之前,首先說明下數(shù)據(jù)庫的基本概念和本系統(tǒng)有關的一些數(shù)據(jù)表。 數(shù)據(jù)庫概念 以數(shù)據(jù)庫為核心的計算機信息系統(tǒng),在數(shù)據(jù)庫管理系統(tǒng)的支持下,進行信息的收集、整理、存儲、檢索、更新、加工、統(tǒng)計和傳播等操作。 就其數(shù)據(jù)庫應用開發(fā)來說,目的是使現(xiàn)實世界的計算機化,并且對計算機化的信息進行各種操作,也就 是怎樣利用數(shù)據(jù)庫管理系統(tǒng)、系統(tǒng)軟件和相關硬件系統(tǒng),為了能夠使用戶的要求變成有效的數(shù)據(jù)結構,并且使數(shù)據(jù)庫結構易于實現(xiàn)用戶新的要求的過程。 更準確的說,數(shù)據(jù)庫設計就是說給定一個應用環(huán)境,提供一種邏輯設計就是 確定最優(yōu)數(shù)據(jù)模型與處理模式,以及一種物理設計就是確定數(shù)據(jù)庫存儲結構與存儲方法,建立起既能反應現(xiàn)實世界信息和信息聯(lián)系,滿足用戶數(shù)據(jù)要求和加工要求,又能被某個數(shù)據(jù)庫管理系統(tǒng)所接受,與此同時還能實現(xiàn)系統(tǒng)目標,并且能夠有效存取數(shù)據(jù)的數(shù)據(jù)庫。 其實數(shù)據(jù)庫就是指與應用程序彼此獨立的相關聯(lián)的數(shù)據(jù)集合(特點就是以一定的組織 方式存儲在一起,能為多個用戶所共享)。但數(shù)據(jù)庫系統(tǒng)是指實現(xiàn)有組織的動態(tài)的存儲大量關聯(lián)數(shù)據(jù),支持多用戶訪問的計算機軟硬件資源與數(shù)據(jù)庫管理員組成的系統(tǒng)。個人系統(tǒng)是按用戶的需求進行數(shù)據(jù)庫定義、存取、運行、建立和維護功能,系統(tǒng)的數(shù)據(jù)庫定義模型如圖 所示。 各 種 ( 源 )程 序模 式 翻譯 程 序各 種 ( 目的 ) 程 序圖 數(shù)據(jù)庫定義模型圖 ER圖 由對系統(tǒng)模塊和需求分析,可以得到滿足用戶需求的各種實體及它們的關系圖。 本系統(tǒng)有關的實體主要有用戶信息、題庫信息、成績記錄信息、考試科目信息、教師 信息、管理員信息等實體的 ER 圖。 總關系 ER 圖如 4 所示。 1 : n1 : 11 : 11 : 11 : nA d m i n I dA d m i nA d m i n N am eA d m i n P a s sw o r dT e a c h e r N am eT e a c h e rT e a c h e r P a ss w o r dS u b j e c t I dT e a c h e r I dS t u d e n t N am eS t u d e n tS t u d e n t P a ss w o r dS t u d e n t I dS t u d e n t C l as sS t u d e n t G r ad eS u b j e c t I dL e s s o nS u b j e c t N am eA d d t i m eS u b j e c t I dT e x tT o p i c I dT o p i c N a m eA n s w e r AA n s w e r DA n s w e r CA n s w e r BA n s w e r R i g h tS u b j e c t I dS c o r eT o p i c I dS t u d e n t I d A n s w e rS c o r en : n1 : 1n : nn : n圖 4 總實體 ER 圖 各支部 ER 圖如下: ( 1)用戶信息實體 用戶信息實體用于描述登陸用戶的基本屬性,比如姓名、學號、年級、班級等屬性。用戶信息實體 ER 圖如圖 所示。 S t u d e n t N am eS t u d e n tS t u d e n t P a ss w o r dS t u d e n t I dS t u d e n t C l as sS t u d e n t G r ad e 圖 用戶信息實體 ER 圖 ( 2)題庫信息實體 題庫信息實體是用來表示入庫的一些題目信息,如題目的題型(選擇題、判斷題、填空題、簡答題、應用題 等),圖書信息實體 ER 圖如圖 所示。 S u b j e c t I dT e x tT o p i c I d T o p i c N a m eA n s w e r AA n s w e r DA n s w e r CA n s w e r BA n s w e r R i g h t 圖 圖書信息實體 ER 圖 ( 3)成績記錄信息實體 成績記錄信息實體是為了給廣大用戶提供成績查詢的通道,考生在規(guī)定的時間內(nèi)完成測試,否則系統(tǒng)會自動交卷,試后考生可以及時了解自己學習掌握知識的情況,以便于在學習的過程中充實自己。成績記錄信息實體 ER 圖如圖 所示。 S u b j e c t I dS c o r eT o p i c I dS t u d e n t I dA n s w e rS c o r e 圖 成績記錄信息實體 ER 圖 ( 4)考試科目信息實體 考試科目 信息實體是給予不同的考生選擇不同的測試題目,所以系統(tǒng)的添加些不同科目的考試試題??荚嚳颇啃畔嶓w ER 圖如圖 所示。 S u b j e c t I dL e s s o nS u b j e c t N am eA d d t i m e 圖 考試科目信息實體 ER 圖 ( 5)教師信息實體 由于老師需要對學生考試成績進行管理,所以需要存儲各個科目的教師信息。教師信息實體 ER 圖如圖 所示。 T e a c h e r N am eT e a c h e rT e a c h e r P a ss w o r dS u b j e c t I dT e a c h e r I d 圖 教師信息實體 ER 圖 ( 6)管理員信息實體 開發(fā)試卷自動生成系統(tǒng)時,考慮到系統(tǒng)的靈活運用 等問題,需要管理員進行維護。則管理員信息實體 ER 圖如圖 所示。 A d m i n I dA d m i nA d m i n N am eA d m i n P a s sw o r d 圖 管理員信息實體 ER 圖 系統(tǒng)數(shù)據(jù)表設計 綜合了解本設計的情況以及用戶的需求,根據(jù)設計好的 ER 圖在數(shù)據(jù)庫中創(chuàng)建各表,數(shù)據(jù)庫中各表結構如下。 ( 1) tb_Student(用戶信息表 ) 表 tb _Student 用于存儲所有用戶的信息,該數(shù)據(jù)表的結構如表 41 所示。 表 41 用戶信息表結構 (2) tb_test(題庫信息表 ) 表 tb_test 是用來保存 所有試題信息,該數(shù)據(jù)表結構如表 42 所示。 表 42 題庫信息表結構 ( 3) tb_Score(成績記錄信息表) 表 tb_Score 是用來保存所有用戶的考試信息記錄,該數(shù)據(jù)表結構如表 43 所示。 表 43 成績記錄信息表結構 ( 4) tb_Lesson(考試科目信息表 ) 表 tb_Lesson 是用來保存所有考試科目信息,該數(shù)據(jù)表結構如表 44 所示。 表 44 考試科目信息表結構 ( 5) tb_Teacher(教師信息表 ) 表 tb_Teacher 是用來保存所有教師信息,該數(shù)據(jù)表結構如表 45 所示。 表 45 教師信息表結構 ( 6) tb_Admin (管理員信息表 ) 表 tb_Admin 是用來保存所有管理員信息,該數(shù)據(jù)表結構如表 46 所示。 表 46 管理員信息表結構 系統(tǒng)實現(xiàn)流程 圖 試卷自動生成系統(tǒng)的流程 圖如圖 所示。 系 統(tǒng) 登 錄是 否 登 錄判 斷 身 份試 題信 息管 理考 試結 果管 理個 人信 息維 護閱 讀 考 試 規(guī) 則選 擇 考 試 科 目開 始 考 試交 卷 評 分管 理員 信息 維護考 試結 果管 理科 目信 息管 理試 題信 息管 理教 師信 息管 理學 生信 息管 理否管 理 員學 生教 師是 圖 試卷自動生成系統(tǒng)的 流程 圖