版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、江 南 大 學(xué) 太 湖 學(xué) 院數(shù) 據(jù) 庫 課 程 設(shè) 計(jì) 報(bào) 告課題 通用成績管理系統(tǒng) 設(shè) 計(jì) 者 專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù)軟件 班 級 計(jì)科 74 學(xué) 號 同組成員名單 指導(dǎo)老師 評定成績 2010年 1 月 8 日 目錄1、 概述2、 系統(tǒng)需求分析3、 功能需求分析31系統(tǒng)功能的描述32系統(tǒng)功能模塊示意圖4、 系統(tǒng)設(shè)計(jì)5、6、1 概述本系統(tǒng)是成績查詢管理系統(tǒng),主要用于學(xué)生成績的管理,包括成績錄入、查找、添加、刪除。學(xué)生通用成績管理是學(xué)校管理中異常重要的一個環(huán)節(jié),它的實(shí)現(xiàn)關(guān)系到學(xué)校辦學(xué)整體效率的高低,運(yùn)用通用成績管理系統(tǒng)可以減輕學(xué)院教學(xué)人員的工作量,加快查詢速度,加強(qiáng)管理, 也讓同學(xué)們能在任
2、何時候都能查閱到有關(guān)自己學(xué)科成績有關(guān)的信息,也有利于讓他們充分了解有關(guān)自己在大學(xué)期間所有課程的學(xué)習(xí)情況,提高查詢速度。學(xué)生成績管理系統(tǒng)是系科綜合管理信息系統(tǒng)中很重要的組成部分。課題設(shè)計(jì)內(nèi)容:按學(xué)院的“機(jī)電系”“文法系”“經(jīng)管系”三個部分設(shè)計(jì),先要求用戶密碼登陸界面,能實(shí)施各系的成績錄入和查詢操作,并且可以管理賬戶。其中系統(tǒng)包含學(xué)生的基本信息,各課程的成績,也可以通過輸入學(xué)號查出總成績和平均成績,便于學(xué)校管理,也方便查詢與修改。關(guān)鍵使用工具與設(shè)備:一臺計(jì)算機(jī),要裝有數(shù)據(jù)庫軟件microsoft sql server 或者access,用編程工具delphi或者vb,以及畫圖軟件visio,美工軟
3、件photoshop。通過sql server創(chuàng)建數(shù)據(jù)庫與delphi所實(shí)現(xiàn)的各界面功能相連接結(jié)合實(shí)現(xiàn)成績管理系統(tǒng)的各操作功能。四、技術(shù)難點(diǎn):掌握delphi這個開發(fā)工具是重點(diǎn)也是難點(diǎn),要熟悉開發(fā)工具的各函數(shù)、事件等,更要熟悉其環(huán)境并且熟練地與數(shù)據(jù)庫連接。這樣才能順利的進(jìn)行開發(fā)。2 系統(tǒng)需求分析成績管理系統(tǒng)是面向各校的管理系統(tǒng),其目的是提高學(xué)校對學(xué)生的科學(xué)化管理。經(jīng)過充分的系統(tǒng)調(diào)研,發(fā)現(xiàn)本系統(tǒng)主要應(yīng)包括系統(tǒng)管理、成績管理、成績查詢管理,進(jìn)一步還發(fā)現(xiàn)各需管理的信息有:添加或者刪除用戶,密碼修改,各系學(xué)生基本信息,學(xué)生選課信息等。本系統(tǒng)的具體要求為:(1) 能管理學(xué)生的基本成績信息,可錄入,修改,
4、查詢。(2) 通過使用計(jì)算機(jī)能方便地維護(hù)各信息表。(3) 方便同時查出總成績和平均成績,實(shí)現(xiàn)表的統(tǒng)計(jì)功能。(4) 需要時能即時進(jìn)行輸出與打印。(5) 系統(tǒng)具有操作方便、簡捷等特點(diǎn)。 2.1 本系統(tǒng)需要管理的實(shí)體信息(1)、賬戶管理:用戶名、密碼(2)、系別:機(jī)電系、文法系、經(jīng)管系(3)、成績錄入:機(jī)電系成績錄入、文法系成績錄入、經(jīng)管系成績錄入(4)、成績查詢:機(jī)電系成績查詢、文法系成績查詢、經(jīng)管系成績查詢(5)、學(xué)生基本信息:學(xué)號、姓名、性別、年齡、籍貫、原高中(6)、學(xué)生選課信息:學(xué)號、課程號、成績(7)、成績查詢:總成績、平均成績2.2 本系統(tǒng)要管理的實(shí)體聯(lián)系信息(1 ) 學(xué)生登陸系統(tǒng)時要
5、輸入用戶名和密碼(2)學(xué)生的選課情況,信息要根據(jù)不同情況而添加、刪除、修改信息,還有可以做密碼修改等。3功能需求分析31系統(tǒng)功能的描述經(jīng)過調(diào)研分析,通用成績管理系統(tǒng)共可分為系統(tǒng)對用戶的添加,刪除,修改,各系成績的錄入,各系成績的分類查詢,查詢學(xué)生的基本信息,選課情況。系統(tǒng)的維護(hù)用于用戶的維護(hù)及用戶權(quán)限的設(shè)置等。 32系統(tǒng)功能模塊示意圖4系統(tǒng)設(shè)計(jì)41數(shù)據(jù)概念結(jié)構(gòu)設(shè)計(jì)411數(shù)據(jù)流程圖412 e-r圖4.2數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)421數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)學(xué)生信息(編號,名稱,地址,電話,e-mail,拼音碼);客戶信息(編號,名稱,地址,電話,e-mail,拼音碼);車型信息(編號,名稱,廠商,拼音碼);
6、進(jìn)貨單(編號,日期,廠商,單價(jià),數(shù)量,是否入庫,車型,采購員);銷售單(編號,日期,客戶,單價(jià),數(shù)量,車型,銷售員);車輛信息(編號,進(jìn)貨單編號,銷售單編號,是否銷售,車型);用戶清單(用戶編號,用戶名,密碼);權(quán)限清單(用戶編號,權(quán)限名稱);422數(shù)據(jù)標(biāo)的設(shè)計(jì)5常用的幾個語句及基本語法及功能adoquery的用法:adoquery為數(shù)據(jù)庫控件,在本系統(tǒng)中主要用來執(zhí)行查詢操作adoquery1.close ; /關(guān)閉adoquery控件adoquery1.sql.clear ; /sql語句清空adoquery1.sql.add(select max(編號) 最大編號 from 車輛信息);/
7、向ado中加入sql語句adoquery1.open ; /打開ado控件執(zhí)行查詢max:=adoquery1.fieldbyname(最大編號).asinteger ; /將查到記錄字段名為引號中字符串的值以整形賦給max變量另外,向ado中加入sql語句也可用 adoquery1.sql.text:=select;如果要將結(jié)果賦給字符串變量,最后一句max:=adoquery1.fieldbyname(最大編號).asstring ;adocommand的用法:adocommand也是數(shù)據(jù)庫控件,在本系統(tǒng)中主要用來執(zhí)行插入修改刪除等更新操作sql1:=insert into 車輛信息(編號
8、,進(jìn)貨單編號,是否銷售,車型) values(;sql2:=inttostr(n)+,+edit3.text+,否,+ carstyle+); /將sql語句賦給string類型的變量;adocommand1.commandtext :=sql1+sql2; /將sql語句寫入adocommandadocommand1.execute ; /執(zhí)行sql語句adotable的用法:adotable也是數(shù)據(jù)庫控件,在本系統(tǒng)中用于直接與表相關(guān)聯(lián),通過dbedit,dbcombobox等數(shù)據(jù)庫編輯框和數(shù)據(jù)庫組合框,直接將用戶修改的結(jié)果寫入數(shù)據(jù)庫有時需要將adoquery的查詢結(jié)果寫入adotable中
9、,這是就可用一下語句adoquery1.close ;adoquery1.sql.clear ;adoquery1.sql.add(select * from 進(jìn)貨單 where 是否入庫=否);adoquery1.open ;adotable1.clone(adoquery1,ltunspecified);動態(tài)向treeview中添加節(jié)點(diǎn)varpnode:ttreenode; /聲明節(jié)點(diǎn)變量node,current:integer;if a=1 then/a的值在登錄窗口中決定,若登錄窗口中查詢到用于具有相應(yīng)權(quán)限,a的值為1 begin pnode:=treeview1.itemscurre
10、nt; treeview1.items.addchild(pnode,廠商信息); node:=node+1; end ;動態(tài)創(chuàng)建mdi子窗體varcomp:tcomp; /comp為變量類型,tcomp為窗體類型if fcaption=廠商信息 then begin comp:=tcomp.create(application); /創(chuàng)建子窗體 comp.caption:=廠商信息; /為子窗體設(shè)置標(biāo)題 end;基本語法var 變量名:類型名 /聲明變量變量名:=變量值 /為變量賦值對象。clear /清空對象的值。號后面為對象的屬性名或方法名beginend內(nèi)是一個語句塊在public p
11、ublic declarations end; 中聲明的是工程級全局變量在implementation后名聲明的是窗體級全局變量在函數(shù)或過程內(nèi)部聲明的是局部變量若要引用其他窗體的變量或?qū)ο?,在過程之前加上uses 窗體名,并用窗體名。對象名引用。6系統(tǒng)界面及主要程序61創(chuàng)建公用模塊本系統(tǒng)有一個公用模塊,formdata,內(nèi)有一個connection控件,用于連接數(shù)據(jù)庫,若數(shù)據(jù)庫改變,只要修改connection控件的connection屬性即可。另外,所有的窗體都可以被其他窗體引用。62登錄界面及主界面uses formdata,formmain;procedure tlogin.button
12、1click(sender: tobject);varnum,user,pass:string;begin user:=edit1.text ; pass:=edit2.text ; adoquery1.close ; adoquery1.sql.clear ; adoquery1.sql.text:=select 用戶編號 from 用戶清單 where 用戶名=+user+ and 密碼=+pass+; adoquery1.open ; num:=adoquery1.fieldbyname(用戶編號).asstring ; if num then begin main.a:=0;main.
13、b:=0;main.c:=0; adoquery1.close ; adoquery1.sql.clear ; adoquery1.sql.text:=select 權(quán)限名稱 from 權(quán)限清單 where 用戶編號=+num+and 權(quán)限名稱=廠商信息; adoquery1.open ; if adoquery1.fieldbyname(權(quán)限名稱).asstring then main.a:=1; adoquery1.close ; adoquery1.sql.clear ; adoquery1.sql.text:=select 權(quán)限名稱 from 權(quán)限清單 where 用戶編號=+num+
14、and 權(quán)限名稱=車型信息; adoquery1.open ; if adoquery1.fieldbyname(權(quán)限名稱).asstring then main.b:=1; adoquery1.close ; adoquery1.sql.clear ; adoquery1.sql.text:=select 權(quán)限名稱 from 權(quán)限清單 where 用戶編號=+num+and 權(quán)限名稱=客戶信息; adoquery1.open ; if adoquery1.fieldbyname(權(quán)限名稱).asstring then main.c:=1; adoquery1.close ; adoquery
15、1.sql.clear ; adoquery1.sql.text:=select 權(quán)限名稱 from 權(quán)限清單 where 用戶編號=+num+and 權(quán)限名稱=車輛采購; adoquery1.open ; if adoquery1.fieldbyname(權(quán)限名稱).asstring then main.d:=1; adoquery1.close ; adoquery1.sql.clear ; adoquery1.sql.text:=select 權(quán)限名稱 from 權(quán)限清單 where 用戶編號=+num+and 權(quán)限名稱=車輛入庫; adoquery1.open ; if adoquer
16、y1.fieldbyname(權(quán)限名稱).asstring then main.e:=1; adoquery1.close ; adoquery1.sql.clear ; adoquery1.sql.text:=select 權(quán)限名稱 from 權(quán)限清單 where 用戶編號=+num+and 權(quán)限名稱=車輛銷售; adoquery1.open ; if adoquery1.fieldbyname(權(quán)限名稱).asstring then main.f:=1; adoquery1.close ; adoquery1.sql.clear ; adoquery1.sql.text:=select 權(quán)
17、限名稱 from 權(quán)限清單 where 用戶編號=+num+and 權(quán)限名稱=查詢統(tǒng)計(jì); adoquery1.open ; if adoquery1.fieldbyname(權(quán)限名稱).asstring then main.g:=1; adoquery1.close ; adoquery1.sql.clear ; adoquery1.sql.text:=select 權(quán)限名稱 from 權(quán)限清單 where 用戶編號=+num+and 權(quán)限名稱=系統(tǒng)維護(hù); adoquery1.open ; if adoquery1.fieldbyname(權(quán)限名稱).asstring then main.h:
18、=1; main.use:=user; main.password:=pass; main.show ; login.hide ; end else begin showmessage(用戶名或密碼不正確!); endend;procedure tlogin.edit2keypress(sender: tobject; var key: char);begin if key=#13 then button1.click ;end;end.uses formcomp,formcust,formcarinfo,formplan,formin,formsell,formstatistics,form
19、sysset,formpassch;procedure tmain.formshow(sender: tobject);varpnode:ttreenode;node,current:integer;beginnode:=0;current:=node; if a=1 then begin pnode:=treeview1.itemscurrent; treeview1.items.addchild(pnode,廠商信息); node:=node+1; end ; if b=1 then begin pnode:=treeview1.itemscurrent; treeview1.items.
20、addchild(pnode,車型信息); node:=node+1; end; if c=1 then begin pnode:=treeview1.itemscurrent; treeview1.items.addchild(pnode,客戶信息); node:=node+1; end; current:=node+1; if d=1 then begin pnode:=treeview1.itemscurrent; treeview1.items.addchild(pnode,車輛采購); node:=node+1; end; if e=1 then begin pnode:=treev
21、iew1.itemscurrent; treeview1.items.addchild(pnode,車輛入庫); node:=node+1; end; current:=node+2; if f=1 then begin pnode:=treeview1.itemscurrent; treeview1.items.addchild(pnode,車輛銷售); node:=node+1; end; current:=node+3; if g=1 then begin pnode:=treeview1.itemscurrent; treeview1.items.addchild(pnode,查詢統(tǒng)計(jì)
22、); node:=node+1; end; current:=node+5; if h=1 then begin pnode:=treeview1.itemscurrent; treeview1.items.insert(pnode,系統(tǒng)維護(hù)); node:=node+1; end;end;procedure tmain.treeview1click(sender: tobject);varcomp:tcomp;cust:tcust;carinfo:tcarinfo;plan:tplan;fin:tfin;sell:tsell;statistics:tstatistics;sysset:tsy
23、sset;passch:tpassch;flag,j:integer;fcaption:string;begin fcaption:=treeview1.selected.text ;begin flag:=0; for j:=0 to main.mdichildcount do begin if main.mdichildrenj.caption =fcaption then begin mdichildrenj.show; flag:=1; break; end; end; if flag=0 then begin if fcaption=廠商信息 then begin comp:=tco
24、mp.create(application); comp.caption:=廠商信息; end; if fcaption=客戶信息then begin cust:=tcust.create(application); cust.caption:=客戶信息; end; if fcaption=車型信息then begin carinfo:=tcarinfo.create(application); carinfo.caption:=車型信息; end; if fcaption=車輛采購 then begin plan:=tplan.create(application); plan.captio
25、n:=車輛采購; end; if fcaption=車輛入庫 then begin fin:=tfin.create(application); fin.caption :=車輛入庫; end; if fcaption=車輛銷售 then begin sell:=tsell.create(application); sell.caption :=車輛銷售; end; if fcaption=查詢統(tǒng)計(jì) then begin statistics:=tstatistics.create(application); statistics.caption :=查詢統(tǒng)計(jì); end; if fcaptio
26、n=系統(tǒng)維護(hù) then begin sysset:=tsysset.create(application); sysset.caption :=系統(tǒng)維護(hù); end; if fcaption=修改密碼 then begin passch:=tpassch.create(application); passch.caption :=修改密碼; end; if fcaption=退出 then close; end;end;end;end.63基礎(chǔ)信息管理64進(jìn)貨管理65汽車銷售66收益統(tǒng)計(jì)67系統(tǒng)維護(hù)68無權(quán)限用戶界面此時只有修改密碼是可用的。7參考文獻(xiàn)數(shù)據(jù)庫原理及應(yīng)用 錢雪忠,黃建華delphi
27、數(shù)據(jù)庫開發(fā)經(jīng)典案例解析 王冕,萬科8總結(jié)通過這次的課程設(shè)計(jì),首先對delphi這門語言有了更深的認(rèn)識,新學(xué)習(xí)了treeview等控件。本來只是打算用菜單做,但之前也用delphi開發(fā)了一個校醫(yī)院系統(tǒng),覺得應(yīng)該學(xué)點(diǎn)新的東西,所以用的是treeview,但在treeview在實(shí)現(xiàn)上顯然沒有菜單方便,所以主窗體的代碼很長,因?yàn)樾枰獎討B(tài)創(chuàng)建樹的節(jié)點(diǎn),或許有更好的方法,但我目前想到的只有這個。另外,對數(shù)據(jù)庫也有了更深的認(rèn)識,進(jìn)一步掌握了數(shù)據(jù)庫的應(yīng)用,對sql語句也有了更好的應(yīng)用。初步掌握了開發(fā)一個數(shù)據(jù)處理系統(tǒng)的方法。當(dāng)然,本系統(tǒng)也還存在缺點(diǎn)。例如數(shù)據(jù)庫設(shè)計(jì)不是很好,因?yàn)殚_始只考慮到數(shù)據(jù)的低冗余和實(shí)行批量
28、采購和銷售,忽視了查詢上的方便性,所以在后來的收益統(tǒng)計(jì)可能效率不是很高,好在本系統(tǒng)主要是用來處理數(shù)據(jù)的,統(tǒng)計(jì)用的相對還是少數(shù),最多效率低點(diǎn),影響應(yīng)該不是很大。在此我要感謝錢雪忠老師在數(shù)據(jù)庫設(shè)計(jì)方面給出的建議,因?yàn)樵?jīng)一度在這個問題上很迷惑,后經(jīng)錢老師指點(diǎn)終于找到方向。還有就是要感謝互聯(lián)網(wǎng),在控件的應(yīng)用和程序的語法方面給了我很大幫助。參考文獻(xiàn)規(guī)范: (1)連續(xù)出版物序號主要責(zé)任者文獻(xiàn)題名j 刊名,出版年份,卷號(期號) :起止頁碼 例如: 1毛峽,丁玉寬圖像的情感特征分析及其和諧感評價(jià)j電子學(xué)報(bào), 2001,29(12a) :1923-19272 mao xia, et al. affective property of image and fractal dimension j. chaos, solitons & fractalsuk,2003:v15 905-910(2)專著序號主要責(zé)任者文獻(xiàn)題名m出版地:出版者,出版年:起止頁碼 例如:3 劉國鈞,王
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 業(yè)主租賃委托協(xié)議
- 投資管理協(xié)議書
- 2025年度個人二手房居住權(quán)買賣及售后服務(wù)保障合同
- 2025年全球及中國電子級二氧化硅微粉行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025-2030全球固態(tài)開關(guān)繼電器行業(yè)調(diào)研及趨勢分析報(bào)告
- 2025年全球及中國紫外波段高光譜成像(HSI)設(shè)備行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025-2030全球H級三相干式電力變壓器行業(yè)調(diào)研及趨勢分析報(bào)告
- 尾款協(xié)議書工程尾款承諾協(xié)議書
- 2025版智慧社區(qū)項(xiàng)目投資合同范本3篇
- 二零二五年度銀行存款賬戶凍結(jié)與解凍服務(wù)合同3篇
- 2025年春新人教版物理八年級下冊課件 第十章 浮力 第4節(jié) 跨學(xué)科實(shí)踐:制作微型密度計(jì)
- 2024-2025學(xué)年人教版數(shù)學(xué)六年級上冊 期末綜合試卷(含答案)
- 收養(yǎng)能力評分表
- 山東省桓臺第一中學(xué)2024-2025學(xué)年高一上學(xué)期期中考試物理試卷(拓展部)(無答案)
- 中華人民共和國保守國家秘密法實(shí)施條例培訓(xùn)課件
- 2024年全國統(tǒng)一高考英語試卷(新課標(biāo)Ⅰ卷)含答案
- 人教pep小學(xué)六年級上冊英語閱讀理解練習(xí)題大全含答案
- 國壽增員長廊講解學(xué)習(xí)及演練課件
- 新疆維吾爾自治區(qū)烏魯木齊市初中語文九年級期末??荚囶}詳細(xì)答案和解析
- 同等學(xué)力申碩英語考試高頻詞匯速記匯總
- GB 11887-2012首飾貴金屬純度的規(guī)定及命名方法
評論
0/150
提交評論