【正文】
度快,方便易用等特點(diǎn),已經(jīng)深入到人類生活的各個(gè)領(lǐng)域。 隨著社會(huì)的不斷進(jìn)步,信息資源對對人類生活的重要性不斷提高,而正是計(jì)算機(jī)用于管 理,處理信息時(shí)具有迅速、準(zhǔn)確、可靠和非凡的存儲(chǔ)能力的特點(diǎn),它勢必將取代手工記錄而實(shí)現(xiàn)無紙化辦公。為了改善傳統(tǒng)的管理方式,從而節(jié)約人力物力,提高工作的效率,減輕教師的工作負(fù)擔(dān),使學(xué)生的管理簡潔化、自動(dòng)化、計(jì)算機(jī)化,因此我決定制作一個(gè)計(jì)算機(jī)系學(xué)生管理系統(tǒng),同時(shí),來報(bào)答計(jì)算機(jī)系各位教師對我三年的教育之恩! 第一章 系統(tǒng)設(shè)計(jì)的開發(fā)環(huán)境 機(jī)型: CELERON366 硬盤: 40GB 內(nèi)存: 128MB 光驅(qū):明基 40 速光驅(qū) 顯示器: VGA 操作系統(tǒng): WINDOWS98 軟件: 機(jī)型: PENTIUM166 以上 硬盤: 1GB 以上 內(nèi)存: 32MB 以上 顯示器: VGA 操作系統(tǒng): WINDOWS95/98/2021/NT 平臺上均可運(yùn)行 語言環(huán)境 計(jì)算機(jī)軟件業(yè)發(fā)展到今天,數(shù)據(jù)庫設(shè)計(jì)語言已經(jīng)有很多種: Visual Foxpro,java2,Delphi,Power Builder,Visual Basic,Oracle 語言等等。在客戶 /服務(wù)器體系結(jié)構(gòu)的應(yīng)用程序開發(fā)工具中, Power Builder是一個(gè)完全可視化的客戶端應(yīng)用程序開發(fā)工具。使用 Power Builder 可以很容易的開發(fā)出功能強(qiáng)大的,具有圖形界面,訪問服務(wù)器數(shù)據(jù)庫的應(yīng)用程序。 從系里管理和職能分工角度,系里有如下組織機(jī)構(gòu)圖: 計(jì)算機(jī)系領(lǐng)導(dǎo) 教務(wù)工作人員 輔導(dǎo)員 認(rèn)課教師 實(shí)驗(yàn)員 系里現(xiàn)行管理工作存在的主要問題是:第一,教務(wù)管理工作缺乏規(guī)范性,隨意性很大,對人的經(jīng)驗(yàn)水平有很大的依賴性,因此具體的職能操作往往因人而異。從而避免業(yè)務(wù)管理的隨意性,提高信息處理的速度和準(zhǔn)確性,理順學(xué)生管理的信息的流程和流向,簡潔方便的完成學(xué)生的管理工作。新系統(tǒng)開發(fā)完畢后,對操作人員來說,只要有過操作 Windows95/98 的經(jīng)歷,都能夠較順利的操作。 現(xiàn)行系統(tǒng)的詳細(xì)調(diào)查 為了對 現(xiàn)行的學(xué)生管理的過程有一個(gè)更充分的了解,使所開發(fā)出來的新系統(tǒng)具有一定的實(shí)用性,有必要對現(xiàn)行的學(xué)生管理過程進(jìn)行詳細(xì)調(diào)查,通過與計(jì)算機(jī)系管理教師的交談及自己的親身體驗(yàn),現(xiàn)行的學(xué)生管理過程大致是這樣的: 新生入校后,首先要錄入基本信息,學(xué)生信息變動(dòng)后要更改信息,學(xué)生的成績通過錄入后可以查詢,并且手工的書寫補(bǔ)考通知單,對班級,獎(jiǎng)懲情況記錄。 通過以上的調(diào)查分析,鑒于該系統(tǒng)比較龐大,在較短的時(shí)間內(nèi)開發(fā)出來是不現(xiàn)實(shí)的。提高信息查詢的速度和準(zhǔn)確性。信息輸入管理和查詢層次清晰,靈活方便。 如下圖所示: 新系統(tǒng)的邏輯模型,本系統(tǒng)主要一數(shù)據(jù)流程圖、數(shù)據(jù)字典和處理過程設(shè)計(jì)為描述工具。在備注中記錄學(xué)生的補(bǔ)考時(shí)間、地點(diǎn)、補(bǔ)考費(fèi)用等信息。 修改記錄:修改學(xué)生獎(jiǎng)勵(lì)表 圖 248 數(shù)據(jù)流 系統(tǒng)名:獎(jiǎng)懲情況子系統(tǒng) 編號: F7 條目名:學(xué)生懲罰信息 別名: 來源:“學(xué)?!蓖獠繉?shí)體 去向:“數(shù)據(jù)處理”處理邏輯 數(shù)據(jù)結(jié)構(gòu): 姓名 學(xué)號 選修方向 所在班級 原因 時(shí)間 扣分 備注 需要說明:用此來記錄學(xué)生的被懲罰情況,每位被懲罰的學(xué)生都有一條記錄。 沒有參加考試的備注中說明。 修改記錄:學(xué)生基本情況表 圖 2414 數(shù)據(jù)存儲(chǔ) 系統(tǒng)名:學(xué)籍管 理子系統(tǒng) 編號: D5 條目名:學(xué)生畢業(yè)情況 別名: 存儲(chǔ)組織: 記錄數(shù):約 2021 主鍵:學(xué)號 二維表 數(shù)據(jù)量 200kb 副鍵:姓名 記錄組成: 項(xiàng)名: 學(xué)號 姓名 性別 出生日期 政治面貌 ?? 簡歷 備注 近似長度: 9 8 2 4 6 50 50 需要說明: 學(xué)籍變動(dòng),留級 轉(zhuǎn)專業(yè) /班級的在備注中說明。 修改記錄: 圖 2417 數(shù)據(jù)元素 系統(tǒng)名:學(xué)生管理系統(tǒng) 編號: u1 條目名:學(xué)號 別名: 所屬數(shù)據(jù)流:“ f1f8”取值范圍: 01101001~~~~99699999 ** ** ** *** 編號 選修方向 班級代號 學(xué)生入學(xué)年號 數(shù)據(jù)元素屬性: 類型:字符型 寬度: 8 需要說明:每個(gè)學(xué)生都有一個(gè)學(xué)號,它是學(xué)生的唯一標(biāo)志 圖 2418 在數(shù)據(jù)字典中還有其他的數(shù)據(jù)流、數(shù)據(jù)處理、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)項(xiàng)和前面的相似,在此不再重復(fù)。另外,通過數(shù)據(jù)清空備份和密碼修改還能大大增強(qiáng)系統(tǒng)的維護(hù)功能。從這個(gè)角度出發(fā),我設(shè)計(jì)了友好的、易于操作的用戶界面。 當(dāng)你運(yùn)行系統(tǒng)時(shí)初次與您見面的窗口如下: 圖 41 登錄界面設(shè)計(jì) 數(shù)據(jù)庫系統(tǒng)的用戶的權(quán)限是數(shù)據(jù)庫的安全措施之一,它保證了非授權(quán)用戶的非法進(jìn)入,而破壞數(shù)據(jù)庫的信息,使那些權(quán)限較地的用戶不能來修改數(shù)據(jù)庫的信息。因?yàn)檫@樣可以避免一些非授權(quán)用戶選擇用戶名后,自己試著輸入密碼而登陸系統(tǒng)。當(dāng)用戶前兩次輸入錯(cuò)誤時(shí),系統(tǒng)將提示“你的登錄信息不對,請 重新輸入!”用戶名和密碼框?qū)⑶蹇詹⒌却匦螺斎搿? 密碼驗(yàn)證部分是系統(tǒng)設(shè)計(jì)過程中的最重要的一關(guān),他限制了普通用戶的操作權(quán)限,如果稍有疏忽變使得非法用戶進(jìn)入系統(tǒng),更改重要的信息,甚至破壞整個(gè)系統(tǒng),從而帶來的損失是不可估計(jì)的。為了方便用戶的使用在主窗口中是按照模塊的劃分來是設(shè)計(jì)菜單的,這樣清晰明了,操作便捷。其中確定按鈕的代碼為: long ll_id,ll_i,ll_shenfen,ll_luqu date ld_birthday,ld_luqu string ls_name,ls_nation,ls_sex,ls_home,ls_tel,ls_party,ls_school,ls_nian,ls_fang,ls_xz,ls_ban,ls_ //數(shù)據(jù)格式檢驗(yàn) if =or isnull()then messagebox(缺少數(shù)據(jù) ,請輸入學(xué)號 ) () return elseif =or isnull()then messagebox(缺少數(shù)據(jù) ,請輸入學(xué)生姓名 ) () return end if if and not isnull(sle_birthday)then if isdate()then ld_birthday=date() else messagebox(輸入數(shù)據(jù)錯(cuò)誤 ,請使用 39。的日期格式 ) () return end if end if ll_id=long() if =true then ls_party= else if =true then ls_party= else ls_party= end if end if if =true then ls_sex= else if =true then ls_sex= end if end if if =nonethen ls_nation= else ls_nation=trim() end if if =nonethen ls_nian= else ls_nian=trim() end if if =nonethen ls_xz= else ls_xz=trim() end if if =none then ls_ban= else ls_ban=trim() end if if =nonethen ls_fang= else ls_fang=trim() end if select into :ll_i from jiben1 where =:ll_id。其中應(yīng)用到了單行文本框、單選按鈕、下拉列表、命令按鈕等控件的使用。還有精確查詢部分和模糊查詢部分,通過模糊查詢用戶可以輸入相關(guān)的字節(jié)來得到想要得信息。例如在設(shè)計(jì)成績統(tǒng)計(jì)時(shí)我使用了 Group 風(fēng)格的方式,可以使一個(gè)學(xué)生的多科成績的群組顯示,方便、直觀。這種設(shè)計(jì)方法適合于一般的操作用戶,只要點(diǎn)擊一個(gè)條件即可查詢要的信息,方便易用。 ( 2)用戶可以單擊“打印”、“打印預(yù)覽”、“還原預(yù)覽”、完成需要的操作。 ( 2)用戶可以根據(jù)“上一條”,“下一條”來滾動(dòng)信息,也可查找來動(dòng)態(tài)的查找而修改記錄。 學(xué)生有些時(shí)候需要調(diào)換班級或轉(zhuǎn)學(xué)這就需要記錄信息,并更改基本數(shù)據(jù)數(shù)據(jù)的信息,應(yīng)用 sql 語句的強(qiáng)大功能,借助 inset 語句實(shí)現(xiàn)了數(shù)據(jù)的存儲(chǔ)與更改。 UPDATE jiben1 SET fangxiang = :, banming = : WHERE jiben1.xuehao = :aa messagebox(更新成功! ,您的信息已經(jīng)更新成功 ) = = = = = = 界面設(shè)計(jì)如下: 組合查詢窗體的設(shè)計(jì) 應(yīng)不同用戶的需求單單的簡單查詢是遠(yuǎn)遠(yuǎn)不夠的,在此我設(shè)計(jì)了一個(gè)通過數(shù)據(jù)窗口控件動(dòng)態(tài)的隨用戶需求而生成 sql 語句,來完成組合查詢的目的。 該功能實(shí)現(xiàn)的“開始 統(tǒng)計(jì)”按鈕的代碼如下: string ls_xb,ls_zhi,ls_fh,ls_yu,aaa,ls_csny date ld_jzsj,ld_gzny,ld_xb int ll_rows,a,b,i ll_rows=() if ll_rows0 then a=long(ll_rows) ls_xb=trim([1,1]) ls_fh=trim([1,2]) ls_zhi=trim([1,3]) aaa=string(+trim(ls_xb)+)+trim(ls_fh)+39。or string(ls_xb)=39。then aaa=+ls_xb++trim(ls_fh)++ls_zhi+ end if if ll_rows=1 then (+aaa+) () (sqlca) () else for i=2 to a ls_xb=trim([i,1]) ls_fh=trim([i,2]) ls_zhi=trim([i,3]) b=i 1 ls_yu=trim([b,4]) if string(ls_xb)=39。 or string(ls_xb)=39。 end if end for i=i+1 (+aaa+) () (sqlca) () end if else messagebox(錯(cuò)誤提示 ,請點(diǎn)擊增加查詢條件! ) end if int ll_row ll_row=() if ll_row=0 then messagebox(提示窗口 ,沒有符合條件的記錄! ) end if 學(xué)生成績的錄入窗體設(shè)計(jì) 在學(xué)生的成績錄入過程中,有的課程信息、班名、選修方向是相同的,為了避免大量的信息 的重復(fù)性的錄入問題。這也是本人開發(fā)的滿意之處。 () string str,xh,xm int ch3,i,ch DECLARE keming CURSOR FOR SELECT distinct jiben1.xuehao FROM jiben1 where jiben1.banming=:。 (str) end for close keming。 成績查詢窗體的設(shè)計(jì) 下面介紹成績查詢界面,通過該窗口可以查詢到學(xué)生的成績。下圖即為成績查詢的窗體 : 本統(tǒng)在設(shè)計(jì)報(bào)表時(shí)是通過 group 風(fēng)格的數(shù)據(jù)窗口實(shí)現(xiàn) 的,可以動(dòng)態(tài)的顯示當(dāng)前的選修方向。當(dāng)信息過多時(shí)要備份,需要數(shù)據(jù)時(shí)要導(dǎo)入?;谏鲜鲈颍以O(shè)計(jì)了“用戶維護(hù)”子模塊,它包括“密碼變動(dòng)”和“增刪用戶”下面是用戶維護(hù)的窗口: 注:當(dāng)選擇好用戶名,并且密碼確認(rèn)后下面的密碼修改框變亮可以修改。