版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 工學(xué)系課程設(shè)計(jì)報(bào)告</b></p><p> 設(shè) 計(jì) 題 目:學(xué)生成績(jī)管理系統(tǒng) </p><p> 系 別:工學(xué)系 </p><p> 專 業(yè) (方 向):
2、 </p><p> 年 級(jí)、 班: </p><p> 學(xué) 生 姓 名: </p><p> 學(xué) 生 學(xué) 號(hào):
3、 </p><p> 指 導(dǎo) 教 師: </p><p> 2013 年 6 月 28 日</p><p><b> 目錄</b></p><p> 一、系統(tǒng)開發(fā)的背景………………………………………………………………………
4、…1</p><p> 二、系統(tǒng)分析與設(shè)計(jì)…………………………………………………………………………1</p><p> (一)系統(tǒng)功能要求…………………………………………………………………………1</p><p> ?。ǘ┫到y(tǒng)模塊結(jié)構(gòu)設(shè)計(jì)……………………………………………………………………2</p><p> 三、系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)……
5、…………………………………………………………………5</p><p> ?。ㄒ唬W(xué)生信息管理模塊……………………………………………………………………6</p><p> ?。ǘ┱n程信息管理模塊……………………………………………………………………7</p><p> ?。ㄈ┏煽?jī)信息管理模塊……………………………………………………………………8</p>
6、<p> 四、系統(tǒng)測(cè)試…………………………………………………………………………………9</p><p> ?。ㄒ唬┫到y(tǒng)功能測(cè)試9</p><p> ?。ǘ┫到y(tǒng)常見錯(cuò)誤調(diào)試.10</p><p><b> 五、總結(jié)11</b></p><p> 六、附件(代碼、部分圖表)12</p>
7、<p><b> 學(xué)生綜合測(cè)評(píng)系統(tǒng)</b></p><p><b> 一、系統(tǒng)開發(fā)的背景</b></p><p> 為了充分實(shí)現(xiàn)素質(zhì)教育,多方面發(fā)展學(xué)生的興趣愛好,大部分學(xué)校都設(shè)立了全校范圍的內(nèi)的選修課。學(xué)生可以根據(jù)自己的興趣和特長(zhǎng),選擇自己喜歡的課程。由于高等學(xué)校的快速發(fā)展,高校的規(guī)模也越來(lái)越大,學(xué)生數(shù)量和課程量都迅速地增長(zhǎng)
8、,管理上的手工操作不僅僅會(huì)耗費(fèi)學(xué)生與工作人員大量的時(shí)間和精力,效率以及準(zhǔn)確性也很低。如何使同學(xué)們方便、快捷、準(zhǔn)確地選課,以及老師們對(duì)學(xué)生的相關(guān)信息的管理,已經(jīng)成為一個(gè)重要的問題。 利用計(jì)算機(jī)進(jìn)行學(xué)生信息管理,不僅能夠保證準(zhǔn)確、無(wú)誤、快速輸出,而且還可以利用計(jì)算機(jī)對(duì)有關(guān)信息進(jìn)行查詢,檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好。要科學(xué)地實(shí)現(xiàn)信息化管理,開發(fā)一個(gè)適合學(xué)校的,能夠進(jìn)行信息存儲(chǔ)、查詢、修改等功能的信息管理系統(tǒng)是十分重要的。本
9、課題就是針對(duì)便于學(xué)生信息管理的問題而設(shè)計(jì)的一個(gè)管理系統(tǒng)。</p><p><b> 二、系統(tǒng)分析與設(shè)計(jì)</b></p><p><b> (一)系統(tǒng)功能要求</b></p><p> 本課題根據(jù)學(xué)生信息管理綜合分析,便出于方便管理考慮,將學(xué)生信息管理系統(tǒng)的功能總結(jié)起來(lái),共需要實(shí)現(xiàn)以下幾個(gè)方面功能:</p>
10、<p> 1.管理學(xué)生信息 管理所有學(xué)生的基本信息,對(duì)學(xué)生信息的操作包括添加、修改、刪除等;可以根據(jù)各種條件查詢出需要的信息,比如修改,可以通過(guò)學(xué)生學(xué)號(hào)查詢出學(xué)生的基本信息,然后通過(guò)對(duì)需要修改項(xiàng)進(jìn)行修改并保存修改后的結(jié)果存入數(shù)據(jù)庫(kù)的學(xué)生表中。 </p><p> 2.管理課程信息 管理所有課程的基本信息,包括對(duì)課程信息的添加、修改、刪除等操作;可以根據(jù)各種條件查詢出需要的信息,并對(duì)相應(yīng)的信息進(jìn)行
11、操作。比如修改和刪除,可以通過(guò)學(xué)生的學(xué)號(hào)查詢出學(xué)生的相應(yīng)課程信息,對(duì)相應(yīng)的課程進(jìn)行修改、刪除操作。 </p><p> 3.學(xué)生選課與成績(jī) 根據(jù)學(xué)生的學(xué)號(hào)進(jìn)行選課,登記所選課程的成績(jī);可以根據(jù)學(xué)號(hào)查詢出選課信息與成績(jī)。 通過(guò)以上功能的設(shè)計(jì)與實(shí)現(xiàn),并實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)的基本功能。當(dāng)然在實(shí)際的學(xué)生信息管理系統(tǒng)中,其功能要比本課題的多的多,也復(fù)雜的多,本課題僅以比較簡(jiǎn)單易懂的方式介紹給讀者—一個(gè)學(xué)生管理系統(tǒng)的設(shè)計(jì)與
12、實(shí)現(xiàn)的流程。從而讓讀者明白一個(gè)項(xiàng)目開發(fā)中需要做的工作,并在今后的工作中能遇到相關(guān)問題能知道如何解決。</p><p> (二)系統(tǒng)模塊結(jié)構(gòu)設(shè)計(jì)</p><p> 本課題的關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)可分為三個(gè)表來(lái)表示:學(xué)生信息表(Student)、學(xué)生成績(jī)表(Student)、查詢成績(jī)表; 學(xué)生信息表用于記錄學(xué)生的基本信息。</p><p> 如表3-1;課程信息表
13、用于記錄課程的基本信息,如表3-2;學(xué)生課表如下表3-3。這三個(gè)表對(duì)應(yīng)的E-R圖分別是:圖3.1 學(xué)生信息E-R圖;圖3.2 課程信息E-R圖;圖 3.3 學(xué)生選課E-R圖;如下圖:</p><p> 表3-1 學(xué)生信息表(Student)</p><p> 表3-2 課程信息表(Student)</p><p> 表3-3 查詢成績(jī)表</p>
14、<p> 圖3.1 學(xué)生信息E-R圖</p><p> 圖3.2 課程信息E-R圖</p><p> 圖3.3 學(xué)生選課E-R圖</p><p> 根據(jù)對(duì)系統(tǒng)進(jìn)行需求分析,本系統(tǒng)將分為4個(gè)模塊: </p><p> ● 學(xué)生管理 管理學(xué)生基本信息,包括個(gè)人信息的添加、修改、刪除以及選課信息的添加。 </p>
15、<p> ● 課程管理 管理課程的基本信息,包括課程信息的添加、修改和刪除。 </p><p> ● 成績(jī)管理 管理學(xué)生選課的成績(jī)信息,包括成績(jī)的登記與修改。 </p><p> ● 信息查詢 查詢已經(jīng)登記的信息,包括學(xué)生的基本信息、課程的基本信息與成績(jī)信息。</p><p> 學(xué)生管理系統(tǒng)功能結(jié)構(gòu)如圖3.4所示</p><p&
16、gt; 三、系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p> 該系統(tǒng)由4個(gè)模塊構(gòu)成,包括學(xué)生信息管理模塊、課程信息管理模塊、成績(jī)信息管理模塊、信息查詢模塊。下面分別加以敘述: </p><p> ?。ㄒ唬W(xué)生信息管理模塊</p><p> 學(xué)生信息管理模塊主要由Student.javaEdiStuInfo.java等文件組成,其構(gòu)成關(guān)系如圖4.1所示。</p>
17、<p> 學(xué)生信息管理模塊的文件組成了主界面中的“學(xué)生管理”菜單,如圖4.2所示。</p><p> 圖4.2 學(xué)生信息管理模塊的運(yùn)行界面</p><p> ?。ǘ┱n程信息管理模塊</p><p> 課程信息管理模塊主要由CourseInfo.java、AddCourseInfo.java、EditCourseInfo.java、DelCours
18、eInfo.java、CourseInfoSearchCnum.java這5個(gè)文件組成,其構(gòu)成關(guān)系如圖4.3所示。</p><p> 課程信息管理模塊中的5個(gè)類文件組成了主界面中“課程管理”菜單的內(nèi)容,其中包括增加、修改和刪除功能,如圖4.4所示。</p><p> 圖4.4 課程信息管理模塊運(yùn)行界面</p><p> ?。ㄈ┏煽?jī)信息管理模塊</p>
19、;<p> 成績(jī)信息管理模塊主要由GradeInfo.java、AddGradeInfo.java、EditGradeInfo.java這3個(gè)文件組成,其構(gòu)成關(guān)系如圖4.5所示。</p><p> 成績(jī)信息管理模塊中的3個(gè)類文件組成了主界面中的“成績(jī)管理”菜單的內(nèi)容,如圖4.6所示。</p><p> 圖4.6 成績(jī)信息管理模塊的運(yùn)行界面</p><
20、p><b> 四、系統(tǒng)測(cè)試</b></p><p><b> (一)系統(tǒng)功能測(cè)試</b></p><p> 功能測(cè)試主要是測(cè)試程序模塊是否實(shí)現(xiàn)了設(shè)計(jì)中所要求的功能。功能測(cè)試中需要注意的有:</p><p> (1)查詢功能中,有按單一查詢條件進(jìn)行查詢的,也有按多個(gè)查詢條件組合查詢的。這里要注意的多個(gè)查詢條件之
21、間的關(guān)系。還有一些常識(shí)性的問題,比如按月查詢,閏月中二月的天數(shù)。</p><p> (2)錄入功能中,需要注意的是前臺(tái)設(shè)置的數(shù)值長(zhǎng)度是否大于后臺(tái)數(shù)值長(zhǎng)度,以及前臺(tái)和后臺(tái)的數(shù)據(jù)結(jié)構(gòu)是否相符,很多時(shí)候錄入功能無(wú)法實(shí)現(xiàn)是由于這些原因。還有就是必須錄入的字段的設(shè)置時(shí)候有誤。</p><p> (3)測(cè)試刪除功能中需要注意的是單擊"刪除"按鈕后,一般會(huì)出現(xiàn)提示信息,詢問是否確
22、定刪除。通常情況下,我們單擊"確認(rèn)"按鈕查看信息是否被刪除掉了,而忽略了單擊"取消"按鈕后程序的反應(yīng):這時(shí)有可能的是沒有刪除,還有一種可能是即便單擊了"取消"按鈕,也一樣刪除了數(shù)據(jù)。另外,在刪除多條記錄的時(shí)候,要注意連續(xù)選中的幾條記錄是否真正都被刪除掉了,即如果再按照這種查詢方式查詢,時(shí)候還能查詢出來(lái)。有的時(shí)候需要在數(shù)據(jù)庫(kù)中設(shè)立一個(gè)標(biāo)志位,而不是真正的物理刪除。所以在下一次查詢
23、中,可能還會(huì)被查詢出來(lái),這主要是因?yàn)樵诓樵儣l件中沒有將標(biāo)志考慮在內(nèi)。</p><p> (4)關(guān)于修改功能的測(cè)試主要是看修改確認(rèn)后是否數(shù)據(jù)真正已被修改了。這是最基本的功能,需要注意的是看是否能把不應(yīng)該修改的數(shù)據(jù)也修改成功了。 </p><p> ?。ǘ┫到y(tǒng)常見錯(cuò)誤調(diào)試</p><p> 1.NullPointerException異常</p>&
24、lt;p> 一般是對(duì)一個(gè)為NULL值的變量進(jìn)行操作引起的。為避免這種異常,最好在對(duì)變量操作之前檢查,看它是否為NULL值。</p><p> 2.SQLException異常</p><p> 一般是由于SQL語(yǔ)句不正確引起的。為避免這種異常,最好在使用SQL語(yǔ)句的程序中捕獲此SQL異常。</p><p> 3.NumberFormatExceptio
25、n異常</p><p> 這是由于數(shù)字的格式錯(cuò)誤而出現(xiàn)的例外。為了避免出現(xiàn)此類錯(cuò)誤,一般必須保證數(shù)據(jù)格式輸入正確。</p><p> 4.數(shù)據(jù)庫(kù)連接垃圾回收</p><p> 在實(shí)際的開發(fā)應(yīng)用中,通常出現(xiàn)某一個(gè)對(duì)象未能關(guān)閉的情況,為了防止這種情況的發(fā)生,可以在有關(guān)對(duì)數(shù)據(jù)庫(kù)操作的Java類文件中增加自動(dòng)回收函數(shù),在JVM自動(dòng)地回收對(duì)象時(shí),取出使用的連接對(duì)象,判斷
26、是否關(guān)閉,如果沒有關(guān)閉則關(guān)掉。</p><p><b> 五、總結(jié)</b></p><p> 經(jīng)過(guò)這次課題的設(shè)計(jì)并實(shí)現(xiàn),盡管會(huì)遇到很多難題,但是讓我更加受益的是在這次課題中得到的經(jīng)驗(yàn)、心得和鍛煉。我發(fā)現(xiàn)開發(fā)項(xiàng)目的過(guò)程其實(shí)就是個(gè)不斷的解決問題的過(guò)程,從中也感覺到項(xiàng)目開發(fā)的快樂,一個(gè)人永遠(yuǎn)有學(xué)不玩的知識(shí),就算是項(xiàng)目開發(fā)中的知識(shí)點(diǎn)都學(xué)了,但在實(shí)際的開發(fā)過(guò)程中仍然會(huì)遇到不
27、少問題,遇到問題時(shí)要做到兩點(diǎn):一個(gè)是“查”</p><p> ,一個(gè)是“問”。不懂的地方就得要自己找答案,可以從書本、網(wǎng)絡(luò)中查找解決的答案;再一個(gè)就是問周邊的同學(xué)。比如,在本科課題的編寫代碼部分,本人就參考了《java 核心技術(shù)》,從中得到了圖形編程的很多有用的方法。這次課程的設(shè)計(jì)給我以前所學(xué)的知識(shí)做了一個(gè)總結(jié),為我深入學(xué)習(xí)編程做了鋪墊。在本課題中存在的不足之處是在所難免的,本人將在日后加于改進(jìn)。</p&
28、gt;<p> 六、附件(代碼、部分圖表)</p><p> import java.io.FileOutputStream;</p><p> import java.io.IOException;</p><p> import java.io.ObjectOutputStream;</p><p> import
29、 java.io.Serializable;</p><p> import java.util.ArrayList;</p><p> import java.util.List;</p><p> import java.util.Scanner;</p><p> public class Admin {</p>
30、<p> public static void main(String[] args) throws IOException, ClassNotFoundException {</p><p> Scanner in = new Scanner(System.in);</p><p> int studentNum =10;</p><p> Li
31、st<Student> result = new ArrayList<Student>();</p><p> for (int i = 0; i < studentNum; i++) {</p><p> Student bean = new Student();</p><p> System.out.print("
32、輸入第" + (i + 1) + "個(gè)學(xué)生學(xué)號(hào):");</p><p> bean.setNo(in.next());</p><p> System.out.print("輸入第" + (i + 1) + "個(gè)學(xué)生姓名:");</p><p> bean.setName(in.next()
33、);</p><p> System.out.print("輸入第" + (i + 1) + "個(gè)學(xué)生數(shù)學(xué)成績(jī):");</p><p> bean.setShuxue(in.nextDouble());</p><p> System.out.print("輸入第" + (i + 1) + "
34、;個(gè)學(xué)生語(yǔ)文成績(jī):");</p><p> bean.setYuwen(in.nextDouble());</p><p> result.add(bean);</p><p><b> }</b></p><p> while (true) {</p><p> System
35、.out.println("1.保存到文件;2.總成績(jī);3.不及格比例;4.平均成績(jī);5.及格比例;6,優(yōu)良比例;0.退出.");</p><p> int i = in.nextInt();</p><p> if (i == 0) {</p><p> System.exit(0);</p><p><b&
36、gt; }</b></p><p> if (i == 1) {</p><p> save(result);</p><p><b> }</b></p><p> if (i == 2) {</p><p> for (int j = 0; j < result.
37、size(); j++) {</p><p> Student s = result.get(j);</p><p> System.out.println("學(xué)生" + s.getName() + "的總成績(jī)是:" + s.all());</p><p><b> }</b></p>
38、<p><b> }</b></p><p> if (i == 3) {</p><p> int jigeSum = 0;</p><p> for (int j = 0; j < result.size(); j++) {</p><p> Student s = result.get(
39、j);</p><p> if (!s.isJige()) {</p><p> jigeSum++;</p><p><b> }</b></p><p><b> }</b></p><p> System.out.println("不及格比例:&qu
40、ot; + jigeSum + "/" + result.size());</p><p><b> }</b></p><p> if (i == 4) {</p><p><b> }</b></p><p> if (i == 5) {</p><
41、;p><b> }</b></p><p> if (i == 0</p><p><b> ) {</b></p><p> System.out.println("退出");</p><p><b> }</b></p>
42、<p><b> }</b></p><p><b> }</b></p><p> private static void save(List result) throws IOException {</p><p> FileOutputStream fs = new FileOutputStream
43、("d:/a.txt");</p><p> ObjectOutputStream os = new ObjectOutputStream(fs);</p><p> os.writeObject(result);</p><p> os.flush();</p><p> os.close();</p>
44、;<p> fs.close();</p><p><b> }</b></p><p><b> }</b></p><p> class Student implements Serializable {</p><p> private String no;</p
45、><p> private String name;</p><p> private double shuxue;</p><p> private double yuwen;</p><p> public String getName() {</p><p> return name;</p>
46、<p><b> }</b></p><p> public void setName(String name) {</p><p> this.name = name;</p><p><b> }</b></p><p> public String getNo() {&l
47、t;/p><p> return no;</p><p><b> }</b></p><p> public void setNo(String no) {</p><p> this.no = no;</p><p><b> }</b></p>&l
48、t;p> public double getShuxue() {</p><p> return shuxue;</p><p><b> }</b></p><p> public void setShuxue(double shuxue) {</p><p> this.shuxue = shuxue
49、;</p><p><b> }</b></p><p> public double getYuwen() {</p><p> return yuwen;</p><p><b> }</b></p><p> public void setYuwen(doub
50、le yuwen) {</p><p> this.yuwen = yuwen;</p><p><b> }</b></p><p> public double all() {</p><p> return shuxue + yuwen;</p><p><b> }&l
51、t;/b></p><p> public double avg() {</p><p> return all() / 2;</p><p><b> }</b></p><p> public boolean isJige() {</p><p> return avg() &
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- java課程設(shè)計(jì)--學(xué)生成績(jī)管理系統(tǒng)
- java課程設(shè)計(jì)----學(xué)生成績(jī)管理系統(tǒng)
- 學(xué)生成績(jī)管理系統(tǒng)java課程設(shè)計(jì)
- java學(xué)生成績(jī)管理系統(tǒng) 課程設(shè)計(jì)
- java學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)
- java課程設(shè)計(jì)報(bào)告---學(xué)生成績(jī)管理系統(tǒng)
- java學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- java學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- java學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)--基于java的學(xué)生成績(jī)管理系統(tǒng)
- java程序課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)的設(shè)計(jì)
- java學(xué)生管理系統(tǒng)課程設(shè)計(jì)--學(xué)生成績(jī)管理信息系統(tǒng)
- 學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)——學(xué)生成績(jī)管理系統(tǒng)
- 課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
- 學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生成績(jī)管理系統(tǒng) 課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論