【正文】
ODE_NOcode_typeVARCHAR(50)NONOYESCODE類型code_nameVARCHAR(50)NONOYESCODE名稱code_valueVARCHAR(10)NONOYESCODE值code_moduleVARCHAR(50)NONOYES所屬模塊remarkVARCHAR(50)NONOYES備注versionINTEGERNONONO版本控制 試卷日志記錄表主要存儲(chǔ)用戶對(duì)試卷的歷史操作記錄。3 數(shù)據(jù)庫設(shè)計(jì)與構(gòu)架 數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫是借助于計(jì)算機(jī)保存和管理大量復(fù)雜的數(shù)據(jù)和信息的軟件工具,數(shù)據(jù)庫技術(shù)主要研究如何科學(xué)地組織和存儲(chǔ)數(shù)據(jù),如何高效地獲取、更新和加工處理數(shù)據(jù),并保證數(shù)據(jù)的安全性、可靠性和持久性。n 應(yīng)用場(chǎng)景管理員登錄系統(tǒng)之后,便可以用該功能來對(duì)任務(wù)和角色之間的管理進(jìn)行設(shè)置,通過對(duì)任務(wù)所屬角色的添加刪除來實(shí)現(xiàn)對(duì)權(quán)限的控制。該功能主要為系統(tǒng)管理員提供來管理用戶在系統(tǒng)中所具有的權(quán)限功能,來為這些用戶分配他們的權(quán)限范圍,保證系統(tǒng)的安全。n 應(yīng)用場(chǎng)景用戶進(jìn)入到登錄頁面,需要輸入相應(yīng)的用戶信息,登錄系統(tǒng)后,用戶才能夠執(zhí)行相應(yīng)功能的操作;當(dāng)系統(tǒng)修改該用戶的登錄信息后,則需要再次輸入正確的認(rèn)證信息或者從新刷新Session后才能訪問到相信系統(tǒng)功能,同時(shí),當(dāng)用戶注銷系統(tǒng)時(shí),也從Session中清空相應(yīng)的會(huì)話信息。流程設(shè)計(jì)圖如:圖23 登錄驗(yàn)證模塊流程圖216。216。 Spring Spring是一個(gè)開源框架,是為了解決企業(yè)應(yīng)用程序開發(fā)復(fù)雜性而創(chuàng)建的。 right。顯然,隨著考試類型的不斷增加及考試要求的不斷提高,教師的工作量將會(huì)越來越大,并且其工作將是一件十分煩瑣和非常容易出錯(cuò)的事情,可以說傳統(tǒng)的考試方式已經(jīng)不能適應(yīng)現(xiàn)代考試的需要。 HibernateHibernate是一個(gè)開放源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)象封裝,使得Java程序員可以隨心所欲的使用對(duì)象編程思維來操縱數(shù)據(jù)庫。B/S模式使用方便,客戶端統(tǒng)一采用瀏覽器,不限制客戶平臺(tái),可以方便的和其他業(yè)務(wù)系統(tǒng)連接。其功能模塊流程圖如圖24:圖24 加載功能模塊流程圖216。如果登錄用戶具有足夠的權(quán)限的話,可以對(duì)這些用戶進(jìn)行控制管理。n 應(yīng)用場(chǎng)景系統(tǒng)管理登錄系統(tǒng)后,可以通過以上提供的功能來刪除、編輯、添加角色。而要改變這個(gè)值,只需要在原有值的基礎(chǔ)上點(diǎn)擊便可,而在改變值的過程中通過Ajax來與后臺(tái)進(jìn)行交付。具有使用方便、可伸縮性好、與相關(guān)軟件集成程度高等優(yōu)點(diǎn)。 } (userData)。 Map map = new HashMap()。 (teacherNo, ())。 ()) { return (from SmartTeacher where uin=:uin, params)。 params[1] = ((uin) != null) ? (uin) : 。%=((title))%39。, \ + () + \)。 for (int j = 0。 SearchTeacher entity = null。如果我們將他去掉的話,那么我們的正確結(jié)果應(yīng)該是teacher將不能夠更新其它人的用戶信息,但是他可以更新自己的用戶信息。[6] 夏昕,曹曉鋼, [M].北京:電子工業(yè)出版社,2005。t have ovaries or a uterus any more. They had been removed by a surgeonby one of Billy39。除非另有科研合同和其他法律文書的制約,本論文的科研成果屬于成都信息工程學(xué)院。[2] 計(jì)磊,李里,—Eclipse、Struts、Hibernate及Spring整合應(yīng)用案例[M].北京:人民郵電出版社,2006。1. 教師用戶權(quán)限測(cè)試我們用教師用戶UIN為:teacher的用戶登錄,該用戶目前擁有整個(gè)系統(tǒng)的全部權(quán)限。 (teacherUin, teacher)。 for (int i = 0。).append(newValue).append(39。其結(jié)果展現(xiàn)代碼如下:display:table name= class=DisplayTable style=width:100% pagesize=10 logic:iterate scope=session id=element name=resultList2 % Map row = (Map) (element)。amp。 String type = (String) (type)。amp。 ()) {//教師用戶 (select , + , + , from PcmUser as user, SmartTeacher as teacher )。表310 子模塊表(SUB_MODULE)數(shù)據(jù)結(jié)構(gòu)字段名稱數(shù)據(jù)類型是否是主鍵是否是外鍵是否可NULL備注auto_idDECIMAL(18,0)YESNONO自增IDmodule_idDECIMAL(18,0)NONONO模塊IDmodule_codeVARCHAR(50)NONONO模塊CODEmodule_nameVARCHAR(50)NONONO模塊名稱typeVARCHAR(50)NONOYES模塊類型valueVARCHAR(50)NONOYES模塊類型值descriptionVARCHAR(100)NONOYES描述 公共CODE表用來存儲(chǔ)一些模塊內(nèi)的共用屬性CODE和值的對(duì)應(yīng)關(guān)系。n 技術(shù)方案主要通過J2EE中的自定義標(biāo)簽來實(shí)現(xiàn)該功能,因?yàn)檫@樣實(shí)現(xiàn)不僅安全性高,而且擴(kuò)展性和使用性也較好。權(quán)限設(shè)置:通過以上的搜索功能的搜索結(jié)果來對(duì)其進(jìn)行設(shè)置管理操作,通過對(duì)任務(wù)的角色對(duì)象的添加刪除來實(shí)現(xiàn)其權(quán)限設(shè)置。系統(tǒng)存在多種用戶,而這些用戶擁有對(duì)系統(tǒng)不同的功能權(quán)限就是由他所屬的角色對(duì)象不同確定的。用戶注銷:用戶登出系統(tǒng),清空用戶在Session中的信息,結(jié)束用戶會(huì)話,并更新用戶信息。 登錄驗(yàn)證模塊:登錄驗(yàn)證主要是包括對(duì)用戶信息的合法信息驗(yàn)證和對(duì)合法用戶的權(quán)限加載,這個(gè)模塊作為系統(tǒng)其它模塊功能的前提。Eclipse 的目標(biāo)不僅當(dāng)作 Java IDE 來使用,只要給 Eclipse 提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場(chǎng)所。216。 the role。所以擁有一套實(shí)用、完善、高效的在線考試評(píng)估系統(tǒng)越來越顯的重要,能夠?qū)⑼ㄟ^權(quán)限控制,將不同教師和學(xué)生登錄后能夠看到不同的功能界面,這樣能更好的方便學(xué)校對(duì)教學(xué)質(zhì)量的管理,降低成本,提高效率。 Hibernate可以應(yīng)用在任何使用JDBC的場(chǎng)合,既可以在Java的客戶端程序?qū)嵱茫部梢栽赟ervlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。其三層3tier結(jié)構(gòu)(圖21 B/S三層結(jié)構(gòu)),大大減緩了客戶端載荷,減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量,降低了用戶的總體成本。 用戶管理模塊:該模塊管理的對(duì)象主要是用戶對(duì)象,當(dāng)前系統(tǒng)中包含兩種用戶對(duì)象——教師用戶和學(xué)生用戶。用戶管理需實(shí)現(xiàn)對(duì)這些用戶的參數(shù)匹配搜索和管理,對(duì)用戶的管理主要要求實(shí)現(xiàn)對(duì)這些用戶的添加、更新、刪除和對(duì)新加用戶的激活等相關(guān)功能。n 技術(shù)方案角色的管理主要采用比較傳統(tǒng)方式來實(shí)現(xiàn)。 日志管理n 功能需求日志管理由兩部分日志對(duì)象組成,系統(tǒng)日志(主要是指系統(tǒng)中表對(duì)象操作日志管理)和試卷日志管理(學(xué)生用戶和教師用戶對(duì)試卷的操作日志記錄管理)。通常在Microsoft windows 2000 server服務(wù)器版上使用。Authorization permission = new Authorization()。 set = ()。 (type, )。 } 然后再將返回回來的結(jié)果進(jìn)行如下分析:if (list != null) { SmartTeacher obj = null。 params[2] = ((name) != null) ? (name) : 。 sortable=39。 日志管理 用戶界面日志搜索界面設(shè)計(jì): 圖410 系統(tǒng)日志搜索結(jié)果設(shè)計(jì)圖系統(tǒng)日志查看設(shè)計(jì)圖:圖411 系統(tǒng)日志查看設(shè)計(jì)圖 代碼實(shí)現(xiàn)日志的搜索功能和角色管理的搜索功能相同,也是通過存儲(chǔ)過程的方式來實(shí)現(xiàn)的。 j 。 for (Iterator i = ()。其更改后的結(jié)果圖如下:圖56 StuLife 更改權(quán)限后的更新頁面圖圖 57 teacher 更改權(quán)限后的更新頁面圖從以上的結(jié)果分析,說明教師用戶的更新權(quán)限控制正常。[7] Struts編程(第二版)[M].北京:中國電力出版社,2005。s partners in the New Holiday Inn. There was a full moon. Billy got out of bed in the moonlight. He felt spooky and luminous felt as though he were wrapped in cool fur that was full of static electricity. He looked down at his bare feet. They were ivory and blue. Billy now shuffled down his upstairs hallway, knowing he was about to be kidnapped by a flying saucer. The hallway was zebrastriped with darkness and moonlight. The moonlight came into the hallway through doorways of the empty rooms of Billy39。(5)學(xué)??梢怨紝W(xué)位論文的全部或部分內(nèi)容(保密學(xué)位論文在解密后遵守此規(guī)定)。參考文獻(xiàn)[1] Bruce Eckel[美]. Thinking in Java (3rd Edition)[M] .北京:電子工業(yè)出版社,2002。 系統(tǒng)功能權(quán)限測(cè)試現(xiàn)在我們將對(duì)系統(tǒng)中的一些功能進(jìn)行測(cè)試,這里只舉兩個(gè)測(cè)試?yán)?,一個(gè)是對(duì)教師用戶的更新權(quán)限進(jìn)行測(cè)試,另一個(gè)是對(duì)用戶的角色權(quán)限進(jìn)行測(cè)試。//教師用戶搜索方法測(cè)試 (teacherNo, )。displayMenu代碼實(shí)現(xiàn)如下: String[] str = (,)。,39。其界面設(shè)置如圖49角色任務(wù)設(shè)置圖:圖48 角色任務(wù)設(shè)置界面圖要實(shí)現(xiàn)角色任務(wù)的設(shè)置,首先要搜索角色、任務(wù)對(duì)象以及角色任務(wù)對(duì)象,然后再對(duì)角色和任務(wù)這兩個(gè)對(duì)象進(jìn)行關(guān)系關(guān)聯(lián),如圖49:圖49 角色任務(wù)功能詳細(xì)流程圖 代碼實(shí)現(xiàn)首先要通過輸入的參數(shù)進(jìn)行角色搜索、任務(wù)搜索以及角色任務(wù)搜索,將搜索的結(jié)果放入一個(gè)叫RoleTaskSearch的對(duì)象中,并在將其如上圖的界面展現(xiàn)出來,并在展現(xiàn)中提供Ajax的角色權(quán)限設(shè)置方式,讓用戶在設(shè)置權(quán)限的時(shí)候操作簡(jiǎn)便。其界面設(shè)置如圖46用戶角色設(shè)置圖:圖46 用戶角色設(shè)置界面圖其實(shí)現(xiàn)上述功能的流程圖如圖:圖47 用戶角色設(shè)置功能詳細(xì)流程圖 代碼實(shí)現(xiàn)首先根據(jù)輸入?yún)?shù)搜索要設(shè)置的相關(guān)用戶,其代碼實(shí)現(xiàn)為: String type = (String) (((type) != null amp。在struts的action中通過調(diào)用business中的processSearchByUin方法,并通過這個(gè)方法來調(diào)用Impl中的searchByUin來進(jìn)行UIN查找,代碼實(shí)現(xiàn)如下: HashMap params = new HashMap()。//獲取任務(wù)CODE if (task != null amp。amp。 子模塊表該表用來存儲(chǔ)系統(tǒng)中的每一個(gè)功能的CODE代碼以及他們父子模塊之間的關(guān)系。n 應(yīng)用場(chǎng)景用戶在登錄系統(tǒng)后,看到的系統(tǒng)功能模塊表示他都有權(quán)對(duì)其進(jìn)行操作,而他無權(quán)管理的功能部分則根本看不到。n 模塊劃分搜索功能:該功能提供了模糊匹配搜索功能,搜索的對(duì)象主要包括兩個(gè),角色和任務(wù)。 角色管理n 功能需求系統(tǒng)為用戶提供不同功能權(quán)限的角色對(duì)象,用戶擁有的功能是由用戶擁有的角色對(duì)象來確定,一個(gè)用戶可以擁有多個(gè)角色對(duì)象,用戶的功能是由這多個(gè)角色對(duì)象的并集。Session維護(hù):維護(hù)用戶登錄系統(tǒng)的會(huì)話時(shí)間。系統(tǒng)的總體設(shè)計(jì)框架如圖22:圖22系統(tǒng)總體設(shè)計(jì)框架流程圖216。它只是一個(gè)框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境,Eclipse 附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括 Java 開發(fā)工具(Java Development Tools,JDT)。分布式應(yīng)用程序需要系統(tǒng)級(jí)服務(wù),如事務(wù)管理、安全性、客戶端連接池?cái)?shù)據(jù)庫訪問。關(guān)鍵詞: 用戶;角色;權(quán)限;多用戶多角色管理SMART System—The Design and Development of Function Management ModuleAbstractSMART System is a new intelligent information management system of online examine. It use