學(xué)籍管理系統(tǒng)詳細設(shè)計方案_第1頁
學(xué)籍管理系統(tǒng)詳細設(shè)計方案_第2頁
學(xué)籍管理系統(tǒng)詳細設(shè)計方案_第3頁
學(xué)籍管理系統(tǒng)詳細設(shè)計方案_第4頁
學(xué)籍管理系統(tǒng)詳細設(shè)計方案_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

編號—003版本 L0詳細設(shè)計說明書項目名稱學(xué)生成績管理系統(tǒng)項目負責(zé)人 組員 2013年6月10日學(xué)籍管理系統(tǒng)詳細設(shè)計說明書目錄TOC\o"1-5"\h\z學(xué)籍管理系統(tǒng)詳細設(shè)計說明書 1\o"CurrentDocument"引言 2\o"CurrentDocument"11 編寫目的 2背景 2\o"CurrentDocument"參考資料 2\o"CurrentDocument"術(shù)語定義及說明 2\o"CurrentDocument"設(shè)計概述 3\o"CurrentDocument"任務(wù)和目標(biāo) 3需求槪述 3運行環(huán)境概述 3條件與限制 3詳細設(shè)計方法和工具 4\o"CurrentDocument"系統(tǒng)詳細需求分析 4\o"CurrentDocument"詳細需求分析 4詳細系統(tǒng)運行環(huán)境及限制條件分析接口需求分析 4\o"CurrentDocument"總體方案確認 5\o"CurrentDocument"系統(tǒng)總體結(jié)構(gòu)確認 5\o"CurrentDocument"系統(tǒng)詳細界面劃分 7\o"CurrentDocument"系統(tǒng)詳細設(shè)計 7\o"CurrentDocument"系統(tǒng)結(jié)構(gòu)設(shè)計及子系統(tǒng)劃分 7\o"CurrentDocument"系統(tǒng)功能模塊詳細設(shè)計 7\o"CurrentDocument"系統(tǒng)界而詳細設(shè)計 121引言1.1編寫目的依據(jù)學(xué)生成績管理系統(tǒng)的需求分析和總體設(shè)計詳細說明學(xué)生管理系統(tǒng)各個層次中的每個程序和數(shù)據(jù)庫系統(tǒng)的設(shè)訃考慮,為后期程序員編碼提供依據(jù)。其中重點說明學(xué)生管理系統(tǒng)各個模塊的執(zhí)行流程和數(shù)據(jù)庫系統(tǒng)的詳細設(shè)計。L2背景系統(tǒng)名稱:學(xué)生信息管理系統(tǒng)由于學(xué)校的規(guī)模不斷擴大,使得人工管理學(xué)生成績變得越來越低效,故開發(fā)此系統(tǒng)提高工作效率。該系統(tǒng)是基于C/S構(gòu)架的桌面客戶端軟件,使用對象為學(xué)生和教師,學(xué)生用來查詢個人成績,教師通過軟件錄入各個學(xué)生的信息1.3參考資料張海藩?軟件工程導(dǎo)論第五版?清華大學(xué)出版社.20081.4術(shù)語定義及說明成績管理:對學(xué)生的基本信息、課程選擇、成績的錄入、修改、刪除、查詢等一系列的操作。JREJavaRuntimeEnvironment2設(shè)計概述2.1任務(wù)和目標(biāo)2.1.1需求概述業(yè)務(wù)需求:學(xué)生使用各自的賬號密碼登入查詢成績,老師使用管理員權(quán)限可以錄入和修改信息。學(xué)生:輸入:學(xué)生賬號,密碼,身份輸出:學(xué)生的個人信息界面教師:輸入:管理員賬號,密碼,身份輸出:管理系統(tǒng)界面主要功能:能夠?qū)崿F(xiàn)管理員和學(xué)生對成績的管理,即完成一些基本的功能,查詢,刪除,添加,修改等,也要實現(xiàn)成績的統(tǒng)汁,并且能對用戶指定的任意課程名,按成績升序或降序排列學(xué)生數(shù)據(jù)并顯示排序結(jié)果,同時也要實現(xiàn)權(quán)限的管理性能需求:響應(yīng)時間:少于3秒更新處理時間:少于2秒數(shù)據(jù)的轉(zhuǎn)換和傳送時間少于5秒說明對該軟件的靈活性的要求,即當(dāng)需求發(fā)生某些變化時,該軟件對這些變化的適應(yīng)能力,操作方式上的變化:更人性化運行環(huán)境的變化:在windowsXP或以上的版本都能運行2.1J運行環(huán)境概述操作系統(tǒng):windows7數(shù)據(jù)庫系統(tǒng):文本文檔軟件環(huán)境:JRE配置要求:需將JRE路徑配置到系統(tǒng)環(huán)境變量中2.13條件與限制1) 由于系統(tǒng)較小,且在Windows7系統(tǒng)下開發(fā),故在Windows環(huán)境下運行沒有什么限制。2) 學(xué)生的一些私人信息必須要保護好。3) 該系統(tǒng)要受資金、壽命、社會等系列因素的制約和限制。4) 界面風(fēng)格上受到Java特有風(fēng)格的限制2.1.4詳細設(shè)計方法和工具設(shè)計方法:數(shù)據(jù)流程圖工具:rationalrose系統(tǒng)詳細需求分析3.1詳細需求分析功能需求分析:信息維護:實現(xiàn)學(xué)生信息維護,包括增加學(xué)生信息,刪除學(xué)生信息,修改學(xué)生信息信息查詢:實現(xiàn)按姓名查詢,按學(xué)號查詢成績統(tǒng)計:輸入任意一個課程名和一個分數(shù)段,統(tǒng)計在此分數(shù)段的學(xué)生情況排序:用戶指定的任意課程名,按成績升序或降序排列學(xué)生數(shù)據(jù)并顯示排序結(jié)果(使用表格的形式顯示排序后的輸出結(jié)果)性能需求分析:(1)數(shù)據(jù)精確度:所有在相應(yīng)域中包含查詢關(guān)鍵字的記錄都應(yīng)被查到同時保證準確率時間特性:響應(yīng)在一秒以內(nèi)適應(yīng)性:滿足運行環(huán)境在允許操作系統(tǒng)之間的安全轉(zhuǎn)換靈活性:在需求發(fā)生變化時,本系統(tǒng)的對這些變化的適應(yīng)能力相對而言是比較強的,包括操作方式上的變化;運行環(huán)境的變化系統(tǒng)運行環(huán)境和限制條件分析:(1)硬件奔騰處理器以上的均可,操作系統(tǒng)XP以上均可(2)安裝了JRE的都可以,JRE基本都可以安裝3.2接口需求分析硬件接口:支持一般的PII獲更高檔微機,筆記本電腦軟件接口:在這里主要考慮軟件與操作系統(tǒng)的接口,可運行于多種操作系統(tǒng)之上。

考慮到文檔處理的需要有可能可以包括與較常用的辦公軟件的接口4 總體方案確認4.1系統(tǒng)總體結(jié)構(gòu)確認系統(tǒng)組成確認:系統(tǒng)結(jié)構(gòu)確認:學(xué)生表字段名數(shù)據(jù)類型主鍵學(xué)號StringY姓名String課程表字段名數(shù)據(jù)類型主鍵課程名StringY學(xué)分double成績表字段名數(shù)據(jù)類型主鍵學(xué)號StringY課程名StringY成績int每個數(shù)據(jù)項都可以直接通過相關(guān)文件更新。查詢時,也可以直觀的在頁面輸入查詢條件,就可得到結(jié)果系統(tǒng)工作流程確認:42系統(tǒng)詳細界面劃分系統(tǒng)界而主要由前臺登陸界面和后臺功能界而組成,登陸界而負責(zé)確認信息,功能界而負責(zé)主要功能的實現(xiàn)登陸界而:包括簡單的信息錄入,確認功能界而:包括信息維護,信息查詢,成績統(tǒng)計,排序功能選項,同時提供退出和注銷功能界而的功能都通過后臺數(shù)據(jù)庫的交互來實現(xiàn)各自的功能,其中使用數(shù)據(jù)庫提供的接口來實現(xiàn)查詢,刪除功能5系統(tǒng)詳細設(shè)計5.1系統(tǒng)結(jié)構(gòu)設(shè)計及子系統(tǒng)劃分系統(tǒng)結(jié)構(gòu)設(shè)計:前端:資陸模塊功能模塊后端:數(shù)據(jù)庫模塊子系統(tǒng)劃分:前端功能模塊劃分:信息維護,信息查詢,成績統(tǒng)計,排序,排名系統(tǒng)后端數(shù)據(jù)庫模塊劃分:查找,刪除,更新,插入,排序52系統(tǒng)功能模塊詳細設(shè)計模塊名稱:査找(由于模塊較多(詳見代碼),僅舉一例)輸入:學(xué)生姓名處理:RandomAccessFilerf=readFile(STable);longpos;int[]where={0};String[]who={sname];ArrayListres=newArrayListQ;pos=check^STable,0,where,who);while(pos>=0){rfseek(pos);Stringline=myReadLine{rf);StringQatbs=line.split(V);String[][]eles=query^BySnum{atbs[l]);for(inti=0;i<eles.length;i++)res.add(eles[i]);pos=check^STable,rfgetFilePointer(),where,who);r£close();returncastToStringArray{res);算法描述:按照姓名查詢LI標(biāo)學(xué)生的所有信息輸出:姓名,學(xué)號,課程名,成績模塊名稱:刪除輸入:學(xué)號處理:publicstaticintdeleteStudent(Stringnum)throwsIOException{if(num.indexOfC;)>=0)return-2;RandomAccessFilerf=readFile{STable);int[]iarrl=(0];String[]sarrl=[num];longtmppos;RandomAccessFiletmprf=readFile{SCTable);tmppos=checl^SCTable,0,iarrl,sarrl);while(tmppos>=0){tmprfseek(tmppos);myHeadLine(tmprf);delete(SCTable,tmppos,tmprf.getFilePointer());tmppos=check^SCTable,tmppos,iarrl,sarrl);tmprfclose();int[]cols=S1J;String[]values={num];longpos=check^STable,0,cols,values);if(pos>=0)[rfseek(pos);myReadLine(yr);delete{STable,pos,rf.getFilePointer());]else{r£close();return-3;Jr£close();return0;}算法描述:按學(xué)號刪除學(xué)生表中的一行輸出:操作成功0學(xué)號不存在-3數(shù)據(jù)不能包含逗號-2II模塊名稱:更新輸入:姓名,學(xué)號處理:publicstaticintupdateStudent(Stringname,Stringnum)throwsIOException{if(name.indexOfl(7)>=0||num.indexOf(7)>=0)return-2;RandomAccessFilerf=readFile{STable);int[]cols={1};String[]values={num];longpos=check^STable,0,cols,values);if(pos>=0)[rfseek(pos);myReadLine(yf);update^STable,pos,rfgetFilePointer(),name+T+num+System.^eZLft-c>^er^(,,line.separatorH));]else[r£close();return-3;Jr£close();return0;J算法描述:按學(xué)號更新學(xué)生表中的一行輸出:操作成功0學(xué)號不存在-3數(shù)據(jù)不能包含逗號?2II模塊名稱:插入輸入:姓名,學(xué)號處理:throwsIOException[if(name.indexOf(7)>=0||num.indexOf(7)>=0)return-2;RandomAccessFilerf=readFile{STable);int[]cols={1};String[]values={num];if(checksSTable,0,cols,values)<0){insert^STable,rf.length(),name+",n+num+System.少('line,separator”));]else{r£close();return-1;r£close();return0;算法描述:往學(xué)生表中插入一行信息輸出:操作成功0學(xué)號己存在-1數(shù)據(jù)不能包含逗號-2模塊名稱:排序輸入:學(xué)生成績表處理:publicstaticString』]quickSortCourse(Stringcname)throwsIOException[Stringfinres=queryCourseWithLimit{cname,0,100);myPartition{res,0,res.length-1);returnres;〃快排函數(shù)privatestaticvoidmyPartition(String[I]data,intlow,inthigh){〃樞紐元,一般以第一個元素為基準進行劃分inti=low;intj=high;if(low<high){II從數(shù)組兩端交替地向中間掃描StringQpivotKey=dataflow];〃進行掃描的指針ij;i從左邊開始,j從右邊開始while(i<j){while(i<j&&Integer./?z?rselz2r(data[jl3])>=Integer?嚴zseZr24pivotKey[3]))[j-;]//endwhileII比樞紐元素小的移動到左邊data[i]=datafj];i++;}//endifwhile(i<j&&Integer./?^rse7>2r(data[il3])<=Integer?paseZh4pivot:Key[3])){i++;}//endwhileII比樞紐元素大的移動到右邊datafj]=data[i];j-;]//endif}//endwhile〃樞紐元素移動到正確位置data[i]=pivotKey;II前半個子表遞歸排序inyPaitition^^ot^low,i-1);//后半個子表遞歸排序n^yPartkion(data,i+1,high);}/lendifJ算法描述:按照課程名查詢u標(biāo)課程的所有成績信息并按升序用快速排序算法排序,每條記錄包含四個屬性,分別為姓名、學(xué)號、課程名、成績輸出:無輸出5.3系統(tǒng)界面詳細設(shè)計模塊名稱:登陸輸入:用戶名,密碼,權(quán)限處理:booleancorrect(Stringsi,Strings2,Strings3){try{FileReaderin=newFileReader(s3+M.txtn);Stringstr=intc;while((c=in.read())!=-l)str+=(char)c;String]]s=str.split(n”);for(inti=0;i<s.length;i=i+2){ifts[i].equals(sl)&&s[i+l].equals(s2)){in.close();returntrue;JJin.close();returnfklse;Jcatch(Exceptione){]returntrue;JIIpublicvoidactionPerfbrmed(ActionEvente){if(((JButton)e.getSource()).getText().equals(n登錄**)){if(name.getText().isEmpty()||password.getText().isEmpty())JO

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論