




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 2014-2015學(xué)年第一(dy)學(xué)期計(jì)算機(jī)學(xué)院軟件工程專業(yè)程序設(shè)計(jì)(chn x sh j)與框架I課程設(shè)計(jì)報(bào)告1233xx班 2012xxxx 陳 璇2012xxxx 劉海(li hi)金2012xxxx 張英杰2014年12月31日課題(kt)名稱: 學(xué)生成績(jī)(chngj)系統(tǒng)任務(wù)(rn wu)分工:2012xxxx 陳 璇:負(fù)責(zé)收集課程設(shè)計(jì)資料,部分代碼的編寫(xiě)以及程序的調(diào)試,數(shù)據(jù)庫(kù)的修改工作。2012xxxx 劉海金: 負(fù)責(zé)收集課程設(shè)計(jì)材料,部分代碼的編寫(xiě),以及框架的搭建,修改工作。2012xxxx 張英杰: 負(fù)責(zé)(fz)收集課程設(shè)計(jì)材料(cilio),數(shù)據(jù)分析,部分(b fen)代碼
2、的編寫(xiě),課程設(shè)計(jì)報(bào)告的修改工作。 目 錄TOC o 1-3 h u HYPERLINK l _Toc31397 第1章 引言 PAGEREF _Toc31397 1 HYPERLINK l _Toc4453 1.1 課程設(shè)計(jì)的目的和意義 PAGEREF _Toc4453 1 HYPERLINK l _Toc7958 1.2 課程設(shè)計(jì)的總體要求 PAGEREF _Toc7958 1 HYPERLINK l _Toc2401 第2章 需求分析 PAGEREF _Toc2401 2 HYPERLINK l _Toc13526 2.1 系統(tǒng)目標(biāo) PAGEREF _Toc13526 2 HYPERLIN
3、K l _Toc17962 2.2 功能需求 PAGEREF _Toc17962 2 HYPERLINK l _Toc7946 2.3 數(shù)據(jù)需求 PAGEREF _Toc7946 2 HYPERLINK l _Toc22021 2.4 非功能性需求 PAGEREF _Toc22021 3 HYPERLINK l _Toc29619 2.5 環(huán)境需求 PAGEREF _Toc29619 3 HYPERLINK l _Toc31869 第3章 系統(tǒng)分析與設(shè)計(jì) PAGEREF _Toc31869 5 HYPERLINK l _Toc32659 3.1 系統(tǒng)調(diào)查 PAGEREF _Toc32659 5
4、 HYPERLINK l _Toc5411 3.2 系統(tǒng)構(gòu)架 PAGEREF _Toc5411 5 HYPERLINK l _Toc21095 3.3 系統(tǒng)功能模塊圖 PAGEREF _Toc21095 5 HYPERLINK l _Toc20847 3.4系統(tǒng)設(shè)計(jì)思想 PAGEREF _Toc20847 6 HYPERLINK l _Toc24016 3.5系統(tǒng)設(shè)計(jì)分析 PAGEREF _Toc24016 6 HYPERLINK l _Toc21109 3.6 數(shù)據(jù)庫(kù)表的設(shè)計(jì) PAGEREF _Toc21109 6 HYPERLINK l _Toc17564 3.7 MVC設(shè)計(jì)模式 PAGE
5、REF _Toc17564 7 HYPERLINK l _Toc26003 3.8 對(duì)象(類)設(shè)計(jì) PAGEREF _Toc26003 8 HYPERLINK l _Toc9559 3.9 狀態(tài)圖設(shè)計(jì) PAGEREF _Toc9559 9 HYPERLINK l _Toc9028 3.10 程序用例圖 PAGEREF _Toc9028 10 HYPERLINK l _Toc16959 第4章 編碼與測(cè)試 PAGEREF _Toc16959 11 HYPERLINK l _Toc27059 4.1 測(cè)試目的 PAGEREF _Toc27059 11 HYPERLINK l _Toc14876 4
6、.2 測(cè)試環(huán)境的搭建 PAGEREF _Toc14876 11 HYPERLINK l _Toc14535 4.3 測(cè)試方法 PAGEREF _Toc14535 12 HYPERLINK l _Toc24708 4.4 測(cè)試項(xiàng)目 PAGEREF _Toc24708 12 HYPERLINK l _Toc25538 4.5 測(cè)試結(jié)果 PAGEREF _Toc25538 12 HYPERLINK l _Toc31125 第5章 結(jié)束語(yǔ) PAGEREF _Toc31125 13 HYPERLINK l _Toc27819 參考文獻(xiàn) PAGEREF _Toc27819 14 HYPERLINK l _
7、Toc31787 附錄1 部分系統(tǒng)(xtng)界面 PAGEREF _Toc31787 15 HYPERLINK l _Toc16402 附錄(fl)2 部分源程序 PAGEREF _Toc16402 17第1章 引言 第1章 引言(ynyn)1.1 課程設(shè)計(jì)的目的(md)和意義Java EE開(kāi)源框架課程設(shè)計(jì)是在學(xué)生系統(tǒng)的學(xué)習(xí)了Struts2、hibernate和spring后,按照所學(xué)的知識(shí),設(shè)計(jì)開(kāi)發(fā)一個(gè)小型的人事管理系統(tǒng)。旨在通過(guò)完成一個(gè)項(xiàng)目的開(kāi)發(fā),通過(guò)實(shí)際問(wèn)題(wnt)培養(yǎng)學(xué)生的動(dòng)手能力,并且使學(xué)生更加深入的理解和靈活掌握教學(xué)內(nèi)容。通過(guò)實(shí)驗(yàn)使學(xué)生更加熟練的掌握eclipse的使用,掌握S
8、truts2、Hibernate和Spring整合開(kāi)發(fā)項(xiàng)目,使學(xué)生更加深入的了解java web的開(kāi)源框架的使用。1.2 課程設(shè)計(jì)的總體要求本課程設(shè)計(jì)所選課題的主要目標(biāo)是采用B/S模式,基于J2EE架構(gòu),實(shí)現(xiàn)網(wǎng)站構(gòu)建管理系統(tǒng)的基本功能。本次設(shè)計(jì)的主要工作及報(bào)告的主要內(nèi)容可以歸結(jié)如下:(1)分析網(wǎng)站構(gòu)建管理系統(tǒng)的功能需求和非功能需求。(2)設(shè)計(jì)網(wǎng)站構(gòu)建管理系統(tǒng)的技術(shù)體系結(jié)構(gòu),應(yīng)用設(shè)計(jì)模式,設(shè)計(jì)數(shù)據(jù)庫(kù)實(shí)體聯(lián)系模型。(3)實(shí)現(xiàn)網(wǎng)站構(gòu)建管理系統(tǒng)的組件管理、模塊管理、界面模板管理等諸多系統(tǒng)管理功能,提供留言板、滾動(dòng)新聞、計(jì)數(shù)器等常用組件和模塊。(4)完成網(wǎng)站構(gòu)建管理系統(tǒng)的單元測(cè)試、功能測(cè)試及性能測(cè)試,并
9、給出測(cè)試分析。第2章 需求分析 第2章 需求(xqi)分析2.1 系統(tǒng)(xtng)目標(biāo)(1)總體目標(biāo) 能夠完成整個(gè)軟件的設(shè)計(jì),并且(bngqi)能夠使軟件能夠正常運(yùn)行。 (2)具體目標(biāo)實(shí)現(xiàn)每個(gè)功能,并且能夠完成具體的每個(gè)功能可以選擇多門(mén)課程學(xué)習(xí), 課程類別是必修課或選修課,每門(mén)課程由一位專業(yè)教師授課,學(xué)期末教師給出學(xué)生成績(jī),成績(jī)由平時(shí)成績(jī)、實(shí)驗(yàn)成績(jī)、理論成績(jī)組成。成績(jī)可以是數(shù)值(小于等于100分)或非數(shù)值(優(yōu)、良、中、及格、不及格)。2.2 功能需求(1)實(shí)現(xiàn)學(xué)生基本情況的錄入、修改、刪除等基本操作(2)按學(xué)生學(xué)號(hào)以學(xué)年分組查詢?nèi)空n程成績(jī)(3)按學(xué)生學(xué)號(hào)計(jì)算基點(diǎn)成績(jī),計(jì)算規(guī)則參考長(zhǎng)春工業(yè)大學(xué)
10、學(xué)分基點(diǎn)計(jì)算規(guī)則。(4)按照某門(mén)課程學(xué)生成績(jī)排序(5)某門(mén)課程最高、最低成績(jī)的學(xué)生基本信息(6)計(jì)算某門(mén)課程的平均分(7)建立用戶及授權(quán)2.3 數(shù)據(jù)需求(1)學(xué)生基本信息該模塊下屬子模塊:專業(yè)管理、班級(jí)管理和學(xué)生管理,針對(duì)學(xué)生基本信息的范圍進(jìn)行如此劃分。相應(yīng)模塊功能即實(shí)現(xiàn)增加、刪除、修改和查詢,以便管理學(xué)生的基本信息。(2)教師基礎(chǔ)信息該模塊只包含教師管理唯一子模塊,對(duì)教師基礎(chǔ)信息進(jìn)行基本的增加、刪除、修改、查詢管理。其中,具體的操作對(duì)象涉及任課的教師,他們?cè)跀?shù)據(jù)庫(kù)中以不同的編號(hào)作為區(qū)分。(3)成績(jī)基礎(chǔ)信息根據(jù)涉及學(xué)生成績(jī)的相關(guān)性進(jìn)行組織,該模塊包含子模塊:課程管理、智育成績(jī)統(tǒng)計(jì)(tngj)、
11、德育成績(jī)統(tǒng)計(jì)。(4)用戶(yngh)權(quán)限信息動(dòng)態(tài)對(duì)用戶的權(quán)限進(jìn)行管理,以便不同用戶登陸系統(tǒng)獲得不同的模塊顯示,對(duì)用戶的操作進(jìn)行動(dòng)態(tài)的擴(kuò)展和限制。所以,該模塊劃分為:角色(ju s)管理、權(quán)限管理;角色管理是對(duì)角色的增加、刪除、修改和查詢,給用戶賦予不同的角色使用戶具有不同的功能使用;權(quán)限管理則對(duì)角色的權(quán)限進(jìn)行管理。(5)系統(tǒng)數(shù)據(jù)信息該模塊是系統(tǒng)的增值模塊,包含數(shù)據(jù)備份、數(shù)據(jù)導(dǎo)出和日志管理;是對(duì)系統(tǒng)的數(shù)據(jù)進(jìn)行維護(hù),在系統(tǒng)遭到破壞的情況下保證數(shù)據(jù)的完整性,而且可以根據(jù)日志來(lái)進(jìn)行查看和恢復(fù)2.4 非功能性需求安全性、可靠性、互操作性、健壯性、易使用性、可維護(hù)性、可移植性、可重用性、可擴(kuò)展性。2.5
12、環(huán)境需求(1)MySQL簡(jiǎn)介:MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),開(kāi)發(fā)者為瑞典MySQLAB公司。在2008年1月16號(hào)被Sun公司收購(gòu)。目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)(2)數(shù)據(jù)庫(kù)的連接JDBC(JavaDataBaseConnectivity java數(shù)據(jù)庫(kù)連接)是一種用于執(zhí)行SQL語(yǔ)句的JavaAPI,可以為多種關(guān)系數(shù)據(jù)庫(kù)提供統(tǒng)一訪問(wèn),它由一組用Java語(yǔ)言編寫(xiě)的類和接口組成。JDBC為工具/數(shù)據(jù)庫(kù)開(kāi)發(fā)人員提供了一個(gè)標(biāo)準(zhǔn)的
13、API,據(jù)此可以構(gòu)建更高級(jí)的工具和接口,使數(shù)據(jù)庫(kù)開(kāi)發(fā)人員能夠用純JavaAPI編寫(xiě)數(shù)據(jù)庫(kù)應(yīng)用程序。有了JDBC,向各種關(guān)系數(shù)據(jù)發(fā)送SQL語(yǔ)句就是一件很容易的事。換言之,有了JDBCAPI,就不必為訪問(wèn)Sybase數(shù)據(jù)庫(kù)專門(mén)寫(xiě)一個(gè)程序,為訪問(wèn)Oracle數(shù)據(jù)庫(kù)又專門(mén)寫(xiě)一個(gè)程序,或?yàn)樵L問(wèn)Informix數(shù)據(jù)庫(kù)又編寫(xiě)另一個(gè)程序等等,程序員只需用JDBCAPI寫(xiě)一個(gè)程序就夠了,它可向相應(yīng)數(shù)據(jù)庫(kù)發(fā)送SQL調(diào)用。同時(shí),將Java語(yǔ)言和JDBC結(jié)合起來(lái)使程序員不必為不同的平臺(tái)編寫(xiě)不同的應(yīng)用程序,只須寫(xiě)一遍程序就可以讓它在任何平臺(tái)上運(yùn)行,這也是Java語(yǔ)言“編寫(xiě)一次,處處運(yùn)行”的優(yōu)勢(shì)。Java數(shù)據(jù)庫(kù)連接體系結(jié)
14、構(gòu)是用于Java應(yīng)用程序連接數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)方法。JDBC對(duì)Java程序員而言是API,對(duì)實(shí)現(xiàn)與數(shù)據(jù)庫(kù)連接的服務(wù)提供商而言是接口模型。作為API,JDBC為程序開(kāi)發(fā)提供標(biāo)準(zhǔn)的接口,并為數(shù)據(jù)庫(kù)廠商及第三方中間件廠商實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的連接提供了標(biāo)準(zhǔn)方法。JDBC使用已有的SQL標(biāo)準(zhǔn)并支持與其它數(shù)據(jù)庫(kù)連接標(biāo)準(zhǔn),如ODBC之間的橋接。JDBC實(shí)現(xiàn)了所有這些面向(min xin)標(biāo)準(zhǔn)的目標(biāo)并且具有簡(jiǎn)單、嚴(yán)格類型定義且高性能實(shí)現(xiàn)的接口。Java具有堅(jiān)固、安全、易于使用、易于理解和可從網(wǎng)絡(luò)上自動(dòng)(zdng)下載等特性,是編寫(xiě)數(shù)據(jù)庫(kù)應(yīng)用程序的杰出語(yǔ)言。所需要的只是Java應(yīng)用程序與各種不同數(shù)據(jù)庫(kù)之間進(jìn)行對(duì)話(duhu
15、)的方法。而JDBC正是作為此種用途的機(jī)制。JDBC擴(kuò)展了Java的功能。例如,用Java和JDBCAPI可以發(fā)布含有applet的網(wǎng)頁(yè),而該applet使用的信息可能來(lái)自遠(yuǎn)程數(shù)據(jù)庫(kù)。企業(yè)也可以用JDBC通過(guò)Intranet將所有職員連到一個(gè)或多個(gè)內(nèi)部數(shù)據(jù)庫(kù)中(即使這些職員所用的計(jì)算機(jī)有Windows、Macintosh和UNIX等各種不同的操作系統(tǒng))。隨著越來(lái)越多的程序員開(kāi)始使用Java編程語(yǔ)言,對(duì)從Java中便捷地訪問(wèn)數(shù)據(jù)庫(kù)的要求也在日益增加。 MIS管理員們都喜歡Java和JDBC的結(jié)合,因?yàn)樗剐畔鞑プ兊萌菀缀徒?jīng)濟(jì)。企業(yè)可繼續(xù)使用它們安裝好的數(shù)據(jù)庫(kù),并能便捷地存取信息,即使這些信息是
16、儲(chǔ)存在不同數(shù)據(jù)庫(kù)管理系統(tǒng)上。新程序的開(kāi)發(fā)期很短。安裝和版本控制將大為簡(jiǎn)化。程序員可只編寫(xiě)一遍應(yīng)用程序或只更新一次,然后將它放到服務(wù)器上,隨后任何人就都可得到最新版本的應(yīng)用程序。對(duì)于商務(wù)上的銷售信息服務(wù),Java和JDBC可為外部客戶提供獲取信息更新的更好方法。第3章 系統(tǒng)分析與設(shè)計(jì) 第3章 系統(tǒng)分析與設(shè)計(jì)(shj)3.1 系統(tǒng)調(diào)查21世紀(jì)以來(lái),人類經(jīng)濟(jì)高速發(fā)展,人們發(fā)生了日新月異的變化,特別是計(jì)算機(jī)的應(yīng)用(yngyng)及普及到經(jīng)濟(jì)和社會(huì)生活的各個(gè)領(lǐng)域。使原本的舊的管理方法越來(lái)越不適應(yīng)現(xiàn)在社會(huì)的發(fā)展。許多人還停留在以前的手工操作。這大大地阻礙了人類經(jīng)濟(jì)的發(fā)展。3.2 系統(tǒng)(xtng)構(gòu)架 系統(tǒng)
17、采用的是B/S結(jié)構(gòu),即瀏覽器和服務(wù)器架構(gòu)。瀏覽器端提供用戶操作界面,接受用戶輸入的各種操作信息,向服務(wù)器發(fā)出各種操作命令或數(shù)據(jù)請(qǐng)求,并接收?qǐng)?zhí)行操作命令后返回的數(shù)據(jù)結(jié)果,根據(jù)業(yè)務(wù)邏輯進(jìn)行相關(guān)的運(yùn)算,向用戶顯示相應(yīng)的信息。服務(wù)器端接收瀏覽器端的數(shù)據(jù)或命令請(qǐng)求,并請(qǐng)求數(shù)據(jù)庫(kù)服務(wù)器執(zhí)行數(shù)據(jù)庫(kù)操作得到相應(yīng)的數(shù)據(jù)集,對(duì)數(shù)據(jù)集進(jìn)行相應(yīng)的處理,然后將數(shù)據(jù)集或處理后的數(shù)據(jù)集返回給瀏覽器端。3.3 系統(tǒng)功能模塊圖3.4系統(tǒng)(xtng)設(shè)計(jì)思想(1)采用現(xiàn)有(xin yu)的資源,先進(jìn)的管理系統(tǒng)開(kāi)發(fā)方案,充分利用學(xué)校現(xiàn)有的資源,減少開(kāi)發(fā)中的時(shí)間和財(cái)力、物力、提高系統(tǒng)開(kāi)發(fā)的水平和應(yīng)用效果。 (2)系統(tǒng)就滿足學(xué)校的需求
18、,例如學(xué)生成績(jī)的錄入、查詢(chxn)、更新,學(xué)生成績(jī)錄入與排名等等。 (3)系統(tǒng)具備數(shù)據(jù)庫(kù)維護(hù)功能,及時(shí)根據(jù)用戶需求進(jìn)行數(shù)據(jù)添加、刪除、修改等操作。3.5系統(tǒng)設(shè)計(jì)分析本系統(tǒng)使用Struts開(kāi)源框架實(shí)現(xiàn)MVC三層模式進(jìn)行開(kāi)發(fā),使模型,視圖和控制分開(kāi),業(yè)務(wù)邏輯和顯示分開(kāi),這樣有利于錯(cuò)誤的查找和系統(tǒng)的升級(jí)。 該系統(tǒng)適用于各個(gè)學(xué)校,其功能主要為: 成績(jī)管理:用于對(duì)成績(jī)的錄入、修改、匯總、排名以及查詢等操作。3.6 數(shù)據(jù)庫(kù)表的設(shè)計(jì)本系統(tǒng)將數(shù)據(jù)存儲(chǔ)在表中:學(xué)生表(見(jiàn) 表3-1):保存學(xué)生的基本信息,包括學(xué)生的姓名,學(xué)生的學(xué)號(hào),所在的班級(jí)。 表3-1 學(xué)生(xu sheng)表字段名稱中文解釋保存類型默認(rèn)
19、值長(zhǎng)度可否為空主鍵Id主鍵自增int無(wú)16不能是Name姓名varchar無(wú)24不能否Classes班級(jí)Varchar無(wú)24不能否Score成績(jī)Varchar無(wú)24不能否登入表(見(jiàn) 表3-2):保存登陸(dng l)信息,包括用戶名,密碼。 表3-2 登入表字段名稱中文解釋保存類型默認(rèn)值長(zhǎng)度可否為空主鍵Userid用戶名Varchar無(wú)24不能是UserName姓名Varchar無(wú)24不能否成績(jī)表(見(jiàn)表3-3):保存成績(jī)相關(guān)信息,包括(boku)學(xué)生學(xué)號(hào),學(xué)生姓名,學(xué)生成績(jī),課程名稱。 表3-3 成績(jī)表字段名稱中文解釋保存類型默認(rèn)值長(zhǎng)度可否為空主鍵Id主鍵自增Int無(wú)16不能是Name姓名Va
20、rchar無(wú)24不能否Score成績(jī)Varchar無(wú)24不能否Subject課程名稱Varchar無(wú)24不能否3.7 MVC設(shè)計(jì)模式MVC(Modle-View-Controller,模型-視圖(sht)-控制器)模式是Xerox PARC在20世紀(jì)80年代為編程語(yǔ)言Smalltalk-80所設(shè)計(jì)的一種軟件設(shè)計(jì)模式,至今已被廣泛使用,并被推薦為Sun公司J2EE平臺(tái)的設(shè)計(jì)模式,其為開(kāi)發(fā)交互式應(yīng)用系統(tǒng)提供了一個(gè)優(yōu)秀的設(shè)計(jì)模式,受到越來(lái)越多開(kāi)發(fā)者的歡迎。MVC模式主要由3個(gè)部分組成:模型、視圖(sht)和控制器,其結(jié)構(gòu)如圖3-1所示。圖3-1 MVC模式框架3.8 對(duì)象(duxing)(類)設(shè)計(jì)
21、圖3-2 學(xué)生(xu sheng)成績(jī)管理系統(tǒng)的類圖3.9 狀態(tài)圖設(shè)計(jì)(shj) 圖3-3 成績(jī)管理系統(tǒng)的狀態(tài)(zhungti)轉(zhuǎn)換圖3.10 程序(chngx)用例圖 圖3-4 程序(chngx)用例圖第4章 編碼與測(cè)試 第4章 編碼(bin m)與測(cè)試4.1 測(cè)試(csh)目的測(cè)試是為了(wi le)發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過(guò)程,測(cè)試的目的就是在軟件投入生產(chǎn)運(yùn)行之前,盡可能的發(fā)現(xiàn)軟件中的錯(cuò)誤。成功的測(cè)試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。4.2 測(cè)試環(huán)境的搭建(1) 系統(tǒng)要求數(shù)據(jù)庫(kù)使用MySQL5.0版本。數(shù)據(jù)庫(kù)編碼要求要支持中文,推薦使用gb2312編碼。數(shù)據(jù)庫(kù)安裝好后,建立一個(gè)名
22、為ssmange的數(shù)據(jù)庫(kù),創(chuàng)建腳本為:create database ssmange;然后創(chuàng)建學(xué)生表,創(chuàng)建的腳本為:CREATE TABLE student ( id int(4) NOT NULL auto_increment, name varchar(20) default NULL, classes varchar(20) default NULL, score varchar(20) default NULL, PRIMARY KEY (id) ENGINE=InnoDB DEFAULT CHARSET=utf8;(2) 運(yùn)行環(huán)境jdk 5.0 及以上的版本,并設(shè)置好相應(yīng)的環(huán)境變量。
23、(3) JDK的安裝成功與否可采用以下方法測(cè)試 在cmd下輸入:java -version 看輸出情況,在我的電腦上輸出如圖4-1:圖4-1 測(cè)試JDK 如果出現(xiàn)與圖4-1相似的界面,就說(shuō)明JDK安裝成功并配置好了環(huán)境變量。4.3 測(cè)試方法為了(wi le)提高測(cè)試效率,降低測(cè)試成本,本測(cè)試方案采用黑盒法設(shè)計(jì)基本的測(cè)試方案,再用白盒法補(bǔ)充一些方案。在黑盒法測(cè)試方案中,采用等價(jià)劃分技術(shù),把所有可能的數(shù)據(jù)劃分成幾個(gè)等價(jià)類。4.4 測(cè)試項(xiàng)目(1)登錄(dn l)測(cè)試(2)數(shù)據(jù)輸入和輸出(shch)測(cè)試4.5 測(cè)試結(jié)果(1)登錄測(cè)試中,沒(méi)有發(fā)現(xiàn)什么錯(cuò)誤。(2)輸入和輸出測(cè)試中,對(duì)所有相同的輸入都可以得
24、出相同的輸出。第5章 結(jié)束語(yǔ) 第5章 結(jié)束語(yǔ) 隨著電子商務(wù)和信息技術(shù)的發(fā)展(fzhn),學(xué)生課程和成績(jī)管理是學(xué)校教務(wù)管理信息化、現(xiàn)代化的關(guān)鍵,本設(shè)計(jì)的開(kāi)發(fā)過(guò)程中采用了MVC的設(shè)計(jì)模式,利用SSH框架技術(shù)來(lái)完成系統(tǒng)的設(shè)計(jì),并且對(duì)系統(tǒng)應(yīng)有的功能給予實(shí)現(xiàn)。主要(zhyo)完成了: (1)對(duì)系統(tǒng)進(jìn)行(jnxng)了詳細(xì)的分析,實(shí)現(xiàn)了模塊的劃分及分析其功能。 (2)以J2EE技術(shù)為開(kāi)發(fā)支持,以MySql為后臺(tái)數(shù)據(jù)庫(kù),設(shè)計(jì)了一個(gè)三層結(jié)構(gòu)下的管理系統(tǒng)的層次模型。 (3)實(shí)現(xiàn)了學(xué)生課程及成績(jī)管理的基本功能。 通過(guò)這次課程設(shè)計(jì)開(kāi)拓了我們的視野,讓我們對(duì)這門(mén)課有了更清晰的認(rèn)識(shí)。作為一名軟件工程專業(yè)的學(xué)生,一定要把
25、這門(mén)專業(yè)課學(xué)好,為今后的學(xué)習(xí)和工作打下堅(jiān)實(shí)的基礎(chǔ),課程設(shè)計(jì)已經(jīng)結(jié)束了,雖然自己的設(shè)計(jì)還存在很多不足有待改進(jìn),但是在課設(shè)過(guò)程中真的學(xué)到了很多東西,不僅使自己更加深刻的理解了平時(shí)學(xué)到的理論知識(shí),同時(shí)也使自己的動(dòng)手實(shí)踐能力得到了鍛煉。同時(shí)在課設(shè)過(guò)程中不斷的與同學(xué)討論,不斷地向老師請(qǐng)教,對(duì)提高與人交往能力和團(tuán)隊(duì)協(xié)作能力都有幫助,真是受益良多!參考文獻(xiàn)參考文獻(xiàn)1 陳天河等.Struts,Hibernate,Spring 集成開(kāi)發(fā)(kif)寶典M.北京:電子工業(yè)出版社,20072 馬朝暉等.Java教程(jiochng).(第4版)M.北京:人民郵電出版社.20063 岳陽(yáng),王杰,孫紅梅.MySQL5 管
26、理員標(biāo)準(zhǔn)指南及語(yǔ)言參考(第二(d r)版)M.北京:電子工業(yè)出版社,20054 吳明暉,吳超.Struts+Hibernate開(kāi)發(fā)Web應(yīng)用從基礎(chǔ)到實(shí)踐M.北京:人民郵電出版社,20075 付京周.精通Hibernate3.0Java數(shù)據(jù)庫(kù)持久層開(kāi)發(fā)實(shí)踐M.北京:人民郵電出版,20076 王珊,薩師煊.數(shù)據(jù)庫(kù)系統(tǒng)概論(第四版)M.北京:高等教育出版社,20067 張白一,崔尚森.面向?qū)ο蟪绦蛟O(shè)計(jì)JavaM.西安:電子科技大學(xué)出版社,20048 葉齊煉,申華. 學(xué)校教務(wù)工作實(shí)用手冊(cè)M. 北京:開(kāi)明出版社,20029 袁世鷹.微機(jī)教務(wù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)P.北京:開(kāi)明出版社,200110 高宇翔.
27、java電子雜志第二期J.J2SE 5.0專題之語(yǔ)言特性, HYPERLINK /emag_java/archive/2005/02/01/275948.aspx o permalink 200511 王毅. HYPERLINK /kns50/detail.aspx?dbname=CJFD1997&filename=DZDN199701030&filetitle=Internet%e4%b8%8eJava o Internet與Java 相似度 98% t _blank Internet與JavaJ. HYPERLINK /kns50/Navi/Bridge.aspx?DBCode=cjfd&
28、LinkType=BaseLink&Field=BaseID&TableName=CJFDBASEINFO&NaviLink=%e7%94%b5%e5%ad%90%e4%b8%8e%e7%94%b5%e8%84%91&Value=DZDN t _blank 電子與電腦, HYPERLINK /kns50/Navi/Bridge.aspx?DBCode=cjfd&LinkType=IssueLink&Field=BaseID*year*issue&TableName=CJFDYEARINFO&Value=DZDN*1997*01&NaviLink=%e7%94%b5%e5%ad%90%e4%b8
29、%8e%e7%94%b5%e8%84%91 t _blank 1997(3)12 張光業(yè). HYPERLINK /kns50/detail.aspx?dbname=CJFD1996&filename=WDNJ199611007&filetitle=Java%e4%b8%8eJavascript o Java與Javascript 相似度 98% t _blank Java與JavascriptJ. HYPERLINK /kns50/Navi/Bridge.aspx?DBCode=cjfd&LinkType=BaseLink&Field=BaseID&TableName=CJFDBASEINFO
30、&NaviLink=%e5%be%ae%e7%94%b5%e8%84%91%e4%b8%96%e7%95%8c&Value=WDNJ t _blank 微電腦世界, HYPERLINK /kns50/Navi/Bridge.aspx?DBCode=cjfd&LinkType=IssueLink&Field=BaseID*year*issue&TableName=CJFDYEARINFO&Value=WDNJ*1996*11&NaviLink=%e5%be%ae%e7%94%b5%e8%84%91%e4%b8%96%e7%95%8c t _blank 1996(5)13 Keys Botzum,
31、Albert Wong.IBM開(kāi)發(fā)人員技術(shù)期刊第三期J,200714 谷慶華等.基于java語(yǔ)言實(shí)現(xiàn)數(shù)據(jù)庫(kù)訪問(wèn)J.計(jì)算機(jī)技術(shù)與發(fā)展,2008附錄1附錄(fl)1 部分系統(tǒng)界面圖1 添加學(xué)生(xu sheng)信息 圖2 添加成績(jī)(chngj)信息 圖3 按學(xué)號(hào)查詢成績(jī)(chngj)信息 附錄2附錄(fl)2 部分源程序1.對(duì)學(xué)生(xu sheng)信息操作源代碼package org.njy.action;import java.util.List;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.Ht
32、tpServletResponse;import mons.beanutils.PropertyUtils;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import org.apache.struts.actions.DispatchAction;import org.njy.bean.Student;import org.njy.form.StudentForm;imp
33、ort org.njy.service.StudentService;import org.njy.serviceImpl.StudentServiceImpl;public class StudentAction extends DispatchAction private StudentService stuService = new StudentServiceImpl();/* 添加學(xué)生(xu sheng)信息 */public ActionForward save(ActionMapping mapping, ActionForm form,HttpServletRequest re
34、quest, HttpServletResponse response)throws Exception / 將form表單強(qiáng)轉(zhuǎn)成配置好的ActionFormStudentForm studentForm = (StudentForm) form;Student stu = new Student();/ 將ActionForm對(duì)象值復(fù)制給JavaBean對(duì)象PropertyUtils.copyProperties(stu, studentForm);/ 執(zhí)行查詢boolean flag = stuService.save(stu);return mapping.findForward(toG
35、etList);/* 刪除學(xué)生信息 */public ActionForward delete(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws Exception StudentForm studentForm = (StudentForm) form;Student stu = new Student();PropertyUtils.copyProperties(stu, studentForm);boolean flag = stuS
36、ervice.delete(stu);return mapping.findForward(toGetList);/* 修改學(xué)生(xu sheng)信息 */public ActionForward update(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws Exception StudentForm studentForm = (StudentForm) form;Student stu = new Student();Propert
37、yUtils.copyProperties(stu, studentForm);boolean flag = stuService.update(stu);return mapping.findForward(toGetList);/* 根據(jù)id查詢(chxn)學(xué)生信息 */public ActionForward getById(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws Exception StudentForm studentF
38、orm = (StudentForm) form;Student stu = new Student();PropertyUtils.copyProperties(stu, studentForm);stu = stuService.getById(stu);request.setAttribute(stu, stu);return mapping.findForward(toEdit);/* 查詢?nèi)繉W(xué)生(xu sheng)信息 */public ActionForward getAll(ActionMapping mapping, ActionForm form,HttpServletRe
39、quest request, HttpServletResponse response)throws Exception List list = stuService.getAll();request.setAttribute(list, list);return mapping.findForward(toList);對(duì)數(shù)據(jù)庫(kù)操作源代碼package org.njy.db;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class ConnectionFa
40、ctory private static Connection conn = null;private static String DRIVER = com.mysql.jdbc.Driver;private static String URL = jdbc:mysql:/localhost:3306/crud;private static String USERNAME = root;private static String PASSWORD = root;public static Connection getConnection() try Class.forName(DRIVER);
41、conn = DriverManager.getConnection(URL, USERNAME, PASSWORD); catch (ClassNotFoundException e) e.printStackTrace(); catch (SQLException e) e.printStackTrace();return conn;package org.njy.db;import java.sql.Connection;import java.sql.ResultSet;import java.sql.Statement;import java.util.ArrayList;impor
42、t java.util.List;import org.njy.bean.Student;public class ControlDB private static ControlDB controlDB = null;/ 構(gòu)造方法私有化,為做單態(tài)做準(zhǔn)備(zhnbi)private ControlDB() public static ControlDB getInstance() if (controlDB = null) controlDB = new ControlDB();return controlDB;/* * 執(zhí)行查詢(chxn)的操作 * * param sql * return
43、 * throws Exception */public List executeQuery(String sql) throws Exception Connection con = null;Statement stmt = null;ResultSet rs = null;List list = new ArrayList();try con = ConnectionFactory.getConnection();stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);r
44、s = stmt.executeQuery(sql);while (rs.next() Student stu = new Student();int i = 1;stu.setId(rs.getInt(i+);stu.setName(rs.getString(i+);stu.setClasses(rs.getString(i+);stu.setScore(rs.getString(i+);list.add(stu); catch (Exception e) throw e; finally DBClose.closeObject(rs, stmt, con);return list;/* * 執(zhí)行(zh
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 表格式北師大版六年級(jí)數(shù)學(xué)上冊(cè)教案
- 設(shè)備供貨進(jìn)度計(jì)劃和保證項(xiàng)目完成的具體措施
- 從職業(yè)規(guī)劃到崗位發(fā)展的全流程指導(dǎo)
- 2025年android下載!Android基礎(chǔ)面試常常死在這幾個(gè)問(wèn)題上值得收藏!-android 批量下載 面試
- 建筑施工特種作業(yè)-橋(門(mén))式起重機(jī)司機(jī)真題庫(kù)-9
- 山東英語(yǔ)寫(xiě)作題目及答案
- 溶液稀釋類題目及答案
- 2023-2024學(xué)年云南省昆明市高二下學(xué)期期末質(zhì)量檢測(cè)數(shù)學(xué)試題(解析版)
- 2023-2024學(xué)年山東省日照市高二下學(xué)期期末考試數(shù)學(xué)試題(解析版)
- 2025屆貴州省安順市高三適應(yīng)性檢測(cè)(三模)語(yǔ)文試題(解析版)
- 抖音直播帶貨合作協(xié)議書(shū)范本
- GB 44246-2024家用和類似用途電器、體育用品的電氣部分及電玩具安全技術(shù)規(guī)范
- 起重吊車(chē)吊裝施工方案
- 教育咨詢員合同范本樣本
- DL∕T 1474-2021 交、直流系統(tǒng)用高壓聚合物絕緣子憎水性測(cè)量及評(píng)估方法
- 勞動(dòng)合同中止執(zhí)行協(xié)議
- 2024年四川省樂(lè)山市中考地理試卷(含答案)
- 貨運(yùn)車(chē)輛駕駛員安全教育培訓(xùn)(3篇模板)
- 基于排隊(duì)網(wǎng)絡(luò)理論的集裝箱碼頭設(shè)備配置優(yōu)化研究
- 2024CSCO結(jié)直腸癌診療指南解讀
- 食品購(gòu)銷合同模板
評(píng)論
0/150
提交評(píng)論