學(xué)生管理信息系統(tǒng)實踐.ppt_第1頁
學(xué)生管理信息系統(tǒng)實踐.ppt_第2頁
學(xué)生管理信息系統(tǒng)實踐.ppt_第3頁
學(xué)生管理信息系統(tǒng)實踐.ppt_第4頁
學(xué)生管理信息系統(tǒng)實踐.ppt_第5頁
已閱讀5頁,還剩140頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第8章 學(xué)生管理信息系統(tǒng)實踐指南,本章的實用性在于:學(xué)生管理信息系統(tǒng)的需求是大學(xué)生最熟悉的,編程語言VB(Visual Basic)是大學(xué)生最容易掌握的,提供的需求、設(shè)計、實現(xiàn)、測試文檔是全面而系統(tǒng)的,核心源碼以文字的方式說明,全部源碼在附帶的光盤上給出。,8.1 系統(tǒng)立項背景,學(xué)生管理信息系統(tǒng)廣泛地應(yīng)用于各類院校的學(xué)生管理工作過程中,幾乎每個進行了信息化建設(shè)的學(xué)校,都建設(shè)了自己的學(xué)生管理信息系統(tǒng)。 圖8-1和圖8-2是兩個典型的學(xué)生管理信息系統(tǒng)的界面。,一個典型的學(xué)生管理信息系統(tǒng),應(yīng)該提供包括院系設(shè)置管理、學(xué)生管理、學(xué)科管理和后臺管理等內(nèi)容。其中: (1) 院系設(shè)置主要用于設(shè)置本學(xué)校的院系情況。 (2) 學(xué)生管理包括設(shè)置學(xué)生的基本信息、成績、住宿、交費、學(xué)籍變動等情況。 (3) 學(xué)科管理用于設(shè)置本院系的學(xué)科情況。 (4) 后臺管理(系統(tǒng)維護)。對數(shù)據(jù)庫表的備份、恢復(fù)和維護等。,按照軟件工程,該系統(tǒng)開發(fā)流程包括需求分析、概要設(shè)計(確定系統(tǒng)總體解決方案、數(shù)據(jù)庫分析和設(shè)計)、詳細設(shè)計(各功能模塊的設(shè)計)、編程實現(xiàn)、測試與維護。 本系統(tǒng)利用SQL Server 2000數(shù)據(jù)庫和Visual Basic語言進行開發(fā),目的在于用最簡單的工具使讀者從繁鎖的編程中解放出來,集中精力研究本系統(tǒng)的開發(fā)流程和步驟。,8.2需 求 分 析,開發(fā)系統(tǒng)的第一步,是進行需求分析。需求分析的好壞,直接決定著系統(tǒng)能否真正滿足用戶的需要,決定著系統(tǒng)的成敗。 需求分析文檔作為整個軟件開發(fā)過程的第一根基線,它是軟件開發(fā)人員與客戶共同溝通的產(chǎn)物和共同遵守的規(guī)范。 可以將需求分析分為兩個過程:一是理解需求,二是分析需求。,8.2.1 理解需求,理解需求就是進行用戶調(diào)研,然后對用戶提出的要求進行理解和思考,并列出所有的用戶需求。 下面是一份需求文本說明,是通過對學(xué)生管理信息系統(tǒng)的終端用戶和客戶進行調(diào)研后編寫的。這里列出比較關(guān)鍵的部分。,(1) 記錄、查詢和修改學(xué)生信息,包括學(xué)生的姓名、年齡、性別以及身份證號碼等。 (2) 記錄、查詢和修改課程信息,包括課程名稱、學(xué)分、課時等。 (3) 記錄、查詢和修改學(xué)生每學(xué)期的考試成績。 (3) 記錄、查詢學(xué)生的每次交費情況。 (4) 對學(xué)校的院系情況進行管理,包括設(shè)置學(xué)院名稱、修改某學(xué)院某專業(yè)方向的名稱等。 (5) 對基礎(chǔ)數(shù)據(jù)(用戶數(shù)據(jù)字典)進行維護。 (6) 提供數(shù)據(jù)統(tǒng)計、查詢、報表生成以及打印等功能。 (7) 系統(tǒng)客戶端運行在Windows各版本的平臺下,有一個較好的圖形用戶界面。 (8) 系統(tǒng)應(yīng)該有很好的可擴展性。 (9) 系統(tǒng)應(yīng)該容易上手,方便使用。,8.2.2 分析需求,分析需求又叫設(shè)計需求、開發(fā)需求或獲取需求,一般而言,管理信息系統(tǒng)需求分析最主要的是完成如下9項任務(wù)。 第1項任務(wù):畫出學(xué)生管理信息系統(tǒng)的組織結(jié)構(gòu)圖,列出各部門的崗位角色表,即組織機構(gòu)模型。畫出了組織結(jié)構(gòu)圖,就可以了解到學(xué)校有哪些機構(gòu)或部門,為日后角色、權(quán)限分配和開發(fā)各部門的功能模塊奠定了基礎(chǔ)。,第2項任務(wù):畫出學(xué)生管理信息系統(tǒng)的業(yè)務(wù)操作流程圖,它包括物流、資金流、信息流,即業(yè)務(wù)操作模型,重點是業(yè)務(wù)操作的流水步驟。 第3項任務(wù):畫出學(xué)生管理信息系統(tǒng)的數(shù)據(jù)流程圖,即單據(jù)和報表的流程圖,掌握業(yè)務(wù)規(guī)則,獲得初步數(shù)據(jù)模型。 第4項任務(wù):列出學(xué)生管理信息系統(tǒng)的功能點列表,即功能模型。 第5項任務(wù):列出系統(tǒng)的性能點列表,即性能模型。,第6項任務(wù):列出學(xué)生管理信息系統(tǒng)系統(tǒng)的接口列表,即接口模型。由于本系統(tǒng)面向的顧客并沒有要求提供與其他系統(tǒng)進行連接的接口,所以這一步可以忽略。 第7項任務(wù):確定學(xué)生管理信息系統(tǒng)的運行環(huán)境,即環(huán)境模型。 第8項任務(wù):學(xué)生管理信息系統(tǒng)的界面約定,即界面模型。 第9項任務(wù):對學(xué)生管理信息系統(tǒng)的開發(fā)工期、費用、開發(fā)進度、系統(tǒng)風(fēng)險等問題進行分析與評估。,需要注意的是,以上9項任務(wù)并不是開發(fā)任何一個系統(tǒng)都需要完成的,應(yīng)該根據(jù)實際需要,增加或刪除適當(dāng)?shù)娜蝿?wù)。 分析需求后,就可以對系統(tǒng)進行UML建模了。 可視化統(tǒng)一建模語言UML將模型中的信息用標(biāo)準(zhǔn)圖形元素直觀地表示出來,實現(xiàn)模型內(nèi)部及外部的各種通信,使需求分析人員更容易地理解系統(tǒng)的結(jié)構(gòu)與層次。 下面分別講解學(xué)生管理信息系統(tǒng)的UML建模過程。,8.2.3用況分析,使用Rose工具對系統(tǒng)進行UML建模。 如圖8-3所示。,8.2.4 需求分析文檔,1概述(Summary) 2. 系統(tǒng)描述(System in Target) 2.1 組織結(jié)構(gòu)與職責(zé)(Organizing Framework and Function) 學(xué)校的組織結(jié)構(gòu)圖如圖8-6所示。,2.2 角色定義(Role Definition) 組織結(jié)構(gòu)圖中各單位的職責(zé)說明及相關(guān)業(yè)務(wù),如表8-3所示。,2.3 單據(jù)、賬本、報表(Bill of Document,Account and Report) 單據(jù)和賬本是系統(tǒng)必不可少的信息源,報表是系統(tǒng)輸出的工作產(chǎn)品。 2.3.1 單據(jù)(Bill of Document) 各單據(jù)如表8-4表8-8所示。,2.3.2 賬本(Account) 學(xué)生交費賬本如表8-9所示。,2.3.3 報表(Report) 各報表如表8-10至表8-12所示。,3. 系統(tǒng)功能需求(Function of Target System) 3.1 功能需求分析(Function Analysis) 學(xué)校辦公室:需要對全校的數(shù)據(jù)進行查詢、分析、統(tǒng)計。 學(xué)生處:能增加、修改、查詢學(xué)生的基本信息。 教務(wù)處:能增加、修改、查詢課程信息和學(xué)生的成績信息。 財務(wù)處:能增加、修改、查詢學(xué)生每學(xué)期的交費情況。 人事處:能增加、修改、刪除教職工基本信息。 3.2 功能需求點列表(功能模型)(Function List) 或 (Function Model) 學(xué)生管理信息系統(tǒng)的功能點如表8-13所示。,4. 系統(tǒng)性能需求(Performance of Target System) 4.1 時間要求(Time Request) (1)查詢某條記錄的時間應(yīng)少于3秒; (2)錄入、修改某條記錄的時間應(yīng)少于0.5秒; (3)檢查輸入的資料合法性的時間應(yīng)小于0.1秒; (4)用報表形式列出數(shù)據(jù)庫中所有記錄應(yīng)小于10秒。 4.2 性能需要點列表/性能模型 (Performance List/Performance Model) 學(xué)生管理信息系統(tǒng)的性能需求點如表8-14所示。,5. 目標(biāo)系統(tǒng)界面(Interface of Target System) 輸入設(shè)備:鍵盤、鼠標(biāo); 輸出設(shè)備:顯示器、打印機; 顯示風(fēng)格:圖形界面與字符界面相結(jié)合; 顯示方式:1024768; 輸出格式:打印格式; 輸出類型:Excel、報表形式。 6. 目標(biāo)系統(tǒng)其他需求(Other Requirement of Target System) 6.1 安全性(Security),沒有本系統(tǒng)的權(quán)限或密碼不能進入本系統(tǒng)。 6.2 可靠性(Dependability) 不會因為一些錯誤而導(dǎo)致系統(tǒng)崩潰或數(shù)據(jù)丟失,保證系統(tǒng)長時間運行不會出現(xiàn)任何的錯誤。 6.3 運行環(huán)境(Environment) 學(xué)生管理信息系統(tǒng)在windows環(huán)境下開發(fā),故其只能在Windows環(huán)境下運行,不能兼容Linux與Unix??稍赪indows各個版本(windows 9.x/windows NT/windows 2000/windows XP)上獨立運行。 6.4 培訓(xùn)需求(Cultivate) 開發(fā)單位還為該軟件用戶提供安裝、保修,以及系統(tǒng)的免費維護以及其他一些運行支持。,8.3 概要設(shè)計,概要設(shè)計注重于宏觀上和框架上的設(shè)計,它是軟件系統(tǒng)的總體結(jié)構(gòu)設(shè)計、全局數(shù)據(jù)庫(包括數(shù)據(jù)結(jié)構(gòu))設(shè)計、外部接口設(shè)計、功能部件分配設(shè)計、部件之間的接口設(shè)計,它要覆蓋需求規(guī)格說明書的功能點列表、性能點列表、接口列表。,8.3.1概念數(shù)據(jù)模型CDM設(shè)計,對學(xué)生管理信息系統(tǒng)的概念數(shù)據(jù)模型CDM (E-R圖)分析,是建立在UML系統(tǒng)模型基礎(chǔ)上的。 這里,直接給出E-R圖分析的結(jié)果。實體關(guān)系圖的分析結(jié)果非常復(fù)雜,一般情況下使用從簡到繁的方式進行設(shè)計。首先從大的方面中設(shè)計出各個實體之間的關(guān)系,然后可以在這個關(guān)系的基礎(chǔ)上進行深一層次的細化,如圖8-5所示,它是學(xué)生管理信息系統(tǒng)的實體關(guān)系簡圖。,在這個簡圖的基礎(chǔ)上,進一步設(shè)計實體關(guān)系的詳細結(jié)構(gòu),增加各實體的屬性,設(shè)定主鍵和外鍵,如圖8-6所示,它是學(xué)生管理信息系統(tǒng)的實體關(guān)系詳圖,即概念數(shù)據(jù)模型CDM。 為了便于編程,在數(shù)據(jù)庫表中將所有的屬性都使用英文表示,而在實體關(guān)系圖中將所有的屬性都使用漢字顯示。當(dāng)然,現(xiàn)在流行的絕大部分數(shù)據(jù)庫也支持中文字段名,但是考慮到系統(tǒng)的兼容性,推薦大家都使用英文編寫數(shù)據(jù)表名和字段。 實際上,圖8-13只是學(xué)生管理信息系統(tǒng)最基本元素的實體關(guān)系圖,讀者可以在此基礎(chǔ)上根據(jù)用戶的不同需要進行擴展。,8.3.2 物理數(shù)據(jù)模型PDM設(shè)計,表與字段分析是建立在實體關(guān)系圖基礎(chǔ)上的。表與字段分析后就可以利用Power Designer建立物理數(shù)據(jù)模型PDM了。以圖8-6的學(xué)生管理信息系統(tǒng)的實體關(guān)系圖為基礎(chǔ),可以設(shè)計表字段,然后建立物理數(shù)據(jù)模型PDM。 如果是使用Power Designer設(shè)計的CDM,則可以使用Power Designer自帶的工具產(chǎn)生表與字段并建立PDM。對于比較復(fù)雜的數(shù)據(jù)庫,要使用上面提到的CASE工具進行表與字段設(shè)計,可以達到減輕工作量并提高設(shè)計質(zhì)量的目的。 建立物理數(shù)據(jù)模型PDM,如圖8-7所示。,8.3.3 創(chuàng)建數(shù)據(jù)庫,本系統(tǒng)中使用SQL Server 2000,可以利用PowerBuilder的數(shù)據(jù)庫畫筆創(chuàng)建數(shù)據(jù)庫,也可以使用SQL Server 2000自帶的數(shù)據(jù)庫工具創(chuàng)建數(shù)據(jù)庫。 在這里,我們使用SQL Server 2000的工具創(chuàng)建數(shù)據(jù)庫,步驟如下:,(1) 啟動SQL Server 2000數(shù)據(jù)庫。 首先在服務(wù)器端操作界面上單擊【開始】|【程序】| 【Microsoft SQL Server】 |【服務(wù)管理器】,然后單擊“啟動”按鈕,即啟動SQL Server2000。 (2) 啟動企業(yè)管理器。 再單擊【開始】|【程序】| 【Microsoft SQL Server】 |【企業(yè)管理器】,啟動數(shù)據(jù)庫的管理界面。 (3) 新建數(shù)據(jù)庫。 展開【Microsoft SQL Server】 | 【local】 |【數(shù)據(jù)庫后】,右擊【數(shù)據(jù)庫】,在彈出菜單中選擇“新建數(shù)據(jù)庫”命令后,彈出新建數(shù)據(jù)庫窗口。如圖8-8所示。,在“名稱”項中輸入新數(shù)據(jù)庫的名稱MyDB。單擊“數(shù)據(jù)文件”標(biāo)簽頁后,輸入數(shù)據(jù)庫文件的存放位置,單擊“事務(wù)日志”標(biāo)簽頁后,輸入數(shù)據(jù)庫日志的存放位置。設(shè)置完成后,單擊“確定”按鈕,即完成數(shù)據(jù)庫的創(chuàng)建。 (4) 也可以直接使用SQL語句創(chuàng)建數(shù)據(jù)庫。 例如,創(chuàng)建學(xué)生管理信息數(shù)據(jù)庫的SQL語句代碼如下: 也可以直接使用ER Win或者Power Designer的數(shù)據(jù)庫生成工具,完成數(shù)據(jù)庫的創(chuàng)建。讀者可以參考相關(guān)的技術(shù)手冊,這里不再贅述。,CREATE DATABASE MyDB ON ( NAME = MyDB _dat, FILENAME = c:program filesmicrosoft sql servermssqldata MyDB _dat.mdf, SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ) LOG ON ( NAME = MyDB _log, FILENAME = c:program filesmicrosoft sql servermssqldata MyDB _log.ldf, SIZE = 5MB, MAXSIZE = 25MB, FILEGROWTH = 5MB ),8.3.4 創(chuàng)建表,創(chuàng)建MyDB數(shù)據(jù)庫后,再在該數(shù)據(jù)庫中創(chuàng)建數(shù)據(jù)表??梢栽赑owerBuilder的數(shù)據(jù)庫畫筆中分別創(chuàng)建數(shù)據(jù)表。單擊【ODB ODBC】 | 【XSGL】 | 【Table】,右單擊【Table】按鈕,在彈出菜單中選擇New Table命令,彈出新建數(shù)據(jù)表窗口。如圖8-9所示。 可以在這里輸入數(shù)據(jù)表信息,以完成數(shù)據(jù)表的創(chuàng)建。也可以直接使用Power Designer自帶的數(shù)據(jù)庫工具創(chuàng)建數(shù)據(jù)表。如圖8-10所示。,8.3.5 概要設(shè)計文檔,概要設(shè)計說明書(Architectural Design Specification) 1導(dǎo)言(Introduction) 本章對該文檔的目的、功能范圍、術(shù)語、相關(guān)文檔、參考資料進行說明 。 2總體設(shè)計(Design of Collective) 2.1 總體結(jié)構(gòu)設(shè)計(Design of Collective Structure) 總體結(jié)構(gòu)示意圖,如圖8-11所示。,2.2 運行環(huán)境設(shè)計(Design of Running Environment) 軟件平臺: (1)OS:WINDOWS 98/WINDOWS ME/WINDOWS NT/WINDOWS 2003/WINDWOS/XP (2)數(shù)據(jù)庫為SQL Server 2000 硬件平臺: (1)CPU: Pentium III 500MHz以上 (2)磁盤空間容量:600MB以上 (3)內(nèi)存:128MB以上 (4)其他:鼠標(biāo)、鍵盤 2.3 子系統(tǒng)清單(Subsystem List),2.4 功能模塊清單(Function Model List),3模塊(部件)功能分配(Functional Distribution of Module) 3.1 專用模塊功能分配(Functional Distribution of Expert Module) 專用模塊功能分配,如表8-18所示。,3.2 公用模塊功能分配(Function Distribute of Public Module) 公用模塊功能分配,如表8-19所示。,4. 數(shù)據(jù)結(jié)構(gòu)設(shè)計(Design of Data Structure) 4.1 數(shù)據(jù)庫表名清單(DB Table List) 數(shù)據(jù)庫表名清單,如表8-20所示。,4.2 數(shù)據(jù)庫表的詳細清單(Particular List of DB Table)。例如:表8-30 表名:Student,5設(shè)計檢查列表(Check-up List of Design) 5.1 功能設(shè)計檢查列表(Check-up List of Function Design) 功能設(shè)計檢查列表,如表8-37所示。,5.2 性能設(shè)計檢查列表(Check-up List of Performance Design) 性能設(shè)計檢查列表,如表8-38所示。,8.4 詳細設(shè)計,詳細設(shè)計注重于微觀上和框架內(nèi)的設(shè)計,它是各子系統(tǒng)的公用部件實現(xiàn)設(shè)計、專業(yè)部件實現(xiàn)設(shè)計、存儲過程實現(xiàn)設(shè)計、觸發(fā)器實現(xiàn)設(shè)計、外部接口實現(xiàn)設(shè)計、部門角色授權(quán)設(shè)計、其他詳細設(shè)計等,需要覆蓋概要設(shè)計說明書的全部內(nèi)容。 由于篇幅有限,本節(jié)不列出學(xué)生管理信息系統(tǒng)的詳細設(shè)計說明書。,8.5 編 程 實 現(xiàn),屏幕界面上看得見的窗口、畫面、圖像、按鈕等對象,統(tǒng)稱為“控件”。構(gòu)件分為可視構(gòu)件和非可視構(gòu)件兩種,控件是一種可視構(gòu)件,它是構(gòu)件的一種表現(xiàn)形式。 界面設(shè)計應(yīng)遵從“界面簡潔樸素,控件擺放整齊,顏色風(fēng)格統(tǒng)一,照顧客戶習(xí)慣”的原則。本系統(tǒng)采用FLASH MX設(shè)計了一套系統(tǒng)界面,讓各位讀者有一種耳目一新的感覺。下面先對本系統(tǒng)的各控件、窗口進行定義。,8.5.1 控件級定義,控件一:按鈕(Button) 屬性:Height375,Width依具體情況而定;按鈕在窗口下方或右方排列。 控件二:分組框(GroupBox) 當(dāng)需要用到單選鈕、多選框時,或窗口有多種不同類型的選擇項、輸入項時,則需要用到分組框?qū)Σ煌愋偷目丶M行分組,使用戶一目了然。 控件三:下拉列表框(DropDownListBox)、數(shù)字轉(zhuǎn)盤(EditMask) 屬性:Height300,Width依具體情況而定,BorderLowered,Background colorwhite。 控件四:復(fù)選框(CheckBox)、單選框(RadioButton) 屬性:Border3D Lowered,選項內(nèi)容放在右邊;嚴(yán)格按照操作的功能劃分進行分組。,8.5.2 窗體級定義,1系統(tǒng)背景 采用Flash動畫作為系統(tǒng)背景,導(dǎo)航欄、菜單欄全部在Flash里實現(xiàn)。 2窗口 (1)一般窗口屬性:BorderStyle3; Background colorwhite; WindowState=0 (2)查詢窗口屬性:BorderStyle2; Background colorwhite; WindowState=2,(3)對話框:報錯對話框采用vbOKOnly +vbCritical格式; 提示對話框采用vbOKOnly + vbExclamation格式; 詢問對話框采用vbYesNo + vbQuestion格式。 下面是總結(jié)出的一些界面設(shè)計經(jīng)驗,希望對各位讀者有幫助: (1)一致性 界面要有統(tǒng)一的字體型號、統(tǒng)一的色調(diào)、統(tǒng)一的風(fēng)格、統(tǒng)一的提示用語、窗口在統(tǒng)一的位置、按鈕也在窗口的相同的位置。 (2)設(shè)置標(biāo)準(zhǔn)并嚴(yán)格遵循 可以參照一些工業(yè)標(biāo)準(zhǔn),如IBM的界面設(shè)計規(guī)范或模仿Windows操作系統(tǒng)的規(guī)范,它提供了90你所需要的規(guī)范。,(3)設(shè)置向?qū)?如果用戶使用一個功能的時候,不知道下一步該如何做,他們就會放棄。最好的解決方法是設(shè)置向?qū)В層脩羟逦刂老乱徊皆撊绾巫觥?(4)提示信息必須恰當(dāng)且規(guī)范 提示信息必須容易理解并且口徑統(tǒng)一,比如“您輸入了錯誤的數(shù)據(jù)”、“用戶編碼不能超過8位”,提示信息還應(yīng)該出現(xiàn)在一致的位置。對用戶的稱呼應(yīng)該統(tǒng)一,比如有時提示“用戶輸入了錯誤的數(shù)據(jù)”,有時提示“您輸入了錯誤的數(shù)據(jù)”,有時又提示“操作員輸入了錯誤的數(shù)據(jù)”,這樣會使用戶無所適從。,(5)借鑒好的程序 多了解同類軟件的界面,并加以分析與理解,直到能夠區(qū)別好的用戶界面與差的用戶界面。但不能夠機械的模仿別人的界面。 (6)操作的統(tǒng)一 有一些很常用的功能,如添加、修改、刪除、查看,同一個軟件中,這些功能應(yīng)該有相同的操作方法。,(7)變灰的功能 有時有些功能不可用,但最好不要刪除這些按鈕,而是使他們變?yōu)椴豢捎脿顟B(tài),即灰色狀態(tài),這樣有助于用戶理解整個程序的功能。 (8)善用默認按鈕 在每個窗口中,為了方便用戶,一般都定義了一個默認按鈕,當(dāng)用戶敲擊回車鍵時可以快速執(zhí)行某功能,一些需要經(jīng)常敲擊的按鈕,一般都設(shè)置為默認按鈕。,8.5.3 編程實現(xiàn),一個軟件有了漂亮的界面,還需要有強大的功能,畢竟一個成功的軟件是一件藝術(shù)與技術(shù)相融合的結(jié)晶。這時,就需要有經(jīng)驗豐富的程序員編程實現(xiàn)系統(tǒng)的功能。 編程實現(xiàn)要做的工作包括:新增函數(shù)的實現(xiàn)及函數(shù)庫的管理,新增存儲過程的實現(xiàn)及存儲過程庫的管理,新增類的實現(xiàn)及類庫的管理,新增構(gòu)件的實現(xiàn)及構(gòu)件庫的管理,新增中間件的實現(xiàn)及中間件的管理,面向?qū)ο蟮某绦蛟O(shè)計及零部件組裝。,編程實現(xiàn)時,程序員要遵守下面的要求: (1) 開發(fā)軟件是一個工程,需要團隊合作精神。在開發(fā)過程中,要求每一位程序員對每一個模塊、程序塊都要加上適當(dāng)?shù)淖⑨?,方便升級和維護。 (2)模塊本身要高內(nèi)聚,模塊之間要低耦合,這樣的模塊才具有信息隱蔽和獨立性,在修改其中一個模塊時,不會對其他模塊產(chǎn)生影響。 (3)每個程序模塊的行數(shù)不做規(guī)定。對于程序模塊中相對獨立性較強的程序塊,最好做成一個函數(shù)或構(gòu)件。,(4)方便用戶的操作是受歡迎程度的標(biāo)準(zhǔn)。盡量從用戶的角度出發(fā),使軟件的操作盡可能簡單、方便、快捷。 (5)清晰的功能說明。程序員編出來的軟件別人總需要花時間去了解每個窗口和按鈕的意思,那是對用戶的不負責(zé)。所以寫程序時不要嫌煩,為每個輸入框、按鈕做一個說明,盡可能地人性化。例如:對于輸入框,可以在輸入框旁邊設(shè)置一個標(biāo)簽,簡要說明需要輸入的內(nèi)容;對于按鈕,可以做一個提示,當(dāng)鼠標(biāo)移動到按鈕上面,就顯示提示信息。,8.5.4 用VB語言部分實現(xiàn)代碼,學(xué)生管理信息系統(tǒng)的代碼實現(xiàn)包括學(xué)生信息的錄入、查詢、修改、導(dǎo)出; 課程信息的錄入、查詢、修改和導(dǎo)出;學(xué)生住宿信息的錄入、查詢、修改和導(dǎo)出; 學(xué)生成績信息的錄入、查詢、修改和導(dǎo)出;學(xué)生交費信息的錄入、查詢、修改和導(dǎo)出以及系統(tǒng)的維護等。 由于這些模塊的實現(xiàn)比較類似,這里只介紹一些代表性的代碼。詳細代碼請參考源程序。,(1)連接數(shù)據(jù)庫 引用VB中的ADO控件連接數(shù)據(jù)庫,無需配置ODBC。 Public Sub ConnectDB() Set adoCon = New ADODB.Connection With adoCon 連接的數(shù)據(jù)庫為SQL Server .Provider = “SQLOLEDB“ 連接本地的服務(wù)器,用戶名為sa,密碼為空,數(shù)據(jù)庫為MyDB .ConnectionString = “Server=(local);Uid=sa;Pwd=;Database=MyDB“ .Open End With End Sub,(2)數(shù)據(jù)庫存取圖片 把學(xué)生的圖片存入數(shù)據(jù)庫,首先把數(shù)據(jù)庫中的PHOTO字段設(shè)置成Image,然后利用VB的輸入流把圖片轉(zhuǎn)換為2進制的數(shù)據(jù),之后再存入數(shù)據(jù)庫; 取出圖片則是先把數(shù)據(jù)庫中的2進制數(shù)據(jù)讀出,形成一個圖片文件,再利用VB讀取該圖片。需要注意的是,VB中引用ADO控件的版本必須為2.5或以上,否則是沒有輸入輸出流的功能。代碼如下:,Sub s_SaveFile(lujin As String) 保存圖片函數(shù) Dim iStm As ADODB.Stream Dim iRe As ADODB.Recordset Dim iConcstr As String Dim con As ADODB.Connection Set con = New ADODB.Connection con.ConnectionString = “provider=sqloledb.1;Server=(local);Uid=sa;Pwd=;_ Database=MyDB“ con.Open,讀取文件到內(nèi)容 Set iStm = New ADODB.Stream With iStm .Type = adTypeBinary 二進制模式 .Open .LoadFromFile lujin End With 打開保存文件的表 Set iRe = New ADODB.Recordset With iRe .Open “select * from Student where ID=“ & txtID.Text & “, con, 1, 3 .Fields(“photo“) = iStm.Read .Update End With,完成后關(guān)閉對象 iRe.Close iStm.Close con.Close End Sub Sub s_ReadFile() 讀取圖片函數(shù) Dim iStm As ADODB.Stream Dim iRe As ADODB.Recordset 打開表 Set iRe = New ADODB.Recordset Dim con As ADODB.Connection Set con = New ADODB.Connection con.ConnectionString = “provider=sqloledb.1;Server=(local);Uid=sa;Pwd=;Database=MyDB“ con.Open,得到最新添加的紀(jì)錄 iRe.Open “select photo from student where ID=“ & frmUpdateID.sID & “, con, adOpenKeyset, adLockReadOnly 保存到文件 Set iStm = New ADODB.Stream On Error Resume Next With iStm .Mode = adModeReadWrite .Type = adTypeBinary .Open .Write iRe(“photo“),這里注意了,如果當(dāng)前目錄下存在test1.jpg,會報一個文件寫入失敗的錯誤. .SaveToFile App.Path & “test1.jpg“ End With On Error Resume Next Image1.Picture = LoadPicture(App.Path & “test1.jpg“) 關(guān)閉對象 iRe.Close iStm.Close con.Close End Sub,(3)VB中調(diào)用數(shù)據(jù)庫的存儲過程 調(diào)用數(shù)據(jù)庫中的存儲過程,需要把各控件中的信息代入存儲過程的相對應(yīng)的各參數(shù)中,從而調(diào)用該存儲過程,代碼如下: sql = “ sql = “EXEC studentin“ sql = sql & “ id=“ & Trim(txtID.Text) & “ sql = sql & “,Name=“ & Trim(txtName.Text) & “ sql = sql & “,Sex=“ & cobSex.Text & “ sql = sql & “,Birthday=“ & Format(dtBirthday.Value, “YYYY-MM-DD“) & “ sql = sql & “,Nation=“ & cobNation.Text & “,sql = sql & “,college=“ & cobcollege.Text & “ sql = sql & “,Speciality=“ & cobSpeciality.Text & “ sql = sql & “,Class=“ & cobclass.Text & “ sql = sql & “,Teacher=“ & cobteacher.Text & “ sql = sql & “,Inyear=“ & cobinyear.Text & “ sql = sql & “,Phone=“ & txtPhone.Text & “ sql = sql & “,StatusID=“ & txtStatusID.Text & “ sql = sql & “,Email=“ & txtEmail.Text & “ sql = sql & “,HouseName=“ & txtHouseName.Text & “ sql = sql & “,HousePhone=“ & txtHousePhone.Text & “ sql = sql & “,HouseAddress=“ & txtHouseAddress.Text & “ sql = sql & “,PostCode=“ & txtPostCode.Text & “ sql = sql & “,Memo=“ & txtMemo.Text & “ adoCon.Execute (sql) 執(zhí)行SQL代碼,(4)VB與Flash通信 在VB的FLASH控件中是沒有Click事件的,因此當(dāng)需要單擊Flash的按鈕響應(yīng)某些功能時,不能直接在VB中編寫,而需要實現(xiàn)VB與Flash的通信,代碼如下: 第一步,在Flash的按鈕中編寫命令: On(release) Fscommand(“ok”); ,第二步,在VB中加載flash動畫: Private Sub Form_load() ShockwaveFlash1.movie=app.path & “flash文件名.swf” End sub 第三步,在VB中接受flash按鈕的命令: Private Sub ShockwaveFlash1_FSCommand(ByVal command As String, ByVal args As String) If command=”ok” then End if End sub,8.5.5 用戶手冊,1. 前言(Preface) 2功能(Function) 21 進入系統(tǒng) 系統(tǒng)啟動后,將首先出現(xiàn)用戶登錄窗體,輸入用戶名與密碼,單擊【確定】按鈕,用戶輸入正確的用戶名和密碼以后程序即進入主界面,在主界面中用戶可以選擇學(xué)生管理、課程管理、成績管理、住宿管理、交費管理等不同的子模塊進行操作。 如圖8-12、圖8-13分別為登陸窗口與主界面。,22 學(xué)生管理模塊 (1)錄入學(xué)生基本信息 在主界面中,把鼠標(biāo)移到【學(xué)生管理】,如圖8-14所示。,選擇【新增學(xué)生】,將會出現(xiàn)如圖8-15的學(xué)生信息錄入窗口。 單擊【上傳圖片】,提交用戶本地的圖片資料。 單擊【確認錄入】,把填寫的相關(guān)資料錄入數(shù)據(jù)庫。 單擊【取消重錄】,清空窗口中的所有控件中的信息。 單擊【退出錄入】,退出錄入窗口。,(2)修改學(xué)生基本信息 在主界面中,把鼠標(biāo)移動【學(xué)生管理】,并選擇【修改資料】,將出現(xiàn)輸入學(xué)生學(xué)號窗口,如圖8-16所示。 輸入學(xué)生學(xué)號后,系統(tǒng)會檢查數(shù)據(jù)庫是否存在該學(xué)生資料,如存在則進入修改窗口,如圖8-17所示,如不存在則出現(xiàn)圖8-18的提示信息。,單擊【確認修改】按鈕,更新數(shù)據(jù)庫中的信息為修改后的信息。 單擊【取消修改】按鈕,還原修改前的信息。 單擊【返回系統(tǒng)】,退出修改窗口,返回主界面。 (3)刪除學(xué)生基本信息 在主界面中,把鼠標(biāo)移動【學(xué)生管理】,并選擇【刪除資料】,將出現(xiàn)刪除學(xué)生信息窗口,如圖8-19所示。,輸入相關(guān)的學(xué)號后,系統(tǒng)會查找數(shù)據(jù)庫是否存在該學(xué)生的資料,如存在則提示是否真的刪除該學(xué)生資料,選【是】按鈕就會刪除該學(xué)生的資料,選【否】按鈕就會退出本窗口,如圖8-20所示;如不存在該學(xué)生的資料,則會出現(xiàn)如圖8-26的提示信息。,(4)導(dǎo)出學(xué)生基本信息 在主界面中,把鼠標(biāo)移動【學(xué)生管理】,并選擇【導(dǎo)出資料】,將出現(xiàn)選擇導(dǎo)出方式窗口,如圖8-21所示。,選擇【Excel】就會出現(xiàn)圖8-22的另存為窗口。填寫文件名和選擇合適的路徑后單擊【保存】,系統(tǒng)會把后綴為xls的文件保存在用戶需要的地方。,選擇【報表】后系統(tǒng)會出現(xiàn)圖8-23的窗口,把數(shù)據(jù)庫中所有的學(xué)生信息以報表形式顯示,在報表中,還有打印、設(shè)置格式等選項。,(5)學(xué)生信息查詢 在主界面中,把鼠標(biāo)移動【學(xué)生管理】,并選擇【資料查詢】,將出現(xiàn)選擇導(dǎo)出方式窗口,如圖8-24所示。,在該窗口中,先選擇需要查詢的條件,例如:查找民族為漢、性別為男的學(xué)生,先勾選【民族】選項和【性別】選擇,然后在各自的下拉框中選擇相應(yīng)的內(nèi)容,單擊【確認查詢】,系統(tǒng)會把符合上述兩個查詢條件的所有信息顯示在表格中。 如果需要查找的資料并不明確,可以選擇【模糊查詢】,相反,對需要查找的信息非常明確,可以選擇【準(zhǔn)確查詢】。例如:查找學(xué)號為123456的學(xué)生,如果在【模糊查詢】條件下,輸入學(xué)號“123456”,系統(tǒng)會把學(xué)號中包含有“123456”的所有字段顯示出來,即如果存在學(xué)號為“1234567”的學(xué)生,系統(tǒng)會顯示這兩個學(xué)生的資料;如果在【準(zhǔn)確查詢】條件下輸入學(xué)號“123456”,系統(tǒng)就只會顯示該學(xué)生一個人的資料。 單擊【全部顯示】,系統(tǒng)會把數(shù)據(jù)庫中的所有字段都顯示出來。 單擊【退出】,關(guān)閉本窗口,返回主界面。,22 課程管理模塊 (1)錄入課程基本信息 在主界面中,把鼠標(biāo)移動【課程管理】,并選擇【新增課程】,操作步驟大致與學(xué)生管理模塊中的錄入信息相同。 界面如圖8-25所示:,(2)修改課程基本信息 在主界面中,把鼠標(biāo)移動【課程管理】,并選擇【修改資料】,操作步驟大致與學(xué)生管理模塊中的修改信息相同。 (3)刪除課程基本信息 在主界面中,把鼠標(biāo)移動【課程管理】,并選擇【刪除資料】,操作步驟大致與學(xué)生管理模塊中的刪除信息相同。 (4)導(dǎo)出課程基本信息 在主界面中,把鼠標(biāo)移動【課程管理】,并選擇【導(dǎo)出資料】,操作步驟大致與學(xué)生管理模塊中的導(dǎo)出信息相同。 (5)課程信息查詢 在主界面中,把鼠標(biāo)移動【課程管理】,并選擇【資料查詢】,操作步驟大致與學(xué)生管理模塊中的導(dǎo)出信息相同。,23 成績管理模塊 (1)錄入學(xué)生成績信息 在主界面中,把鼠標(biāo)移動【成績管理】,并選擇【錄入成績】,如圖8-26所示。 然后系統(tǒng)會出現(xiàn)圖8-27的選擇學(xué)生窗口,這里可以直接輸入學(xué)生學(xué)號,然后單擊【確認】按鈕,或按學(xué)生所在的班級查找該學(xué)生,先選擇學(xué)生的【學(xué)院】,【專業(yè)】,【班級】,然后在再單擊【按學(xué)號顯示】或【按姓名顯示】,就會出現(xiàn)該班級的所有學(xué)生,最后按【確認】按鈕,進入錄入學(xué)生成績窗口,如圖8-28所示。 需要注意的是,在學(xué)生成績窗口中,先填寫相關(guān)的信息,然后單擊【計算總分】,讓系統(tǒng)算出該學(xué)生的總成績后才能錄入數(shù)據(jù)庫。 單擊【錄入下一學(xué)生】,錄入下一個學(xué)生的成績,關(guān)閉本窗口,出現(xiàn)圖8-27。 單擊【退出錄入】,關(guān)閉本窗口,返回主界面。,(2)修改學(xué)生成績窗口 在主界面中,把鼠標(biāo)移動【成績管理】,并選擇【修改資料】,操作步驟大致與學(xué)生管理模塊中的修改信息相同。 (3)刪除學(xué)生成績窗口 在主界面中,把鼠標(biāo)移動【成績管理】,并選擇【刪除資料】,操作步驟大致與學(xué)生管理模塊中的刪除信息相同。 (4)導(dǎo)出學(xué)生成績信息 在主界面中,把鼠標(biāo)移動【成績管理】,并選擇【導(dǎo)出資料】,操作步驟大致與學(xué)生管理模塊中的導(dǎo)出信息相同。 (5)學(xué)生成績信息查詢 在主界面中,把鼠標(biāo)移動【成績管理】,并選擇【資料查詢】,操作步驟大致與學(xué)生管理模塊中的查詢信息相同。界面如圖8-29所示。,需要注意的是,先在屏幕右方按班級形式找出需要查找的學(xué)生,然后在列表框中單擊該學(xué)生,系統(tǒng)會把該學(xué)生的所有成績顯示在屏幕左方的表格中,如果需要更準(zhǔn)確地找出該學(xué)生的成績信息,可以在查詢條件中輸入相關(guān)的內(nèi)容,單擊【確認查詢】。 24 住宿管理模塊 (1)錄入住宿基本信息 在主界面中,把鼠標(biāo)移到【住宿管理】,選擇【錄入資料】,出現(xiàn)圖8-30的窗口。 在下拉框中選擇需要的信息后單擊【確認】進入宿舍信息錄入窗口,如圖8-31所示。,25 交費管理模塊 (1)錄入交費信息 在主界面中,把鼠標(biāo)移到【交費管理】,選擇【錄入資料】,如圖8-32所示。 對學(xué)生和學(xué)年進行選擇后在輸入【應(yīng)交費】,【實際收費】,按【回車】鍵,系統(tǒng)會自動算出欠費金額,單擊【確定】按鈕存入數(shù)據(jù)庫。 (2)修改交費信息 在主界面中,把鼠標(biāo)移到【交費管理】,選擇【修改資料】,操作步驟大致與錄入交費信息相同。 (3)刪除交費信息 在主界面中,把鼠標(biāo)移到【交費管理】,選擇【刪除資料】,選擇學(xué)生和學(xué)年后單擊【確定】按鈕進行刪除。 (4)導(dǎo)出交費信息 在主界面中,把鼠標(biāo)移到【交費管理】,選擇【導(dǎo)出資料】,操作步驟大致與學(xué)生管理模塊中的導(dǎo)出信息相同。 (5)交費信息查詢 在主界面中,把鼠標(biāo)移到【交費管理】,選擇【資料查詢】,操作步驟大致與成績管理模塊中的查詢信息相同。,26 系統(tǒng)設(shè)置模塊 (1)用戶管理 在主界面中,把鼠標(biāo)移到【系統(tǒng)設(shè)置】,選擇【用戶管理】,如圖8-33所示。 在【注冊用戶】中,填寫用戶名,選擇合適的身份(權(quán)限),再填寫密碼與驗證密碼,注意密碼與驗證密碼必須一樣,最后單擊【確認】按鈕,創(chuàng)建一個新的用戶。 【刪除用戶】與【修改密碼】操作與【注冊用戶】大致相同。 (2)統(tǒng)計分析 在主界面中,把鼠標(biāo)移到【系統(tǒng)設(shè)置】,選擇【統(tǒng)計分析】,如圖8-34所示。 單擊不同的選項卡,將會得到不同的統(tǒng)計結(jié)果。,在下拉框中可以選擇不同的維護對象,有學(xué)院、專業(yè)、班級等。 單擊【添加】按鈕,添加維護對象相應(yīng)的信息。 單擊【顯示】按鈕,顯示當(dāng)前維護對象的所有信息。 單擊【刪除】按鈕,刪除當(dāng)前列表框中的任一信息。 單擊【退出】按鈕,關(guān)閉本窗口,返回主界面。 (4)對應(yīng)關(guān)系 在主界面中,把鼠標(biāo)移到【系統(tǒng)設(shè)置】,選擇【對應(yīng)關(guān)系】,如圖8-36所示。 在下拉框中選擇三種關(guān)系之一,單擊【確認】按鈕,進入圖8-37所示的修改對應(yīng)關(guān)系窗口。,8.6 系 統(tǒng) 測 試 8.6.1 概述,我們在開發(fā)學(xué)生管理信息系統(tǒng)的時候,每增加一個構(gòu)件,都用白盒子測試。通過白盒子測試后,才把該構(gòu)件集成到系統(tǒng)中。當(dāng)所有的構(gòu)件都集成完畢,再用黑盒子測試,通過了黑盒子測試后,才發(fā)布該系統(tǒng)。 軟件測試的輸入是測試計劃、用戶需求報告,輸出的是測試報告,下面是學(xué)生管理信息系統(tǒng)的測試計劃和測試報告,讓我們從這文檔中了解學(xué)生管理信息系統(tǒng)整個測試的過程。,8.6.2測試計劃,1概述(Summary) 2計劃(Plan) 21 測試方案 結(jié)合需求分析報告的功能點列表、性能點列表,采用以黑盒子為主、白盒子為輔的測試方法,檢查學(xué)生管理系統(tǒng)各模塊的輸入

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論