freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于java的在線(xiàn)考試系統(tǒng)的開(kāi)發(fā)軟件工程與計(jì)算機(jī)等專(zhuān)業(yè)-資料下載頁(yè)

2024-12-07 09:41本頁(yè)面

【導(dǎo)讀】合考生分布廣,不易集中的遠(yuǎn)程教育。我主要開(kāi)發(fā)系統(tǒng)的后臺(tái)管理系統(tǒng)??刂茖W(xué)生考試的設(shè)置、試卷審批等功能。運(yùn)用ER圖,程序流程圖。等對(duì)在線(xiàn)管理子系統(tǒng)的設(shè)計(jì)過(guò)程進(jìn)行詳細(xì)的說(shuō)明。開(kāi)發(fā)方案中主要介紹開(kāi)發(fā)在線(xiàn)考試系統(tǒng)得目的、開(kāi)發(fā)方案的選擇及。發(fā)框架的整合技術(shù)、開(kāi)發(fā)框架與數(shù)據(jù)庫(kù)的連接及數(shù)據(jù)的備份與還原。公司的Dreamweaver作為界面美化工具?;緦?shí)現(xiàn)了網(wǎng)上考試系統(tǒng)應(yīng)有的。主要功能模塊,包括:管理員的登錄,管理和維護(hù);用戶(hù)注冊(cè)、登錄、注銷(xiāo),個(gè)人信息的查詢(xún)、修改;考試管理,套題管理,成績(jī)管理。單、操作方便,容易維護(hù)。

  

【正文】 本系統(tǒng)是基于 B/S 架構(gòu)下的多層結(jié)構(gòu)應(yīng)用系統(tǒng)。 B/S( Browser/Server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著 Inter 技術(shù)的興起,對(duì) C/S 結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶(hù)工作界面是通過(guò) WWW 瀏覽器來(lái)實(shí)現(xiàn),極少部分事務(wù)邏輯在前端( Browser)實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端( Server)實(shí)現(xiàn),形成所謂三層 3tier 結(jié)構(gòu)。這樣就大大簡(jiǎn)化了 用戶(hù) 端電腦載荷,減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量,降低了用 戶(hù)的總體成本( TCO) [15]。 在軟件體系架構(gòu)設(shè)計(jì)中,分層式結(jié)構(gòu)是最常見(jiàn),也是最重要的一種結(jié)構(gòu)。推薦的分層式結(jié)構(gòu)一般分為三層,從下至上分別為:數(shù)據(jù)訪問(wèn)(持久)層、業(yè)務(wù)邏輯層(或稱(chēng)為領(lǐng)域?qū)樱?、表示?[16],如圖 32: 圖 32 系統(tǒng)架構(gòu) 總的來(lái)說(shuō),采用分層結(jié)構(gòu)的設(shè)計(jì)思想,可以讓每個(gè)層由一組相關(guān)的類(lèi)或組件構(gòu)成,共同完成特定的功能。層與層之間存在自上而下的依賴(lài)關(guān)系,上層組件會(huì)依賴(lài)下層組件的 API,而下層組件則不依賴(lài)于上層組件。例如:表述層依賴(lài)于業(yè)務(wù)邏輯層,而業(yè)務(wù)邏輯層依賴(lài)于數(shù)據(jù)庫(kù)層。并且每個(gè)層對(duì)對(duì)上層 公開(kāi) API,但具體的實(shí)現(xiàn)細(xì)節(jié)對(duì)外透明。當(dāng)某一層發(fā)生變化,只要 API不變,不會(huì)影響其他層的實(shí)現(xiàn)。 在本系統(tǒng)中,使用開(kāi)源的 mysql 數(shù)據(jù)庫(kù),持久層用到 spring 所集成的Hibernate 技術(shù),業(yè)務(wù)邏輯層用普通 javabean 實(shí)現(xiàn),表述層運(yùn)用基于 struts 的MVC 設(shè)計(jì)模式( struts 用來(lái)做 C 層, spring 實(shí)現(xiàn) V 層與 C層的解耦以及 C 層與 M層的解耦)。 16 數(shù)據(jù)庫(kù)設(shè)計(jì) ER 圖 下面是該系統(tǒng)數(shù)據(jù)庫(kù)表的 ER圖,如圖 34 圖 34 ER 圖 數(shù)據(jù)表的設(shè)計(jì) 下面列出了設(shè)計(jì)過(guò)程中 所用到的數(shù)據(jù)庫(kù)表及其結(jié)構(gòu) : 表用來(lái)保存課程的信息 ,如 表 31: 1. tb_Lesson 列名 類(lèi)型 長(zhǎng)度 描述 ID bigint 8 課程 ID Name varchar 60 課程名稱(chēng) JoinTime datetime 8 加入時(shí)間 表 31 tb_Lesson 2. tb_manager 表用來(lái)保存 管理員 信息, 如表 32: 列名 類(lèi)型 長(zhǎng)度 描述 ID bigint 8 管理員 ID name varchar 30 管理員名字 PWD varchar 30 管理員密碼 表 32 tb_manageer 17 表用來(lái)保存考試題目 , 如表 33: 列名 類(lèi)型 長(zhǎng)度 描述 id bigint 8 試題 ID subject varchar 50 科目名 type char 8 試題類(lèi)型 joinTime datetime 8 加入時(shí)間 lessonId int 4 課程 Id taoTiId bigint 8 套題 id optionA varchar 50 選項(xiàng) A optionB varchar 50 選項(xiàng) B optionC varchar 50 選項(xiàng) C optionD varchar 50 選項(xiàng) D answer varchar 10 答案 note varchar 50 備注 表 33 tb_Questions 表用來(lái)保存套題 信息, 如表 34: tb_TaoTi 列名 類(lèi)型 長(zhǎng)度 描述 ID bigint 8 套題 id name varchar 50 套題信息 LessonID bigint 8 課程 ID JoinTime datetime 8 加入時(shí)間 表 34: tb_TaoTi 5. tb_Student 表用來(lái)保存用戶(hù)個(gè)人 資料 ,如表 35: tb_Student 列名 類(lèi)型 長(zhǎng)度 描述 ID varchar 16 學(xué)生 ID name varchar 20 學(xué)生姓名 pwd varchar 20 登陸密碼 Sex varchar 2 學(xué)生性別 joinTime datetime 8 注冊(cè)時(shí)間 Question varchar 50 提示問(wèn)題 answer varchar 50 問(wèn)題答案 profession varchar 30 專(zhuān)業(yè) cardNo varchar 18 證件號(hào)碼 表 35 tb_Student 18 6. tb_StuResult 表用來(lái)保存學(xué)生考試成績(jī) , 如表 36: tb_StuResult 列名 類(lèi)型 長(zhǎng)度 描述 id bigint 8 成績(jī)編號(hào) stuId varchar 16 學(xué)生 id whichLesson varchar 60 課程 ID resSingle int 4 單選題得分 resMore int 4 多選題得分 resTotal int 4 總得分 jointime datetime 8 加入時(shí)間 表 36 tb_StuResult 系統(tǒng)的類(lèi)設(shè)計(jì) DAO 類(lèi)設(shè)計(jì) 圖 34 dao 類(lèi)設(shè)計(jì) 如圖 34,通過(guò)這個(gè)工廠獲取對(duì)應(yīng)的 DAO,然后使用 DAO 進(jìn)行數(shù)據(jù)庫(kù)操作。 connDB 類(lèi)設(shè)計(jì)(部分) 19 圖 35 connDB 類(lèi)設(shè)計(jì) 這些實(shí)體類(lèi)將通過(guò) servlet 映射到數(shù)據(jù)庫(kù)中 過(guò)濾器類(lèi)設(shè)計(jì) 圖 36 過(guò)濾器類(lèi)設(shè)計(jì) 1 如圖 36,這是編碼過(guò)濾器類(lèi),通過(guò)他可保證頁(yè)面不出現(xiàn)亂碼問(wèn)題。 圖 37 過(guò)濾器類(lèi)設(shè)計(jì) 2 如 圖 37,這是登陸安全過(guò)濾器類(lèi),通過(guò)它來(lái)達(dá)到控制訪問(wèn)權(quán)限的功能。 監(jiān)聽(tīng)器類(lèi)設(shè)計(jì) 如圖 38,“ CartSessionListener”啟動(dòng)時(shí)把 考試 信息初始化到內(nèi)存中,提高系統(tǒng)性能?!?ProductContextListener”啟動(dòng)時(shí)把商品信息初始化到內(nèi)存中,提高系統(tǒng)性能。 20 圖 38 監(jiān)聽(tīng)器類(lèi)設(shè)計(jì) 系統(tǒng)的用例圖 總體用例分析 圖 39 總體用例圖 如圖 39,用戶(hù)管理、 考試 管理、 成績(jī) 管理、 題目管理 四個(gè)模塊構(gòu)成了本網(wǎng)上 考試 系統(tǒng)。 使用者 是指系統(tǒng)用戶(hù),包括 管理者 和 考試者 用戶(hù) 兩種, 考試者 只可以 選擇課程,參加考試,查看成績(jī),修改個(gè)人資料等,管理者通過(guò)用后臺(tái)管理就可以 21 對(duì)試題庫(kù),用戶(hù),成績(jī)進(jìn)行管理。 用戶(hù)管理用例分析 圖 310 用戶(hù)管理用例圖 如圖 310,用戶(hù)管理模塊主要包括:用戶(hù)注冊(cè)、 修改資料 、 選擇課程 、 在線(xiàn)考試、成績(jī) 查詢(xún) 五個(gè)功能組成。 考試 管理用例分析 圖 311 考試 管理用例圖 如圖 311, 考試 管理模塊主要包括: 閱讀考試規(guī)則 、 選擇課程 、 準(zhǔn)備考試 、開(kāi)始考試、自動(dòng)閱卷、查看成績(jī)六 個(gè)功能組成。 22 考試題目 管理用例分析 圖 310 考 試題目 管理用例圖 如圖 312, 考題 管理模塊主要包括: 增加題目、刪除題目、題目分類(lèi)、套題管理、答案設(shè)置等五個(gè)模塊組成。 成績(jī)管理 用例分析 圖 311 績(jī)查詢(xún) 用例圖 如圖 313, 成績(jī)查詢(xún) 模塊主要包括: 前臺(tái)考試者的成績(jī)查詢(xún),后臺(tái)管理者的成績(jī)查看 。 小結(jié) 本章首先分析系統(tǒng)的功能需求,通過(guò)對(duì)系統(tǒng)功能模塊的劃分以及角色的劃分,明確了系統(tǒng)需求,為總體設(shè)計(jì)提供依據(jù)。接下來(lái)闡述了系統(tǒng)的總體設(shè)計(jì)思想, 23 說(shuō)明了本系統(tǒng)是基于 B/S 架構(gòu)下的多層結(jié)構(gòu)應(yīng)用系統(tǒng)。最后通過(guò)對(duì)數(shù)據(jù)庫(kù)、過(guò)濾器、監(jiān)聽(tīng)器、和實(shí)體類(lèi)的設(shè)計(jì)分析,以 及各個(gè)模塊用例圖的描述,形成了開(kāi)發(fā)的整體思路,為下一步編程實(shí)現(xiàn)各個(gè)具體功能鋪平了道路。 第四章 系統(tǒng)的詳細(xì)設(shè)計(jì) 數(shù)據(jù)庫(kù)與 connDB類(lèi) 映射的實(shí)現(xiàn) 前面第二章曾介紹過(guò) connDB 類(lèi)采用 servlet 的形式調(diào)用 DAO 來(lái)對(duì)數(shù)據(jù)庫(kù)實(shí)行更新, 我們可以配置好 Object 和數(shù)據(jù)庫(kù)中表的映射關(guān)系,這樣 connDB 類(lèi) 在啟動(dòng)時(shí)就可以加載 數(shù)據(jù)庫(kù)調(diào)用的類(lèi) ,并可以根據(jù)配置文件對(duì)對(duì)象實(shí)現(xiàn)自動(dòng)的加載,并且可以對(duì)這些 Object 實(shí) 行 自動(dòng)的維護(hù)。 圖例說(shuō)明如下: 24 圖 41 如圖 41, 文件配置了 數(shù)據(jù)庫(kù)調(diào)用 類(lèi)的相關(guān)信息。 主要模塊的設(shè)計(jì)說(shuō)明與界面 用戶(hù)管理模塊 用戶(hù)管理模塊主要包括用戶(hù)注冊(cè) ,登錄,退出 3 個(gè)部分 . (1)用戶(hù)注冊(cè) 當(dāng)用戶(hù)第一次登錄時(shí)首先要注冊(cè) ,成為注冊(cè)用戶(hù) 后 ,才可以 進(jìn)行其他操作 .用戶(hù)可以通過(guò)單擊首頁(yè)的注冊(cè)按鍵來(lái)打開(kāi)注冊(cè)頁(yè)面進(jìn)行會(huì)員注冊(cè)操作 ,用戶(hù)注冊(cè)頁(yè)面的運(yùn)行結(jié)果如圖 43 所示 . 圖 42 戶(hù)登錄 /注冊(cè)界面 如果需要注冊(cè),會(huì)自動(dòng)跳轉(zhuǎn)到注冊(cè)頁(yè)面。 部分結(jié)果如圖 44: 25 圖 43 冊(cè) 界面 校驗(yàn)用戶(hù) 登陸 信息是是否正確的 javaScript 部分代 碼如下 [17]: script language=javascript function checkForm(form){ if(==){ alert(請(qǐng)輸入考生姓名 !)。()。return false。 } if(==){ alert(請(qǐng)輸入登錄密碼 !)。()。return false。 } if(6 || 20){ alert(您輸入的密碼不合法,密碼必須大于 6 位,并且小于等 20位 !)。()。return false。 } if(==){ alert(請(qǐng)確認(rèn)登錄密碼 !)。()。return false。 } if(!=){ alert( 您 兩 次 輸 入 的 登 錄 密 碼 不 一 致 , 請(qǐng) 重 新 輸入 !)。()。return false。 } if(==){ alert(請(qǐng)輸入提示問(wèn)題 !)。()。return false。 } if(==){ alert(請(qǐng)輸入問(wèn)題答案 !)。()。return false。 } } 26 /script 當(dāng)用戶(hù) 需要注冊(cè)時(shí) ,單擊“注冊(cè)“按鈕,系統(tǒng)會(huì)執(zhí)行以下流程: request 請(qǐng)求將頁(yè)面上的信息傳遞到控制層的 struts 中的 Action 類(lèi)中,執(zhí)行以下代碼 /* * 注冊(cè)一個(gè)新用戶(hù) */ // 添加考生注冊(cè)信息 private ActionForward studentAdd(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { StudentForm studentForm = (StudentForm) form。 String ret = (studentForm)。 (返回值 ret: + ret)。 if ((re)) { (error, 您已經(jīng)注冊(cè),直接登錄即可! )。 return (error)。 } else if((miss)){ (error, 注冊(cè)失?。?)。 return (error)。 }else{ (ret,ret)。 return (studentAdd)。 } } 在注冊(cè)成功后,會(huì)跳轉(zhuǎn)到 頁(yè)面,如圖 44: 圖 44 注冊(cè)成功界面 27 (2)用戶(hù)登錄 網(wǎng)站首頁(yè)在用戶(hù)第一次訪問(wèn)時(shí)會(huì)判斷用戶(hù)是否登錄 ,未登錄則顯示用戶(hù)登錄窗口 ,提示用戶(hù)登錄或注冊(cè) .對(duì)于已經(jīng)登錄的用戶(hù) ,在用戶(hù)登錄窗口將顯示用戶(hù)的相關(guān)信息 . 首頁(yè)主要是根據(jù)保存用戶(hù)名信息的 Session 參數(shù)來(lái)判斷用戶(hù)是否已經(jīng)登錄的 ,關(guān)鍵代碼如下 : % String name=(String)(name)。 } % 在會(huì)員登錄窗口中單擊登錄 按紐后 ,系統(tǒng)將對(duì)用戶(hù)名和密碼進(jìn)行驗(yàn)證 ,判斷用戶(hù)是否是已注冊(cè)用戶(hù) ,如果已注冊(cè) ,則更新用戶(hù)在網(wǎng)站中的狀態(tài) ,如果沒(méi)有注冊(cè) ,則拒絕用戶(hù)的登錄操作 ,登錄數(shù)據(jù)驗(yàn)證的程序代碼如下 : /* // 考生身份驗(yàn)證 public ActionForward studentLogin(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { StudentForm studentForm = (StudentForm) form。 int ret = (studentForm)。 (驗(yàn)證結(jié)果 ret 的值 : + ret)。 if (ret == 2) { (error, 您輸入的考生準(zhǔn)考證號(hào)碼或密碼錯(cuò)誤!
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1