【正文】
畢業(yè)設(shè)計(jì)(論文)SMART系統(tǒng)—系統(tǒng)功能管理模塊設(shè)計(jì)與開發(fā)論文作者姓名:申請學(xué)位專業(yè):申請學(xué)位類別:指導(dǎo)教師姓名(職稱):論文提交日期:SMART系統(tǒng)—系統(tǒng)功能管理模塊設(shè)計(jì)與開發(fā)摘 要SMART系統(tǒng)是一個(gè)在語言上采用跨平臺(tái)的JAVA技術(shù)、在框架架構(gòu)上采用流行的MVC架構(gòu)、在業(yè)務(wù)架構(gòu)中采用Spring的IOC思想和ORM技術(shù)的一個(gè)新型智能在線考試信息管理系統(tǒng),該系統(tǒng)主要實(shí)現(xiàn)了學(xué)生在線考試與評估以及教師對學(xué)生在線考試信息的管理和維護(hù)。本文設(shè)計(jì)的系統(tǒng)管理功能模塊采用了多用戶多角色管理機(jī)制,確保不同的用戶登錄系統(tǒng)后能夠操作屬于自己權(quán)限范圍內(nèi)的功能。系統(tǒng)功能管理模塊主要由用戶管理子模塊、角色管理子模塊、角色設(shè)置管理子模塊、權(quán)限管理子模塊、系統(tǒng)菜單管理子模塊、日志管理子模塊和用戶登錄驗(yàn)證子模塊構(gòu)成。通過對系統(tǒng)功能的各種設(shè)置,實(shí)現(xiàn)對系統(tǒng)各級用戶的角色設(shè)置和角色分配,限制和記錄各級用戶在系統(tǒng)中的對信息的功能操作,體現(xiàn)了系統(tǒng)權(quán)限設(shè)置的靈活性、數(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 uses the JAVA technology in language, uses the MVC in framework, and uses the IOC antilogy of Spring and ORM technology in its operation framework. The system mainly implements the online examination and evaluation of students, and the teachers management and maintenance of students examination information online as well. The system uses multiplex users and roles management mechanism. After the users log on, they can use the functions they owned. The management function module of system includes users management, role management, role setup management, right management, system menu management, log management and the validation of the users’ logon management. Through these configuration of system functions, the system carries out the role intercalation and distribution of the all users, restricts and records the information of all users how they used in the system. These can make the system right configuration flexible, and the data operations security.Key words: the users。 the role。 right。 multiplex users and roles management目 錄論文總頁數(shù):36頁1 引 言 1 背景 1 目的 1 意義 1 系統(tǒng)開發(fā)的主要技術(shù) 1 系統(tǒng)開發(fā)環(huán)境 22 系統(tǒng)功能需求和總體設(shè)計(jì) 3 B/S構(gòu)架 3 系統(tǒng)流程框架設(shè)計(jì) 3 系統(tǒng)功能需求分析與設(shè)計(jì) 7 登錄驗(yàn)證 7 用戶管理 8 角色管理 9 角色設(shè)置管理 9 權(quán)限設(shè)置管理 10 日志管理 11 菜單權(quán)限控制 123 數(shù)據(jù)庫設(shè)計(jì)與構(gòu)架 12 數(shù)據(jù)庫設(shè)計(jì) 12 數(shù)據(jù)庫表設(shè)計(jì) 13 用戶表 13 用戶控制表 15 角色表 15 用戶角色表 16 任務(wù)表 16 角色任務(wù)表 17 日志表 17 模塊表 17 公共CODE表 18 試卷日志記錄表 19 數(shù)據(jù)庫數(shù)據(jù)字典 194 系統(tǒng)模塊實(shí)現(xiàn) 19 登錄驗(yàn)證 19 登錄流程圖 19 代碼實(shí)現(xiàn) 20 用戶管理 22 用戶界面 22 代碼實(shí)現(xiàn) 22 角色管理 23 用戶界面 23 代碼實(shí)現(xiàn) 24 角色設(shè)置管理 24 用戶界面和流程圖 24 代碼實(shí)現(xiàn) 25 權(quán)限設(shè)置管理 26 用戶界面和流程圖 26 代碼實(shí)現(xiàn) 26 日志管理 27 用戶界面 27 代碼實(shí)現(xiàn) 28 菜單權(quán)限控制 28 用戶界面和流程圖 28 代碼實(shí)現(xiàn) 295 結(jié)果測試、性能分析 30 單元測試 30 系統(tǒng)功能測試 30 系統(tǒng)菜單權(quán)限功能測試 30 系統(tǒng)功能權(quán)限測試 31結(jié) 論 33參考文獻(xiàn) 34致 謝 35聲 明 361 引 言 背景隨著高新技術(shù)的迅猛發(fā)展,信息技術(shù)廣泛應(yīng)用,將傳統(tǒng)的教育產(chǎn)業(yè)信息化成為可能。但是目前學(xué)校與社會(huì)上的各種考試大都采用傳統(tǒng)的考試方式,組織一次考試至少要經(jīng)過五個(gè)步驟,即人工出題、考生考試、人工閱卷、成績評估和試卷分析。顯然,隨著考試類型的不斷增加及考試要求的不斷提高,教師的工作量將會(huì)越來越大,并且其工作將是一件十分煩瑣和非常容易出錯(cuò)的事情,可以說傳統(tǒng)的考試方式已經(jīng)不能適應(yīng)現(xiàn)代考試的需要。所以擁有一套實(shí)用、完善、高效的在線考試評估系統(tǒng)越來越顯的重要,能夠?qū)⑼ㄟ^權(quán)限控制,將不同教師和學(xué)生登錄后能夠看到不同的功能界面,這樣能更好的方便學(xué)校對教學(xué)質(zhì)量的管理,降低成本,提高效率。 目的通過對用戶權(quán)限的控制,讓不同的用戶登錄系統(tǒng)后能夠看到不同的功能,以提高用戶對管理對象的方便性和高效性。 意義系統(tǒng)功能管理模塊是現(xiàn)在管理系統(tǒng)軟件中很重要的一環(huán),很多國內(nèi)較出名的軟件廠商都設(shè)計(jì)了較完善的也具有自己特色的系統(tǒng)功能管理模塊(權(quán)限管理模塊),但對于很多沒那么規(guī)范的軟件商,他們經(jīng)常是接到系統(tǒng),就設(shè)計(jì)一套系統(tǒng)功能管理模塊,每套都不同,有的甚至不夠重視,隨便寫上一段,哪里都拷過去用;有的也曾費(fèi)盡心機(jī),但結(jié)果總不能令自己滿意。其實(shí)仔細(xì)想一下,每套軟件的系統(tǒng)功能管理模塊(權(quán)限管理模塊)雖然各不相同,但其實(shí)所需實(shí)現(xiàn)的系統(tǒng)管理功能都是差不多的。權(quán)限管理是管理軟件中可代碼重用性最高的一個(gè)模塊,也是重復(fù)開發(fā)率最高的一個(gè)模塊。做一個(gè)最通用的系統(tǒng)功能管理模塊(權(quán)限管理模塊),支持盡可能多的數(shù)據(jù)庫后臺(tái),盡最大可能方便軟件開發(fā)人員的二次開發(fā)和最終用戶使用,當(dāng)然,還要保證權(quán)限管理技術(shù)的先進(jìn)性,即注重靈活性的安全性。 系統(tǒng)開發(fā)的主要技術(shù)此系統(tǒng)采用了流行的J2EE技術(shù),具體包括了Spring、Hibernate、Struts、Jsp、Ajax、數(shù)據(jù)庫連接池等技術(shù)。以下是對所開發(fā)系統(tǒng)所采用的技術(shù)的說明,為系統(tǒng)提供一定的技術(shù)支持。216。 J2EEJ2EE平臺(tái)是用于在分布式企業(yè)環(huán)境中開發(fā)、部署和執(zhí)行應(yīng)用程序的體系結(jié)構(gòu)。分布式應(yīng)用程序需要系統(tǒng)級服務(wù),如事務(wù)管理、安全性、客戶端連接池?cái)?shù)據(jù)庫訪問。216。 Spring Spring是一個(gè)開源框架,是為了解決企業(yè)應(yīng)用程序開發(fā)復(fù)雜性而創(chuàng)建的??蚣艿闹饕獌?yōu)勢之一就是其分層架構(gòu),分層架構(gòu)允許您選擇使用哪一個(gè)組件,同時(shí)為 J2EE 應(yīng)用程序開發(fā)提供集成的框架。216。 HibernateHibernate是一個(gè)開放源代碼的對象關(guān)系映射框架,它對JDBC進(jìn)行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。 Hibernate可以應(yīng)用在任何使用JDBC的場合,既可以在Java的客戶端程序?qū)嵱?,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。216。 StrutsStruts就是在JSP Model2的基礎(chǔ)實(shí)現(xiàn)了MVC設(shè)計(jì)模式的WEB Framework?;赟truts構(gòu)架的WEB應(yīng)用程序基本上符合JSP Model2的設(shè)計(jì)標(biāo)準(zhǔn),可以說是MVC設(shè)計(jì)模式的一種變化類型。216。 AjaxAJAX全稱為“Asynchronous JavaScript and XML”(異步JavaScript和XML),是指一種創(chuàng)建交互式網(wǎng)頁應(yīng)用的網(wǎng)頁開發(fā)技術(shù)。Ajax技術(shù)主要是由XHTML、CSS、DOM、JavaScript、XML、XMLHttpRequest結(jié)合的一種技術(shù),與傳統(tǒng)的Web開發(fā)不同,Ajax并不是以一種基于靜態(tài)頁面的方式來看待Web應(yīng)用的。 系統(tǒng)開發(fā)環(huán)境本系統(tǒng)開發(fā)的IDE工具是eclipse以及相關(guān)的插件(如:tomcat插件),開發(fā)服務(wù)器采用的是tomcat,在數(shù)據(jù)存儲(chǔ)器方面采用的是Microsoft SQL Server 2000,采用的開發(fā)語言是JAVA,在數(shù)據(jù)庫設(shè)計(jì)方面使用的是ERStudio工具,在版本控制方面使用CVS控制。216。 eclipseEclipse 是一個(gè)開放源代碼的、基于 Java 的可擴(kuò)展開發(fā)平臺(tái)。它只是一個(gè)框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境,Eclipse 附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括 Java 開發(fā)工具(Java Development Tools,JDT)。Eclipse 的目標(biāo)不僅當(dāng)作 Java IDE 來使用,只要給 Eclipse 提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場所。216。 tomcatTomcat是一個(gè)免費(fèi)的開源的Serlvet容器,它是Apache基金會(huì)的Jakarta項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache,Sun和其它一些公司及個(gè)人共同開發(fā)而成。2 系統(tǒng)功能需求和總體設(shè)計(jì) B/S構(gòu)架隨著Internet的發(fā)展,采用Browser/Server模式的系統(tǒng)主要利用Internet技術(shù)和產(chǎn)品來構(gòu)筑內(nèi)部的Internet網(wǎng)絡(luò),即所謂的Intranet網(wǎng)絡(luò),B/S模式已經(jīng)成為了企業(yè)信息系統(tǒng)建設(shè)的首選。B/S模式使用方便,客戶端統(tǒng)一采用瀏覽器,不限制客戶平臺(tái),可以方便的和其他業(yè)務(wù)系統(tǒng)連接。其三層3tier結(jié)構(gòu)(圖21 B/S三層結(jié)構(gòu)),大大減緩了客戶端載荷,減輕了系統(tǒng)維護(hù)與升級的成本和工作量,降低了用戶的總體成本。它能有效地保護(hù)數(shù)據(jù)平臺(tái)和管理訪問權(quán)限,服務(wù)器數(shù)據(jù)也很安全。SMART在線考試系統(tǒng)是為處在不同地點(diǎn)的不同用戶提供網(wǎng)上數(shù)據(jù)操作服務(wù)的。使用B/S模式是一次性到位的開發(fā),能實(shí)現(xiàn)不同的人員,從不同的地點(diǎn),以不同的接入方式訪問和操作共同的數(shù)據(jù)庫;它能有效地保護(hù)數(shù)據(jù)平臺(tái)和管理用戶的訪問權(quán)限,服務(wù)器數(shù)據(jù)也更安全。特別是在采用JAVA這樣的跨平臺(tái)語言開發(fā)后,B/S構(gòu)架管理軟件更方便、快捷、高效。圖21 B/S三層結(jié)構(gòu) 系統(tǒng)流程框架設(shè)計(jì)《SMART系統(tǒng)—系統(tǒng)功能管理設(shè)計(jì)與開發(fā)》主要是對系統(tǒng)中的功能模塊進(jìn)行權(quán)限控制和管理。本系統(tǒng)主要設(shè)計(jì)到三個(gè)對象,用戶、角色、任務(wù)(系統(tǒng)中的功能模塊)。其中用戶主要有兩種類型——教師用戶、學(xué)生用戶。我們將系統(tǒng)中的任務(wù)分配給各個(gè)角色對象,然后將用戶加入這些角色對象里面,從而來控制用戶在系統(tǒng)的權(quán)限。該系統(tǒng)主要由登錄驗(yàn)證、用戶管理、角色管理、角色設(shè)置管理、權(quán)限設(shè)置管理、日志管理、菜單權(quán)限控制7個(gè)模塊構(gòu)成。系統(tǒng)的總體設(shè)計(jì)框架如圖22:圖22系統(tǒng)總體設(shè)計(jì)框架流程圖216。 登錄驗(yàn)證模塊:登錄驗(yàn)證主要是包括對用戶信息的合法信息驗(yàn)證和對合法用戶的權(quán)限加載,這個(gè)模塊作為系統(tǒng)其它模塊功能的前提。流程設(shè)計(jì)圖如:圖23 登錄驗(yàn)證模塊流程圖216。 加載功能模塊:加載功能模塊也就是菜單權(quán)限管理模塊,只有一個(gè)合法用戶第一登錄成功后或者是用戶刷新session的時(shí)候,系統(tǒng)才會(huì)加載該部分。系統(tǒng)加載這部分要根據(jù)登錄用戶的權(quán)限范圍來加載用戶相應(yīng)的系統(tǒng)功能。其功能模塊流程圖如圖24:圖24 加載功能模塊流程圖216。 用戶管理模塊:該模塊管理的對象主要是用戶對象,當(dāng)前系統(tǒng)中包含兩種用戶對象——教師用戶和學(xué)生用戶。該模塊要實(shí)現(xiàn)的功能包括新增用戶、更新用戶、刪除用戶、用戶密碼修改、用戶激活、用戶搜索、學(xué)生用戶升學(xué)調(diào)整。用戶管理模塊功能框架圖如圖:圖25 用戶管理模塊功能圖216。 角色管理和用戶角色管理模塊:其中角色管理模塊主要負(fù)責(zé)對角色的管理和維護(hù),包含對角色增加、角色更新、角色刪除、角色搜索功能,他為用戶角色管理提供管理對象之一(如圖27);用戶角色管理對象主要是對用戶和角色用戶之間建立一種聯(lián)系關(guān)系,并通過這種關(guān)系以及權(quán)限設(shè)置模塊中的角色和任務(wù)之間的關(guān)系一起來實(shí)現(xiàn)用戶在系統(tǒng)的權(quán)限管理,用戶角色管理模塊包括搜索和用戶角色設(shè)置兩個(gè)功能(如圖26)。圖26 角色管理功能模塊流程圖圖27用戶角色設(shè)計(jì)模塊功能圖216。 權(quán)限設(shè)置模塊:權(quán)限管理模塊主要管理的對象有任務(wù)對象以及角色對象,他將系統(tǒng)的任務(wù)功能與角色對象建立一種關(guān)系,在結(jié)合用戶角色管理模塊的角色和用戶對象建立的用戶角色關(guān)系一起完成對系統(tǒng)的用戶功能權(quán)限管理設(shè)置。如圖28:圖28 權(quán)限設(shè)置模塊流程圖216。 日志管理模塊:日志管理模塊由兩部分日志對象組成,系統(tǒng)日志管理(主要是指系統(tǒng)中表對象操作