




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于SSH框架的在線考試系統(tǒng)數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)指導(dǎo)老師:摘要 :在線考試系統(tǒng)是目前市場(chǎng)占有率較高,應(yīng)用廣泛的遠(yuǎn)程網(wǎng)絡(luò)學(xué)習(xí)考試軟件,適合政府、行業(yè)及企業(yè)的各專業(yè)網(wǎng)上考試、作業(yè)、練習(xí)等應(yīng)用,它采用Web方式,同時(shí)適用于局域網(wǎng)和Internet,無需安裝客戶端,即可實(shí)現(xiàn)網(wǎng)上考試,并能夠保存,自動(dòng)判分、成績(jī)查詢。在開發(fā)方法上,引入了當(dāng)今流行的ssh技術(shù)思想,數(shù)據(jù)庫采用Mysql,把整個(gè)開發(fā)過程分為需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)等步驟。是人力資源的管理更為高效和科學(xué),數(shù)據(jù)更為準(zhǔn)確,從而將人事部門從繁重的、耗時(shí)的工作中釋放出來,把精力集中到更高層的政策性工作中。 該系統(tǒng)設(shè)計(jì)
2、并實(shí)現(xiàn)了以Jsp為基礎(chǔ)的輕量級(jí)Web框架SSH(Struts+Spring+Hibernate)的在線考試系統(tǒng)。該系統(tǒng)采用MVC設(shè)計(jì)模式,將表示層、業(yè)務(wù)邏輯層和控制邏輯層清晰地分離出來,各層次之間接口清晰,耦合度低,易于擴(kuò)展,使用SSH框架方便地構(gòu)建Web應(yīng)用,提高系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)的效率。本系統(tǒng)使用J2EE Java2平臺(tái)企業(yè)版(Java 2 Platform, Enterprise Edition)做開發(fā),運(yùn)用SSH(Struts+Spring+Hibernate)三大框架的開發(fā)模式,采用Tomcat7.0作為應(yīng)用服務(wù)器,Mysql5作為數(shù)據(jù)庫,Microsoft Visio為建模工具。該系統(tǒng)
3、共分為三個(gè)用戶模塊,即學(xué)生端、教師端,管理員 。學(xué)生端的功能主要包括個(gè)人資料管理、在線考試、成績(jī)查詢、退出系統(tǒng)。教師端的功能主要包括學(xué)生管理、試題管理、成績(jī)管理、登錄管理、退出系統(tǒng),管理員的功能主要包括學(xué)生管理、試題管理、成績(jī)管理、登錄管理、教師管理、退出系統(tǒng)。以下論文中對(duì)該系統(tǒng)的設(shè)計(jì)方法和具體功能實(shí)現(xiàn)以及相關(guān)技術(shù)進(jìn)行了詳細(xì)的論述。關(guān)鍵詞: B/S;在線考試系統(tǒng);SSH;MVC模式;J2EE;Abstract:Online examination system is one of the market share is high and wide application of remote n
4、etwork learning test software, suitable for the government, industries and enterprises of various professional online examination, assignments, and practice application, it USES the way of Web, at the same time apply to the local area network and Internet, do not need to install the client, online e
5、xamination can be realized, and can save, mark, scores query automatically. On the development method, the introduction of todays popular SSH technology thought, database using Mysql, the whole development process is divided into requirement analysis, general design, detailed design, system implemen
6、tation and other steps. Is human resources management more efficient and scientific, the data more accurate, to the personnel department released from the heavy, time-consuming work, to focus on the higher level of policy work. The system was designed and implemented based on Jsp lightweight Web fra
7、mework SSH (Struts + Spring + Hibernate) online examination system. The system USES the MVC design pattern, the presentation layer, business logic layer, and clearly separate control logic layer, the interface between different levels is clear, low coupling, easy to expand, SSH framework used to fac
8、ilitate building Web applications, improve the efficiency of the system design and implementation.This system USES the J2EE Java2 Platform Enterprise Edition (Java 2 Platform, Enterprise Edition) development, using the SSH (Struts + Spring + Hibernate) three framework mode of development, using Tomc
9、at7.0 as application server, Mysql5 as a database, Microsoft Visio for modeling tool. Department altogether is divided into two user modules, namely the side, the teachers and students. Student the function mainly includes personal information management, online examination, scores query, from the s
10、ystem. The function mainly includes the students management, test question management, performance management, log management, classroom management, exit the system. The following paper design method of the system and the specific functions and related technology were described in detail.Key words:
11、B/S; SSH; MVC mode; J2EE; thesis management;目 錄1 緒論11.1課題研究背景11.2課題研究目的及意義11.3本文內(nèi)容及結(jié)構(gòu)12 關(guān)鍵技術(shù)介紹32.1 SSH框架及優(yōu)勢(shì)32.2Internet終端42.3Tomcat服務(wù)器42.4Mysql數(shù)據(jù)庫53 需求分析63.1用例需求63.1.1用例圖簡(jiǎn)介63.1.2 總體用例圖63.2功能需求63.3性能需求73.3.1安全性要求73.3.2性能要求74 總體設(shè)計(jì)84.1總體軟件架構(gòu)設(shè)計(jì)84.1.1層次架構(gòu)模式84.1.2基本處理流程84.2總體功能結(jié)構(gòu)設(shè)計(jì)94.3數(shù)據(jù)庫設(shè)計(jì)94.3.1概念結(jié)構(gòu)設(shè)計(jì)要點(diǎn)9
12、4.3.2邏輯結(jié)構(gòu)設(shè)計(jì)要點(diǎn)114.3.3物理結(jié)構(gòu)設(shè)計(jì)要點(diǎn)125 具體實(shí)現(xiàn)155.1界面實(shí)現(xiàn)155.1.1整體界面框架設(shè)計(jì)155.1.2部分界面展示155.2功能實(shí)現(xiàn)流程176 結(jié)束語246.1全文總結(jié)246.2心得體會(huì)24致謝25參考文獻(xiàn)261 緒論考試是教學(xué)過程中的一個(gè)重要環(huán)節(jié)。學(xué)生考試成績(jī)的優(yōu)劣,不但反映其對(duì)教學(xué)內(nèi)容和應(yīng)掌握知識(shí)的分析、理解、吸收、運(yùn)用的能力,更反映教師對(duì)教學(xué)內(nèi)容的把握和熟練程度。傳統(tǒng)的學(xué)校教學(xué)中,進(jìn)行一場(chǎng)考試,要求老師編寫試卷、印試卷、安排考試、監(jiān)考、收集試卷、評(píng)改試卷、講評(píng)試卷和分析試卷,這是一個(gè)繁雜的過程,需要大量人力、物力與時(shí)間的投入,已經(jīng)越來越不適應(yīng)學(xué)校信息化建設(shè)
13、與現(xiàn)代教學(xué)的需要。尤其在遠(yuǎn)程網(wǎng)絡(luò)教學(xué)中,學(xué)生分布廣,不易統(tǒng)一集中安排考試,給校方和學(xué)生帶來了眾多的不便。而網(wǎng)上考試系統(tǒng)不僅減輕了在組織考試、評(píng)卷、成績(jī)統(tǒng)計(jì)等方面所花費(fèi)的人力和物力,并且突破了時(shí)間與空間的限制,不僅節(jié)省了資源,而且提高了評(píng)分的客觀性、公正性和準(zhǔn)確度,大大改善了考試工作的效率。加上數(shù)據(jù)庫技術(shù)的利用,大大簡(jiǎn)化了傳統(tǒng)考試的過程,因此在線考試是電子化教學(xué)的不可缺少的輔助手段。在當(dāng)今信息時(shí)代,計(jì)算機(jī)技術(shù)與網(wǎng)絡(luò)技術(shù)越來越廣地應(yīng)用于各個(gè)領(lǐng)域,改變著人們的學(xué)習(xí)、工作、生活乃至思維方式,也引起了教育領(lǐng)域的重大變革。將計(jì)算機(jī)與網(wǎng)絡(luò)技術(shù)應(yīng)用于現(xiàn)代高等教育中,是現(xiàn)代高等教育發(fā)展的需要,也是改革教育模式,
14、提高學(xué)校教學(xué)效果和教學(xué)效率、提高科研和管理水平的必要手段。 1.1課題研究背景隨著計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)迅速發(fā)展和高校校園網(wǎng)功能的日益完善,很多高校建立了基于校園網(wǎng)的網(wǎng)絡(luò)信息管理平臺(tái),為提高教學(xué)管理水平提供了先進(jìn)的管理手段。目前,基于網(wǎng)絡(luò)的在線考試系統(tǒng)己經(jīng)成為現(xiàn)代考試方式的有力補(bǔ)充和發(fā)展。相對(duì)于傳統(tǒng)的筆試,網(wǎng)絡(luò)在線考試不僅減輕了在組織考試、評(píng)卷、成績(jī)統(tǒng)計(jì)等方面所花費(fèi)的人力和物力,并且突破了時(shí)間與空間的限制,不僅節(jié)省了資源,而且提高了評(píng)分的客觀性、公正性和準(zhǔn)確度,大大改善了考試工作的效率。它旨在探索一種以互聯(lián)網(wǎng)為基礎(chǔ)的考試模式。通過這種新的模式,為學(xué)校創(chuàng)造一種新的考試環(huán)境,使考務(wù)管理突破時(shí)空限制,
15、提高考試工作效率和標(biāo)準(zhǔn)化水平,使學(xué)校管理者、教師和學(xué)生可以隨時(shí)、隨地通過網(wǎng)絡(luò)完成考試。1.2課題研究目的及意義很多學(xué)校學(xué)生的期末考試仍采用任課教師(個(gè)人或集體)考前出題的方式。為解決學(xué)生壓題,考前漏題,補(bǔ)(緩)考試題與正式考試試題題量及難度差異問題,教務(wù)管理部門通常要求教師同時(shí)出多套試卷,其題量與難度要求相同,并且要同時(shí)給出答案和評(píng)分標(biāo)準(zhǔn)。這樣做雖能解決一些問題,但給教師增加了很大的工作負(fù)擔(dān),若上下屆學(xué)生的同一門課程由同一教師承擔(dān),則難免幾屆學(xué)生用相同幾套試卷;若由不同教師任課出題,則上下屆學(xué)生的成績(jī)之間又不具有可比性。若建立題庫,每次考試前由題庫中題目隨機(jī)生成試卷,則可較好地解決考教分離的問
16、題,也可將廣大教師從每學(xué)期末繁重的命題工作中解放出來。近年來,部分學(xué)校陸續(xù)開發(fā)了一些基于微機(jī)的題庫系統(tǒng),并作為成果向其它學(xué)校推廣,但這些題庫一般都是結(jié)合本校具體情況,針對(duì)單一課程的小型題庫,甚至某些學(xué)校購得的題庫系統(tǒng)中的題目本身是不可維護(hù)的,即使題目已不適合自己的學(xué)生考試使用,也無法更新題庫中的題目。為解決題庫系統(tǒng)中存在的這些問題,最后給出了一個(gè)較為理想的題庫系統(tǒng)解決方案,并結(jié)合當(dāng)前比較使用的B/S結(jié)構(gòu)開發(fā)一個(gè)功能完備的網(wǎng)上考試系統(tǒng)。1.3本文內(nèi)容及結(jié)構(gòu) 本論文共分為七章,其章節(jié)結(jié)構(gòu)如下:第一章 緒論。本章重點(diǎn)闡述了本課題的研究背景、目的及意義,并簡(jiǎn)要概括了本文的內(nèi)容及結(jié)構(gòu)。第二章 系統(tǒng)關(guān)鍵技
17、術(shù)介紹。本章介紹了系統(tǒng)關(guān)鍵技術(shù)及選擇的開發(fā)環(huán)境。第三章 系統(tǒng)需求分析。本章根據(jù)在線考試系統(tǒng)的開發(fā)原理及開發(fā)過程,對(duì)系統(tǒng)的需求進(jìn)行了研究與分析。第四章 系統(tǒng)總體設(shè)計(jì)。本章介紹了的總體設(shè)計(jì),包括數(shù)據(jù)庫的設(shè)計(jì)。第五章 系統(tǒng)具體實(shí)現(xiàn)。本章介紹了的具體實(shí)現(xiàn)過程并舉例說明。第六章 結(jié)束語。本章總結(jié)了全文的主要思想及自己的心得體會(huì)。2 系統(tǒng)關(guān)鍵技術(shù)介紹2.1 SSH框架及優(yōu)勢(shì)(1)典型的三層構(gòu)架體現(xiàn)MVC(模型Model,視圖View和控制)思想,可以讓開發(fā)人員減輕重新建立解決復(fù)雜問題方案的負(fù)擔(dān)和精力。便于敏捷開發(fā)出新的需求,降低開發(fā)時(shí)間成本。(2)良好的可擴(kuò)展性,ssh主流技術(shù)有強(qiáng)大的用戶社區(qū)支持它,所以
18、該框架擴(kuò)展性非常強(qiáng),針對(duì)特殊應(yīng)用時(shí)具有良好的可插拔性,避免大部分因技術(shù)問題不能實(shí)現(xiàn)的功能。(3)良好的可維護(hù)性,業(yè)務(wù)系統(tǒng)經(jīng)常會(huì)有新需求,三層構(gòu)架因?yàn)檫壿媽雍驼宫F(xiàn)層的合理分離,可使需求修改的風(fēng)險(xiǎn)降低到最低。隨著新技術(shù)的流行或系統(tǒng)的老化,系統(tǒng)可能需要重構(gòu),ssh構(gòu)架重構(gòu)成功率要比其他構(gòu)架高很多。(4)優(yōu)秀的解耦性,很少有軟件產(chǎn)品的需求從一開始就完全是固定的。客戶對(duì)軟件需求,是隨著軟件開發(fā)過程的深入,不斷明晰起來的。因此,常常遇到軟件開發(fā)到一定程度時(shí),由于客戶對(duì)軟件需求發(fā)生了變化,使得軟件的實(shí)現(xiàn)不得不隨之改變。ssh三層構(gòu)架,控制層依賴于業(yè)務(wù)邏輯層,但絕不與任何具體的業(yè)務(wù)邏輯組件耦合,只與接口耦合;
19、同樣,業(yè)務(wù)邏輯層依賴于DAO層,也不會(huì)與任何具體的DAO組件耦合,而是面向接口編程。采用這種方式的軟件實(shí)現(xiàn),即使軟件的部分發(fā)生改變,其他部分也不會(huì)改變。 Struts、Spring、Hibernate是三個(gè)既相互獨(dú)立又彼此關(guān)聯(lián)的框架,它們可以無縫地整合起來構(gòu)建靈活、易于擴(kuò)展的多層Web應(yīng)用程序,Struts用來實(shí)現(xiàn)表示層,Spring實(shí)現(xiàn)業(yè)務(wù)層,Hibemate實(shí)現(xiàn)持久層。2.1.1 Struts2簡(jiǎn)介:雖然Struts2號(hào)稱是一個(gè)全新的框架,但這僅僅是相對(duì)Struts1而言。Struts2 與Struts1相比,確實(shí)有很多革命性的改進(jìn),但它并不是新發(fā)布的新框架,而是在另一個(gè)赫赫有名的框架We
20、bWork基礎(chǔ)上發(fā)展起來的。從某種程度上來講,Struts2沒有繼承Struts1的血統(tǒng),而是繼承WebWork的血統(tǒng)。或者說,WebWork衍生出了Struts2,而不是Struts1衍生了Struts2。因?yàn)镾truts2是WebWork的升級(jí),而不是一個(gè)全新的框架,因此穩(wěn)定性、性能等各方面都有很好的保證:而且吸收了Struts1和WebWork兩者的優(yōu)勢(shì),因此是一個(gè)非常值得期待的框架。Struts2優(yōu)勢(shì):(1)Struts2 Action對(duì)象為每一個(gè)請(qǐng)求產(chǎn)生一個(gè)實(shí)例,因此沒有線程安全問題。(2) Struts2強(qiáng)大的標(biāo)簽庫提高開發(fā)效率。(3)頁面脈絡(luò)清晰,通過查看配置文件把握整個(gè)系統(tǒng)的關(guān)
21、系,方便開發(fā)人員崗位流動(dòng)時(shí)的維護(hù)。2.1.2 Spring簡(jiǎn)介:Spring是一個(gè)開源框架,它由Rod Johnson創(chuàng)建。它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡(jiǎn)單性、可測(cè)試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益。簡(jiǎn)單來說,Spring是一個(gè)輕量級(jí)的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。Spring優(yōu)勢(shì):(1)Spring提供了一種管理對(duì)象的方法,可以把中間層對(duì)象有效地組織起來。一個(gè)完美的框架“黏合劑”。(2) 有利于面向接口編
22、程習(xí)慣的養(yǎng)成,使代碼結(jié)構(gòu)清晰。(3) 采用了分層結(jié)構(gòu),可以增量引入到項(xiàng)目中。(4) 目的之一是為了寫出易于測(cè)試的代碼。(5)非侵入性,應(yīng)用程序?qū)pring API的依賴可以減至最小限度。(6) 一致的數(shù)據(jù)訪問介面。(7) 一個(gè)輕量級(jí)的架構(gòu)解決方案。2.1.3 Hibernate簡(jiǎn)介:Hibernate是一個(gè)開放源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)象封裝,使得Java程序員可以隨心所欲的使用對(duì)象編程思維來操縱數(shù)據(jù)庫。 Hibernate可以應(yīng)用在任何使用JDBC的場(chǎng)合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,H
23、ibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。Hibernate優(yōu)勢(shì): (1) Hibernate是JDBC輕量級(jí)的封裝,占用內(nèi)存較少,性能比較高。與JDBC相比,如果開發(fā)JDBC的人員技術(shù)能力非常強(qiáng),hibernate執(zhí)行效率會(huì)比JDBC弱一些,但是大部分情況是程序員在使用JDBC時(shí)是不可能做到最高效率,hibernate可以幫大部分開發(fā)人員提高運(yùn)行效率。(2)可以引入第三方二級(jí)緩存,提高系統(tǒng)查詢效率,減少系統(tǒng)里存在大量單例類(singleton),大量的單例類,會(huì)降低系統(tǒng)的可測(cè)試性和面向?qū)ο蟪潭取?3)優(yōu)秀的ORM框架,理論上節(jié)省開發(fā)人員95%的開發(fā)工作
24、量。(4) Hibernate兼容JDBC。理論上可以應(yīng)用在任何使用JDBC的場(chǎng)景。2.2Internet終端本系統(tǒng)采用的是B/S(Browser/Server)結(jié)構(gòu),它是隨著Internet技術(shù)的興起,對(duì)C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過WWW瀏覽器來實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn),形成所謂三層3-tier結(jié)構(gòu)。因此本系統(tǒng)訪問方式是基于Internet終端的訪問,用戶只需要通過web瀏覽器就可以非常方便快捷地使用本系統(tǒng)服務(wù)器資源,系統(tǒng)讓用戶的操作變得簡(jiǎn)單與透明,系統(tǒng)的維護(hù)成本與工作量也得到減
25、少。B/S構(gòu)架使得本系統(tǒng)有易安裝、易升級(jí)、成本低、可擴(kuò)充等優(yōu)勢(shì)。2.3Tomcat服務(wù)器Tomcat是一個(gè)免費(fèi)的開源的Serlvet容器,它是Apache基金會(huì)的Jakarta項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache,sun和其它一些公司及個(gè)人共同開發(fā)而成。由于有了sun的參與和支持,最新的Servlet和JSP規(guī)范總能在Tomcat中得到體現(xiàn)。Tomcat被JavaWorld雜志的編輯選為2001年度最具創(chuàng)新的java產(chǎn)品,可見其在業(yè)界的地位。與傳統(tǒng)的桌面應(yīng)用程序不同,Tomcat中的應(yīng)用程序是一個(gè)WAR(Web Archive)文件。WAR是Sun提出的一種Web應(yīng)用程序格式,與JAR類似,也
26、是許多文件的一個(gè)壓縮包。這個(gè)包中的文件按一定目錄結(jié)構(gòu)來組織:通常其根目錄下包含有Html和JSP文件或者包含這兩種文件的目錄,另外還會(huì)有一個(gè)WEBINF目錄,這個(gè)目錄很重要。通常在WEBINF目錄下有一個(gè)web.xml文件和一個(gè)classes目錄,web.xml是這個(gè)應(yīng)用的配置文件,而classes目錄下則包含編譯好的Servlet類和JSP或Servlet所依賴的其它類(如JavaBean)。通常這些所依賴的類也可以打包成JAR放到WEB一INF下的lib目錄下。Tomcat應(yīng)用程序的部署很簡(jiǎn)單,只需將使用者的WAR放到Tomcat的webapp目錄下,Tomcat會(huì)自動(dòng)檢測(cè)到這個(gè)文件,并將
27、其解壓。在瀏覽器中訪問這個(gè)應(yīng)用的JSP時(shí),通常第一次會(huì)很慢,因?yàn)門omcat要將JSP轉(zhuǎn)化為Servlet文件,然后編譯。編譯以后,訪問將會(huì)很快。另外Tomcat也提供了一個(gè)應(yīng)用:manager,訪問這個(gè)應(yīng)用需要用戶名和密碼,用戶名和密碼存儲(chǔ)在一個(gè)xml文件中。通過這個(gè)應(yīng)用,輔助于Ftp,可以在遠(yuǎn)程通過Web部署和撤銷應(yīng)用。Tomcat不僅僅是一個(gè)Servlet容器,它也具有傳統(tǒng)的Web服務(wù)器的功能:處理Html頁面。但是與Apache相比,它的處理靜態(tài)Html的能力就不如Apache。我們可以將Tomcat和Apache集成到一塊,讓Apache處理靜態(tài)Html,而Tomcat處理JSP和S
28、ervlet。這種集成只需要修改一下Apache和Tomcat的配置文件即可。因?yàn)門omcat的免費(fèi)并且具有開放性,功能強(qiáng)大。因此,選擇了Tomcat作為獨(dú)立運(yùn)行Web服務(wù)器和JSP引擎。2.4Mysql數(shù)據(jù)庫MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQL AB公司開發(fā),目前屬于Oracle公司。Mysql是最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),在WEB應(yīng)用方面MySQL是最好的RDBMS(Relational Database Management System:關(guān)系數(shù)據(jù)庫管理系統(tǒng))應(yīng)用軟件之一。MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大
29、倉庫內(nèi),這樣就增加了速度并提高了靈活性。MySQL所使用的SQL語言是用于訪問數(shù)據(jù)庫的最常用標(biāo)準(zhǔn)化語言。MySQL軟件采用了雙授權(quán)政策(本詞條“授權(quán)政策”),它分為社區(qū)版和商業(yè)版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),一般中小型網(wǎng)站的開發(fā)都選擇MySQL作為網(wǎng)站數(shù)據(jù)庫。由于其社區(qū)版的性能卓越。與其他的大型數(shù)據(jù)庫例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之處,但是這絲毫也沒有減少它受歡迎的程度。對(duì)于一般的個(gè)人使用者和中小型企業(yè)來說,MySQL提供的功能已經(jīng)綽綽有余。3 系統(tǒng)需求分析3.1用例需求3.1.1用例圖簡(jiǎn)介 用例圖(Use Cas
30、e Diagram)是一個(gè)UML中非常重要的概念,在使用UML的整個(gè)軟件開發(fā)過程中,Use Case處于一個(gè)中心地位。用例是對(duì)一組動(dòng)作序列的抽象描述,系統(tǒng)執(zhí)行這些動(dòng)作序列,產(chǎn)生相應(yīng)的結(jié)果。這些結(jié)果要么反饋給參與者,要么作為其他用例的參數(shù)。用例被認(rèn)為是第二代面向?qū)ο蠹夹g(shù)的標(biāo)志。顯示多個(gè)外部參與者以及他們與系統(tǒng)提供的用例之間的連接。用例是系統(tǒng)中的一個(gè)可以描述參與者與系統(tǒng)之間交互作用的功能單元。用例圖僅描述系統(tǒng)參與者從外部觀察到的系統(tǒng)功能,并不描述這些功能在系統(tǒng)內(nèi)部的具體實(shí)現(xiàn)。本系統(tǒng)所采用的工具為Microsoft Visio 2003。3.1.2 系統(tǒng)總體用例圖根據(jù)調(diào)查及對(duì)整個(gè)系統(tǒng)分析的結(jié)果,按照
31、結(jié)構(gòu)化的系統(tǒng)設(shè)計(jì)方案,此系統(tǒng)可以分為兩種用戶,即學(xué)生、教師、管理員。其中學(xué)生端共有五個(gè)用例,分別如下:(1)登錄:學(xué)生根據(jù)自己的用戶名和密碼登錄到系統(tǒng)中。(2)資料管理:學(xué)生可以查看、修改自己的個(gè)人資料及密碼等信息。(3)在線考試:學(xué)生可以查看所需要進(jìn)行的考試科目,若已經(jīng)考過了則不會(huì)顯示。(4)成績(jī)查詢:學(xué)生可以查看已經(jīng)考過試的相關(guān)科目的成績(jī)的相關(guān)信息。(5)退出系統(tǒng):學(xué)生突出當(dāng)前考試系統(tǒng)。圖3-1 學(xué)生端用例圖其中教師端共有六個(gè)用例,分別如下:(1)登錄:教師根據(jù)自己的用戶名和密碼登錄到系統(tǒng)中。(2)學(xué)生管理:教師可以增加、查看、修改、刪除學(xué)生的個(gè)人資料及密碼等信息。(3)試題管理:教師可以
32、增加考試科目, 刪除、修改科目,增刪該對(duì)應(yīng)科目下的試題。(4)成績(jī)管理:教師可以查看所有學(xué)生的考試相關(guān)信息,及學(xué)生個(gè)人的成績(jī)?cè)敿?xì)信息。(5)登錄管理:教師可以查看相關(guān)人員登錄該系統(tǒng)的相關(guān)情況,查詢、刪除。(6)退出系統(tǒng):教師退出當(dāng)前考試系統(tǒng)。圖3-1 教師端用例圖其中管理員共有七個(gè)用例,分別如下:(1)登錄:管理員根據(jù)自己的用戶名和密碼登錄到系統(tǒng)中。(2)學(xué)生管理:管理員可以增加、查看、修改、刪除學(xué)生的個(gè)人資料及密碼等信息。(3)試題管理:管理員可以增加考試科目, 刪除、修改科目,增刪該對(duì)應(yīng)科目下的試題。(4)成績(jī)管理:管理員可以查看所有學(xué)生的考試相關(guān)信息,及學(xué)生個(gè)人的成績(jī)?cè)敿?xì)信息。(5)登錄
33、管理:管理員可以查看相關(guān)人員登錄該系統(tǒng)的相關(guān)情況,查詢、刪除。(6)教師管理:管理員可以增加教師,修改,刪除教師。(7)退出系統(tǒng):管理員退出當(dāng)前考試系統(tǒng)。圖3-1 管理員端總體用例圖3.2功能需求該系統(tǒng)中每種用戶端均需要完成不同的功能,包括注冊(cè)(僅學(xué)生注冊(cè)),學(xué)生端,教師端,管理員端。其中注冊(cè)包括的內(nèi)容:用戶名、姓名、密碼、性別、地址、郵箱。3.2.1其中學(xué)生端功能需求描述如下:(1)學(xué)生登錄主頁(學(xué)生輸入正確的用戶名和密碼登錄到學(xué)生主頁)(2)資料管理: 1. 查看個(gè)人資料(學(xué)生可以查看自己的個(gè)人資料信息) 2. 修改個(gè)人資料(學(xué)生可以修改自己的個(gè)人資料信息) 3. 修改個(gè)人密碼(學(xué)生可以修
34、改自己的個(gè)人密碼)(3)在線考試: 1. 選擇個(gè)人要進(jìn)行的考試科目。 2. 若已經(jīng)進(jìn)行了某個(gè)科目的考試則不會(huì)有該科目的選擇。(4)成績(jī)查詢: 1. 顯示個(gè)人已經(jīng)進(jìn)行了那幾個(gè)科目的考試。(科目、科目名稱、總分?jǐn)?shù)、所得分?jǐn)?shù)、考試日期、詳細(xì)情況)。 2. 詳細(xì)情況(姓名、科目編號(hào)、科目名稱、題數(shù)、總時(shí)間、總分、考試時(shí)間、交卷時(shí)間、得分 )。(5)退出系統(tǒng): 退出當(dāng)前考試系統(tǒng)。3.2.2其中教師端功能需求描述如下:(1)教師登錄主頁(教師輸入正確的用戶名和密碼登錄到學(xué)生主頁)(2)學(xué)生管理: 1. 查看學(xué)生資料(學(xué)生的所有信息)、修改、刪除學(xué)生。 2. 增加學(xué)生(增加學(xué)生的所有信息,用戶名、姓名、密碼
35、、性別、地址、郵箱) 3. 搜索學(xué)生(根據(jù)學(xué)生的姓名)(3)試題管理: 1. 查看所有的科目情況(ID號(hào)、科目名稱、時(shí)間、狀態(tài)、創(chuàng)建時(shí)間、總題數(shù)、總分?jǐn)?shù)、維護(hù)、操作) 2. 修改所有修改科目(科目名稱、時(shí)間、狀態(tài)開發(fā)、關(guān)閉、描述) 3. 修改所有題目(題號(hào)、題目?jī)?nèi)容、分?jǐn)?shù)、類型、正確答案) 4. 增加科目(科目名稱、時(shí)間、狀態(tài)開發(fā)、關(guān)閉、描述) 5. 增加題目(題目?jī)?nèi)容、分?jǐn)?shù)、類型單選題、多選題、選項(xiàng)最多八項(xiàng)) 6. 刪除科目,題目(所有內(nèi)容)(4)成績(jī)管理: 1. 可根據(jù)科目、姓名、用戶名、開始日期結(jié)束日期進(jìn)行查詢學(xué)生考試信息。 2. 可查看某學(xué)生相關(guān)科目的信息(題號(hào)、正確答案,所答答案、得
36、分)(5)登錄管理: 1. 可查詢所有用戶的登錄情況(包括學(xué)生、教師的用戶名、IP地址、成功/失敗、登錄時(shí)間) 2. 可根據(jù)開始日期結(jié)束日期進(jìn)行查詢。 3. 刪除查詢到的相關(guān)情況。(6)退出系統(tǒng):退出當(dāng)前考試系統(tǒng)。3.2.3其中管理員端功能需求描述如下:(1)教師登錄主頁(教師輸入正確的用戶名和密碼登錄到學(xué)生主頁)(2)學(xué)生管理: 1. 查看學(xué)生資料(學(xué)生的所有信息)、修改、刪除學(xué)生。 2. 增加學(xué)生(增加學(xué)生的所有信息,用戶名、姓名、密碼、性別、地址、郵箱) 3. 搜索學(xué)生(根據(jù)學(xué)生的姓名)(3)試題管理: 1. 查看所有的科目情況(ID號(hào)、科目名稱、時(shí)間、狀態(tài)、創(chuàng)建時(shí)間、總題數(shù)、總分?jǐn)?shù)、維
37、護(hù)、操作) 2. 修改所有修改科目(科目名稱、時(shí)間、狀態(tài)開發(fā)、關(guān)閉、描述) 3. 修改所有題目(題號(hào)、題目?jī)?nèi)容、分?jǐn)?shù)、類型、正確答案) 4. 增加科目(科目名稱、時(shí)間、狀態(tài)開發(fā)、關(guān)閉、描述) 5. 增加題目(題目?jī)?nèi)容、分?jǐn)?shù)、類型單選題、多選題、選項(xiàng)最多八項(xiàng)) 6. 刪除科目,題目(所有內(nèi)容)(4)成績(jī)管理: 1. 可根據(jù)科目、姓名、用戶名、開始日期結(jié)束日期進(jìn)行查詢學(xué)生考試信息。 2. 可查看某學(xué)生相關(guān)科目的信息(題號(hào)、正確答案,所答答案、得分)(5)登錄管理: 1. 可查詢所有用戶的登錄情況(包括學(xué)生、教師的用戶名、IP地址、成功/失敗、登錄時(shí)間) 2. 可根據(jù)開始日期結(jié)束日期進(jìn)行查詢。 3.
38、 刪除查詢到的相關(guān)情況。(6)教師管理: 1. 查詢所有教師的信息(ID、用戶名、密碼) 2. 修改教師、管理員的密碼。 3. 增加教師(用戶名、密碼)(7)退出系統(tǒng):退出當(dāng)前考試系統(tǒng)。3.3性能需求3.3.1安全性要求 由于在線考試系統(tǒng)的使用人數(shù)會(huì)非常大,所有在對(duì)用戶信息導(dǎo)入和查詢時(shí)要保證速度,在用戶出題選題審題過程中又要保證事務(wù)的完整性。對(duì)于整個(gè)系統(tǒng),需要完整的權(quán)限控制,防止某些人惡意的攻擊系統(tǒng),修改原始記錄。同時(shí)對(duì)于數(shù)據(jù)庫中的數(shù)據(jù)需要定時(shí)備份,防止系統(tǒng)數(shù)據(jù)丟失。3.3.2性能要求 在線考試系統(tǒng)的性能需求 為了保證系統(tǒng)能夠長期、安全、穩(wěn)定、可靠、高效的運(yùn)行,在線考試系統(tǒng)應(yīng)該滿足以下的性能需
39、求。1 系統(tǒng)處理的準(zhǔn)確性和及時(shí)性 系統(tǒng)處理的準(zhǔn)確性和及時(shí)性是系統(tǒng)的必要性能。在系統(tǒng)設(shè)計(jì)和開發(fā)過程中,要充分考慮系統(tǒng)當(dāng)前和將來可能承受的工作量,使系統(tǒng)的處理能力和響應(yīng)時(shí)間能夠滿足對(duì)信息處理的需求。由于在線考試系統(tǒng)的在線考試功能對(duì)于整個(gè)系統(tǒng)的功能和性能完成舉足輕重。在線考試系統(tǒng)要確保在線考試過程中有一定的處理突發(fā)事件的能力,且在提交試卷后,所評(píng)閱的試卷的失誤率要保證最小,保證成績(jī)的準(zhǔn)確性和真實(shí)性,所以在系統(tǒng)開發(fā)過程中,必須采用一定的方法保證系統(tǒng)的準(zhǔn)確性。 2系統(tǒng)的開放性和系統(tǒng)的可擴(kuò)充性在線考試系統(tǒng)在開發(fā)過程中,應(yīng)該充分考慮以后的可擴(kuò)充性。例如在線考試的題型的改變,試卷的類型的改變,考生交流的功能也
40、會(huì)不斷的更新和完善。所有這些,都要求系統(tǒng)提供足夠的手段進(jìn)行功能的調(diào)整和擴(kuò)充。而要實(shí)現(xiàn)這一點(diǎn),應(yīng)通過系統(tǒng)的開放性來完成,既系統(tǒng)應(yīng)是一個(gè)開放系統(tǒng),只要符合一定的規(guī)范,可以簡(jiǎn)單的加入和減少系統(tǒng)的模塊,配置系統(tǒng)的硬件。通過軟件的修補(bǔ)、替換完成系統(tǒng)的升級(jí)和更新?lián)Q代。 3 系統(tǒng)的易用性和易維護(hù)性 在線考試系統(tǒng)是直接面對(duì)考生的,而大多數(shù)考生往往對(duì)計(jì)算機(jī)并不是非常熟悉。這就要求系統(tǒng)能夠提供良好的用戶接口,易用的人機(jī)交互界面。要實(shí)現(xiàn)這一點(diǎn),就要求系統(tǒng)應(yīng)該盡量使用用戶熟悉的術(shù)語和中文信息的界面;針對(duì)用戶可能出現(xiàn)的使用問題,要提供足夠的在線幫助,縮短用戶對(duì)系統(tǒng)熟悉的過程。 在線考試系統(tǒng)中涉及到的數(shù)據(jù)(比如考生信息、
41、成績(jī))是企業(yè)的相當(dāng)重要的信息,系統(tǒng)要提供方便的手段供系統(tǒng)維護(hù)人員進(jìn)行數(shù)據(jù)的備份,日常的安全管理,系統(tǒng)意外崩潰時(shí)數(shù)據(jù)的恢復(fù)等工作。 4 系統(tǒng)的標(biāo)準(zhǔn)性 系統(tǒng)在設(shè)計(jì)開發(fā)使用過程中都要涉及到很多計(jì)算機(jī)硬件、軟件。所有這些都要符合主流國際、國家和行業(yè)標(biāo)準(zhǔn)。例如在開發(fā)中使用的操作系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)、開發(fā)工具都必須符合通用標(biāo)準(zhǔn)。如規(guī)范的數(shù)據(jù)庫操縱界面、作為業(yè)界標(biāo)準(zhǔn)的TCP/IP網(wǎng)絡(luò)協(xié)議及ISO9002標(biāo)準(zhǔn)所要求的質(zhì)量規(guī)范等;同時(shí),在自主開發(fā)本系統(tǒng)時(shí),要進(jìn)行良好的設(shè)計(jì)工作,制訂行之有效的軟件工程規(guī)范,保證代碼的易讀性、可操作性和可移植性。4 系統(tǒng)總體設(shè)計(jì)4.1總體軟件架構(gòu)設(shè)計(jì)4.1.1層次架構(gòu)模式集成SSH框架的
42、系統(tǒng)從職責(zé)上分為四層:表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層和域模塊層,以幫助開發(fā)人員在短期內(nèi)搭建結(jié)構(gòu)清晰、可復(fù)用性好、維護(hù)方便的Web應(yīng)用程序。其中使用Struts作為系統(tǒng)的整體基礎(chǔ)架構(gòu),負(fù)責(zé)MVC的分離,在Struts框架的模型部分,控制業(yè)務(wù)跳轉(zhuǎn),利用Hibernate框架對(duì)持久層提供支持,Spring做管理,管理struts和hibernate。具體做法是:用面向?qū)ο蟮姆治龇椒ǜ鶕?jù)需求提出一些模型,將這些模型實(shí)現(xiàn)為基本的Java對(duì)象,然后編寫基本的DAO(Data Access Objects)接口,并給出Hibernate的DAO實(shí)現(xiàn),采用Hibernate架構(gòu)實(shí)現(xiàn)的DAO類來實(shí)現(xiàn)Java類與
43、數(shù)據(jù)庫之間的轉(zhuǎn)換和訪問,最后由Spring做管理,管理struts和hibernate。系統(tǒng)的基本業(yè)務(wù)流程是: 在表示層中,首先通過JSP頁面實(shí)現(xiàn)交互界面,負(fù)責(zé)接收請(qǐng)求(Request)和傳送響應(yīng)(Response),然后Struts根據(jù)配置文件(struts-config.xml)將ActionServlet接收到的Request委派給相應(yīng)的Action處理。在業(yè)務(wù)層中,管理服務(wù)組件的Spring IoC容器負(fù)責(zé)向Action提供業(yè)務(wù)模型(Model)組件和該組件的協(xié)作對(duì)象數(shù)據(jù)處理(DAO)組件完成業(yè)務(wù)邏輯,并提供事務(wù)處理、緩沖池等容器組件以提升系統(tǒng)性能和保證數(shù)據(jù)的完整性。而在持久層中,則依
44、賴于Hibernate的對(duì)象化映射和數(shù)據(jù)庫交互,處理DAO組件請(qǐng)求的數(shù)據(jù),并返回處理結(jié)果。采用上述開發(fā)模型,不僅實(shí)現(xiàn)了視圖、控制器與模型的徹底分離,而且還實(shí)現(xiàn)了業(yè)務(wù)邏輯層與持久層的分離。這樣無論前端如何變化,模型層只需很少的改動(dòng),并且數(shù)據(jù)庫的變化也不會(huì)對(duì)前端有所影響,大大提高了系統(tǒng)的可復(fù)用性。而且由于不同層之間耦合度小,有利于團(tuán)隊(duì)成員并行工作,大大提高了開發(fā)效率。4.1.2基本處理流程根據(jù)本系統(tǒng)特點(diǎn),本文設(shè)計(jì)實(shí)現(xiàn)了系統(tǒng)的軟件架構(gòu)為SSH框架,SSH框架將服務(wù)器端應(yīng)用分為DAO層、Service層、Action層、Spring容器層、視圖層,各層之間通過接口連接。DAO層完成數(shù)據(jù)庫增加、刪除、修
45、改等細(xì)節(jié),DAO層將底層數(shù)據(jù)庫訪問操作和業(yè)務(wù)邏輯分開,對(duì)業(yè)務(wù)層提供面向?qū)ο蟮脑L問接口。Service業(yè)務(wù)層提供了處理應(yīng)用程序的業(yè)務(wù)邏輯和業(yè)務(wù)校驗(yàn)。控制層的控制器Action接受用戶的輸入并調(diào)用業(yè)務(wù)層的業(yè)務(wù)方法和表示層的組件去完成用戶的請(qǐng)求。服務(wù)器的各種組件的生成都是由Spring容器來控制,Spring容器提供了依賴注入、實(shí)例管理、事務(wù)處理等服務(wù)。視圖層是用戶看到并與之交互的界面,視圖向用戶顯示相關(guān)的數(shù)據(jù),并能接受用戶的輸入數(shù)據(jù),但不能進(jìn)行任何實(shí)際的業(yè)務(wù)處理。SSH架構(gòu)設(shè)計(jì)圖如下所示:圖4-1 SSH架構(gòu)設(shè)計(jì)圖SSH框架的工作處理流程說明、原理以及為什么要用。原理:1.通過Configurat
46、ion().configure();讀取并解析hibernate.cfg.xml配置文件2.由hibernate.cfg.xml中的讀取并解析映射3.通過config.buildSessionFactory();/創(chuàng)建SessionFactory4.sessionFactory.openSession();/打開Sesssion5.session.beginTransaction();/創(chuàng)建事務(wù)Transation6.persistent operate持久化操作7.session.getTransaction().commit();/提交事務(wù)8.關(guān)閉Session9.關(guān)閉SesstionFa
47、ctory為什么要用:1. 對(duì)JDBC訪問數(shù)據(jù)庫的代碼做了封裝,大大簡(jiǎn)化了數(shù)據(jù)訪問層繁瑣的重復(fù)性代碼。2. Hibernate是一個(gè)基于JDBC的主流持久化框架,是一個(gè)優(yōu)秀的ORM實(shí)現(xiàn)。他很大程度的簡(jiǎn)化DAO層的編碼工作3. hibernate使用Java反射機(jī)制,而不是字節(jié)碼增強(qiáng)程序來實(shí)現(xiàn)透明性。4. hibernate的性能非常好,因?yàn)樗莻€(gè)輕量級(jí)框架。映射的靈活性很出色。它支持各種關(guān)系數(shù)據(jù)庫,從一對(duì)一到多對(duì)多的各種復(fù)雜關(guān)系。說明:1. 將Struts視圖層產(chǎn)生請(qǐng)求提交給控制層,控制層根據(jù)配置文件決定使用哪些攔截器、Action類。2. 請(qǐng)求經(jīng)過一系列攔截器,根據(jù)不同的請(qǐng)求級(jí)別,攔截器做出
48、不同的處理。3. 調(diào)用Struts2的Action,Spring容器通過配置文件中bean的ID自動(dòng)裝配Action。4. Spring容器定位Action對(duì)應(yīng)的業(yè)務(wù)邏輯。5. 業(yè)務(wù)邏輯層把對(duì)應(yīng)的業(yè)務(wù)處理請(qǐng)求轉(zhuǎn)發(fā)給DAO層。6. DAO層將業(yè)務(wù)邏輯層的數(shù)據(jù)封裝完成后,通過持久層的Hibernate框架映射的POJO對(duì)象與數(shù)據(jù)進(jìn)行交互。應(yīng)用SSH架構(gòu)設(shè)計(jì)可以充分發(fā)揮它們的優(yōu)勢(shì),實(shí)現(xiàn)多層系統(tǒng)開發(fā)的低耦合,不僅減少了重復(fù)開發(fā)工作量,縮短開發(fā)時(shí)間,降低開發(fā)成本,同時(shí),使程序設(shè)計(jì)更加合理,程序運(yùn)行更加穩(wěn)定。4.2.1學(xué)生端功能結(jié)構(gòu)設(shè)計(jì)學(xué)生端系統(tǒng)的功能主要包括登錄模塊、資料管理模塊、在線考試模塊、成績(jī)查詢
49、模塊、退出系統(tǒng)模塊等。其總體功能結(jié)構(gòu)圖分布如下:圖4-2 學(xué)生端功能結(jié)構(gòu)圖4.2.2教師端功能結(jié)構(gòu)設(shè)計(jì)教師端子系統(tǒng)的功能主要包括登錄模塊、學(xué)生管理模塊、試題管理模塊、成績(jī)管理模塊、登錄管理模塊、退出系統(tǒng)模塊等。其總體功能結(jié)構(gòu)圖分布如下:圖4-3 教師端總體功能結(jié)構(gòu)圖4.2.3管理端功能結(jié)構(gòu)設(shè)計(jì)管理端系統(tǒng)的功能主要包括登錄模塊、學(xué)生管理模塊、試題管理模塊、成績(jī)管理模塊、登錄管理模塊、教師管理模塊、退出系統(tǒng)模塊等。其總體功能結(jié)構(gòu)圖分布如下:圖4-4 管理員端功能結(jié)構(gòu)圖4.3 Mysql數(shù)據(jù)庫設(shè)計(jì)1 更小通常更好選擇表示數(shù)據(jù)的最小類型(正確存儲(chǔ)你的內(nèi)容):比如說,能夠使用char 數(shù)據(jù)類型存儲(chǔ),就不
50、必選擇text,能夠使用int型存儲(chǔ)數(shù)據(jù),就不應(yīng)該使用long型。理由:更小的數(shù)據(jù)類型使用了更小的磁盤空間,內(nèi)存和cpu緩存,而且需要的cpu周期也更少。2 簡(jiǎn)單就好盡可能選擇簡(jiǎn)單的數(shù)據(jù)類型存儲(chǔ)數(shù)據(jù),那么在選擇的時(shí)候,盡量選擇最簡(jiǎn)單的基本數(shù)據(jù)類型存儲(chǔ)數(shù)據(jù)。越簡(jiǎn)單的數(shù)據(jù)類型,需要的cpu周期越少。3 盡量避免null盡可能的把字段定義為 not null、Mysql 難以優(yōu)化引用了可空列的查詢,空列會(huì)使索引,索引統(tǒng)計(jì)和值更加復(fù)雜,可空列需要更多的存儲(chǔ)空間。一般來說,設(shè)置默認(rèn)值(DEFAULT)是個(gè)比較好的習(xí)慣。當(dāng)然該條對(duì)Mysql表性能的提升影響不是很大,不應(yīng)放在最優(yōu)先考慮的地位。當(dāng)然,索引優(yōu)化
51、肯定是必不可少的,不過這屬于設(shè)計(jì)表完成之后的優(yōu)化范圍了。一般的管理信息系統(tǒng)又常被稱為數(shù)據(jù)庫應(yīng)用系統(tǒng),它是以數(shù)據(jù)庫為基礎(chǔ)的應(yīng)用系統(tǒng),對(duì)信息(數(shù)據(jù))的管理包括錄入、修改、刪除、查詢、統(tǒng)計(jì)都是以數(shù)據(jù)庫為基礎(chǔ)的。數(shù)據(jù)庫的設(shè)計(jì)、優(yōu)化、實(shí)現(xiàn)是管理信息系統(tǒng)同時(shí)也是本系統(tǒng)最為重要最為核心的部分,是系統(tǒng)優(yōu)劣的關(guān)鍵。本系統(tǒng)的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)共包括概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)和物理結(jié)構(gòu)設(shè)計(jì)。4.3.1概念結(jié)構(gòu)設(shè)計(jì)要點(diǎn)根據(jù)對(duì)數(shù)據(jù)項(xiàng)與數(shù)據(jù)結(jié)構(gòu)的分析,設(shè)計(jì)出能夠滿足系統(tǒng)需求的各種實(shí)體,及它們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計(jì)打下基礎(chǔ)。根據(jù)設(shè)計(jì)規(guī)劃得出的實(shí)體有:學(xué)生實(shí)體、教師實(shí)體、管理員實(shí)體。1、系統(tǒng)學(xué)生成績(jī)主要實(shí)體E-R圖如下
52、所示:圖4-5 學(xué)生成績(jī)實(shí)體E-R圖圖4-6 學(xué)生實(shí)體E-R圖2、各實(shí)體之間的關(guān)系總E-R圖如下:圖4-5 各實(shí)體總體E-R圖4.3.2邏輯結(jié)構(gòu)設(shè)計(jì)要點(diǎn)注:下劃線_代表主鍵,波浪線代表外鍵;學(xué)生表(ID號(hào),用戶名,密碼,姓名,性別,電子郵件,地址)教師表(教師ID號(hào),用戶名,密碼)管理員表(管理員ID賬號(hào),用戶名,姓名,密碼)考試記錄表(考試編號(hào),結(jié)果ID,題目ID,答案ID)登錄記錄表(登錄ID號(hào),用戶名,狀態(tài),用戶類型,登錄IP,登錄時(shí)間)選擇表(選擇ID號(hào),試題ID,內(nèi)容)試題表(試題ID號(hào),科目ID號(hào),題目?jī)?nèi)容,題目類型,分?jǐn)?shù),正確答案,答題時(shí)間)考試結(jié)果表(考試結(jié)果ID號(hào),學(xué)生ID號(hào)
53、,科目ID,分?jǐn)?shù)ID,開始時(shí)間,結(jié)束時(shí)間)科目表(科目ID號(hào),科目名稱,創(chuàng)建時(shí)間,開/關(guān)狀態(tài),科目介紹,分?jǐn)?shù))4.3.3物理結(jié)構(gòu)設(shè)計(jì)要點(diǎn)本系統(tǒng)設(shè)計(jì)的數(shù)據(jù)庫表共有18個(gè),由于篇幅有限,下面只列舉部分與教師端有關(guān)的表:1. 學(xué)生表(student)字段名數(shù)據(jù)類型可否為空描述studentiddecimal否學(xué)號(hào)(主鍵)usernamevarchar(30)否姓名passwordvarchar(30)否密碼addressvarchar(40)否地址sexvarchar(2)否性別emailvarchar(40)否郵箱 表4-7學(xué)生表2. 教師表(teacher)字段名數(shù)據(jù)類型可否為空描述teache
54、riddecimal(10,0)否教師號(hào)(主鍵)passwordvarchar(30)否密碼usernamevarchar(30)否姓名 表4-8教師表3. 選擇表(options)字段名數(shù)據(jù)類型可否為空描述optioniddecimal(10,0)否選擇號(hào)(主鍵)questioniddecimal(10,0)否試題ID號(hào)contentTEXT否內(nèi)容表4-9選擇表4. 科目表(subject)字段名數(shù)據(jù)類型可否為空描述subjectdecimal(10,0)否科目號(hào)(主鍵)namevarchar(30)否科目名timedecimal(5,0)否分?jǐn)?shù)statedecimal(1,0)否開/關(guān)狀態(tài)introTEXT否科目介紹sdatevarchar(10)否科目創(chuàng)建時(shí)間表5-1科目表5. 登錄記錄表(lo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 加層導(dǎo)致該房屋裂縫賠償合同書(4篇)
- 公眾公司監(jiān)督管理制度
- 專科醫(yī)生調(diào)考復(fù)習(xí)試題附答案
- 藥理學(xué)復(fù)習(xí)測(cè)試題
- 2025股東借款合同范本(16篇)
- 嵌入式開發(fā)中的軟件版本管理試題及答案
- 2024年中韓雇傭許可制情況統(tǒng)計(jì)分析報(bào)告
- 數(shù)字媒體設(shè)計(jì)創(chuàng)意與技能測(cè)試題庫
- 現(xiàn)代農(nóng)業(yè)產(chǎn)業(yè)鏈協(xié)同發(fā)展合同書
- 農(nóng)業(yè)合作社種養(yǎng)殖項(xiàng)目合作合同
- 通向自由與智慧之路
- GB/T 18380.12-2008電纜和光纜在火焰條件下的燃燒試驗(yàn)第12部分:?jiǎn)胃^緣電線電纜火焰垂直蔓延試驗(yàn)1 kW預(yù)混合型火焰試驗(yàn)方法
- word基礎(chǔ)入門公開課課件
- 綜合、專科醫(yī)院執(zhí)業(yè)校驗(yàn)標(biāo)準(zhǔn)
- 學(xué)習(xí)羅陽青年隊(duì)故事PPT在急難險(xiǎn)重任務(wù)中攜手拼搏奉獻(xiàn)PPT課件(帶內(nèi)容)
- 稀土元素的分離方法-icaredbd課件
- 四年級(jí)下數(shù)學(xué)課件-火車過橋-通用版
- 版式設(shè)計(jì)課件3,網(wǎng)格系統(tǒng)全攻略
- 船舶防臺(tái)風(fēng)安全安全知識(shí)
- 國家開放大學(xué)《人文英語3》章節(jié)測(cè)試參考答案
- 用雙棱鏡干涉測(cè)光波(20149)
評(píng)論
0/150
提交評(píng)論