版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 編號 003 版本 1.0 詳 細 設 計 說 明 書 項目名稱 學生成績管理系統(tǒng) 項目負責人 組 員 2013年 6月 10 日學籍管理系統(tǒng)詳細設計說明書目錄學籍管理系統(tǒng)詳細設計說明書11引言21.1編寫目的21.2背景21.3參考資料21.4術語定義及說明22設計概述32.1任務和目標32.1.1需求概述32.1.2運行環(huán)境概述32.1.3條件與限制32.1.4詳細設計方法和工具43系統(tǒng)詳細需求分析43.1詳細需求分析43.2詳細系統(tǒng)運行環(huán)境及限制條件分析接口需求分析44總體方案確認54.1系統(tǒng)總體結構確認54.2系統(tǒng)詳細界面劃分75系統(tǒng)詳細設計75.1系統(tǒng)結構設計及子系統(tǒng)劃分75.2系
2、統(tǒng)功能模塊詳細設計75.3系統(tǒng)界面詳細設計121 引言1.1 編寫目的 依據(jù)學生成績管理系統(tǒng)的需求分析和總體設計詳細說明學生管理系統(tǒng)各個層次中的每個程序和數(shù)據(jù)庫系統(tǒng)的設計考慮,為后期程序員編碼提供依據(jù)。其中重點說明學生管理系統(tǒng)各個模塊的執(zhí)行流程和數(shù)據(jù)庫系統(tǒng)的詳細設計。1.2 背景 系統(tǒng)名稱:學生信息管理系統(tǒng) 由于學校的規(guī)模不斷擴大,使得人工管理學生成績變得越來越低效,故開發(fā)此系統(tǒng)提高工作效率。該系統(tǒng)是基于C/S構架的桌面客戶端軟件,使用對象為學生和教師,學生用來查詢個人成績,教師通過軟件錄入各個學生的信息1.3 參考資料1張海藩.軟件工程導論第五版.清華大學出版社.20081.4 術語定義及說
3、明成績管理:對學生的基本信息、課程選擇、成績的錄入、修改、刪除、查詢等一系列的操作。JRE Java Runtime Environment2 設計概述2.1 任務和目標2.1.1 需求概述業(yè)務需求:學生使用各自的賬號密碼登入查詢成績,老師使用管理員權限可以錄入和修改信息。學生: 輸入:學生賬號,密碼,身份 輸出:學生的個人信息界面教師:輸入:管理員賬號,密碼,身份輸出:管理系統(tǒng)界面主要功能:能夠實現(xiàn)管理員和學生對成績的管理,即完成一些基本的功能,查詢,刪除,添加,修改等,也要實現(xiàn)成績的統(tǒng)計,并且能對用戶指定的任意課程名,按成績升序或降序排列學生數(shù)據(jù)并顯示排序結果,同時也要實現(xiàn)權限的管理性能需
4、求: a 響應時間:少于3秒 b 更新處理時間:少于2秒 c 數(shù)據(jù)的轉換和傳送時間少于5秒 說明對該軟件的靈活性的要求,即當需求發(fā)生某些變化時,該軟件對這些變化的適應能力,a 操作方式上的變化:更人性化b 運行環(huán)境的變化:在windowsXP或以上的版本都能運行2.1.2 運行環(huán)境概述操作系統(tǒng):windows 7數(shù)據(jù)庫系統(tǒng):文本文檔軟件環(huán)境:JRE配置要求:需將JRE路徑配置到系統(tǒng)環(huán)境變量中2.1.3 條件與限制1) 由于系統(tǒng)較小,且在Windows7系統(tǒng)下開發(fā),故在Windows環(huán)境下運行沒有什么限制。2) 學生的一些私人信息必須要保護好。3) 該系統(tǒng)要受資金、壽命、社會等系列因素的制約和限
5、制。4) 界面風格上受到Java特有風格的限制2.1.4 詳細設計方法和工具設計方法:數(shù)據(jù)流程圖工具:rational rose3 系統(tǒng)詳細需求分析3.1 詳細需求分析功能需求分析:(1) 信息維護:實現(xiàn)學生信息維護,包括增加學生信息,刪除學生信息,修改學生信息(2) 信息查詢:實現(xiàn)按姓名查詢,按學號查詢(3) 成績統(tǒng)計:輸入任意一個課程名和一個分數(shù)段,統(tǒng)計在此分數(shù)段的學生情況(4) 排序:用戶指定的任意課程名,按成績升序或降序排列學生數(shù)據(jù)并顯示排序結果(使用表格的形式顯示排序后的輸出結果)性能需求分析:(1)數(shù)據(jù)精確度:所有在相應域中包含查詢關鍵字的記錄都應被查到同時保證準確率 (2)時間特
6、性:響應在一秒以內(3) 適應性:滿足運行環(huán)境在允許操作系統(tǒng)之間的安全轉換(4) 靈活性:在需求發(fā)生變化時,本系統(tǒng)的對這些變化的適應能力相對而言是比較強的,包括操作方式上的變化;運行環(huán)境的變化系統(tǒng)運行環(huán)境和限制條件分析: (1)硬件奔騰處理器以上的均可,操作系統(tǒng)XP以上均可 (2)安裝了JRE的都可以,JRE基本都可以安裝3.2 接口需求分析硬件接口: 支持一般的P II獲更高檔微機,筆記本電腦軟件接口:在這里主要考慮軟件與操作系統(tǒng)的接口,可運行于多種操作系統(tǒng)之上??紤]到文檔處理的需要有可能可以包括與較常用的辦公軟件的接口4 總體方案確認4.1 系統(tǒng)總體結構確認系統(tǒng)組成確認:成績管理系統(tǒng)取得數(shù)
7、據(jù)輸出結果計算成績系統(tǒng)結構確認:學生表 字段名數(shù)據(jù)類型主鍵姓名學號YStringString課程表 字段名數(shù)據(jù)類型主鍵學分課程名YStringdouble成績表 字段名數(shù)據(jù)類型主鍵課程名學號YStringString字段名數(shù)據(jù)類型主鍵YString成績intY每個數(shù)據(jù)項都可以直接通過相關文件更新。查詢時,也可以直觀的在頁面輸入查詢條件,就可得到結果系統(tǒng)工作流程確認:輸入、管理學籍數(shù)據(jù)管理員 數(shù)據(jù)庫In/out業(yè)務邏輯讀取學籍數(shù)據(jù)用戶 業(yè)務流程4.2 系統(tǒng)詳細界面劃分系統(tǒng)界面主要由前臺登陸界面和后臺功能界面組成,登陸界面負責確認信息,功能界面負責主要功能的實現(xiàn)登陸界面:包括簡單的信息錄入,確認功
8、能界面:包括信息維護,信息查詢,成績統(tǒng)計,排序功能選項,同時提供退出和注銷功能界面的功能都通過后臺數(shù)據(jù)庫的交互來實現(xiàn)各自的功能,其中使用數(shù)據(jù)庫提供的接口來實現(xiàn)查詢,刪除功能5 系統(tǒng)詳細設計5.1 系統(tǒng)結構設計及子系統(tǒng)劃分系統(tǒng)結構設計:前端: 登陸模塊 功能模塊后端: 數(shù)據(jù)庫模塊子系統(tǒng)劃分:前端功能模塊劃分:信息維護,信息查詢,成績統(tǒng)計,排序,排名系統(tǒng)后端數(shù)據(jù)庫模塊劃分:查找,刪除,更新,插入,排序5.2 系統(tǒng)功能模塊詳細設計模塊名稱:查找(由于模塊較多(詳見代碼),僅舉一例)輸入:學生姓名處理:public static String queryBySname(String sname) th
9、rows IOException RandomAccessFile rf = readFile(STable);long pos;int where = 0 ;String who = sname ;ArrayList res = new ArrayList();pos = check(STable, 0, where, who);while (pos = 0) rf.seek(pos);String line = myReadLine(rf);String atbs = line.split(,);String eles = queryBySnum(atbs1);for (int i = 0
10、; i = 0)return -2;RandomAccessFile rf = readFile(STable);int iarr1 = 0 ;String sarr1 = num ;long tmppos;RandomAccessFile tmprf = readFile(SCTable);tmppos = check(SCTable, 0, iarr1, sarr1);while (tmppos = 0) tmprf.seek(tmppos);myReadLine(tmprf);delete(SCTable, tmppos, tmprf.getFilePointer();tmppos =
11、check(SCTable, tmppos, iarr1, sarr1);tmprf.close();int cols = 1 ;String values = num ;long pos = check(STable, 0, cols, values);if (pos = 0) rf.seek(pos);myReadLine(rf);delete(STable, pos, rf.getFilePointer(); else rf.close();return -3;rf.close();return 0; 算法描述:按學號刪除學生表中的一行輸出: 操作成功 0學號不存在 -3數(shù)據(jù)不能包含逗號
12、 -2/模塊名稱: 更新輸入:姓名,學號 處理:public static int updateStudent(String name, String num)throws IOException if (name.indexOf(,) = 0 | num.indexOf(,) = 0)return -2;RandomAccessFile rf = readFile(STable);int cols = 1 ;String values = num ;long pos = check(STable, 0, cols, values);if (pos = 0) rf.seek(pos);myRe
13、adLine(rf);update(STable, pos, rf.getFilePointer(),name + , + num + System.getProperty(line.separator); else rf.close();return -3;rf.close();return 0;算法描述:按學號更新學生表中的一行輸出:操作成功 0學號不存在 -3數(shù)據(jù)不能包含逗號 -2/模塊名稱:插入輸入:姓名,學號處理:public static int insertStudent(String name, String num)throws IOException if (name.in
14、dexOf(,) = 0 | num.indexOf(,) = 0)return -2;RandomAccessFile rf = readFile(STable);int cols = 1 ;String values = num ;if (check(STable, 0, cols, values) 0) insert(STable, rf.length(),name + , + num + System.getProperty(line.separator); else rf.close();return -1;rf.close();return 0;算法描述:往學生表中插入一行信息輸出
15、: 操作成功 0學號已存在 -1數(shù)據(jù)不能包含逗號 -2模塊名稱:排序輸入:學生成績表處理:public static String quickSortCourse(String cname) throws IOException String res = queryCourseWithLimit(cname, 0, 100);myPartition(res, 0, res.length-1);return res;/快排函數(shù)private static void myPartition(String data, int low, int high) / 樞紐元,一般以第一個元素為基準進行劃分i
16、nt i = low;int j = high;if (low high) / 從數(shù)組兩端交替地向中間掃描String pivotKey = datalow;/ 進行掃描的指針i,j;i從左邊開始,j從右邊開始while (i j) while (i = Integer.parseInt(pivotKey3) j-;/ end whileif (i j) / 比樞紐元素小的移動到左邊datai = dataj;i+;/ end ifwhile (i j& Integer.parseInt(datai3) = Integer.parseInt(pivotKey3) i+;/ end whilei
17、f (i j) / 比樞紐元素大的移動到右邊dataj = datai;j-;/ end if/ end while/ 樞紐元素移動到正確位置datai = pivotKey;/ 前半個子表遞歸排序myPartition(data, low, i - 1);/ 后半個子表遞歸排序myPartition(data, i + 1, high);/ end if算法描述:按照課程名查詢目標課程的所有成績信息并按升序用快速排序算法排序, 每條記錄包含四個屬性,分別為姓名、學號、課程名、成績輸出:無輸出5.3 系統(tǒng)界面詳細設計模塊名稱:登陸輸入:用戶名,密碼,權限處理:boolean correct(S
18、tring s1,String s2,String s3)tryFileReader in = new FileReader(s3+.txt);String str = ;int c;while(c = in.read()!=-1)str+=(char)c;String s = str.split( );for(int i = 0;i s.length;i = i+2)if(si.equals(s1)&si+1.equals(s2)in.close();return true;in.close();return false;catch(Exception e)return true;/publ
19、ic void actionPerformed(ActionEvent e)if(JButton)e.getSource().getText().equals(登錄)if(name.getText().isEmpty()|password.getText().isEmpty()JOptionPane.showMessageDialog(jf,請輸入信息!);else if(!correct(name.getText(),password.getText(),(String)jcb.getSelectedItem()name.setText();password.setText();JOptionPane.showMessageD
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度中醫(yī)養(yǎng)生產品海外市場推廣合同4篇
- 2025年度商業(yè)綜合體承包轉讓合同范本4篇
- 2025年度養(yǎng)老機構場地租賃與養(yǎng)老服務分成管理合同3篇
- 2025年cfg樁基施工項目環(huán)境保護與生態(tài)修復合同3篇
- 2025年度智能家電維修個人勞務協(xié)議書4篇
- 2025年中國酚氨咖敏顆粒行業(yè)發(fā)展?jié)摿Ψ治黾巴顿Y戰(zhàn)略咨詢報告
- 2025年度汽車租賃與二手車交易服務合同3篇
- 2025年溫州家和物業(yè)管理有限公司招聘筆試參考題庫含答案解析
- 2025年溫州個人房屋買賣合同(含交易資金監(jiān)管)3篇
- 二零二五版離婚協(xié)議書模板:離婚后子女撫養(yǎng)及財產分割專案協(xié)議2篇
- 氧氣霧化吸入法
- 6月大學英語四級真題(CET4)及答案解析
- 氣排球競賽規(guī)則
- 電梯維修保養(yǎng)報價書模板
- 危險化學品目錄2023
- FZ/T 81024-2022機織披風
- GB/T 33141-2016鎂鋰合金鑄錠
- 2023譯林版新教材高中英語必修二全冊重點短語歸納小結
- JJF 1069-2012 法定計量檢定機構考核規(guī)范(培訓講稿)
- 綜合管廊工程施工技術概述課件
- 公積金提取單身聲明
評論
0/150
提交評論