學(xué)生信息管理系統(tǒng)學(xué)生信息管理系統(tǒng)
《學(xué)生信息管理系統(tǒng)學(xué)生信息管理系統(tǒng)》由會(huì)員分享,可在線閱讀,更多相關(guān)《學(xué)生信息管理系統(tǒng)學(xué)生信息管理系統(tǒng)(14頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 1 緒言 1.1 系統(tǒng)概述 本學(xué)生信息管理系統(tǒng)可以說(shuō)是一個(gè)綜合性的學(xué)校學(xué)生管理系統(tǒng),這它集成了學(xué)生學(xué)籍管理系統(tǒng)、 學(xué)生成績(jī)管理系統(tǒng)、 學(xué)生檔案管理系統(tǒng)、 學(xué)生繳費(fèi)管理系統(tǒng)等多種功能。 本系統(tǒng)主要用到的技術(shù)包括: MVC 三層架構(gòu)開(kāi)發(fā)模式, 這種設(shè)計(jì)模式把應(yīng)用邏輯、處理過(guò)程和顯示邏輯分成不同的組件來(lái)實(shí)現(xiàn), 這些組建可以進(jìn)行交互和重用。 封裝了數(shù)據(jù)操作類, 以便調(diào)用數(shù)據(jù)庫(kù)的操作函數(shù)因而具有較強(qiáng)的實(shí)用性和先進(jìn)性。 本文首先探討了 SQL 語(yǔ)言接口和 VB 軟件開(kāi)發(fā)工具
2、的技術(shù)特點(diǎn)以及結(jié)合 SQL 和 VB 的數(shù)據(jù)庫(kù)訪 問(wèn)方法,在此基礎(chǔ)上,利用 VB 和 Microsoft SQL Server 2000 實(shí)現(xiàn)了一個(gè)基于 C/S 模式的學(xué)生信息管 理系統(tǒng)。在本文的后半部分,給出了該系統(tǒng)的整個(gè)系統(tǒng)分析、設(shè)計(jì)以及實(shí)現(xiàn)的過(guò)程,包括需求分析、 功能后矛盾的不完整的數(shù)據(jù); ⑵ 完整、及時(shí)提供在管理及決策中需要的數(shù)據(jù); ⑶ 利用指定的數(shù)據(jù)關(guān)系式分析數(shù)據(jù),客觀預(yù)測(cè)未來(lái); ⑷ 向各級(jí)管理機(jī)構(gòu)提供不同詳細(xì)程度的報(bào)告,縮短分析和解釋時(shí)間; ⑸ 用最低的費(fèi)用最短的時(shí)間提供盡可能精確、 可靠的信息, 以便使決策者選擇最佳的實(shí)施方案,
3、 以提高企業(yè)的經(jīng)濟(jì)效益。各方面的競(jìng)爭(zhēng)中占有一席之地。 學(xué)生信息管理系統(tǒng)是一個(gè)學(xué)校不可缺少的部分 ,它的內(nèi)容對(duì)于學(xué)校的管理者來(lái)說(shuō)至關(guān)重要 ,所以學(xué) 生信息管理系統(tǒng)應(yīng)該能夠?yàn)槔蠋熖峁┏渥愕男畔⒑涂旖莸牟樵兪侄巍?但一直以來(lái)人們使用傳統(tǒng)人工的 方式管理學(xué)生檔案, 這種管理方式存在著許多缺點(diǎn) ,如 :效率低、 保密性差 ,另外時(shí)間一長(zhǎng) ,將產(chǎn)生大量的 文件和數(shù)據(jù) ,這對(duì)于查找、更新和維護(hù)都帶來(lái)了不少的困難。 隨著科學(xué)技術(shù)的不斷提高 ,計(jì)算機(jī)科學(xué)日漸成熟 ,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí) ,它已進(jìn)入人類 社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越重要的作用。 作為計(jì)算機(jī)應(yīng)用
4、的一部分 ,使用計(jì)算機(jī)對(duì)學(xué)生信息進(jìn)行 管理 ,有著手工管理所無(wú)法比擬的優(yōu)點(diǎn) .例如 :檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、 壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高學(xué)生信息管理的效率 ,也是學(xué)校的科學(xué)化、正規(guī)化管理 與世界接軌的重要條件。 , 從微觀上講,建立一套學(xué)生信息管理系統(tǒng)能夠提高辦事效率,從而加強(qiáng)了管理的信息化手段。從宏觀上講,順應(yīng)了社會(huì)的
5、信息化、社會(huì)化潮流,縮短了整個(gè)社會(huì)化大生產(chǎn)的周期。因此,開(kāi)發(fā)這樣一套管理軟件成為很有必要的事情。 2.2 程序語(yǔ)言設(shè)計(jì)環(huán)境 2.2.1 Visual Basic 語(yǔ)言 Visual Basic 是一種可視化的、面對(duì)對(duì)象和條用事件驅(qū)動(dòng)方式的結(jié)構(gòu)化高級(jí)程序設(shè)計(jì),可用于開(kāi) 發(fā) Windows 環(huán)境下的種類應(yīng)用程序。它簡(jiǎn)單易學(xué)、效率高,且功能強(qiáng)大,可以與 Windows 的專業(yè)開(kāi) 發(fā)工具 SDK 相媲美,而且程序開(kāi)發(fā)人員不必具有 C/C++ 編程基礎(chǔ)。在 Visual Basic 環(huán)境下,利用事件
6、 驅(qū)動(dòng)的編程機(jī)制、新穎易用的可視化設(shè)計(jì)工具,使用 Windows 內(nèi)部的應(yīng)用程序接口 (API) 函數(shù),以及 動(dòng)態(tài)鏈接庫(kù) (DLL) 、動(dòng)態(tài)數(shù)據(jù)交換 (DDE) 、對(duì)象的鏈接與嵌入 (OLE) 、開(kāi)放式數(shù)據(jù)訪問(wèn) (ODBC) 等技術(shù), 可以高效、快速地開(kāi)發(fā)出 Windows 環(huán)境下功能強(qiáng)大、圖形界面豐富的應(yīng)用軟件系統(tǒng)。 總的來(lái)說(shuō), Visual Basic 具有以下特點(diǎn): 用傳統(tǒng)程序設(shè)計(jì)語(yǔ)言設(shè)計(jì)程序時(shí), 都是通過(guò)編寫(xiě)程序代碼來(lái)設(shè)計(jì)用戶界面, 在設(shè)計(jì)過(guò)程中看不到 界面的實(shí)際顯示效果,必須編譯后運(yùn)行程序才能觀察。如果對(duì)界面的效果不滿意,還要回到程序中修 C
7、++ 或匯編語(yǔ)言編寫(xiě)的程序加入到 Visual Basic 應(yīng)用程序中,可以像調(diào)用內(nèi)部函數(shù)一樣調(diào)用其他語(yǔ)言 編寫(xiě)的函數(shù)。此外,通過(guò)動(dòng)態(tài)鏈接庫(kù),還可以調(diào)用 Windows 應(yīng)用程序接口 (API) 函數(shù),實(shí)現(xiàn) SDK 所具 有的功能。 2.3 數(shù)據(jù)庫(kù)開(kāi)發(fā)簡(jiǎn)介 數(shù)據(jù)庫(kù)技術(shù)是應(yīng)數(shù)據(jù)管理任務(wù)的需要而產(chǎn)生的。 20 世紀(jì) 60 年代后期以來(lái),計(jì)算機(jī)用于管理的規(guī) 模更為龐大,應(yīng)用也越來(lái)越廣泛,數(shù)據(jù)量急劇增長(zhǎng),同時(shí)多種應(yīng)用、多種語(yǔ)言互相覆蓋地共享數(shù)據(jù)集 合的要求越來(lái)越強(qiáng)烈;這時(shí)硬件已有大容量磁盤(pán),硬件價(jià)格下降,軟件價(jià)格上升,為編制和維護(hù)系統(tǒng) 軟件及應(yīng)用程序
8、所需的成本增加;在處理方面上,聯(lián)機(jī)實(shí)時(shí)處理要求更多,并開(kāi)始提出和考慮分布處 理。在這種背景下,以文件系統(tǒng)作為數(shù)據(jù)管理手段已經(jīng)不能滿足應(yīng)用的要求,于是為了解決多用戶、 多應(yīng)用共享數(shù)據(jù)的要求,使數(shù)據(jù)為盡可能多的應(yīng)用服務(wù),就出現(xiàn)了數(shù)據(jù)庫(kù)技術(shù)。數(shù)據(jù)庫(kù)技術(shù)從產(chǎn)生到 今天僅僅是 30 年的歷史,但其發(fā)展速度之快,使用范圍之廣,是其它技術(shù)望塵莫及的。短短 30 年間 已從第一代的網(wǎng)狀,層次數(shù)據(jù)庫(kù),第二代的關(guān)系數(shù)據(jù)系統(tǒng),發(fā)展到第三代以面向?qū)ο竽P蜑橹饕卣? 的數(shù)據(jù)庫(kù)系統(tǒng)。數(shù)據(jù)庫(kù)技術(shù)與網(wǎng)絡(luò)通信技術(shù),人工智能技術(shù),面向?qū)ο蟪绦蛟O(shè)計(jì)技術(shù),并行計(jì)算技術(shù) 等互相滲透,互相結(jié)合,成
9、為當(dāng)前數(shù)據(jù)庫(kù)技術(shù)發(fā)展的主要特征。 數(shù)據(jù)庫(kù)采用了 SQL Server 是一個(gè)后臺(tái)數(shù)據(jù)庫(kù)管理系統(tǒng) ,它功能強(qiáng)大操作簡(jiǎn)便 ,日益為廣大數(shù)據(jù)庫(kù) 用戶所喜愛(ài)。越來(lái)越多的開(kāi)發(fā)工具提供了與 SQL Server 的接口。 學(xué)生綜合管理系統(tǒng)就是數(shù)據(jù)管理, 數(shù)據(jù)庫(kù)技術(shù)是數(shù)據(jù)管理的最新技術(shù), 是計(jì)算機(jī)科學(xué)最為迅速的 分支。在信息社會(huì),數(shù)據(jù)庫(kù)技術(shù)已成為基礎(chǔ)技術(shù)之一,它是一門綜合性技術(shù),涉及到操作系統(tǒng),數(shù)據(jù) 結(jié)構(gòu)和程序設(shè)計(jì)等知識(shí)。 根據(jù)計(jì)算機(jī)的系統(tǒng)結(jié)構(gòu),數(shù)據(jù)庫(kù)系統(tǒng)可分為集中式、客戶機(jī) /服務(wù)器式、并行式和分布式四種。 本文設(shè)計(jì)的系統(tǒng)就是客戶機(jī) /服務(wù)器式 ( Cl
10、ient/Server )簡(jiǎn)記為 C/S 模式。隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展 和微型計(jì)算機(jī)的廣泛使用, 客戶機(jī) /服務(wù)器式的系統(tǒng)結(jié)構(gòu)得到了應(yīng)用。 C/S 結(jié)構(gòu)的關(guān)鍵在于功能的分布, 一些功能放在前端機(jī)(即客戶機(jī))上執(zhí)行,另一些功能放在后端機(jī)(即服務(wù)器)上執(zhí)行。功能的分布 在 ⑶ 創(chuàng)建視圖 視圖存儲(chǔ)是數(shù)據(jù)庫(kù)設(shè)計(jì)的一部分,而查詢則不是。由于每個(gè)視圖都存儲(chǔ)在數(shù)據(jù)庫(kù)內(nèi),所以建立特 定的視圖數(shù)據(jù)子集以供任何數(shù)據(jù)庫(kù)用戶使用。視圖可以隱藏基表,可以禁止所有用戶訪問(wèn)數(shù)據(jù)庫(kù)表, 而要求用戶只能通過(guò)視
11、圖操作數(shù)據(jù)。這種方法可以保護(hù)用戶和應(yīng)用程序不受某些數(shù)據(jù)庫(kù)修改的影響。 在企業(yè)管理器中單擊鼠標(biāo)右鍵,選擇 “新建視圖 ”命令。 ⑷ 創(chuàng)建存儲(chǔ)過(guò)程 存儲(chǔ)過(guò)程可以使得對(duì)數(shù)據(jù)庫(kù)的管理、 以及顯示關(guān)于數(shù)據(jù)庫(kù)及其用戶信息的工作變得簡(jiǎn)單容易。 過(guò)程是 SQL 語(yǔ)句和可選控制流語(yǔ)句的預(yù)編譯集合,以一個(gè)名稱存儲(chǔ)并作為一個(gè)單元處理。存儲(chǔ)過(guò)程 存儲(chǔ)在數(shù)據(jù)庫(kù)內(nèi),可由應(yīng)用程序通過(guò)一個(gè)調(diào)用執(zhí)行,而且允許用戶聲明變量、有條件執(zhí)行以及其他強(qiáng) 大的編程功能。 存儲(chǔ)過(guò)程可包含程序流、邏輯以及對(duì)數(shù)據(jù)庫(kù)的查詢。它們可以接受參數(shù)、輸出參數(shù)、返回單個(gè)或 多個(gè)結(jié)果集以及返回值??梢猿鲇谌魏?/p>
12、使用 SQL 語(yǔ)句的目的來(lái)使用存儲(chǔ)過(guò)程,它具有以下優(yōu)點(diǎn): ⑴ 可以在單個(gè)存儲(chǔ)過(guò)程中執(zhí)行一系列 SQL 語(yǔ)句; ⑵ 可以從自己的存儲(chǔ)過(guò)程內(nèi)引用其他存儲(chǔ)過(guò)程,這可以簡(jiǎn)化一系列復(fù)雜語(yǔ)句; ⑶ 存儲(chǔ)過(guò)程在創(chuàng)建時(shí)即在服務(wù)器上進(jìn)行編譯,所以執(zhí)行起來(lái)比單個(gè) SQL 語(yǔ)句快。 在企業(yè)管理器中單擊鼠標(biāo)右鍵,選擇 “新建存儲(chǔ)過(guò)程 ”命令。 該 2.3.3 配置 SQL Server 2000 中的數(shù)據(jù)庫(kù) 完成數(shù)據(jù)庫(kù)應(yīng)用程序的基本步驟是: ⑴ 創(chuàng)建數(shù)據(jù)庫(kù); ⑵ 配置
13、數(shù)據(jù)庫(kù)與應(yīng)用程序的連接; ⑶ 創(chuàng)建應(yīng)用程序。 2.3.4 配置與 SQL Server2000 Visual Basic 6.0 提供了 ADO 的 ODBC 連接 來(lái)對(duì)數(shù)據(jù)進(jìn)行操作。 數(shù)據(jù)庫(kù)在 SQL Server 2000 中創(chuàng)建成功后, ADO 通過(guò) ODBC 創(chuàng)建與數(shù)據(jù)庫(kù)的連接。 首先啟動(dòng)操作系統(tǒng) (這里以 Windows 2000 為例)的控制面板, 選擇 “管理工具 ”圖標(biāo), 打開(kāi)后選擇 “數(shù) 據(jù)源( ODBC ) ”,打開(kāi)后出現(xiàn)對(duì)話框
14、。選擇 “文件 DSN” 選項(xiàng)卡,這樣創(chuàng)建的數(shù)據(jù)連接所有用戶都可 以使用。單擊 “添加 ”按鈕,這里有多種 DSN ,都有各自不同的用途:用戶 DSN 只對(duì)當(dāng)前用戶有效, 而且只能用于當(dāng)前計(jì)算機(jī)上;系統(tǒng) DSN 對(duì)當(dāng)前計(jì)算機(jī)上所有用戶可見(jiàn),包括 NT 服務(wù);文件 DSN 可 以由安裝了相同驅(qū)動(dòng)程序的用戶共享。選擇 “SQL Server ”選項(xiàng),單擊 “下一步 ”按鈕,出現(xiàn)對(duì)話框。單 擊 “瀏覽 ”按鈕,可以指定保存數(shù)據(jù)源連接文件的路徑。在文本框中輸入保存連接的文件名,單擊 “下 一步 ”按鈕,
15、然后單擊 “完成 ”按鈕,在 “服務(wù)器 ”選項(xiàng)中選擇創(chuàng)建的服務(wù)器名稱,并單擊 “下一步 ”按鈕, 設(shè)置數(shù)據(jù)庫(kù)為應(yīng)用程序?qū)⒁L問(wèn)的數(shù)據(jù)庫(kù), 這樣數(shù)據(jù)庫(kù)應(yīng)用程序才能正常工作。 可以設(shè)置是否對(duì)數(shù)據(jù) 加密,以及是否保存查詢的日志文件。如果數(shù)據(jù)庫(kù)中數(shù)據(jù)采用中文,那必須選用 “Simplified Chinese” (即簡(jiǎn)體中文) ,否則數(shù)據(jù)不能正常顯示。根據(jù)數(shù)據(jù)可能用到的各種數(shù)據(jù)類型,選擇合適的區(qū)域設(shè)置。 單擊 “完成 ”按鈕。這樣就完成了對(duì)數(shù)據(jù)庫(kù)的配置,可以單擊 “測(cè)試數(shù)據(jù)源 ”按鈕測(cè)試數(shù)據(jù)庫(kù)配置是否成功。
16、 3 需求分析 在分析軟件需求過(guò)程中, 分析員和用戶都起著關(guān)鍵的必不可少了的作用。 只有用戶才知道真正自 己需要什么, 但是他們并不知道怎么樣用軟件實(shí)現(xiàn)自己的需求, 用戶必須把他們對(duì)軟件的需求盡量準(zhǔn) 確、具體地描述出來(lái);分析員知道怎么樣用軟件實(shí)現(xiàn)人們的需求,但是在需求分析開(kāi)始時(shí)他們對(duì)用戶 的需求并不十分清楚,必須通過(guò)與用戶溝通獲取用戶的軟件的需求。 3.1 可行性分析 由于本系統(tǒng)管理的對(duì)象單一 ,都是在校學(xué)生,且每個(gè)數(shù)據(jù)內(nèi)容具有較強(qiáng)的關(guān)聯(lián)性,涉及的計(jì)
17、算過(guò) 程不是很復(fù)雜。 因此,比較適合于采用數(shù)據(jù)庫(kù)管理。 且學(xué)校用于學(xué)生管理的微機(jī)都是 PIII 以上的機(jī)器, 在存儲(chǔ)量、速度方面都能滿足數(shù)據(jù)庫(kù)運(yùn)行的要求。在技術(shù)難度方面,由于有指導(dǎo)老師的指導(dǎo)和相關(guān)參 考文獻(xiàn),特別是網(wǎng)上資料,特別是參考其它程序的功能,因此完全可以實(shí)現(xiàn)。 同時(shí),本文介紹的學(xué)生信息管理系統(tǒng)是一個(gè)典型的客戶機(jī) /服務(wù)器( C/S)體系結(jié)構(gòu)的數(shù)據(jù)庫(kù)應(yīng)用 系統(tǒng)。 C/S 軟件體系結(jié)構(gòu)是基于資源不對(duì)等且為實(shí)現(xiàn)共享而提出來(lái)的,是 20 世紀(jì) 90 年代成熟起來(lái)的技 術(shù)。 C/S 結(jié)構(gòu)將應(yīng)用一分為二,服務(wù)
18、器(后臺(tái))負(fù)責(zé)數(shù)據(jù)管理,客戶機(jī)(前臺(tái))完成與用戶的交互任 務(wù)。 C/S 模式的基本工作原理是:客戶程序向數(shù)據(jù)服務(wù)器發(fā)送 SQL 請(qǐng)求,服務(wù)器返回?cái)?shù)據(jù)和結(jié)果??? 戶端負(fù)責(zé)實(shí)現(xiàn)用戶接口功能, 同時(shí)封裝部分或全部的應(yīng)用邏輯。 服務(wù)器端的數(shù)據(jù)庫(kù)服務(wù)器主要提供數(shù) 據(jù)存儲(chǔ)功能,也可通過(guò)觸發(fā)器和存儲(chǔ)過(guò)程提供部分應(yīng)用邏輯,并且通常把那些不同的(不管是已知還 是未知的)前臺(tái)應(yīng)用所不能違反的規(guī)則在服務(wù)器程序中集中實(shí)現(xiàn),例如訪問(wèn)者的權(quán)限、編號(hào)不準(zhǔn)重復(fù) 等規(guī)則。所有這些,對(duì)于運(yùn)行客戶應(yīng)用程序的最終用戶,是 “透明 ”的,他們無(wú)須過(guò)問(wèn)(通常也無(wú)法
19、干 涉)這背后的過(guò)程,就可以完成自己的一切工作。在客戶服務(wù)器架構(gòu)的應(yīng)用中,數(shù)據(jù)庫(kù)真正變成了公 共、專業(yè)化的床庫(kù),受到獨(dú)立的專門管理。 3.2 用戶需求分析 經(jīng)過(guò)詳細(xì)的調(diào)研, 并多次與學(xué)生檔案管理的老師進(jìn)行討論后, 首先加深了對(duì)學(xué)生信息管理業(yè)務(wù)的 深刻了解,其次在充分熟悉學(xué)生檔案管理業(yè)務(wù)的同時(shí),將整個(gè)學(xué)生檔案管理的業(yè)務(wù)流程描述如下: ⑴ 新生入校,首先報(bào)到并進(jìn)行注冊(cè)登記,然后到財(cái)務(wù)部門交費(fèi)。根據(jù)學(xué)生被錄取的專業(yè),持交 費(fèi)單到所在的系部注冊(cè); ⑵ 到系部注冊(cè)后,根據(jù)選報(bào)的專業(yè)分配到班級(jí);
20、 ⑶ 進(jìn)入正常大學(xué)生活,參加各種教學(xué)活動(dòng),學(xué)期期末要求每位同學(xué)參加各種學(xué)科的期末考試; 計(jì)劃和資源利用計(jì)劃。 3.5 功能分析 ⑴ 系統(tǒng)需要經(jīng)過(guò)有效身份驗(yàn)證才可以登錄。 ⑵ 系統(tǒng)對(duì)注冊(cè)用戶可對(duì)系統(tǒng)進(jìn)行不同的管理。 ⑶ 用戶身份不同,使用系統(tǒng)的權(quán)限也不同。 3.6 系統(tǒng)建模 為了更好的理解復(fù)雜的事物,人們常常采用建立事物模型的方法。所謂模型,就是為了理解事物 而對(duì)事物做出的一種抽象的表達(dá)方式, 是對(duì)事物的一種無(wú)歧義的書(shū)面描述。 通常模型是由一組圖形符號(hào)和組織這些符號(hào)的規(guī)則組成。 3.6.1 建立系統(tǒng)的邏輯模型
21、 系統(tǒng)的邏輯模型的工具是數(shù)據(jù)流圖和數(shù)據(jù)字典。 數(shù)據(jù)流圖中沒(méi)有任何具體的物理元素, 只有 用來(lái)描繪信息在系統(tǒng)中的流動(dòng)和處理情況。 數(shù)據(jù)流圖共有四種基本符號(hào): 矩形表示數(shù)據(jù)的源點(diǎn)或終點(diǎn) (或稱為外部項(xiàng)) ,圓或橢圓表示變換數(shù)據(jù)的處理,向右開(kāi)口的矩形表示數(shù)據(jù)存儲(chǔ),箭頭表示數(shù)據(jù)流, 既特定數(shù)據(jù)的流動(dòng)方向。 根據(jù)現(xiàn)行學(xué)生管理的業(yè)務(wù)流程, 首先確定數(shù)據(jù)流圖中的源點(diǎn)和終點(diǎn)都選定為 學(xué)生,如此就得到據(jù)冗余,節(jié)約儲(chǔ)存空間,又能夠避免數(shù)據(jù)之間的不相容性與不一致性。數(shù)據(jù)系統(tǒng)提 供了兩方面的映像功能, 從而使數(shù)據(jù)既具有物理獨(dú)立性, 又有邏輯獨(dú)立性。 數(shù)據(jù)與程序之間
22、的獨(dú)立性, 使得可以把數(shù)據(jù)的定義和描述從應(yīng)用程序中分離出去。另外,由于數(shù)據(jù)的存取由 DBMS 管理,用戶 不必考慮存取路徑等細(xì)節(jié),從而簡(jiǎn)化了應(yīng)用程序的編制,大大減少了應(yīng)用程序的維護(hù)和修改。在數(shù)據(jù) 庫(kù)系統(tǒng)中,數(shù)據(jù)是由 DBMS 統(tǒng)一管理和控制的。由于對(duì)數(shù)據(jù)實(shí)行了統(tǒng)一管理,而且所管理的是有結(jié) 構(gòu)的數(shù)據(jù), 因此在使用數(shù)據(jù)時(shí)可以當(dāng)應(yīng)用需求改變或增加時(shí), 只要重新選取不同的子集或者加上一小 部分?jǐn)?shù)據(jù),便可以有更多的途徑,滿足新的要求,因此使數(shù)據(jù)庫(kù)系統(tǒng)彈性大,易于擴(kuò)充。除了管理功 能以外,為了適應(yīng)數(shù)據(jù)共享的環(huán)境, DBMS 還必須提供數(shù)據(jù)的安全性、數(shù)據(jù)的完整性,并發(fā)控
23、制以及 數(shù)據(jù)庫(kù)的恢復(fù)等控制功能。 ⑴ 數(shù)據(jù)模型設(shè)計(jì)。 首先來(lái)做出學(xué)生成績(jī)管理系統(tǒng)的 E-R 圖(聯(lián)系方法圖) ,分析這個(gè)問(wèn)題的實(shí)體, 從系統(tǒng)分析可以知道,學(xué)生的成績(jī)是由任課教師按照課程給出的,學(xué)生、課程、教師組成了這個(gè)系統(tǒng) 的三個(gè)實(shí)體。 ⑵ 再分析三個(gè)實(shí)體之間的聯(lián)系。首先,這三個(gè)實(shí)體不是一個(gè)統(tǒng)一體,學(xué)生成績(jī)與教師沒(méi)有內(nèi)在聯(lián)系,教師必須通過(guò)課程實(shí)體才能與學(xué)生建立聯(lián)系,因而先不考慮。課程與學(xué)生這兩個(gè)實(shí)體是多對(duì)多 聯(lián)系;一位學(xué)生要學(xué)習(xí)多門課程,一門課程有多位學(xué)生共同學(xué)習(xí)。而學(xué)習(xí)成績(jī)是這兩個(gè)實(shí)體 “學(xué)生 ”和“成績(jī) ”共有的屬性,應(yīng)填在二者的聯(lián)系
24、 “學(xué)習(xí) ”邊。因?yàn)槌煽?jī)既不是學(xué)生獨(dú)有的,也不是課程獨(dú)有的; “學(xué)生甲 70 分 ”或 “英語(yǔ) 70 分 ”是不完全的,說(shuō) “學(xué)生甲英語(yǔ) 70 分 ”才是正確的,因?yàn)? 70 分是學(xué)生甲和 英語(yǔ) 經(jīng)過(guò)需求分析階段的工作,
25、系統(tǒng)必須 “做什么 ”已經(jīng)清楚了,現(xiàn)在是決定 “怎么樣做 “的時(shí)候了。總 體設(shè)計(jì)的基本目的就是回答 ”概括的說(shuō),系統(tǒng)應(yīng)該如何實(shí)現(xiàn)? “這個(gè)問(wèn)題,因此,總體設(shè)計(jì)成為概要設(shè) 計(jì)或者初步設(shè)計(jì)。 通過(guò)這個(gè)階段的工作將劃分出組成系統(tǒng)的物理元素。 總體設(shè)計(jì)階段的另一項(xiàng)任務(wù)是設(shè)計(jì)軟件結(jié)構(gòu),也就是要確定系統(tǒng)中的每個(gè)程序是哪些模塊組成的,以及模塊相互關(guān)系。 4.1.1 設(shè)計(jì)過(guò)程 總體設(shè)計(jì)過(guò)程通常由兩個(gè)主要階段組成:系統(tǒng)設(shè)計(jì)階段,確定系統(tǒng)的具體實(shí)現(xiàn)方案;結(jié)構(gòu)設(shè)計(jì)階 段,確定軟件結(jié)構(gòu)。本程序設(shè)計(jì)包括下述 4 個(gè)步驟: ⑴設(shè)想提供選擇的方案 如何實(shí)現(xiàn)要求的系統(tǒng)呢?在總體設(shè)計(jì)階
26、段開(kāi)始時(shí)只有系統(tǒng)邏輯模型, 這主要是我在進(jìn)行調(diào)查時(shí)根 據(jù)老師跟同學(xué)們的意見(jiàn)跟建議設(shè)計(jì)的一些數(shù)據(jù)然后根據(jù)數(shù)據(jù)分析進(jìn)行總體的設(shè)計(jì)。 ⑵功能分析 為了最終實(shí)現(xiàn)目標(biāo)系統(tǒng),必須設(shè)計(jì)出組成這個(gè)系統(tǒng)的所有程序和文件(或數(shù)據(jù)庫(kù)) 。我在對(duì)程序 設(shè)計(jì)的時(shí)候分為兩個(gè)階段完成:首先是進(jìn)行結(jié)構(gòu)設(shè)計(jì),這主要考慮到學(xué)生信息由那些模塊的劃分,這 些模塊之間的關(guān)系:過(guò)程設(shè)計(jì)確定每個(gè)模塊的處理過(guò)程。第二進(jìn)行過(guò)程設(shè)計(jì),這個(gè)階段是詳細(xì)設(shè)計(jì)階 段的任務(wù)見(jiàn)第 5 節(jié)系統(tǒng)實(shí)現(xiàn)篇。 ⑶設(shè)計(jì)軟件結(jié)構(gòu) 通常程序中的一個(gè)模塊完成一個(gè)適當(dāng)?shù)淖庸δ堋?把模塊組織成良好的功能層次系統(tǒng), 頂層模塊調(diào)
27、 用他的下層模塊以實(shí)現(xiàn)程序的完整功能, 每個(gè)下層模塊再調(diào)用更下層的模塊, 從而完成程序的一個(gè)子 功能,最下層的模塊完成具體的功能。 ⑷設(shè)計(jì)數(shù)據(jù)庫(kù) 對(duì)于需要使用數(shù)據(jù)庫(kù)的那些應(yīng)用系統(tǒng), 我在需求分析階段需求分析階段所確定的系統(tǒng)數(shù)據(jù)需求的基礎(chǔ)上。 4.2 模塊設(shè)計(jì)原理 4.2.1 軟件模塊結(jié)構(gòu)分析 軟件模塊結(jié)構(gòu)分析主要有兩個(gè)任務(wù): 分析用戶的數(shù)據(jù)要求和分析用戶的處理要求。 通過(guò)以上分析, 我們已經(jīng)基本了解了用戶對(duì)處理的要求。 ⑴ 系統(tǒng)方案確定 通過(guò)對(duì)系統(tǒng)的調(diào)研與分析, 系統(tǒng)主要應(yīng)完成的功能有: 班級(jí)管理、 學(xué)生成績(jī)管理、 學(xué)生交費(fèi)管理、
28、 課程管理、成績(jī)管理、系統(tǒng)管理等功能。 ⑵ 軟件結(jié)構(gòu)設(shè)計(jì) 本系統(tǒng)在執(zhí)行時(shí), 先根據(jù)不同的操作人員的需要來(lái)進(jìn)行相應(yīng)的模塊, 然后可以輸入數(shù)據(jù)或者進(jìn)行 其它的查詢或?yàn)g覽等操作 4.5 詳細(xì)設(shè)計(jì) 系統(tǒng)設(shè)計(jì)又稱系統(tǒng)物理設(shè)計(jì)。系統(tǒng)設(shè)計(jì)要根據(jù)系統(tǒng)分析報(bào)告中的系統(tǒng)邏輯模型綜合考慮各種約 束,利用一切可用的技術(shù)手段和方法進(jìn)行各種具體設(shè)計(jì),確定新系統(tǒng)的實(shí)施方案,解決 “系統(tǒng)怎么做 ” 的問(wèn)題。 結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)是指利用一組標(biāo)準(zhǔn)的圖表工具和準(zhǔn)則,確定系統(tǒng)有哪些模塊,用什么方法連接, 如何構(gòu)成
29、良好的系統(tǒng)結(jié)構(gòu),并進(jìn)行系統(tǒng)輸入、輸出、數(shù)據(jù)處理、數(shù)據(jù)存儲(chǔ)等環(huán)節(jié)的詳細(xì)設(shè)計(jì)。這一階 段的重點(diǎn)是設(shè)計(jì)好系統(tǒng)的總體結(jié)構(gòu), 選擇最經(jīng)濟(jì)合理的技術(shù)手段。 系統(tǒng)設(shè)計(jì)階段的文件是系統(tǒng)設(shè)計(jì)報(bào) 告(又稱系統(tǒng)物理設(shè)計(jì)說(shuō)明書(shū)) 。 由于本系統(tǒng)采用支持面向?qū)ο蟮?Visual Basic 6.0 作為開(kāi)發(fā)工具, 而 Visual Basic 6.0 采用事件驅(qū)動(dòng) 的編程機(jī)制,所以在此給出系統(tǒng)軟件的結(jié)構(gòu)圖和主程序流程圖。 系統(tǒng)結(jié)構(gòu)圖,如圖基本上決定了最終的程序代碼質(zhì)量。 4.5.2 人機(jī)界面設(shè)計(jì) 在系統(tǒng)詳細(xì)設(shè)計(jì)的時(shí)候遇見(jiàn)的第一個(gè)問(wèn)題就是人機(jī)界面的設(shè)計(jì)。 人機(jī)界面的實(shí)際質(zhì)量, 直
30、接影響 用戶對(duì)軟件產(chǎn)品的評(píng)價(jià),從而影響軟件產(chǎn)品的競(jìng)爭(zhēng)力和壽命,因此,必須對(duì)人機(jī)界面設(shè)計(jì)給予足夠的重視。 用戶界面設(shè)計(jì)主要依靠設(shè)計(jì)者的經(jīng)驗(yàn)。在我設(shè)計(jì)人機(jī)界面的時(shí)候重要突出有助與友好高效的界面。下面我介紹下本系主要用到的人機(jī)界面設(shè)計(jì)指南。 ⑴ 一般交互指南 一般交互指南涉及信息的顯示、數(shù)據(jù)輸入和系統(tǒng)整體控制。這類指南是全局性的。在交互指南中應(yīng)該考慮下面問(wèn)題: ①保持一致性。人機(jī)界面中的菜單選擇、數(shù)據(jù)顯示以及其他功能使用一致的格式; ②在執(zhí)行較大破壞性的動(dòng)作之前要求用戶確定; ③允許取消絕大部分的操作; ④按功能對(duì)動(dòng)作分類,并據(jù)此設(shè)計(jì)屏幕布局。
31、⑵數(shù)據(jù)輸入指南 在本系統(tǒng)中用戶的大部分時(shí)間用在選擇命令、鍵入數(shù)據(jù)和向系統(tǒng)提供輸入。在許多應(yīng)用系統(tǒng)中,鍵盤(pán)、鼠標(biāo)仍然是主要的輸入介質(zhì)。下面是有關(guān)于數(shù)據(jù)輸入的設(shè)計(jì)指南: ①盡量減少用戶的輸入動(dòng)作。最重要的是減少擊鍵次數(shù),這可以用下列方法實(shí)現(xiàn):用鼠標(biāo)從預(yù)定意的一組輸入中選一個(gè); ②保持信息顯示和數(shù)據(jù)輸入之間的一致性。 4.5.3 過(guò)程設(shè)計(jì)的工具 描敘程序處理過(guò)程的工具稱為過(guò)程設(shè)計(jì)的工具,它們可以分為圖形、表格和語(yǔ)言 3 類。不論是那 種工具對(duì)他們的基本要求都是能提供對(duì)設(shè)計(jì)的無(wú)歧義的描敘,也就是應(yīng)該
32、指明控制流程、處理功能、 數(shù)據(jù)組織以及他們方面的實(shí)現(xiàn)細(xì)節(jié)問(wèn)題,從而在編碼階段能把對(duì)設(shè)計(jì)的描述直接翻譯成程序代碼。 ⑴ 程序流程圖 程序流程圖的優(yōu)點(diǎn)是對(duì)控制流程的描繪很直觀。 程序流程圖有很多優(yōu)點(diǎn)但同時(shí)存在許多的缺點(diǎn): ①程序流程圖本質(zhì)上不是逐步求精的好工具; ②程序流程圖中用箭頭代表控制流, 因此程序員不受任何約束, 可以完全不顧結(jié)構(gòu)程序設(shè)計(jì)的精 神,睡衣轉(zhuǎn)移控制; ③程序流圖不易表示數(shù)據(jù)結(jié)構(gòu)。 ⑵ 判定樹(shù) 判定樹(shù)能清晰的表示復(fù)雜的條件組合與應(yīng)做的動(dòng)作意見(jiàn)的對(duì)應(yīng)關(guān)系。 判定樹(shù)的優(yōu)點(diǎn)在于, 他的形式簡(jiǎn) 單到不用任何說(shuō)明 D
33、im mrc As ADODB.Recordset txtsql = "select username from use where username='" & Trim(Text1.Text) & "'" Set mrc = ExecuteSQL(txtsql) If mrc.EOF = True Then MsgBox " 用戶名錯(cuò)誤! ", vbExclamation + vbOKOnly, " 警告 " Text1.SetFocus Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text)
34、 Exit Sub End If username = mrc.Fields(0) txtsql2 = "select username from use where password='" & Trim(Text2.Text) & "'" Set mrc = ExecuteSQL(txtsql2) If mrc.EOF = True Then MsgBox " 密碼錯(cuò)誤! ", vbExclamation + vbOKOnly, " 警告 " 5.2 系統(tǒng)主界面 本模塊是本系統(tǒng)
35、的應(yīng)用界面, 在本界面上集成了本系統(tǒng)的所有功能, 從而實(shí)現(xiàn)了本系統(tǒng)從班級(jí)管 理、檔案管理、繳費(fèi)管理、課程管理、成績(jī)管理等系統(tǒng)的具體功能。 首先,在窗口上放置一個(gè) Picture 控件、一個(gè) DataGrid 控件、一個(gè)工具欄控件和一個(gè)狀態(tài)欄控件, 其次打開(kāi)菜單編輯器,按照總體設(shè)計(jì)的功能結(jié)構(gòu)圖設(shè)計(jì)菜單選項(xiàng),如圖 5-2 所示。 圖 5-2 系統(tǒng)主界面圖 部分代碼如下:
36、Private Sub lblUsers_Click() If Format(CurUser.UserName, "<") = "admin" Then FrmUserMan.Show 1 Else With FrmUserEdit OriUser = CurUser.UserName txtUserName = CurUser.UserName txtPass = CurUser.Pwd txtPass2 = CurUser.Pwd Modify = True Sh
37、ow 1 End With End If End Sub txtName.SelStart = 0 txtName.SelLength = Len(txtName) Exit Sub End If With MyLesson LessonName = MakeStr(txtName) LessonType = Trim(ComboType.Text) Teacher = MakeStr(txtTeacher) .Term = MakeStr(txtTerm) .Hours = Val(txtHours) If
38、Modify = False Then .Insert Else Call .Update(OriId) End If End With Unload Me End Sub 課程管理頁(yè)面如下,如圖 5-9 所示。 圖 5-9 課程頁(yè)面圖 5.5 學(xué)生繳費(fèi)管理模塊 因?yàn)楸鞠到y(tǒng)中有些功能模塊具有相似之處, 因此在本文只用此模塊進(jìn)行一個(gè)簡(jiǎn)單的說(shuō)明。 其它的 相似模塊的代碼可能參閱本模塊的設(shè)計(jì)思路,如圖 5-10 所示。 圖 5-10 繳
39、費(fèi)頁(yè)面 Public printstr As String Private Sub Command1_Click() Dim dbSource As Database Set dbSource = OpenDatabase("xs.mdb") dbSource.Execute ("SELECT * INto 班級(jí)一覽表 IN ' 學(xué)生管理一覽表 .xls' 'EXCEL 5.0;' FROM class") z = MsgBox(" 成功! ", vbOKOn
40、ly, " 查詢 ") End Sub 5.6 服務(wù)器端程序的建立 COM 工程,它本身連接數(shù)據(jù)源, 再通過(guò)接口與客戶端聯(lián)系, 這個(gè) COM 服務(wù)器端程序?qū)嶋H上是個(gè) 工程必須注冊(cè)在服務(wù)器上。 5.7 客戶端程序的建立 在 Two-Tier 模式中,客戶端 (Client) 程序是直接和服務(wù)器的數(shù)據(jù)源相連的。 ⑴建立一個(gè)普通的工程。 ⑵放置一個(gè) TDCOMConnrction 控件在網(wǎng)絡(luò)上調(diào)試,需要給出服務(wù)器名 :ComputerName :服務(wù)器 名(自動(dòng)給出網(wǎng)上鄰居)注意:
41、 ServerGUID 的 GUID 值是自動(dòng)給出的。 ⑶放置一個(gè) Tclient 控件。 這樣一個(gè)客戶端程序就建立好了 ,其余猶如普通的數(shù)據(jù)庫(kù)設(shè)計(jì)。 5.8 動(dòng)態(tài)連接應(yīng)用程序服務(wù)器的實(shí)現(xiàn) 客戶端程序在運(yùn)行時(shí),需要連接應(yīng)用服務(wù)器程序以取得服務(wù)。但是,在系統(tǒng)實(shí)際應(yīng)用的時(shí)候,運(yùn) 行應(yīng)用服務(wù)器程序的計(jì)算機(jī)是經(jīng)常改變的, 因此在客戶端程序啟動(dòng)時(shí), 應(yīng)該先找到運(yùn)行應(yīng)用服務(wù)器程序的計(jì)算機(jī)的設(shè)置。 掌握了動(dòng)態(tài)連接應(yīng)用服務(wù)器的流程, 就可以具體實(shí)現(xiàn)它。 下面就將分步驟介紹動(dòng)態(tài)連接應(yīng)用服務(wù)器的實(shí)現(xiàn)過(guò)程。 ⑴ 在 VB 中新 建 一 個(gè) 窗
42、 體, 將 單 元 文件 保 存 為 connect.pas 窗 體 的 Name 屬 性 設(shè) 為 fm_serconfig,Caption 屬性設(shè)為 ”服務(wù)器配置 ”,運(yùn)行后窗體如下圖 5-11 所示。 圖 5-11 服務(wù)器配置圖 (2) 在 “連接設(shè)置 ”窗體中,需要輸入應(yīng)用服務(wù)器主機(jī)名(或者應(yīng)用服務(wù)器 IP 地址)和應(yīng)用服務(wù)器 的端口號(hào),這些配置信息將用來(lái)連接應(yīng)用服務(wù)器。如果連接成功,輸入的配置信息將被寫(xiě)入到注冊(cè)表中,以后程序啟動(dòng)時(shí),讀取注冊(cè)表配置信息,就可而已連接應(yīng)用服務(wù)器程序了。 (3) 在
43、連接設(shè)置主窗口中,我們?yōu)閼?yīng)用服務(wù)器名提供了輔助錄入的方法,點(diǎn)擊應(yīng)用服務(wù)器名編輯 框右邊的省略號(hào)按鈕, 將彈出一個(gè)瀏覽局域網(wǎng)計(jì)算機(jī)的對(duì)話框,以方便用戶選擇應(yīng)用服務(wù)器所在的計(jì) 算機(jī)。 在 VB 中新建一個(gè)窗體, 將窗體單元文件保存為 netlist .pas,窗體的 Name 屬性設(shè)為 Fm_netlist 。運(yùn)行后窗體如下圖 5-12 所示。 圖 5-12 網(wǎng)上鄰居圖 在列舉網(wǎng)絡(luò)資源窗體中,將按照工作組以樹(shù)型目錄的形式顯示局域網(wǎng)中的計(jì)算機(jī)。 (4) IP SocketConnection 連接。如果連接成功就返回 True 值,如果連接失敗,將彈
44、出 “連接設(shè)置 “窗口,用戶需要從新輸入應(yīng) 用服務(wù)器主機(jī)名, 應(yīng)用服務(wù)器 IP 地址和端口號(hào)。 如果仍然連接失敗, 就返回 False 值,表示連接失敗。 (5) 動(dòng)態(tài)連接設(shè)置的最后一個(gè)步驟就是在主窗體被創(chuàng)建時(shí),調(diào)用第 4 步中的方法,判斷應(yīng)用程序 是否連接上了應(yīng)用服務(wù)器。如果連接成功,將進(jìn)入應(yīng)用程序;如果連接失敗,將退出應(yīng)用程序。 至此,動(dòng)態(tài)連接應(yīng)用服務(wù)器就做完了。 5.9 系統(tǒng)的測(cè)試 ⑴ 測(cè)試步驟 ⑴ 添加學(xué)生信息測(cè)試流程: ① 以管理員或者編輯身份進(jìn)入后臺(tái)管理界面;
45、 ② 選擇 “添加學(xué)生 ”功能; ③ 首先添加學(xué)生姓名,選擇學(xué)生的性別、年齡、等信息名稱; ④然后添加學(xué)生的詳細(xì)信息; ⑤ 從系統(tǒng)界面登錄,確認(rèn)信息添加。 ⑵ 測(cè)試的目標(biāo):為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過(guò)程。 經(jīng)過(guò)多次測(cè)試添加學(xué)生姓名等信息從系統(tǒng)界面登錄讀取信息都無(wú)誤。 其他功能都能基本實(shí)現(xiàn)就不在細(xì)說(shuō)了。 全文總結(jié) 在本系統(tǒng)的開(kāi)發(fā)過(guò)程中,由于本人獨(dú)立開(kāi)發(fā)軟件,在知識(shí)、經(jīng)驗(yàn)方面都存在著不足。另外,在整 在本次畢業(yè)設(shè)計(jì)中,我從指導(dǎo)老師 -------- 周老師,身上學(xué)到了很多東西。他認(rèn)真負(fù)責(zé)的工作態(tài)度,
- 溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競(jìng)賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫(kù)試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫(kù)試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫(kù)試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測(cè)試題庫(kù)及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測(cè)工種技術(shù)比武題庫(kù)含解析
- 1 礦山應(yīng)急救援安全知識(shí)競(jìng)賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案