




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、詳細(xì)設(shè)計(jì)說明書(GB856788)1引言1.1編寫目的本次的目的是從總體上把握系統(tǒng)設(shè)計(jì)框架,說明了用戶需求和應(yīng)用系統(tǒng)實(shí)現(xiàn)之間的關(guān)系,在設(shè)計(jì)過程中起到了提綱挈領(lǐng)的作用。包括設(shè)計(jì)模式,數(shù)據(jù)庫設(shè)計(jì)等模塊,將這個(gè)復(fù)雜系統(tǒng)按功能進(jìn)行模塊劃分、建立模塊的層次結(jié)構(gòu)及調(diào)用關(guān)系、確定模塊間的接口。建立目標(biāo)系統(tǒng)的一個(gè)邏輯模型。隨著計(jì)算機(jī)及互聯(lián)網(wǎng)的普及,傳統(tǒng)的教務(wù)人工管理已經(jīng)很難適應(yīng)新環(huán)境。傳統(tǒng)的選課方式是隨堂報(bào)名,無法預(yù)見上課人數(shù),浪費(fèi)教學(xué)資源。以現(xiàn)代網(wǎng)絡(luò)技術(shù)環(huán)境為依托,將傳統(tǒng)選課模式轉(zhuǎn)換為利用現(xiàn)代網(wǎng)絡(luò)技術(shù)進(jìn)行選課操作和管理的網(wǎng)上選課系統(tǒng)已經(jīng)成為一項(xiàng)重要的改革。 網(wǎng)上選課管理系統(tǒng)作為管理員與用戶的選課關(guān)系的主要管
2、理系統(tǒng)平臺,其對應(yīng)的讀者是企業(yè)用戶,因此,不僅要處理管理員與用戶之間的信息,還要處理用戶個(gè)人信息。導(dǎo)致網(wǎng)上選課系統(tǒng)中的數(shù)據(jù)不論是結(jié)構(gòu),類型還是彼此間的關(guān)聯(lián)都是復(fù)雜多變的;對這種數(shù)據(jù)處理也是多種多樣的。因此,要實(shí)現(xiàn)對網(wǎng)上選課管理系統(tǒng)數(shù)據(jù)的及時(shí),準(zhǔn)確的處理和有效利用。借助這個(gè)系統(tǒng),學(xué)校可以實(shí)現(xiàn)一站式選修課網(wǎng)上選課管理,流程包括:系統(tǒng)設(shè)置-選課任務(wù)設(shè)置-學(xué)生選課選課結(jié)果審查生成選課報(bào)名表(包括:學(xué)生本人的選課列表、課程表和給上課教師的報(bào)名單)-選課查詢和統(tǒng)計(jì)報(bào)表。整個(gè)選課的流程方便快捷,省時(shí)省力。本文檔的預(yù)期讀者是:l 設(shè)計(jì)人員l 開發(fā)人員l 測試人員l 用戶1.2背景 本軟件系統(tǒng)名稱為高校學(xué)生網(wǎng)上
3、選課系統(tǒng)。 隨著學(xué)校規(guī)模的不斷擴(kuò)大專業(yè)、班級學(xué)生的數(shù)量急劇增加有關(guān)學(xué)生選課的各種信息量也成倍增長而且目前許多高校的學(xué)生選課管理仍停留在復(fù)雜的人工操作上重復(fù)工作較多工作量大效率低。因此迫切需要開發(fā)學(xué)生網(wǎng)上選課系統(tǒng)來提高管理工作的效率。 本項(xiàng)目的任務(wù)提出者是:李江(201296074040) 開發(fā)者:是李江(201296074040) 王雨欣(201296074019) 喻曉(201296074036) 因?yàn)閭鹘y(tǒng)的選課方式都是手工的,教務(wù)處通知各班進(jìn)行選課,各班班長再通知每個(gè)同學(xué),經(jīng) 過 統(tǒng) 計(jì) 在 上 交 教 務(wù) 處,這 樣 比 較 浪 費(fèi) 時(shí) 間 。再 者 選 課 時(shí) 不 知 道所選課人數(shù)是否
4、已滿,要等向教務(wù)處上報(bào)統(tǒng)計(jì)后才會(huì)知道,然后才能重新選擇。網(wǎng) 上 選 課 系 統(tǒng) 為 同 學(xué) 節(jié) 省 了 時(shí) 間 的 同 時(shí),減 少 了 不 必 要 的 步 驟,也 方 便管理管理。網(wǎng)上選課系統(tǒng)為同學(xué)提供了一個(gè)自由選擇的平臺,學(xué)生可以選修規(guī)定范圍內(nèi)的課程,查 看 已 修 學(xué) 分 總 數(shù),還 可 以 修 改 個(gè) 人 信 息。 本 系 統(tǒng) 也 為 教師 提 供 了 很大的方便,教師可以根據(jù)統(tǒng)計(jì)的人數(shù)挑選一定數(shù)量的學(xué)生,也可以直接在網(wǎng)上公布成績,讓學(xué)生直接在網(wǎng)上查詢成績。此系統(tǒng)方便了學(xué)生的選課,同 時(shí) 便 于 管 理 減 少 大 量 的 人力 資 源 。并 且 促 進(jìn) 了學(xué)生的積極性,近而開發(fā)了網(wǎng)上選
5、課系統(tǒng)軟件。1.3定義SQL Server是一個(gè)具備完全Web支持的數(shù)據(jù)庫產(chǎn)品提供了對可擴(kuò)展標(biāo)記語言 (XML) 的核心支持以及在 Internet 上和防火墻外進(jìn)行查詢的能力提供了以Web標(biāo)準(zhǔn)為基礎(chǔ)的擴(kuò)展數(shù)據(jù)庫編程功能。豐富的XML和Internet 標(biāo)準(zhǔn)支持允許使用內(nèi)置的存儲(chǔ)過程以 XML 格式輕松存儲(chǔ)和檢索數(shù)據(jù)。SQL Server 提供強(qiáng)大的開發(fā)工具和各類開發(fā)特性在大大提高開發(fā)效率的同時(shí)進(jìn)一步拓展應(yīng)用空間帶來新的商業(yè)應(yīng)用機(jī)遇。例如XML數(shù)據(jù)庫與Web Service的支持將使您的應(yīng)用實(shí)現(xiàn)Internet數(shù)據(jù)互聯(lián)。 SQL Server的特點(diǎn)包括實(shí)現(xiàn)數(shù)據(jù)共享、減少數(shù)據(jù)的冗余度、數(shù)據(jù)的獨(dú)立
6、性、數(shù)據(jù)實(shí)現(xiàn)集中控制、數(shù)據(jù)一致性和可維護(hù)性以確保數(shù)據(jù)的安全性和可靠性。主要包括安全性控制以防止數(shù)據(jù)丟失、錯(cuò)誤更新和越權(quán)使用完整性控制保證數(shù)據(jù)的正確性、有效性和相容性并發(fā)控制使在同一時(shí)間周期內(nèi)允許對數(shù)據(jù)實(shí)現(xiàn)多路存取又能防止用戶之間的不正常交互作用。也包括故障恢復(fù)。由數(shù)據(jù)庫管理系統(tǒng)提供一套方法可及時(shí)發(fā)現(xiàn)故障和修復(fù)故障從而防止數(shù)據(jù)被破壞。數(shù)據(jù)庫系統(tǒng)能盡快恢復(fù)數(shù)據(jù)庫系統(tǒng)運(yùn)行時(shí)出現(xiàn)的故障可能是物理或是邏輯上的錯(cuò)誤。比如對系統(tǒng)的誤操作造成的數(shù)據(jù)錯(cuò)誤等。由于數(shù)據(jù)庫具有數(shù)據(jù)共享、集中控制、安全性、可靠性等特點(diǎn)。所以數(shù)據(jù)庫是開發(fā)學(xué)生選課系統(tǒng)的一個(gè)主要軟件。1.4參考資料1 張海藩.軟件工程導(dǎo)論(第四版)M.北京
7、:清華大學(xué)出版社,20032 Karl E.Wiegers 著.陸麗娜 王忠民 王志敏譯.軟件需求.機(jī)械工業(yè)出版社.20003 Roger S. Pressman.軟件工程實(shí)踐者之路 第五版.影印.清華大學(xué)出版社.20014 陳世鴻,彭蓉.面向?qū)ο筌浖こ?第一版.電子工業(yè)出版社.1999 年5 月5 Roger S.Pressman著 軟件工程實(shí)踐者的研究方法.機(jī)械工業(yè)出版社,19976 李振坤.梁海健.孫延海著.基于知識庫的學(xué)生選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).計(jì)算機(jī)應(yīng)用研究.2005.097 苗雪蘭.劉瑞新.宋會(huì)群著.數(shù)據(jù)庫技術(shù)與應(yīng)用.機(jī)械工業(yè)出版社,20072程序系統(tǒng)的結(jié)構(gòu)2.1功能模塊2.1.1
8、功能劃分 功能模塊 功能使用者查詢可選課程學(xué)生,管理員查詢可選課程信息學(xué)生,管理員更改用戶信息所有用戶可以更改自己信息執(zhí)行選課學(xué)生查看自己所教課程信息老師 2-1 功能劃分框圖選課系統(tǒng)功能要求表功能要求輸入處理輸出學(xué)生選課信息查詢點(diǎn)擊查詢按鈕啟動(dòng)查詢學(xué)生選課信息學(xué)生選課課程號、學(xué)號經(jīng)戶確認(rèn),系統(tǒng)接受信息并 保存于數(shù)據(jù)庫中成功選課確認(rèn)信息學(xué)生、教師、課程、 公共信息修改要修改的信息修改相應(yīng)數(shù)據(jù)庫中的數(shù)據(jù)并 保存修改更新后的信息課程表單生成點(diǎn)擊學(xué)生課程表 顯示系統(tǒng)查詢學(xué)生課程信息,啟 動(dòng)課程表生成程序生成學(xué)生課程表成績表單生成點(diǎn)擊學(xué)生成績表 顯示系統(tǒng)查詢學(xué)生課程信息,啟 動(dòng)課程表生成程序生成學(xué)生成
9、績表單2-2 功能要求表開始獲取開課課程信息息上課地點(diǎn)時(shí)間(排課管理)學(xué)時(shí),學(xué)分,任課老師等(教學(xué)計(jì)劃開課管理)選課課程設(shè)置選課條件設(shè)置網(wǎng)上公布選課信息學(xué)生登錄選課系統(tǒng)進(jìn)行二次選課學(xué)生選課選課數(shù)據(jù)篩選是是否繼續(xù)進(jìn)行選課是否能選上 否選課數(shù)據(jù)管理 否打印相關(guān)報(bào)表結(jié)束 2-3 學(xué)生選課統(tǒng)處理流程圖開始學(xué)生登錄查看選課規(guī)則查看選課課程信息學(xué)生選課選課數(shù)據(jù)篩選公布選課結(jié)果查詢選課結(jié)果結(jié)束2-5學(xué)生選課處理流圖網(wǎng)上選課系統(tǒng)學(xué)生選課模塊教師模塊密碼修改查詢公共信息學(xué)生選課查詢選課信息密碼修改查詢公布信息查詢已公布課程信息課程信息發(fā)布成 績 錄 入修改課程發(fā)布信息刪除發(fā)布信息添加公共信息修改課程信息查詢課程
10、信息查詢選課名單查詢教師信息教務(wù)處管理員模塊學(xué)生管理教師管理課程管理資料管理成績管理管理員密碼修改管理員信息修改成績終止成績統(tǒng)計(jì)成績查詢修改課程信息添加課程信息修改學(xué)生信息添加學(xué)生信息添加教師信息修改教師信息2-6 系統(tǒng)結(jié)構(gòu)總體框圖2.4功能器求與程序的關(guān)系各項(xiàng)功能需求的實(shí)現(xiàn)同各模塊的分配關(guān)系如表2-2學(xué)生選課模塊教務(wù)處管理員模塊教師模塊查詢功能數(shù)據(jù)錄入功能修改功能刪除功能打印功能2-7功能需求與系統(tǒng)模塊的關(guān)系圖3程序1(標(biāo)識符)設(shè)計(jì)說明從本章開始,逐個(gè)地給出各個(gè)層次中的每個(gè)程序的設(shè)計(jì)考慮。以下給出的提綱是針對一般情況的。對于一個(gè)具體的模塊,尤其是層次比較低的模塊或子程序,其很多條目的內(nèi)容往往
11、與它所隸屬的上一層 模塊的對應(yīng)條目的內(nèi)容相同,在這種情況下,只要簡單地說明這一點(diǎn)即可。3.1程序描述該程序能夠較全面的實(shí)現(xiàn)學(xué)生選課系統(tǒng),另外還能進(jìn)行學(xué)生信息管理和成績查詢等等。3.2功能錄入課程信息、課程管理、錄入學(xué)生信息、學(xué)生信息管理、學(xué)生選課、系統(tǒng)信息查看及存儲(chǔ)、退出系統(tǒng)3.3性能功能:能夠?qū)崿F(xiàn)學(xué)生對選課的管理,即完成些基本的功能登錄,選課,查看,存儲(chǔ)等,同時(shí)也要實(shí)現(xiàn)權(quán)限的管理。性能:信息中心提供的學(xué)生選課信息必須及時(shí)的反映出來,學(xué)生能夠及時(shí)的進(jìn)行選課的程序。輸入要求: 準(zhǔn)確,快速輸出要求:數(shù)據(jù)完整,詳實(shí)。說明對于該軟件的時(shí)間特性要求:a響應(yīng)時(shí)間:少于3秒b更新處理時(shí)間:少于2秒c數(shù)據(jù)的轉(zhuǎn)
12、換和傳送時(shí)間少于5秒說明對該軟件的靈活性的要求,即當(dāng)需求發(fā)生某些變化時(shí),該軟件對這些變化的適應(yīng)能力:a操作方式上的變化:更人性化b運(yùn)行環(huán)境的變化:在windowsXP或以上的版本都能運(yùn)行3.4輸人項(xiàng)輸入數(shù)字、字母等3.5輸出項(xiàng)輸出所選課程、學(xué)生成績、學(xué)生信息等。3.6算法#include<stdio.h> #include<stdlib.h>int N1,N2,kk1,kk2,kk3;struct couse * head1;struct student * head2; str
13、uct couse/課程信息結(jié)構(gòu)體 int num1;char name120;int score; int nelepeo;/課程已選人數(shù)int Melepeo;/課程人數(shù)上限struct couse * next; struct student/學(xué)生信息結(jié)構(gòu)體int num2; char name220; int nelenum50;/已選課程編號 int nelen;/已選課程數(shù)
14、量struct student * next; void Ms() for(kk1=0;kk1<1100;kk1+)for(kk2=0;kk2<1200;kk2+)for(kk3=0;kk3<1200;kk3+); void keyboardc()/錄入課程子函數(shù)(從鍵盤錄入)struct couse *p1,*p2;N1=0; p1=p2=(struct couse*)malloc(sizeof(struct couse)
15、; printf("課程編號t課程名稱t學(xué)分t課程人數(shù)上限n"); scanf("%d%s%d%d",&p1->num1,p1->name1,&p1->score,&p1->Melepeo); p1->nelepeo=0; head1=NULL; while(p1->num1!=0) N1=N1+1;if(N1=1)head1=p1;else p2->next=p1;
16、p2=p1; p1=(struct couse * )malloc(sizeof(struct couse);scanf("%d%s%d%d",&p1->num1,p1->name1,&p1->score,&p1->Melepeo); p1->nelepeo=0; p2->next=NULL; voi
17、d filec()/錄入鍵盤子函數(shù)(從文件錄入) FILE * fp;char filepath20; struct couse *p1,*p2; N1=0; printf("輸入要讀入的文件路徑:"); getchar(); gets(filepath); if(fp=fopen(file
18、path,"r")=NULL) printf("找不到%s文件!n",filepath); exit(0); p1=p2=(struct couse*)malloc(sizeof(struct couse); fscanf(fp,"%d%s%d%d%d",&p1->num1,p1->name1,&p1->score, &p
19、1->nelepeo,&p1->Melepeo); head1=NULL; while(!feof(fp)N1=N1+1; if(N1=1)head1=p1; else p2->next=p1; p2=p1; p1=(struct couse * )malloc(sizeof(struct couse); fscanf(fp,"
20、%d%s%d%d%d",&p1->num1,p1->name1,&p1->score,&p1->nelepeo,&p1->Mele peo); p2->next=NULL;void inputc()/錄入課程主函數(shù)int i; printf("ttt錄入課程信息n"); printf("n1.從鍵盤錄入n");printf("2.從文件錄入n");p
21、rintf("3.返回主菜單n"); printf("請選擇(13):n"); scanf("%d",&i); switch(i) case(1):keyboardc();break; case(2):filec();break; case(3):break;void inputs()/錄入學(xué)生信息主函數(shù) int i;printf
22、("ttt錄入學(xué)生信息n");printf("n1.從鍵盤錄入n"); printf("2.從文件錄入n"); printf("3.返回主菜單n"); printf("請選擇(13):n"); scanf("%d",&i); switch(i) case(1):keyboards();
23、break; case(2):files();break; case(3):break; void elective()/學(xué)生選課主函數(shù)int i;printf("ttt學(xué)生選課n");printf("1.查詢可選課程n");printf("2.查詢已選課程n");printf("3.返回主菜單n");printf("請輸入(13):n&qu
24、ot;); scanf("%d",&i);switch(i)case(1):cheak();break;case(2):hcheak();break; case(3):break void listc()/輸出課程信息 struct couse * p; p=head1;printf("課程編號 課程名稱 學(xué)分 課程已選人數(shù) 課程人數(shù)上限n");while(
25、p!=NULL) printf("%-8d%10s%6d%8d%12dn",p->num1,p->name1,p->score,p->nelepeo,p->Melepeo);p=p->next; void lists()/輸出學(xué)生信息struct student * p; p=head2;printf("學(xué)生學(xué)號 學(xué)生姓名 已選課程數(shù)量n"); while(p!=NULL) p
26、rintf("%-4d %10s %6dn",p->num2,p->name2,p->nelen);p=p->next;void intoc()/存儲(chǔ)課程信息FILE * fp;struct couse * p;char filepath30; printf("輸入課程信息要保存的文件路徑:");getchar();gets(filepath); if(fp=fopen(filepath,"w")=NU
27、LL) printf("n保存失敗!"); exit(0); p=head1; while(p!=NULL) fprintf(fp,"%d %s %d %d %dn",p->num1,p->name1,p->score,p->nelepeo,p->Melepeo); p=p->next; fclose(fp); printf("課程信息已保存在%s中!n&
28、quot;,filepath); void intos()/存儲(chǔ)學(xué)生信息 FILE * fp; struct student * p; char filepath30; printf("輸入學(xué)生信息要保存的文件路徑:");getchar(); gets(filepath); if(fp=fopen(filepath,"w")=NULL) printf("n保存失敗!&q
29、uot;); exit(0); p=head2; while(p!=NULL) fwrite(p,sizeof(struct student),1,fp); p=p->next; fclose(fp); printf("學(xué)生信息已保存在%s中!n",filepath); void into()/存儲(chǔ)信息int i; printf("1.存儲(chǔ)課程信息n"); printf(
30、"2.存儲(chǔ)學(xué)生信息n"); printf("3.返回主菜單n"); printf("請輸入(13)n"); scanf("%d",&i); switch(i) case(1):intoc();break; case(2):intos();break; case(3):break; void store()/信息主函數(shù) int i; pri
31、ntf("tt系統(tǒng)信息查看及存儲(chǔ)n"); printf("1.查看課程信息n"); printf("2.查看學(xué)生信息n"); printf("3.存儲(chǔ)信息n"); printf("4.返回主菜單n"); printf("請輸(14):n"); scanf("%d",&i); switch(i) case(1):listc();break; case
32、(2):lists();break; case(3):into();break; case(4):break; int main()/主函數(shù) int i; start: printf("nttt歡迎使用學(xué)生選課系統(tǒng)!n"); printf("菜單:n"); printf("1.錄入課程信息n"); printf("2.課程管理n"); printf("3.錄
33、入學(xué)生信息n"); printf("4.學(xué)生信息管理n"); printf("5.學(xué)生選課n"); printf("6.系統(tǒng)信息查看及存儲(chǔ)n"); printf("7.退出系統(tǒng)n"); printf("n請輸入菜單選項(xiàng)(17):n"); scanf("%d",&i); if(i<1 | i>7) printf("輸入錯(cuò)誤
34、,請重輸:n"); goto start; switch(i) case(1): system("cls"); inputc(); goto start; break; case(2): system("cls"); managementc(); goto start; break; c
35、ase(3): system("cls"); inputs(); goto start; break; case(4): system("cls"); managements(); goto start; break; case(5): system("cls"); elective(); goto
36、start; break; case(6): system("cls"); store(); goto start; break; case(7): system("cls"); printf("感謝使用本系統(tǒng)!nn再見!n"); return(0); 3.7流程邏
37、輯開始獲取開課課程信息息上課地點(diǎn)時(shí)間(排課管理)學(xué)時(shí),學(xué)分,任課老師等(教學(xué)計(jì)劃開課管理)選課課程設(shè)置選課條件設(shè)置網(wǎng)上公布選課信息學(xué)生登錄選課系統(tǒng)進(jìn)行二次選課學(xué)生選課選課數(shù)據(jù)篩選是是否繼續(xù)進(jìn)行選課是否能選上 否選課數(shù)據(jù)管理 否打印相關(guān)報(bào)表結(jié)束 3.8接口1.用戶接口2.內(nèi)部接口3.外部接口學(xué)生登錄一密碼修改:學(xué)號學(xué)生登錄一查詢選課信息:學(xué)號、學(xué)期查詢選課信息一修改選課信息:專業(yè)、學(xué)期教師登錄一密碼修改:身份證號教師登錄一查一詢己發(fā)布課程信息:身份證號3.9存儲(chǔ)分配本系統(tǒng)所有數(shù)據(jù)將存儲(chǔ)于后臺數(shù)據(jù)庫中3.10注釋設(shè)計(jì)無3.11限制條件選課人數(shù)到達(dá)上線系統(tǒng)將會(huì)處于阻塞狀態(tài)3.12測試計(jì)劃測試類型測試
38、內(nèi)容測試目的測試方法和技術(shù)功能測試用戶個(gè)人前臺注冊新用戶、登錄系統(tǒng)、找回密碼、更改密碼,查看個(gè)人課表、教師課表、個(gè)人成績等游客(瀏覽者)功能:查看網(wǎng)頁主頁、精確查詢、模糊查詢等管理后臺管理員登錄系統(tǒng)審核注冊用戶、增加修改或刪除院系、增加修改或刪除模板、發(fā)布站點(diǎn)公告等核實(shí)所有功能均已正 常實(shí)現(xiàn)a.流程檢驗(yàn):各個(gè)業(yè)務(wù)流程符合常規(guī)邏輯,用戶使用時(shí)不會(huì)產(chǎn)生疑問b.數(shù)據(jù)精確:個(gè)數(shù)據(jù)類型的輸入輸出時(shí)統(tǒng)計(jì)精確采用黑盒測試,使用邊界值測試、等價(jià)類劃分、數(shù)據(jù)驅(qū)動(dòng)等測試方法,進(jìn)行手工測試 用戶界面測試a. 導(dǎo)航、鏈接、頁面結(jié)構(gòu)(包括菜單,顏色,字體,按鈕名稱,title,提示信息的一致性b. 友好型,易
39、用性,合理性,一致性,正確性等。Web測試通用方法安全性和訪問控制測試密碼:登錄個(gè)人用戶、管理員用戶權(quán)限限制通過修改URL非法訪問登錄超時(shí)限制等a.應(yīng)用程序級別的安全性:核實(shí)用戶只能操作其所擁有權(quán)限操作的功能b.系統(tǒng)級別的安全性:核實(shí)只有具備系統(tǒng)訪問權(quán)限的用戶才能訪問系統(tǒng)黑盒測試,手工測試性能測試核實(shí)系統(tǒng)在大流量的數(shù)據(jù)與多用戶操作時(shí)軟件性能的穩(wěn)定性,不造成系統(tǒng)崩潰或相關(guān)的異常現(xiàn)象3.13尚未解決的問題由于同時(shí)運(yùn)行的人數(shù)過多的時(shí)候,會(huì)導(dǎo)致該系統(tǒng)反應(yīng)過慢或無法正常工作,所以在運(yùn)行本系統(tǒng)之前應(yīng)該規(guī)定同時(shí)運(yùn)行的人數(shù)。4程序2(標(biāo)識符)設(shè)計(jì)說明4.1程序描述該程序?qū)崿F(xiàn)學(xué)生選課系統(tǒng),另外還能進(jìn)行學(xué)生信息管
40、理和成績查詢等等。4.2功能1. 專業(yè)管理功能2. 課程管理功能3. 信息統(tǒng)計(jì)功能4. 管理員密碼修改功能4.3性能功能:能夠?qū)崿F(xiàn)學(xué)生對選課的管理,即完成些基本的功能登錄,選課,查看,存儲(chǔ)等,同時(shí)也要實(shí)現(xiàn)權(quán)限的管理。性能:信息中心提供的學(xué)生選課信息必須及時(shí)的反映出來,學(xué)生能夠及時(shí)的進(jìn)行選課的程序。輸入要求: 準(zhǔn)確,快速輸出要求:數(shù)據(jù)完整,詳實(shí)。說明對于該軟件的時(shí)間特性要求:a響應(yīng)時(shí)間:少于3秒b更新處理時(shí)間:少于2秒c數(shù)據(jù)的轉(zhuǎn)換和傳送時(shí)間少于5秒說明對該軟件的靈活性的要求,即當(dāng)需求發(fā)生某些變化時(shí),該軟件對這些變化的適應(yīng)能力:a操作方式上的變化:更人性化b運(yùn)行環(huán)境的變化:在windowsXP或以
41、上的版本都能運(yùn)行4.4輸人項(xiàng)輸入數(shù)字、字母等4.5輸出項(xiàng)輸出所選課程、學(xué)生成績、學(xué)生信息等。4.6算法<% page language="java" contentType="text/html" pageEncoding="GBK"%><!DOCTYPE HTML PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN"><html> <head> <title></title> <!-<link
42、rel="stylesheet" type="text/css" href="styles.css"> -> </head> <body> <center> 歡迎使用高校選課系統(tǒng),管理模塊<br>本模塊有以下幾項(xiàng)功能:<br>1.專業(yè)管理功能<br>2.課程管理功能<br>3.信息統(tǒng)計(jì)功能<br>4.管理員密碼修改功能<br> </center> </body></html>學(xué)生模
43、塊 學(xué)生操作示意圖 該模塊包括密碼修改、選課/退課操作、選課結(jié)果查詢和成績查詢。對于系統(tǒng)新添加的用戶,會(huì)用隨機(jī)數(shù)產(chǎn)生一個(gè)初始密碼,發(fā)給用戶。用戶通過用戶名和密碼登陸后,應(yīng)使用密碼修改功能及時(shí)修改密碼。在該模塊中的選課操作實(shí)際上是預(yù)選,采用“人數(shù)不限,超出篩選”的原則,對每門課的預(yù)選人數(shù)不作限制,每個(gè)學(xué)生最多可以選3門課,在選課時(shí),系統(tǒng)會(huì)自動(dòng)判斷上課時(shí)間、上課地點(diǎn)是否沖突。在選課期間學(xué)生若想改變課程,可以對所選課進(jìn)行退課,為了避免訪問流量過大,并讓學(xué)生增強(qiáng)責(zé)任心,系統(tǒng)對退課操作進(jìn)行了限制,每個(gè)學(xué)生最多可以退3次課。預(yù)選的結(jié)果存入臨時(shí)的選課表中。如圖4一3所示。 查詢功能是在選課結(jié)束后,管理員把經(jīng)
44、過公平算法處理產(chǎn)生正式的選課信息表,發(fā)布在網(wǎng)絡(luò)上,這時(shí)學(xué)生可以登陸系統(tǒng)查詢自己的選課結(jié)果。查詢成績是在該門課程考完后,由教師錄入成績,并上傳。這時(shí)學(xué)生可查看自己的考試成績。系統(tǒng)的查詢功能主要是利用Java所提供的JDBC類來實(shí)現(xiàn)。JDBC是支持基本SQL功能的一個(gè)通用低層應(yīng)用程序接口,是一種可用于執(zhí)行SQL語句的JavaAPI,通過使用JDBC,開發(fā)人員可以很方便地將SQL語句傳給幾乎任何一種數(shù)據(jù)庫。例如查詢學(xué)生所選課程:Stringsql=,seleet*fromxkxywherexbh='xh'andPwd='xPwd”,刀定義SQL語句Class.forName(
45、“”):Conneetioneon=DriverManager.getConneetion(“jdbe:odbe:gongxk”):刀以上為建立數(shù)據(jù)庫連接對象StatementStmt=Con.createment():/建立SQL對象Resultsetrs=Stmt.exCuteQuery(Sql);/調(diào)用查詢語句rs為查詢的結(jié)果集。數(shù)據(jù)庫連接 本系統(tǒng)采用是的SQLServer2000forjdbC的驅(qū)動(dòng)程序,來實(shí)現(xiàn)對數(shù)據(jù)庫的連接。首先要從網(wǎng)上下載SQLserver2000的JDBC驅(qū)動(dòng)程序,然后進(jìn)行安裝。安裝后在lib子目錄會(huì)看到3個(gè)文件:msbase、mSServer、msutil。為了
46、提高編程效率,采用JavaBean來封裝對數(shù)據(jù)庫的連接,這樣做的好處是實(shí)現(xiàn)了對數(shù)據(jù)庫操作的封裝,一方面,大大降低了JSP文檔的復(fù)雜程度,另一方面,有效地避免了重復(fù)代碼的編寫,提高了系統(tǒng)的可維護(hù)性。本系統(tǒng)最核心最底層的Bean是connBean,該Bean封裝了對數(shù)據(jù)庫的連結(jié)、查詢和更新操作。eonnBean的代碼如下:PaekageeonnBean:ImPortjava.sql.*:PllblieelasseonnBeanStringurl=”jdbe:mierosoft:sqlserver:/loealhost:1433:DatabaseName=mydb”;StringStringuser
47、=“system,:password=”manager“;Conneetioneon=null:Statementstmt=null:resultset=null:publieConnBean()tryClasS.forName(“”).newlnStance();/加載驅(qū)動(dòng)程序C。n=DriverManager.getConneCti。n(url,user,paSSword):/建立連接Stmt=con.createstatement():/建立SQL語句對象CatCh(ClaSSN。tFoundEXcepti。ne)/捕獲捕獲異常System.out.println(e.getMessag
48、e():PubliCResultseteXecuteQuery(StringSql)/實(shí)現(xiàn)對數(shù)據(jù)庫的查詢Tryrs=stmt.exeuteQuery(sql):retUrflrs;catch(SQLEXCeptione)/捕獲捕獲異常System.out.println(e.getMessage():PubliCBo。leanexCuteUpdate(StringSql)/實(shí)現(xiàn)對數(shù)據(jù)庫的更新Tryintflag;flag=stmt.eXeuteUpdate(sql):if(flag=二O)returnfalse;eatCh(SQLEXCeptione)/捕獲捕獲異常System.out.pri
49、ntln(e.getMessage():教師登錄 教師登陸示意圖 教師登錄系統(tǒng)時(shí),輸入工號和密碼,與數(shù)據(jù)庫中所含記錄相符時(shí)登入系統(tǒng),不符時(shí)提示非法退回原界面部分代碼及功能簡介如下:<%resPonse.endendifsetRS=Server.Createobjeet(”ADODB.Reeordset”)infolist=,select*fromteaeher-idwheregonghao=,”&sid&”,RS.oPeninfolist,eonn,1,lifrs.eofthenst二”你的工號不對,請檢查Msgshowstr,”0”,urlelseifrs(,tea夕w
50、”)=userpassthenst二,你己經(jīng)成功登陸,請進(jìn)行課程中報(bào)”url二”kesbb.asP”session(”te屯ID”)=sid%>利用sQL查詢語句,將教師信息數(shù)據(jù)表中的工號和密碼與用戶輸入信息相對比,如果輸入不符,則無法登入系統(tǒng)。 學(xué)生實(shí)體圖 學(xué)生登錄 學(xué)生登錄系統(tǒng)時(shí),輸入工號和密碼,與數(shù)據(jù)庫中所含記錄相符時(shí)登入系統(tǒng),不符時(shí)提示非法退回原界面ifrs.eofthens卜”你的學(xué)號不對,請檢查!”Msgshowsty,”O(jiān)”,urlelseifrs(”Stu夕w”)=userpassthenst二”你己經(jīng)成功登陸,請進(jìn)行選課入八”url=,xuanke.asP”rename
51、=rs(”rename,)session(”XZWesxsID”)=sid%>利用SQL查詢語句,將學(xué)生信息數(shù)據(jù)表中的學(xué)號和密碼與用戶輸入信息相對比,如果輸入不符,則無法登入系統(tǒng)。<seriPtlangUage=vbseriPt>a一MsgBox(”請核對以下信息:”&Chr(13)&ChLr(13)&”您的學(xué)號:”&”<%一sid%>”&Chr(13)&Chr(13)&”您的姓名:”&”<%一rename%>”&ChLr(13)&Chl(13)&”您的班級:09級
52、”&”<%=rs(”class”)%>”&Chr(13)&Chr(13)&”確定信息無誤后請點(diǎn)擊是,進(jìn)行選課,否則請點(diǎn)擊“否”重新登陸!”&chr(13)&chr(13)&,注意:您僅擁有一次的選課機(jī)會(huì),請慎重!”,vbyesno+vbquestion)ifa=vbnothenwindow.loeation.hre卜”logout.asP”elsewindow.loeation.hre卜”xuanke.asP”endif</scriPt><%reSPonse.endendifsetRS=ServeLCreat
53、eobjeet(”ADODB.Reeordset”)infolist=,seleet*from學(xué)生表studentwherestuid=,”&sid&”,RS.oPeninfolist,eonn,l,l36利用vbscriPt語句的MsgBox函數(shù)彈出對話框,提示同學(xué)核對自己的信息后再登入系統(tǒng)。學(xué)生瀏覽己發(fā)布課程信息學(xué)生用戶登入系統(tǒng)后,可以直接查看課程列表信息,列表中顯示了課程類型、編號、課程名稱、教師、課程簡介、教師職稱、課程學(xué)分、人數(shù)上限和已選課人數(shù)等信息,點(diǎn)擊列表下方的“我要開始選課”即可進(jìn)入選課功能,部分代碼及功能簡介如下:<%setRS一CLB=Server.C
54、reateobjeet(”ADODB.Recordset,RS多CLB_SQL=,select*fromkeflORDERBYKCLBIDASC”RS_KCLB.oPenRS_KCLB_SQL,eonn,l,lifRSKCLB.Reeordeount<>0then,dowhilenotRSKCLB.eofsetRS=Server.Createobjeet(”ADODB.Reeordset”)SQL=,seleet*from課程表Jeaeherwherekcfl=,”&RS一CLB(”KCLBID”)&”'andslks=,l'ORDERBYIDASC
55、”RS.oPenSQL,eonn,l,lifRS.Reeordcount<>0thendowhilenotRS.eof%><%ifi=1then%><TRbgColo二斑Imfheight=25><TDalign書iddlerowSPan=<%=RS,Reeordeouni%>><%二RS一CLB(”KCLB”)%>叼TD><TDalign下middle><%=rs(,kebh”)%></TD><TDalign=left>&nbsP;<Atitle=
56、點(diǎn)擊這里查看簡介hre介,k娜how.asP?id=<%=rs(”id,)%>”target=-blank><%=rs(”cmc”)%></A></TD><TDalign確iddle><%二rs(”sxm”)%></TD><TDalign溯iddle><Ahre作”kc-Show.asP?id二<%=rs(”id,)%>”target幾blank>查看</A></TD><TDalign邢iddle><%=rs(”zhieheng,)%></TD><TDalign邢iddle><%=rs(,kexf,)%></TD><TDalign=middle><%=rs(”xzrs”)%></TD><TDalign邢iddle><%=rs(”yxrs”)%></TD></TR>利用SQL查詢語句,將課程信息表中各字段的內(nèi)
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 皮革服裝設(shè)計(jì)中的文化符號運(yùn)用考核試卷
- 電池制造供應(yīng)鏈合作與創(chuàng)新考核試卷
- 紙漿的環(huán)保制程與優(yōu)化考核試卷
- 植物油加工在醫(yī)藥輔料行業(yè)的應(yīng)用考核試卷
- 印刷企業(yè)技術(shù)創(chuàng)新能力提升考核試卷
- 畜牧業(yè)養(yǎng)殖廢棄物資源化利用產(chǎn)業(yè)鏈構(gòu)建考核試卷
- 電動(dòng)門安全使用教育
- 肉類產(chǎn)品加工企業(yè)的生產(chǎn)效率提升考核試卷
- 消費(fèi)金融跨境業(yè)務(wù)與監(jiān)管考核試卷
- 互聯(lián)網(wǎng)+心理咨詢與治療考核試卷
- 八年級語文上冊 第一單元 第3課《鄉(xiāng)愁 余光中》教案 冀教版
- 2024中考英語必考1600詞匯分類速記表
- 江蘇泰州市泰興經(jīng)濟(jì)開發(fā)區(qū)國有企業(yè)招聘筆試題庫2024
- 2024年風(fēng)力發(fā)電運(yùn)維值班員(技師)技能鑒定考試題庫-下(判斷題)
- DL∕T 1709.3-2017 智能電網(wǎng)調(diào)度控制系統(tǒng)技術(shù)規(guī)范 第3部分:基礎(chǔ)平臺
- 考核辦法和考核方案
- 化妝品生產(chǎn)OEM合同書
- 海上CANTITRAVEL平臺樁基施工關(guān)鍵技術(shù)應(yīng)用v7
- 有色金屬冶金概論課程教案
- 華為MA5800配置及調(diào)試手冊
- 中國生產(chǎn)安全行業(yè)市場運(yùn)行動(dòng)態(tài)及投資發(fā)展?jié)摿Ψ治鰣?bào)告
評論
0/150
提交評論