版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
項(xiàng)目名稱
學(xué)生成績管理系統(tǒng)項(xiàng)目負(fù)責(zé)人組 員2013年
6月
10
日
編寫目的
依據(jù)。 背景統(tǒng)提高工作效率。該系統(tǒng)是基于C/S構(gòu)架的桌面客戶端軟件,使用對象為學(xué)生和教師,1.3 參考資料[1]張海藩.軟件工程導(dǎo)論第五版.清華大學(xué)出版社.2008 術(shù)語定義及說明
設(shè)計(jì)概述 任務(wù)和目標(biāo)
響應(yīng)時(shí)間:少于3秒
更新處理時(shí)間:少于2秒
數(shù)據(jù)的轉(zhuǎn)換和傳送時(shí)間少于5秒
運(yùn)行環(huán)境的變化:在windowsXP或以上的版本都能運(yùn)行
配置要求:需將JRE路徑配置到系統(tǒng)環(huán)境變量中
1)
由于系統(tǒng)較小,且在Windows7系統(tǒng)下開發(fā),故在Windows環(huán)境下運(yùn)行沒
有什么限制。2)
學(xué)生的一些私人信息必須要保護(hù)好。3)
該系統(tǒng)要受資金、壽命、社會(huì)等系列因素的制約和限制。4)
界面風(fēng)格上受到Java特有風(fēng)格的限制
系統(tǒng)詳細(xì)需求分析 詳細(xì)需求分析功能需求分析:(1)硬件奔騰處理器以上的均可,操作系統(tǒng)XP以上均可(2)安裝了JRE的都可以,JRE基本都可以安裝 接口需求分析
支持一般的P
系統(tǒng)總體結(jié)構(gòu)確認(rèn) 字段名學(xué)號姓名
數(shù)據(jù)類型
主鍵Y
字段名 數(shù)據(jù)類型
主鍵課程名學(xué)分
Y字段名 數(shù)據(jù)類型
主鍵學(xué)號課程名成績
Y
系統(tǒng)詳細(xì)界面劃分認(rèn)信息,功能界面負(fù)責(zé)主要功能的實(shí)現(xiàn)登陸界面:包括簡單的信息錄入,確認(rèn)功能界面:包括信息維護(hù),信息查詢,成績統(tǒng)計(jì),排序功能選項(xiàng),同時(shí)提供退出和注銷功能據(jù)庫提供的接口來實(shí)現(xiàn)查詢,刪除功能 系統(tǒng)詳細(xì)設(shè)計(jì) 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)及子系統(tǒng)劃分系統(tǒng)結(jié)構(gòu)設(shè)計(jì):前端:登陸模塊功能模塊后端:數(shù)據(jù)庫模塊子系統(tǒng)劃分:前端功能模塊劃分:信息維護(hù),信息查詢,成績統(tǒng)計(jì),排序,排名系統(tǒng)后端數(shù)據(jù)庫模塊劃分:查找,刪除,更新,插入,排序 系統(tǒng)功能模塊詳細(xì)設(shè)計(jì)模塊名稱:查找(由于模塊較多(詳見代碼),僅舉一例)輸入:學(xué)生姓名處理:public
static
String[][]
queryBySname(String
sname)
throws
IOException{RandomAccess
=
read);
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(atbs[1]);for
(int
i
=
0;
i
<
eles.length;
i++)res.add(eles[i]);pos
=
check(STable,
rf.get(),
where,
who);}rf.close();return
castToStringArray(res);}算法描述輸出
模塊名稱:刪除輸入:學(xué)號處理:public
static
int
deleteStudent(String
num)
throws
IOException
{if
(num.indexOf(',')
>=
0)return
-2;RandomAccess
=
read);int[]
iarr1
=
{
0
};String[]
sarr1
=
{
num
};long
tmppos;RandomAccess
=
read);tmppos
=
check(SCTable,
0,
iarr1,
sarr1);while
(tmppos
>=
0)
{tmprf.seek(tmppos);myReadLine(tmprf);delete(SCTable,
tmppos,
tmprf.get());tmppos
=
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.get());}
else
{rf.close();return
-3;}rf.close();return
0;}算法描述按學(xué)號刪除學(xué)生表中的一行輸出
//模塊名稱:
更新輸入:姓名,學(xué)號處理:public
static
int
updateStudent(String
name,
String
num)throws
IOException
{if
(name.indexOf(',')
>=
0
||
num.indexOf(',')
>=
0)return
-2;RandomAccess
=
read);int[]
cols
=
{
1
};String[]
values
=
{
num
};long
pos
=
check(STable,
0,
cols,
values);if
(pos
>=
0)
{rf.seek(pos);myReadLine(rf);update(STable,
pos,
rf.get(),name + "," + numSystem.getProperty("line.separator"));}
else
{rf.close();return
-3;}rf.close();return
0;}算法描述:按學(xué)號更新學(xué)生表中的一行
+
輸出:
模塊名稱:插入輸入:姓名,學(xué)號處理:public
static
int
insertStudent(String
name,
String
num)throws
IOException
{if
(name.indexOf(',')
>=
0
||
num.indexOf(',')
>=
0)return
-2;RandomAccess
=
read);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;}算法描述:往學(xué)生表中插入一行信息輸出:操作成功
0學(xué)號已存在
-1數(shù)據(jù)不能包含逗號
-2模塊名稱:排序輸入:學(xué)生成績表處理: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)
{//
樞紐元,一般以第一個(gè)元素為基準(zhǔn)進(jìn)行劃分int
i
=
low;int
j
=
high;if
(low
<
high)
{//
從數(shù)組兩端交替地向中間掃描String[]
pivotKey
=
data[low];//
進(jìn)行掃描的指針i,j;i從左邊開始,j從右邊開始while
(i
<
j)
{while
(i
<
j&& Integer.parseInt(data[j][3]) >=Integer.parseInt(pivotKey[3]))
{j--;}//
end
whileif
(i
<
j)
{//
比樞紐元素小的移動(dòng)到左邊data[i]
=
data[j];i++;}//
end
ifwhile
(i
<
j&& Integer.parseInt(data[i][3]) <=Integer.parseInt(pivotKey[3]))
{i++;}//
end
whileif
(i
<
j)
{//
比樞紐元素大的移動(dòng)到右邊data[j]
=
data[i];j--;}//
end
if}//
end
while//
樞紐元素移動(dòng)到正確位置data[i]
=
pivotKey;//
前半個(gè)子表遞歸排序myPartition(data,
low,
i
-
1);//
后半個(gè)子表遞歸排序myPartition(data,
i
+
1,
high);}//
end
if}算法描述:輸出:無輸出
5.3
系統(tǒng)界面詳細(xì)設(shè)計(jì)模塊名稱:登陸輸入:用戶名,密碼,權(quán)限處理:boolean
correct(String
s1,String
s2,String
s3){try{in
=
new
(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(s[i].equals(s1)&&s[i+1].equals(s2)){in.close();return
true;}}in.close();return
false;}catch(Exception
e){}return
true;}// public
void
actionPerformed(ActionEvent
e){if(((JButton)e.getSource()).getText().equals("登錄")){if(name.getText().isEmpty()||password.getText().isEmpty())JOptionPane.showMessageDialog(jf,"請輸入信息!");elseif(!correct(name.getText(),password.getText(),(String)jcb.getSelectedItem())){name.setText("");password.setText("");JOptionPane.showMessageDialog(jf,"用戶名或密碼錯(cuò)誤!");}else{jf.dispose();String
s
=
null;if(jcb.getSelectedItem().equals("學(xué)生"))s
=
name.getText();ManagerSystem
m
=
new
ManagerSystem(s);
}}if
(((JButton)e.getSource()).getText().equals("退出"))System.e
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026湖北荊州市長江大學(xué)城市建設(shè)學(xué)院人才招聘備考題庫完整參考答案詳解
- 2026福建省廈門實(shí)驗(yàn)小學(xué)招聘備考題庫及1套完整答案詳解
- 2026湖南長沙市一中云龍實(shí)驗(yàn)學(xué)校教師招聘備考題庫有答案詳解
- 2026河南安陽市直機(jī)關(guān)遴選公務(wù)員3人備考題庫(安陽市檢察院遴選3名)及1套完整答案詳解
- 2026浙江溫州市第二十二中學(xué)招聘1人備考題庫有完整答案詳解
- 2026湖北省東風(fēng)汽車集團(tuán)有限公司研發(fā)總院高管崗位競聘1人備考題庫完整答案詳解
- 2026湖北鄂州市華容區(qū)屬國有企業(yè)招聘7人備考題庫帶答案詳解
- 2026西安思源中學(xué)招聘備考題庫及參考答案詳解
- 2026重慶忠縣疾病預(yù)防控制中心招聘專業(yè)車輛駕駛員1人備考題庫參考答案詳解
- 2026青海西寧市消防救援支隊(duì)招聘54人備考題庫及答案詳解(新)
- 2026福建廈門市高崎出入境邊防檢查站招聘警務(wù)輔助人員30人備考題庫及完整答案詳解
- 2026西藏自治區(qū)教育考試院招聘非編工作人員11人筆試備考試題及答案解析
- 2026年度黑龍江省生態(tài)環(huán)境廳所屬事業(yè)單位公開招聘工作人員57人備考題庫及一套答案詳解
- 炎癥因子風(fēng)暴與神經(jīng)遞質(zhì)紊亂的干細(xì)胞干預(yù)策略
- 2026年1月浙江省高考(首考)英語試題(含答案)+聽力音頻+聽力材料
- 中國大型SUV市場數(shù)據(jù)洞察報(bào)告-
- 太陽能路燈施工組織設(shè)計(jì)
- 高校行政人員筆試試題(附答案)
- 2025年農(nóng)村會(huì)計(jì)考試試題題庫及答案
- 檢驗(yàn)科電解質(zhì)教學(xué)課件
- 浙江省杭州市西湖區(qū)杭州學(xué)軍中學(xué)2025-2026學(xué)年物理高二上期末質(zhì)量跟蹤監(jiān)視試題含解析
評論
0/150
提交評論