《軟件工程》課程設(shè)計(jì)說明書_第1頁(yè)
《軟件工程》課程設(shè)計(jì)說明書_第2頁(yè)
《軟件工程》課程設(shè)計(jì)說明書_第3頁(yè)
《軟件工程》課程設(shè)計(jì)說明書_第4頁(yè)
《軟件工程》課程設(shè)計(jì)說明書_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

...wd......wd......wd...?軟件工程?課程設(shè)計(jì)說明書設(shè)計(jì)題目:學(xué)生信息管理系統(tǒng)專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)班級(jí):計(jì)科14-4班學(xué)號(hào):20xx0902413姓名:李雪瑞指導(dǎo)教師:趙俊峰二○一六年12月15日目錄一、系統(tǒng)概述11.1設(shè)計(jì)目的11.2系統(tǒng)功能11.3運(yùn)行環(huán)境1二、可行性研究22.1可行性分析的目的22.2可行性分析的內(nèi)容22.3可行性分析過程22.3.1條件假定和預(yù)定22.3.2可行性研究方法22.3.3技術(shù)可行性32.3.4

效益分析32.4可行性分析結(jié)果3第三章需求分析43.1編寫目的43.2系統(tǒng)功能4四、總體設(shè)計(jì)154.1總體設(shè)計(jì)的目的154.2總體設(shè)計(jì)的內(nèi)容154.3設(shè)計(jì)過程15五、編碼實(shí)現(xiàn)215.1編碼實(shí)現(xiàn)的目的215.2編碼的工具225.3編碼過程22六、代碼測(cè)試276.1代碼測(cè)試的目的276.2測(cè)試工具〔方法〕276.3測(cè)試過程276.4測(cè)試結(jié)果27七、系統(tǒng)維護(hù)287.1維護(hù)目的297.2維護(hù)方法297.3維護(hù)過程297.4維護(hù)結(jié)果29八、心得與體會(huì)29參考文獻(xiàn)30【摘要】在現(xiàn)代社會(huì)中,軟件應(yīng)用于多個(gè)方面。典型的軟件比方有電子郵件,嵌入式系統(tǒng),人機(jī)界面,辦公套件,操作系統(tǒng),編譯器,數(shù)據(jù)庫(kù),游戲等。同時(shí),各個(gè)行業(yè)幾乎都有計(jì)算機(jī)軟件的應(yīng)用,比方工業(yè),農(nóng)業(yè),銀行,航空,政府部門等。這些應(yīng)用促進(jìn)了經(jīng)濟(jì)和社會(huì)的開展,使得人們的工作更加高效,同時(shí)提高了生活質(zhì)量。通過軟件開發(fā)的實(shí)踐訓(xùn)練,進(jìn)一步掌握軟件工程的方法和技術(shù),提高軟件開發(fā)的實(shí)際能力,培養(yǎng)工程設(shè)計(jì)能力和綜合分析、解決問題的能力。【關(guān)鍵詞】學(xué)生信息管理系統(tǒng)C語(yǔ)言系統(tǒng)概述1.1設(shè)計(jì)目的由于Excel的操作復(fù)雜,需要一定的軟件知識(shí),所以導(dǎo)致學(xué)生信息管理隨著社會(huì)信息化的腳步加快,個(gè)人的信息也呈現(xiàn)出多樣性,這便給信息管理者造成了巨大的壓力和難度,也給傳統(tǒng)的文件信息管理模式提出了挑戰(zhàn)?,F(xiàn)有的學(xué)生信息〔1〕學(xué)生信息管理缺乏安全、便捷性。〔2〕工作效率低?!?〕無(wú)法實(shí)現(xiàn)不同學(xué)院數(shù)據(jù)的復(fù)合使用。為了提高學(xué)校學(xué)生信息管理的效率和準(zhǔn)確性,我們團(tuán)隊(duì)決定開發(fā)一個(gè)學(xué)生信息管理系統(tǒng),希望通過信息化手段管理學(xué)生信息,實(shí)現(xiàn)提高效率和準(zhǔn)確性的目的。學(xué)生成績(jī)管理系統(tǒng)在提高學(xué)生成績(jī)信息處理的效率的同時(shí),又能為廣闊師生提供及時(shí)準(zhǔn)備的學(xué)生成績(jī)信息。可使教職員工減輕工作壓力,比較系統(tǒng)地對(duì)教務(wù)、教學(xué)上的各項(xiàng)服務(wù)和信息進(jìn)展管理。同時(shí),可以減少勞動(dòng)力的使用,加快查詢速度以及國(guó)家各部門關(guān)于信息化的步伐,使各項(xiàng)管理更加標(biāo)準(zhǔn)化,提高了傳統(tǒng)教師的工作任務(wù)量。1.2系統(tǒng)功能可用來(lái)查詢,插入,更新,刪除學(xué)生信息。1.3運(yùn)行環(huán)境Windows10VisualC++SQLServer20xxeclipse1.8.0可行性研究2.1可行性分析的目的該系統(tǒng)的目標(biāo)是在學(xué)生信息管理中,使用計(jì)算機(jī)的網(wǎng)絡(luò)技術(shù)、通訊技術(shù)和信息處理技術(shù),是學(xué)生信息得以加工,依次傳達(dá)及保存。系統(tǒng)要對(duì)使用要求不一樣的用戶群體設(shè)置不同的功能。管理員能有效地管理學(xué)生的信息,同事,學(xué)生可以隨時(shí)大量的檢索查詢多種信息。本系統(tǒng)為管理者提供了完整的管理平臺(tái),其主要功能有:〔1〕通過已有的學(xué)生信息庫(kù),管理學(xué)生的信息,還可以管理教師的信息,管理課程的信息,管理班級(jí)的信息;〔2〕可以修改學(xué)生的信息,選擇課程,檢索成績(jī)等;〔3〕修改教師的信息,檢索學(xué)生的成績(jī),登記授課的學(xué)生情況。可行性分析就是為了確定該系統(tǒng)從各個(gè)方面確定該系統(tǒng)在經(jīng)濟(jì)上、技術(shù)上、法律上的可否實(shí)現(xiàn)。2.2可行性分析的內(nèi)容從技術(shù)可行性、資源分析、法律道德分析和效益分析來(lái)判分析一下學(xué)生信息管理系統(tǒng)能否實(shí)現(xiàn)。2.3可行性分析過程2.3.1條件假定和預(yù)定建議開發(fā)軟件運(yùn)行的最短壽命:五年

B.進(jìn)展系統(tǒng)方案選擇比較的期限:一周

C.經(jīng)費(fèi)來(lái)源和使用限制

:經(jīng)費(fèi)來(lái)源由學(xué)校提供;使用時(shí)應(yīng)定期維護(hù),防止系統(tǒng)出現(xiàn)高漏洞而帶來(lái)些復(fù)雜問題。

D.法律和政策方面的限制:此軟件設(shè)計(jì)合法,不存在于法律、政策相違背的現(xiàn)象。

E.硬件環(huán)境:假設(shè)干臺(tái)計(jì)算機(jī)

F.工作站:每個(gè)部門至少有一臺(tái)作為工作站的PC機(jī)

G.操作系統(tǒng):windowswin7win8等操作系統(tǒng)

H.?dāng)?shù)據(jù)庫(kù):SQLServer20052.3.2可行性研究方法1、初步分析,設(shè)想所有必須完成的功能;

2、初步需求分析:可行性分析報(bào)告、數(shù)據(jù)流圖、數(shù)據(jù)字典、可行性分析報(bào)告;

3、建設(shè)系統(tǒng)原型:修改規(guī)格說明;

4、管理員,教師,學(xué)生,完善模型,明確功能和實(shí)現(xiàn)方法;

5、系統(tǒng)的整體測(cè)試和修改完善。2.3.3技術(shù)可行性

學(xué)生信息管理系統(tǒng)的開發(fā)需要對(duì)管理的需求進(jìn)展分析,最終通過簡(jiǎn)單的界面按鈕操作實(shí)現(xiàn)對(duì)學(xué)生數(shù)據(jù)的增、刪、改和查詢操作,并將這些操作反響到數(shù)據(jù)庫(kù)的操作。完成以上功能需要采用以下幾個(gè)關(guān)鍵的技術(shù):

〔1〕數(shù)據(jù)庫(kù)數(shù)據(jù)顯示技術(shù)

通過什么方式和形式把數(shù)據(jù)庫(kù)中的學(xué)生數(shù)據(jù)顯示到界面上供管理者查閱,目前的基本技術(shù)都是基于Sql語(yǔ)言的混合編程實(shí)現(xiàn)遍歷數(shù)據(jù)庫(kù),對(duì)數(shù)據(jù)的提取,然后通過GUI編程在界面上顯示。

目前的界面編程和Sql語(yǔ)言的混合編程已經(jīng)比較成熟,比方用于界面編程的有C、Java、Qt、C++等等,并且他們基本都是開源的,不會(huì)存在侵權(quán)和成本的問題。

〔2〕數(shù)據(jù)庫(kù)數(shù)據(jù)修改技術(shù)

對(duì)數(shù)據(jù)庫(kù)的操作基本的還是離不開Sql語(yǔ)言的混合編程,主要是通過對(duì)按鈕事件的捕捉,通過對(duì)應(yīng)的Sql代碼實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)相關(guān)操作。

〔3〕系統(tǒng)在運(yùn)行和維護(hù)面臨的問題

系統(tǒng)在運(yùn)行過程中,系統(tǒng)的用戶主要是學(xué)校的信息管理人員,用戶對(duì)系統(tǒng)使用的熟練程度會(huì)影響系統(tǒng)應(yīng)用的效果,增加系統(tǒng)維護(hù)的壓力。這個(gè)問題可以通過一份簡(jiǎn)單的管理人員使用說明文檔來(lái)解決。在系統(tǒng)運(yùn)行的初級(jí)階段,可以由開發(fā)方的系統(tǒng)維護(hù)人員提供現(xiàn)場(chǎng)的使用指導(dǎo)。

系統(tǒng)維護(hù)面臨的主要問題是系統(tǒng)存儲(chǔ)的學(xué)生數(shù)據(jù)量比較大,數(shù)據(jù)備份和數(shù)據(jù)安全十分重要。數(shù)據(jù)備份與恢復(fù)需要程序化、智能化。由于數(shù)據(jù)涉及到學(xué)生個(gè)人信息秘密,數(shù)據(jù)備份與恢復(fù)工作需要有信息管理人員專職負(fù)責(zé)。2.3.4

效益分析1.經(jīng)濟(jì)效益分析

〔1〕提高管理者的工作效率后,使得信息管理人員需求的減少,減少了額外的開支。

〔2〕提高信息管理的便捷性,降低信息管理的要求。

2.社會(huì)效益分析

(1〕節(jié)省了管理者的時(shí)間,降低了勞動(dòng)輸出量。

(2〕提高了學(xué)校信息化程度的形象。2.4可行性分析結(jié)果通過分析,在學(xué)生信息管理中,使用計(jì)算機(jī)的網(wǎng)絡(luò)技術(shù),通訊技術(shù)和信息管理技術(shù),使學(xué)生的信息得以加工,依次傳達(dá)及保存。系統(tǒng)要對(duì)使用要求不一樣的用戶群體設(shè)置不同的功能。

從必要性、技術(shù)、資源、時(shí)間、社會(huì)法律等幾角度的分析,學(xué)生信息管理系統(tǒng)工程是可行的,是可以設(shè)計(jì)的。第三章需求分析3.1編寫目的為學(xué)生管理系統(tǒng)的開發(fā)提供可行性分析的結(jié)論,為工程是否正式立項(xiàng)、啟動(dòng)提供依據(jù),為工程啟動(dòng)后的需求分析、設(shè)計(jì)、開發(fā)、測(cè)試等工作提供根基依據(jù)。該系統(tǒng)的編寫目的是提高學(xué)生成績(jī)管理的工作效率,使人們從乏味的數(shù)據(jù)登記和統(tǒng)計(jì)工作中解脫出來(lái),保證工作的準(zhǔn)確率,為教師及同學(xué)提供充足的信息和快捷的查詢手段。數(shù)據(jù)庫(kù)作為計(jì)算機(jī)應(yīng)用的一局部,對(duì)學(xué)生成績(jī)查詢進(jìn)展管理具有手工管理無(wú)法比較的優(yōu)點(diǎn),例如檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)等。這些優(yōu)點(diǎn)能夠極大地提高學(xué)生成績(jī)查詢和管理的效率。學(xué)生管理系統(tǒng)在提高學(xué)生成信息處理的效率的同時(shí),又能為廣闊師生提供及時(shí)準(zhǔn)備的學(xué)生信息??墒箤W(xué)院教職員工減輕工作壓力,比較系統(tǒng)地對(duì)教務(wù)、教學(xué)上的各項(xiàng)服務(wù)和信息進(jìn)展管理。同時(shí),可以減少勞動(dòng)力的使用,加快查詢速度以及國(guó)家各部門關(guān)于信息化的步伐,使各項(xiàng)管理更加標(biāo)準(zhǔn)化,提高了傳統(tǒng)教師的工作任務(wù)量。學(xué)生管理系統(tǒng)的功能主要分為:前臺(tái)管理和后臺(tái)管理兩大功能。3.2系統(tǒng)功能學(xué)生管理系統(tǒng)的功能主要分為:前臺(tái)管理和后臺(tái)管理兩大功能。3.2.1總目標(biāo)實(shí)現(xiàn)學(xué)生信息進(jìn)入系統(tǒng)的自動(dòng)化,提高學(xué)生信息統(tǒng)計(jì)的實(shí)時(shí)性,減輕人工勞動(dòng)強(qiáng)度從而節(jié)省人力成本。實(shí)現(xiàn)學(xué)生信息查詢的實(shí)時(shí)性,躲避信息孤島。提高學(xué)生信息的暢通度,為學(xué)生以及教師提供方便。3.2.2具體目標(biāo)1〕前臺(tái)管理系統(tǒng)必須具備以下功能:信息的錄入:根據(jù)學(xué)校的特點(diǎn)制定相關(guān)功能,可以通過唯一的學(xué)號(hào)將學(xué)生信息錄入,該功能可以充分保證各種電腦操作層次的人員均能通過學(xué)生管理系統(tǒng)快速的錄入該學(xué)生,并為后續(xù)的功能提供技術(shù)上的支持。信息的刪除:根據(jù)學(xué)校的相關(guān)條律,將輟學(xué)或者勸退的學(xué)生的信息從學(xué)生管理系統(tǒng)中刪除,該功能可以充分保證各種電腦操作層次的人員操作,同時(shí)也是到達(dá)系統(tǒng)空間的充分利用。信息的修改:根據(jù)學(xué)生在校期間的表現(xiàn),有些許掛科,重修的科目,都會(huì)實(shí)時(shí)性的進(jìn)展更新,該功能必須充分保證各個(gè)電腦操作層次的人員都能進(jìn)展操作,到達(dá)學(xué)生信息更改的迅速的效率。信息的查詢:在學(xué)生需要知道自己的信息時(shí),可以通過學(xué)生管理系統(tǒng),進(jìn)展查詢。如:成績(jī),課程表,報(bào)名等等。2〕后臺(tái)管理系統(tǒng)必須具備以下功能:人員管理:教師,學(xué)生,游客,管理員等基本信息的登記管理。該功能將不同階級(jí)的人分層,以便更好的管理,到達(dá)管理的高效率。權(quán)限管理:各個(gè)人員的權(quán)限是不同的,教師可以登記學(xué)生成績(jī),學(xué)生可以瀏覽自己的信息或者修改一些基本信息,游客只能瀏覽信息,管理員可以修改各個(gè)信息。該功能充分保證了信息的安全性。3.2.3性能目標(biāo)系統(tǒng)的操作人員需要進(jìn)展一定的培養(yǎng),不可盲目的修改,導(dǎo)致學(xué)生信息混亂。系統(tǒng)的運(yùn)行的可靠性要求較高,必須保證信息不可輕易喪失,損害學(xué)生個(gè)人利益。系統(tǒng)必須可進(jìn)展實(shí)時(shí)性處理,其效率比人工處理效率要高出70%。3.2.4系統(tǒng)圖學(xué)生基本信息管理系統(tǒng)學(xué)生基本信息管理系統(tǒng)信息錄入信息瀏覽信息查詢信息排序信息刪除信息修改信息添加退出系統(tǒng)輸入學(xué)生的相關(guān)信息顯示學(xué)生的相關(guān)信息按姓名查詢按學(xué)號(hào)查詢更新保存的學(xué)生信息對(duì)新加的學(xué)生進(jìn)展信息錄入菜單項(xiàng)選擇擇信息錄入:信息錄入系統(tǒng)能夠準(zhǔn)確的錄入各種信息。信息錄入信息錄入準(zhǔn)確錄入信息(1)關(guān)系圖〔2〕狀態(tài)轉(zhuǎn)換圖信息刪除:信息刪除系統(tǒng)能夠刪除不再在學(xué)校的學(xué)生及教師信息。信息刪除信息刪除刪除離校師生信息(1)關(guān)系圖〔2〕狀態(tài)轉(zhuǎn)換圖信息修改:信息修改系統(tǒng)能夠根據(jù)學(xué)生的活動(dòng)修改學(xué)生信息。信息修改信息修改修改師生信息(1)關(guān)系圖〔2〕狀態(tài)轉(zhuǎn)換圖信息查詢:學(xué)生信息查詢系統(tǒng)能夠準(zhǔn)確的查詢某個(gè)學(xué)生的學(xué)生信息。信息查詢信息查詢準(zhǔn)確查詢學(xué)生信息(1)關(guān)系圖〔2〕狀態(tài)轉(zhuǎn)換圖成員信息及權(quán)限管理:用戶進(jìn)入POS系統(tǒng)界面,輸入ID號(hào)碼,檢測(cè)是管理員,學(xué)生還是教師。如果是管理員,那么有增加、刪除、修改、查詢信息的功能;如果是學(xué)生,那么有查詢學(xué)生成績(jī)、修改基本信息的功能;如果是教師,那么有登記授課學(xué)生情況,查詢學(xué)生成績(jī),修改教師信息的功能。(1)關(guān)系圖〔2〕狀態(tài)轉(zhuǎn)換圖四、總體設(shè)計(jì)4.1總體設(shè)計(jì)的目的本系統(tǒng)采用面向?qū)ο蠓椒ㄟM(jìn)展分析和設(shè)計(jì),在SQLServer2005數(shù)據(jù)庫(kù)上實(shí)現(xiàn)數(shù)據(jù)操作。使用純面向?qū)ο蟮腏AVA語(yǔ)言作為開發(fā)語(yǔ)言,使用Windows7作為開發(fā)平臺(tái),能夠很好的實(shí)現(xiàn)系統(tǒng)的開發(fā)及測(cè)試。通過這個(gè)階段的設(shè)計(jì)將劃分出組成?學(xué)生信息管理系統(tǒng)?的物理元素——程序、文件、數(shù)據(jù)庫(kù)、人工過程和文檔等,但是在這個(gè)過程中每個(gè)物理元素仍然處于黑盒子級(jí)。同時(shí)還要在這個(gè)階段設(shè)計(jì)軟件的構(gòu)造,也就是要確定系統(tǒng)中有那些模塊組成,以及模塊之間的關(guān)系。4.2總體設(shè)計(jì)的內(nèi)容設(shè)計(jì)并選取適宜的實(shí)現(xiàn)?學(xué)生信息管理系統(tǒng)?的方法設(shè)計(jì)高效率的軟件構(gòu)造設(shè)計(jì)必要的數(shù)據(jù)庫(kù)書寫文檔制定測(cè)試方案4.3設(shè)計(jì)過程選取合理的方案在SQL2005的根基上先建設(shè)一個(gè)學(xué)生數(shù)據(jù)庫(kù),然后用c++程序設(shè)計(jì)語(yǔ)言嵌套SQL語(yǔ)言設(shè)計(jì)一個(gè)合理的軟件程序?qū)崿F(xiàn)對(duì)學(xué)生數(shù)據(jù)庫(kù)的管理。最后要對(duì)操作界面進(jìn)展優(yōu)化,以及軟件的操作流程和軟件構(gòu)造進(jìn)展優(yōu)化。在后期我們還要配備專業(yè)的人士為此系統(tǒng)進(jìn)展長(zhǎng)期的管理和維護(hù)。推薦最正確的方案省略功能分解學(xué)生信息管理系統(tǒng)〞主要分為登錄、權(quán)限管理、學(xué)生信息管理、教師信息管理、課程信息管理、賬戶管理等6個(gè)模塊。系統(tǒng)主模塊功能樹如以以下列圖:權(quán)限管理〔管理員〕模塊 學(xué)生信息管理模塊教師信息管理模塊 課程信息管理模塊賬戶管理模塊 課程信息更新模塊學(xué)生信息更新模塊 教師信息更新模塊設(shè)計(jì)軟件構(gòu)造設(shè)計(jì)數(shù)據(jù)庫(kù) 概念構(gòu)造設(shè)計(jì)就是E-R方法的分析與設(shè)計(jì),概念構(gòu)造設(shè)計(jì)是整個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)的關(guān)鍵。在此,將使用實(shí)體—聯(lián)系〔E-R〕模型來(lái)描述系統(tǒng)的概念構(gòu)造,同時(shí)設(shè)計(jì)出能夠滿足用戶需求的的各種實(shí)體,以及它們之間的關(guān)系,為后面的邏輯構(gòu)造設(shè)計(jì)打下根基。這也實(shí)體包括各種具體的實(shí)際信息,通過相互之間的作用形成數(shù)據(jù)的流動(dòng)。本程序根據(jù)上面的設(shè)計(jì)規(guī)劃出的實(shí)體有:學(xué)籍實(shí)體、班級(jí)實(shí)體、年級(jí)實(shí)體、課程實(shí)體與成績(jī)實(shí)體,學(xué)生信息管理系統(tǒng)數(shù)據(jù)庫(kù)E-R模型,如以以下列圖所示:〔5.1〕數(shù)據(jù)庫(kù)和數(shù)據(jù)表的建設(shè)學(xué)生信息表表名稱標(biāo)識(shí):Student表數(shù)據(jù)來(lái)源:新生信息錄入模塊進(jìn)展錄入教師信息表表名稱標(biāo)示:teacher表教師信息錄入課程信息表表名標(biāo)示:course表課程信息錄入學(xué)生課程信息表表名稱標(biāo)識(shí):Student—course表學(xué)生成績(jī)錄入表教師-課程信息表表名稱標(biāo)示:teacher-course表教師和所授課程信息4.4總體設(shè)計(jì)的結(jié)果通過本階段的設(shè)計(jì),得到一個(gè)較為合理的軟件構(gòu)造。模塊化分的適宜,同時(shí)本構(gòu)造有清晰的層次構(gòu)造,各個(gè)層次的人士都能理解本軟件的構(gòu)造。各個(gè)模塊有較好的獨(dú)立性,軟件由一組完成相對(duì)獨(dú)立的子功能的模塊組成,這些模塊之間接口的關(guān)系較為簡(jiǎn)單。我們運(yùn)用了自頂向下逐步求精方法。同時(shí)我們運(yùn)用在數(shù)據(jù)庫(kù)設(shè)計(jì)方面的知識(shí),對(duì)我們需要的數(shù)據(jù)庫(kù)進(jìn)展了設(shè)計(jì)。設(shè)計(jì)步驟:〔1〕概念設(shè)計(jì)〔2〕邏輯設(shè)計(jì)〔3〕物理設(shè)計(jì)〔4〕數(shù)據(jù)庫(kù)實(shí)施。我們得到一個(gè)初步的學(xué)生信息關(guān)系系統(tǒng)的數(shù)據(jù)庫(kù)。五、編碼實(shí)現(xiàn)5.1編碼實(shí)現(xiàn)的目的編碼是將軟件設(shè)計(jì)結(jié)果翻譯成用某種程序設(shè)計(jì)語(yǔ)言書寫的程序,是對(duì)設(shè)計(jì)的進(jìn)一步具體化。編碼為計(jì)算機(jī)中的數(shù)據(jù)與實(shí)際處理的信息之間建設(shè)聯(lián)系,提高\(yùn)t"://baike.haosou/doc/_blank"信息處理的\t"://baike.haosou/doc/_blank"效率。編碼風(fēng)格是指編程遵循的基本原那么。良好的編碼風(fēng)格有利于彌補(bǔ)語(yǔ)言的缺陷,編寫出高質(zhì)量的軟件。包括程序內(nèi)部的文檔、數(shù)據(jù)說明、語(yǔ)句構(gòu)造、輸入/輸出、效率等方面的問題。

選擇一種編程語(yǔ)言的理論標(biāo)準(zhǔn):〔這里選擇Java〕

1〕有理想的模塊化機(jī)制;

2〕可讀性好的控制構(gòu)造和數(shù)據(jù)構(gòu)造;

3〕便于調(diào)試和提高軟件可靠性;

4〕編譯程序發(fā)現(xiàn)程序錯(cuò)誤的能力強(qiáng);

5〕有良好的獨(dú)立編譯機(jī)制。5.2編碼的工具使用java編寫程序,Eclipse5.3編碼過程根據(jù)詳細(xì)設(shè)計(jì)中的程序流程圖分模塊編寫程序,然后再組裝起來(lái)。編碼過程中涉及到的類:SimpleStudentManager主函數(shù)類DLFrame登陸界面類ManagerFrane管理員界面類StudentFrame學(xué)生界面類SM學(xué)生信息管理的類SAdd用于學(xué)生信息管理中增加或修改某條記錄的界面的類SSelect用于學(xué)生基本信息管理中查詢時(shí)輸入學(xué)號(hào)的界面的類〔1〕登錄界面模塊:學(xué)生信息管理系統(tǒng)可由管理員和學(xué)生兩種身份的人使用。管理員和學(xué)生 身份登錄所能操作的功能有很大的區(qū)別。mportjavax.swing.*;importjava.awt.*;importjava.awt.event.*;importjava.sql.*;classDLFrameextendsJFrameimplementsActionListener,ItemListener{//登錄界面JPanelp1=null;JPanelp2=null;JPanelp3=null;JLabeluserName=newJLabel("用戶:");JTextFieldtxtUser=newJTextField();JLabelpassword=newJLabel("密碼:");JPasswordFieldtxtPwd=newJPasswordField(6);JLabelrole=newJLabel("角色:");JComboBoxcbrole=newJComboBox();JButtonbtnLogin=newJButton("登錄");JButtonbtncz=newJButton("重置");JButtonbtnCancel=newJButton("取消");JLabelimageLabel;Iconimage;staticintOK=1;staticintCANCEL=0;intactionCode=0;Connectioncon=null;Statementstmt=null;ResultSetrs=null;intqxian=0;publicDLFrame(){//構(gòu)造方法super("登錄界面");p1=newJPanel();p2=newJPanel();p3=newJPanel();cbrole.addItem("管理員");cbrole.addItem("學(xué)生");image=newImageIcon("picture\\st.jpg");imageLabel=newJLabel(image);p1.add(imageLabel);this.setLayout(newFlowLayout());this.setBounds(100,100,246,345);p2.setLayout(newGridLayout(4,2));p2.add(userName);p2.add(txtUser);p2.add(password);p2.add(txtPwd);p2.add(role);p2.add(cbrole);p3.add(btnLogin);p3.add(btncz);p3.add(btnCancel);this.add(p1);this.add(p2);this.add(p3);this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.show();btnLogin.addActionListener(this);cbrole.addItemListener(this);btncz.addActionListener(this);btnCancel.addActionListener(this);}publicvoidconnDB(){//連接數(shù)據(jù)庫(kù)try{Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");}catch(ClassNotFoundExceptione){e.printStackTrace();}try{con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=student","sa","123");stmt=con.createStatement();}catch(SQLExceptione){e.printStackTrace();}}publicvoidcloseDB()//關(guān)閉連接{try{stmt.close();con.close();}catch(SQLExceptione){e.printStackTrace();}publicvoiditemStateChanged(ItemEvente){if(e.getStateChange()==ItemEvent.SELECTED){JComboBoxjcb=(JComboBox)e.getSource();qxian=jcb.getSelectedIndex();}}publicvoidactionPerformed(ActionEvente){Objectsource=e.getSource();Stringun=null;Stringpw=null;booleansuccess=false;//用于判斷是否登錄成功if(source==btnLogin){if(txtUser.getText().equals("")||txtPwd.getText().equals("")){//判斷是否輸入了用戶名和密碼JOptionPane.showMessageDialog(null,"登錄名和密碼不能為空!");}else{this.connDB();try{rs=stmt.executeQuery("select*fromunpwwhereqx="+qxian);while(rs.next()){un=rs.getString("un").trim();pw=rs.getString("pw").trim();if(txtUser.getText().equals(un)){if(txtPwd.getText().equals(pw)){actionCode=OK;this.setVisible(false);if(qxian==0){newManagerFrane();//進(jìn)入管理員界面}if(qxian==1){newStudentFrame();//進(jìn)入學(xué)生界面}success=true;break;}else{JOptionPane.showMessageDialog(null,"密碼錯(cuò)誤!");txtPwd.setText("");success=true;}}}if(!success){JOptionPane.showMessageDialog(null,"登錄名錯(cuò)誤!");txtUser.setText("");txtPwd.setText("");}}catch(SQLExceptione1){e1.printStackTrace();}}}elseif(source==btncz){txtUser.setText("");txtPwd.setText("");}elseif(source==btnCancel){System.exit(0);}}}〔2〕學(xué)生信息管理模塊編碼:importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;importjava.sql.*;classSAddextendsJFrameimplementsActionListener,ItemListener{//用于學(xué)生信息管理中增加或修改某條記錄的界面JLabellsno=newJLabel("學(xué)號(hào):");JLabellsname=newJLabel("姓名:");JLabellssex=newJLabel("性別:");JLabellsage=newJLabel("年齡:");JLabellsdept=newJLabel("院系:");JTextFieldtsno=newJTextField(14);JTextFieldtsname=newJTextField(14);JComboBoxcbssex=newJComboBox();JTextFieldtsage=newJTextField(14);JComboBoxcbsdept=newJComboBox();JButtonbtnOK=newJButton("確定");JButtonbtnCancel=newJButton("取消");JPanelp=newJPanel();Connectioncon=null;Statementstmt=null;ResultSetrs=null;Stringxb="男";Stringyx="計(jì)科系";booleanisNewsm=true;//用于判斷是否顯示學(xué)生管理的界面publicSAdd(Stringxb,Stringyx){//構(gòu)造方法this.xb=xb;this.yx=yx;this.setTitle("增加");this.setBounds(200,200,220,210);if(xb.trim().equals("男")){cbssex.addItem("男");cbssex.addItem("女");}else{cbssex.addItem("女");cbssex.addItem("男");}if(yx.trim().equals("計(jì)科系")){cbsdept.addItem("計(jì)科系");cbsdept.addItem("物理系");cbsdept.addItem("數(shù)學(xué)系");cbsdept.addItem("外語(yǔ)系");}if(yx.trim().equals("物理系")){cbsdept.addItem("物理系");cbsdept.addItem("計(jì)科系");cbsdept.addItem("數(shù)學(xué)系");cbsdept.addItem("外語(yǔ)系");}if(yx.trim().equals("外語(yǔ)系")){cbsdept.addItem("外語(yǔ)系");cbsdept.addItem("計(jì)科系");cbsdept.addItem("物理系");cbsdept.addItem("數(shù)學(xué)系");}if(yx.trim().equals("數(shù)學(xué)系")){cbsdept.addItem("數(shù)學(xué)系");cbsdept.addItem("計(jì)科系");cbsdept.addItem("物理系");cbsdept.addItem("外語(yǔ)系");}p.setLayout(newFlowLayout(FlowLayout.LEFT));p.add(lsno);p.add(tsno);p.add(lsname);p.add(tsname);p.add(lsage);p.add(tsage);p.add(lssex);p.add(cbssex);p.add(lsdept);p.add(cbsdept);p.add(btnOK);p.add(btnCancel);this.add(p);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);cbssex.addItemListener(this);cbsdept.addItemListener(this);btnOK.addActionListener(this);btnCancel.addActionListener(this);this.show();}publicvoidconnDB(){//連接數(shù)據(jù)庫(kù)try{Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");}catch(ClassNotFoundExceptione){e.printStackTrace();}try{con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=student","sa","123");stmt=con.createStatement();}catch(SQLExceptione){e.printStackTrace();}}publicvoidcloseDB()//關(guān)閉連接{try{stmt.close();con.close();}catch(SQLExceptione){e.printStackTrace();}}publicvoidinsertst(){//插入記錄Stringxh=null;Stringxm=null;intnl=0;xh=tsno.getText();xm=tsname.getText();try{nl=Integer.parseInt((String)tsage.getText());if(this.getTitle()=="修改"){//如果是修改記錄,先刪除再增加try{this.connDB();intrs1=stmt.executeUpdate("deletefromswheresno='"+xh+"'");}catch(SQLExceptione){e.printStackTrace();}}Stringstr="insertintosvalues('"+xh+"','"+xm+"',"+nl+",'"+xb+"','"+yx+"')";this.connDB();//連接數(shù)據(jù)庫(kù)try{stmt.executeUpdate(str);JOptionPane.showMessageDialog(null,this.getTitle()+"成功!","提示",JOptionPane.INFORMATION_MESSAGE,newImageIcon("menu4.gif"));this.setVisible(false);}catch(SQLExceptione){JOptionPane.showMessageDialog(null,"學(xué)號(hào)已存在!");tsno.setText("");}}catch(NumberFormatExceptione){//判斷年齡是否為數(shù)字JOptionPane.showMessageDialog(null,"年齡必須是整數(shù)!");tsage.setText("");isNewsm=false;}if(this.getTitle()=="增加"){//如果是增加記錄,對(duì)應(yīng)的用戶表中也增加一條記錄try{stmt.executeUpdate("insertintounpwvalues('"+xh+"','"+xh+"',"+1+")");}catch(NullPointerExceptione){}catch(SQLExceptione){//e.printStackTrace();}}}publicvoidactionPerformed(ActionEvente){if(e.getActionCommand()=="確定"){this.insertst();if(isNewsm){newSM().display();}isNewsm=true;}if(e.getActionCommand()=="取消"){this.setVisible(false);newSM().display();}}publicvoiditemStateChanged(ItemEvente){//下拉框的監(jiān)聽if(e.getStateChange()==ItemEvent.SELECTED){JComboBoxjcb=(JComboBox)e.getSource();if((jcb.getSelectedItem()=="男")||(jcb.getSelectedItem()=="女")){xb=(String)jcb.getSelectedItem();}else{yx=(String)jcb.getSelectedItem();}}}六、代碼測(cè)試6.1代碼測(cè)試的目的測(cè)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論