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