#學生信息管理系統(tǒng)的設計與實現(xiàn)報告_第1頁
#學生信息管理系統(tǒng)的設計與實現(xiàn)報告_第2頁
#學生信息管理系統(tǒng)的設計與實現(xiàn)報告_第3頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、管理信息系統(tǒng)課程設計報告題目學生信息管理系統(tǒng)學生姓名繆惠學號200717020203專業(yè)班級信息管理與信息系統(tǒng)指導老師方霞老師設計日期指導老師評閱意見:評閱成績:簽名:目錄1詳細設計31.1.新生管理子系統(tǒng)31.2畢業(yè)生管理子模塊81.3教學評價打分101.4學生成績網(wǎng)上查詢112系統(tǒng)維護和改進112.1運行維護14運行模塊組合.14運行控制14運行時間14人工處理過程2.2系統(tǒng)的改進與提高1414需求分析(含業(yè)務流程圖,數(shù)據(jù)流程圖, 概要設計(模塊劃分等)E-R圖等)1詳細設計1.1.新生管理子系統(tǒng)總體設計:新生管理子系統(tǒng)包含新生錄取信息的導入,新生預分學號,新生班級分配, 新生寢室安排,新

2、生報到管理,新生報到信息統(tǒng)計,新生欠費統(tǒng)計,新生分布信息,新生高 考成績分布等。設計:下面給出設計方案與實現(xiàn)方法。新生基本信息管理功能:完成對新錄取學生數(shù)據(jù)的導入到現(xiàn)場完成,并統(tǒng)計報到情 新生報到招生數(shù)據(jù)導計新生的各種分布比例到預處理分 設計:總體設計:用招生數(shù)據(jù)導入:可以通過選據(jù)使用手冊檢查 21個.dbf I文件處理,所以,只能借助記錄集的循環(huán)來主要實現(xiàn)文件|Delphi的卜布PageCtrl控件來實現(xiàn)選擇來指定全國網(wǎng)上錄取系統(tǒng)的導出數(shù)據(jù)所在路徑 否存在,來決定是否允許導入;|在導入時采用記錄的查重 定完成;其中,對政治面各項菜單功能新生信息查詢與統(tǒng)計貌與民族表要單獨處理。并根檢查的fun

3、 ctio n CheckDBFi學號olea n;vari,j:i nteger;blF oun d:bcbegin代班:e(級r s編排寢R室StTi ng處bo現(xiàn)olea場報到處理1:=t_j欠費查詢統(tǒng)計hk:報 到 情 況 統(tǒng) 計新 生 比 例 分 布高 考 成 績 統(tǒng) 計arrstrFileName0f=t_tddW;aTTstrFileNa 中/此處對表名賦值CheckDBFile:=False;blF oun d:=True;i:=0;strRst:=數(shù)據(jù)表;while (i21)dobeginj:=DBFileListBox .I tems.I ndexOf(arrstrFil

4、eNamei+.dbf);if j=-1 then某個文件未找到,返回“假”beginblF oun d:=False;strRst:=strRst+arrstrFileNamei+.dbf ;en d;i:=i+1;en d;strRst:=strRst+不存在!;if blFou nd then/全部數(shù)據(jù)文件檢查正確CheckDBFile:=True;end; 學號預處理: 將導入的數(shù)據(jù)從信息庫表到在校生表, 并根據(jù)考生的考號及其它信息填 入其基本信息(如省份、入年年份等) ;基本處理思想是:根據(jù)考生年份(報考號前兩位) 與當前系統(tǒng)數(shù)據(jù)庫的絕對學期時間, 篩選相應的考生信息, 然后從這些信

5、息中依次在學生基 本信息表( JBXX2 )中查詢是否重復,來決定是否寫入;如果寫入,則根據(jù)報考號(第3、4 位)的信息,寫入考生所在省份代碼。 新生班級編排:將分配學號的新生編排到指定班級中。用兩個DBGrid (可多選)分別將未分班學生和班級信息列出來, 通過手工選中一個或多個學生, 即可分配班級或從班級 中取消分班。實現(xiàn) DBGrid 多選并在數(shù)據(jù)庫中完成添加的代碼:with StuDBGrid.DataSource.DataSet dobeginfor i:=0 to intSelStuCnt-1 dobeginGotoBookmark(pointer(StuDBGrid.Select

6、edRows.Itemsi);strStuNo:=Fields0.AsString;strSql:=Update jbxx2 set BJID=+strClasNo+;strSql:=strSql+ Where XH=+strStuNo+;database.Execute(strSql);end;end;寢室分配與班級編排可類似處理。 新生現(xiàn)場報到: 對新生的報到程序進行計算機管理, 自動檢查該新生是否已到校, 是 否已完成所有報到手續(xù),以及新生的欠費情況(只記載欠費,不記載繳費);并根據(jù)各項手續(xù)的完成,來確認新生的報到狀態(tài),為下一步查詢提供足夠信息。此處關鍵在于如何把數(shù)據(jù)表中“ 0”和“ 1

7、”狀態(tài)標志以 CheckBox 的狀態(tài)輸出,代碼如 下:讀出:if ADORegInfo.Active then beginstrState:=ADORegInfo.FieldByName(SFQD).AsString;if strState=1 then /是否簽到Reg1Check.Checked:=trueelseReg1Check.Checked:=false;strState:=ADORegInfo.FieldByName(ZZGX).AsString; if strState=1 then / 組織關系Reg2Check.Checked:=trueelseReg2Check.Che

8、cked:=false;strState:=ADORegInfo.FieldByName(HKQY).AsString;if strState=1 then / 戶口遷移Reg3Check.Checked:=trueelse Reg3Check.Checked:=false;strState:=ADORegInfo.FieldByName(JCK).AsString; if strState=1 then / 就餐卡Reg4Check.Checked:=trueelse Reg4Check.Checked:=false;strState:=ADORegInfo.FieldByName(TJ).

9、AsString; if strState=1 then /體檢Reg1Check.Checked:=trueelse Reg1Check.Checked:=false;end;寫回數(shù)據(jù)庫:ADORegInfo.Edit;if Reg1Check.Checked thenADORegInfo.FieldByName(SFQD).AsString:=1 elseADORegInfo.FieldByName(SFQD).AsString:=0; if Reg2Check.Checked thenADORegInfo.FieldByName(ZZGX).AsString:=1 elseADORegI

10、nfo.FieldByName(ZZGX).AsString:=0; if Reg3Check.Checked thenADORegInfo.FieldByName(HKQY).AsString:=1 elseADORegInfo.FieldByName(HKQY).AsString:=0; if Reg4Check.Checked thenADORegInfo.FieldByName(JCK).AsString:=1 elseADORegInfo.FieldByName(JCK).AsString:=0;if Reg1Check.Checked thenADORegInfo.FieldByN

11、ame(TJ).AsString:=1 elseADORegInfo.FieldByName(TJ).AsString:=0; ADORegInfo.Post;欠費查詢可相應處理。 報到情況統(tǒng)計:可以按性別、專業(yè)、班級、省份等統(tǒng)計學生的報到情況,并以柱狀圖 和表格顯示;提供自由控制條件查詢未報到學生信息。統(tǒng)計功能實現(xiàn)代碼如下:CntBySexDBChar.Title.Text.Clear;/ 清除標題CntBySexDBChar.Title.Text.Add( 新生報到情況 (按班級統(tǒng)計 );CntBySexDBChar.Series0.Clear;/ 清除圖形strSql:=;CntStrG

12、rid.RowCount:=ADOQFCntQuery.RecordCount+1;for i:=0 to 4 do / 設置 StringGrid 的標題beginCntStrGrid.Colsi.Clear;CntStrGrid.Colsi.Add(titleNamei);end;i:=0;RegSexTLbl.Lines.Clear; / 清空統(tǒng)計顯示while not ADOQFCntQuery.Eof dobeginintCntRegdi:=ADOQFCntQuery.FieldByName(ClassRegdCnt).AsInteger; CntBySexDBChar.Series

13、0.Add(intCntToti,inttostr(i)+ 應到 ,clBlue); CntBySexDBChar.Series0.Add(intCntRegdi, 到 ,clRed); strSql:=inttostr(i)+trim(strClassNamei)+ 報到比例 :;strSql:=strSql+floattostr(trunc(intCntRegdi/intCnttoti*10000)/100)+%+#13;RegSexTLbl.Lines.Add(strSql);CntStrGrid.Rowsi+1.Add(inttostr(i+1);CntStrGrid.Rowsi+1.

14、Add(strClassNamei);CntStrGrid.Rowsi+1.Add(inttostr(intCntToti);CntStrGrid.Rowsi+1.Add(inttostr(intCntRegdi);CntStrGrid.Rowsi+1.Add(floattostr(trunc(intCntRegdi/intCnttoti*10000)/100)+%); i:=i+1;ADOQFCntQuery.Next; / 下一個班end; 新生分布情況統(tǒng)計: 從學生的擴展信息與高考資料中提取信息, 統(tǒng)計新生的各種分布 情況,以餅狀圖和表格信息顯示出來。相應地, 高考成績信息也可以按科目繪

15、制出柱狀圖來反映分布情況,對新生的整體情況有一個大概了解,以便有針對性地開展工作。成績統(tǒng)計的代碼如下:strSql:=Select Max(+FieldName+) as MaxScore,Min(+FieldName+) as MinScore,A VG(+FieldName+) as AvgScore;strSql:=strSql+ From t_tdd,xs_base,xs_expend Where t_tdd.ksh=xs_expend.bkh and xs_expend.xh=xs_base.xh;strSql:=strSql+ and Nj=+MidStr(CurrentXQSJ,

16、1,4);ADOQFCntQuery.SQL.Clear;ADOQFCntQuery.SQL.Add(strSql);ADOQFCntQuery.Open;if ADOQFC ntQuery.Eof the nbeginShowMessage(對不起,未找到相關學生的成績!);abort;en d;for i:=0 to 2 dobeginCn tScoreStrGrid.Colsi.CIear;Cn tScoreStrGrid.Colsi.Add(titleNamei);en d;Cn tScoreDBChart.Title.Text.Clear;CntScoreDBChart.Title.

17、Text.Add(新生高考成績統(tǒng)計+itemName+);Cn tScoreDBChart.Series0.CIear;maxScore:=ADOQFC ntQuery.FieldByName(MaxScore).Asl nteger;min Score:=ADOQFC ntQuery.FieldByName(Mi nScore).As In teger; avgScore:=ADOQFC ntQuery.FieldByName(AvgScore).Asl nteger;itemsCo un t:=tr un c(maxScore-min Score)/1)+1;in tCrntScore:=

18、tr un c(mi nScore/1)*1;i:=0;isWrite:=true;Cn tScoreStrGrid.RowCou nt:=itemsCou nt+4;in tCrntC nti:=ADOQFC ntQuery.FieldByName(CrntC nt).AsI nteger;strSql:=;if (isWrite) or (itemsCount12) thenstrSql:=i nttostr(i ntCrntScore-1)+-;CntScoreDBChart.Series0.Add(intCrntCnti,strSql,intColori mod 11);Cn tSco

19、reStrGrid.Rowsi+1.Add(i nttostr(i ntCrntScore-1)+-+i nttostr(i ntCrntScore);Cn tScoreStrGrid.Rowsi+1.Add(i nttostr(i ntCrntC nti);Cn tScoreStrGrid.Rowsi+1.Add(floattostr(tru nc(in tCrntC nti/19*10000)/100)+%); isWrite:=not isWrite;i:=i+1;en d;CntScoreStrGrid.Rowsi+1.Add(最高分);Cn tScoreStrGrid.Rowsi+1

20、.Add(i nttostr(maxScore);CntScoreStrGrid.Rowsi+2.Add(最低分);Cn tScoreStrGrid.Rowsi+2.Add(i nttostr(mi nScore);CntScoreStrGrid.Rowsi+3.Add(平均分);Cn tScoreStrGrid.Rowsi+3.Add(i nttostr(avgScore);1.2畢業(yè)生管理子模塊功能:編輯學生(班級)的學習狀態(tài)畢業(yè)生基本畢業(yè)班管理已畢業(yè)等)畢業(yè)班級學生(畢業(yè)生)綜合信息查詢_職業(yè)類別與檔案材料基礎代碼的維護綜信息查擇意向與就業(yè)去碼的處理擇業(yè)與就業(yè)綜合檔案與經(jīng)費證書發(fā)放畢業(yè)生

21、離校畢業(yè)生職業(yè)類擇業(yè)意就業(yè)去擇業(yè)與畢業(yè)生畢業(yè)生證書發(fā)證書發(fā) 畢業(yè)生檔案材料與畢業(yè)經(jīng)費的管理 畢業(yè)生證書的發(fā)放管理 設計: 總體設計:采用與新生管理統(tǒng)一的界面,用PageCtrl來實現(xiàn)。 畢業(yè)學生狀態(tài)設置: 完成在校生到畢業(yè)班學生狀態(tài)的改變或畢業(yè)班學生向已畢業(yè)學生 狀態(tài)的改變。實現(xiàn)是通過修改學生基本信息的狀態(tài)標志。修改學生狀態(tài)代碼如下:/設置畢業(yè)班procedure TSelGraForm.addClassBtnClick(Sender: TObject);varstrSql,strCrntClassID:String;beginif (ValClassListBox.Items.Count1)

22、 or (ValClassListBox.ItemIndex0) then abort;strCrntClassID:=strValClassIDValClassListBox.ItemIndex; strSql:=Update jbxx2 set ZT=+ 畢業(yè)班 + Where bjid=+strCrntClassID+; MainForm.database.Execute(strSql);SelGraForm.FormShow(Sender);end; 畢業(yè)生綜合信息查詢: 查詢畢業(yè)生的綜合信息 (成績除外, 有單獨模塊提供查詢功能) 按類分為若干頁顯示,提供打印功能。響應數(shù)據(jù)源控件的代

23、碼:procedure TsrchForm.DSsrchStuDataChange(Sender: TObject; Field: TField); / 查詢學生數(shù) 據(jù)源數(shù)據(jù)改變beginsrchForm.RefreshBaseInfo();/ 刷新基本信息 srchForm.RefreshJCInfo();/刷新獎懲信息srchForm.RefreshQTInfo();/刷新干部信息等end;procedure TsrchForm.RefreshBaseInfo();/ 刷新基本信息varstrSql,crntXH:String;/ 查詢語句與學號begin crntXH:=trim(ADO

24、srchStuQuery.FieldByName( 學號 ).AsString); strSql:=SELECT XS_BASE.*, JBXX2.XM, JBXX2.XB, BJXX.BJMC,;strSql:=strSql+XS_ZYB.ZYMC,XS_BJXX.CC,XS_BJXX.XZ,ZZMMB.ZZMM,MZB.MZ,JGB.JGMC,;strSql:=strSql+SFB.SFMC,XS_EXPEND.CYM,XS_EXPEND.SG,XS_EXPEND.XX,XS_EXPEND.BYXX,;strSql:=strSql+XS_EXPEND.TC,XS_EXPEND.EMAIL,

25、XS_EXPEND.HOMEPAGE,XS_EXPEND.JKXX;strSql:=strSql+ FROM JBXX2 INNER JOIN;strSql:=strSql+ BJXX ON JBXX2.BJID = BJXX.BJID LEFT OUTER JOIN; /外連接班級擴展信息strSql:=strSql+ XS_BJXX ON BJXX.BJID = XS_BJXX.BJID LEFT OUTER JOIN; /外連接專業(yè)表strSql:=strSql+ XS_ZYB ON BJXX.ZYID = XS_ZYB.ZYID LEFT OUTER JOIN;/ 外連接籍貫表strS

26、ql:=strSql+ SFB ON XS_BASE.SYSF = SFB.SFID LEFT OUTER JOIN;strSql:=strSql+ JGB ON XS_BASE.JGID = JGB.JGID;strSql:=strSql+ Where jbxx2.XH=+crntXH+;ADOBaseQuery.SQL.Clear;ADOBaseQuery.SQL.Add(strSql);ADOBaseQuery.Open;end; 基礎編碼維護: 直接維護職業(yè)類別表與檔案材料表。 通過 ADOTable 對象來實現(xiàn)與數(shù) 據(jù)庫中表的聯(lián)系,直接讀取或編輯更新數(shù)據(jù)表。 擇業(yè)意向登記與就業(yè)去向登

27、記: 根據(jù)學生的擇業(yè)要求和志向, 登記其擅長的職業(yè)類別; 按照畢業(yè)生的實際就業(yè)去向,登記畢業(yè)生的畢業(yè)單位、職務、 聯(lián)系方式等信息,以進行各種 數(shù)據(jù)的統(tǒng)計和信息的交流。采用 DBGrid 來顯示學生信息,而用數(shù)據(jù)庫控件來綁定就業(yè)詳細 信息;用按鈕來實現(xiàn)數(shù)據(jù)的添加、修改和刪除。關鍵在于按鈕狀態(tài)(增、刪、改)的實現(xiàn):procedure TMainForm.RefreshStuJob();/ 刷新就業(yè)信息varstrSql,strJobXH:String;beginstrJobXH:=trim(DBText10.Field.Text);/ 取得學號if strJobXH= then /為空,程序出錯,

28、退出abort;strSql:=Select xs_jyxx.* from xs_jyxx Where XH=+strJobXH+; /查詢是否已有該生就業(yè)信息ADOStuGraQuery.SQL.Clear;ADOStuGraQuery.SQL.Add(strSql);ADOStuGraQuery.Open;/控制權(quán)限if EditTB.Down then /處于編輯狀態(tài)beginif not ADOStuGraQuery.Eof then /有該生就業(yè)信息beginFirmDBEdit.Enabled:=true;/ 可編輯ProTypeLookup.Enabled:=true;PosDB

29、Edit.Enabled:=true;TelDBEdit.Enabled:=true;EmailDBEdit.Enabled:=true;BZMemo.Enabled:=true;addJobBtn.Enabled:=false;delJobBtn.Enabled:=true;/刪除為有效confirmJobBtn.Enabled:=true; / 確認編輯為有效 end else /無就業(yè)信息,可添加 beginFirmDBEdit.Enabled:=false;ProTypeLookup.Enabled:=false;PosDBEdit.Enabled:=false;TelDBEdit.E

30、nabled:=false;EmailDBEdit.Enabled:=false;BZMemo.Enabled:=false; addJobBtn.Enabled:=true;/添加為有效delJobBtn.Enabled:=false;/刪除無效confirmJobBtn.Enabled:=false; /確認無效 end;end; /end of EditTB.Downend; /end of procedure 畢業(yè)生檔案材料管理: 登記畢業(yè)生的檔案材料信息, 并提供查詢, 以確認該生是否具 備正常的可畢業(yè)手續(xù)。代碼如下:procedure TMainForm.RefreshDocuSt

31、u();/ 刷新檔案材料信息varstrSql,strCrntXH:String;begin strSql:=Select jbxx2.xh as 學號 ,xm as 姓名 ,xb as 性別 ,; strSql:=strSql+xs_daxx.DACLdm as 檔案材料代碼 ,DACLMC as 檔案材料名稱 ,; strSql:=strSql+ xs_daxx.BZ as 備注 ;strSql:=strSql+ from jbxx2,xs_daxx,xs_damc;strSql:=strSql+ Where jbxx2.xh=xs_daxx.xh and xs_daxx.dacldm=x

32、s_damc.dacldm; strCrntXH:=trim(ADODStuQuery.FieldByName( 學號 ).AsString);strSql:=strSql+ and xs_daxx.XH=+strCrntXH+; ADODocuStuQuery.SQL.Clear;ADODocuStuQuery.SQL.Add(strSql);ADODocuStuQuery.Open;end; 畢業(yè)經(jīng)費處理與檔案材料基本相同。 畢業(yè)證書發(fā)放管理: 對畢業(yè)證和學位證的發(fā)放進行管理, 登記畢業(yè)證和學位證的發(fā)放 情況,并對數(shù)據(jù)的完整性進行控制:畢業(yè)證發(fā)放日期如果不為空,則畢業(yè)證編號不能為空; 學位

33、證發(fā)放日期不為空, 則學位證編號不能為空; 若畢業(yè)證發(fā)放日期為空, 則必須說明證書 未發(fā)放原因。進行數(shù)據(jù)完整性控制的代碼如下:procedure TMainForm.confirmCertiBtnClick(Sender: TObject);var strBYZRQ,strBYZBH,strXWZRQ,strXWZBH:String;beginstrBYZRQ:=trim(BYZRQEdit.Text); / 畢業(yè)證日期 strBYZBH:=trim(BYZBHedit.Text); /畢業(yè)證編號strXWZRQ:=trim(XWZRQEdit.Text); / 學位證日期 strXWZBH:

34、=trim(XWZBHEdit.Text); /學位證編號if (strBYZRQ=”)xor (strBYZBH=”)the n/ 異或運算if MessageDlg(畢業(yè)證頒發(fā)日期和畢業(yè)證編號不符!+#13+要取消本次更新操作嗎?,mtWarni ng,mbYes,mbNo,0)=mrYes the nbeginADOCertiQuery.CancelUpdates; / 選擇取消Mai nF orm.RefreshCertil nfo();abort;endelseabort;if (strBYZRQ=”)and (strBYZBH=”)and (strXWZRQ”)the n/處理學位

35、證if (strBYZRQ=”) and (strBYZBH=”) and (strXWZRQ=”) and (strXWZBH=”) and (trim(YYEdit.Text)=”) then / 未獲證if MessageDlg(未獲得畢業(yè)證和或?qū)W位證的請寫明原因!+#13+要取消本次更新操作嗎?,mtWarning,mbYes,mbNo,0)=mrYes thenbeginADOCertiQuery.Ca ncelUpdates;Mai nF orm.RefreshCertil nfo();abort;end1.3教學評價打分功能:對基礎教學信息(主要指規(guī)范,相應名稱及全院統(tǒng)一編制的制

36、表輸出。設計:基礎教學信息模塊全院系科信息、課程信息、教室信息、教材信息)整理、ID(Identfier)號插、查、刪、改;系科簡況管本模塊處理的數(shù)據(jù)比課程名稱簡主要理成系科信息表(Dep室簡況課程信息表(Course|nfo) 教材簡況管理t應數(shù)據(jù)及編碼的輸入、刪除、修改,在輸,ID信息。這主要通過教室信息表(Classroom)、教材信息表(JCXX)等相 入系科類似的已編碼數(shù)據(jù)時,要通過名稱下選而保存的是相應的 TDBLookupCpmboBox 來實現(xiàn),設置好如下幾個重要屬性:_刪除DataSource DOtaField KeyFieldListFieldListSource增/待輸 加待輸 /關聯(lián)字段/下選顯示字段 下選數(shù)據(jù)源的數(shù)入刪據(jù) M除據(jù)在數(shù)據(jù)瀏覽的網(wǎng)格圖表中,各編碼字段要顯示為相應的名稱,這要通過在數(shù)據(jù)集中新建Lookup類型的字段來實現(xiàn),設置好如下幾個重要屬性:Field PropertyLookup Defin iti on Key FieldDataSetFieldType:=Looku

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論