基于JAVA的學(xué)生成績(jī)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
《基于JAVA的學(xué)生成績(jī)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于JAVA的學(xué)生成績(jī)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)(20頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、基于 JAVA 的學(xué)生成績(jī)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 目 錄 摘 要 .2 前言 .4 1 需求分析 .4 1.1 功能需求分析 .4 1.2 性能需 求分析 .5 1.3 數(shù)據(jù)庫(kù)需求分析數(shù)據(jù)流圖 .5 1.4 數(shù)據(jù)結(jié)構(gòu)分析數(shù)據(jù)流圖 .6 2 概要結(jié)構(gòu)設(shè)計(jì) .9 2.1 系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì) .9 2.2 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì) .10 3 邏輯結(jié)構(gòu)設(shè)計(jì) .10 4 詳細(xì)設(shè)計(jì)及功能實(shí)現(xiàn) .11 4.1 模塊設(shè)計(jì)與實(shí)現(xiàn) .11 5 總結(jié) .21 參考文獻(xiàn) .21 致 謝 .21 基于 Java 的學(xué)生成績(jī)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) (湖南農(nóng)業(yè)大學(xué)科學(xué)技術(shù)師范學(xué)院 2004 級(jí)計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)教育班,長(zhǎng)沙 410
2、128) 摘 要:隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展和高等教育體制改革的不斷深入,傳統(tǒng)教育管理方法、 手段以及工作效率已不能適應(yīng)新的發(fā)展需要,無(wú)法很好地完成教學(xué)管理工作。提高教學(xué)管 理水平的主要途徑是更新管理者的思想,增強(qiáng)對(duì)管理活動(dòng)的科學(xué)認(rèn)識(shí)?;?Java 與 SQL server 數(shù)據(jù)庫(kù)技術(shù)建立一個(gè)高校成績(jī)管理系統(tǒng)該系統(tǒng)為管理員、學(xué)生和教師提供了查詢(xún)、 修改、增加記錄、刪除等功能,功能比較落齊全,基本上能滿足學(xué)生和老師的要求。 關(guān)鍵詞:Java ;需求分析;概要設(shè)計(jì);學(xué)生成績(jī)管理系統(tǒng); The Design And Realization Of the educational administrat
3、ion management system Based On JAVA Abstract: Fly technically along with the calculator to develop soon and the higher education system reform of continuously thorough, traditional education management the method, means and work efficiencies have already cant adapt the new development demand, cant c
4、omplete the teaching management work nicely.The main path that raises the educational administration management level is a thought that renews the governor, strengthenning the science understanding to manage the activity.According to the JAVA build up that system of an educational administration of
5、high school management systems pursue studies with the database technique to living to provided the search, modify, save, increase the record and select elective courses etc. with teacher function, the function relatively falls well-found, can satisfy the request between student and teacher basicall
6、y. Keyword:JAVA; The need analysis; The essentiadesign; Database; Detailed design 前言 學(xué)生成績(jī)管理工作是高校教育工作的一項(xiàng)重要內(nèi)容。教務(wù)管理工作是指學(xué) 校管理人員按照一定教育方針,運(yùn)用先進(jìn)的管理手段,組織 、協(xié)調(diào) 、指揮并 指導(dǎo)各用戶活動(dòng),以便高效率、高質(zhì)量地完成各項(xiàng)教學(xué)任務(wù),完成國(guó)家所制定 的教育目標(biāo)。學(xué)生成績(jī)管理工作是學(xué)校教學(xué)工作的中樞,是保證高校教學(xué)機(jī)制 正常運(yùn)轉(zhuǎn)的樞紐,它是一項(xiàng)目的性、計(jì)劃性、適用性、創(chuàng)造性和科學(xué)性很強(qiáng)的 工作。學(xué)生成績(jī)工作關(guān)系到高校教學(xué)秩序的穩(wěn)定。 隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展和高等教育體
7、制改革的不斷深入,傳統(tǒng)教育管 理方法、手段以及工作效率已不能適應(yīng)新的發(fā)展需要,無(wú)法很好地完成教學(xué)管 理工作。提高教務(wù)管理水平的主要途徑是更新管理者的思想,增強(qiáng)對(duì)管理活動(dòng) 的科學(xué)認(rèn)識(shí)。同時(shí),運(yùn)用先進(jìn)的信息技術(shù),開(kāi)發(fā)高校綜合成績(jī)管理信息系統(tǒng), 是深化教務(wù)體制改革的有利措施。 JAVA 以 GUI 的編程方式、面向?qū)ο蟮某绦蛟O(shè)計(jì)、眾多的 GUI 組件和強(qiáng)大 的數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)支持,在競(jìng)爭(zhēng)激勵(lì)的開(kāi)發(fā)工具市場(chǎng)中越來(lái)越羸得程序設(shè)計(jì)者 的青睞。JAVA 是 Windows 系統(tǒng)下的可視化集成開(kāi)發(fā)工具,提供了強(qiáng)大的可視 化組件功能,使程序員能夠快速、高效地開(kāi)發(fā)出 Windows 系統(tǒng)下的應(yīng)用程序, 特別是在數(shù)據(jù)
8、庫(kù)和網(wǎng)絡(luò)方面,JAVA 與其它開(kāi)發(fā)工具相比更是勝出一籌??梢?化主要是指開(kāi)發(fā)圖形用戶界面,而只需調(diào)用 GUI 組件即可。 1 需求分析 1.1 功能需求分析 該學(xué)生成績(jī)管理系統(tǒng)具備三方面的功能:一方面是學(xué)生用戶,學(xué)生通過(guò)輸入 學(xué)號(hào)和密碼進(jìn)下該系統(tǒng)后,可以進(jìn)行一些基礎(chǔ)查詢(xún)(學(xué)生信息查詢(xún)、班級(jí)信息 查詢(xún)、課程信息查詢(xún)) 、成績(jī)管理(成績(jī)查詢(xún)、計(jì)算平均分)重新登陸系統(tǒng);一 方面老師進(jìn)入該系統(tǒng)則比學(xué)生多一些權(quán)限:成績(jī)輸入、成績(jī)查詢(xún)。 具體功能的詳細(xì)描述如下 1.1.1 選擇 學(xué)生基本維護(hù)菜單命令,即可進(jìn)入 學(xué)生基本維護(hù)功能窗體,在其 中輸入學(xué)生的相關(guān)信息,如果需要添加或修改學(xué)生信息,則單擊相應(yīng)的按紐,
9、 輸入新信息后單擊添加 就可以了。需要?jiǎng)h除一條信息,則只要選擇這條信息 再點(diǎn)擊 刪除 。在搜索條件中輸入相關(guān)的條件,單擊 查詢(xún)就可查找信息。 1.1.2 選擇學(xué)生信息查詢(xún)菜單命令,即可進(jìn)入學(xué)生信息查詢(xún)功能窗體,在其 中的下拉列表中選擇你要看的信息,則在下面的表格中顯示你要的信息。 1.1.3 選擇 成績(jī)管理 添加成績(jī)菜單命令,即可進(jìn)入 添加成績(jī)功能窗體, 此功能權(quán)限只有管理員和教師。 1.1.4 選擇成績(jī)管理 輸入成績(jī) 菜單命令,即可進(jìn)入 輸入成績(jī)功能窗體, 此功能權(quán)限只有管理員和教師。 1.1.5 選擇成績(jī)管理 修改成績(jī) 界面,此功能規(guī)管理員所有。 1.1.6 選擇成績(jī)管理 查詢(xún)成績(jī)界面此界
10、面對(duì)學(xué)生也是可見(jiàn)的,它的權(quán)限 規(guī)所有用戶所有。 1.1.7 選擇登陸 重新登陸 則會(huì)返回登陸界面,為用戶提供方便。 1.1.8 選擇退出 將退出整個(gè)系統(tǒng)。 1.2 性能需求分析 時(shí)間特性要求:在軟件方面,響應(yīng)時(shí)間有點(diǎn)慢,因?yàn)槭怯?JBuilder 做的, 它占用內(nèi)存比較大,更新處理時(shí)間比較快而且迅速。 安全性:設(shè)立口令號(hào)和密碼驗(yàn)證方式,防止非法用戶登錄進(jìn)行操作。也就 是用戶只有管理員、學(xué)生和教師才能進(jìn)入這個(gè)系統(tǒng),用戶憑口令號(hào)和密碼進(jìn)入 此系統(tǒng),系統(tǒng)會(huì)自動(dòng)判斷用戶是那種類(lèi)型,分別擁有不同的權(quán)限。 1.3 數(shù)據(jù)庫(kù)需求分析數(shù)據(jù)流圖 在教務(wù)系統(tǒng)中功能模塊主要牽涉到的信息包括:是學(xué)生信息(base_in
11、fo) 、 班級(jí)信息(class_info) 、課程信息 (class_info)、成績(jī)表 (chengjibiao)、選課表 (xuankebiao)、登陸表(stu) 。 學(xué)生信息:包含學(xué)號(hào)(id) 、姓名 (name)、班級(jí)(class)、性別(sex)、地址(address) 課程信息:包括課程編號(hào)(course_id)、課程名稱(chēng)(coursename) 、教師(teacher) 選課表:編號(hào)(select_id) 課程名稱(chēng)(coursename)、課程編號(hào)(course_id)、學(xué)號(hào)(xh)、 姓名(name)、成績(jī) (result) 、教師(teacher ) 成績(jī)表:編號(hào)(num
12、ber) 、學(xué)號(hào) (id)、課程名稱(chēng)(coursename)、成績(jī)(result)、教師 (teacher) 班級(jí)信息:班級(jí)編號(hào)(bjbh)、學(xué)號(hào)(id) 、姓名(name) 班級(jí)名稱(chēng)(bjmc)、班主任(bzr)。 登陸表:口令號(hào)(id) 、密碼 (password)、權(quán)限(rightlimit)。 根據(jù)以上劃分的具體數(shù)據(jù)信息,得到數(shù)據(jù)流圖如 1.1 所示: 1.1 數(shù)據(jù)庫(kù)需求分析數(shù)據(jù)流圖 1.4 數(shù)據(jù)結(jié)構(gòu)分析數(shù)據(jù)流圖 1.4.1 數(shù)據(jù)結(jié)構(gòu): 學(xué)生信息=組成: 學(xué)號(hào)(id)、姓名(name)、班級(jí)(class)、性別(sex)、地址 (address) 課程信息=組成: 編號(hào)(course_
13、id)、課程名稱(chēng)(coursename)、教師(teacher) 選課信息=組成:編號(hào)(select_id) 課程名稱(chēng)(coursename)、課程編號(hào)(course_id) 、 學(xué)號(hào)(xh)、姓名(name)、成績(jī) (result) 、教師(teacher) 成績(jī)表包括=組成:編號(hào) (number)、學(xué)號(hào)(id)、課程名稱(chēng)(coursename)、成績(jī) (result)、教師(teacher) 課程信息包括=組成:課程編號(hào) (course_id)、課程名稱(chēng)(coursename)、教師 (teacher) 班級(jí)信息=組成:班級(jí)編號(hào) (bjbh)、年級(jí)(nj)、班級(jí)名稱(chēng) (bjmc)、人數(shù)(r
14、s)、班主 任(bzr) 登陸表=組成:口令號(hào)(id)、密碼(password)、權(quán)限(rightlimit) 1.4.2 數(shù)據(jù)流: 1.4.2.1 對(duì)圖 1.1 中所涉及的數(shù)據(jù)流描述如下: 1) 數(shù)據(jù)流名:口令號(hào) 說(shuō)明:根據(jù)這個(gè)口令號(hào)定位到用戶管理數(shù)據(jù)庫(kù),以便進(jìn)行身份驗(yàn)證。 數(shù)據(jù)流來(lái)源:登陸界面輸入的口令號(hào)和密碼。 數(shù)據(jù)流去向:其中用戶口令信息將存在于整個(gè)操作過(guò)程中,防止非法登陸。 用 戶 登 錄 操 作 登陸信息 錯(cuò)誤信息 賬號(hào)信 息 2 開(kāi) 發(fā)環(huán)境 與工具 介紹 前端 客戶端我 用的是 Macromedi a Dreamweav er 8 來(lái)編 寫(xiě) JSP 文 件。中間 業(yè)務(wù)邏輯 層的
15、JavaBeans 用的是 JBuilderX Enterpris eX 版。數(shù) 據(jù)庫(kù)的編 寫(xiě)是采用 MYSQL 數(shù)據(jù) 庫(kù)。 2.1 開(kāi)發(fā) 環(huán)境 由于 我用的 是 JBuilde rX Enterpri se 版開(kāi) 發(fā)的這 個(gè)系統(tǒng), 這個(gè)開(kāi) 發(fā)軟件 功能十 分強(qiáng)大, 所以自然 對(duì)開(kāi)發(fā)環(huán) 境要求相 對(duì)來(lái)說(shuō)比 較高。 1對(duì) 系統(tǒng)硬件 的要求: 最小 512M RAM,推薦 786MB RAM。 2. 對(duì) 系統(tǒng)平臺(tái) 的要求: Windo ws 平臺(tái) CPU:Intel PentiumIII 及以上兼 容系列 500MHz 以上。 操作 系 統(tǒng): M i c r o s o f t W i n d o
16、 w s 2 0 0 0 ( S P 4 )、 W i n d o w X P 或 者 W i n d o w s S e r v e r 2 0 0 3 。 Linux 平臺(tái) C P U : I n t e l P e n t i u m I I I 及 以 上 兼 容 系 列 5 0 0 M H z 以 上。 操作 系 統(tǒng): S u n J a v a D e s k t o p S y s t e m R e l e a s e 2 或 者 R e d H a t E n t e r p r i s e L i n u x 3 . 0 2.2 運(yùn)行 環(huán) 境: 硬件: 適用于數(shù) 據(jù)吞吐量
17、較大的不 同服務(wù)器; 軟件 :服務(wù)器 端: WINDOWS XP+MySQL 用 戶端: WindowXP+ IE 返回信息 尋找信息 數(shù) 據(jù) 庫(kù) 數(shù)據(jù)流組成:口令號(hào)(文本) ;密碼(文本) 2) 數(shù)據(jù)流名:尋找信息 說(shuō)明:根據(jù)用戶在學(xué)生信息維護(hù)的時(shí)候所填寫(xiě)的信息。 數(shù)據(jù)流來(lái)源:學(xué)生信息維護(hù)界面學(xué)生輸入包含學(xué)號(hào)、班級(jí)編號(hào)、名稱(chēng)等。 數(shù)據(jù)流去向:學(xué)號(hào)將存在整個(gè)操作,其它的存入數(shù)據(jù)庫(kù)。 數(shù)據(jù)流組成:學(xué)號(hào)(文本) ;姓名(文本)等 3) 數(shù)據(jù)流名:尋找信息 說(shuō)明:根據(jù)用戶在成績(jī)管理的時(shí)候所填寫(xiě)的信息。 數(shù)據(jù)流來(lái)源:成績(jī)輸入、修改、添加等界面用戶輸入包含課程編號(hào)、課程 名稱(chēng)、成績(jī)、教師。 數(shù)據(jù)流去向:
18、學(xué)號(hào)、班級(jí)編號(hào)、課程編號(hào)將存在整個(gè)操作,其它的存入數(shù) 據(jù)庫(kù)。 數(shù)據(jù)流組成:課程編號(hào)(文本) 、課程名稱(chēng)(文本) 、教師(文本)等。 4) 數(shù)據(jù)流名:返回信息 說(shuō)明:根據(jù)用戶在學(xué)生信息維護(hù)的時(shí)候所填寫(xiě)的信息存入了數(shù)據(jù)庫(kù)之后。 數(shù)據(jù)流來(lái)源:由學(xué)生信息維護(hù)界面學(xué)生輸入的包含學(xué)號(hào)、姓名、性別等存 入數(shù)據(jù)庫(kù)的。 數(shù)據(jù)流去向:學(xué)生信息維護(hù)界面。 數(shù)據(jù)流組成:學(xué)號(hào)(文本) 、姓名(文本) 、班級(jí)名稱(chēng)(文本) 、性別(文本) 等。 5) 數(shù)據(jù)流名:返回信息 說(shuō)明:根據(jù)用戶在成績(jī)管理的時(shí)候所填寫(xiě)的信息存入數(shù)據(jù)庫(kù)后。 數(shù)據(jù)流來(lái)源:由成績(jī)管理輸入的包含班級(jí)名稱(chēng)、教師、課程名、成績(jī)存入 數(shù)據(jù)庫(kù)的。 數(shù)據(jù)流去向:成績(jī)管
19、理的各子界面。 數(shù)據(jù)流組成:班級(jí)編號(hào)(文本) ;班級(jí)名稱(chēng)(文本) ;教師(文本)等; 1.4.2.2 對(duì)圖 1.1 中所涉及的處理過(guò)程描述如下: 1) 處理過(guò)程名:登陸 輸入數(shù)據(jù)流:口令號(hào)、密碼 輸出數(shù)據(jù)流:不符合輸入條件的錯(cuò)誤信息 處理過(guò)程邏輯:用 IF 條件進(jìn)行判斷。 2) 處理過(guò)程名:班級(jí)信息維護(hù) 輸入數(shù)據(jù)流:班級(jí)編號(hào)、班級(jí)名稱(chēng)、教師等 輸出數(shù)據(jù)流:班級(jí)編號(hào)、班級(jí)名稱(chēng)等 ,其中班級(jí)編號(hào)將存在整個(gè)操作。 處理過(guò)程號(hào):班級(jí)編號(hào),其中班級(jí)編號(hào)將存在整個(gè)操作。 3) 處理過(guò)程名:學(xué)生信息維護(hù) 輸入數(shù)據(jù)流:學(xué)號(hào)、姓名、班級(jí)編號(hào)、性別等。 輸出數(shù)據(jù)流:學(xué)號(hào)、姓名、班級(jí)編號(hào)、性別等。其中學(xué)號(hào)將存在整個(gè)
20、操作。 4) 處理過(guò)程名:課程查詢(xún) 輸入數(shù)據(jù)流:學(xué)號(hào)、姓名 輸出數(shù)據(jù)流:學(xué)號(hào)、班級(jí)名稱(chēng)、課程名稱(chēng)、上課時(shí)間節(jié)、上課時(shí)間天、上 課地點(diǎn)、其中課程編號(hào)將存在整個(gè)操作。 5) 處理過(guò)程名:成績(jī)輸入 輸入數(shù)據(jù)流:課程編號(hào)、課程名稱(chēng) 輸出數(shù)據(jù)流:編號(hào)、學(xué)號(hào)、課程名稱(chēng)、成績(jī) 、其中編號(hào)和學(xué)號(hào)將存在整個(gè) 操作。 2 概要結(jié)構(gòu)設(shè)計(jì) 2.1 系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì) 2.1.1 模塊的功能設(shè)計(jì) 根據(jù)需求分析階段得到的功能需求,管理員、學(xué)生和教師用戶通過(guò)輸入口令號(hào) 和密碼進(jìn)下該系統(tǒng)后,可以進(jìn)行一些學(xué)生基礎(chǔ)信息查詢(xún)(學(xué)生信息查詢(xún)、班級(jí) 信息查詢(xún)、課程信息查詢(xún)) 、學(xué)生信息維護(hù)、成績(jī)管理(成績(jī)查詢(xún)、計(jì)算平均分) 重新登陸系統(tǒng)
21、、退出。 模塊功能大概可以分為如下 4 個(gè)方面:這幾個(gè)模塊學(xué)生基礎(chǔ)維護(hù)、成績(jī)管 理、登陸、退出。其中基礎(chǔ)維護(hù)還要包括學(xué)生信息維護(hù)、班級(jí)信息維護(hù)、課程 信息維護(hù)。成績(jī)管理包括成績(jī)查詢(xún)、添加成績(jī)、成績(jī)輸入等。綜上所述,得到 客戶端功能模塊圖如下 2.1 所示。 2.2 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì) 根據(jù)需求分析階段得到的數(shù)據(jù)字典以及數(shù)據(jù)流圖,由以上分析可以得到系 統(tǒng)中出現(xiàn)的實(shí)體有:學(xué)生信息實(shí)體、課程信息實(shí)體、班級(jí)信息實(shí)體、成績(jī)表實(shí) 體等等。 可以畫(huà)出對(duì)應(yīng)的 E-R 圖如下: 老師登陸 學(xué)生基本信息 成績(jī)管理 登陸 退出 學(xué)生信息維護(hù) 學(xué)生信息查詢(xún) 成績(jī)查詢(xún) 成績(jī)修改 成績(jī)輸入 重新登陸 圖 2.1 客戶模塊
22、系統(tǒng)功能模塊圖 退出成績(jī)添加 得到總 E-R 圖 2.2 如下: m 1 n 1 1 1 1 n 1 n 3 邏輯結(jié)構(gòu)設(shè)計(jì) 根據(jù)上面概念結(jié)構(gòu)設(shè)計(jì)階段得到的 E-R 圖,下一步應(yīng)該將它轉(zhuǎn)化為關(guān)系模 型??梢缘玫綄?duì)應(yīng)的關(guān)系模式為: Base_info(id、name、class 、sex、address) Class_info(class_id、classname、teacher、id) xuankebiao(number 、id、coursename teacher、class_id、classname 、result) chengjibiao( number、id、name、course 、r
23、esult) course_info( number、course-id、coursename dates、teacher、jieshu、address) stu(id 、password、rights) 4 詳細(xì)設(shè)計(jì)及功能實(shí)現(xiàn) 4.1 用戶登錄模塊設(shè)計(jì)與實(shí)現(xiàn) 設(shè)計(jì)思路:為了檢驗(yàn)登錄用戶是否是一個(gè)合法用戶,當(dāng)用戶輸入用戶名和 xuankebiaocourse_info Class_info Base_info stu chengjibiao stady belong stady login choose 密碼后,需要查詢(xún)數(shù)據(jù)庫(kù)以便驗(yàn)證該用戶是否為非法用戶。同時(shí)通過(guò)用戶輸入 的口令號(hào)就可知道用戶
24、是管理員、學(xué)生,還是教師,他們的權(quán)限不同。 實(shí)現(xiàn)功能:用戶可以從登陸界面進(jìn)入到教務(wù)管理系統(tǒng)界面,然后進(jìn)行一些 操作。 圖 4.1 為系統(tǒng)運(yùn)行時(shí)的截圖: 該模塊的核心代碼如下: 判斷用戶是否合法和用戶權(quán)限。 public void jButton1_actionPerformed(ActionEvent e) String username=Name_Text.getText().trim(); String password=Password_Text.getText().trim(); if(username.equals()|password.equals() JOptionPane.sh
25、owMessageDialog(null,用戶名或密碼不能為空!); else try /建立數(shù)據(jù)庫(kù)連接對(duì)象 Jdbcconn conn = new Jdbcconn(); /連接數(shù)據(jù)庫(kù) conn.OpenConn(student, sa, yaya); String strSQL = select * from stu where id= + username + ; 圖 4.1 用戶登錄模塊的系統(tǒng)截圖 try /得到記錄; ResultSet rs = conn.getResults(strSQL); rs.first(); String PassWord = rs.getString(p
26、assword).toString().trim(); /得到數(shù)據(jù) 庫(kù)中對(duì)應(yīng)用戶名的密碼 int right = rs.getInt(rightlimit); rs.close(); if (password.equals(PassWord) JOptionPane.showMessageDialog(null, 成功登陸!); dispose(); chaxunchengji cxcj = new chaxunchengji(); cxcj.username = username; Main_Frame mainFrame = new Main_Frame(); mainFrame.user
27、s = username; mainFrame.setVisible(true); Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize = mainFrame.getSize(); if (frameSize.height screenSize.height) frameSize.height = screenSize.height; if (frameSize.width screenSize.width) frameSize.width = screenSize.wi
28、dth; mainFrame.setLocation( (screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2); mainFrame.users = username; switch(right) case 0: mainFrame.jMenuItem4.setVisible(false); mainFrame.jMenuItem6.setVisible(false); mainFrame.jMenuItem1.setVisible(false); mainFrame.jMenu
29、Item3.setVisible(false); break; case 1: mainFrame.jMenuItem3.setVisible(false); mainFrame.jMenuItem6.setVisible(false); break; default: mainFrame.setTitle(學(xué)生成績(jī)管理系統(tǒng) ); break; else JOptionPane.showMessageDialog(null, 密碼錯(cuò)誤,請(qǐng)重輸!); Password_Text.setText(); catch (Exception ex) JOptionPane.showMessageDial
30、og(null, 用戶名或密碼錯(cuò)誤 1!); Name_Text.setText(); Password_Text.setText(); conn.closeConn(); /關(guān)閉數(shù)據(jù)庫(kù)連接 catch (Exception ex) JOptionPane.showMessageDialog(null, 用戶名或密碼錯(cuò)誤 2!); System.out.print(ex.getMessage(); /first try catch /second try catch /end else /end method 該模塊的核心代碼: public static void main(String a
31、rgs) 圖 4.2 學(xué)生信息維護(hù)模塊的系統(tǒng)截圖 圖 4.3 學(xué)生基本信息查詢(xún)模塊的系統(tǒng)截圖 banjixinxi banjixinxi = new banjixinxi(); public void jComboBox1_actionPerformed(ActionEvent e) int state = jComboBox1.getSelectedIndex(); if (state = 1) try String sql = select * from base_info; queryDataSet1.close(); /將 SQL 語(yǔ)句傳給 queryDataSet1 執(zhí)行。 quer
32、yDataSet1.setQuery(new QueryDescriptor(database1, sql, null, true, Load.ALL); queryDataSet1.open(); /將 queryDataSet1 打開(kāi) queryDataSet1.refresh(); /刷新 queryDataSet1 /end try catch (Exception ex) JOptionPane.showMessageDialog(null, Sorry!暫時(shí)沒(méi)有學(xué)生信息記錄); /end catch /end if else if (state = 2) try String sq
33、l1 = select * from class_info; queryDataSet1.close(); /將 SQL 語(yǔ)句傳給 queryDataSet1 執(zhí)行。 queryDataSet1.setQuery(new QueryDescriptor(database1, sql1, null, true, Load.ALL); queryDataSet1.open(); /將 queryDataSet1 打開(kāi) queryDataSet1.refresh(); /刷新 queryDataSet1 /end try catch (Exception ex) JOptionPane.showMe
34、ssageDialog(null, Sorry!暫時(shí)沒(méi)有班級(jí)信息記錄); /end catch /end if of else else try String sql2=select * from xuankebiao; queryDataSet1.close(); /將 SQL 語(yǔ)句傳給 queryDataSet1 執(zhí)行。 queryDataSet1.setQuery(new QueryDescriptor(database1, sql2, null, true,Load.ALL); queryDataSet1.open(); /將 queryDataSet1 打開(kāi) queryDataSet
35、1.refresh();/刷新 queryDataSet1 /end try catch(Exception ex) JOptionPane.showMessageDialog(null, Sorry!暫時(shí)沒(méi)有課程信息記錄); /end catch /end else of else /end else 成績(jī)輸入界面的核心代碼: public void jButton1_actionPerformed(ActionEvent e) String Field1 = jTextField1.getText().trim(); String Field2 = jTextField2.getText(
36、).trim(); String Field3 = jTextField3.getText().trim(); String Field4 = jTextField4.getText().trim(); String Field5 = jTextField5.getText().trim(); if (Field1.equals() else try Jdbcconn conn = new Jdbcconn(); /連接數(shù)據(jù)庫(kù) conn.OpenConn(student, sa, yaya); String strSQL = insert into chengjibiao (id,name,c
37、ourse,result,teacher) values ( + Field1 + , + Field2 + , + Field3 + , + Field4 + , + Field5 + ); conn.executeUpdate(strSQL); JOptionPane.showMessageDialog(null, 成績(jī)輸入成功); /System.out.println(name); catch (Exception ex) System.out.println(ex.getMessage(); JOptionPane.showMessageDialog(null, 數(shù)據(jù)庫(kù)沒(méi)有鏈接成功,
38、數(shù)據(jù)沒(méi)有 輸入成功!); 圖 4.4 成績(jī)輸入模塊的系統(tǒng)截圖 /end catch /end if 核心代碼: /*查找要修改成績(jī)的學(xué)生信息* public void jButton1_actionPerformed(ActionEvent e) String Field1 = jTextField1.getText().trim(); String Field2 = jTextField2.getText().trim(); if (Field1.equals() catch (Exception ex) System.out.println(ex.getMessage(); 圖 4.6 修
39、改成績(jī)模塊的系統(tǒng)截圖 /end if else try String sql = select * from xuankebiao where id= + Field1 + or course_name= + Field2 + ; queryDataSet1.close(); /將 SQL 語(yǔ)句傳給 queryDataSet1 執(zhí)行。 queryDataSet1.setQuery(new QueryDescriptor(database1, sql, null, true, Load.ALL); queryDataSet1.open(); /將 queryDataSet1 打開(kāi) queryDa
40、taSet1.refresh(); /刷新 queryDataSet1 /end try catch (Exception ex) JOptionPane.showMessageDialog(null, Sorry!沒(méi)有你要的信息,請(qǐng)檢查 你輸入的信息!); /end catch /end else /*修改成績(jī)* public void jButton2_actionPerformed(ActionEvent e) String Field1 = jdbTextField1.getText().trim(); String Field2 = jdbTextField2.getText().t
41、rim(); try Jdbcconn conn = new Jdbcconn(); /連接數(shù)據(jù)庫(kù) conn.OpenConn(student, sa, yaya); String strSQL = update xuankebiao set course_name=Field1 ,result=Field2; conn.executeUpdate(strSQL); JOptionPane.showMessageDialog(null, 修改成功); catch (Exception ex) System.out.println(ex.getMessage(); JOptionPane.sho
42、wMessageDialog(null, 數(shù)據(jù)庫(kù)沒(méi)有鏈接成功,數(shù)據(jù)沒(méi)有修 改成功!); /end catch /*返回所有記錄* public void jButton3_actionPerformed(ActionEvent e) String sql = select * from xuankebiao; try queryDataSet1.close(); /將 SQL 語(yǔ)句傳給 queryDataSet1 執(zhí)行。 queryDataSet1.setQuery(new QueryDescriptor(database1, sql, null, true, Load.ALL); query
43、DataSet1.open(); queryDataSet1.refresh(); /end try catch (Exception ex) JOptionPane.showMessageDialog(null, Sorry!返回出現(xiàn)錯(cuò)誤!); /end catch 圖 4.7 查詢(xún)成績(jī)模塊的系統(tǒng)截圖 5 總結(jié) 該學(xué)生成績(jī)管理系統(tǒng)總體說(shuō)來(lái)功能比較齊全,學(xué)生和教師的一些基本的功 能都已經(jīng)具備;數(shù)據(jù)庫(kù)的設(shè)計(jì)方面,建有學(xué)生表、課程表、班級(jí)表、成績(jī)表、 選課表、登陸表,數(shù)據(jù)庫(kù)中存在一些問(wèn)題,如數(shù)據(jù)冗余,不夠完善。 但在做課程設(shè)計(jì)的過(guò)程中也遇到很多問(wèn)題,一開(kāi)始時(shí)其中最大的問(wèn)題是不 知道用哪種編譯工具,
44、后來(lái)選擇了 JBuilder2006,在編寫(xiě)程序時(shí),由于 JBuilder 不熟悉,從來(lái)沒(méi)有用過(guò),前一兩天還處在熟悉怎么用的階段,為連接數(shù)據(jù)庫(kù)花 了一些時(shí)間,在網(wǎng)上查資料,后來(lái)終于連上了。編寫(xiě)程序起來(lái)也有點(diǎn)困難,但 是也越來(lái)越順利了。經(jīng)過(guò)調(diào)試后終于把自已想到實(shí)現(xiàn)的功能一步步實(shí)現(xiàn)了,通 過(guò)這次課程設(shè)計(jì)使我收獲了好多,熟悉了 JBuilder 和 JAVA 的運(yùn)用,還復(fù)習(xí)了 數(shù)據(jù)庫(kù)相關(guān)語(yǔ)句的編寫(xiě)。 參考文獻(xiàn) 1 JAVA 大學(xué)基礎(chǔ)教程 電子工業(yè)出版社 2006 2 .施平安 清華大學(xué)出版社, 2005 3 徐慧慧,葉達(dá)峰,JBuilder 編程技術(shù)與實(shí)例,人民郵電出版社, 2006 4楊文龍,軟件工程,電子工業(yè)出版社,1997 致 謝 這次課程設(shè)計(jì)能夠順利的完成,要感謝老師的教導(dǎo)和同學(xué)的無(wú)私的幫助。首先是陳義 明梅老師,為我的設(shè)計(jì)改進(jìn)提供了很多寶貴的意見(jiàn),還有和同學(xué)一起討論幫我解決了幾個(gè) 錯(cuò)誤,老師上實(shí)驗(yàn)課時(shí)講得詳細(xì)并嚴(yán)格要求我們,為我們的課程設(shè)計(jì)起了促進(jìn)作用。在此 對(duì)老師和給予我?guī)椭耐瑢W(xué)表示最誠(chéng)摯的感謝!
- 溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年防凍教育安全教育班會(huì)全文PPT
- 2025年寒假安全教育班會(huì)全文PPT
- 初中2025年冬季防溺水安全教育全文PPT
- 初中臘八節(jié)2024年專(zhuān)題PPT
- 主播直播培訓(xùn)提升人氣的方法正確的直播方式如何留住游客
- XX地區(qū)機(jī)關(guān)工委2024年度年終黨建工作總結(jié)述職匯報(bào)
- 心肺復(fù)蘇培訓(xùn)(心臟驟停的臨床表現(xiàn)與診斷)
- 我的大學(xué)生活介紹
- XX單位2024年終專(zhuān)題組織生活會(huì)理論學(xué)習(xí)理論學(xué)習(xí)強(qiáng)黨性凝心聚力建新功
- 2024年XX單位個(gè)人述職述廉報(bào)告
- 一文解讀2025中央經(jīng)濟(jì)工作會(huì)議精神(使社會(huì)信心有效提振經(jīng)濟(jì)明顯回升)
- 2025職業(yè)生涯規(guī)劃報(bào)告自我評(píng)估職業(yè)探索目標(biāo)設(shè)定發(fā)展策略
- 2024年度XX縣縣委書(shū)記個(gè)人述職報(bào)告及2025年工作計(jì)劃
- 寒假計(jì)劃中學(xué)生寒假計(jì)劃安排表(規(guī)劃好寒假的每個(gè)階段)
- 中央經(jīng)濟(jì)工作會(huì)議九大看點(diǎn)學(xué)思想強(qiáng)黨性重實(shí)踐建新功