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

正文內(nèi)容

網(wǎng)上考試系統(tǒng)畢業(yè)設(shè)計(jì)論文(編輯修改稿)

2025-07-25 21:48 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 統(tǒng)用例圖 (1)客戶端包結(jié)構(gòu)::examclient包:(2)服務(wù)器端包結(jié)構(gòu)::::: 客戶端類(lèi)圖及說(shuō)明客戶端主要的類(lèi)有LoginFrame,ExamClient,SelectSubjectFrame,QuestionPanel和ExamMainFrame。如圖46所示: 圖46客戶端類(lèi)圖主要類(lèi)圖說(shuō)明:(1)LoginFrame, 它是登錄的主窗口,同時(shí)也包含了main()函數(shù)。它是運(yùn)行客戶端的首要類(lèi)。類(lèi)說(shuō)明如表41所示: 表41 LoginFrame類(lèi)說(shuō)明 類(lèi)名稱LoginFrame類(lèi)描述啟動(dòng)登陸窗口,運(yùn)行客戶端的主類(lèi)函數(shù)描述public static void main ()客戶端運(yùn)行的入口函數(shù)public void actionPerformed()監(jiān)聽(tīng)事件的執(zhí)行函數(shù) (2)ExamClient類(lèi)主要用來(lái)與服務(wù)器端進(jìn)行交互。它里面的方法都是用來(lái)發(fā)送和接受數(shù)據(jù)的。類(lèi)說(shuō)明如表42所示: 表42 ExamClient類(lèi)說(shuō)明 類(lèi)名稱ExamClient類(lèi)描述客戶端通過(guò)Socket與服務(wù)器交互的包裝類(lèi)。函數(shù)描述public boolean send()發(fā)送學(xué)號(hào)和密碼到服務(wù)器public Response receive()接受客戶端傳過(guò)來(lái)的Response對(duì)象public boolean sendCourseName()發(fā)送考生選擇的考試科目到服務(wù)器端public boolean sendAnswer()發(fā)送考生做的試卷答案到服務(wù)器端public void closeSocket()關(guān)閉客戶端使用的套接口 客戶端model類(lèi)說(shuō)明Student:純粹的一個(gè)javaBean,類(lèi)里不包含任何業(yè)務(wù)代碼。類(lèi)里定義的屬性有:學(xué)號(hào),姓名,班級(jí),密碼,在線,登陸時(shí)間。這個(gè)javaBean對(duì)應(yīng)著MySQL數(shù)據(jù)庫(kù)里的student表。Question:試題類(lèi)。屬性有:題號(hào),題目描述,試題選項(xiàng),正確答案。其中試題選項(xiàng)用了一個(gè)ArrayList來(lái)存放。Paper:考卷類(lèi)。只有一個(gè)試題屬性。使用了一個(gè)ArrayList來(lái)存放考試試題。這些考試試題都是隨機(jī)的從MySQL數(shù)據(jù)庫(kù)中相應(yīng)的試題表中的取出的。AnswerPaper:答卷類(lèi)。用了一個(gè)HashMap來(lái)存放考生的答案。其中HashMap中的key存放的是題號(hào),value存放的是考生做的答案。 服務(wù)器端類(lèi)圖及說(shuō)明服務(wù)器端的類(lèi)主要有ServerMain,ServerFrame,ServerPanel,ConfigPanel,UserManagePanel,OnLinePanel,QuestionPanel。如圖47所示: 圖47 服務(wù)器端類(lèi)圖主要類(lèi)圖說(shuō)明:(1)ServerMain,此類(lèi)只有一個(gè)功能。那就是啟動(dòng)服務(wù)器端。它只包括一個(gè)方法:Main()方法。類(lèi)說(shuō)明如表43所示: 表43 ServerMain類(lèi)說(shuō)明類(lèi)名稱ServerMain類(lèi)描述啟動(dòng)服務(wù)器端窗口,運(yùn)行服務(wù)端的主類(lèi)。函數(shù)描述public static void main ()服務(wù)器端運(yùn)行的入口函數(shù)(2)ServerFrame,此類(lèi)就是服務(wù)器端的Frame,里面有6個(gè)Panel。服務(wù)器端的界面設(shè)置都在這個(gè)類(lèi)里。類(lèi)說(shuō)明如表44所示: 表44 ServerFrame類(lèi)說(shuō)明類(lèi)名稱ServerFrame類(lèi)描述顯示服務(wù)器端窗口的主類(lèi),包含了服務(wù)器端六個(gè)模塊的Panel。屬性描述JTabbedPane panes在各個(gè)Panel之間進(jìn)行切換的組件ServicePanel servicePane系統(tǒng)服務(wù)面板ConfigPanel configPane系統(tǒng)配置面板UserManagePanel userPane用戶管理面板OnLinePanel onlinePane在線用戶面板QuestionPanel questionPanel試題管理面板PaperManagePanel paperPanel試卷管理面板static Properties prop與配置文件相關(guān)的屬性集static boolean isDBWay數(shù)據(jù)庫(kù)讀取方式 static boolean isSaveLog是否保存系統(tǒng)日志函數(shù)描述public void launchFrame()服務(wù)端窗口的設(shè)置函數(shù)public void stateChanged()Panel之間切換時(shí)刷新用戶 (3)ServerPanel,系統(tǒng)服務(wù)模塊的Panel。一些系統(tǒng)服務(wù)模塊的設(shè)置都在這個(gè)類(lèi)里進(jìn)行。里面有開(kāi)始系統(tǒng)服務(wù),停止系統(tǒng)服務(wù)和記錄系統(tǒng)日志功能。類(lèi)說(shuō)明如表45所示: 表45 ServerPanel類(lèi)說(shuō)明類(lèi)名稱ServerPanel類(lèi)描述系統(tǒng)服務(wù)模塊的Panel類(lèi),主要負(fù)責(zé)系統(tǒng)服務(wù)。屬性描述JButton btnStart開(kāi)始服務(wù)的按鈕JButton btnStop關(guān)閉服務(wù)的按鈕ServiceProcessBar bar進(jìn)度條JTextArea areaLog記錄日志的多行文本框ServerSocket server服務(wù)器端的套接口Thread thread與用戶進(jìn)行交互的線程static boolean isServiceRun判斷服務(wù)是否停止String path保存系統(tǒng)日志的路徑PrintWriter raf寫(xiě)系統(tǒng)日志的流StudentDao studentDao查詢學(xué)生的DAOCourseDao courseDao查詢課程的DAOPaperDao paperDao查詢?cè)嚲淼腄AO函數(shù)描述public void initProp()初始化配置文件public void writeSysLog寫(xiě)系統(tǒng)日志public void startServer()開(kāi)啟系統(tǒng)服務(wù)public void stopServer()public void actionPerformed()停止系統(tǒng)服務(wù)處理監(jiān)聽(tīng)事件public void run()通過(guò)ServerSocket與客戶端進(jìn)行交互的線程運(yùn)行函數(shù) 服務(wù)器端DAO描述 DAO(Data Access Object)主要用于訪問(wèn)數(shù)據(jù)庫(kù)。為了建立一個(gè)健壯的J2EE應(yīng)用,應(yīng)該將所有對(duì)數(shù)據(jù)源的訪問(wèn)操作抽象封裝在一個(gè)公共API中。用程序設(shè)計(jì)的語(yǔ)言來(lái)說(shuō),就是建立一個(gè)接口,接口中定義了此應(yīng)用程序中將會(huì)用到的所有事務(wù)方法。在這個(gè)應(yīng)用程序中,當(dāng)需要和數(shù)據(jù)源進(jìn)行交互的時(shí)候則使用這個(gè)接口,并且編寫(xiě)一個(gè)單獨(dú)的類(lèi)來(lái)實(shí)現(xiàn)這個(gè)接口在邏輯上對(duì)應(yīng)這個(gè)特定的數(shù)據(jù)存儲(chǔ)。通過(guò)定義一些DAO接口,可以使程序的擴(kuò)展性更好,同時(shí)也符合面向接口編程的設(shè)計(jì)模式。DAO包下的接口和實(shí)現(xiàn)類(lèi)說(shuō)明如表46所示: 表46 DAO包下的類(lèi)描述DAODAO功能描述StudentDao通過(guò)學(xué)號(hào)和密碼獲得學(xué)生和增加學(xué)生的接口StudentDaoFromMySQLStudentDao的實(shí)現(xiàn)類(lèi),主要用于通過(guò)學(xué)號(hào)和密碼從MySQL數(shù)據(jù)庫(kù)中查詢學(xué)生PaperDao獲得考卷的接口PaperDaoFromMySQLPaperDao的實(shí)現(xiàn)類(lèi),主要用于從MySQL數(shù)據(jù)庫(kù)中隨機(jī)的獲得一張考卷CourseDao獲得課程名稱和試題的DAOCourseDaoFromMySQLCourseDao的實(shí)現(xiàn)類(lèi),主要用于從MySQL數(shù)據(jù)庫(kù)中讀取課程名稱和存放課程試題的表名稱 數(shù)據(jù)庫(kù)連接的工具類(lèi)說(shuō)明工具類(lèi)JDBCUtil主要用于連接數(shù)據(jù)庫(kù)。有了這個(gè)工具類(lèi)后,在程序中用到數(shù)據(jù)庫(kù)連接時(shí)就不用再每次都重新生成了,避免了許多麻煩,提高了程序的可重用性和可維護(hù)性。數(shù)據(jù)庫(kù)的連接參數(shù)只需要在這個(gè)工具類(lèi)里設(shè)置一次就可以了,非常的方便。一般情況下,由于工具類(lèi)里面的函數(shù)是通過(guò)工具類(lèi)直接來(lái)調(diào)用的,所以都把里面的屬性定義為靜態(tài)屬性,把里面的方法定義為靜態(tài)方法。在使用完資源后,都要求釋放資源,所以在工具類(lèi)JDBCUtil里,不僅有g(shù)etConnection()方法,還有release()方法用來(lái)釋放資源。當(dāng)管理員不設(shè)置數(shù)據(jù)庫(kù)的連接參數(shù)時(shí),系統(tǒng)就會(huì)采用在代碼里設(shè)置的默認(rèn)連接參數(shù)。這些默認(rèn)的連接參數(shù)是在一個(gè)靜態(tài)塊里設(shè)置的。代碼如下:static{ if(DRIVERNAME==null){DRIVERNAME = 。}if(URL==null){ URL=jdbc:mysql://localhost:3306/exam。}if(USERNAME==null){ USERNAME = root。} if(PASSWORD==null){ PASSWORD = 123456。 } }工具類(lèi)說(shuō)明如表47所示: 表47 工具類(lèi)描述類(lèi)名稱JDBCUtil類(lèi)描述工具類(lèi),主要用于獲得數(shù)據(jù)庫(kù)的連接屬性描述static String DRIVERNAME連接數(shù)據(jù)庫(kù)的驅(qū)動(dòng)名稱static String URL連接數(shù)據(jù)庫(kù)的URLstatic String USERNAME連接數(shù)據(jù)庫(kù)的用戶名static String PASSWORD連接數(shù)據(jù)庫(kù)的密碼static Connection con數(shù)據(jù)庫(kù)連接對(duì)象函數(shù)描述static void setURL()設(shè)置連接參數(shù)static Connection getConnection()注冊(cè)驅(qū)動(dòng),獲得連接對(duì)象static void release(Object obj)釋放連接對(duì)象5 服務(wù)器模塊服務(wù)器配置模塊主要考慮的是關(guān)于信息的存儲(chǔ)方式的選擇及配置,此設(shè)計(jì)主要實(shí)現(xiàn)了基于MySql數(shù)據(jù)庫(kù)的持久化存儲(chǔ)方式(但是根據(jù)Java的開(kāi)閉設(shè)計(jì)原則,本設(shè)計(jì)提供了一個(gè)接口通過(guò)擴(kuò)展接口實(shí)現(xiàn)多種方式的存儲(chǔ)無(wú)需更改源代碼只需擴(kuò)展)。由于采用了JDBC技術(shù)來(lái)連接數(shù)據(jù)庫(kù),所有首先需要管理員配置數(shù)據(jù)庫(kù)的連接參數(shù)。參數(shù)配置好以后需要啟動(dòng)服務(wù),客戶端才能連接。該模塊主要用來(lái)配置數(shù)據(jù)庫(kù)的連接參數(shù)。(文件方式我們?cè)戎谱髁?,但是后?lái)用了MySQL數(shù)據(jù)庫(kù)后,我們感覺(jué)有點(diǎn)多余,就又把它給去除了。)連接數(shù)據(jù)庫(kù)的參數(shù)主要有:驅(qū)動(dòng)程序,連接參數(shù),有戶名和密碼,數(shù)據(jù)庫(kù)名。系統(tǒng)在工具類(lèi)GetParameter中配置了數(shù)據(jù)庫(kù)的默認(rèn)連接參數(shù),這些參數(shù)的參數(shù)名和參數(shù)值都是保存在一個(gè)String類(lèi)型的數(shù)組中:public static String[] keys = { DriverName, ConnParameter, UserName, Password,DBName,DataWay}。public static String[] values = { , jdbc:mysql://:3306/, root, 123456, exam, 0}。管理員也可以根據(jù)自己的需要配置數(shù)據(jù)庫(kù)的連接參數(shù),當(dāng)管理員設(shè)置好數(shù)據(jù)庫(kù)的連接參數(shù)之后,點(diǎn)擊保存配置,管理員可以直接查看這個(gè)文件或修改這個(gè)文件。保存配置的代碼如下:public static boolean saveProp(String[] keys,String[] values) throws IOException{if(==){
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1