軟件工程大作業(yè)_第1頁
軟件工程大作業(yè)_第2頁
軟件工程大作業(yè)_第3頁
軟件工程大作業(yè)_第4頁
軟件工程大作業(yè)_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、軟件工程大作業(yè)題目:學生檔案管理系統(tǒng)小組成員:戚盈潔()王大偉()王 磊()霍成海()目錄第一章. 系統(tǒng)調查41.1系統(tǒng)調查內容41.2系統(tǒng)調查方法4第二章. 系統(tǒng)分析42.1 系統(tǒng)分析42.2 系統(tǒng)調結構圖52.3 子系統(tǒng)功能描述5第三章. 系統(tǒng)設計73.1 界面設計原則73.2 數(shù)據(jù)庫設計73.3 代碼設計11第四章. 學生照片管理模塊設計154.1 ImageFunc模塊154.2 設計照片管理窗體174.3 在學生信息管理窗體中添加照片管理代碼18第五章. 系統(tǒng)測試195.1 系統(tǒng)測試項目195.2 系統(tǒng)評估21第一章. 系統(tǒng)調查1.1系統(tǒng)調查內容學校各院系基本概況:院系名稱,專業(yè)設置

2、,課程設置,課時安排,學生人數(shù),學生班級數(shù)等。學校資源條件調查,包括計算機配備,網(wǎng)絡支持條件等。各院系專業(yè)設置概況:現(xiàn)有開設專業(yè)及規(guī)劃中開設專業(yè)設置,專業(yè)開設課程,各課程授課教師與成績處理。學校各部門(學生處、教務處、檔案管理室、各院系)對學生基本情況的需求與掌握,對學生基本信息的處理方式與業(yè)務流程。學校各部門、單位、教師、學生對系統(tǒng)的其他要求和希望。1.2系統(tǒng)調查方法通過對部分高校學生檔案管理人員的訪問,了解到目前大部分高校的檔案管理工作存在工作效率低,成本高,保密性差,查詢困難等問題。大部分工作人員都提出需要一個具有檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等優(yōu)點的現(xiàn)

3、代化信息管理系統(tǒng)。為解決此問題我們決定開發(fā)一個既方便又操作簡單,功能較為齊全的學生檔案管理系統(tǒng)。第二章. 系統(tǒng)分析2.1 系統(tǒng)分析1 系統(tǒng)開發(fā)的總體任務是學生檔案管理的系統(tǒng)化和規(guī)范化。2 系統(tǒng)開發(fā)的目標是使檔案管理工作科學化和規(guī)范化,提高安全系數(shù)。3 系統(tǒng)功能樹本系統(tǒng)主要功能是實現(xiàn)學生基本情況的管理。學生獎懲管理學生學籍管理學生信息管理課程信息管理系統(tǒng)用戶管理院系信息管理學生檔案管理系統(tǒng) 圖3.1學生檔案管理系統(tǒng)功能模塊2.2 系統(tǒng)調結構圖運行權限輸入主界面判斷繼續(xù)退出數(shù)據(jù)庫文件正確錯誤是否院系信息管理學生信息管理學生獎懲管理學生學籍管理系統(tǒng)用戶管理課程信息管理學生照片信息管理學生基本信息管理

4、學生主要教育經歷管理考試成績管理課程設置管理轉學調班管理退學休學管理針對各個模塊不同的表實現(xiàn)添加記錄、修改記錄、刪除記錄,以及查詢顯示記錄等功能圖3.2學生檔案管理系統(tǒng)結構圖2.3 子系統(tǒng)功能描述院系管理由創(chuàng)建院系及班級信息,修改院系班級記錄,刪除院系班級記錄,查看院系班級數(shù)據(jù)四部分組成。創(chuàng)建院系與班級信息。主要是院系名稱,班級專業(yè)名稱,院系具體描述,班級介紹,院系編號由數(shù)據(jù)庫系統(tǒng)自動編號,不顯示在前臺程序。修改院系與班級記錄??蓪υ合祷虬嗉壝Q,描述,介紹等記錄進行修改。刪除院系與班級記錄??蛇x擇刪除院系或班級,如果所選院系或班級已含有數(shù)據(jù)記錄,如含有專業(yè)班級資料,或學生資料,則必須先將其所

5、含有的記錄資料刪除,才能成功完成操作。查詢院系與班級資料。在院系管理的主界面查看已有院系及班級記錄。2) 學生信息管理由創(chuàng)建、修改、刪除學生信息資料,添加、修改、刪除學生教育經歷,添加與刪除學生照片組成。學生信息資料創(chuàng)建,將剛入學的學生資料添加到數(shù)據(jù)庫中加以保存。信息資料由學生編號、姓名、照片、性別、民族、生日、政治面貌、籍貫、身份證號、學生證號、家庭電話、居住住址、郵政編碼、入校日期、職務、所在院系編號、備注和填表時間組成?;诒Wo數(shù)據(jù)記錄安全性考慮學生編號由數(shù)據(jù)庫系統(tǒng)自動生成,不顯示在前臺程序。院系編號亦不在學生信息管理界面顯示,只在后臺數(shù)據(jù)庫顯示。添加、修改、刪除學生教育經歷,創(chuàng)建并管理

6、所選擇學生過去的教育經歷,曾就讀與某校,任何職務。添加、刪除學生照片。為所選擇學生添加個人照片,如需更新照片,只需再次添加,既可覆蓋原有照片數(shù)據(jù)記錄。3) 獎懲信息管理由添加學生獎懲信息,修改獎懲信息,刪除獎懲信息,瀏覽學生獎懲信息組成。添加、修改學生獎懲信息,設置學生獎勵或處罰資料,獎勵與處罰項目使用備選項,亦可再加以具體說明。刪除獎懲信息。獎勵與懲罰記錄分開顯示,選擇某條獎懲記錄,將其刪除。4) 學生學籍信息管理由添加、修改、刪除學生退學、轉學、休學、調班等學籍信息組成。添加、修改學生學籍信息資料。通過在院系表中選擇目標班級,可選擇學生姓名,刪除學生學籍變更數(shù)據(jù)記錄。學生調班成功后,系統(tǒng)敬

7、愛能夠自動更新該學生在院系班級表,學生基本信息表中的相關數(shù)據(jù)記錄。5)課程管理由創(chuàng)建、修改、刪除課程信息,學生課程成績信息組成。創(chuàng)建、修改課程信息,可創(chuàng)建或修改新課程名稱,授課教師,課時設置,課程類型。刪除課程信息。選擇某個課程記錄,可將其所包含的所有信息刪除。學生課程成績信息,由添加、修改、刪除課程成績信息組成。設置院系學生中學生課程成績信息。6)系統(tǒng)管理由創(chuàng)建用戶,修改用戶,刪除用戶,瀏覽用戶信息組成。創(chuàng)建用戶。該功能只對系統(tǒng)管理員開放,使用系統(tǒng)管理員身份登陸后可創(chuàng)建起他用戶。修改、刪除用戶。該權限只對系統(tǒng)管理員開放。非系統(tǒng)管理員只能對自己的用戶名和密碼進行修改。第三章. 系統(tǒng)設計3.1

8、界面設計原則一個好的應用程序不僅要有強大的功能,還要有美觀實用的用戶界面。用戶界面是應用程序的一個重要組成部分,一個應用程序的界面往往決定了該程序的易用性與可操作性,一個美觀的界面的美觀和用戶親和性是應用軟件成功的首要條件。界面設計具有一般性的原則,最為重要的有:界面要具有一致性;常用操作要有捷徑;提供簡單的錯誤處理;提供信息反饋;操作可逆。我們在設計界面時充分從一致性、友好性、交互性、信息子最小量原則、易用性、數(shù)據(jù)輸入等方考慮,遵循以下原則操作簡單,易學,易掌握;界面美觀,操作舒適;快速反應,響應合理;語言規(guī)范,語義一致。一致性,在同一界面中,所有的菜單選擇、命令輸入、數(shù)據(jù)顯示和其他功能應保

9、持風格的一致性。信息最小量原則。人機界面設計要盡量減少用戶記憶負擔,采用有助于記憶的設計方案。用戶界面應能對用戶的決定做出及時的響應,提高對話、移動的思考的效率,最大可能的減少擊鍵次數(shù),縮短鼠標移動距離,避免使用戶產生無所適從的感覺。人機界面應該提供上下文敏感的求助系統(tǒng),讓用戶及時獲得幫助,盡量用簡短的動詞和動詞短語提示命令。操作可逆。操作應該可逆,對于不具備專業(yè)知識的操作人員非常有用,可逆的動作可以是單個的操作,也可以是一個相對獨立的操作序。界面設計過程(略)3.2 數(shù)據(jù)庫設計數(shù)據(jù)流程圖DFD(Data Flow Diagram) 是描述系統(tǒng)數(shù)據(jù)流程的工具,它將數(shù)據(jù)獨立抽象出來,通用圖形方式

10、描述信息的來龍去脈和實際流程。開 始退出程序讀取用戶類型用戶登錄失敗超過3次重試失敗是否成功普通用戶Admin用戶學生信息管理院系信息管理學生獎懲管理學生學籍管理考試成績管理管理自己的用戶信息1、管理自己的用戶信息2、管理普通用戶的用戶信息學生檔案管理模塊用戶管理模塊圖4.1數(shù)據(jù)流程分析圖數(shù)據(jù)字典(Data Dictionary, DD)是DBMS中的一個特殊文件,用于存儲數(shù)據(jù)庫的一些說明信息,這些說明信息稱為元數(shù)據(jù)(Meta Data)。DD是在新的信息系統(tǒng)數(shù)據(jù)流程圖的基礎上,進一步定義和描述數(shù)據(jù)處理過程、外交實體及數(shù)據(jù)存儲(數(shù)據(jù)庫)的詳細邏輯內容工具。本系統(tǒng)后臺數(shù)據(jù)庫采用Microsoft

11、 SQL Server 2000數(shù)據(jù)庫。建立了一個數(shù)據(jù)庫StudentSys,包括了九個表:院系班級表Classes、學生基本信息表Students、學生教育經歷記錄表Experience、學生獎懲表Evaluation、學生學籍變動表Change、課程設置表Lessons、考試成績表Scores、用戶信息表Users。表1 Classes結構編號字段名稱數(shù)據(jù)類型字段大小說明1Class_idInt4院系編號2Class_NameVarchar40院系名稱3DescribeVarchar400院系職能描述4UpperIdInt2上級院系編號表2 Students結構編號字段名稱數(shù)據(jù)類型字段大小

12、說明1Student_IdInt4學生編號2Student_NameVarchar0姓名3PhotoImage16照片4SexVarchar2性別5NationalityVarchar40民族6BirthVarchar20生日7Political_PartyVarchar40政治面貌8Family_PlaceVarchar60籍貫9Id_CardVarchar20身份證號10BadgeIdVarchar40學生證號11Home_phoneVarchar30家庭電話12ResidenceVarchar100居住地址13PostcodeVarchar10郵政編碼14InDateVarchar20入

13、校日期15Class_IdSmalint2所在院系編號16TitleVarchar20職務17MemoVarchar200備注18Fillin_TimeVarchar20填報時間(日期+時間)表3 Experience結構編號字段名稱數(shù)據(jù)類型字段大小說明1ExpIdInt4編號2Student_IdInt4學生編號3Start_DateChar10開始日期4End_DateChar10終止日期5SchoolVarchar50學校/單位名稱6TitleVarchar20職務表4 Evaluation結構編號字段名稱數(shù)據(jù)類型字段大小說明1EvaIdInt4獎懲記錄編號2EvaDateChar10獎

14、懲日期3Student_IdInt4學生編號4EvaTypeBit1獎懲類型(0表示獎勵,1表示處罰)5MemoVarchat200獎懲說明6EvaContentChar20獎懲內容表5 Change結構編號字段名稱數(shù)據(jù)類型字段大小說明1ChangeIdInt4學籍變動編號2Student_IdInt4學生編號3ChangeTypeTinyint1學籍變動類型(1表示退學,2表示休學,3表示轉學,4表示調班)4ChangeDateChar10學籍變動日期5OriClassInt4原班級編號6NewSchoolVarchar50轉入學校名稱7NewClassInt4轉入班級編號8ReasonVa

15、rchar200學籍變動原因9MemoVarchar200備注表6 Lessons結構編號字段名稱數(shù)據(jù)類型字段大小說明1LessonIdInt4課程編號2LessonNameVarchar100課程名稱3TermVarchar20課程設置的學期4TeacherVarchar20授課老師5HoursTinyint1課時6LessonTypeVarchar20課程類型(必修課,選修課)表7 Scores結構編號字段名稱數(shù)據(jù)類型字段大小說明1LessonIdInt4課程編號2Student_IdInt4學生編號3ScoreTinyint1考試分數(shù)表8 Users結構編號字段名稱數(shù)據(jù)類型字段大小說明1

16、UsersNameVarchar40用戶名2PwdVarchar40密碼3UserTypeVarchar10用戶類型3.3 代碼設計一個高效的軟件不僅應該比實現(xiàn)同樣功能的軟件運行得更快,還應該消耗更少的系統(tǒng)資源。所以代碼的設計就顯得非常重要??紤]到以后對系統(tǒng)更新與維護的可行性與方便性,減少程序員工作量,等各方面的考慮,我們在代碼設計過程中遵循科學性,系統(tǒng)性,可擴展性,規(guī)范化,人性化,通用性,含義單純性,容易理解等原則考慮。以下只列舉部分關鍵代碼院系管理添加院系信息If Trim(txtClass) = Then MsgBox 請輸入院系班級名稱 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) + 已經存在 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) + 已經存在 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 此項不能刪除 Exit Sub End 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 + 包含學生,不能刪除 Exit Sub

21、End If If MsgBox(是否確定要刪除 + Trim(TreeView1.SelectedItem.Text), vbYesNo, 請確認) = vbNo Then Exit Sub End If Call CurClass.Delete(CurClass.Class_Id) TreeView1.Nodes.Remove TreeView1.SelectedItem.Index TreeView1_Click學生信息資料管理添加學生基本信息資料 With MyStu .Student_Name = MakeStr(txtStu_Name) .Sex = ComboSex.Text .

22、Nationality = MakeStr(txtNationality) 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 =

23、 MakeStr(txtHomePhone) .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 = 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 請選擇學生 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 請選擇照片文件 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 請選擇學生 Unload Me Exit Sub End If FrmStuMan.AdoStuDetail.Recordset.Fields(2).AppendChunk FrmStuMan.AdoStuDetail.Recordset.Update FrmStuMan.Image1.Picture = LoadPicture() Unload Me學籍管理添加學籍管理信息資料 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修改學籍管理信息資料 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 退學、休學 FrmChangeEdit.txtNe

30、wSchool = FrmChangeEdit.ComboClass = FrmChangeEdit.txtReason = Trim(Adodc1.Recordset.Fields(4) FrmChangeEdit.txtMemo = Trim(Adodc1.Recordset.Fields(5) Case 2 轉學 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 調班 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第四章. 學生照片管理模塊設計4.1 ImageFunc模塊ImageFunc模塊用來管理與數(shù)據(jù)庫讀寫圖像字段相關的變量和函數(shù)。其中包含兩個用戶自定義過程:ShowImage和SaveImage。因為SQLServer2000的圖像字段不能夠使用Insert和Update等語句插入和更新,所以本系統(tǒng)中使用GetChunk和AppendChunk方法讀取和填寫圖像字段。GetChunk方法用來返回大型文本或二進

33、制數(shù)據(jù)Field對象的全部或部分內容,AppendChunk方法則將數(shù)據(jù)追加到大型文本、二進制數(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

34、 Image1.Picture = LoadPicture() 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) 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、刪除臨時文件 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 = Then Exit Sub End If 提供一

37、個尚未使用的文件號 SourceFile = FreeFile 打開文件 Open ImageFile For Binary Access Read As SourceFile 得到文件長度 FileLength = LOF(SourceFile) 判斷文件是否存在 If FileLength = 0 Then Close SourceFile MsgBox DiskFile & 無內容或不存在! Else NumBlocks = FileLength BlockSize 得到數(shù)據(jù)塊的個數(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() 讀到內存塊中 Adodc1.Recordset.Fields(2).AppendChunk byteData() 寫入FLD Next i ReDim byteData(LeftOver) 重新定義數(shù)據(jù)塊的大小 Get SourceFile, , byteData() 讀到內存塊中 Adodc1.Recordset.Fields(2).AppendChun

39、k byteData() 寫入FLD Close SourceFile 關閉源文件 Adodc1.Recordset.Update End IfEnd Sub4.2 設計照片管理窗體對學生照片管理的模式與其他信息不同,需要單獨地處理。這一小節(jié)中,將設計一個菜單式的窗體,當用戶右擊Image控件時,將彈出此窗體,允許用戶設置照片。創(chuàng)建一個新窗體,并參照“選擇部門”窗體設置窗體的屬性,新窗體名稱為FrmPhotoMeun。為了使用戶能夠方便地選擇圖像文件,在窗體FrmEmpSel中將使用到CommoDialog控件。CommoDialog控件提供一組標準的操作對話框,進行諸如打開和保存文件,設置打

40、印選項,以為選擇顏色和字體等操作。選擇“工程”菜單中的“部件”命令,打開“部件”屬性對話框。在控件列表中,查找并選擇Microsoft Common Dialog Control 6.0,單擊“確定”按鈕,CommonDialog控件將出現(xiàn)在工具箱中。將CommonDialog控件添加到窗體FrmPhotoMeun中,當用戶單擊“設置照片”菜單項時,將觸發(fā)Label1_Click事件,對應的代碼如下:Private Sub Label1_Click() Dim DiskFile As String 如果沒有選擇學生,則返回 If CurStu.Student_Id = 0 Then MsgBo

41、x 請選擇學生 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 請選擇照片文件 Unload Me Exit Sub End If 存儲并顯示照片 Call SaveImage(DiskFile, FrmStuMan.Ad

42、oStuDetail) Call ShowImage(FrmStuMan.Image1, FrmStuMan.AdoStuDetail) Unload MeEnd Sub當用戶單擊“刪除照片”菜單項時,將觸發(fā)Label2_Click事件,對應的代碼如下:Private Sub Label2_Click() If CurStu.Student_Id = 0 Then MsgBox 請選擇學生 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 在學生信息管理窗體中添加照片管理代碼在學生信息管理窗體FrmStuMan中編寫照片管理相關的代碼。當用戶單擊照片Image1時,將觸發(fā)Image1_MouseDown事件,對應的代碼如下:Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) 單擊左鍵,則關閉照片管理菜

44、單 If Button = 1 Then If FrmPhotoMenu.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 IfEnd Sub第五章. 系統(tǒng)測試

45、5.1 系統(tǒng)測試項目(1) 數(shù)據(jù)和數(shù)據(jù)庫完整性測試(a) 測試目標:確保學生檔案管理系統(tǒng)數(shù)據(jù)庫StudentSys訪問方法和進程正常運行數(shù)據(jù)安全可靠。(b) 測試方法:把數(shù)據(jù)庫StudentSys及其進程作為一個子系統(tǒng)來進行測試。在測試該子系統(tǒng)時,不把將測試對象的用戶界面作數(shù)據(jù)的接口。調用各個數(shù)據(jù)庫訪問方法和進程,并在其中填充有效的和無效的數(shù)據(jù),檢測其數(shù)據(jù)規(guī)則完整性是否符合設計要求。檢查數(shù)據(jù)庫StudentSys,確保數(shù)據(jù)已按預期的方式填充,并且所有的數(shù)據(jù)庫事件已正常發(fā)生;或者檢查所返回的數(shù)據(jù),確保以正確的條件可以檢索到符合檢索要求的正確數(shù)據(jù)。輸入不符合數(shù)據(jù)庫完整性規(guī)則數(shù)據(jù),檢測字段完整性規(guī)則

46、。 (c) 測試結果:所有的數(shù)據(jù)庫訪問方法和進程都達到預期設計要求,數(shù)據(jù)記錄安全完整,數(shù)據(jù)整規(guī)則正確。(2) 集成測試(a) 測試目標:主要是檢測學生檔案管理系統(tǒng)是否達到設計需求,對業(yè)務流程及數(shù)據(jù)流的處理是否符合標準,對業(yè)務流處理是否存在邏輯不嚴謹及錯誤,需求是否存在不合理的標準及要求,在不同計算機上的運行結果是否正常。此階段測試基于功能完成的測試。(b) 測試方法:利用合法的和非法的數(shù)據(jù)來執(zhí)行各個功能,在多部不在同一局域網(wǎng)的可正常使用計算機上運行,以核實以下內容:在使用合法的數(shù)據(jù)時得到預期(正確)的結果。在使用非法數(shù)據(jù)時顯示相應的錯誤消息或警告信息。各業(yè)務規(guī)則在系統(tǒng)中均得到正確的應用。在任意

47、一臺安裝相關軟件計算機上運行結果正常。(c)測試結果:所計劃的測試已全部執(zhí)行,測試過程中發(fā)現(xiàn)的缺陷問題已解決。達到預期測試目標。(3) 功能測試(a)測試目標:確保所選擇測試的功能正常使用,其中包括功能瀏覽,數(shù)據(jù)輸入,處理和查詢功能。(b)測試方法:利用合法的和不合法的數(shù)據(jù)來執(zhí)行各個測試用例或功能,以核實以下內容:在使用合法數(shù)據(jù)時得到預期的結果。在使用非法數(shù)據(jù)時顯示相應的錯誤信息息或警告信息。各業(yè)務規(guī)則在系統(tǒng)中均得到正確的應用。(c)測試結果:數(shù)據(jù)的接受、處理和檢索正確,業(yè)務規(guī)則的實施恰當。(4) 用戶界面測試:(a)測試目標:通過測試進行的瀏覽以正確反映本軟件的功能和需求,這種瀏覽包括對各個

48、窗口、窗口與窗口之間、字段與字段之間的瀏覽,各種訪問方法的正常使用,保證窗口的對象和特征(例如,菜單、大小、位置、狀態(tài)和中心)均符合預計標準。(b)測試方法:為每個窗口創(chuàng)建新的數(shù)據(jù)記錄,或修改原由數(shù)據(jù)記錄,以核實各個應用程序窗口和對象都正確地進行瀏覽,并處于正常的對象狀態(tài)。(c)測試結果:達到預期測試目標,測試內容正確運行,測試過程中出現(xiàn)問題已解決。(5) 性能評測(a)測試目標:對本系統(tǒng)響應時間、各功能響應時間、其他與時間相關的需求進行評測和評估。不用硬件配置計算機上的工作性能差異。檢查性能需求是否滿足設計要求,核實學生檔案管理系統(tǒng)指定的事務在以下情況下的性能行為:正常工作流量情況下的使用。超負荷工作量情況下的使用。不同硬件配置計算機上的工作性能差異。(b)測試方法:通過修改學生檔案管理系統(tǒng)數(shù)據(jù)文件來增加事務數(shù)量,或通過修改腳本來增加軟件每項事務的迭代數(shù)量。(c)測試結果:單個用戶正常工作量使用情況下成功地完成測試腳本,未發(fā)生故障:系統(tǒng)中享受不

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論