




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、詳細設(shè)計說明書(GB856788)1引言1.1編寫目的本次的目的是從總體上把握系統(tǒng)設(shè)計框架,說明了用戶需求和應(yīng)用系統(tǒng)實現(xiàn)之間的關(guān)系,在設(shè)計過程中起到了提綱挈領(lǐng)的作用。包括設(shè)計模式,數(shù)據(jù)庫設(shè)計等模塊,將這個復(fù)雜系統(tǒng)按功能進行模塊劃分、建立模塊的層次結(jié)構(gòu)及調(diào)用關(guān)系、確定模塊間的接口。建立目標系統(tǒng)的一個邏輯模型。隨著計算機及互聯(lián)網(wǎng)的普及,傳統(tǒng)的教務(wù)人工管理已經(jīng)很難適應(yīng)新環(huán)境。傳統(tǒng)的選課方式是隨堂報名,無法預(yù)見上課人數(shù),浪費教學資源。以現(xiàn)代網(wǎng)絡(luò)技術(shù)環(huán)境為依托,將傳統(tǒng)選課模式轉(zhuǎn)換為利用現(xiàn)代網(wǎng)絡(luò)技術(shù)進行選課操作和管理的網(wǎng)上選課系統(tǒng)已經(jīng)成為一項重要的改革。 網(wǎng)上選課管理系統(tǒng)作為管理員與用戶的選課關(guān)系的主要管
2、理系統(tǒng)平臺,其對應(yīng)的讀者是企業(yè)用戶,因此,不僅要處理管理員與用戶之間的信息,還要處理用戶個人信息。導(dǎo)致網(wǎng)上選課系統(tǒng)中的數(shù)據(jù)不論是結(jié)構(gòu),類型還是彼此間的關(guān)聯(lián)都是復(fù)雜多變的;對這種數(shù)據(jù)處理也是多種多樣的。因此,要實現(xiàn)對網(wǎng)上選課管理系統(tǒng)數(shù)據(jù)的及時,準確的處理和有效利用。借助這個系統(tǒng),學校可以實現(xiàn)一站式選修課網(wǎng)上選課管理,流程包括:系統(tǒng)設(shè)置-選課任務(wù)設(shè)置-學生選課選課結(jié)果審查生成選課報名表(包括:學生本人的選課列表、課程表和給上課教師的報名單)-選課查詢和統(tǒng)計報表。整個選課的流程方便快捷,省時省力。本文檔的預(yù)期讀者是:l 設(shè)計人員l 開發(fā)人員l 測試人員l 用戶1.2背景 本軟件系統(tǒng)名稱為高校學生網(wǎng)上
3、選課系統(tǒng)。 隨著學校規(guī)模的不斷擴大專業(yè)、班級學生的數(shù)量急劇增加有關(guān)學生選課的各種信息量也成倍增長而且目前許多高校的學生選課管理仍停留在復(fù)雜的人工操作上重復(fù)工作較多工作量大效率低。因此迫切需要開發(fā)學生網(wǎng)上選課系統(tǒng)來提高管理工作的效率。 本項目的任務(wù)提出者是:李江(201296074040) 開發(fā)者:是李江(201296074040) 王雨欣(201296074019) 喻曉(201296074036) 因為傳統(tǒng)的選課方式都是手工的,教務(wù)處通知各班進行選課,各班班長再通知每個同學,經(jīng) 過 統(tǒng) 計 在 上 交 教 務(wù) 處,這 樣 比 較 浪 費 時 間 。再 者 選 課 時 不 知 道所選課人數(shù)是否
4、已滿,要等向教務(wù)處上報統(tǒng)計后才會知道,然后才能重新選擇。網(wǎng) 上 選 課 系 統(tǒng) 為 同 學 節(jié) 省 了 時 間 的 同 時,減 少 了 不 必 要 的 步 驟,也 方 便管理管理。網(wǎng)上選課系統(tǒng)為同學提供了一個自由選擇的平臺,學生可以選修規(guī)定范圍內(nèi)的課程,查 看 已 修 學 分 總 數(shù),還 可 以 修 改 個 人 信 息。 本 系 統(tǒng) 也 為 教師 提 供 了 很大的方便,教師可以根據(jù)統(tǒng)計的人數(shù)挑選一定數(shù)量的學生,也可以直接在網(wǎng)上公布成績,讓學生直接在網(wǎng)上查詢成績。此系統(tǒng)方便了學生的選課,同 時 便 于 管 理 減 少 大 量 的 人力 資 源 。并 且 促 進 了學生的積極性,近而開發(fā)了網(wǎng)上選
5、課系統(tǒng)軟件。1.3定義SQL Server是一個具備完全Web支持的數(shù)據(jù)庫產(chǎn)品提供了對可擴展標記語言 (XML) 的核心支持以及在 Internet 上和防火墻外進行查詢的能力提供了以Web標準為基礎(chǔ)的擴展數(shù)據(jù)庫編程功能。豐富的XML和Internet 標準支持允許使用內(nèi)置的存儲過程以 XML 格式輕松存儲和檢索數(shù)據(jù)。SQL Server 提供強大的開發(fā)工具和各類開發(fā)特性在大大提高開發(fā)效率的同時進一步拓展應(yīng)用空間帶來新的商業(yè)應(yīng)用機遇。例如XML數(shù)據(jù)庫與Web Service的支持將使您的應(yīng)用實現(xiàn)Internet數(shù)據(jù)互聯(lián)。 SQL Server的特點包括實現(xiàn)數(shù)據(jù)共享、減少數(shù)據(jù)的冗余度、數(shù)據(jù)的獨立
6、性、數(shù)據(jù)實現(xiàn)集中控制、數(shù)據(jù)一致性和可維護性以確保數(shù)據(jù)的安全性和可靠性。主要包括安全性控制以防止數(shù)據(jù)丟失、錯誤更新和越權(quán)使用完整性控制保證數(shù)據(jù)的正確性、有效性和相容性并發(fā)控制使在同一時間周期內(nèi)允許對數(shù)據(jù)實現(xiàn)多路存取又能防止用戶之間的不正常交互作用。也包括故障恢復(fù)。由數(shù)據(jù)庫管理系統(tǒng)提供一套方法可及時發(fā)現(xiàn)故障和修復(fù)故障從而防止數(shù)據(jù)被破壞。數(shù)據(jù)庫系統(tǒng)能盡快恢復(fù)數(shù)據(jù)庫系統(tǒng)運行時出現(xiàn)的故障可能是物理或是邏輯上的錯誤。比如對系統(tǒng)的誤操作造成的數(shù)據(jù)錯誤等。由于數(shù)據(jù)庫具有數(shù)據(jù)共享、集中控制、安全性、可靠性等特點。所以數(shù)據(jù)庫是開發(fā)學生選課系統(tǒng)的一個主要軟件。1.4參考資料1 張海藩.軟件工程導(dǎo)論(第四版)M.北京
7、:清華大學出版社,20032 Karl E.Wiegers 著.陸麗娜 王忠民 王志敏譯.軟件需求.機械工業(yè)出版社.20003 Roger S. Pressman.軟件工程實踐者之路 第五版.影印.清華大學出版社.20014 陳世鴻,彭蓉.面向?qū)ο筌浖こ?第一版.電子工業(yè)出版社.1999 年5 月5 Roger S.Pressman著 軟件工程實踐者的研究方法.機械工業(yè)出版社,19976 李振坤.梁海健.孫延海著.基于知識庫的學生選課系統(tǒng)的設(shè)計與實現(xiàn).計算機應(yīng)用研究.2005.097 苗雪蘭.劉瑞新.宋會群著.數(shù)據(jù)庫技術(shù)與應(yīng)用.機械工業(yè)出版社,20072程序系統(tǒng)的結(jié)構(gòu)2.1功能模塊2.1.1
8、功能劃分 功能模塊 功能使用者查詢可選課程學生,管理員查詢可選課程信息學生,管理員更改用戶信息所有用戶可以更改自己信息執(zhí)行選課學生查看自己所教課程信息老師 2-1 功能劃分框圖選課系統(tǒng)功能要求表功能要求輸入處理輸出學生選課信息查詢點擊查詢按鈕啟動查詢學生選課信息學生選課課程號、學號經(jīng)戶確認,系統(tǒng)接受信息并 保存于數(shù)據(jù)庫中成功選課確認信息學生、教師、課程、 公共信息修改要修改的信息修改相應(yīng)數(shù)據(jù)庫中的數(shù)據(jù)并 保存修改更新后的信息課程表單生成點擊學生課程表 顯示系統(tǒng)查詢學生課程信息,啟 動課程表生成程序生成學生課程表成績表單生成點擊學生成績表 顯示系統(tǒng)查詢學生課程信息,啟 動課程表生成程序生成學生成
9、績表單2-2 功能要求表開始獲取開課課程信息息上課地點時間(排課管理)學時,學分,任課老師等(教學計劃開課管理)選課課程設(shè)置選課條件設(shè)置網(wǎng)上公布選課信息學生登錄選課系統(tǒng)進行二次選課學生選課選課數(shù)據(jù)篩選是是否繼續(xù)進行選課是否能選上 否選課數(shù)據(jù)管理 否打印相關(guān)報表結(jié)束 2-3 學生選課統(tǒng)處理流程圖開始學生登錄查看選課規(guī)則查看選課課程信息學生選課選課數(shù)據(jù)篩選公布選課結(jié)果查詢選課結(jié)果結(jié)束2-5學生選課處理流圖網(wǎng)上選課系統(tǒng)學生選課模塊教師模塊密碼修改查詢公共信息學生選課查詢選課信息密碼修改查詢公布信息查詢已公布課程信息課程信息發(fā)布成 績 錄 入修改課程發(fā)布信息刪除發(fā)布信息添加公共信息修改課程信息查詢課程
10、信息查詢選課名單查詢教師信息教務(wù)處管理員模塊學生管理教師管理課程管理資料管理成績管理管理員密碼修改管理員信息修改成績終止成績統(tǒng)計成績查詢修改課程信息添加課程信息修改學生信息添加學生信息添加教師信息修改教師信息2-6 系統(tǒng)結(jié)構(gòu)總體框圖2.4功能器求與程序的關(guān)系各項功能需求的實現(xiàn)同各模塊的分配關(guān)系如表2-2學生選課模塊教務(wù)處管理員模塊教師模塊查詢功能數(shù)據(jù)錄入功能修改功能刪除功能打印功能2-7功能需求與系統(tǒng)模塊的關(guān)系圖3程序1(標識符)設(shè)計說明從本章開始,逐個地給出各個層次中的每個程序的設(shè)計考慮。以下給出的提綱是針對一般情況的。對于一個具體的模塊,尤其是層次比較低的模塊或子程序,其很多條目的內(nèi)容往往
11、與它所隸屬的上一層 模塊的對應(yīng)條目的內(nèi)容相同,在這種情況下,只要簡單地說明這一點即可。3.1程序描述該程序能夠較全面的實現(xiàn)學生選課系統(tǒng),另外還能進行學生信息管理和成績查詢等等。3.2功能錄入課程信息、課程管理、錄入學生信息、學生信息管理、學生選課、系統(tǒng)信息查看及存儲、退出系統(tǒng)3.3性能功能:能夠?qū)崿F(xiàn)學生對選課的管理,即完成些基本的功能登錄,選課,查看,存儲等,同時也要實現(xiàn)權(quán)限的管理。性能:信息中心提供的學生選課信息必須及時的反映出來,學生能夠及時的進行選課的程序。輸入要求: 準確,快速輸出要求:數(shù)據(jù)完整,詳實。說明對于該軟件的時間特性要求:a響應(yīng)時間:少于3秒b更新處理時間:少于2秒c數(shù)據(jù)的轉(zhuǎn)
12、換和傳送時間少于5秒說明對該軟件的靈活性的要求,即當需求發(fā)生某些變化時,該軟件對這些變化的適應(yīng)能力:a操作方式上的變化:更人性化b運行環(huán)境的變化:在windowsXP或以上的版本都能運行3.4輸人項輸入數(shù)字、字母等3.5輸出項輸出所選課程、學生成績、學生信息等。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/學生信息結(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學分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()/錄入學生信息主函數(shù) int i;printf
22、("ttt錄入學生信息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()/學生選課主函數(shù)int i;printf("ttt學生選課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("課程編號 課程名稱 學分 課程已選人數(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()/輸出學生信息struct student * p; p=head2;printf("學生學號 學生姓名 已選課程數(shù)量n"); while(p!=NULL) p
26、rintf("%-4d %10s %6dn",p->num2,p->name2,p->nelen);p=p->next;void intoc()/存儲課程信息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()/存儲學生信息 FILE * fp; struct student * p; char filepath30; printf("輸入學生信息要保存的文件路徑:");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("學生信息已保存在%s中!n",filepath); void into()/存儲信息int i; printf("1.存儲課程信息n"); printf(
30、"2.存儲學生信息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)信息查看及存儲n"); printf("1.查看課程信息n"); printf("2.查看學生信息n"); printf("3.存儲信息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歡迎使用學生選課系統(tǒng)!n"); printf("菜單:n"); printf("1.錄入課程信息n"); printf("2.課程管理n"); printf("3.錄
33、入學生信息n"); printf("4.學生信息管理n"); printf("5.學生選課n"); printf("6.系統(tǒng)信息查看及存儲n"); printf("7.退出系統(tǒng)n"); printf("n請輸入菜單選項(17):n"); scanf("%d",&i); if(i<1 | i>7) printf("輸入錯誤
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、輯開始獲取開課課程信息息上課地點時間(排課管理)學時,學分,任課老師等(教學計劃開課管理)選課課程設(shè)置選課條件設(shè)置網(wǎng)上公布選課信息學生登錄選課系統(tǒng)進行二次選課學生選課選課數(shù)據(jù)篩選是是否繼續(xù)進行選課是否能選上 否選課數(shù)據(jù)管理 否打印相關(guān)報表結(jié)束 3.8接口1.用戶接口2.內(nèi)部接口3.外部接口學生登錄一密碼修改:學號學生登錄一查詢選課信息:學號、學期查詢選課信息一修改選課信息:專業(yè)、學期教師登錄一密碼修改:身份證號教師登錄一查一詢己發(fā)布課程信息:身份證號3.9存儲分配本系統(tǒng)所有數(shù)據(jù)將存儲于后臺數(shù)據(jù)庫中3.10注釋設(shè)計無3.11限制條件選課人數(shù)到達上線系統(tǒng)將會處于阻塞狀態(tài)3.12測試計劃測試類型測試
38、內(nèi)容測試目的測試方法和技術(shù)功能測試用戶個人前臺注冊新用戶、登錄系統(tǒng)、找回密碼、更改密碼,查看個人課表、教師課表、個人成績等游客(瀏覽者)功能:查看網(wǎng)頁主頁、精確查詢、模糊查詢等管理后臺管理員登錄系統(tǒng)審核注冊用戶、增加修改或刪除院系、增加修改或刪除模板、發(fā)布站點公告等核實所有功能均已正 常實現(xiàn)a.流程檢驗:各個業(yè)務(wù)流程符合常規(guī)邏輯,用戶使用時不會產(chǎn)生疑問b.數(shù)據(jù)精確:個數(shù)據(jù)類型的輸入輸出時統(tǒng)計精確采用黑盒測試,使用邊界值測試、等價類劃分、數(shù)據(jù)驅(qū)動等測試方法,進行手工測試 用戶界面測試a. 導(dǎo)航、鏈接、頁面結(jié)構(gòu)(包括菜單,顏色,字體,按鈕名稱,title,提示信息的一致性b. 友好型,易
39、用性,合理性,一致性,正確性等。Web測試通用方法安全性和訪問控制測試密碼:登錄個人用戶、管理員用戶權(quán)限限制通過修改URL非法訪問登錄超時限制等a.應(yīng)用程序級別的安全性:核實用戶只能操作其所擁有權(quán)限操作的功能b.系統(tǒng)級別的安全性:核實只有具備系統(tǒng)訪問權(quán)限的用戶才能訪問系統(tǒng)黑盒測試,手工測試性能測試核實系統(tǒng)在大流量的數(shù)據(jù)與多用戶操作時軟件性能的穩(wěn)定性,不造成系統(tǒng)崩潰或相關(guān)的異常現(xiàn)象3.13尚未解決的問題由于同時運行的人數(shù)過多的時候,會導(dǎo)致該系統(tǒng)反應(yīng)過慢或無法正常工作,所以在運行本系統(tǒng)之前應(yīng)該規(guī)定同時運行的人數(shù)。4程序2(標識符)設(shè)計說明4.1程序描述該程序?qū)崿F(xiàn)學生選課系統(tǒng),另外還能進行學生信息管
40、理和成績查詢等等。4.2功能1. 專業(yè)管理功能2. 課程管理功能3. 信息統(tǒng)計功能4. 管理員密碼修改功能4.3性能功能:能夠?qū)崿F(xiàn)學生對選課的管理,即完成些基本的功能登錄,選課,查看,存儲等,同時也要實現(xiàn)權(quán)限的管理。性能:信息中心提供的學生選課信息必須及時的反映出來,學生能夠及時的進行選課的程序。輸入要求: 準確,快速輸出要求:數(shù)據(jù)完整,詳實。說明對于該軟件的時間特性要求:a響應(yīng)時間:少于3秒b更新處理時間:少于2秒c數(shù)據(jù)的轉(zhuǎn)換和傳送時間少于5秒說明對該軟件的靈活性的要求,即當需求發(fā)生某些變化時,該軟件對這些變化的適應(yīng)能力:a操作方式上的變化:更人性化b運行環(huán)境的變化:在windowsXP或以
41、上的版本都能運行4.4輸人項輸入數(shù)字、字母等4.5輸出項輸出所選課程、學生成績、學生信息等。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>本模塊有以下幾項功能:<br>1.專業(yè)管理功能<br>2.課程管理功能<br>3.信息統(tǒng)計功能<br>4.管理員密碼修改功能<br> </center> </body></html>學生模
43、塊 學生操作示意圖 該模塊包括密碼修改、選課/退課操作、選課結(jié)果查詢和成績查詢。對于系統(tǒng)新添加的用戶,會用隨機數(shù)產(chǎn)生一個初始密碼,發(fā)給用戶。用戶通過用戶名和密碼登陸后,應(yīng)使用密碼修改功能及時修改密碼。在該模塊中的選課操作實際上是預(yù)選,采用“人數(shù)不限,超出篩選”的原則,對每門課的預(yù)選人數(shù)不作限制,每個學生最多可以選3門課,在選課時,系統(tǒng)會自動判斷上課時間、上課地點是否沖突。在選課期間學生若想改變課程,可以對所選課進行退課,為了避免訪問流量過大,并讓學生增強責任心,系統(tǒng)對退課操作進行了限制,每個學生最多可以退3次課。預(yù)選的結(jié)果存入臨時的選課表中。如圖4一3所示。 查詢功能是在選課結(jié)束后,管理員把經(jīng)
44、過公平算法處理產(chǎn)生正式的選課信息表,發(fā)布在網(wǎng)絡(luò)上,這時學生可以登陸系統(tǒng)查詢自己的選課結(jié)果。查詢成績是在該門課程考完后,由教師錄入成績,并上傳。這時學生可查看自己的考試成績。系統(tǒng)的查詢功能主要是利用Java所提供的JDBC類來實現(xiàn)。JDBC是支持基本SQL功能的一個通用低層應(yīng)用程序接口,是一種可用于執(zhí)行SQL語句的JavaAPI,通過使用JDBC,開發(fā)人員可以很方便地將SQL語句傳給幾乎任何一種數(shù)據(jù)庫。例如查詢學生所選課程: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ū)動程序,來實現(xiàn)對數(shù)據(jù)庫的連接。首先要從網(wǎng)上下載SQLserver2000的JDBC驅(qū)動程序,然后進行安裝。安裝后在lib子目錄會看到3個文件:msbase、mSServer、msutil。為了
46、提高編程效率,采用JavaBean來封裝對數(shù)據(jù)庫的連接,這樣做的好處是實現(xiàn)了對數(shù)據(jù)庫操作的封裝,一方面,大大降低了JSP文檔的復(fù)雜程度,另一方面,有效地避免了重復(fù)代碼的編寫,提高了系統(tǒng)的可維護性。本系統(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ū)動程序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)/實現(xiàn)對數(shù)據(jù)庫的查詢Tryrs=stmt.exeuteQuery(sql):retUrflrs;catch(SQLEXCeptione)/捕獲捕獲異常System.out.println(e.getMessage():PubliCBo。leanexCuteUpdate(StringSql)/實現(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ù)據(jù)庫中所含記錄相符時登入系統(tǒng),不符時提示非法退回原界面部分代碼及功能簡介如下:<%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)成功登陸,請進行課程中報”url二”kesbb.asP”session(”te屯ID”)=sid%>利用sQL查詢語句,將教師信息數(shù)據(jù)表中的工號和密碼與用戶輸入信息相對比,如果輸入不符,則無法登入系統(tǒng)。 學生實體圖 學生登錄 學生登錄系統(tǒng)時,輸入工號和密碼,與數(shù)據(jù)庫中所含記錄相符時登入系統(tǒng),不符時提示非法退回原界面ifrs.eofthens卜”你的學號不對,請檢查!”Msgshowsty,”O(jiān)”,urlelseifrs(”Stu夕w”)=userpassthenst二”你己經(jīng)成功登陸,請進行選課入八”url=,xuanke.asP”rename
51、=rs(”rename,)session(”XZWesxsID”)=sid%>利用SQL查詢語句,將學生信息數(shù)據(jù)表中的學號和密碼與用戶輸入信息相對比,如果輸入不符,則無法登入系統(tǒng)。<seriPtlangUage=vbseriPt>a一MsgBox(”請核對以下信息:”&Chr(13)&ChLr(13)&”您的學號:”&”<%一sid%>”&Chr(13)&Chr(13)&”您的姓名:”&”<%一rename%>”&ChLr(13)&Chl(13)&”您的班級:09級
52、”&”<%=rs(”class”)%>”&Chr(13)&Chr(13)&”確定信息無誤后請點擊是,進行選課,否則請點擊“否”重新登陸!”&chr(13)&chr(13)&,注意:您僅擁有一次的選課機會,請慎重!”,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學生表studentwherestuid=,”&sid&”,RS.oPeninfolist,eonn,l,l36利用vbscriPt語句的MsgBox函數(shù)彈出對話框,提示同學核對自己的信息后再登入系統(tǒng)。學生瀏覽己發(fā)布課程信息學生用戶登入系統(tǒng)后,可以直接查看課程列表信息,列表中顯示了課程類型、編號、課程名稱、教師、課程簡介、教師職稱、課程學分、人數(shù)上限和已選課人數(shù)等信息,點擊列表下方的“我要開始選課”即可進入選課功能,部分代碼及功能簡介如下:<%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、點擊這里查看簡介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)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024國家電投所屬中國電力招聘4人筆試參考題庫附帶答案詳解
- 六年級下美術(shù)教學設(shè)計-色彩風景-浙教版
- 人教版七年級地理上冊第二章第二節(jié)《海陸的變遷》教學設(shè)計
- 人教版九年級化學上冊同步教學設(shè)計:第五單元課題1 質(zhì)量守恒定律(2課時)(2份打包)
- 九年級化學上冊 5.2.2 物質(zhì)的組成表示-化學式教學設(shè)計 (新版)北京課改版
- 人教部編版五年級下冊中國的世界文化遺產(chǎn)教學設(shè)計
- 冬季車輛安全培訓
- 九年級英語下冊 Unit 6 Entertainment and Friendship Topic 2 Who is your favorite character in literature Section B教學設(shè)計 (新版)仁愛版
- 三年級品德與社會下冊 介紹我們的學校(一)教學設(shè)計 未來版
- 2024內(nèi)蒙古佰特冶金建材有限公司發(fā)布招聘筆試參考題庫附帶答案詳解
- 2025時政試題及答案(100題)
- 2024-2025學年統(tǒng)編版七年級語文下冊第四單元檢測A卷(原卷+答案)
- 初二勞技試題及答案下冊
- 補全對話10篇(新疆中考真題+中考模擬)(解析版)
- 市場集中度與消費者行為-全面剖析
- 2025-2030中國防火材料行業(yè)深度調(diào)研及投資前景預(yù)測研究報告
- 2024年浙江錢江生物化學股份有限公司招聘筆試真題
- 新22J01 工程做法圖集
- 2025年中國影像測量機市場調(diào)查研究報告
- 外研版(三起)(2024)三年級下冊英語Unit 2 Know your body單元備課教案
- 2025年河南職業(yè)技術(shù)學院單招職業(yè)適應(yīng)性測試題庫帶答案
評論
0/150
提交評論