版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
教師信息管理系統(tǒng)
目錄摘要…………………2前言…………………2第一部分系統(tǒng)及需求分析………………………31總體功能需求………………32具體系統(tǒng)功能需求描述3第二部分系統(tǒng)開發(fā)的可行性分析………………31技術可行性…………………32經濟可行性…………………43操作可行性…………………4開發(fā)工具和測試環(huán)境VB6.0中文版概述…………………4TOC\o"1-5"\h\z第三部分系統(tǒng)規(guī)劃(教師信息管理系統(tǒng)的分析和設計)41教師信息管理系統(tǒng)的分析和概要設計……………………42總體功能模塊圖53各模塊數(shù)據(jù)流程圖63-4模塊具體說明-63-5教師信息管理系統(tǒng)數(shù)據(jù)庫設計(數(shù)據(jù)庫的組成)73-5-1數(shù)據(jù)字典75-2關系型數(shù)據(jù)庫的實現(xiàn)8第四部分系統(tǒng)的詳細設計和實現(xiàn)101基本信息模塊102工資管理模塊113系統(tǒng)維護模塊124-4用戶管理模塊134-5查詢模塊15第五部分系統(tǒng)評價(軟件特色)17第六部分系統(tǒng)源代碼17第七部分軟件測試367-1軟件測試的目的367-2測試與軟件開發(fā)各階段的關系363測試方法37第八部分系統(tǒng)說明381心得體會388-2結束語……………………388-3附錄……………………40隨著我國社會主義市場經濟的發(fā)展和改革開放的不斷深入,計算機的應用已遍及國民經濟的各個領域,計算機來到我們的工作和生活中,改變著我們和周圍的一切。在以前,學校用手工處理教師檔案以及工資發(fā)放等繁多的工作和數(shù)據(jù)時,人手總會出現(xiàn)些不必要的錯誤和問題,特別是在查找,統(tǒng)計和保存方面。與此相適應,用計算機代替手工管理,是信息社會發(fā)展的必然趨勢,也是我們計算機工作者的責任。教師信息管理系統(tǒng)開發(fā)主要包括數(shù)據(jù)庫的建立和維護以及應用程序的開發(fā)兩個方面。要求建立起數(shù)據(jù)一致性和完整性強。數(shù)據(jù)安全性好的庫,要求應用程序功能完備,易使用等特點。關鍵字:面向對象,數(shù)據(jù)一致性,信息管理系統(tǒng),數(shù)據(jù)庫,VisualBasic,SQLServer。前言隨著科學技術的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領域并發(fā)揮著越來越重要的作用。作為計算機應用的一部分,使用計算機對工資信息進行管理,具有著手工管理所無法比擬的優(yōu)點。例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高人事勞資管理的效率,也是教育的科學化、正規(guī)化管理,與世界接軌的重要條件。現(xiàn)在我國的中小學校信息的管理水平還停留在人工的基礎上,這樣的機制已經不能適應時代的發(fā)展,因為它浪費了許多人力和物力,在信息時代這種傳統(tǒng)的管理方法必然被計算機為基礎的信息管理所取代。因此,為了適應現(xiàn)代教育管理的要求,進一步完善教師信息輔助計算機管理,我作為一個計算機應用的??粕?,開發(fā)這樣一套管理軟件成為很有必要的事情,在下面的各章中我將以開發(fā)一套教師信息管理系統(tǒng)為例,談談其開發(fā)過程和所涉及到的問題及解決方法。教師信息管理系統(tǒng)是一個教育單位不可缺少的部分,它的內容對于決策者和管理者來說都比較重要,所以教師信息管理系統(tǒng)應該能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統(tǒng)人工的方式管理文件檔案,這種管理方式存在著許多缺點,如:效率低、保密性差,另外時間一長,將產生大量的文件和數(shù)據(jù),這對于查找、更新和維護都帶來了不少的困難。本文的編寫得到了許多老師和同學的熱心幫助,在此特向他們表示衷心的感謝!如本文有不當之處,還望各位老師不吝指教。謝謝!第一部分系統(tǒng)及需求分析1總體功能需求近年來,教育帶來的發(fā)展對學校管理提出了更高的要求。傳統(tǒng)的管理機制已經不能適應時代的發(fā)展,因為它浪費了許多人力和物力,在信息時代這種傳統(tǒng)的管理方法必然被計算機為基礎的信息管理所取代,建設一套具有行業(yè)特色的管理系統(tǒng),以適應學校的總體發(fā)展戰(zhàn)略。教師信息管理系統(tǒng)正是針對小學而開發(fā)出來的管理軟件。針對目前情況,提出如下具體要求:根據(jù)用戶的要求及其所輸入的數(shù)據(jù),實現(xiàn)人員信息管理、工資管理、打印等幾個與管理相關方面的功能,用戶通過輸入工資、職工信息等基本信息,由系統(tǒng)自行生成相應的統(tǒng)計數(shù)據(jù)及各類統(tǒng)計報表以供用戶查詢、打印。另外用戶還可以對這些基本信息進行定期的更新和維護,教師信息管理系統(tǒng)力求給用戶方便快捷的途徑去管理這些繁瑣的數(shù)據(jù)。2具體系統(tǒng)功能需求描述針對上面的這些要求,教師信息管理系統(tǒng)在技術上做如下考慮:安全性。引入系統(tǒng)管理模塊,全面管理整個系統(tǒng)所需要的數(shù)據(jù)資源、集中控制所有操作權限、數(shù)據(jù)庫加密以確保整個系統(tǒng)的安全性。開放性。語言全中文支持。采用通用語言處理技術,使系統(tǒng)運行的所有提示及輸出賬表文字的語種設置為簡體中文。多平臺支持。支持中西文Windows9X、WindowsNT,Windows2000(或XP)在業(yè)務模型上則考慮突出體現(xiàn)管理、控制、決策支持功能;采用組件化設計,模塊之間可以實現(xiàn)“積木式”搭配,適用于學校的不同階段的需求;強化權限管理功能。操作人員的計算機知識普遍較差,要求有良好的人機界面;由于該系統(tǒng)的使用對象多,要求有較好的權限管理;數(shù)據(jù)計算自動完成,盡量減少人工干預,數(shù)據(jù)穩(wěn)定性好,數(shù)據(jù)備分報表打印功能;第二部分系統(tǒng)開發(fā)的可行性分析1技術可行性在技術難度方面,由于有指導老師的指導和相關參考文獻,特別是網上資料,完全可以實現(xiàn)。微軟公司的VisualBasic6.0是Windows應用程序開發(fā)工具,是目前最為廣泛的、易學易用的面向對象的開發(fā)工具.VisualBasic提供了大量的控件,這些控件可用于設計界面和實現(xiàn)各種功能,減少了編程人員的工作量,也簡化了界面設計過程,從而有效的提高了應用程序的運行效率和可靠性。故而,實現(xiàn)本系統(tǒng)VB是一個相對較好的選擇。此系統(tǒng)使用visualbasic在技術上可行。2經濟可行性本系統(tǒng)方案成本小,不需要投入太多的資金,其運行跟維護所費資金又少,投入使用后可以節(jié)省大量人力、物力、時間等資源,可以提高企事業(yè)單位的工作效益,帶來的間接經濟效益比花費在系統(tǒng)開發(fā)和運行、維護的費用和購置計算機、服務器等硬件設備的費用加起來要高得多,故經濟上可行。3操作可行性本系統(tǒng)界面友好,使用方便,對使用人員要求不高,很快就可以適應。系統(tǒng)具有一定的易用性、可靠性、安全性,并經過嚴格的測試,運行十分穩(wěn)定?;谝陨蠋c,該系統(tǒng)在技術上、經濟上、操作上都具有可行性。開發(fā)工具和測試環(huán)境--一VB6.0中文版概述VisualBasic是美國微軟公司于1991年推出的新一代高級程序設計語言,可以有效地開發(fā)出符合Windows風格的應用程序。使用VisualBasic作為開發(fā)本系統(tǒng)的工具,其特點有如下幾點:VisualBasic是與SQLServer2000數(shù)據(jù)庫連接運用最能體現(xiàn)其穩(wěn)定性和功能的強大性。雖然本系統(tǒng)在硬件方面要求較高,但使用VisualBasic工具所生成的界面也要比其它工具生成的界面要好看;本工具具有跨平臺功能,無論安裝在Windows9x、Windows2000、WindowsNT、Linus、Units都可以;且利用其做的系統(tǒng)操作簡單,面向技術人員的水平不高VisualBasic在數(shù)據(jù)庫方面具有新特性,使用ADO對象,和0LEDB,而AD0最主要的優(yōu)點是易于使用、速度快、內存支出少和磁盤遺跡小。OLEDB是新的底層接口。它定義了一種通用的數(shù)據(jù)訪問范例。也就是說,OLEDB并不局限于ISAM、Jet甚至關系數(shù)據(jù)源,但是它能夠處理任何類型的數(shù)據(jù),而不考慮它們的格式和存儲方法。VB6.0對ADO有完整的支持,可以通過ADO、OLEDB的接口,調整OLEDB的靈活性。甚至可以在VB中創(chuàng)建自己的OLEDB提供程序。VISUALBASIC6.0它為應用開發(fā)提供了全面、綜合性的支持,可以分別概括為如下幾點:面向對象的編程、跨平臺開發(fā)、與數(shù)據(jù)庫的連接性。第三部分系統(tǒng)規(guī)劃(教師信息管理系統(tǒng)的分析和設計)1教師信息管理系統(tǒng)的分析和概要設計根據(jù)實際情況,我使用原型法(RapidPrototyping)即以少量代價快速地構造一個可執(zhí)行的軟件系統(tǒng)模型。使用戶和開發(fā)人員可以較快地確定需求,然后采用循環(huán)進化的開發(fā)方式,對系統(tǒng)模型作連續(xù)的精化,將系統(tǒng)需具備的性質逐漸增加上去,直到所有的性質全部滿足。此時模塊也發(fā)展成為最終產品了。通過對用戶需求的分析,我們可以分析出該教師信息管理系統(tǒng)大致可以分為以下幾個模塊:信息管理模塊、工資管理模塊、登錄模塊、查詢模塊、打印模塊、系統(tǒng)維護模塊。這幾個模塊既互相獨立又相互影響下圖說明它們之間的關系3-2總體功能模塊圖3數(shù)據(jù)流程圖4模塊具體說明:3-4-1信息管理模塊:輸入:教師基本信息輸出:所需信息功能:對人事基本信息的添加、刪除、修改,查詢,瀏覽,打印3-4-2工資管理模塊輸入:月工資輸出:工資表的月統(tǒng)計功能:完成工資的數(shù)據(jù)更新,發(fā)放工資,瀏覽數(shù)據(jù)功能。3-4-3查詢模塊輸入:查詢條件輸出:查詢結果功能:完成對員工基本信息,工資的條件查詢、或模糊查詢。3-4-4系統(tǒng)維護模塊輸入:源數(shù)據(jù)表輸出:目標數(shù)據(jù)表功能:完成對系統(tǒng)數(shù)據(jù)和數(shù)據(jù)庫的維護,如用戶名、密碼的更新,數(shù)據(jù)庫數(shù)據(jù)的備份、恢復以及定期刪除。3-4-5打印模塊輸入:打印的目標輸出:打印結果功能:完成對系統(tǒng)數(shù)據(jù)和數(shù)據(jù)庫的條件打印功能。3-5教師管理系統(tǒng)數(shù)據(jù)庫設計(數(shù)據(jù)庫的組成)3-5-1數(shù)據(jù)字典名字:基本信息表別名:描述:每一位教師的基本信息記錄表定義:基本信息表=編號+姓名+性別+生日+籍貫+檔案號+身份證+聯(lián)系電話+政治面目+住址+任課+備注位置:輸出到查詢窗口名字:學歷職稱表別名:描述:每一位教師的學歷職稱的記錄表定義:學歷職稱表=編號+姓名+學歷+畢業(yè)學校+專業(yè)+現(xiàn)任職務+職稱位置:輸出到查詢窗口名字:工資表別名:描述:教師的工資統(tǒng)計表定義:工資表=編號+姓名+職務工資+活工資+獎金+補貼+代扣醫(yī)療保險+代扣職保+代扣失業(yè)保險+實發(fā)工資+備注位置:統(tǒng)計教師工資,顯示到查詢窗口名字:操作員信息表別名:系統(tǒng)管理描述:記錄操作員的信息,登錄軟件時需要驗證用戶合法性定義:操作員信息表=用戶號+用戶名+密碼+權限位置:登錄
3-5-2關系型數(shù)據(jù)庫的實現(xiàn)由于考慮到本系統(tǒng)是應用在單機系統(tǒng)上,另外根據(jù)人員規(guī)模,只建立起一個數(shù)據(jù)庫,在此數(shù)據(jù)庫基礎上建立起如下表:基本信息表,用戶信息表,學歷信息表,工資信息表?基本信息表數(shù)罷類型茲度允許空編號char12V=irch==Lr50?char10宜榜癥號varch:±r50*性別charIQ出生日期.id-ltCtzTiis藉賛V=it~':h=ir辺政治面目.chair10y聯(lián)系電詣ghorzoV住址v^ltch==Lr50任謾charib備注V=a-ch=il_500?用戶信息表列喀數(shù)貂樊型1上度允許空用戶號fhar10用尸名char2GV==Lt_ch:=Lt_501/k用戶韻別varnhar50?學歷信息表.列名數(shù)據(jù)類型允許空編號chai-12..學歷:char50說畢業(yè)學校vorcihsr50V/書業(yè)char■■-“201/職勞char11職稱char20?工資信息表列名數(shù)猖類型崔度允許空?char12職勢工貿money尊卜活工賽mcneyS補貼money8money■8.應童工資meiney8代扣匱療燥險moneyB/代扣職保moneys代扣失業(yè)保險m■:-nsy§A實發(fā)工資money8備注vai-ch:=Lt_50
F面詳細說明:?基本信息表87595452375^55564418211962121-40:男1962-12-141974-10-1781-252145城東無857^5654英語87595452375^55564418211962121-40:男1962-12-141974-10-1781-252145城東無857^5654英語;!吉;男1971-12-41969-I-1S林眶1李芬麗2編號I姓名I檔案號身恰證號I性別岀生E期I籍貫政治面目I聯(lián)系電話I住址I任課備注中礪匕?用戶信息表用尸號密碼塩戶級別!111系統(tǒng)管理員普通用尸"3普通用戶卜1?學歷信息表鴿號學歷畢業(yè)學役1專業(yè)磧稱1本科茹南大學校長高級教U帀墜本科贈南大學—[―一級教師s~??迫A蔥師范1鐵匏!1幣4本科華南師范,、”斑主任高堿教師??工資信息表編號職勞工資活工資1補用獎金應發(fā)工資代扣醫(yī)療保險代扣職保代扣失業(yè)保險實發(fā)工資1備注1800泗80100130005201248<2TULL>迂80032080100130005203243<SULL>7002805070110064-4U3056<UULL》卜另外,要聲明的是,在本數(shù)據(jù)庫的幾張表中沒有定義外鍵,其原因主要是幾張表的字段的特點。所以為了保持數(shù)據(jù)一致性就通過程序完成。第四部分系統(tǒng)的詳細設計和實現(xiàn)在本系統(tǒng)中由以下幾個功能模塊組成,它們分別是基本信息模塊、工資信息模塊、工資查詢模塊、信息查詢模塊、系統(tǒng)維護模塊、數(shù)據(jù)維護模塊和打印功能模塊,下面就開發(fā)這幾個模塊的過程及所遇到的問題分別加以介紹。
主界面4-1基本信息模塊該模塊主要完成員工基本信息的錄入、查詢、統(tǒng)計及打印功能檔案錄入界面錄入窗口中顯示的是教師必要信息??晒┯脩魹g覽查詢及以其記錄為單位的操作。如果用戶修改某一紀錄中的某一項,可進入錄入窗口。在此窗口顯示的是員工的詳細資料,在此窗口還可以增加新員工紀錄。瀏覽界面不能任意輸入教師信息,要加入新的人員信息必須到錄入界面中去。這樣就既保證數(shù)據(jù)庫的數(shù)據(jù)的一致性,又防止了數(shù)據(jù)的冗余。
4-2工資管理模塊該模塊是完成對員工的工資信息的輸入、查詢、并以此進行統(tǒng)計生成表。4工姿皆理工資管理包括數(shù)據(jù)更新,工資發(fā)放,工資報表。數(shù)據(jù)更新是在工資表查找有無此人,然后把本月的工資更新,修改,刪除。數(shù)據(jù)更新時,在編號框上輸入要更新的教師編號,輸入后,系統(tǒng)會在工資表中檢驗有無人員,如有則可更新數(shù)據(jù),無則取消操作,在可更新數(shù)據(jù)操作時,系統(tǒng)會把數(shù)據(jù)自動加到工資表中,修改和刪除記錄時,在查找人員編號文本框中輸入要修改或刪除的人員編號,系統(tǒng)就會指定到所要刪除或修改的記錄上.如果有教師上個月的工資沒有領取,則將會把該教師的工資滾入上月余額中,工資發(fā)放時把每一位教師實際應得的工資計算清楚,然后發(fā)放給每一位教師,工資報表把每一個教師本月所領款項打印出來發(fā)到個人手中,讓他們一目了然自己本月的工資情況。
3系統(tǒng)維護模塊此模塊除完成數(shù)據(jù)的一般性維護如數(shù)據(jù)的恢復與備份、數(shù)據(jù)的定期刪除。下面就數(shù)據(jù)維護進行一下討論。盡管系統(tǒng)中采取各種保護措施來防止數(shù)據(jù)的安全性和完整性的破壞,但由于計算機系統(tǒng)中硬件的故障、軟件的錯誤、操作員的失誤以及故意的破壞,問題仍然是不可避免的,而且這些故障輕則造成運行事務非正常中斷,影響數(shù)據(jù)庫中數(shù)據(jù)的正確性,重則破壞數(shù)據(jù)庫,使數(shù)據(jù)庫中全部或部分數(shù)據(jù)丟失。因此作為一個完整的管理信息系統(tǒng),數(shù)據(jù)的備份和恢復當然是少不了的。以便使系統(tǒng)彈出公共對話框由用戶選擇文件名和保存路徑以及保存格式,這給用戶提供了更大的自由度,當然,也帶來了一些問題。流圖如下所示:
4用戶管理模塊4-1登錄該模塊的主要任務是維護系統(tǒng)的正常運行與安全,包括更改密碼、注冊用戶、注銷用戶本管理系統(tǒng),若每一個進入計算機的人都能夠對系統(tǒng)進行操作,就可能有意或無意的破壞數(shù)據(jù),對用戶產生不良影響,甚至造成無法估量的損失。因此,在進入系統(tǒng)之前要設置密碼輸入功能用戶登錄關鍵是判斷它的密碼和用戶名是否與數(shù)據(jù)庫中存在的用戶信息吻合,若存在則登錄成功,若登錄不成功則重新輸入或注冊。模塊處理流程圖:
4-4-2用戶信息管理模塊用戶登錄才具有修改用戶信息的功能。它的查詢與查看用戶信息一樣,修改后提交信息。模塊處理流程圖(用戶必須登錄才可以修改用戶信息,如圖所示):
4-4-3修改密碼用戶必須登錄才可以修改密碼,模塊處理流程圖與修改用戶信息模塊大相徑庭。4-5査詢模塊查詢模塊是一個數(shù)據(jù)庫系統(tǒng)中所必須的模塊。為了方便用戶,本系統(tǒng)提供了多種查詢方式。如:按條件或模糊查詢、編號、姓名等。4-5-1按條件查詢:通過用戶輸入查詢的條件,如按人員編號,姓名,工資月份等索引,選擇操作符,填寫相應的參數(shù),單條件或雙條件查詢(又條件查詢時兩個條件的邏輯關系可為與也可為或的關系),然后在查詢結果窗口可看到查詢的結果。4-5-2模糊查詢:用戶可通過選擇按編號、姓名等字段及其在文本框所輸入的關健字進行模糊查詢,幫助用戶查找到所需的記錄,并可在查詢結果窗口看到結果。模塊流和圖如下:
幫助專業(yè)水平的軟件通常都帶有聯(lián)機幫助功能。無論寫出來的程序是要給大量的用戶使用,還是僅僅局限于公司內部有限的使用者,我們都應該為用戶提供詳細的、易于理解的幫助文檔關于版本為了使程序顯得更具有專業(yè)風格,首先可以在其中加入通常的應用程序信息。這些信息包括作者名稱、版本號、以及其他類似信息。第五部分系統(tǒng)評價(軟件特色)教師信息管理系統(tǒng)采用模塊化設計,結構清晰,可靠性好,簡明易學;界面友好,操作簡便,充分考慮人性化設計,加上全漢字操作提示,使操作、維護十分簡便,使用者在較短的時間內就能掌握數(shù)據(jù)庫具有可以分別設置使用或不使用的管理密碼與使用密碼。有效防止其他人使用相同的軟件打開數(shù)據(jù)庫或更改數(shù)據(jù)庫設置。簡單、易學、靈活模塊化結構,可根據(jù)業(yè)務需要十分方便地進行模塊增減,靈活系統(tǒng)組合,直觀地面向事務處理的菜單圖形界面操作,易學易用。模塊組建靈活。第六部分部分系統(tǒng)源代碼本系統(tǒng)定義的程序名稱,模塊,窗體名稱及功能說明名稱:login.frm功能:用戶登錄窗體名稱:frmMainMDI.frm功能:主界面程序名稱:frmUserManage.frm功能:用戶信息管理程序名稱:frmlnfolnput.frm功能:基本信息管理程序名稱:frminfocheck.frm功能:信息查詢程序名稱:frmmoney.frm功能:工資管理程序名稱:frmmoneycheck.frm功能:工資查詢程序名稱:frmSplash.frm功能:版本說明名稱:frmModifyPsw.frm功能:用戶密碼修改程序名稱:databackup.frm功能:數(shù)據(jù)備份程序名稱:frmhelp.frm功能:幫助名稱:frmFlash.frm功能:快閃窗體*1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1*面是一些主要模塊,窗體功能程序的代碼:(由于篇幅所限只列出部分程序)************************名稱:login.frm功能:用戶登錄窗體*********************OptionExplicitPrivateDeclareFunctionGetUserNameLib“advapi32.dll”Alias“GetUserNameA”(ByVallpbufferAsString,nSizeAsLong)AsLongPrivateSubCommand1_Click()DimtxtSQLAsStringDimmrcAsADODB.RecordsetDimMsgTextAsStringDimaAsIntegerStaticcAsIntegerc=c+1Ifc=4ThenMsgBox“三次輸入有誤,本程序自動退出!”UnloadMeExitSubEndIftxtSQL=“select*frompwtablewhere用戶號二‘”&Textl.Text&“'”Setmrc=ExecuteSQL(txtSQL,MsgText)IfIsNumeric(Textl.Text)=FalseThenMsgBox“請輸入數(shù)字”Textl.Text=“”Textl.SetFocusExitSubElseIfmrc.EOF=TrueThenMsgBox“用戶號輸入有誤,請從新輸入!”Textl.SetFocusTextl.Text=ExitSubElselfTrim(Combol.Text)<>Trim(mrc.Fields(“用戶級別”))ThenMsgBox“用戶級別選擇有誤,請重新選擇!”Combo1.Text=“請選擇”Combo1.SetFocusExitSubElseIfTrim(Text2.Text)<>Trim(mrc.Fields(“用戶名”))ThenMsgBox“用戶名輸入有誤,請從新輸入!”Text2.Text=“”Text2.SetFocusExitSubElseIfTrim(mrc.Fields(“密碼”))<>Trim(Text3.Text)ThenMsgBox“密碼不正確,請從新輸入!”Text3.SetFocusText3.Text=“”ExitSubElseIfTrim(Text2.Text)=Trim(mrc.Fields(“用戶名”))AndTrim(Text3.Text)=Trim(mrc.Fields(“密碼”))ThenMe.Hidemrc.ClosefrmMainMDI.ShowExitSubEndIfEndSubPrivateSubCommand2_Click()EndEndSubPrivateSubForm_Load()Combo1.AddItem“普通用戶”Combol.AddItem“系統(tǒng)管理員”EndSubPrivateSubText1_Change()IfText1.Text<>“”AndCombo1.ListIndex<>-1AndText2.Text<>“”And_Text3.Text<>“”ThenCommand1.Enabled=TrueElseCommand1.Enabled=FalseEndIfEndSubPrivateSubText2_Change()IfText1.Text<>“”AndCombo1.ListIndex<>-1AndText2.Text<>“”And_Text3.Text<>“”ThenCommand1.Enabled=TrueElseCommand1.Enabled=FalseEndIfEndSubPrivateSubText3_Change()IfText1.Text<>“”AndCombo1.ListIndex<>-1AndText2.Text<>“”And_Text3.Text<>“”ThenCommand1.Enabled=TrueElseCommand1.Enabled=FalseEndIfEndSub*****************名稱:frmMainMDI.frm功能:主界面程序*******************OptionExplicitPrivatemintChildWinCountAsIntegerConststrInfoQuery=“檔案查詢”ConststrInfoManage=“檔案錄入”ConststrScoreInput=“工資錄入”ConststrScoreFind=“工資查詢”PubliccolInfoAsCollectionPubliccolScoreAsCollectionPubliccolAllMenuAsCollectionPublicSubInfo_Initialize()SetcolInfo=NewCollectioncolInfo.AddstrInfoManagecolInfo.AddstrInfoQueryEndSubPublicSubScore_Initialize()SetcolScore=NewCollectioncolScore.AddstrScoreInputcolScore.AddstrScoreFindEndSubPublicSubAllMenu_initialize()SetcolAllMenu=NewCollectioncolAllMenu.AddstrInfoManagecolAllMenu.AddstrInfoQuerycolAllMenu.AddstrScoreInputcolAllMenu.AddstrScoreFindEndSubPrivateSubtmrStat_Timer()OnErrorGoToerrstaMainMdi.Panels(1).Text=“當前窗口:”&frmMainMDI.ActiveForm.CaptionExitSuberr:staMainMdi.Panels(1).Text=“當前沒有打開的子窗口!”EndSubPrivateSubadmini_Click()frmUserManage.ShowEndSubPrivateSubcheckfile_Click(IndexAsInteger)frminfocheck.ShowEndSubPrivateSubdata_Click()databackup.ShowEndSubPrivateSubexit_Click()MsgBox“要退出系統(tǒng)嗎?”,4129,“確認”UnloadMeEndSubPrivateSubgongzichaxun_Click()frminfocheck.ShowEndSubPrivateSubgongziluru_Click()frmmoney.ShowEndSubPrivateSubguanyu_Click()frmSplash.ShowEndSubPrivateSubhelphelp_Click()frmhelp.ShowEndSubPrivateSubluru_Click()frmInfoInput.ShowEndSubPrivateSubMDIForm_Load()MPaintMDIBackground.InitializePaintBackgroundhwnd,MeMove(Screen.Width-Me.Width)/2,_(Screen.Height-Me.Height)/2CallInfo_InitializeCallScore_InitializeCallAllMenu_initializeIflogin.Combo1.Text=“普通用戶”Thenadmini.Enabled=Falsequanxian.Enabled=Falsedata.Enabled=Falseluru.Enabled=Falsegongziluru.Enabled=Falsedayin.Enabled=FalseEndIfEndSubPrivateSubmima_Click()frmModifyPsw.ShowEndSubPrivateSubmoney_Click()recordall.Show1EndSubPrivateSubprints_Click()CommonDialog1.ShowPrinterEndSubPrivateSubquanxian_Click()frmUserManage.ShowEndSubPrivateSubToolbar1_ButtonClick(ByValButtonAsMSComctlLib.Button)IfNot(frmMainMDI.ActiveFormIsNothing)ThenUnloadfrmMainMDI.ActiveFormEndIfEndSub*************名稱:frmlnfolnput.frm功能:基本信息管理程序****************PrivateSubcmdAddData_Click()Adodc1.Recordset.AddNewEndSubPrivateSubCommand2_Click()Adodc1.Recordset.DeleteAdodc1.Recordset.MoveNextIfAdodc1.Recordset.EOF=TrueThenAdodc1.Recordset.MoveLastEndIfEndSubPrivateSubCommand3_PicClick()Adodc1.Recordset.UpdateEndSubPrivateSubCommand5_Click()‘'''''''''''''''''''''''''''''''''查詢Adodc1.RecordSource=“select*from檔案where編號like“&“'”&txtcode.Text&“'”With檔案IfNot.EOFThentxtcode.Text二.Fields(編號)MaskEdBox2.Text=.Fields(身份證號)txtname.Text二.Fields(姓名)Combol.Text二.Fields(性別)mskEdDate.Text=.Fields(出生日期)txtshouji.Text二.Fields(檔案號)txtjiguan.Text二.Fields(籍貫)MaskEdBox2.Text=.Fields(身份證號)txtaddress.Text二.Fields(住址)MaskEdBoxl.Text=.Fields(聯(lián)系電話)txtmemo.Text二.Fields(備注)Textl.Text二.Fields(學歷)Text2.Text二.Fields(畢業(yè)學校)Text3.Text二.Fields(專業(yè))Combo4.Text二.Fields(職稱)Combo3.Text二.Fields(職務)Combo2.Text二.Fields(任課)ElseMsgBox“沒有此記錄!”,vblnformation,“請重示??!”Textl.Text=“”EndIfEndWithEndSub**************名稱:frminfocheck.frm功能:信息查詢程序*******************OptionExplicitDimTempStrAsStringDimTmpBlAsBoolean
DimIAsIntegerDimStrAndOrAsIntegerDimbIsLessonAsBooleanPrivateSubcmdadd_Click()IfcomboValue.Text=“”ThenMsgBox“值不能為空”,vbInformation,Me.CaptionExitSubEndIfIfComboField.ListIndex=3AndVal(comboValue.Text)>120ThenMsgBox“年齡有誤,請重新輸入”,vbInformation,Me.CaptioncomboValue.SetFocusSendKeys“{Home}+{End}”ExitSubEndIfSelectCaseComboField.ListIndexCase0TempStr=TempStr&“recordtable.編號Case1TempStr=TempStr&“recordtable.姓名Case2TempStr=TempStr&“recordtable.性別Case3TempStr=TempStrTempStr=TempStr&leveltable.職稱CaseCase4TempStr=TempStrTempStr=TempStr&leveltable.職務EndSelectIfComboField.Text=“選擇字段”ThenMsgBox“請選擇字段!”,vblnformation,Me.CaptionComboField.SetFocusExitSubEndIfIfComboConnect.Text=“條件”ThenMsgBox“請選擇條件!”,vbInformation,Me.CaptionEndSubEndSubEndSubEndSubComboConnect.SetFocusExitSubElseIfTxtCondition.Text=“”ThenIfComboConnect.Text=“Like”ThencomboValue.Text=comboValue.Text&“%”SelectCaseComboField.ListIndexCase3,6TxtCondition.Text=ComboField.Text&““&ComboConnect.Text&““&comboValue.TextTempStr=TempStr&ComboConnect.Text&““&comboValue.TextCase0,1,2,4,5,7,8TxtCondition.Text=ComboField.Text&““&ComboConnect.Text&“‘”&comboValue.Text&“'“TempStr=TempStr&ComboConnect.Text&“‘”&comboValue.Text&EndSelectElseIfComboConnect.Text=“Like”ThencomboValue.Text=comboValue.Text&“%”SelectCaseComboField.ListIndexCase3,6TxtCondition.Text=TxtCondition.Text&vbCrLf&ComboField.Text&““&ComboConnect.Text&““&comboValue.TextTempStr=TempStr&ComboConnect.Text&““&comboValue.TextCase0,1,2,4,5,7,8TxtCondition.Text=TxtCondition.Text&vbCrLf&ComboField.Text&““&ComboConnect.Text&“‘”&comboValue.Text&“'“TempStr=TempStr&ComboConnect.Text&“‘”&comboValue.Text&EndSelectEndIfCmdAnd.Enabled=TrueCmdOr.Enabled=TrueTmpBl=FalseStrAndOr=0CmdAdd.Enabled=FalsePrivateSubCmdAnd_Click()I=1CmdAdd.Enabled=TrueCmdAnd.Enabled=FalseCmdOr.Enabled=TruecomboValue.ClearcomboValue.Text=“值”ComboField.Text=“選擇字段”ComboConnect.Text=“條件”CmdList.Enabled=FalseTmpBl=TrueIfStrAndOr=2AndTempStr<>“”ThenTempStr二Left(TempStr,Len(TempStr)-3)&“And“TxtCondition.Text二Left(TxtCondition.Text,Len(TxtCondition.Text)-3)&“And”ElseIfStrAndOr=0ThenTempStr=TempStr&“And“TxtCondition.Text=TxtCondition.Text&““&“And”EndIfStrAndOr=1EndSubPrivateSubCmdCancel_Click()UnloadMeEndSubPrivateSubcmdClear_Click()TxtCondition.Text=“”TempStr=“”CmdAdd.Enabled=TrueCmdOk.Enabled=TruebIsLesson=FalseadOpenDynamic,adOpenDynamic,adOpenDynamic,adOpenDynamic,adOpenDynamic,adOpenDynamic,PrivateSubCmdList_Click()DimrstAsADODB.RecordsetSetrst=NewADODB.RecordsetSelectCaseComboField.ListIndexCase0Setrst=NothingSetrst=NewADODB.Recordsetrst.Open“Select*fromrecordtable”,conMain,adLockOptimisticcomboValue.Clearrst.MoveFirstDoWhileNotrst.EOFAndNotrst.BOFcomboValue.Addltemrst.Fields(“編號”)rst.MoveNextLoopCase1Setrst=NothingSetrst=NewADODB.Recordsetrst.Open“Select*fromrecordtable”,conMain,adLockOptimisticcomboValue.Clearrst.MoveFirstDoWhileNotrst.EOFAndNotrst.BOFcomboValue.Addltemrst.Fields(“姓名”)rst.MoveNextLoopCase8comboValue.ClearDimTmplessonAsStringSetrst=NewADODB.Recordsetrst.Open“Select*fromleveltable”,conMain,adLockOptimisticrst.MoveFirstTmplesson=“”IfrsLessons.EOFThenExitSubDimstrAsStringstr=rst.Fields(“職務”).ValueTmplesson=“職務<>‘”&str&“'”comboValue.Addltem(rst.Fields(“職務”))DoWhileTruerst.Filter=TmplessonIfrst.EOFAndrst.BOFThenExitDoEndIfrst.MoveFirstcomboValue.Addltemrst.Fields(“職務”)Tmplesson=Tmplesson&“And職務?‘”&rst.Fields(“職務”)&“'”rst.MoveNextLoopEndSelectIfStrAndOr<>0ThenCmdAdd.Enabled=TrueEndIfIfStrAndOr<>0ThenCmdAnd.Enabled=FalseCmdOr.Enabled=FalseEndIfcomboValue.SetFocusSendKeys“{Home}+{End}”comboValue.Text=comboValue.List(0)StrAndOr=0Setrstemp=NothingEndSubPrivateSubCmdOk_Click()DimXAsIntegerIfTempStr<>“”AndRight(TempStr,4)=“Or“ThenTempStr=Left(TempStr,Len(TempStr)-4)IfTempStr<>“”AndRight(TempStr,5)=“And“ThenTempStr=Left(TempStr,Len(TempStr)-5)IfTxtCondition.Text=“”ThenX=MsgBox(“是否放棄查詢?”,vbQuestion+vbYesNo,Me.Caption)IfX=vbYesThenUnloadMeElse:ExitSubEndIfEndIfIfTxtCondition.Text<>“”ThenSetrsFind=NewADODB.RecordsetIfbIsLesson=FalseThenrsFind.Open“Selectrecordtable.*fromrecordtablewhere“&TempStr,conMain,adOpenDynamic,adLockOptimisticElsersFind.Open“Selectrecordtable.*fromrecordtable,leveltablewhere(“&TempStr&“)Andrecordtable.編號=leveltable.編號”,conMain,adOpenKeyset,adLockOptimisticEndIfIfrsFind.EOFAndrsFind.BOFThenMsgBox“找不到記錄”,vblnformation,Me.CaptionCmdAdd.Enabled=TrueTempStr=“”CmdOk.Enabled=FalsecomboValue.Text=“值”ComboField.Text=“選擇字段”ComboConnect.Text=“條件”ComboField.SetFocusbIsLesson=FalseExitSubElseDimIAsIntegerDimstrAsStringDimstrTempAsStringSetrst=NothingSetrst=NewADODB.RecordsetrsFind.MoveFirststrTemp=rsFind.Fields(“編號”)str=“編號=‘”&rsFind.Fields(“編號”)&“'”DoWhileNotrsFind.EOFrsFind.MoveNextIfrsFind.EOFThenExitDoIfstrTemp<>rsFind.Fields(“編號”).ValueThenstr=str&“Or編號二‘”&rsFind.Fields(“編號”)&“'”strTemp=rsFind.Fields(“編號”).ValueEndIfLooprst.Open“Select*fromrecordtableWhere“&str,adOpenDynamic,adLockOptimistic‘frmmain.lstFirstName.Clear‘frmmain.FillListrsTeachers,boclass.ListIndex‘frmmain.lstFirstName.RemoveItem(0)‘frmmain.lstFirstName.Selected(0)=True‘frmmain.FillGridrsTeachers,boclass.ListIndex‘frmmain.lblTongJi.Caption=“”EndIfEndIfUnloadMeEndSubPrivateSubCmdOr_Click()I=1CmdAdd.Enabled=TrueCmdOr.Enabled=FalseCmdAnd.Enabled=TruecomboValue.Clear
comboValue.Text=comboValue.Text=值”ComboField.Text=“選擇字段”ComboConnect.Text=“條件”CmdList.Enabled=FalseTmpBl=TrueIfStrAndOr=1AndTempStr<>“”ThenTempStr二Left(TempStr,Len(TempStr)-4)&“Or“TxtCondition.Text二Left(TxtCondition.Text,Len(TxtCondition.Text)-4)&“Or”ElseIfStrAndOr=0ThenTempStr=TempStr&“Or“TxtCondition.Text=TxtCondition.Text&““&“Or”EndIfStrAndOr=2EndSubPrivateSubComboField_Click()SelectCaseComboField.ListIndexCase0ComboConnect.ClearcomboValue.ClearComboConnect.Text=“條件”ComboConnect.AddItem(“=”)ComboConnect.AddItem(“Like”)CmdList.Enabled=TrueCase1ComboConnect.ClearcomboValue.ClearComboConnect.Text=“條件”ComboConnect.AddItem(“=”)ComboConnect.AddItem(“Like”)CmdList.Enabled=TrueCase2ComboConnect.ClearcomboValue.ClearComboConnect.Text=“條件”ComboConnect.AddItem(“=”)comboValue.AddItem(“男”)comboValue.AddItem(“女”)CmdList.Enabled=FalseCase3ComboConnect.ClearcomboValue.ClearComboConnect.Text=“條件”ComboConnect.AddItem(“=”)ComboConnect.AddItem(“Like”)comboValue.AddItem(“特級教師”)comboValue.AddItem(“高級教師”)comboValue.AddItem(“一級教師”)comboValue.AddItem(“二級教師”)comboValue.AddItem(“無”)CmdList.Enabled=FalseCase4ComboConnect.ClearcomboValue.ClearComboConnect.Text=“條件”ComboConnect.AddItem(“=”)ComboConnect.AddItem(“Like”)comboValue.AddItem(“校長”)comboValue.AddItem(“副校長”)comboValue.AddItem(“教務處主任”)comboValue.AddItem(“班主任”)comboValue.AddItem(“無”)CmdList.Enabled=FalseCase6ComboConnect.ClearcomboValue.ClearComboConnect.Text=“條件”ComboConnect.AddItem(“=”)ComboConnect.AddItem(“Like”)CmdList.Enabled=TrueEndSelectComboConnect.Text=ComboConnect.List(0)IfcomboValue.List(0)<>“”ThencomboValue.Text=comboValue.List(0)CmdList.Enabled=FalseExitSubEndIfCmdList.Enabled=TrueEndSubPrivateSubcomboValue_KeyPress(KeyAsciiAsInteger)SelectCaseComboField.ListIndexCase3,6IfKeyAscii>57OrKeyAscii<48AndKeyAscii<>8ThenKeyAscii=0EndIfEndSelectEndSubPrivateSubForm_Load()I=0TxtCondition.Text=“”TempStr=“”ComboField.AddItem(“編號”)ComboField.AddItem(“姓名”)ComboField.AddItem(“性別”)ComboField.AddItem(“職稱”)ComboField.AddItem(“職務”)CmdAnd.Enabled=FalseCmdOr.Enabled=FalseTmpBl=FalsebIsLesson=FalseEndSubPublicSubFillGrid(rsAsADODB.Recordset)DimIAsIntegerI=0frmmain.Gridname.Clearfrmmain.Gridname.Rows=I+1frmmain.Gridname.TextMatrix(0,1)=“姓名”rs.MoveFirstDoWhileNotrs.EOFI=I+1frmmain.Gridname.Rows=I+1frmmain.Gridname.TextMatrix(I,1)=rs.Fields(“txtname”).ValueIfrs.EOFThenExitDors.MoveNextLoopfrmmain.lb#Caption二“搜索至U“&frmmain.Gridname.Rows-1&“條記錄"Iffrmmain.Gridname.Rows>1Thenfrmmain.Gridname.TextMatrix(l,0)=“▲”EndIfEndSubPrivateSubUsrPicBtn7_Click()UnloadMeEndSubPrivateSubUsrPicBtn1_Click()CommonDialog1.ShowPrinterEndSub*************************其它模塊程序略****************************************第七部分軟件測試7-1軟件測試的目的軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程?;蛘哒f,軟件測試是根據(jù)軟件開發(fā)各階段的規(guī)格說明和程序的內部結構而精心設計一批測試用例{即輸入數(shù)據(jù)及其預期的輸出結果},并利用這些測試用例去運行程序,以發(fā)現(xiàn)程序錯誤的過程。設計測試的目標是想以最少的時間和人力,系統(tǒng)地找出軟件中潛在的各種錯誤和缺陷。如果成功地實施了測試,就能夠發(fā)現(xiàn)軟件中的錯誤。測試的附帶收獲是,它能夠證明軟件的功能和性能與需求說明相符合。此外,實施測試收集到的測試結果數(shù)據(jù)為可靠性分析提供了依據(jù)。而測試的目的就是在軟件投入生產性運行之前,盡可能地發(fā)現(xiàn)軟件中的錯誤。7-2測試與軟件開發(fā)各階段的關系軟件開發(fā)過程是一個自頂向下,逐步細化的過程,而測試過程則是依相反的順序安排的自底想上,逐步集成的過程。低一級測試為了上一級測試準備條件。參看圖7.1,首先對每一個程序模塊進行單元測試,消除程序模塊內部在邏輯上和功能上的錯誤和缺陷。再對照軟件設計進行集成測試,檢測和排除子系統(tǒng)(或系統(tǒng))結構上的錯誤。隨后再對照需求,進行確認測試。最后從系統(tǒng)全體出發(fā),運行系統(tǒng),看是否滿
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 做幼師的心得體會范本多篇
- DB12T 598.15-2015 天津市建設項目用地控制指標 第15部分:民用航空運輸機場項目
- 中秋節(jié)日慰問信范文(12篇)
- 文書模板-分床協(xié)議書
- 英語配音課件教學課件
- 智能運輸系統(tǒng) 體系結構 服務 征求意見稿
- 光纖通信試題及答案
- 外國語學校等校聯(lián)考八年級上學期語文期末考試試卷
- 黃家鎮(zhèn)桂花井初級中學八年級上學期語文第一次月考試卷
- 猴子溫泉課件教學課件
- 施工隊結算單
- 布袋除塵器計算書
- 服裝畫技法教案PPT課件
- 合格評估方案解讀PPT課件
- 二年級音樂跳竹竿教學反思
- 胰島素治療糖尿病的用法及劑量計算
- 國家開放大學《C語言程序設計》章節(jié)測試參考答案
- GB∕T 16754-2021 機械安全 急停功能 設計原則
- 工程結算的難點原因及其治理措施
- 掛籃施工安全教育培訓
- 三角形鋼管懸挑腳手架計算書
評論
0/150
提交評論