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

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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)查 (31.1系統(tǒng)調(diào)查內(nèi)容 (31.2系統(tǒng)調(diào)查方法 (3第二章. 系統(tǒng)分析 (32.1 系統(tǒng)分析 (32.2 系統(tǒng)調(diào)結(jié)構(gòu)圖 (42.3 子系統(tǒng)功能描述 (4第三章. 系統(tǒng)設(shè)計(jì) (63.1 界面設(shè)計(jì)原則 (63.2 數(shù)據(jù)庫(kù)設(shè)計(jì) (63.3 代碼設(shè)計(jì) (10第四章. 學(xué)生照片管理模塊設(shè)計(jì) (144.1 ImageFunc模塊 (144.2 設(shè)計(jì)照片管理窗體 (164.3 在學(xué)生信息管理窗體中添加照片管理代碼 (17第五章. 系統(tǒng)測(cè)試 (185.1 系統(tǒng)測(cè)試項(xiàng)目 (185.2 系統(tǒng)評(píng)估 (20第一章. 系

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

3、方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等優(yōu)點(diǎn)的現(xiàn)代化信息管理系統(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é)生基本情況的管理。 圖3.1學(xué)生檔案管理系統(tǒng)功能模塊2.2 系統(tǒng)調(diào)結(jié)構(gòu)圖 圖3.2學(xué)生檔案管理系統(tǒng)結(jié)構(gòu)圖2.3 子系統(tǒng)功能描述院系管理由創(chuàng)建院系及班級(jí)信息,修改院系班級(jí)記錄,刪除院系班級(jí)記錄,查看院系班級(jí)數(shù)據(jù)四部分組成。創(chuàng)建院系與班級(jí)信息。主要是院系名稱,

4、班級(jí)專業(yè)名稱,院系具體描述,班級(jí)介紹,院系編號(hào)由數(shù)據(jù)庫(kù)系統(tǒng)自動(dòng)編號(hào),不顯示在前臺(tái)程序。修改院系與班級(jí)記錄??蓪?duì)院系或班級(jí)名稱,描述,介紹等記錄進(jìn)行修改。刪除院系與班級(jí)記錄??蛇x擇刪除院系或班級(jí),如果所選院系或班級(jí)已含有數(shù)據(jù)記錄,如含有專業(yè)班級(jí)資料,或?qū)W生資料,則必須先將其所含有的記錄資料刪除,才能成功完成操作。查詢?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)、姓名、照片、性別、民族、生日、政治面貌、籍貫、

5、身份證號(hào)、學(xué)生證號(hào)、家庭電話、居住住址、郵政編碼、入校日期、職務(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)建并管理所選擇學(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ō)明。刪

6、除獎(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)敬愛(ài)能夠自動(dòng)更新該學(xué)生在院系班級(jí)表,學(xué)生基本信息表中的相關(guān)數(shù)據(jù)記錄。5課程管理由創(chuàng)建、修改、刪除課程信息,學(xué)生課程成績(jī)信息組成。創(chuàng)建、修改課程信息,可創(chuàng)建或修改新課程名稱,授課教師,課時(shí)設(shè)置,課程類型。刪除課程信息。選擇某個(gè)課程記錄,可將其所包含的所有信息刪除。學(xué)生課程成績(jī)信息,由添加、修改、刪除課程成績(jī)信息組成。設(shè)置院系學(xué)生中學(xué)生課程成

7、績(jī)信息。6系統(tǒng)管理由創(chuàng)建用戶,修改用戶,刪除用戶,瀏覽用戶信息組成。創(chuàng)建用戶。該功能只對(duì)系統(tǒng)管理員開(kāi)放,使用系統(tǒng)管理員身份登陸后可創(chuàng)建起他用戶。修改、刪除用戶。該權(quán)限只對(duì)系統(tǒng)管理員開(kāi)放。非系統(tǒng)管理員只能對(duì)自己的用戶名和密碼進(jìn)行修改。第三章. 系統(tǒng)設(shè)計(jì)3.1 界面設(shè)計(jì)原則一個(gè)好的應(yīng)用程序不僅要有強(qiáng)大的功能,還要有美觀實(shí)用的用戶界面。用戶界面是應(yīng)用程序的一個(gè)重要組成部分,一個(gè)應(yīng)用程序的界面往往決定了該程序的易用性與可操作性,一個(gè)美觀的界面的美觀和用戶親和性是應(yīng)用軟件成功的首要條件。界面設(shè)計(jì)具有一般性的原則,最為重要的有:界面要具有一致性;常用操作要有捷徑;提供簡(jiǎn)單的錯(cuò)誤處理;提供信息反饋;操作可逆

8、。我們?cè)谠O(shè)計(jì)界面時(shí)充分從一致性、友好性、交互性、信息子最小量原則、易用性、數(shù)據(jù)輸入等方考慮,遵循以下原則操作簡(jiǎn)單,易學(xué),易掌握;界面美觀,操作舒適;快速反應(yīng),響應(yīng)合理;語(yǔ)言規(guī)范,語(yǔ)義一致。一致性,在同一界面中,所有的菜單選擇、命令輸入、數(shù)據(jù)顯示和其他功能應(yīng)保持風(fēng)格的一致性。信息最小量原則。人機(jī)界面設(shè)計(jì)要盡量減少用戶記憶負(fù)擔(dān),采用有助于記憶的設(shè)計(jì)方案。用戶界面應(yīng)能對(duì)用戶的決定做出及時(shí)的響應(yīng),提高對(duì)話、移動(dòng)的思考的效率,最大可能的減少擊鍵次數(shù),縮短鼠標(biāo)移動(dòng)距離,避免使用戶產(chǎn)生無(wú)所適從的感覺(jué)。人機(jī)界面應(yīng)該提供上下文敏感的求助系統(tǒng),讓用戶及時(shí)獲得幫助,盡量用簡(jiǎn)短的動(dòng)詞和動(dòng)詞短語(yǔ)提示命令。操作可逆。操作

9、應(yīng)該可逆,對(duì)于不具備專業(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),通用圖形方式描述信息的來(lái)龍去脈和實(shí)際流程。 圖4.1數(shù)據(jù)流程分析圖數(shù)據(jù)字典(Data Dictionary, DD是DBMS中的一個(gè)特殊文件,用于存儲(chǔ)數(shù)據(jù)庫(kù)的一些說(shuō)明信息,這些說(shuō)明信息稱為元數(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ù)采用Micr

10、osoft 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、用戶信息表Users。表1 Classes結(jié)構(gòu) 表5 Change結(jié)構(gòu) 表6 Lessons結(jié)構(gòu) 3.3 代碼設(shè)計(jì)一個(gè)高效的軟件不僅應(yīng)該比實(shí)現(xiàn)同樣功能的軟件運(yùn)行得更快,還應(yīng)該消耗更少的系統(tǒng)資源。所以代碼的設(shè)計(jì)就顯得非常重要。考慮到以后對(duì)系統(tǒng)更新與維護(hù)的可行性與方便性,減少程序員工作量,等各

11、方面的考慮,我們?cè)诖a設(shè)計(jì)過(guò)程中遵循科學(xué)性,系統(tǒng)性,可擴(kuò)展性,規(guī)范化,人性化,通用性,含義單純性,容易理解等原則考慮。以下只列舉部分關(guān)鍵代碼院系管理添加院系信息If Trim(txtClass = "" ThenMsgBox "請(qǐng)輸入院系班級(jí)名稱"Exit SubEnd IfWith MyClass.Class_Name = MakeStr(txtClass.Describe = MakeStr(txtDescribeIf Modify = False Then '插入If .In_DB(.Class_Name = True ThenMsgBox

12、 Trim(txtClass + " 已經(jīng)存在"Exit SubEnd If.UpperId = CurClass.Class_IdBh = .InsertTmp_Key = "a" + Trim(Str(BhFrmClassMan.TreeView1.SelectedItem.Image = 1FrmClassMan.TreeView1.SelectedItem.ExpandedImage = 2FrmClassMan.TreeView1.SelectedItem.SelectedImage = 3Set TmpNode = FrmClassMan.T

13、reeView1.Nodes.Add(FrmClassMan.TreeView1.SelectedItem.Key, _ tvwChild, Tmp_Key, .Class_Name, 4, 5TmpNode.Selected = TrueElse '修改If CurClass.Class_Name<>Trim(txtClass ThenIf .In_DB(Trim(txtClass = True ThenMsgBox Trim(txtClass + " 已經(jīng)存在"Exit SubEnd IfEnd If.UpperId = CurClass.Upper

14、Id.Update (CurClass.Class_IdIf CurClass.Class_Name<>Trim(txtClass ThenFrmClassMan.TreeView1.SelectedItem.Text = Trim(txtClassEnd IfCurClass.Class_Name = Trim(txtClassEnd IfEnd WithUnload Me刪除院系資料If TreeView1.SelectedItem.Key = "a0" ThenMsgBox "此項(xiàng)不能刪除"Exit SubEnd IfIf CurCla

15、ss.HaveSon(CurClass.Class_Id = True ThenMsgBoxCurClass.Class_Name + " 包含下級(jí)院系班級(jí),不能刪除"Exit SubEnd IfIf MyClass.HaveStudent(CurClass.Class_Id = True ThenMsgBoxCurClass.Class_Name + " 包含學(xué)生,不能刪除"Exit SubEnd IfIf MsgBox("是否確定要?jiǎng)h除" + Trim(TreeView1.SelectedItem.Text, vbYesNo, &

16、quot;請(qǐng)確認(rèn)" = vbNo ThenExit SubEnd IfCall CurClass.Delete(CurClass.Class_IdTreeView1.Nodes.Remove TreeView1.SelectedItem.IndexTreeView1_Click學(xué)生信息資料管理添加學(xué)生基本信息資料With MyStu.Student_Name = MakeStr(txtStu_Name.Sex = ComboSex.Text.Nationality = MakeStr(txtNationalityIf IsDate(ComboBirth.Text = False Th

17、enMsgBox "請(qǐng)選擇正確的出生日期"Exit SubEnd 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.Residence = MakeStr(txtResidence.Postcode = MakeStr(tx

18、tPostcodeIf IsDate(ComboInDate.Text = False ThenMsgBox "請(qǐng)選擇正確的入校日期"Exit SubEnd If.InDate = ComboInDate.Text.Title = MakeStr(txtTitle.Memo = MakeStr(txtMemodd = Datedd = Format(dd, "yyyy-mm-dd"t = Timett = Trim(Str(Hour(t + ":" + Trim(Str(Minute(t + ":" + Trim(

19、Str(Second(t .Fillin_Time = dd + " " + tt.Class_Id = CurClass.Class_IdIf Modify = False Then.InsertElse.Update (CurStu.Student_IdEnd IfEnd WithFrmStuMan.TmpOk = TrueUnload Me照片管理If Button = 1 ThenIf FrmPhotoMenu.Visible = True ThenUnload FrmPhotoMenuEnd IfEnd IfIf Button = 2 ThenIf CurStu.

20、Student_Id<= 0 ThenExit SubEnd IfFrmPhotoMenu.Left = X + Image1.Left + 200 ' - 1610FrmPhotoMenu.Top = Y + Image1.Top + 1900FrmPhotoMenu.ShowEnd IfDim DiskFileAs StringIf CurStu.Student_Id<= 0 ThenMsgBox "請(qǐng)選擇學(xué)生"Unload MeExit SubEnd IfCommonDialog1.Filter = "BMP文件(*.bmp|*.bmp|

21、JPEG文件(*.jpg|*.jpg|GIF文件(*.gif|*.gif"CommonDialog1.ShowOpenDiskFile = CommonDialog1.FileNameIf DiskFile = "" ThenMsgBox "請(qǐng)選擇照片文件"Unload MeExit SubEnd IfCall SaveImage(DiskFile, FrmStuMan.AdoStuDetailCall ShowImage(FrmStuMan.Image1, FrmStuMan.AdoStuDetailUnload MeIf CurStu.St

22、udent_Id<= 0 ThenMsgBox "請(qǐng)選擇學(xué)生"Unload MeExit SubEnd IfFrmStuMan.AdoStuDetail.Recordset.Fields(2.AppendChunk ""FrmStuMan.AdoStuDetail.Recordset.UpdateFrmStuMan.Image1.Picture = LoadPicture(""Unload Me學(xué)籍管理添加學(xué)籍管理信息資料FrmChangeEdit.ComboDate.Text = Format(Now, "yyyy-

23、mm-dd"SelStu.InitFrmChangeEdit.ComboName.Text = ""FrmChangeEdit.ComboType.ListIndex = ComboType.ListIndexFrmChangeEdit.ComboClass = ""FrmChangeEdit.txtMemo = ""FrmChangeEdit.Modify = FalseFrmChangeEdit.Show 1Refresh_Change修改學(xué)籍管理信息資料FrmChangeEdit.OriId = Adodc1.Reco

24、rdset.Fields(0FrmChangeEdit.ComboDate.Text = Trim(Adodc1.Recordset.Fields(1SelStu.Student_Id = Adodc1.Recordset.Fields(2SelStu.GetInfo (SelStu.Student_IdFrmChangeEdit.ComboName.Text = Trim(Adodc1.Recordset.Fields(3FrmChangeEdit.ComboType.ListIndex = ComboType.ListIndexSelect Case ComboType.ListIndex

25、Case 0, 1 '退學(xué)、休學(xué)FrmChangeEdit.txtNewSchool = ""FrmChangeEdit.ComboClass = ""FrmChangeEdit.txtReason = Trim(Adodc1.Recordset.Fields(4FrmChangeEdit.txtMemo = Trim(Adodc1.Recordset.Fields(5Case 2 '轉(zhuǎn)學(xué)FrmChangeEdit.txtNewSchool = Trim(Adodc1.Recordset.Fields(4FrmChangeEdit.Com

26、boClass = ""FrmChangeEdit.txtReason = Trim(Adodc1.Recordset.Fields(5FrmChangeEdit.txtMemo = Trim(Adodc1.Recordset.Fields(6Case 3 '調(diào)班FrmChangeEdit.txtNewSchool = ""FrmChangeEdit.ComboClass = Trim(Adodc1.Recordset.Fields(5CurClass.GetInfo (Adodc1.Recordset.Fields(4FrmChangeEdit

27、.txtReason = Trim(Adodc1.Recordset.Fields(6FrmChangeEdit.txtMemo = Trim(Adodc1.Recordset.Fields(7End SelectFrmChangeEdit.Modify = TrueFrmChangeEdit.Show 1Refresh_Change第四章. 學(xué)生照片管理模塊設(shè)計(jì)4.1 ImageFunc模塊ImageFunc模塊用來(lái)管理與數(shù)據(jù)庫(kù)讀寫圖像字段相關(guān)的變量和函數(shù)。其中包含兩個(gè)用戶自定義過(guò)程:ShowImage和SaveImage。因?yàn)镾QLServer2000的圖像字段不能夠使用Insert和Up

28、date等語(yǔ)句插入和更新,所以本系統(tǒng)中使用GetChunk和AppendChunk方法讀取和填寫圖像字段。GetChunk方法用來(lái)返回大型文本或二進(jìn)制數(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 AdodcErase byteChunk(Fie

29、ldSize = Adodc1.Recordset.Fields(2.ActualSizeIf FieldSize<= 0 ThenImage1.Picture = LoadPicture(""Exit SubEnd If'提供一個(gè)尚未使用的文件號(hào)SourceFile = FreeFile'打開(kāi)文件Open TempFileFor Binary Access Write As SourceFile'計(jì)算數(shù)據(jù)塊NumBlocks = FieldSize BlockSizeLeftOver = FieldSize Mod BlockSize 

30、9;得到剩余字節(jié)數(shù)'分塊讀取圖像數(shù)據(jù),并寫入到文件中If LeftOver<> 0 ThenReDimbyteChunk(LeftOverbyteChunk( = Adodc1.Recordset.Fields(2.GetChunk(LeftOverPut SourceFile, ,byteChunk(End IfFor i = 1 ToNumBlocksReDimbyteChunk(BlockSizebyteChunk( = Adodc1.Recordset.Fields(2.GetChunk(BlockSizePut SourceFile, ,byteChunk(Nex

31、t iClose SourceFile'將文件裝入到Image1控件中Image1.Picture = LoadPicture(TempFile'刪除臨時(shí)文件Kill (TempFileEnd SubSaveImage(也包含兩個(gè)參數(shù),ImageFile表示圖像的文件名,Adodc1表示用來(lái)存儲(chǔ)圖像字段的ADO Data控件。ShowImage(過(guò)程的代碼如下:Public Sub SaveImage(ByValImageFile As String, Adodc1 As AdodcIf Adodc1.Recordset.BOF = True Or Adodc1.Records

32、et.EOF = True ThenExit SubEnd IfIf ImageFile = "" ThenExit SubEnd If'提供一個(gè)尚未使用的文件號(hào)SourceFile = FreeFile'打開(kāi)文件Open ImageFileFor Binary Access Read As SourceFile'得到文件長(zhǎng)度FileLength = LOF(SourceFile'判斷文件是否存在If FileLength = 0 ThenClose SourceFileMsgBoxDiskFile& "無(wú)內(nèi)容或不存在!&q

33、uot;ElseNumBlocks = FileLength BlockSize '得到數(shù)據(jù)塊的個(gè)數(shù)LeftOver = FileLength Mod BlockSize '得到剩余字節(jié)數(shù)Adodc1.Recordset.Fields(2.Value = NullReDimbyteData(BlockSize '重新定義數(shù)據(jù)塊的大小For i = 1 ToNumBlocksGet SourceFile, , byteData( '讀到內(nèi)存塊中Adodc1.Recordset.Fields(2.AppendChunkbyteData( '寫入FLDNext

34、 iReDimbyteData(LeftOver '重新定義數(shù)據(jù)塊的大小Get SourceFile, , byteData( '讀到內(nèi)存塊中Adodc1.Recordset.Fields(2.AppendChunkbyteData( '寫入FLDClose SourceFile '關(guān)閉源文件Adodc1.Recordset.UpdateEnd IfEnd Sub4.2 設(shè)計(jì)照片管理窗體對(duì)學(xué)生照片管理的模式與其他信息不同,需要單獨(dú)地處理。這一小節(jié)中,將設(shè)計(jì)一個(gè)菜單式的窗體,當(dāng)用戶右擊Image1控件時(shí),將彈出此窗體,允許用戶設(shè)置照片。創(chuàng)建一個(gè)新窗體,并參照“選擇

35、部門”窗體設(shè)置窗體的屬性,新窗體名稱為FrmPhotoMeun。為了使用戶能夠方便地選擇圖像文件,在窗體FrmEmpSel中將使用到CommoDialog控件。CommoDialog控件提供一組標(biāo)準(zhǔn)的操作對(duì)話框,進(jìn)行諸如打開(kāi)和保存文件,設(shè)置打印選項(xiàng),以為選擇顏色和字體等操作。選擇“工程”菜單中的“部件”命令,打開(kāi)“部件”屬性對(duì)話框。在控件列表中,查找并選擇Microsoft Common Dialog Control 6.0,單擊“確定”按鈕,CommonDialog控件將出現(xiàn)在工具箱中。將CommonDialog控件添加到窗體FrmPhotoMeun中,當(dāng)用戶單擊“設(shè)置照片”菜單項(xiàng)時(shí),將觸發(fā)

36、Label1_Click事件,對(duì)應(yīng)的代碼如下:Private Sub Label1_Click(Dim DiskFileAs String'如果沒(méi)有選擇學(xué)生,則返回If CurStu.Student_Id<= 0 ThenMsgBox "請(qǐng)選擇學(xué)生"Unload MeExit SubEnd If'使用CommonDialog控件讀取圖像文件CommonDialog1.Filter = "BMP文件(*.bmp|*.bmp|JPEG文件(*.jpg|*.jpg|GIF文件(*.gif|*.gif"CommonDialog1.ShowO

37、penDiskFile = CommonDialog1.FileNameIf DiskFile = "" ThenMsgBox "請(qǐng)選擇照片文件"Unload MeExit SubEnd If'存儲(chǔ)并顯示照片Call SaveImage(DiskFile, FrmStuMan.AdoStuDetailCall ShowImage(FrmStuMan.Image1, FrmStuMan.AdoStuDetailUnload MeEnd Sub當(dāng)用戶單擊“刪除照片”菜單項(xiàng)時(shí),將觸發(fā)Label2_Click事件,對(duì)應(yīng)的代碼如下: Private Sub

38、 Label2_Click(If CurStu.Student_Id<= 0 ThenMsgBox "請(qǐng)選擇學(xué)生"Unload MeExit SubEnd If'使用AppendChunk ""的方法刪除圖像FrmStuMan.AdoStuDetail.Recordset.Fields(2.AppendChunk ""FrmStuMan.AdoStuDetail.Recordset.UpdateFrmStuMan.Image1.Picture = LoadPicture(""Unload MeEnd

39、Sub4.3 在學(xué)生信息管理窗體中添加照片管理代碼在學(xué)生信息管理窗體FrmStuMan中編寫照片管理相關(guān)的代碼。當(dāng)用戶單擊照片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)閉照片管理菜單If Button = 1 ThenIf FrmPhotoMenu.Visible = True ThenUnload FrmPhotoMenuEnd IfEnd If'單

40、擊右鍵,打開(kāi)照片管理菜單If Button = 2 ThenIf CurStu.Student_Id<= 0 ThenExit SubEnd IfFrmPhotoMenu.Left = X + Image1.Left + 200 ' - 1610FrmPhotoMenu.Top = Y + Image1.Top + 1900FrmPhotoMenu.ShowEnd IfEnd Sub第五章. 系統(tǒng)測(cè)試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訪問(wèn)方法和進(jìn)程正常運(yùn)行數(shù)據(jù)安全可靠。(b測(cè)試方法:把數(shù)據(jù)庫(kù)StudentSy

41、s及其進(jìn)程作為一個(gè)子系統(tǒng)來(lái)進(jìn)行測(cè)試。在測(cè)試該子系統(tǒng)時(shí),不把將測(cè)試對(duì)象的用戶界面作數(shù)據(jù)的接口。調(diào)用各個(gè)數(shù)據(jù)庫(kù)訪問(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ī)則。(c測(cè)試結(jié)果:所有的數(shù)據(jù)庫(kù)訪問(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ù)流的處理是否

42、符合標(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)用。在任意一臺(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ù)輸入,處理

43、和查詢功能。(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用戶界面測(cè)試:(a測(cè)試目標(biāo):通過(guò)測(cè)試進(jìn)行的瀏覽以正確反映本軟件的功能和需求,這種瀏覽包括對(duì)各個(gè)窗口、窗口與窗口之間、字段與字段之間的瀏覽,各種訪問(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ì)象都

44、正確地進(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ī)上的工作性能差異。檢查性能需求是否滿足設(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é)果:單個(gè)用戶正常工作量使用情況下成功地完成測(cè)試腳本,未發(fā)生故障:系統(tǒng)中享受不同權(quán)限用戶在可接受的時(shí)間范圍內(nèi)與正常工作量情況下成功地完成測(cè)試腳本,未發(fā)生任何故障。(6負(fù)載測(cè)試:(a 測(cè)試目標(biāo):確保系統(tǒng)在超出預(yù)期極限負(fù)荷工作量情況下。評(píng)估性能特征,例如,響應(yīng)時(shí)間、事務(wù)處理速率和其他與時(shí)間相關(guān)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論