




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上軟件工程大作業(yè)題目:學(xué)生檔案管理系統(tǒng)小組成員:戚盈潔()王大偉()王 磊()霍成海()目錄第一章. 系統(tǒng)調(diào)查1.1系統(tǒng)調(diào)查內(nèi)容學(xué)校各院系基本概況:院系名稱,專業(yè)設(shè)置,課程設(shè)置,課時安排,學(xué)生人數(shù),學(xué)生班級數(shù)等。學(xué)校資源條件調(diào)查,包括計算機(jī)配備,網(wǎng)絡(luò)支持條件等。各院系專業(yè)設(shè)置概況:現(xiàn)有開設(shè)專業(yè)及規(guī)劃中開設(shè)專業(yè)設(shè)置,專業(yè)開設(shè)課程,各課程授課教師與成績處理。學(xué)校各部門(學(xué)生處、教務(wù)處、檔案管理室、各院系)對學(xué)生基本情況的需求與掌握,對學(xué)生基本信息的處理方式與業(yè)務(wù)流程。學(xué)校各部門、單位、教師、學(xué)生對系統(tǒng)的其他要求和希望。1.2系統(tǒng)調(diào)查方法通過對部分高校學(xué)生檔案管理人員的訪問,
2、了解到目前大部分高校的檔案管理工作存在工作效率低,成本高,保密性差,查詢困難等問題。大部分工作人員都提出需要一個具有檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等優(yōu)點(diǎn)的現(xiàn)代化信息管理系統(tǒng)。為解決此問題我們決定開發(fā)一個既方便又操作簡單,功能較為齊全的學(xué)生檔案管理系統(tǒng)。第二章. 系統(tǒng)分析2.1 系統(tǒng)分析1 系統(tǒng)開發(fā)的總體任務(wù)是學(xué)生檔案管理的系統(tǒng)化和規(guī)范化。2 系統(tǒng)開發(fā)的目標(biāo)是使檔案管理工作科學(xué)化和規(guī)范化,提高安全系數(shù)。3 系統(tǒng)功能樹本系統(tǒng)主要功能是實(shí)現(xiàn)學(xué)生基本情況的管理。學(xué)生獎懲管理學(xué)生學(xué)籍管理學(xué)生信息管理課程信息管理系統(tǒng)用戶管理院系信息管理學(xué)生檔案管理系統(tǒng) 圖3.1學(xué)生檔案管
3、理系統(tǒng)功能模塊2.2 系統(tǒng)調(diào)結(jié)構(gòu)圖運(yùn)行權(quán)限輸入主界面判斷繼續(xù)退出數(shù)據(jù)庫文件正確錯誤是否院系信息管理學(xué)生信息管理學(xué)生獎懲管理學(xué)生學(xué)籍管理系統(tǒng)用戶管理課程信息管理學(xué)生照片信息管理學(xué)生基本信息管理學(xué)生主要教育經(jīng)歷管理考試成績管理課程設(shè)置管理轉(zhuǎn)學(xué)調(diào)班管理退學(xué)休學(xué)管理針對各個模塊不同的表實(shí)現(xiàn)添加記錄、修改記錄、刪除記錄,以及查詢顯示記錄等功能圖3.2學(xué)生檔案管理系統(tǒng)結(jié)構(gòu)圖2.3 子系統(tǒng)功能描述院系管理由創(chuàng)建院系及班級信息,修改院系班級記錄,刪除院系班級記錄,查看院系班級數(shù)據(jù)四部分組成。創(chuàng)建院系與班級信息。主要是院系名稱,班級專業(yè)名稱,院系具體描述,班級介紹,院系編號由數(shù)據(jù)庫系統(tǒng)自動編號,不顯示在前臺程序
4、。修改院系與班級記錄??蓪υ合祷虬嗉壝Q,描述,介紹等記錄進(jìn)行修改。刪除院系與班級記錄??蛇x擇刪除院系或班級,如果所選院系或班級已含有數(shù)據(jù)記錄,如含有專業(yè)班級資料,或?qū)W生資料,則必須先將其所含有的記錄資料刪除,才能成功完成操作。查詢院系與班級資料。在院系管理的主界面查看已有院系及班級記錄。2) 學(xué)生信息管理由創(chuàng)建、修改、刪除學(xué)生信息資料,添加、修改、刪除學(xué)生教育經(jīng)歷,添加與刪除學(xué)生照片組成。學(xué)生信息資料創(chuàng)建,將剛?cè)雽W(xué)的學(xué)生資料添加到數(shù)據(jù)庫中加以保存。信息資料由學(xué)生編號、姓名、照片、性別、民族、生日、政治面貌、籍貫、身份證號、學(xué)生證號、家庭電話、居住住址、郵政編碼、入校日期、職務(wù)、所在院系編號、
5、備注和填表時間組成。基于保護(hù)數(shù)據(jù)記錄安全性考慮學(xué)生編號由數(shù)據(jù)庫系統(tǒng)自動生成,不顯示在前臺程序。院系編號亦不在學(xué)生信息管理界面顯示,只在后臺數(shù)據(jù)庫顯示。添加、修改、刪除學(xué)生教育經(jīng)歷,創(chuàng)建并管理所選擇學(xué)生過去的教育經(jīng)歷,曾就讀與某校,任何職務(wù)。添加、刪除學(xué)生照片。為所選擇學(xué)生添加個人照片,如需更新照片,只需再次添加,既可覆蓋原有照片數(shù)據(jù)記錄。3) 獎懲信息管理由添加學(xué)生獎懲信息,修改獎懲信息,刪除獎懲信息,瀏覽學(xué)生獎懲信息組成。添加、修改學(xué)生獎懲信息,設(shè)置學(xué)生獎勵或處罰資料,獎勵與處罰項(xiàng)目使用備選項(xiàng),亦可再加以具體說明。刪除獎懲信息。獎勵與懲罰記錄分開顯示,選擇某條獎懲記錄,將其刪除。4) 學(xué)生學(xué)
6、籍信息管理由添加、修改、刪除學(xué)生退學(xué)、轉(zhuǎn)學(xué)、休學(xué)、調(diào)班等學(xué)籍信息組成。添加、修改學(xué)生學(xué)籍信息資料。通過在院系表中選擇目標(biāo)班級,可選擇學(xué)生姓名,刪除學(xué)生學(xué)籍變更數(shù)據(jù)記錄。學(xué)生調(diào)班成功后,系統(tǒng)敬愛能夠自動更新該學(xué)生在院系班級表,學(xué)生基本信息表中的相關(guān)數(shù)據(jù)記錄。5)課程管理由創(chuàng)建、修改、刪除課程信息,學(xué)生課程成績信息組成。創(chuàng)建、修改課程信息,可創(chuàng)建或修改新課程名稱,授課教師,課時設(shè)置,課程類型。刪除課程信息。選擇某個課程記錄,可將其所包含的所有信息刪除。學(xué)生課程成績信息,由添加、修改、刪除課程成績信息組成。設(shè)置院系學(xué)生中學(xué)生課程成績信息。6)系統(tǒng)管理由創(chuàng)建用戶,修改用戶,刪除用戶,瀏覽用戶信息組成。
7、創(chuàng)建用戶。該功能只對系統(tǒng)管理員開放,使用系統(tǒng)管理員身份登陸后可創(chuàng)建起他用戶。修改、刪除用戶。該權(quán)限只對系統(tǒng)管理員開放。非系統(tǒng)管理員只能對自己的用戶名和密碼進(jìn)行修改。第三章. 系統(tǒng)設(shè)計3.1 界面設(shè)計原則一個好的應(yīng)用程序不僅要有強(qiáng)大的功能,還要有美觀實(shí)用的用戶界面。用戶界面是應(yīng)用程序的一個重要組成部分,一個應(yīng)用程序的界面往往決定了該程序的易用性與可操作性,一個美觀的界面的美觀和用戶親和性是應(yīng)用軟件成功的首要條件。界面設(shè)計具有一般性的原則,最為重要的有:界面要具有一致性;常用操作要有捷徑;提供簡單的錯誤處理;提供信息反饋;操作可逆。我們在設(shè)計界面時充分從一致性、友好性、交互性、信息子最小量原則、易
8、用性、數(shù)據(jù)輸入等方考慮,遵循以下原則操作簡單,易學(xué),易掌握;界面美觀,操作舒適;快速反應(yīng),響應(yīng)合理;語言規(guī)范,語義一致。一致性,在同一界面中,所有的菜單選擇、命令輸入、數(shù)據(jù)顯示和其他功能應(yīng)保持風(fēng)格的一致性。信息最小量原則。人機(jī)界面設(shè)計要盡量減少用戶記憶負(fù)擔(dān),采用有助于記憶的設(shè)計方案。用戶界面應(yīng)能對用戶的決定做出及時的響應(yīng),提高對話、移動的思考的效率,最大可能的減少擊鍵次數(shù),縮短鼠標(biāo)移動距離,避免使用戶產(chǎn)生無所適從的感覺。人機(jī)界面應(yīng)該提供上下文敏感的求助系統(tǒng),讓用戶及時獲得幫助,盡量用簡短的動詞和動詞短語提示命令。操作可逆。操作應(yīng)該可逆,對于不具備專業(yè)知識的操作人員非常有用,可逆的動作可以是單個
9、的操作,也可以是一個相對獨(dú)立的操作序。界面設(shè)計過程(略)3.2 數(shù)據(jù)庫設(shè)計數(shù)據(jù)流程圖DFD(Data Flow Diagram) 是描述系統(tǒng)數(shù)據(jù)流程的工具,它將數(shù)據(jù)獨(dú)立抽象出來,通用圖形方式描述信息的來龍去脈和實(shí)際流程。開 始退出程序讀取用戶類型用戶登錄失敗超過3次重試失敗是否成功普通用戶Admin 用戶學(xué)生信息管理院系信息管理學(xué)生獎懲管理學(xué)生學(xué)籍管理考試成績管理管理自己的用戶信息1、管理自己的用戶信息2、管理普通用戶的用戶信息學(xué)生檔案管理模塊用戶管理模塊圖4.1數(shù)據(jù)流程分析圖數(shù)據(jù)字典(Data Dictionary, DD)是DBMS中的一個特殊文件,用于存儲數(shù)據(jù)庫的一些說明信息,
10、這些說明信息稱為元數(shù)據(jù)(Meta Data)。DD是在新的信息系統(tǒng)數(shù)據(jù)流程圖的基礎(chǔ)上,進(jìn)一步定義和描述數(shù)據(jù)處理過程、外交實(shí)體及數(shù)據(jù)存儲(數(shù)據(jù)庫)的詳細(xì)邏輯內(nèi)容工具。本系統(tǒng)后臺數(shù)據(jù)庫采用Microsoft SQL Server 2000數(shù)據(jù)庫。建立了一個數(shù)據(jù)庫StudentSys,包括了九個表:院系班級表Classes、學(xué)生基本信息表Students、學(xué)生教育經(jīng)歷記錄表Experience、學(xué)生獎懲表Evaluation、學(xué)生學(xué)籍變動表Change、課程設(shè)置表Lessons、考試成績表Scores、用戶信息表Users。表1 Classes結(jié)構(gòu)編號字段名稱數(shù)據(jù)類型字段大小說明1Class_idI
11、nt4院系編號2Class_NameVarchar40院系名稱3DescribeVarchar400院系職能描述4UpperIdInt2上級院系編號表2 Students結(jié)構(gòu)編號字段名稱數(shù)據(jù)類型字段大小說明1Student_IdInt4學(xué)生編號2Student_NameVarchar0姓名3PhotoImage16照片4SexVarchar2性別5NationalityVarchar40民族6BirthVarchar20生日7Political_PartyVarchar40政治面貌8Family_PlaceVarchar60籍貫9Id_CardVarchar20身份證號10BadgeIdVar
12、char40學(xué)生證號11Home_phoneVarchar30家庭電話12ResidenceVarchar100居住地址13PostcodeVarchar10郵政編碼14InDateVarchar20入校日期15Class_IdSmalint2所在院系編號16TitleVarchar20職務(wù)17MemoVarchar200備注18Fillin_TimeVarchar20填報時間(日期+時間)表3 Experience結(jié)構(gòu)編號字段名稱數(shù)據(jù)類型字段大小說明1ExpIdInt4編號2Student_IdInt4學(xué)生編號3Start_DateChar10開始日期4End_DateChar10終止日期5
13、SchoolVarchar50學(xué)校/單位名稱6TitleVarchar20職務(wù)表4 Evaluation結(jié)構(gòu)編號字段名稱數(shù)據(jù)類型字段大小說明1EvaIdInt4獎懲記錄編號2EvaDateChar10獎懲日期3Student_IdInt4學(xué)生編號4EvaTypeBit1獎懲類型(0表示獎勵,1表示處罰)5MemoVarchat200獎懲說明6EvaContentChar20獎懲內(nèi)容表5 Change結(jié)構(gòu)編號字段名稱數(shù)據(jù)類型字段大小說明1ChangeIdInt4學(xué)籍變動編號2Student_IdInt4學(xué)生編號3ChangeTypeTinyint1學(xué)籍變動類型(1表示退學(xué),2表示休學(xué),3表示轉(zhuǎn)學(xué)
14、,4表示調(diào)班)4ChangeDateChar10學(xué)籍變動日期5OriClassInt4原班級編號6NewSchoolVarchar50轉(zhuǎn)入學(xué)校名稱7NewClassInt4轉(zhuǎn)入班級編號8ReasonVarchar200學(xué)籍變動原因9MemoVarchar200備注表6 Lessons結(jié)構(gòu)編號字段名稱數(shù)據(jù)類型字段大小說明1LessonIdInt4課程編號2LessonNameVarchar100課程名稱3TermVarchar20課程設(shè)置的學(xué)期4TeacherVarchar20授課老師5HoursTinyint1課時6LessonTypeVarchar20課程類型(必修課,選修課)表7 Scor
15、es結(jié)構(gòu)編號字段名稱數(shù)據(jù)類型字段大小說明1LessonIdInt4課程編號2Student_IdInt4學(xué)生編號3ScoreTinyint1考試分?jǐn)?shù)表8 Users結(jié)構(gòu)編號字段名稱數(shù)據(jù)類型字段大小說明1UsersNameVarchar40用戶名2PwdVarchar40密碼3UserTypeVarchar10用戶類型3.3 代碼設(shè)計一個高效的軟件不僅應(yīng)該比實(shí)現(xiàn)同樣功能的軟件運(yùn)行得更快,還應(yīng)該消耗更少的系統(tǒng)資源。所以代碼的設(shè)計就顯得非常重要??紤]到以后對系統(tǒng)更新與維護(hù)的可行性與方便性,減少程序員工作量,等各方面的考慮,我們在代碼設(shè)計過程中遵循科學(xué)性,系統(tǒng)性,可擴(kuò)展性,規(guī)范化,人性化,通用性,含義
16、單純性,容易理解等原則考慮。以下只列舉部分關(guān)鍵代碼院系管理添加院系信息If Trim(txtClass) = "" Then MsgBox "請輸入院系班級名稱" Exit Sub End If With MyClass .Class_Name = MakeStr(txtClass) .Describe = MakeStr(txtDescribe) If Modify = False Then '插入 If .In_DB(.Class_Name) = True Then MsgBox Trim(txtClass) + " 已經(jīng)存在&qu
17、ot; Exit Sub End If .UpperId = CurClass.Class_Id Bh = .Insert Tmp_Key = "a" + Trim(Str(Bh) FrmClassMan.TreeView1.SelectedItem.Image = 1 FrmClassMan.TreeView1.SelectedItem.ExpandedImage = 2 FrmClassMan.TreeView1.SelectedItem.SelectedImage = 3 Set TmpNode = FrmClassMan.TreeView1.Nodes.Add(Fr
18、mClassMan.TreeView1.SelectedItem.Key, _ tvwChild, Tmp_Key, .Class_Name, 4, 5) TmpNode.Selected = True Else '修改 If CurClass.Class_Name <> Trim(txtClass) Then If .In_DB(Trim(txtClass) = True Then MsgBox Trim(txtClass) + " 已經(jīng)存在" Exit Sub End If End If .UpperId = CurClass.UpperId .Up
19、date (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 With Unload Me刪除院系資料 If TreeView1.SelectedItem.Key = "a0" Then MsgBox "此項(xiàng)不能刪除" Exit Sub End
20、 If If CurClass.HaveSon(CurClass.Class_Id) = True Then MsgBox CurClass.Class_Name + " 包含下級院系班級,不能刪除" Exit Sub End If If MyClass.HaveStudent(CurClass.Class_Id) = True Then MsgBox CurClass.Class_Name + " 包含學(xué)生,不能刪除" Exit Sub End If If MsgBox("是否確定要刪除 " + Trim(TreeView1.Sel
21、ectedItem.Text), vbYesNo, "請確認(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 .Nationality = MakeStr(txtNational
22、ity) If IsDate(ComboBirth.Text) = False Then MsgBox "請選擇正確的出生日期" 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 = MakeStr(txtHomePhone
23、) .Residence = MakeStr(txtResidence) .Postcode = MakeStr(txtPostcode) If IsDate(ComboInDate.Text) = False Then MsgBox "請選擇正確的入校日期" Exit Sub End If .InDate = ComboInDate.Text .Title = MakeStr(txtTitle) .Memo = MakeStr(txtMemo) dd = Date dd = Format(dd, "yyyy-mm-dd") t = Time tt =
24、Trim(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 F
25、rmPhotoMenu.Visible = True Then Unload FrmPhotoMenu 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
26、<= 0 Then MsgBox "請選擇學(xué)生" Unload Me Exit Sub End If CommonDialog1.Filter = "BMP文件(*.bmp)|*.bmp|JPEG文件(*.jpg)|*.jpg|GIF文件(*.gif)|*.gif" CommonDialog1.ShowOpen DiskFile = CommonDialog1.FileName If DiskFile = "" Then MsgBox "請選擇照片文件" Unload Me Exit Sub End If C
27、all SaveImage(DiskFile, FrmStuMan.AdoStuDetail) Call ShowImage(FrmStuMan.Image1, FrmStuMan.AdoStuDetail) Unload Me If CurStu.Student_Id <= 0 Then MsgBox "請選擇學(xué)生" Unload Me Exit Sub End If FrmStuMan.AdoStuDetail.Recordset.Fields(2).AppendChunk "" FrmStuMan.AdoStuDetail.Recordset
28、.Update FrmStuMan.Image1.Picture = LoadPicture("") Unload Me學(xué)籍管理添加學(xué)籍管理信息資料 FrmChangeEdit.ComboDate.Text = Format(Now, "yyyy-mm-dd") SelStu.Init FrmChangeEdit.ComboName.Text = "" FrmChangeEdit.ComboType.ListIndex = ComboType.ListIndex FrmChangeEdit.ComboClass = "&qu
29、ot; FrmChangeEdit.txtMemo = "" FrmChangeEdit.Modify = False FrmChangeEdit.Show 1 Refresh_Change修改學(xué)籍管理信息資料 FrmChangeEdit.OriId = Adodc1.Recordset.Fields(0) FrmChangeEdit.ComboDate.Text = Trim(Adodc1.Recordset.Fields(1) SelStu.Student_Id = Adodc1.Recordset.Fields(2) SelStu.GetInfo (SelStu.St
30、udent_Id) FrmChangeEdit.ComboName.Text = Trim(Adodc1.Recordset.Fields(3) FrmChangeEdit.ComboType.ListIndex = ComboType.ListIndex Select Case ComboType.ListIndex Case 0, 1 '退學(xué)、休學(xué) FrmChangeEdit.txtNewSchool = "" FrmChangeEdit.ComboClass = "" FrmChangeEdit.txtReason = Trim(Adodc
31、1.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.Fields(5) FrmChangeEdit.txtMemo = Trim(Adodc1.Recordset.Fi
32、elds(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.Recordset.Fields(7) End Select FrmCha
33、ngeEdit.Modify = True FrmChangeEdit.Show 1 Refresh_Change第四章. 學(xué)生照片管理模塊設(shè)計4.1 ImageFunc模塊ImageFunc模塊用來管理與數(shù)據(jù)庫讀寫圖像字段相關(guān)的變量和函數(shù)。其中包含兩個用戶自定義過程:ShowImage和SaveImage。因?yàn)镾QLServer2000的圖像字段不能夠使用Insert和Update等語句插入和更新,所以本系統(tǒng)中使用GetChunk和AppendChunk方法讀取和填寫圖像字段。GetChunk方法用來返回大型文本或二進(jìn)制數(shù)據(jù)Field對象的全部或部分內(nèi)容,AppendChunk方法則將數(shù)據(jù)追
34、加到大型文本、二進(jìn)制數(shù)據(jù)Field或Parameter對象中。ShowImage()包含兩個參數(shù),Image1表示用來顯示圖像的Image控件,Adodc1表示用來提供圖像字段的ADO Data控件。ShowImage()過程的代碼如下:Public Sub ShowImage(Image1 As Image, Adodc1 As Adodc) Erase byteChunk() FieldSize = Adodc1.Recordset.Fields(2).ActualSize If FieldSize <= 0 Then Image1.Picture = LoadPicture(&qu
35、ot;") Exit Sub End If '提供一個尚未使用的文件號 SourceFile = FreeFile '打開文件 Open TempFile For Binary Access Write As SourceFile '計算數(shù)據(jù)塊 NumBlocks = FieldSize BlockSize LeftOver = FieldSize Mod BlockSize '得到剩余字節(jié)數(shù) '分塊讀取圖像數(shù)據(jù),并寫入到文件中 If LeftOver <> 0 Then ReDim byteChunk(LeftOver) byte
36、Chunk() = Adodc1.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 = Load
37、Picture(TempFile) '刪除臨時文件 Kill (TempFile)End SubSaveImage()也包含兩個參數(shù),ImageFile表示圖像的文件名,Adodc1表示用來存儲圖像字段的ADO Data控件。ShowImage()過程的代碼如下: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 = &
38、quot;" Then Exit Sub End If '提供一個尚未使用的文件號 SourceFile = FreeFile '打開文件 Open ImageFile For Binary Access Read As SourceFile '得到文件長度 FileLength = LOF(SourceFile) '判斷文件是否存在 If FileLength = 0 Then Close SourceFile MsgBox DiskFile & "無內(nèi)容或不存在!" Else NumBlocks = FileLength
39、 BlockSize '得到數(shù)據(jù)塊的個數(shù) LeftOver = FileLength Mod BlockSize '得到剩余字節(jié)數(shù) Adodc1.Recordset.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() '寫入FLD Next i ReDim byteDa
40、ta(LeftOver) '重新定義數(shù)據(jù)塊的大小 Get SourceFile, , byteData() '讀到內(nèi)存塊中 Adodc1.Recordset.Fields(2).AppendChunk byteData() '寫入FLD Close SourceFile '關(guān)閉源文件 Adodc1.Recordset.Update End IfEnd Sub4.2 設(shè)計照片管理窗體對學(xué)生照片管理的模式與其他信息不同,需要單獨(dú)地處理。這一小節(jié)中,將設(shè)計一個菜單式的窗體,當(dāng)用戶右擊Image控件時,將彈出此窗體,允許用戶設(shè)置照片。創(chuàng)建一個新窗體,并參照“選擇部門”窗
41、體設(shè)置窗體的屬性,新窗體名稱為FrmPhotoMeun。為了使用戶能夠方便地選擇圖像文件,在窗體FrmEmpSel中將使用到CommoDialog控件。CommoDialog控件提供一組標(biāo)準(zhǔn)的操作對話框,進(jìn)行諸如打開和保存文件,設(shè)置打印選項(xiàng),以為選擇顏色和字體等操作。選擇“工程”菜單中的“部件”命令,打開“部件”屬性對話框。在控件列表中,查找并選擇Microsoft Common Dialog Control 6.0,單擊“確定”按鈕,CommonDialog控件將出現(xiàn)在工具箱中。將CommonDialog控件添加到窗體FrmPhotoMeun中,當(dāng)用戶單擊“設(shè)置照片”菜單項(xiàng)時,將觸發(fā)Labe
42、l1_Click事件,對應(yīng)的代碼如下:Private Sub Label1_Click() Dim DiskFile As String '如果沒有選擇學(xué)生,則返回 If CurStu.Student_Id <= 0 Then MsgBox "請選擇學(xué)生" Unload Me Exit Sub End If '使用CommonDialog控件讀取圖像文件 CommonDialog1.Filter = "BMP文件(*.bmp)|*.bmp|JPEG文件(*.jpg)|*.jpg|GIF文件(*.gif)|*.gif" CommonD
43、ialog1.ShowOpen DiskFile = CommonDialog1.FileName If DiskFile = "" Then MsgBox "請選擇照片文件" Unload Me Exit Sub End If '存儲并顯示照片 Call SaveImage(DiskFile, FrmStuMan.AdoStuDetail) Call ShowImage(FrmStuMan.Image1, FrmStuMan.AdoStuDetail) Unload MeEnd Sub當(dāng)用戶單擊“刪除照片”菜單項(xiàng)時,將觸發(fā)Label2_Clic
44、k事件,對應(yīng)的代碼如下:Private Sub Label2_Click() If CurStu.Student_Id <= 0 Then MsgBox "請選擇學(xué)生" Unload Me Exit Sub End If '使用AppendChunk ""的方法刪除圖像 FrmStuMan.AdoStuDetail.Recordset.Fields(2).AppendChunk "" FrmStuMan.AdoStuDetail.Recordset.Update FrmStuMan.Image1.Picture = Lo
45、adPicture("") Unload MeEnd Sub4.3 在學(xué)生信息管理窗體中添加照片管理代碼在學(xué)生信息管理窗體FrmStuMan中編寫照片管理相關(guān)的代碼。當(dāng)用戶單擊照片Image1時,將觸發(fā)Image1_MouseDown事件,對應(yīng)的代碼如下:Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) '單擊左鍵,則關(guān)閉照片管理菜單 If Button = 1 Then If FrmPhotoMenu.Visible = True
46、Then Unload FrmPhotoMenu 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 IfEnd Sub第五章. 系統(tǒng)測試5.1 系統(tǒng)測試項(xiàng)目(1) 數(shù)據(jù)和數(shù)據(jù)庫完整性測試(a) 測試目標(biāo):確保學(xué)
47、生檔案管理系統(tǒng)數(shù)據(jù)庫StudentSys訪問方法和進(jìn)程正常運(yùn)行數(shù)據(jù)安全可靠。(b) 測試方法:把數(shù)據(jù)庫StudentSys及其進(jìn)程作為一個子系統(tǒng)來進(jìn)行測試。在測試該子系統(tǒng)時,不把將測試對象的用戶界面作數(shù)據(jù)的接口。調(diào)用各個數(shù)據(jù)庫訪問方法和進(jìn)程,并在其中填充有效的和無效的數(shù)據(jù),檢測其數(shù)據(jù)規(guī)則完整性是否符合設(shè)計要求。檢查數(shù)據(jù)庫StudentSys,確保數(shù)據(jù)已按預(yù)期的方式填充,并且所有的數(shù)據(jù)庫事件已正常發(fā)生;或者檢查所返回的數(shù)據(jù),確保以正確的條件可以檢索到符合檢索要求的正確數(shù)據(jù)。輸入不符合數(shù)據(jù)庫完整性規(guī)則數(shù)據(jù),檢測字段完整性規(guī)則。 (c) 測試結(jié)果:所有的數(shù)據(jù)庫訪問方法和進(jìn)程都達(dá)到預(yù)期設(shè)計要求,數(shù)據(jù)記
48、錄安全完整,數(shù)據(jù)整規(guī)則正確。(2) 集成測試(a) 測試目標(biāo):主要是檢測學(xué)生檔案管理系統(tǒng)是否達(dá)到設(shè)計需求,對業(yè)務(wù)流程及數(shù)據(jù)流的處理是否符合標(biāo)準(zhǔn),對業(yè)務(wù)流處理是否存在邏輯不嚴(yán)謹(jǐn)及錯誤,需求是否存在不合理的標(biāo)準(zhǔn)及要求,在不同計算機(jī)上的運(yùn)行結(jié)果是否正常。此階段測試基于功能完成的測試。(b) 測試方法:利用合法的和非法的數(shù)據(jù)來執(zhí)行各個功能,在多部不在同一局域網(wǎng)的可正常使用計算機(jī)上運(yùn)行,以核實(shí)以下內(nèi)容:在使用合法的數(shù)據(jù)時得到預(yù)期(正確)的結(jié)果。在使用非法數(shù)據(jù)時顯示相應(yīng)的錯誤消息或警告信息。各業(yè)務(wù)規(guī)則在系統(tǒng)中均得到正確的應(yīng)用。在任意一臺安裝相關(guān)軟件計算機(jī)上運(yùn)行結(jié)果正常。(c)測試結(jié)果:所計劃的測試已全部執(zhí)
49、行,測試過程中發(fā)現(xiàn)的缺陷問題已解決。達(dá)到預(yù)期測試目標(biāo)。(3) 功能測試(a)測試目標(biāo):確保所選擇測試的功能正常使用,其中包括功能瀏覽,數(shù)據(jù)輸入,處理和查詢功能。(b)測試方法:利用合法的和不合法的數(shù)據(jù)來執(zhí)行各個測試用例或功能,以核實(shí)以下內(nèi)容:在使用合法數(shù)據(jù)時得到預(yù)期的結(jié)果。在使用非法數(shù)據(jù)時顯示相應(yīng)的錯誤信息息或警告信息。各業(yè)務(wù)規(guī)則在系統(tǒng)中均得到正確的應(yīng)用。(c)測試結(jié)果:數(shù)據(jù)的接受、處理和檢索正確,業(yè)務(wù)規(guī)則的實(shí)施恰當(dāng)。(4) 用戶界面測試:(a)測試目標(biāo):通過測試進(jìn)行的瀏覽以正確反映本軟件的功能和需求,這種瀏覽包括對各個窗口、窗口與窗口之間、字段與字段之間的瀏覽,各種訪問方法的正常使用,保證窗
50、口的對象和特征(例如,菜單、大小、位置、狀態(tài)和中心)均符合預(yù)計標(biāo)準(zhǔn)。(b)測試方法:為每個窗口創(chuàng)建新的數(shù)據(jù)記錄,或修改原由數(shù)據(jù)記錄,以核實(shí)各個應(yīng)用程序窗口和對象都正確地進(jìn)行瀏覽,并處于正常的對象狀態(tài)。(c)測試結(jié)果:達(dá)到預(yù)期測試目標(biāo),測試內(nèi)容正確運(yùn)行,測試過程中出現(xiàn)問題已解決。(5) 性能評測(a)測試目標(biāo):對本系統(tǒng)響應(yīng)時間、各功能響應(yīng)時間、其他與時間相關(guān)的需求進(jìn)行評測和評估。不用硬件配置計算機(jī)上的工作性能差異。檢查性能需求是否滿足設(shè)計要求,核實(shí)學(xué)生檔案管理系統(tǒng)指定的事務(wù)在以下情況下的性能行為:正常工作流量情況下的使用。超負(fù)荷工作量情況下的使用。不同硬件配置計算機(jī)上的工作性能差異。(b)測試方法:通過修改學(xué)生檔案管理系統(tǒng)數(shù)據(jù)文件來增加事務(wù)數(shù)量,或通過修改腳本來增加軟件每項(xiàng)事務(wù)的
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中煙面試試題及答案
- 2025年艾灸試題解答題及答案
- 2025年個體經(jīng)營面試題及答案
- 2025年有趣的門中班主題標(biāo)準(zhǔn)教案
- 2025年民航面試題材及答案
- 2025年有關(guān)大班標(biāo)準(zhǔn)教案范文匯編
- 2025年凈水器考試題及答案
- 2025年初二結(jié)業(yè)考試題及答案
- 2025年各種麻醉護(hù)理試題及答案
- 2025年關(guān)于瑣記測試題及答案
- 2024年浙江長征職業(yè)技術(shù)學(xué)院招聘筆試真題
- 文明交通知識培訓(xùn)課件
- 2025年亳州職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫完整
- 2025年南京城市職業(yè)學(xué)院單招職業(yè)技能測試題庫完整版
- (統(tǒng)編版)2025年小升初語文模擬考試卷(附帶答案)
- 2024年廣東省中考數(shù)學(xué)試卷(附答案)
- 2025年高考時政考題及參考答案(100題)
- DeepSeek人工智能語言模型探索AI世界科普課件
- 《青春期心理健康指導(dǎo)》課件
- 第18講 等腰三角形 課件中考數(shù)學(xué)復(fù)習(xí)
- 全過程工程咨詢文件管理標(biāo)準(zhǔn)
評論
0/150
提交評論