【正文】
流程 : 可選操作流程 : 被包含的用例 : 被擴展的用例 : 1 進入主頁 2 登錄系統(tǒng) 3 選擇對應(yīng)管理菜單 4 選擇相應(yīng)的功能 用戶注冊、選擇課程、在線考試、查看成績、修改資料 用戶注冊、選擇課程、在線考試、查看成績、修改資料 登錄 圖 35 用戶 管理用例( UC_001) 考試管理用例分析 圖 36 考試管理用例圖 如圖 36,考試管理模塊主要包括:閱讀考試規(guī)則、選擇課程、準(zhǔn)備考試、開始考試、自動閱卷、查看成績六個功能組成??荚嚬芾碛美缦聢D 37 所示: 16 用例名稱: 系統(tǒng)總體用例――考試管理用例 標(biāo)識符 : 用例描述 : 參與者 : 優(yōu)先級 : 狀態(tài) : 前置條件 : 后置條件 : UC_002 用戶對考試操作進行管理 用戶 一般 審核通過 用戶登錄系統(tǒng) 基本操作流程 : 可選操作流程 : 被包含的用例 : 被擴展的用例 : 1 進入主頁 2 登錄系統(tǒng) 3 選擇對應(yīng)管理菜單 4 選擇相應(yīng)的功能 考試規(guī)則、選擇課程、準(zhǔn)備考試、開始考試、自動閱卷、查看成績 考試規(guī)則、選擇課程、準(zhǔn)備考試、開始考試、自動閱卷、查看成績 登錄 圖 37 考試管理用例( UC_002) 考試題目管理用例分析 圖 38 考試題目管理用例圖 如圖 38,考題管理模塊主要包括:增加題目、刪除題目、題目分類、套題管理、答案設(shè)置等五個模塊組成。 考試題目管理用例如下圖 39 17 所示: 用例名稱: 考試題目管理 標(biāo)識符 : 用例描述 : 參與者 : 優(yōu)先級 : 狀態(tài) : 前置條件 : 后置條件 : UC_003 管理員對考試題目進行維護 管理員 一般 審核通過 管理員登錄系統(tǒng) 基本操作流程 : 可選操作流程 : 被包含的用例 : 被擴展的用例 : 1 進入主頁,進入后臺 2 登錄系統(tǒng) 3 選擇對應(yīng)管理菜單 4 選擇相應(yīng)的功能 增加題目、刪除題目、題目分類、套題管理、答案設(shè)置 增加題目、刪除題目、題目分類、套題管理、答案設(shè)置 管理員登陸 圖 39 考試題目管理用例圖( UC_003) 成績管理用例分析 圖 310 績查詢用例圖 如圖 310,成績查詢模塊主要包括: 前臺考試者的成績查詢,后臺管理者的成績查看。成績管理用例如下圖 311所示: 18 用例名稱: 成績管理 標(biāo)識符 : 用例描述 : 參與者 : 優(yōu)先級 : 狀態(tài) : 前置條件 : 后置條件 : UC_004 管理員用戶對考成績目進行查詢 管理員、用戶 一般 審核通過 管理員登錄系統(tǒng)、用戶登陸系統(tǒng) 基本操作流程 : 可選操作流程 : 被包含的用例 : 被擴展的用例 : 1 進入主頁 2 登錄系統(tǒng) 3 選擇對應(yīng)管理菜單 4 選擇相應(yīng)的功能 成績查詢 成績查詢 管理員登陸、用戶登陸 圖 311 成績管理用例圖( UC_004) 系統(tǒng)數(shù)據(jù)庫設(shè)計 數(shù)據(jù)庫設(shè)計原則 數(shù)據(jù)庫的設(shè)計按照數(shù)據(jù)庫設(shè)計范式的要求,對數(shù)據(jù)表中的數(shù)據(jù)進行了規(guī)范 ,基本能符合第三范式的數(shù)據(jù)庫開發(fā)。 下面是該系統(tǒng)數(shù)據(jù)庫表的 ER 圖,如圖 312 圖 312ER 圖 19 下面列出了設(shè)計過程中所用到的數(shù)據(jù)庫表及其結(jié)構(gòu): ,如表 31: 1. tb_Lesson 列名 類型 長度 描述 ID bigint 8 課程 ID Name varchar 60 課程名稱 JoinTime datetime 8 加入時間 表 31 tb_Lesson 2. tb_manager 表用來保存管理員信息,如表 32: 列名 類型 長度 描述 ID bigint 8 管理員 ID name varchar 30 管理員名字 PWD varchar 30 管理員密碼 表 32 tb_manageer 表用來保存考試題目,如表 33: 列名 類型 長度 描述 id bigint 8 試題 ID subject varchar 50 科目名 type char 8 試題類型 joinTime datetime 8 加入時間 lessonId int 4 課程 Id taoTiId bigint 8 套題 id optionA varchar 50 選項 A optionB varchar 50 選項 B optionC varchar 50 選項 C optionD varchar 50 選項 D answer varchar 10 答案 note varchar 50 備注 表 33 tb_Questions 表用來保存套題信息,如表 34: tb_TaoTi 列名 類型 長度 描述 ID bigint 8 套題 id name varchar 50 套題信息 LessonID bigint 8 課程 ID JoinTime datetime 8 加入時間 20 表 34: tb_TaoTi 5. tb_Student 表用來保存用戶個人資料,如表 35: tb_Student 列名 類型 長度 描述 ID varchar 16 學(xué)生 ID name varchar 20 學(xué)生姓名 pwd varchar 20 登陸密碼 Sex varchar 2 學(xué)生性別 joinTime datetime 8 注冊時間 Question varchar 50 提示問題 answer varchar 50 問題答案 profession varchar 30 專業(yè) cardNo varchar 18 證件號碼 表 35 tb_Student 6. tb_StuResult 表用來保存學(xué)生考試成績,如表 36: tb_StuResult 列名 類型 長度 描述 id bigint 8 成績編號 stuId varchar 16 學(xué)生 id whichLesson varchar 60 課程 ID resSingle int 4 單選題得分 resMore int 4 多選題得分 resFill int 4 填空題得分 resPD int 4 判斷題得分 resTotal int 4 總得分 jointime datetime 8 加入時間 表 36 tb_StuResult 系統(tǒng)技術(shù)體系 開發(fā)環(huán)境 硬件環(huán)境:支持 windows XP 以上的 CPU, 512M 以上內(nèi)存, 80G 以上硬盤 21 軟件環(huán)境: windows 操作系統(tǒng)、 MySql 、 、 rose、 、powerdesign、 FlashPrinter 格式轉(zhuǎn)換軟件、 AVI格式轉(zhuǎn)換軟件、 FLV 格式轉(zhuǎn)換軟件。 技術(shù)體系 采用 JAVA 語言開發(fā),遵循 J2EE 標(biāo)準(zhǔn),使用 spring、 hibernate、strust 2 的開發(fā)框架,運用了 HTML、 DHTML、 CSS、 Javascript、 AJAX等相關(guān)技術(shù) 22 第 4 章 后臺系統(tǒng)核心部分詳細設(shè)計 考試題目管理是管理員登錄后的重要功能之一,管理員可以根據(jù)要求添加考試題目、刪除考試題目、修改考試題目、查詢考試題目??荚囶}目的類型分為單選題、多選題、填空題、判斷題。管理員登陸相關(guān)頁面后,可以選擇考試題目歸屬于哪套題目哪套課程。這樣管理起來更加多元、更加便捷。 考試題目添加 管理員可以按課程號、套題要求進行單選題、多選題、填空題、判斷題對考試題目添加,添加考試題目時序圖如圖 4- 1 所示 1 、 進 入 并 填 寫 添 加 條 件Q u e s t i o n s A d d . j s p Q u e s t i o n s A d d A c t i o n2 、 調(diào) 用 A c t i o nQ u e s t i o n s D A O3 、 調(diào) 用Q u e s t i o n s . j a v a C o n n D B生 成 s q l 語 句 , 調(diào)用 數(shù) 據(jù) 庫 連 接 文 件S q l 數(shù) 據(jù) 庫5 、 查 詢 數(shù) 據(jù)庫9 :8 :7 :6 : 返 回 結(jié) 果 圖 41 考試題目添加時序圖 23 說明:考試題目 添加是按照如上圖所示流程執(zhí)行。管理員進入 頁面后,調(diào)用相關(guān) Action 活動,由 servlet 接收。Servlet分別調(diào)用 FromBean和 ActionBean來接收表單上數(shù)據(jù)和動作,并傳遞到 Action execute 執(zhí)行相關(guān)程序,更改數(shù)據(jù)庫。得到的結(jié)果返回 JSP 頁面中。 核心代碼如下: public class QuestionsDAO { private ConnDB conn=new ConnDB()。 public int insert(QuestionsForm q) { String sql1=SELECT * FROM tb_questions WHERE subject=39。+()+39。 AND taoTiId=+()+。 ResultSet rs = (sql1)。 (添加時的查詢 +sql1)。 String sql = 。 String answer=。 int falg = 0。 try {if (()) {falg=2。} else { if(().equals(多選題 )){ String[] mOption=(String [])()。 if (0){ String str=。 for(int i=0。i。i++){ str=str+mOption[i]+,。 }str=(0,()1)。 answer=str。 }}else if(().equals(判斷題 )){ answer=()。 }else{answer=()。 } sql = INSERT INTO tb_questions (subject,type,lessonId,taoTiId,optionA,optionB,optionC,optionD,answer,note)values(39。+()+ ,39。+()+39。,+()+,+()+,39。+()+39。,39。+()+39。,39。+etOptionC()+39。,39。+()+39。,39。+answer+39。,39。+()+39。)。 falg = (sql)。 (添加考試題目時的 SQL: + sql)。 ()。} } catch (Exception ex) {falg=0。 24 }finally{ ()。 } return alg。 }說明:該代碼是添加考試題目時對數(shù)據(jù)庫所進行的改變語句。 管 理員信息管理是管理員登錄后的重要功能之一,可以對添加管理員、刪除管理員、修改管理員密碼、查看管理員相關(guān)信息 。 添加管理員信息 添加管理員時,系統(tǒng)會根據(jù)你所提交的信息,先查看數(shù)據(jù)庫中是否有該條信息,若有則添加不成功。添加管理員信息時序圖如圖 4-2 所示 1 、 進 入 管 理 員 信 息 管 理 界面M a n a g e r . j s p M a n a g e r A c t i o n2 、 調(diào) 用 M a n a g e r A c t i o nM a n a g e r D A O3 、 調(diào) 用 M a n a g e r A c t i o n 的 e x e c u t e C o n n D B生 成 s q l 語 句 , 調(diào)用 數(shù) 據(jù) 庫 連 接 文 件S q l 數(shù) 據(jù) 庫