




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、軟件工程大作業(yè)題目:學(xué)生檔案管理系統(tǒng)小組成員:戚盈潔()王大偉()王 磊()霍成海()目錄第一章. 系統(tǒng)調(diào)查41.1系統(tǒng)調(diào)查內(nèi)容41.2系統(tǒng)調(diào)查方法4第二章. 系統(tǒng)分析42.1 系統(tǒng)分析42.2 系統(tǒng)調(diào)結(jié)構(gòu)圖52.3 子系統(tǒng)功能描述5第三章. 系統(tǒng)設(shè)計(jì)73.1 界面設(shè)計(jì)原則73.2 數(shù)據(jù)庫(kù)設(shè)計(jì)73.3 代碼設(shè)計(jì)11第四章. 學(xué)生照片管理模塊設(shè)計(jì)154.1 ImageFunc模塊154.2 設(shè)計(jì)照片管理窗體174.3 在學(xué)生信息管理窗體中添加照片管理代碼18第五章. 系統(tǒng)測(cè)試195.1 系統(tǒng)測(cè)試項(xiàng)目195.2 系統(tǒng)評(píng)估21第一章. 系統(tǒng)調(diào)查1.1系統(tǒng)調(diào)查內(nèi)容學(xué)校各院系基本概況:院系名稱(chēng),專(zhuān)業(yè)設(shè)置
2、,課程設(shè)置,課時(shí)安排,學(xué)生人數(shù),學(xué)生班級(jí)數(shù)等。學(xué)校資源條件調(diào)查,包括計(jì)算機(jī)配備,網(wǎng)絡(luò)支持條件等。各院系專(zhuān)業(yè)設(shè)置概況:現(xiàn)有開(kāi)設(shè)專(zhuān)業(yè)及規(guī)劃中開(kāi)設(shè)專(zhuān)業(yè)設(shè)置,專(zhuān)業(yè)開(kāi)設(shè)課程,各課程授課教師與成績(jī)處理。學(xué)校各部門(mén)(學(xué)生處、教務(wù)處、檔案管理室、各院系)對(duì)學(xué)生基本情況的需求與掌握,對(duì)學(xué)生基本信息的處理方式與業(yè)務(wù)流程。學(xué)校各部門(mén)、單位、教師、學(xué)生對(duì)系統(tǒng)的其他要求和希望。1.2系統(tǒng)調(diào)查方法通過(guò)對(duì)部分高校學(xué)生檔案管理人員的訪(fǎng)問(wèn),了解到目前大部分高校的檔案管理工作存在工作效率低,成本高,保密性差,查詢(xún)困難等問(wèn)題。大部分工作人員都提出需要一個(gè)具有檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等優(yōu)點(diǎn)的現(xiàn)
3、代化信息管理系統(tǒng)。為解決此問(wèn)題我們決定開(kāi)發(fā)一個(gè)既方便又操作簡(jiǎn)單,功能較為齊全的學(xué)生檔案管理系統(tǒng)。第二章. 系統(tǒng)分析2.1 系統(tǒng)分析1 系統(tǒng)開(kāi)發(fā)的總體任務(wù)是學(xué)生檔案管理的系統(tǒng)化和規(guī)范化。2 系統(tǒng)開(kāi)發(fā)的目標(biāo)是使檔案管理工作科學(xué)化和規(guī)范化,提高安全系數(shù)。3 系統(tǒng)功能樹(shù)本系統(tǒng)主要功能是實(shí)現(xiàn)學(xué)生基本情況的管理。學(xué)生獎(jiǎng)懲管理學(xué)生學(xué)籍管理學(xué)生信息管理課程信息管理系統(tǒng)用戶(hù)管理院系信息管理學(xué)生檔案管理系統(tǒng) 圖3.1學(xué)生檔案管理系統(tǒng)功能模塊2.2 系統(tǒng)調(diào)結(jié)構(gòu)圖運(yùn)行權(quán)限輸入主界面判斷繼續(xù)退出數(shù)據(jù)庫(kù)文件正確錯(cuò)誤是否院系信息管理學(xué)生信息管理學(xué)生獎(jiǎng)懲管理學(xué)生學(xué)籍管理系統(tǒng)用戶(hù)管理課程信息管理學(xué)生照片信息管理學(xué)生基本信息管理
4、學(xué)生主要教育經(jīng)歷管理考試成績(jī)管理課程設(shè)置管理轉(zhuǎn)學(xué)調(diào)班管理退學(xué)休學(xué)管理針對(duì)各個(gè)模塊不同的表實(shí)現(xiàn)添加記錄、修改記錄、刪除記錄,以及查詢(xún)顯示記錄等功能圖3.2學(xué)生檔案管理系統(tǒng)結(jié)構(gòu)圖2.3 子系統(tǒng)功能描述院系管理由創(chuàng)建院系及班級(jí)信息,修改院系班級(jí)記錄,刪除院系班級(jí)記錄,查看院系班級(jí)數(shù)據(jù)四部分組成。創(chuàng)建院系與班級(jí)信息。主要是院系名稱(chēng),班級(jí)專(zhuān)業(yè)名稱(chēng),院系具體描述,班級(jí)介紹,院系編號(hào)由數(shù)據(jù)庫(kù)系統(tǒng)自動(dòng)編號(hào),不顯示在前臺(tái)程序。修改院系與班級(jí)記錄??蓪?duì)院系或班級(jí)名稱(chēng),描述,介紹等記錄進(jìn)行修改。刪除院系與班級(jí)記錄??蛇x擇刪除院系或班級(jí),如果所選院系或班級(jí)已含有數(shù)據(jù)記錄,如含有專(zhuān)業(yè)班級(jí)資料,或?qū)W生資料,則必須先將其所
5、含有的記錄資料刪除,才能成功完成操作。查詢(xún)?cè)合蹬c班級(jí)資料。在院系管理的主界面查看已有院系及班級(jí)記錄。2) 學(xué)生信息管理由創(chuàng)建、修改、刪除學(xué)生信息資料,添加、修改、刪除學(xué)生教育經(jīng)歷,添加與刪除學(xué)生照片組成。學(xué)生信息資料創(chuàng)建,將剛?cè)雽W(xué)的學(xué)生資料添加到數(shù)據(jù)庫(kù)中加以保存。信息資料由學(xué)生編號(hào)、姓名、照片、性別、民族、生日、政治面貌、籍貫、身份證號(hào)、學(xué)生證號(hào)、家庭電話(huà)、居住住址、郵政編碼、入校日期、職務(wù)、所在院系編號(hào)、備注和填表時(shí)間組成?;诒Wo(hù)數(shù)據(jù)記錄安全性考慮學(xué)生編號(hào)由數(shù)據(jù)庫(kù)系統(tǒng)自動(dòng)生成,不顯示在前臺(tái)程序。院系編號(hào)亦不在學(xué)生信息管理界面顯示,只在后臺(tái)數(shù)據(jù)庫(kù)顯示。添加、修改、刪除學(xué)生教育經(jīng)歷,創(chuàng)建并管理
6、所選擇學(xué)生過(guò)去的教育經(jīng)歷,曾就讀與某校,任何職務(wù)。添加、刪除學(xué)生照片。為所選擇學(xué)生添加個(gè)人照片,如需更新照片,只需再次添加,既可覆蓋原有照片數(shù)據(jù)記錄。3) 獎(jiǎng)懲信息管理由添加學(xué)生獎(jiǎng)懲信息,修改獎(jiǎng)懲信息,刪除獎(jiǎng)懲信息,瀏覽學(xué)生獎(jiǎng)懲信息組成。添加、修改學(xué)生獎(jiǎng)懲信息,設(shè)置學(xué)生獎(jiǎng)勵(lì)或處罰資料,獎(jiǎng)勵(lì)與處罰項(xiàng)目使用備選項(xiàng),亦可再加以具體說(shuō)明。刪除獎(jiǎng)懲信息。獎(jiǎng)勵(lì)與懲罰記錄分開(kāi)顯示,選擇某條獎(jiǎng)懲記錄,將其刪除。4) 學(xué)生學(xué)籍信息管理由添加、修改、刪除學(xué)生退學(xué)、轉(zhuǎn)學(xué)、休學(xué)、調(diào)班等學(xué)籍信息組成。添加、修改學(xué)生學(xué)籍信息資料。通過(guò)在院系表中選擇目標(biāo)班級(jí),可選擇學(xué)生姓名,刪除學(xué)生學(xué)籍變更數(shù)據(jù)記錄。學(xué)生調(diào)班成功后,系統(tǒng)敬
7、愛(ài)能夠自動(dòng)更新該學(xué)生在院系班級(jí)表,學(xué)生基本信息表中的相關(guān)數(shù)據(jù)記錄。5)課程管理由創(chuàng)建、修改、刪除課程信息,學(xué)生課程成績(jī)信息組成。創(chuàng)建、修改課程信息,可創(chuàng)建或修改新課程名稱(chēng),授課教師,課時(shí)設(shè)置,課程類(lèi)型。刪除課程信息。選擇某個(gè)課程記錄,可將其所包含的所有信息刪除。學(xué)生課程成績(jī)信息,由添加、修改、刪除課程成績(jī)信息組成。設(shè)置院系學(xué)生中學(xué)生課程成績(jī)信息。6)系統(tǒng)管理由創(chuàng)建用戶(hù),修改用戶(hù),刪除用戶(hù),瀏覽用戶(hù)信息組成。創(chuàng)建用戶(hù)。該功能只對(duì)系統(tǒng)管理員開(kāi)放,使用系統(tǒng)管理員身份登陸后可創(chuàng)建起他用戶(hù)。修改、刪除用戶(hù)。該權(quán)限只對(duì)系統(tǒng)管理員開(kāi)放。非系統(tǒng)管理員只能對(duì)自己的用戶(hù)名和密碼進(jìn)行修改。第三章. 系統(tǒng)設(shè)計(jì)3.1
8、界面設(shè)計(jì)原則一個(gè)好的應(yīng)用程序不僅要有強(qiáng)大的功能,還要有美觀實(shí)用的用戶(hù)界面。用戶(hù)界面是應(yīng)用程序的一個(gè)重要組成部分,一個(gè)應(yīng)用程序的界面往往決定了該程序的易用性與可操作性,一個(gè)美觀的界面的美觀和用戶(hù)親和性是應(yīng)用軟件成功的首要條件。界面設(shè)計(jì)具有一般性的原則,最為重要的有:界面要具有一致性;常用操作要有捷徑;提供簡(jiǎn)單的錯(cuò)誤處理;提供信息反饋;操作可逆。我們?cè)谠O(shè)計(jì)界面時(shí)充分從一致性、友好性、交互性、信息子最小量原則、易用性、數(shù)據(jù)輸入等方考慮,遵循以下原則操作簡(jiǎn)單,易學(xué),易掌握;界面美觀,操作舒適;快速反應(yīng),響應(yīng)合理;語(yǔ)言規(guī)范,語(yǔ)義一致。一致性,在同一界面中,所有的菜單選擇、命令輸入、數(shù)據(jù)顯示和其他功能應(yīng)保
9、持風(fēng)格的一致性。信息最小量原則。人機(jī)界面設(shè)計(jì)要盡量減少用戶(hù)記憶負(fù)擔(dān),采用有助于記憶的設(shè)計(jì)方案。用戶(hù)界面應(yīng)能對(duì)用戶(hù)的決定做出及時(shí)的響應(yīng),提高對(duì)話(huà)、移動(dòng)的思考的效率,最大可能的減少擊鍵次數(shù),縮短鼠標(biāo)移動(dòng)距離,避免使用戶(hù)產(chǎn)生無(wú)所適從的感覺(jué)。人機(jī)界面應(yīng)該提供上下文敏感的求助系統(tǒng),讓用戶(hù)及時(shí)獲得幫助,盡量用簡(jiǎn)短的動(dòng)詞和動(dòng)詞短語(yǔ)提示命令。操作可逆。操作應(yīng)該可逆,對(duì)于不具備專(zhuān)業(yè)知識(shí)的操作人員非常有用,可逆的動(dòng)作可以是單個(gè)的操作,也可以是一個(gè)相對(duì)獨(dú)立的操作序。界面設(shè)計(jì)過(guò)程(略)3.2 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)流程圖DFD(Data Flow Diagram) 是描述系統(tǒng)數(shù)據(jù)流程的工具,它將數(shù)據(jù)獨(dú)立抽象出來(lái),通用圖形方式
10、描述信息的來(lái)龍去脈和實(shí)際流程。開(kāi) 始退出程序讀取用戶(hù)類(lèi)型用戶(hù)登錄失敗超過(guò)3次重試失敗是否成功普通用戶(hù)Admin用戶(hù)學(xué)生信息管理院系信息管理學(xué)生獎(jiǎng)懲管理學(xué)生學(xué)籍管理考試成績(jī)管理管理自己的用戶(hù)信息1、管理自己的用戶(hù)信息2、管理普通用戶(hù)的用戶(hù)信息學(xué)生檔案管理模塊用戶(hù)管理模塊圖4.1數(shù)據(jù)流程分析圖數(shù)據(jù)字典(Data Dictionary, DD)是DBMS中的一個(gè)特殊文件,用于存儲(chǔ)數(shù)據(jù)庫(kù)的一些說(shuō)明信息,這些說(shuō)明信息稱(chēng)為元數(shù)據(jù)(Meta Data)。DD是在新的信息系統(tǒng)數(shù)據(jù)流程圖的基礎(chǔ)上,進(jìn)一步定義和描述數(shù)據(jù)處理過(guò)程、外交實(shí)體及數(shù)據(jù)存儲(chǔ)(數(shù)據(jù)庫(kù))的詳細(xì)邏輯內(nèi)容工具。本系統(tǒng)后臺(tái)數(shù)據(jù)庫(kù)采用Microsoft
11、 SQL Server 2000數(shù)據(jù)庫(kù)。建立了一個(gè)數(shù)據(jù)庫(kù)StudentSys,包括了九個(gè)表:院系班級(jí)表Classes、學(xué)生基本信息表Students、學(xué)生教育經(jīng)歷記錄表Experience、學(xué)生獎(jiǎng)懲表Evaluation、學(xué)生學(xué)籍變動(dòng)表Change、課程設(shè)置表Lessons、考試成績(jī)表Scores、用戶(hù)信息表Users。表1 Classes結(jié)構(gòu)編號(hào)字段名稱(chēng)數(shù)據(jù)類(lèi)型字段大小說(shuō)明1Class_idInt4院系編號(hào)2Class_NameVarchar40院系名稱(chēng)3DescribeVarchar400院系職能描述4UpperIdInt2上級(jí)院系編號(hào)表2 Students結(jié)構(gòu)編號(hào)字段名稱(chēng)數(shù)據(jù)類(lèi)型字段大小
12、說(shuō)明1Student_IdInt4學(xué)生編號(hào)2Student_NameVarchar0姓名3PhotoImage16照片4SexVarchar2性別5NationalityVarchar40民族6BirthVarchar20生日7Political_PartyVarchar40政治面貌8Family_PlaceVarchar60籍貫9Id_CardVarchar20身份證號(hào)10BadgeIdVarchar40學(xué)生證號(hào)11Home_phoneVarchar30家庭電話(huà)12ResidenceVarchar100居住地址13PostcodeVarchar10郵政編碼14InDateVarchar20入
13、校日期15Class_IdSmalint2所在院系編號(hào)16TitleVarchar20職務(wù)17MemoVarchar200備注18Fillin_TimeVarchar20填報(bào)時(shí)間(日期+時(shí)間)表3 Experience結(jié)構(gòu)編號(hào)字段名稱(chēng)數(shù)據(jù)類(lèi)型字段大小說(shuō)明1ExpIdInt4編號(hào)2Student_IdInt4學(xué)生編號(hào)3Start_DateChar10開(kāi)始日期4End_DateChar10終止日期5SchoolVarchar50學(xué)校/單位名稱(chēng)6TitleVarchar20職務(wù)表4 Evaluation結(jié)構(gòu)編號(hào)字段名稱(chēng)數(shù)據(jù)類(lèi)型字段大小說(shuō)明1EvaIdInt4獎(jiǎng)懲記錄編號(hào)2EvaDateChar10獎(jiǎng)
14、懲日期3Student_IdInt4學(xué)生編號(hào)4EvaTypeBit1獎(jiǎng)懲類(lèi)型(0表示獎(jiǎng)勵(lì),1表示處罰)5MemoVarchat200獎(jiǎng)懲說(shuō)明6EvaContentChar20獎(jiǎng)懲內(nèi)容表5 Change結(jié)構(gòu)編號(hào)字段名稱(chēng)數(shù)據(jù)類(lèi)型字段大小說(shuō)明1ChangeIdInt4學(xué)籍變動(dòng)編號(hào)2Student_IdInt4學(xué)生編號(hào)3ChangeTypeTinyint1學(xué)籍變動(dòng)類(lèi)型(1表示退學(xué),2表示休學(xué),3表示轉(zhuǎn)學(xué),4表示調(diào)班)4ChangeDateChar10學(xué)籍變動(dòng)日期5OriClassInt4原班級(jí)編號(hào)6NewSchoolVarchar50轉(zhuǎn)入學(xué)校名稱(chēng)7NewClassInt4轉(zhuǎn)入班級(jí)編號(hào)8ReasonVa
15、rchar200學(xué)籍變動(dòng)原因9MemoVarchar200備注表6 Lessons結(jié)構(gòu)編號(hào)字段名稱(chēng)數(shù)據(jù)類(lèi)型字段大小說(shuō)明1LessonIdInt4課程編號(hào)2LessonNameVarchar100課程名稱(chēng)3TermVarchar20課程設(shè)置的學(xué)期4TeacherVarchar20授課老師5HoursTinyint1課時(shí)6LessonTypeVarchar20課程類(lèi)型(必修課,選修課)表7 Scores結(jié)構(gòu)編號(hào)字段名稱(chēng)數(shù)據(jù)類(lèi)型字段大小說(shuō)明1LessonIdInt4課程編號(hào)2Student_IdInt4學(xué)生編號(hào)3ScoreTinyint1考試分?jǐn)?shù)表8 Users結(jié)構(gòu)編號(hào)字段名稱(chēng)數(shù)據(jù)類(lèi)型字段大小說(shuō)明1
16、UsersNameVarchar40用戶(hù)名2PwdVarchar40密碼3UserTypeVarchar10用戶(hù)類(lèi)型3.3 代碼設(shè)計(jì)一個(gè)高效的軟件不僅應(yīng)該比實(shí)現(xiàn)同樣功能的軟件運(yùn)行得更快,還應(yīng)該消耗更少的系統(tǒng)資源。所以代碼的設(shè)計(jì)就顯得非常重要。考慮到以后對(duì)系統(tǒng)更新與維護(hù)的可行性與方便性,減少程序員工作量,等各方面的考慮,我們?cè)诖a設(shè)計(jì)過(guò)程中遵循科學(xué)性,系統(tǒng)性,可擴(kuò)展性,規(guī)范化,人性化,通用性,含義單純性,容易理解等原則考慮。以下只列舉部分關(guān)鍵代碼院系管理添加院系信息If Trim(txtClass) = Then MsgBox 請(qǐng)輸入院系班級(jí)名稱(chēng) Exit Sub End If With MyC
17、lass .Class_Name = MakeStr(txtClass) .Describe = MakeStr(txtDescribe) If Modify = False Then 插入 If .In_DB(.Class_Name) = True Then MsgBox Trim(txtClass) + 已經(jīng)存在 Exit Sub End If .UpperId = CurClass.Class_Id Bh = .Insert Tmp_Key = a + Trim(Str(Bh) FrmClassMan.TreeView1.SelectedItem.Image = 1 FrmClassMa
18、n.TreeView1.SelectedItem.ExpandedImage = 2 FrmClassMan.TreeView1.SelectedItem.SelectedImage = 3 Set TmpNode = FrmClassMan.TreeView1.Nodes.Add(FrmClassMan.TreeView1.SelectedItem.Key, _ tvwChild, Tmp_Key, .Class_Name, 4, 5) TmpNode.Selected = True Else 修改 If CurClass.Class_Name Trim(txtClass) Then If
19、.In_DB(Trim(txtClass) = True Then MsgBox Trim(txtClass) + 已經(jīng)存在 Exit Sub End If End If .UpperId = CurClass.UpperId .Update (CurClass.Class_Id) If CurClass.Class_Name Trim(txtClass) Then FrmClassMan.TreeView1.SelectedItem.Text = Trim(txtClass) End If CurClass.Class_Name = Trim(txtClass) End If End Wit
20、h Unload Me刪除院系資料 If TreeView1.SelectedItem.Key = a0 Then MsgBox 此項(xiàng)不能刪除 Exit Sub End If If CurClass.HaveSon(CurClass.Class_Id) = True Then MsgBox CurClass.Class_Name + 包含下級(jí)院系班級(jí),不能刪除 Exit Sub End If If MyClass.HaveStudent(CurClass.Class_Id) = True Then MsgBox CurClass.Class_Name + 包含學(xué)生,不能刪除 Exit Sub
21、End If If MsgBox(是否確定要?jiǎng)h除 + Trim(TreeView1.SelectedItem.Text), vbYesNo, 請(qǐng)確認(rèn)) = vbNo Then Exit Sub End If Call CurClass.Delete(CurClass.Class_Id) TreeView1.Nodes.Remove TreeView1.SelectedItem.Index TreeView1_Click學(xué)生信息資料管理添加學(xué)生基本信息資料 With MyStu .Student_Name = MakeStr(txtStu_Name) .Sex = ComboSex.Text .
22、Nationality = MakeStr(txtNationality) If IsDate(ComboBirth.Text) = False Then MsgBox 請(qǐng)選擇正確的出生日期 Exit Sub End If .Birth = ComboBirth.Text .Political_Party = MakeStr(txtPolitical_Party) .Family_Place = MakeStr(txtFamily_Place) .Id_Card = MakeStr(txtId_Card) .BadgeID = MakeStr(txtBadgeID) .Home_phone =
23、 MakeStr(txtHomePhone) .Residence = MakeStr(txtResidence) .Postcode = MakeStr(txtPostcode) If IsDate(ComboInDate.Text) = False Then MsgBox 請(qǐng)選擇正確的入校日期 Exit Sub End If .InDate = ComboInDate.Text .Title = MakeStr(txtTitle) .Memo = MakeStr(txtMemo) dd = Date dd = Format(dd, yyyy-mm-dd) t = Time tt = Tri
24、m(Str(Hour(t) + : + Trim(Str(Minute(t) + : + Trim(Str(Second(t) .Fillin_Time = dd + + tt .Class_Id = CurClass.Class_Id If Modify = False Then .Insert Else .Update (CurStu.Student_Id) End If End With FrmStuMan.TmpOk = True Unload Me照片管理 If Button = 1 Then If FrmPhotoMenu.Visible = True Then Unload Fr
25、mPhotoMenu End If End If If Button = 2 Then If CurStu.Student_Id = 0 Then Exit Sub End If FrmPhotoMenu.Left = X + Image1.Left + 200 - 1610 FrmPhotoMenu.Top = Y + Image1.Top + 1900 FrmPhotoMenu.Show End If Dim DiskFile As String If CurStu.Student_Id = 0 Then MsgBox 請(qǐng)選擇學(xué)生 Unload Me Exit Sub End If Com
26、monDialog1.Filter = BMP文件(*.bmp)|*.bmp|JPEG文件(*.jpg)|*.jpg|GIF文件(*.gif)|*.gif CommonDialog1.ShowOpen DiskFile = CommonDialog1.FileName If DiskFile = Then MsgBox 請(qǐng)選擇照片文件 Unload Me Exit Sub End If Call SaveImage(DiskFile, FrmStuMan.AdoStuDetail) Call ShowImage(FrmStuMan.Image1, FrmStuMan.AdoStuDetail)
27、 Unload Me If CurStu.Student_Id = 0 Then MsgBox 請(qǐng)選擇學(xué)生 Unload Me Exit Sub End If FrmStuMan.AdoStuDetail.Recordset.Fields(2).AppendChunk FrmStuMan.AdoStuDetail.Recordset.Update FrmStuMan.Image1.Picture = LoadPicture() Unload Me學(xué)籍管理添加學(xué)籍管理信息資料 FrmChangeEdit.ComboDate.Text = Format(Now, yyyy-mm-dd) SelSt
28、u.Init FrmChangeEdit.ComboName.Text = FrmChangeEdit.ComboType.ListIndex = ComboType.ListIndex FrmChangeEdit.ComboClass = FrmChangeEdit.txtMemo = FrmChangeEdit.Modify = False FrmChangeEdit.Show 1 Refresh_Change修改學(xué)籍管理信息資料 FrmChangeEdit.OriId = Adodc1.Recordset.Fields(0) FrmChangeEdit.ComboDate.Text =
29、Trim(Adodc1.Recordset.Fields(1) SelStu.Student_Id = Adodc1.Recordset.Fields(2) SelStu.GetInfo (SelStu.Student_Id) FrmChangeEdit.ComboName.Text = Trim(Adodc1.Recordset.Fields(3) FrmChangeEdit.ComboType.ListIndex = ComboType.ListIndex Select Case ComboType.ListIndex Case 0, 1 退學(xué)、休學(xué) FrmChangeEdit.txtNe
30、wSchool = FrmChangeEdit.ComboClass = FrmChangeEdit.txtReason = Trim(Adodc1.Recordset.Fields(4) FrmChangeEdit.txtMemo = Trim(Adodc1.Recordset.Fields(5) Case 2 轉(zhuǎn)學(xué) FrmChangeEdit.txtNewSchool = Trim(Adodc1.Recordset.Fields(4) FrmChangeEdit.ComboClass = FrmChangeEdit.txtReason = Trim(Adodc1.Recordset.Fie
31、lds(5) FrmChangeEdit.txtMemo = Trim(Adodc1.Recordset.Fields(6) Case 3 調(diào)班 FrmChangeEdit.txtNewSchool = FrmChangeEdit.ComboClass = Trim(Adodc1.Recordset.Fields(5) CurClass.GetInfo (Adodc1.Recordset.Fields(4) FrmChangeEdit.txtReason = Trim(Adodc1.Recordset.Fields(6) FrmChangeEdit.txtMemo = Trim(Adodc1.
32、Recordset.Fields(7) End Select FrmChangeEdit.Modify = True FrmChangeEdit.Show 1 Refresh_Change第四章. 學(xué)生照片管理模塊設(shè)計(jì)4.1 ImageFunc模塊ImageFunc模塊用來(lái)管理與數(shù)據(jù)庫(kù)讀寫(xiě)圖像字段相關(guān)的變量和函數(shù)。其中包含兩個(gè)用戶(hù)自定義過(guò)程:ShowImage和SaveImage。因?yàn)镾QLServer2000的圖像字段不能夠使用Insert和Update等語(yǔ)句插入和更新,所以本系統(tǒng)中使用GetChunk和AppendChunk方法讀取和填寫(xiě)圖像字段。GetChunk方法用來(lái)返回大型文本或二進(jìn)
33、制數(shù)據(jù)Field對(duì)象的全部或部分內(nèi)容,AppendChunk方法則將數(shù)據(jù)追加到大型文本、二進(jìn)制數(shù)據(jù)Field或Parameter對(duì)象中。ShowImage()包含兩個(gè)參數(shù),Image1表示用來(lái)顯示圖像的Image控件,Adodc1表示用來(lái)提供圖像字段的ADO Data控件。ShowImage()過(guò)程的代碼如下:Public Sub ShowImage(Image1 As Image, Adodc1 As Adodc) Erase byteChunk() FieldSize = Adodc1.Recordset.Fields(2).ActualSize If FieldSize = 0 Then
34、 Image1.Picture = LoadPicture() Exit Sub End If 提供一個(gè)尚未使用的文件號(hào) SourceFile = FreeFile 打開(kāi)文件 Open TempFile For Binary Access Write As SourceFile 計(jì)算數(shù)據(jù)塊 NumBlocks = FieldSize BlockSize LeftOver = FieldSize Mod BlockSize 得到剩余字節(jié)數(shù) 分塊讀取圖像數(shù)據(jù),并寫(xiě)入到文件中 If LeftOver 0 Then ReDim byteChunk(LeftOver) byteChunk() = Ado
35、dc1.Recordset.Fields(2).GetChunk(LeftOver) Put SourceFile, , byteChunk() End If For i = 1 To NumBlocks ReDim byteChunk(BlockSize) byteChunk() = Adodc1.Recordset.Fields(2).GetChunk(BlockSize) Put SourceFile, , byteChunk() Next i Close SourceFile 將文件裝入到Image1控件中 Image1.Picture = LoadPicture(TempFile)
36、刪除臨時(shí)文件 Kill (TempFile)End SubSaveImage()也包含兩個(gè)參數(shù),ImageFile表示圖像的文件名,Adodc1表示用來(lái)存儲(chǔ)圖像字段的ADO Data控件。ShowImage()過(guò)程的代碼如下:Public Sub SaveImage(ByVal ImageFile As String, Adodc1 As Adodc) If Adodc1.Recordset.BOF = True Or Adodc1.Recordset.EOF = True Then Exit Sub End If If ImageFile = Then Exit Sub End If 提供一
37、個(gè)尚未使用的文件號(hào) SourceFile = FreeFile 打開(kāi)文件 Open ImageFile For Binary Access Read As SourceFile 得到文件長(zhǎng)度 FileLength = LOF(SourceFile) 判斷文件是否存在 If FileLength = 0 Then Close SourceFile MsgBox DiskFile & 無(wú)內(nèi)容或不存在! Else NumBlocks = FileLength BlockSize 得到數(shù)據(jù)塊的個(gè)數(shù) LeftOver = FileLength Mod BlockSize 得到剩余字節(jié)數(shù) Adodc1.R
38、ecordset.Fields(2).Value = Null ReDim byteData(BlockSize) 重新定義數(shù)據(jù)塊的大小 For i = 1 To NumBlocks Get SourceFile, , byteData() 讀到內(nèi)存塊中 Adodc1.Recordset.Fields(2).AppendChunk byteData() 寫(xiě)入FLD Next i ReDim byteData(LeftOver) 重新定義數(shù)據(jù)塊的大小 Get SourceFile, , byteData() 讀到內(nèi)存塊中 Adodc1.Recordset.Fields(2).AppendChun
39、k byteData() 寫(xiě)入FLD Close SourceFile 關(guān)閉源文件 Adodc1.Recordset.Update End IfEnd Sub4.2 設(shè)計(jì)照片管理窗體對(duì)學(xué)生照片管理的模式與其他信息不同,需要單獨(dú)地處理。這一小節(jié)中,將設(shè)計(jì)一個(gè)菜單式的窗體,當(dāng)用戶(hù)右擊Image控件時(shí),將彈出此窗體,允許用戶(hù)設(shè)置照片。創(chuàng)建一個(gè)新窗體,并參照“選擇部門(mén)”窗體設(shè)置窗體的屬性,新窗體名稱(chēng)為FrmPhotoMeun。為了使用戶(hù)能夠方便地選擇圖像文件,在窗體FrmEmpSel中將使用到CommoDialog控件。CommoDialog控件提供一組標(biāo)準(zhǔn)的操作對(duì)話(huà)框,進(jìn)行諸如打開(kāi)和保存文件,設(shè)置打
40、印選項(xiàng),以為選擇顏色和字體等操作。選擇“工程”菜單中的“部件”命令,打開(kāi)“部件”屬性對(duì)話(huà)框。在控件列表中,查找并選擇Microsoft Common Dialog Control 6.0,單擊“確定”按鈕,CommonDialog控件將出現(xiàn)在工具箱中。將CommonDialog控件添加到窗體FrmPhotoMeun中,當(dāng)用戶(hù)單擊“設(shè)置照片”菜單項(xiàng)時(shí),將觸發(fā)Label1_Click事件,對(duì)應(yīng)的代碼如下:Private Sub Label1_Click() Dim DiskFile As String 如果沒(méi)有選擇學(xué)生,則返回 If CurStu.Student_Id = 0 Then MsgBo
41、x 請(qǐng)選擇學(xué)生 Unload Me Exit Sub End If 使用CommonDialog控件讀取圖像文件 CommonDialog1.Filter = BMP文件(*.bmp)|*.bmp|JPEG文件(*.jpg)|*.jpg|GIF文件(*.gif)|*.gif CommonDialog1.ShowOpen DiskFile = CommonDialog1.FileName If DiskFile = Then MsgBox 請(qǐng)選擇照片文件 Unload Me Exit Sub End If 存儲(chǔ)并顯示照片 Call SaveImage(DiskFile, FrmStuMan.Ad
42、oStuDetail) Call ShowImage(FrmStuMan.Image1, FrmStuMan.AdoStuDetail) Unload MeEnd Sub當(dāng)用戶(hù)單擊“刪除照片”菜單項(xiàng)時(shí),將觸發(fā)Label2_Click事件,對(duì)應(yīng)的代碼如下:Private Sub Label2_Click() If CurStu.Student_Id = 0 Then MsgBox 請(qǐng)選擇學(xué)生 Unload Me Exit Sub End If 使用AppendChunk 的方法刪除圖像 FrmStuMan.AdoStuDetail.Recordset.Fields(2).AppendChunk
43、FrmStuMan.AdoStuDetail.Recordset.Update FrmStuMan.Image1.Picture = LoadPicture() Unload MeEnd Sub4.3 在學(xué)生信息管理窗體中添加照片管理代碼在學(xué)生信息管理窗體FrmStuMan中編寫(xiě)照片管理相關(guān)的代碼。當(dāng)用戶(hù)單擊照片Image1時(shí),將觸發(fā)Image1_MouseDown事件,對(duì)應(yīng)的代碼如下:Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) 單擊左鍵,則關(guān)閉照片管理菜
44、單 If Button = 1 Then If FrmPhotoMenu.Visible = True Then Unload FrmPhotoMenu End If End If 單擊右鍵,打開(kāi)照片管理菜單 If Button = 2 Then If CurStu.Student_Id = 0 Then Exit Sub End If FrmPhotoMenu.Left = X + Image1.Left + 200 - 1610 FrmPhotoMenu.Top = Y + Image1.Top + 1900 FrmPhotoMenu.Show End IfEnd Sub第五章. 系統(tǒng)測(cè)試
45、5.1 系統(tǒng)測(cè)試項(xiàng)目(1) 數(shù)據(jù)和數(shù)據(jù)庫(kù)完整性測(cè)試(a) 測(cè)試目標(biāo):確保學(xué)生檔案管理系統(tǒng)數(shù)據(jù)庫(kù)StudentSys訪(fǎng)問(wèn)方法和進(jìn)程正常運(yùn)行數(shù)據(jù)安全可靠。(b) 測(cè)試方法:把數(shù)據(jù)庫(kù)StudentSys及其進(jìn)程作為一個(gè)子系統(tǒng)來(lái)進(jìn)行測(cè)試。在測(cè)試該子系統(tǒng)時(shí),不把將測(cè)試對(duì)象的用戶(hù)界面作數(shù)據(jù)的接口。調(diào)用各個(gè)數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)方法和進(jìn)程,并在其中填充有效的和無(wú)效的數(shù)據(jù),檢測(cè)其數(shù)據(jù)規(guī)則完整性是否符合設(shè)計(jì)要求。檢查數(shù)據(jù)庫(kù)StudentSys,確保數(shù)據(jù)已按預(yù)期的方式填充,并且所有的數(shù)據(jù)庫(kù)事件已正常發(fā)生;或者檢查所返回的數(shù)據(jù),確保以正確的條件可以檢索到符合檢索要求的正確數(shù)據(jù)。輸入不符合數(shù)據(jù)庫(kù)完整性規(guī)則數(shù)據(jù),檢測(cè)字段完整性規(guī)則
46、。 (c) 測(cè)試結(jié)果:所有的數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)方法和進(jìn)程都達(dá)到預(yù)期設(shè)計(jì)要求,數(shù)據(jù)記錄安全完整,數(shù)據(jù)整規(guī)則正確。(2) 集成測(cè)試(a) 測(cè)試目標(biāo):主要是檢測(cè)學(xué)生檔案管理系統(tǒng)是否達(dá)到設(shè)計(jì)需求,對(duì)業(yè)務(wù)流程及數(shù)據(jù)流的處理是否符合標(biāo)準(zhǔn),對(duì)業(yè)務(wù)流處理是否存在邏輯不嚴(yán)謹(jǐn)及錯(cuò)誤,需求是否存在不合理的標(biāo)準(zhǔn)及要求,在不同計(jì)算機(jī)上的運(yùn)行結(jié)果是否正常。此階段測(cè)試基于功能完成的測(cè)試。(b) 測(cè)試方法:利用合法的和非法的數(shù)據(jù)來(lái)執(zhí)行各個(gè)功能,在多部不在同一局域網(wǎng)的可正常使用計(jì)算機(jī)上運(yùn)行,以核實(shí)以下內(nèi)容:在使用合法的數(shù)據(jù)時(shí)得到預(yù)期(正確)的結(jié)果。在使用非法數(shù)據(jù)時(shí)顯示相應(yīng)的錯(cuò)誤消息或警告信息。各業(yè)務(wù)規(guī)則在系統(tǒng)中均得到正確的應(yīng)用。在任意
47、一臺(tái)安裝相關(guān)軟件計(jì)算機(jī)上運(yùn)行結(jié)果正常。(c)測(cè)試結(jié)果:所計(jì)劃的測(cè)試已全部執(zhí)行,測(cè)試過(guò)程中發(fā)現(xiàn)的缺陷問(wèn)題已解決。達(dá)到預(yù)期測(cè)試目標(biāo)。(3) 功能測(cè)試(a)測(cè)試目標(biāo):確保所選擇測(cè)試的功能正常使用,其中包括功能瀏覽,數(shù)據(jù)輸入,處理和查詢(xún)功能。(b)測(cè)試方法:利用合法的和不合法的數(shù)據(jù)來(lái)執(zhí)行各個(gè)測(cè)試用例或功能,以核實(shí)以下內(nèi)容:在使用合法數(shù)據(jù)時(shí)得到預(yù)期的結(jié)果。在使用非法數(shù)據(jù)時(shí)顯示相應(yīng)的錯(cuò)誤信息息或警告信息。各業(yè)務(wù)規(guī)則在系統(tǒng)中均得到正確的應(yīng)用。(c)測(cè)試結(jié)果:數(shù)據(jù)的接受、處理和檢索正確,業(yè)務(wù)規(guī)則的實(shí)施恰當(dāng)。(4) 用戶(hù)界面測(cè)試:(a)測(cè)試目標(biāo):通過(guò)測(cè)試進(jìn)行的瀏覽以正確反映本軟件的功能和需求,這種瀏覽包括對(duì)各個(gè)
48、窗口、窗口與窗口之間、字段與字段之間的瀏覽,各種訪(fǎng)問(wèn)方法的正常使用,保證窗口的對(duì)象和特征(例如,菜單、大小、位置、狀態(tài)和中心)均符合預(yù)計(jì)標(biāo)準(zhǔn)。(b)測(cè)試方法:為每個(gè)窗口創(chuàng)建新的數(shù)據(jù)記錄,或修改原由數(shù)據(jù)記錄,以核實(shí)各個(gè)應(yīng)用程序窗口和對(duì)象都正確地進(jìn)行瀏覽,并處于正常的對(duì)象狀態(tài)。(c)測(cè)試結(jié)果:達(dá)到預(yù)期測(cè)試目標(biāo),測(cè)試內(nèi)容正確運(yùn)行,測(cè)試過(guò)程中出現(xiàn)問(wèn)題已解決。(5) 性能評(píng)測(cè)(a)測(cè)試目標(biāo):對(duì)本系統(tǒng)響應(yīng)時(shí)間、各功能響應(yīng)時(shí)間、其他與時(shí)間相關(guān)的需求進(jìn)行評(píng)測(cè)和評(píng)估。不用硬件配置計(jì)算機(jī)上的工作性能差異。檢查性能需求是否滿(mǎn)足設(shè)計(jì)要求,核實(shí)學(xué)生檔案管理系統(tǒng)指定的事務(wù)在以下情況下的性能行為:正常工作流量情況下的使用。超負(fù)荷工作量情況下的使用。不同硬件配置計(jì)算機(jī)上的工作性能差異。(b)測(cè)試方法:通過(guò)修改學(xué)生檔案管理系統(tǒng)數(shù)據(jù)文件來(lái)增加事務(wù)數(shù)量,或通過(guò)修改腳本來(lái)增加軟件每項(xiàng)事務(wù)的迭代數(shù)量。(c)測(cè)試結(jié)果:?jiǎn)蝹€(gè)用戶(hù)正常工作量使用情況下成功地完成測(cè)試腳本,未發(fā)生故障:系統(tǒng)中享受不
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東省煙臺(tái)龍口市2025屆初三下學(xué)期第三次階段檢測(cè)試題數(shù)學(xué)試題含解析
- 企業(yè)職場(chǎng)禮儀培訓(xùn)
- 棗強(qiáng)中學(xué)高一上學(xué)期第四次月考地理試題
- 2025合同法中合同解除的若干問(wèn)題
- 急腹癥的觀察及急救護(hù)理
- 2025建筑項(xiàng)目招標(biāo)投標(biāo)合同(合同協(xié)議書(shū))
- 培訓(xùn)班停課通知與違規(guī)辦學(xué)治理
- 2025委托加工合同范本下載
- 2025深交所指定交易合同
- 2025商品買(mǎi)賣(mài)合同
- s7-200smart詳細(xì)教學(xué)教案
- 旅館業(yè)治安管理培訓(xùn)會(huì)
- 2025年南陽(yáng)科技職業(yè)學(xué)院高職單招職業(yè)技能測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 2025年共青團(tuán)考試題庫(kù)及答案
- 4-2-電商文案開(kāi)頭、結(jié)尾、正文的寫(xiě)作
- 2025年廣州水務(wù)投資集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 合肥濱湖濕地森林公園觀光火車(chē)項(xiàng)目設(shè)計(jì)方案
- 2025年福建福州港務(wù)集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 4-2 討論:你是否支持設(shè)計(jì)試管嬰兒 說(shuō)課稿-高二下學(xué)期生物滬科版選擇性必修3
- 部編版2025春六年級(jí)下冊(cè)語(yǔ)文8 《匆匆》 課件
- 2025年湖南新華書(shū)店集團(tuán)招聘筆試參考題庫(kù)含答案解析
評(píng)論
0/150
提交評(píng)論