校友信息管理系统
一、項目背景
1.1 選題背景和目的、意義
近年來計算機(jī)技術(shù)的快速發(fā)展,特別是計算機(jī)網(wǎng)絡(luò)的發(fā)展,越來越深刻地改變了人們生活的方方面面。使得人們能以更低廉的價格,開發(fā)出更方便、更實用的網(wǎng)絡(luò)工具。各種在線服務(wù)系統(tǒng),更是深刻地影響了人們的聯(lián)系方式,使得人們可以在遠(yuǎn)隔千里之遙隨時通訊。過去種種陳舊的聯(lián)系方式,已經(jīng)不能滿足現(xiàn)代生活的需要。校友信息管理系統(tǒng)作為一種方便校友之間聯(lián)系的實用系統(tǒng)便應(yīng)運(yùn)而生。通過提供完善的校友信息管理服務(wù)和規(guī)范校友信息的管理,可以達(dá)到增進(jìn)校友之間、校友與母校之間的感情,方便校友聯(lián)系的目的。我們設(shè)計這個系統(tǒng)主要有以下原因:一是它接近我們的生活,我們對它比較熟悉;二是我們正在使用的校友信息管理系統(tǒng)里可能存在著一些問題與缺陷。設(shè)計一個用與實現(xiàn)校友與母校之間、校友與校友之間的一個方便、快捷通暢的溝通平臺,對我校的校友信息管理系統(tǒng)進(jìn)行比較全面地設(shè)計,為我校設(shè)計與開發(fā)一個在使用功能全面、用戶界面友好、安全性能可靠、可擴(kuò)充性強(qiáng)等方面都很完善的校友管理系統(tǒng)。隨著高校人數(shù)的不斷增加,辦學(xué)種類的不斷變化,校友數(shù)據(jù)越來越多,如果繼續(xù)通過手工制作或Excel表格存儲已無法適應(yīng)新時代的要求。使用現(xiàn)代化的軟件進(jìn)行校友管理,可以極大的方便校友會的日常工作,保證數(shù)據(jù)的一致性,及時性,增進(jìn)校友會與校友之間的交流溝通,及時的傳達(dá)學(xué)校,校友會的通知。
最終我們討論,本系統(tǒng)的主要功能有:
(1)添加、刪除、修改校友信息
(2)按照某一特定字(姓名,畢業(yè)年級,政治面貌,工作地址,工作單位,專業(yè)等)查詢相關(guān)校友的信息(聯(lián)系方式,電子郵箱等)
(3)實現(xiàn)簡單的校友論壇
(4)管理員,用戶通過用戶名,密碼登錄
1.2產(chǎn)品面向的用戶群體
本產(chǎn)品面向的用戶群體主要是:
(1)校友信息管理員:管理員定時對校友信息管理系統(tǒng)進(jìn)行維護(hù)和檢查。
(2)畢業(yè)生群體:畢業(yè)生可以進(jìn)入校友信息管理系統(tǒng)查詢校友信息,與校友進(jìn)行聯(lián)絡(luò)。
(3)在校生群體:在校大學(xué)生可以進(jìn)入校友信息管理系統(tǒng)尋找在自己感興趣的公司工作的畢業(yè)生,并與他們進(jìn)行聯(lián)系,獲取幫助。
1.3產(chǎn)品中的角色
角色名稱 職責(zé)描述
管理員 登錄,維護(hù)校友信息管理系統(tǒng)
用戶 登錄,發(fā)布論壇,修改自己的信息,查詢相關(guān)校友信息
表1. 1 系統(tǒng)中的角色
1.4開發(fā)環(huán)境
(1) Eclipse
Eclipse是一個眾所周知的跨平臺自由集成開發(fā)環(huán)境。起初,它主要用于Java語言開發(fā)。通過安裝不同的插件Eclipse,它可以支持不同的計算機(jī)語言,例如開發(fā)工具,如C和Python。Eclipse本身只是一個框架平臺,但是許多插件的支持使得Eclipse具有其他具有相對固定功能的集成開發(fā)環(huán)境軟件難以具備的靈活性。許多軟件開發(fā)人員使用Eclipse作為開發(fā)自己的集成開發(fā)環(huán)境的框架。
Eclipse最初是由OTI和IBM的集成開發(fā)環(huán)境產(chǎn)品開發(fā)團(tuán)隊從1999年4月開始創(chuàng)建的。IBM提供了初始的Eclipse代碼庫,包括平臺、JDT和PDE。由IBM發(fā)起的日食項目已經(jīng)圍繞日食項目發(fā)展成為一個巨大的日食聯(lián)盟。超過150家軟件公司參與了Eclipse項目,包括博蘭、Rational Software、Red Hat和Sybase。Eclipse是一個開源項目,它實際上是Java的視覺時代的替代品。它的界面類似于以前的Java視覺時代。然而,由于它的開放源代碼,任何人都可以免費(fèi)獲得它,并在此基礎(chǔ)上開發(fā)自己的插件,因此它正受到越來越多的關(guān)注。隨后,包括甲骨文在內(nèi)的許多大公司也相繼加入了該項目。Eclipse的目標(biāo)是成為一個能夠開發(fā)任何語言的集成開發(fā)環(huán)境。用戶只需要下載各種語言的插件。
(2) MySQL 5.0
MySQL 5.0是瑞典MySQL AB公司開發(fā)的關(guān)系數(shù)據(jù)庫管理系統(tǒng),目前屬于甲骨文公司。Mysql是最流行的關(guān)系數(shù)據(jù)庫管理系統(tǒng)。MySQL是網(wǎng)絡(luò)應(yīng)用中最好的RDBMS應(yīng)用軟件之一。MySQL是一個關(guān)系數(shù)據(jù)庫管理系統(tǒng)。關(guān)系數(shù)據(jù)庫將數(shù)據(jù)存儲在不同的表中,而不是將所有數(shù)據(jù)放在一個大倉庫中,因此提高了速度和靈活性。MySQL使用的SQL語言是訪問數(shù)據(jù)庫最常用的標(biāo)準(zhǔn)化語言。MySQL軟件采用雙重授權(quán)策略,分為社區(qū)版和商業(yè)版。由于其體積小、速度快、總擁有成本低,特別是開源代碼,MySQL被普遍選為中小型網(wǎng)站開發(fā)的網(wǎng)站數(shù)據(jù)庫。由于社區(qū)版本的出色性能,PHP和Apache可以形成一個良好的開發(fā)環(huán)境。
(3) sqlyog for MySQL
面向MySQL的Sqlyog是一個強(qiáng)大的MySQL數(shù)據(jù)庫管理和開發(fā)工具。它為專業(yè)開發(fā)人員提供了一套強(qiáng)大的尖端工具,但是新用戶仍然很容易學(xué)習(xí)。針對MySQL的Sqlyog基于視窗平臺,為MySQL量身定制,并提供類似于MySQL的管理界面工具。這種解決方案的出現(xiàn)將解放像PHP和J2EE這樣的程序員以及數(shù)據(jù)庫設(shè)計者和管理者的大腦,降低開發(fā)成本,并給用戶帶來更高的開發(fā)效率。
針對MySQL的Sqlyog使用了一個優(yōu)秀的圖形用戶界面,它允許以一種安全而簡單的方式快速而輕松地創(chuàng)建、組織、訪問和共享信息。用戶可以完全控制MySQL數(shù)據(jù)庫并顯示不同的管理數(shù)據(jù),包括管理用戶和訪問權(quán)限的多功能圖形管理工具,便于將數(shù)據(jù)從一個數(shù)據(jù)庫傳輸?shù)搅硪粋€數(shù)據(jù)庫(本地到遠(yuǎn)程、遠(yuǎn)程到遠(yuǎn)程、遠(yuǎn)程到本地)進(jìn)行文件備份。用于MySQL的Sqlyog支持Unicode和到本地或遠(yuǎn)程MySQL服務(wù)器的多個連接。用戶可以瀏覽數(shù)據(jù)庫、創(chuàng)建和刪除數(shù)據(jù)庫、編輯數(shù)據(jù)、創(chuàng)建或執(zhí)行SQL查詢、管理用戶權(quán)限(安全設(shè)置)、備份/恢復(fù)數(shù)據(jù)庫、導(dǎo)入/導(dǎo)出數(shù)據(jù)(支持CSV、TXT、DBF和XML文件類型)等。該軟件與任何MySQL 5.0.x服務(wù)器版本兼容,并支持觸發(fā)器和二進(jìn)制變量二進(jìn)制/位數(shù)據(jù)類型等規(guī)范。
1.5 開發(fā)語言
主要用的是Java語言中的GUI(圖形用戶界面)和AWT(抽象窗口工具包)編程。
(1) GUI
圖形用戶界面(Graphical User Interface,簡稱 GUI,又稱圖形用戶接口),即人機(jī)交互圖形用戶界面的設(shè)計,是指以圖形方式顯示的計算機(jī)操作用戶界面。與早期計算機(jī)使用的命令行界面相比,圖形界面在視覺上更容易被用戶接受。
(2) AWT
抽象窗口工具包(Abstract Windowing Toolkit,縮寫為AWT)是Java的平臺獨(dú)立的窗口系統(tǒng)圖形和用戶界面器件工具包。AWT 是Java基礎(chǔ)類 (JFC)的一部分,為Java程序提供圖形用戶界面(GUI)的標(biāo)準(zhǔn)API。 AWT提供了JavaApplet和Java Application中可用的用戶圖形界面GUI中的基本組件(components)。由于Java是一種獨(dú)立于平臺的編程語言,但圖形用戶界面通常是依賴于平臺的,所以Java使用相應(yīng)的技術(shù)使AWT能夠為應(yīng)用程序提供獨(dú)立于平臺的接口,從而確保同一程序的圖形用戶界面在外觀相似的不同機(jī)器上運(yùn)行。
1.6 軟硬件需求
?硬件需求
電腦:筆記本電腦或臺式電腦
CPU:Pentium以上
內(nèi)存: 512M以上
?軟件需求
操作系統(tǒng)版本:Windows XP /Win10/Win7
開發(fā)工具:Eclipse
開發(fā)語言:Java
所用數(shù)據(jù)庫:Mysql
二、可行性分析
2.1技術(shù)可行性
首先,越來越多的高校都為自己創(chuàng)建了校友信息管理系統(tǒng),使得學(xué)生相互之間也可以進(jìn)行信息交流,這樣的情況為這種校友信息管理系統(tǒng)創(chuàng)造了良好的網(wǎng)絡(luò)環(huán)境。其次,該設(shè)計采用的開發(fā)語言和數(shù)據(jù)庫開發(fā)技術(shù)都已經(jīng)相當(dāng)成熟,完全能夠滿足系統(tǒng)的開發(fā)要求,為開發(fā)工作提供了非常簡便實用的開發(fā)工具。再次,各大高校及用戶的計算機(jī)在計算機(jī)容量、速度等方面完全能夠滿足該系統(tǒng)的需求。最后,基本已經(jīng)掌握了開發(fā)這個系統(tǒng)方法和開發(fā)工具,并且在調(diào)查過程中,已經(jīng)了解和熟悉了校友信息管理系統(tǒng)的流程。綜上所述本系統(tǒng)開發(fā)從技術(shù)上是可行的。
2.2經(jīng)濟(jì)可行性
主要是對高校畢業(yè)生及在校生進(jìn)行分析,對系統(tǒng)的建設(shè)、運(yùn)行和維護(hù)費(fèi)用進(jìn)行估算,對系統(tǒng)建成后可能取得的社會及經(jīng)濟(jì)效益進(jìn)行評估。由于該管理系統(tǒng)比較小,所以對于自己的財力方面來說都是可行的。計算機(jī)及其他一些相關(guān)的附屬物品已經(jīng)具備。并且該系統(tǒng)開發(fā)的時間較短。由于該系統(tǒng)相對來說比較簡單,系統(tǒng)的維護(hù)費(fèi)用也不高。開發(fā)完成后,可以實現(xiàn)準(zhǔn)確與快速于一體,大大方便了各屆校友的聯(lián)系。因此,該系統(tǒng)的開發(fā)在經(jīng)濟(jì)上是完全可行的。
2.3社會可行性
主要是對校友信息管理系統(tǒng)進(jìn)行調(diào)查分析。校友信息管理系統(tǒng)目前并不是一個很完善的市場,有很大的可挖掘性和發(fā)展?jié)摿?#xff0c;現(xiàn)在尚處于發(fā)展階段。所以開發(fā)校友信息管理系統(tǒng)具有很大的潛力,而且面向的對象是自己的校友,有其特有的意義。因此會有很大的發(fā)展空間。該系統(tǒng)投入運(yùn)行后,方便用戶操作和使用,更加方便了各屆學(xué)生的聯(lián)系,更為同學(xué)聚會等活動提供偏便利條件。綜上所述本系統(tǒng)開發(fā)從社會上是可行的。
2.4數(shù)據(jù)庫設(shè)計
本系統(tǒng)使用MySQL數(shù)據(jù)庫,適合我們設(shè)計的小型系統(tǒng)。同時,MySQL的使用人數(shù)多,有豐富的參考資料。
三、需求分析
此校友信息管理系統(tǒng)各功能模塊既可以由用戶自己操作,也可以通過專門的系統(tǒng)管理員對這些數(shù)據(jù)進(jìn)行管理。用戶的登錄、信息的修改、班級的創(chuàng)建以及修改,都是用戶和管理員共有的操作權(quán)限,要求這些權(quán)限是設(shè)定在一定范圍之內(nèi)的,所以此系統(tǒng)的安全性要保證。同時,系統(tǒng)的方便性、快捷性也有比較高的要求。本系統(tǒng)工程要滿足以下要求:
● 系統(tǒng)安全性。由于此系統(tǒng)中的操作都是由用戶和管理員操辦的,的以對于用戶的權(quán)限設(shè)置比較嚴(yán)格。同時由于校友信息管理系統(tǒng)涉及的用戶比較多,若要防止數(shù)據(jù)的并發(fā)現(xiàn)象的出現(xiàn),數(shù)據(jù)的編輯必須由合法用戶來操作。
登錄用戶的安全性:系統(tǒng)設(shè)計了登陸界面,每個合法用戶有一個密碼,該密碼由用戶自行維護(hù),從而實現(xiàn)對用戶的身份驗證。
數(shù)據(jù)安全性:客戶端層和數(shù)據(jù)庫層隔離,客戶端無法接觸本質(zhì)的數(shù)據(jù)庫,無法進(jìn)行非法的修改和破壞,使得數(shù)據(jù)庫得到有效安全的保護(hù)。
● 信息交流。在系統(tǒng)中要加強(qiáng)各地校友之間的聯(lián)系,為大家提供交流的平臺和廣泛地合作機(jī)會,以增加學(xué)子們的凝聚力,為在校與畢業(yè)生建立溝通的渠道,開拓在校生的就業(yè)空間。
● 可擴(kuò)展性。為了適應(yīng)系統(tǒng)的變化可以進(jìn)行功能模塊的調(diào)整,對于校友信息管理系統(tǒng)來說,系統(tǒng)要符合用戶的需求,能夠滿足不同用戶發(fā)布信息和獲取資源的要求。系統(tǒng)采用的結(jié)構(gòu)有助于系統(tǒng)的維護(hù)和升級,可以減少維護(hù)的成本。
3.1 功能需求分析
(1) 校友用戶、管理員均可瀏覽校友信息、班級信息、校友留言等。
(2) 校友用戶可以查找校友并可跟據(jù)需要聯(lián)系該校友、在校友論壇發(fā)表留言與瀏覽其他用戶留言。使用校友專享提供的便捷服務(wù)。
(3) 校友用戶可以對自己的信息進(jìn)行修改。
3.2 數(shù)據(jù)需求分析
本系統(tǒng)為校友信息管理系統(tǒng),應(yīng)具備記錄校友信息的功能,同時也要記錄校友的班級信息。另外,還必須記錄校友在系統(tǒng)中的留言信息。除些之外,該系統(tǒng)還需要管理員對其進(jìn)行日常的維護(hù)工作。
數(shù)據(jù)需求具體如下:
校友用戶(用戶編號、學(xué)號、密碼、姓名、性別、電話、郵箱、所在地區(qū)、工作單位、年級、政治面貌)
班級(班級編號、班級名稱、所在院系)
管理員(管理員編號、密碼、用戶名)
3.3用戶和用戶需求
1、產(chǎn)品主要針對的用戶群體有:
(1)已畢業(yè)的校友
(2)在校學(xué)生
2、本產(chǎn)品可以滿足的用戶需求可分為以下幾種:
(1)按關(guān)鍵字查詢特定校友信息
(2)修改自己的信息
(3)瀏覽,發(fā)表校友留言
(4)登錄
3.3數(shù)據(jù)庫設(shè)計:見附件
四、系統(tǒng)分析
4.1系統(tǒng)的需求分析
4.1.1 業(yè)務(wù)分析
本系統(tǒng)主要包括三種業(yè)務(wù)流程:登陸業(yè)務(wù)流程、學(xué)生個人信息業(yè)務(wù)流程、班級業(yè)務(wù)流程。
4.1.2 登陸業(yè)務(wù)流程概述
輸入用戶名、密碼,登錄到系統(tǒng),對相關(guān)信息進(jìn)行增、刪、改、查以及導(dǎo)入和導(dǎo)出。進(jìn)行完操作之后,點擊安全退出,退出系統(tǒng)。
4.2 系統(tǒng)的概要設(shè)計
這一階段設(shè)計的基本目標(biāo)是解決如何實現(xiàn)系統(tǒng)的問題。它主要涉及系統(tǒng)架構(gòu)設(shè)計,并將給出系統(tǒng)的總體架構(gòu)設(shè)計。根據(jù)系統(tǒng)分析產(chǎn)生的分析結(jié)果,確定系統(tǒng)由哪些系統(tǒng)和模塊組成,這些系統(tǒng)和模塊是如何有機(jī)結(jié)合的,以及每個模塊的功能是如何實現(xiàn)的。系統(tǒng)設(shè)計的目標(biāo)是使系統(tǒng)具有所需的功能,同時努力實現(xiàn)高效率、高可靠性、可修改性以及易于掌握和使用。這一階段是在仔細(xì)研究軟件需求之后,劃分和設(shè)計要開發(fā)的軟件系統(tǒng),定義系統(tǒng)層次結(jié)構(gòu)和各層之間應(yīng)該負(fù)責(zé)的邏輯功能。模塊化的基礎(chǔ)是將復(fù)雜的問題分解成許多容易解決的小問題。原來的問題變得容易解決。模塊化設(shè)計是根據(jù)某些原則將大型軟件分成具有獨(dú)立和相關(guān)功能的較小模塊。每個模塊完成一個特定的子功能。將這些模塊組合成一個整體。完成指定的功能并滿足問題的要求。采用模塊化原理的優(yōu)點是軟件結(jié)構(gòu)清晰,易于測試和調(diào)試。從而提高軟件的可靠性和可修改性。它有助于軟件開發(fā)的組織和管理。大型軟件可以分別編寫不同的模塊。
4.3 系統(tǒng)體系結(jié)構(gòu)設(shè)計
該系統(tǒng)采用多層架構(gòu)。視圖類用作表示層。除了向客戶提供信息之外,它還獲得管理員或?qū)W生輸入的信息。用戶輸入的簡單控制。表單獲得用戶輸入信息后,提交給視圖,在這里首先轉(zhuǎn)換獲得的數(shù)據(jù),然后將相應(yīng)的數(shù)據(jù)封裝為數(shù)據(jù)傳輸對象。視圖將封裝的數(shù)據(jù)提交給模型,并使用提交給視圖的數(shù)據(jù)對象來執(zhí)行復(fù)雜的業(yè)務(wù)邏輯操作。對數(shù)據(jù)庫的訪問是在DAO級別。DAO層實現(xiàn)特定的數(shù)據(jù)庫操作方法,服務(wù)層調(diào)用DAO層方法來實現(xiàn)數(shù)據(jù)庫操作。通過應(yīng)用這種多層體系結(jié)構(gòu),提高了系統(tǒng)的可維護(hù)性、可擴(kuò)展性和可移植性。
4.4 功能模塊結(jié)構(gòu)設(shè)計
從功能模塊上可以分為如下幾大模塊:校友信息的導(dǎo)入、導(dǎo)出模塊、刪除校友信息模塊、修改校友信息模塊、查詢校友信息模塊、添加校友信息模塊。
班級信息模塊類似有刪除班級信息模塊、修改班級信息模塊、查詢班級信息模塊、添加班級信息模塊。
五、 數(shù)據(jù)庫設(shè)計
5.1 數(shù)據(jù)庫設(shè)計概述
計算機(jī)信息系統(tǒng)以數(shù)據(jù)庫為核心,在數(shù)據(jù)庫管理系統(tǒng)的支持下,進(jìn)行信息的收集、整理、存儲、檢索、更新、加工、統(tǒng)計和傳播等操作。
對于數(shù)據(jù)庫應(yīng)用開發(fā)者來說,為了使現(xiàn)實世界中的信息流計算機(jī)化,并對計算機(jī)化的信息進(jìn)行各種操作,就是如何利用數(shù)據(jù)庫管理系統(tǒng)、系統(tǒng)軟件和相關(guān)硬件系統(tǒng)將用戶的需求轉(zhuǎn)化為有效的數(shù)據(jù)結(jié)構(gòu),使數(shù)據(jù)庫結(jié)構(gòu)更容易實現(xiàn)用戶的新需求的過程。具體來說,數(shù)據(jù)庫設(shè)計是指為給定的應(yīng)用環(huán)境提供確定最佳數(shù)據(jù)模型和處理模式的邏輯設(shè)計,以及確定數(shù)據(jù)庫存儲結(jié)構(gòu)和訪問方法的物理設(shè)計,從而建立一個既能反映現(xiàn)實世界信息和信息連接,滿足用戶數(shù)據(jù)要求和處理要求,又能被某個數(shù)據(jù)庫管理系統(tǒng)接受,同時實現(xiàn)系統(tǒng)目標(biāo)和有效訪問數(shù)據(jù)的數(shù)據(jù)庫。
根據(jù)軟件工程的思想,數(shù)據(jù)庫設(shè)計的周期可以劃分為六個階段:
規(guī)劃階段:確定開發(fā)的總目標(biāo),給出計劃開發(fā)的軟件系統(tǒng)的功能、性能以及可靠性等方面的設(shè)想。
需求分析階段:仔細(xì)理解用戶對數(shù)據(jù)的處理需求,并確定系統(tǒng)的功能和邊界。這一階段的最終結(jié)果可以提供一個可用作設(shè)計基礎(chǔ)的系統(tǒng)規(guī)范,包括對軟件和硬件環(huán)境的要求以及一整套數(shù)據(jù)流程圖。
設(shè)計階段:詳細(xì)描述需求分析階段確定的功能。主要工作是概念設(shè)計階段、邏輯設(shè)計階段和物理設(shè)計階段。然后,執(zhí)行每個階段的詳細(xì)內(nèi)部設(shè)計流程。
程序編制階段:以一種或幾種特定的程序設(shè)計語言表達(dá)上一階段確定的各模塊控制流程。程序編制時應(yīng)遵循結(jié)構(gòu)化程序設(shè)計方法。
調(diào)試階段:對已編好的程序進(jìn)行單元調(diào)試(分調(diào)),整體調(diào)試(聯(lián)調(diào))和系統(tǒng)測試(驗收)。
運(yùn)行維護(hù)階段:是整個設(shè)計周期中最長的階段,其工作重點是收集和記錄系統(tǒng)的實際運(yùn)行數(shù)據(jù)。在操作中,必須維護(hù)數(shù)據(jù)庫的完整性,并且必須有效地處理數(shù)據(jù)故障和數(shù)據(jù)庫恢復(fù)。同時,解決開發(fā)過程中遺留的問題,糾正錯誤,提高功能。數(shù)據(jù)是系統(tǒng)的靈魂,整個系統(tǒng)的運(yùn)行基礎(chǔ)是系統(tǒng)數(shù)據(jù)庫,所以數(shù)據(jù)庫的設(shè)計質(zhì)量對整個系統(tǒng)的功能和效率有很大的影響,所以在設(shè)計數(shù)據(jù)文件和數(shù)據(jù)庫時,充分考慮了數(shù)據(jù)存儲的完整性、可靠性、安全性、數(shù)據(jù)一致性和易操作性。
完整信息系統(tǒng)的構(gòu)建不是一步完成的。在目前的軟件水平上,很難追求應(yīng)用系統(tǒng)之間的相互兼容性,但是對于數(shù)據(jù)兼容性,即數(shù)據(jù)共享,它既非常重要又相對容易實現(xiàn)。在改善數(shù)據(jù)共享方面,我們主要可以從數(shù)據(jù)一致性方面考慮。在我們數(shù)據(jù)庫系統(tǒng)的構(gòu)建中,為了保證數(shù)據(jù)的一致性,考慮了以下兩個標(biāo)準(zhǔn):
字段標(biāo)準(zhǔn):非統(tǒng)一的字段標(biāo)準(zhǔn)是數(shù)據(jù)庫難以共享的主要原因,因為字段的設(shè)計在數(shù)據(jù)庫設(shè)計的底層,或者可以說是最基本的一層。如果該層不能統(tǒng)一,將直接影響數(shù)據(jù)庫中數(shù)據(jù)的共享。
代碼標(biāo)準(zhǔn):代碼的引入提供了維護(hù)數(shù)據(jù)庫中數(shù)據(jù)一致性的重要手段。此外,該數(shù)據(jù)庫的設(shè)計主要遵循以下原則:數(shù)據(jù)庫文件的實用性、數(shù)據(jù)庫文件的安全性、數(shù)據(jù)庫文件的獨(dú)立性以及節(jié)省磁盤空間。
數(shù)據(jù)庫設(shè)計是通過合理的邏輯設(shè)計和有效的物理設(shè)計,在給定的應(yīng)用環(huán)境(DBMS)中構(gòu)建更好的數(shù)據(jù)庫模式和子模式,來構(gòu)建數(shù)據(jù)庫和設(shè)計應(yīng)用程序,以滿足用戶的各種信息需求。物理結(jié)構(gòu)設(shè)計的原則如下:
1.盡可能的減少數(shù)據(jù)冗余和重復(fù)。
2.結(jié)構(gòu)設(shè)計與操作設(shè)計相結(jié)合。
3.數(shù)據(jù)結(jié)構(gòu)具有相對的穩(wěn)定性。
基于以上設(shè)計原則,本系統(tǒng)設(shè)計了一個數(shù)據(jù)庫,包含地址信息表、公司信息表、聯(lián)系方式信息表、畢業(yè)年級信息表、基本信息信息表、政治面貌信息表、論壇表、用戶信息表、班級信息表以及專業(yè)信息表,為了加快系統(tǒng)訪問的速度把這些表放在一個數(shù)據(jù)庫中。
5.2 SQL查詢語言及使用
SQL語言是結(jié)構(gòu)查詢語言的縮寫。它是一種用于數(shù)據(jù)庫查詢和編程的語言。它已經(jīng)成為關(guān)系數(shù)據(jù)庫中常用的標(biāo)準(zhǔn)。使用這種標(biāo)準(zhǔn)的數(shù)據(jù)庫語言給程序設(shè)計和數(shù)據(jù)庫維護(hù)帶來了極大的方便,并廣泛應(yīng)用于各種數(shù)據(jù)查詢中。JSP和其他應(yīng)用程序,包括SQLserver2005、mySQL、Foxpro、Orcale等。都支持sql語言。
SQL語言的常見操作包括:建立一個數(shù)據(jù)庫數(shù)據(jù)表(CREATE TABLE),用于本系統(tǒng)中的學(xué)生備份;從數(shù)據(jù)庫中選擇一個記錄集(SELECT)是最常用的語句,它具有強(qiáng)大的功能,可以有效地訪問數(shù)據(jù)庫中一個或多個數(shù)據(jù)表中的數(shù)據(jù),并具有排序、分組等功能。向數(shù)據(jù)表中添加記錄(INSERT);更改合格記錄(update)。
程序中的數(shù)據(jù)庫操作對象都支持SQL語句。其一般用途是使用swing的各種控件來接收用戶訪問數(shù)據(jù)庫的請求,將其轉(zhuǎn)換成事件響應(yīng)程序代碼中的數(shù)據(jù)庫查詢語句,并以字符串的形式存在,然后將其傳遞給相應(yīng)的數(shù)據(jù)庫操作對象,最后完成對數(shù)據(jù)庫的訪問。
5.3 本系統(tǒng)數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計
在系統(tǒng)設(shè)計之初,我首先考慮了如何使用數(shù)據(jù)模型,通過使用數(shù)據(jù)庫的結(jié)構(gòu)和語義來抽象現(xiàn)實世界。模型的結(jié)構(gòu)部分指定了如何描述數(shù)據(jù)。目前廣泛使用的數(shù)據(jù)模型可以分為兩種類型,一種是獨(dú)立于計算機(jī)系統(tǒng)的概念數(shù)據(jù)模型,如實體連接模型;另一種是直接面向數(shù)據(jù)庫邏輯結(jié)構(gòu)的結(jié)構(gòu)化數(shù)據(jù)模型。在這個系統(tǒng)中,我第一次使用實體關(guān)系模型(ER model)來描述數(shù)據(jù)庫的結(jié)構(gòu)和語義,抽象現(xiàn)實世界。ER模型直接從現(xiàn)實世界中抽象出實體類型和關(guān)系,然后使用ER圖來表示數(shù)據(jù)模型。它有兩個明顯的優(yōu)點:貼近人們的思維,易于理解;它與計算機(jī)無關(guān),很容易被用戶接受。然而,er模型只能解釋實體之間的語義關(guān)系,不能進(jìn)一步解釋詳細(xì)的數(shù)據(jù)結(jié)構(gòu)。這只是數(shù)據(jù)庫設(shè)計的第一步。
E-R圖是直觀表示概念模型的工具,它有三個基本成分:
矩形框,表示實體類型(考慮問題的對象)。
菱形框,表示聯(lián)系類型(實體間的聯(lián)系)。
橢圓形框,表示實體的屬性。
根據(jù)對數(shù)據(jù)項與數(shù)據(jù)結(jié)構(gòu)的分析,設(shè)計出能夠滿足系統(tǒng)需求的各種實體,及它們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計打下基礎(chǔ)。本系統(tǒng)包括的實體有用戶實體,學(xué)生實體,班級實體。
5.4 本系統(tǒng)數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計
由以上的實體圖可以得到以下幾個關(guān)系模式:
學(xué)生基本信息(學(xué)號,姓名,性別,專業(yè),班級,工作地址,工作單位,手機(jī)號,郵箱,畢業(yè)年級,政治面貌,論壇)
班級基本信息(班級編號,班級名,所在院系)
用戶基本信息(用戶編號,登錄帳號,登錄密碼)
5.5 安全保密設(shè)計
登錄用戶的安全性
系統(tǒng)設(shè)計了登陸界面,每個合法用戶有一個密碼,該密碼由用戶自行維護(hù),從而實現(xiàn)對用戶的身份驗證。
數(shù)據(jù)安全性
客戶端層和數(shù)據(jù)庫層隔離,客戶端無法接觸本質(zhì)的數(shù)據(jù)庫,無法進(jìn)行非法的修改和破壞,使得數(shù)據(jù)庫得到有效安全的保護(hù)。
6、管理系統(tǒng)詳細(xì)設(shè)計
數(shù)據(jù)庫設(shè)計完成后,就開始進(jìn)入具體的應(yīng)用程序的分析與設(shè)計階段。應(yīng)用程序的分析與設(shè)計主要包括了應(yīng)用程序各個功能模塊的總體規(guī)劃和分析、應(yīng)用程序界面的選擇與設(shè)計以及應(yīng)用程序結(jié)構(gòu)的選擇等部分,而系統(tǒng)開發(fā)工作主要是集中在邏輯、功能和技術(shù)設(shè)計上,系統(tǒng)實施階段要繼承此前面各個階段的工作成果,將技術(shù)設(shè)計轉(zhuǎn)化為物理實現(xiàn),因此系統(tǒng)實施的成果是系統(tǒng)分析和設(shè)計階段的結(jié)晶。
6.1系統(tǒng)登陸模塊設(shè)計
首先新建用戶登錄所對應(yīng)的實體user類,一個user對象代表一個用戶,此外,用戶表中有的字段,都需要在這個類中反應(yīng)出來,并且創(chuàng)建空參和滿參構(gòu)造方法,以及set、get和toString方法。
第二步就是對登錄的邏輯處理,首先是登陸名以及密碼的非空校驗,兩者有一個為空就不繼續(xù)訪問數(shù)據(jù)庫,直接返回給用戶錯誤的信息,提醒用戶更正登錄信息。
當(dāng)用戶名或者密碼為空的時候點擊登錄就會出現(xiàn)提示信息。
6.2班級信息模塊設(shè)計
首先新建班級所對應(yīng)的實體studentClass類,一個studentClass對象代表一個班級,此外,班級表中有的字段,都需要在這個類中反應(yīng)出來,并且創(chuàng)建空參和滿參構(gòu)造方法,以及set、get和toString方法。
第二步就是對班級信息邏輯部分的實現(xiàn)了,包括增加刪除修改查詢,其中添加是單獨(dú)放在了一個界面,而查詢、修改以及刪除放在了同一個界面,這樣便于維護(hù)。
點擊添加則會調(diào)用添加部分的界面函數(shù),彈出信息添加的界面如圖所示,可以輸入班級的名稱,以及對班級的詳細(xì)描述進(jìn)行添加,在輸入錯誤的情況下也可以點擊重置,就會清空所有填寫的信息,這樣便于操作。
點擊維護(hù)則會調(diào)用維護(hù)部分的界面函數(shù),彈出信息維護(hù)的界面如圖所示,可以修改班級的名稱,以及對班級的詳細(xì)描述進(jìn)行修改。
6.3學(xué)生個人信息模塊設(shè)計
首先新建學(xué)生所對應(yīng)的實體student類,一個student對象代表一個用戶,此外,用戶表中有的字段,都需要在這個類中反應(yīng)出來,并且創(chuàng)建空參和滿參構(gòu)造方法,以及set、get和toString方法。
第二步就是對學(xué)生個人信息邏輯部分的實現(xiàn)了,包括增加刪除修改查詢,其中添加是單獨(dú)放在了一個界面,而查詢、修改以及刪除放在了同一個界面,這樣便于維護(hù),其中手工填寫學(xué)生的姓名、學(xué)號、專業(yè)、工作地址、工作單位、手機(jī)號、郵箱、政治面貌、畢業(yè)年級等,性別通過單選框選擇,班級通過下拉菜單進(jìn)行選擇。
在學(xué)生信息維護(hù)的界面可以對學(xué)生信息進(jìn)行檢索,可以通過學(xué)生的姓名、政治面貌、學(xué)生所在的班級進(jìn)行篩選,點擊選擇某位學(xué)生的信息,就可以對該學(xué)生的信息進(jìn)行操作了,可以修改其名字、性別、所在的學(xué)院、學(xué)生的學(xué)號、所屬的班級、手機(jī)號碼、郵箱、工作地址等信息。也可以點擊刪除、刪除該學(xué)生的信息。
學(xué)生的編號是信息維護(hù)邏輯操作的關(guān)鍵所在,首先需要通過學(xué)生的編號id查出該學(xué)生的各類信息反顯在前臺界面,然后根據(jù)前臺更新后的信息,先映射到學(xué)生的實體類然后通過數(shù)據(jù)庫dao層同步更新數(shù)據(jù)庫的信息,最后達(dá)到學(xué)生信息的維護(hù)。
7、總結(jié)
略
總結(jié)
- 上一篇: 2020年百度之星 程序设计大赛 初赛一
- 下一篇: 自己动手写操作系统(高清图书+源代码)分