學(xué)生學(xué)籍管理系統(tǒng)

1泽腮,引言

1.1系統(tǒng)概述

本項目是通過開發(fā)一個學(xué)生學(xué)籍管理系統(tǒng)泊愧,進(jìn)一步了解使用Java語言進(jìn)行GUI設(shè)計和數(shù)據(jù)庫編程方面的知識。

學(xué)生學(xué)籍管理系統(tǒng)是學(xué)校管理的重要工具盛正,是學(xué)校不可或缺的部分删咱。學(xué)生管理是學(xué)校重要的內(nèi)容。隨著在校大學(xué)生人數(shù)不斷增加豪筝,教務(wù)系統(tǒng)的數(shù)量的也不斷上漲痰滋,學(xué)校工作繁瑣、資料眾多续崖,人工管理信息的難度越來越大敲街。因此一個學(xué)生學(xué)籍管理系統(tǒng)可以給學(xué)校帶來解決信息管理繁瑣、工程量大严望、效率低多艇、保密性差、難維護(hù)的問題像吻。

學(xué)生學(xué)籍管理系統(tǒng)會因?yàn)閷W(xué)生的數(shù)量峻黍、訪問者的身份等不同而具有不同的復(fù)雜度。學(xué)生基本信息維護(hù)拨匆、考試及成績的管理與安排等操作是學(xué)生學(xué)籍管理系統(tǒng)的基本功能姆涩。在規(guī)模較大、業(yè)務(wù)較多的學(xué)生管理中還需要對用戶進(jìn)行權(quán)限設(shè)置惭每、以及系統(tǒng)維護(hù)等更復(fù)雜的功能骨饿。

本項目將考慮學(xué)生學(xué)籍管理的四個模塊:學(xué)生信息管理、學(xué)生成績管理台腥、考試管理宏赘、用戶管理。分別對每個模塊分化其能實(shí)現(xiàn)的功能黎侈,又將每個模塊相互聯(lián)系在一起察署,最終實(shí)現(xiàn)該系統(tǒng)。


1.2需求分析?

知識爆炸的時代里蜓竹,求學(xué)的人數(shù)越來越多箕母,但學(xué)校的數(shù)量及學(xué)校所能提供的資源很有限储藐。為優(yōu)化管理學(xué)生的人力資源俱济,設(shè)計了這個系統(tǒng)。

學(xué)生學(xué)籍管理系統(tǒng)钙勃,可用于學(xué)校等機(jī)構(gòu)的學(xué)生學(xué)籍進(jìn)行查詢蛛碌、更新與維護(hù),使用方便辖源、易用性強(qiáng)蔚携、圖形界面清晰明了希太,讓使用者能簡單易懂的操作。通過這個系統(tǒng)酝蜒,可以做到信息的規(guī)范管理誊辉、科學(xué)統(tǒng)計和快速查詢,從而減少管理方面的工作量亡脑。毋庸置疑堕澄,切實(shí)有效的把計算機(jī)管理引入學(xué)校教務(wù)管理中,對于促進(jìn)學(xué)校管理制度提高學(xué)校教學(xué)質(zhì)量與辦學(xué)水平有著顯著意義霉咨。

在計算機(jī)網(wǎng)絡(luò)蛙紫,數(shù)據(jù)庫和先進(jìn)的開發(fā)平臺上,利用現(xiàn)有的軟件途戒、硬件資源坑傅,開發(fā)一個具有開放體系結(jié)構(gòu)的,易擴(kuò)充的喷斋,易維護(hù)的唁毒,具有良好人機(jī)交互界面的學(xué)生學(xué)籍管理系統(tǒng)。這個簡單的學(xué)生信息管理系統(tǒng)將考慮學(xué)校學(xué)生處星爪、教務(wù)處枉证、管理員三種用戶類型,為其分別提供不同的操作移必。

因此室谚,需求分析階段的最終結(jié)果是“需求分析說明書”,設(shè)計該系統(tǒng)將需要Java開發(fā)平臺崔泵、數(shù)據(jù)庫等工具秒赤。

1.3運(yùn)行環(huán)境?

????????操作系統(tǒng):Windows 10

????????數(shù)據(jù)庫系統(tǒng):MySQL 5.7

????????編程語言:Java 9.0

????????開發(fā)工具:Eclipse 4.3


2,概要設(shè)計

2.1設(shè)計思路?

學(xué)生學(xué)籍管理系統(tǒng)先將系統(tǒng)劃分為四個模塊憎瘸,又將每個模塊分成多個子模塊入篮,然后一一實(shí)現(xiàn)。將其劃分是能夠更好的理解各功能的實(shí)現(xiàn)以及組員分工幌甘。但各個模塊又是相互聯(lián)系潮售、密不可分的。

劃分模塊后锅风,思考數(shù)據(jù)庫設(shè)計酥诽,聯(lián)系各個模塊設(shè)計所需要的表及表中所需的字段,考慮各表中的聯(lián)系皱埠,并用MySQL實(shí)現(xiàn)數(shù)據(jù)庫及各表的創(chuàng)建且錄入一些信息方便操作測試肮帐。

將數(shù)據(jù)庫設(shè)計好后,將eclipse連接數(shù)據(jù)庫,并思考系統(tǒng)所需要的界面训枢,根據(jù)系統(tǒng)模塊的劃分托修,用戶使用是需要明確是以什么身份使用的,即實(shí)現(xiàn)一個界面中有三個按鈕分別有學(xué)生處恒界、教務(wù)處睦刃、管理員字樣,點(diǎn)擊學(xué)生處將調(diào)用學(xué)生信息管理的界面十酣,該界面可直接根據(jù)學(xué)號查詢學(xué)生信息眯勾,要進(jìn)行信息的其他操作,則要經(jīng)過該界面通過用戶名和密碼驗(yàn)證之后登錄才能使用婆誓;點(diǎn)擊教務(wù)處也根據(jù)同樣的思路設(shè)計吃环;管理員則直接進(jìn)入登錄界面。

通過登入界面之后將進(jìn)入學(xué)生學(xué)籍系統(tǒng)的主界面洋幻,即該系統(tǒng)所有功能操作的界面郁轻。首先設(shè)計好這些界面,并找一些符和內(nèi)容的圖片放入界面中文留,讓界面更加的美觀好唯,在稿紙上設(shè)計好各界面時候,就利用所學(xué)知識實(shí)現(xiàn)各界面燥翅。

完成前面所提到的界面之后將設(shè)計各個模塊的子模塊骑篙,并將其放入主界面中,編譯運(yùn)行然后一一測試各功能森书。


2.2模塊功能介紹?

2.2.1學(xué)生信息管理模塊

學(xué)生信息管理模塊主要是對學(xué)生信息如學(xué)號靶端、姓名、性別凛膏、家庭住址等進(jìn)行管理杨名。本模塊將實(shí)現(xiàn)以下功能:

◇學(xué)生信息錄入 ?◇學(xué)生信息查詢 ?◇學(xué)生信息修改/刪除

◇將查詢的學(xué)生信息實(shí)現(xiàn)另存文件

其中,學(xué)生信息查詢不需登錄即可使用猖毫,信息錄入和修改/刪除模塊則需要先登錄后才能使用台谍;

2.2.2學(xué)生成績管理模塊

學(xué)生成績管理模塊主要是對學(xué)生成績進(jìn)行管理。本模塊又分為五個子模塊:

◇學(xué)生成績錄入 ?◇學(xué)生成績查詢 ?◇學(xué)生成績修改/刪除 ?◇計算總分與排名 ?◇目標(biāo)分管理 ◇畢業(yè)管理

其中吁断,學(xué)生成績查詢不需登錄即可使用趁蕊,其他模塊則需要先登錄后才能使用;且除了查詢操作學(xué)生能訪問之外其余學(xué)生都不能訪問仔役。

2.2.3考試管理模塊

考試管理模塊主要對考試進(jìn)行如下管理:

◇添加新考試 ??◇對已有的考試信息進(jìn)行修改/刪除 ?◇對考試科目進(jìn)行添加/刪除 ?◇對考試科目查詢

本模塊需要先登錄后才能使用掷伙;其中除了查詢功能學(xué)生可使用,其余功能都由教務(wù)處操作骂因。


2.2.4用戶管理模塊


用戶管理模塊主要對使用本系統(tǒng)的用戶進(jìn)行如下管理:

◇添加新用戶 ??◇對已有的用戶進(jìn)行更改用戶名炎咖、密碼和權(quán)限(管理員或普通用戶)等操作 ?◇刪除用戶

本模塊只有管理員才能使用,普通用戶不能進(jìn)入寒波。

系統(tǒng)維護(hù):如數(shù)據(jù)安全管理(含備份與恢復(fù))乘盼、操作員管理、權(quán)限設(shè)置等俄烁。

權(quán)限:限定學(xué)生處绸栅、教務(wù)處、管理員所能訪問的模塊,即在用戶登錄時識別登入者的身份页屠,給予相關(guān)能訪問的權(quán)限粹胯。


2.3模塊結(jié)構(gòu)圖 ?

2.4程序流程圖?

2.4.1系統(tǒng)流程圖

2.4.2細(xì)分流程圖

3,詳細(xì)設(shè)計

3.1數(shù)據(jù)庫設(shè)計

????根據(jù)所有的模塊辰企,設(shè)計了相關(guān)數(shù)據(jù)庫student_management,其中信息管理與用戶管理分別用到了以下七張表:

????

其表結(jié)構(gòu)分別為:



3.2學(xué)生基本信息管理

根據(jù)模塊的功能利用Java的GUI設(shè)計系統(tǒng)的界面风纠,然后連接數(shù)據(jù)庫,寫相關(guān)的sql語句牢贸。

登錄中竹观,為了識別是學(xué)生登錄定義了一個變量identify來記錄,且在主界面的程序中借用setRights()方法來限制訪問權(quán)限潜索,用menu1.setEnabled(false);menu2.setEnabled(false);限定了學(xué)生不能基礎(chǔ)維護(hù)臭增、教務(wù)管理。學(xué)生的查詢中調(diào)用寫好的executeQuery()方法來連接數(shù)據(jù)庫實(shí)現(xiàn)查詢竹习,借助數(shù)組Object[][] studentq來存儲查詢到的信息誊抛,然后在顯示在JTable table里。其次整陌,借助字符輸出流FileWriter來將信息寫入文件拗窃。

所有操作都是設(shè)計了相應(yīng)的按鈕,給按鈕加監(jiān)聽器泌辫,在監(jiān)聽里完成各種任務(wù)并炮,且用JOptionPane.showMessageDialog來提示操作中是否操作成功或操作失敗,用SimpleDateFormat來限制輸入出生日期的格式甥郑。對數(shù)據(jù)庫操作select逃魄、insert into、update澜搅、delete分別實(shí)現(xiàn)查詢伍俘、增、修勉躺、刪操作癌瘾。程序里寫了clearAllTextfield()方法,起清空文本的作用饵溅,如在刪除操作中妨退,先將信息查詢顯示出來,刪除后,調(diào)用該模塊將會清空文本咬荷。

3.3用戶管理模塊

該模塊涉及了數(shù)據(jù)庫備份與恢復(fù)仅叫、權(quán)限設(shè)置筝野、用戶修改等,權(quán)限設(shè)置即設(shè)置不同訪問者的訪問權(quán)限,在主界面的程序中借用setRights()方法來限制訪問權(quán)限坏快。數(shù)據(jù)庫備份與恢復(fù)用Runtime r?= Runtime.getRuntime();來獲得與當(dāng)前應(yīng)用程序關(guān)聯(lián)的Runtime對象烹看,Process p?= r.exec(command);在單獨(dú)的進(jìn)程中執(zhí)行指定的字符串命令咨跌。教務(wù)處跟管理員的用戶增刪改大致跟學(xué)生信息一致庆锦,只是把所有的操作都放在了同一個界面,即在同一個程序中完成所有操作腔召。

4杆查,調(diào)試分析

4.1登入界面共用

該學(xué)生學(xué)籍管理系統(tǒng)考慮學(xué)生處、教務(wù)處臀蛛、管理員三種用戶使用亲桦,三個用戶訪問的權(quán)限各有不同,要共用同一個登錄界面掺栅,即在登錄時要知道用戶是以什么身份訪問的烙肺。用戶一開始是由界面的三個按鈕進(jìn)入登錄界面,即在記錄訪問者身份時使用getscoure()未能實(shí)現(xiàn)氧卧。

解決辦法:將監(jiān)聽的方式記錄改為定義一個公共靜態(tài)變量identify桃笙,即:public static String identify;在點(diǎn)擊按鈕調(diào)用另一個界面時,用該變量記錄用戶的身份沙绝,如:學(xué)生處搏明,教務(wù)處,管理員闪檬。

4.2實(shí)現(xiàn)另存功能

在登錄之后加了一個查詢信息后將所查到的信息存入一個文件星著,且文件保存的位置由使用者自行決定。調(diào)試時粗悯,只能實(shí)現(xiàn)在指定路徑創(chuàng)建一個文件虚循,而未能將所查詢的信息寫入文件中。

解決辦法:因所查的信息是存入一個數(shù)組的样傍,即將問題轉(zhuǎn)為如何將一個二維數(shù)組的信息寫入文件横缔,經(jīng)過查閱資料所知在IO中,即清空緩沖區(qū)數(shù)據(jù)衫哥,一般在讀寫流(stream)的時候茎刚,數(shù)據(jù)是先被讀到了內(nèi)存中,再把數(shù)據(jù)寫到文件中撤逢,當(dāng)你數(shù)據(jù)讀完的時候不代表你的數(shù)據(jù)已經(jīng)寫完了膛锭,因?yàn)檫€有一部分有可能會留在內(nèi)存這個緩沖區(qū)中粮坞。這時候如果你調(diào)用了close()方法關(guān)閉了讀寫流,那么這部分?jǐn)?shù)據(jù)就會丟失初狰,所以應(yīng)該在關(guān)閉讀寫流之前先flush()莫杈。且文件要寫入換行應(yīng)調(diào)用write("\r\n");

5,測試與小結(jié)

5.1首界面

整個系統(tǒng)都是以首界面的運(yùn)行運(yùn)行跷究,然后逐個程序相互關(guān)聯(lián)姓迅、調(diào)用:

5.2學(xué)生處敲霍、教務(wù)處

點(diǎn)擊后將分別進(jìn)入學(xué)生信息管理界面俊马、教務(wù)管理系統(tǒng)界面,不登錄可查詢信息肩杈、成績柴我,要進(jìn)行其他操作則需登錄:


5.3登入界面

學(xué)生處、教務(wù)處扩然、管理員共用一個登入界面艘儒,且登錄后進(jìn)入同一個主界面,但訪問權(quán)限是不相同的:



5.4.學(xué)生信息

學(xué)生信息的增刪改查在主界面都有相應(yīng)的實(shí)現(xiàn)菜單欄夫偶,且查詢可以將查詢到的信息存入文件界睁,測試效果如下:

成績管理模塊、考試管理模塊的相關(guān)操作都在同一個界面實(shí)現(xiàn)兵拢,如下


5.5成績管理

? ? 該系統(tǒng)將成績管理設(shè)為除學(xué)生處的權(quán)限翻斟,包括對成績的添加、刪除说铃、修改访惜。該操作進(jìn)行了對數(shù)據(jù)庫多個表的結(jié)合使用,在填寫添加腻扇、修改或刪除信息后债热,需查詢數(shù)據(jù)中是否有該學(xué)生及該課程,若不存在幼苛,則操作失敗窒篱。且系統(tǒng)將會提示用戶操作失誤的原因,如下:

如輸入信息正確舶沿,則各操作的界面如下:


5.6考試管理

? ? 該系統(tǒng)將考試管理的劃分類似于成績管理的劃分墙杯,將其歸于教務(wù)處、管理員的權(quán)限暑椰,同樣包括添加霍转、刪除、修改操作一汽,而將成績查詢放在學(xué)生管理下避消。各操作界面如下:


5.7畢業(yè)管理

5.8用戶管理

????該界面只能由管理員操作低滩,即對用戶的管理及權(quán)限的設(shè)置:


5.9數(shù)據(jù)備份與恢復(fù)

? 該功能是根據(jù)MySQL數(shù)據(jù)備份與恢復(fù)的相關(guān)知識由Java實(shí)現(xiàn):

6,程序清單



7岩喷,參考文獻(xiàn)

[1] 志宏.計算機(jī)網(wǎng)絡(luò)十二五規(guī)劃教程[M]. 北京:航空工業(yè)出 版社恕沫,2008年2月

[2] 蔡翠平等.Java程序設(shè)計[M].北京:?清華大學(xué)出版社,2002.10

[3] 陳丹丹. Java學(xué)習(xí)手冊[M]. 北京:電子工業(yè)出版社,2011年

[4] 陸昌輝. Java程序設(shè)計實(shí)用案例教程[M]. 北京:電子工業(yè)出 版社纱意,2008年

[5] 張桂珠劉麗陳愛國Java面向?qū)ο蟪绦蛟O(shè)計北京郵電大學(xué)

[6] 畢廣吉.Java程序設(shè)計實(shí)例編程[M].北京:?清華大學(xué)出版社

?[7] 王保羅Java面向?qū)ο蟪绦蛟O(shè)計[M].北京:?清華大學(xué)出版

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末婶溯,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子偷霉,更是在濱河造成了極大的恐慌迄委,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件类少,死亡現(xiàn)場離奇詭異叙身,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)硫狞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進(jìn)店門信轿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人残吩,你說我怎么就攤上這事财忽。” “怎么了泣侮?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵即彪,是天一觀的道長。 經(jīng)常有香客問我旁瘫,道長祖凫,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任酬凳,我火速辦了婚禮惠况,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘宁仔。我一直安慰自己稠屠,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布翎苫。 她就那樣靜靜地躺著权埠,像睡著了一般。 火紅的嫁衣襯著肌膚如雪煎谍。 梳的紋絲不亂的頭發(fā)上攘蔽,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天,我揣著相機(jī)與錄音呐粘,去河邊找鬼满俗。 笑死转捕,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的唆垃。 我是一名探鬼主播五芝,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼辕万!你這毒婦竟也來了枢步?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤渐尿,失蹤者是張志新(化名)和其女友劉穎醉途,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體涡戳,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡结蟋,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年脯倚,在試婚紗的時候發(fā)現(xiàn)自己被綠了渔彰。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡推正,死狀恐怖恍涂,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情植榕,我是刑警寧澤再沧,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站尊残,受9級特大地震影響炒瘸,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜寝衫,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一顷扩、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧慰毅,春花似錦隘截、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至着饥,卻和暖如春犀农,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背宰掉。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工呵哨, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留谤逼,地道東北人。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓仇穗,卻偏偏與公主長得像流部,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子纹坐,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 關(guān)于Mongodb的全面總結(jié) MongoDB的內(nèi)部構(gòu)造《MongoDB The Definitive Guide》...
    中v中閱讀 31,905評論 2 89
  • 一枝冀、需求背景 隨著學(xué)校的規(guī)模的不斷擴(kuò)大,學(xué)生數(shù)量的增加耘子,需要處理的信息也日趨增大果漾。不僅花費(fèi)大量的教師資源,處理效率...
    蔡元浩閱讀 5,615評論 0 7
  • 千人尋根祭祖谷誓,傳播中華文化 7月14日上午绒障,由為公解惑組織來自全國各地的近千名群眾在陜西黃帝陵進(jìn)行了祭祖。本次活動...
    西安教育臺清瞳微電影閱讀 263評論 0 0
  • 2017.12.6 星期三 晴 今晚兒子把《父母課堂》刊物帶回來了捍歪,吃完飯我一篇篇的翻閱著户辱,里面關(guān)于家教方...
    瑞瑞琪琪閱讀 277評論 0 0
  • 1暈輪效應(yīng) 在愛情的世界里,最美好的就是我喜歡你而你也喜歡著我糙臼。作為一名單身的男性看到漂亮的姑娘總是...
    杜小才閱讀 845評論 0 0