學生信息管理系統(tǒng)畢業(yè)論文11
《學生信息管理系統(tǒng)畢業(yè)論文11》由會員分享,可在線閱讀,更多相關《學生信息管理系統(tǒng)畢業(yè)論文11(34頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、學生信息管理系統(tǒng) 目 錄 摘 要 I Abstract II 1 引 言 1 1.1 項目開發(fā)背景 1 1.2 項目開發(fā)的目標 1 1.3 項目提出的意義 1 2 相關技術 3 2.1 JSP 3 2.1.1 JSP簡介 3 2.1.2 JSP 的優(yōu)點 3 2.2 Java Servlet 4 2.2.1 Servlet 概述 4 2.2.2 Servlet API 4 2.2.3 Servlet的優(yōu)點 4 2.3 Java Bean 5 2.3.1 JavaBean簡介 5 2.3.2 JavaBean的Scope屬性 6 2.4 UML(統(tǒng)一建模
2、語言) 6 2.4.1 UML(統(tǒng)一建模語言)簡介 6 2.4.2 用例圖-----捕獲系統(tǒng)中用戶能夠看見的功能 8 2.4.3 類圖-----捕獲系統(tǒng)的詞匯表 9 2.5 C/S結(jié)構(gòu)和B/S結(jié)構(gòu) 9 2.5.1 B/S模式的優(yōu)勢 10 2.5.2 C/S模式的優(yōu)勢 10 2.5.3 C/S模式與B/S模式相結(jié)合方案 11 3系統(tǒng)分析設計 12 3.1系統(tǒng)需求分析 12 3.1.1系統(tǒng)調(diào)查 12 3.1.2 系統(tǒng)需求說明 12 3.1.3 用戶需求 12 3.2總體設計 13 3.3 UML建模 13 3.3.1 學生管理系統(tǒng)的用例分析 13 3.3.2 學生管
3、理系統(tǒng)的領域分析 14 3.3.3 學生管理系統(tǒng)的設計 15 3.4數(shù)據(jù)庫技術 20 3.4.1數(shù)據(jù)庫管理系統(tǒng)選擇 20 3.4.2 MySQL 概述 20 3.4.3 數(shù)據(jù)庫ER圖 22 3.4.4 構(gòu)建系統(tǒng)數(shù)據(jù)庫 22 3.5 系統(tǒng)配置 25 3.6 系統(tǒng)實現(xiàn) 26 3.6.1 用戶登錄界面 26 3.6.2 管理員登錄后的操作界面 26 3.6.3 添加學生的操作界面 27 4. 總論 29 4.1系統(tǒng)的優(yōu)點 29 4.2系統(tǒng)存在的不足 29 致謝 30 參考文獻 31 摘 要 近年來,我國高等教育迎來了蓬勃發(fā)展的新局面,采用傳統(tǒng)的學生信息管
4、理方法(如直接手工管理或者開放性程度不高的管理系統(tǒng))不可避免的浪費大量人力、物力、財力資源,不能滿足當前高等教育發(fā)展的需求,已經(jīng)成為我國高等教育擴大規(guī)模的“瓶頸”。建立高性能的學生信息管理系統(tǒng)能高極大的提高學生信息管理的效率。本文采用面向?qū)ο蠹夹g,使用UML進行系統(tǒng)分析和設計,較成功地解決了學生管理信息地分散采集、綜合利用、統(tǒng)一管理、資源共享等問題。主要介紹了學生信息管理系統(tǒng)地現(xiàn)狀和主要特征,系統(tǒng)所采用的UML、Servlet、JavaBean、JSP與MySQL等技術和工具,C/S模式和B/S模式以及使用UML進行得系統(tǒng)的開發(fā)設計和功能模塊的具體實現(xiàn)。 關鍵詞:學生信息管理;JSP;M
5、ySQL數(shù)據(jù)庫;統(tǒng)一建模語言 Abstract Recently, the education of the higher schools has had a complexion with the schools’ enrolling large amount of freshmen. So adopting conventional students’ basic information procedure(as direct management by handiwork, admini
6、strative system not high of open degree) would waste a large amount of manpower, material and financial resources, and progressively can’t be met with the demand of the higher education’s development at present. All this has become the “bottleneck” in the course of enlarging China higher education’s
7、 scale. Establishment of high-efficient students’ information system has been an indispensable part in higher schools’ management. It will help to increase efficiency in management. The paper mainly analyzes the target’s technology and explains the design of the students’ information management sys
8、tem using UML(Unified Modeling Language). So that it can solve such problems as scattering and gathering data, comprehensive utilization, unified management, resource-sharing, etc. The paper mainly deals with the prevailing situation and characteristics of the students’ information management syste
9、m, the technology and tools including UML、Servlet、JavaBean、JSP and MySQL, Model C/S and B/S and the process of the design of the system using UML as well as the implementation of each functional modulation Key words: SIMS(student information management system);JSP;MySQL DataBase;UML
10、 1 引言 1.1 項目開發(fā)背景 在現(xiàn)代社會中,教育界是IT廠商的重要客戶之一,隨著計算機的發(fā)展,各大中院校紛紛建設了自己的管理信息系統(tǒng),其中,學生管理信息系統(tǒng)是一個重要組成部分。應該說,學生管理信息系統(tǒng)是一個比較古老的應用,在數(shù)據(jù)庫應用剛出現(xiàn)時,就在DOS系統(tǒng)下出現(xiàn)了各種版本的學生管理信息系統(tǒng)。從dBase到Oracle,從單機版到網(wǎng)絡版到目前的三層結(jié)構(gòu),學生管理信息系統(tǒng)也在不斷地隨計算機技術的發(fā)展擴充其功能。伴隨著教育部的面向21世紀教育振興行動計劃(教育部1998年12月24日制定,國務院1999年1月13日批轉(zhuǎn))的實施,全國各個高校均大力推進高校內(nèi)部管理體系改革。以計算機網(wǎng)絡
11、技術為核心的信息高速公路的興起,更是突破了傳統(tǒng)教育文化觀念和教育活動的時空界限,使學校的教育手段和決策效率都發(fā)生了深刻的變化。隨著校園網(wǎng)的投資興建,信息現(xiàn)代化成為高校一個新的發(fā)展與競爭的熱點,也成為影響學校教學、科研實力、學校管理水平的重要因素,如何實現(xiàn)基于校園網(wǎng)絡的現(xiàn)代學生信息管理,這是目前學生管理的又一新課題。但目前許多高校學生管理工作依然為傳統(tǒng)的學生管理模式,采用手工作業(yè)式管理,其文字工作量大,效率不高,資源綜合利用差,各種報表完成周期長,且容易產(chǎn)生操作上的失誤,常常使管理人員陷于繁雜的事務管理之中而達不到很好的管理效果。 實現(xiàn)學生管理信息化便于在各院系、一個學校、一個地區(qū)甚至全國同類
12、院校中達到資源共享,取長補短,使學生管理更加科學化;同時,還有助于規(guī)范高等學校的管理,促進學校開展學生管理評估工作,提高辦學質(zhì)量,加強信息交流與處理,推動管理改革。所以實施學生信息化管理是目前高校學生管理工作發(fā)展的必然。 1.2 項目開發(fā)的目標 舊的管理手段已不能適應時代的發(fā)展,因為它浪費了了許多的人力和物力。在當今信息時代這種傳統(tǒng)的管理方法必然被計算機為基礎的信息管理系統(tǒng)所代替。利用計算機對學生信息進行管理,具有人工管理無法比擬的優(yōu)點,如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等,這些優(yōu)點能夠極大的提高學生信息管理的效率,也是科學化、正規(guī)化的體現(xiàn)。因此,開發(fā)適應
13、新形勢需要的學生信息管理系統(tǒng)是很必要的。 建立學生信息管理系統(tǒng),采用計算機對學生信息進行管理,進一步提高辦學效益和現(xiàn)代化水平。幫助廣大教師提高工作效率,實現(xiàn)學生信息管理工作流程的系統(tǒng)化、規(guī)范化和自動化。 1.3 項目提出的意義 二十世紀科技發(fā)展的卓越成就之一就是發(fā)明了電子計算機。它是一種自動、高速、精確地處理信息的現(xiàn)代化電子設備。由于它具有速度快、精度高、存儲容量大、自動化程度高的特點,目前已廣泛深入地適用社會生活的各個領域,對人類科學和生活發(fā)揮著不可估量的作用,從某種程度上講,計算機理論水平及其應用的深度、廣度已成為衡量一個國家現(xiàn)代化水平的重要標志之一。 隨著高等教育改革的逐年加
14、快,學生數(shù)量的穩(wěn)定增加,舊的學生信息管理體制(如主要基于文字記錄管理或者開放性程度不高的系統(tǒng))已經(jīng)不能適應當今社會發(fā)展的需要;以計算機技術為基礎的新型學生信息管理系統(tǒng)已經(jīng)成為我國高等教育擴大規(guī)模和培養(yǎng)高等人才跨世紀工程的關鍵環(huán)節(jié),也是高等教育得以順利發(fā)展的基礎條件。建設相關的學生信息管理系統(tǒng),將會促進高等教育的發(fā)展,進行基于網(wǎng)絡環(huán)境的學生信息管理系統(tǒng)的研發(fā)可以為我國高等教育擴大規(guī)模發(fā)展的跨世紀工程提供強有力的技術支持,具有一定的應用價值。如何有效管理學生信息、方便管理人員實時獲取學生信息資料、保障系統(tǒng)安全已經(jīng)成為當前開發(fā)學生信息管理系統(tǒng)面臨的首要問題。 高層次人才培養(yǎng)的水平不應該只表現(xiàn)在數(shù)量
15、上,更加應該是質(zhì)量上的高標準。這必然會對管理上提出了更加的要求。為了提高高校學生教育的管理水平和效率,學校各部門積極引進和開發(fā)先進的計算機管理手段,促進了信息的收集、管理和交換,但是各個部門之間的軟件模塊存在體系不一致、系統(tǒng)兼容性差、不方便擴展、安全性能差、開放程度低等缺點。隨著互聯(lián)網(wǎng)技術的迅猛發(fā)展,校園內(nèi)部網(wǎng)建立,為信息管理現(xiàn)代化和信息交流提供了良好的運行環(huán)境。迫切要求信息共享,對信息標準化的要求也更加的迫切,開發(fā)高效實時的學生信息管理系統(tǒng)。 2 相關技術 2.1 JSP
16、 2.1.1 JSP簡介 JSP(Java Server Pages)是由Sun Microsystems公司倡導、許多公司參與建立的一種動態(tài)網(wǎng)頁技術標準,該技術為創(chuàng)建顯示動態(tài)內(nèi)容的Web頁面提供了一個簡捷而快速的方法。JSP技術的設計目的是使得構(gòu)建基于Web的應用程序更加容易和快捷,而這些應用程序能夠與各種Web服務器、應用服務器、瀏覽器和開發(fā)工具共同工作。 JSP規(guī)范就是Web服務器、應用服務器、交易系統(tǒng)、以及開發(fā)工具供應商間廣泛合作的結(jié)果。在傳統(tǒng)的網(wǎng)頁HTML文件(*htm,*.html)中加入Java程序片段(Scriptlet)和JSP標記(t
17、ag),就構(gòu)成了JSP網(wǎng)頁(*.jsp)。Web服務器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序片段,然后將執(zhí)行結(jié)果以HTML格式返回給客戶。程序片段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁以及發(fā)送 email 等等,這正是建立動態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務器端執(zhí)行,網(wǎng)絡上傳送給客戶端的僅是運行的結(jié)果,對客戶瀏覽器的要求最低,可以實現(xiàn)無Plugin,無ActiveX,無Java Applet,甚至無Frame。 2.1.2 JSP 的優(yōu)點[4] 2.1.2.1 將內(nèi)容的生成和顯示進行分離 使用JSP技術,Web頁面開發(fā)人員可以使用HTML或者XML
18、標識來設計和格式化最終頁面。使用JSP標識或者小腳本來生成頁面上的動態(tài)內(nèi)容(內(nèi)容是根據(jù)請求來變化的,例如請求帳戶信息或者特定的一瓶酒的價格)。生成內(nèi)容的邏輯被封裝在標識和JavaBeans組件中,并且捆綁在小腳本中,所有的腳本在服務器端運行。如果核心邏輯被封裝在標識和JavaBeans中,那么其他人,如Web管理人員和頁面設計者,能夠編輯和使用JSP頁面,而不影響內(nèi)容的生成。在服務器端,JSP引擎解釋JSP標識和小腳本,生成所請求的內(nèi)容(例如,通過訪問JavaBeans組件,使用JDBCTM技術訪問數(shù)據(jù)庫,或者包含文件),并且將結(jié)果以HTML(或者XML)頁面的形式發(fā)送回瀏覽器。這有助于作者保
19、護自己的代碼,而又保證任何基于HTML的Web瀏覽器的完全可用性。 2.1.2.2 強調(diào)可重用的組件 絕大多數(shù)JSP頁面依賴于可重用的,跨平臺的組件(JavaBeans或者Enterprise JavaBeansTM組件)來執(zhí)行應用程序所要求的更為復雜的處理。開發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使得這些組件能夠為更多的使用者或者客戶團體所使用?;诮M件的方法加速了總體開發(fā)過程,并且使得各種組織在他們現(xiàn)有的技能和優(yōu)化結(jié)果的開發(fā)努力中得到平衡 2.1.2.3 采用標識簡化頁面開發(fā) Web頁面開發(fā)人員不會都是熟悉腳本語言的編程人員。Java Server
20、;Pages技術封裝了許多功能,這些功能是在易用的、與JSP相關的XML標識中進行動態(tài)內(nèi)容生成所需要的。標準的JSP標識能夠訪問和實例化JavaBeans組件,設置或者檢索組件屬性,下載Applet,以及執(zhí)行用其他方法更難于編碼和耗時的功能。 通過開發(fā)定制化的標識庫,JSP技術是可以擴展的。今后,第三方開發(fā)人員和其他人員可以為常用功能創(chuàng)建自己的標識庫。這使得Web頁面開發(fā)人員能夠使用熟悉的工具和如同標識一樣的執(zhí)行特定功能的構(gòu)件來工作。 JSP技術很容易整合到多種應用體系結(jié)構(gòu)中,以利用現(xiàn)存的工具和技巧,并且擴展到能夠支持企業(yè)級的分布式應用。作為采用Java技術的家族的一部分,以及Ja
21、va 2(企業(yè)版體系結(jié)構(gòu))的一個組成部分,JSP技術能夠支持高度復雜的基于Web的應用。 由于JSP頁面的內(nèi)置腳本語言是基于Java編程語言的,而且所有的JSP頁面都被編譯成為Java Servlet,JSP頁面就具有Java技術的所有好處,包括健壯的存儲管理和安全性。作為Java平臺的一部分,JSP擁有Java編程語言“一次編寫,各處運行”的特點。隨著越來越多的供應商將JSP支持添加到他們的產(chǎn)品中,您可以使用自己所選擇的服務器和工具,更改工具或服務器并不影響當前的應用。當與Java 2平臺,企業(yè)版(J2EE)和Enterprise JavaBea
22、n技術整合時,JSP頁面將提供企業(yè)級的擴展性和性能,這對于在虛擬企業(yè)中部署基于Web的應用是必需的。 2.2 Java Servlet 2.2.1 Servlet 概述 一個Servlet就是Java編程語言中的一個類,它被用來擴展服務器的性能,它是在服務器上駐留的可以通過“請求-響應”編程模型來訪問的應用程序。Servlet是最主要的Java Web應用組件之一,是與平臺無關的服務器端組件;運行在Servlet容器中。Servlet容器負責處理客戶請求、把請求傳送給Servlet并把結(jié)果返回給客戶。不同程序的容器實際實現(xiàn) 可能有所變化,但容器與Servlet之間的接口是由Servl
23、etAPI定義好的,這個接口定義了Servlet容器在Servlet上要調(diào)用的方法及傳遞給Servlet的對象類。 Servlet的生命周期: ★Servlet容器創(chuàng)建Servlet的一個實例 ★容器調(diào)用該實例的init()方法 ★如果容器對該Servlet有請求,則調(diào)用此實例的service()方法 ★ 容器在銷毀本實例前調(diào)用它的destroy()方法 ★ 銷毀并標記該實例以供作為垃圾收集 一旦請求了一個Servlet,就沒有辦法阻止容器執(zhí)行一個完整的生命周期。容
24、器在Servlet首次被調(diào)用時創(chuàng)建它的一個實例,并保持該實例在內(nèi)存中,讓它對所有的請求進行處理。容器可以決定在任何時候把這個實例從內(nèi)存中移走。在典型的模型中,容器為每個Servlet創(chuàng)建一個單獨的實例,容器并不會每接到一個請求就創(chuàng)建一個新線程,而是使用一個線程池來動態(tài)的將線程分配給到來的請求,但是這從Servlet的觀點來看,效果和為每個請求創(chuàng)建一個新線程的效果相同。 2.2.2 Servlet API Servlet框架由兩個包組成:javax.servlet和javax.servlet.http;其核心是javax.servlet.Servlet接口,該接口5個方法,其中有三個方法代表
25、了Servlet的生命周期: init() 負責初始化Servlet對象 service() 負責響應來自客戶的請求 destroy() 當Servlet對象退出生命周期時,負責釋放占用的資源 HTTP的請求方式包括DELETE、GET、OPTIONS、POST、PUT、TRACE,在HttpServlet類中分別提供了相應的方法: doDelete()、doGet()、doOptions()、doPost()、doPut()、doTrace() 2.2.3 Servlet的優(yōu)點[5] Servlet是Java技術對CGI編程的回答。Servlet程序在服務器端運行,動態(tài)地
26、生成Web頁面。與傳統(tǒng)的CGI和許多其他類似CGI的技術相比,Java Servlet具有更高的效率,更容易使用,功能更強大,具有更好的可移植性,更節(jié)省投資。 2.2.3.1高效 在傳統(tǒng)的CGI中,每個請求都要啟動一個新的進程,如果CGI程序本身的執(zhí)行時間較短,啟動進程所需要的開銷很可能反而超過實際執(zhí)行時間。而在Servlet中,每個請求由一個輕量級的Java線程處理(而不是重量級的操作系統(tǒng)進程)。在傳統(tǒng)CGI中,如果有N個并發(fā)的對同一CGI程序的請求,則該CGI程序的代碼在內(nèi)存中重復裝載了N次;而對于Servlet,處理請求的是N個線程,只需要一份Servlet類代碼。在性能優(yōu)化方面,S
27、ervlet也比CGI有著更多的選擇,比如緩沖以前的計算結(jié)果,保持數(shù)據(jù)庫連接的活動,等等。 2.2.3.2 方便 Servlet提供了大量的實用工具例程,例如自動地解析和解碼HTML表單數(shù)據(jù)、讀取和設置HTTP頭、處理Cookie、跟蹤會話狀態(tài)等。 2.2.3.3功能強大 在Servlet中,許多使用傳統(tǒng)CGI程序很難完成的任務都可以輕松地完成。例如,Servlet能夠直接和Web服務器交互,而普通的CGI程序不能。Servlet還能夠在各個程序之間共享數(shù)據(jù),使得數(shù)據(jù)庫連接池之類的功能很容易實現(xiàn)。 2.2.3.4可移植性好 Servlet用Java編寫,Servlet API具有完
28、善的標準。因此,為I-Planet Enterprise Server寫的Servlet無需任何實質(zhì)上的改動即可移植到Apache、Microsoft IIS或者WebStar,有的主流服務器都直接或通過插件支持Servlet。 2.2.3.5節(jié)省投資 不僅有許多廉價甚至免費的Web服務器可供個人或小規(guī)模網(wǎng)站使用,而且對于現(xiàn)有的服務器,如果它不支持Servlet的話,要加上這部分功能也往往是免費的(或只需要極少的投資)。 2.3 Java Bean 2.3.1 JavaBean簡介[4] JavaBean是Sun公司為進入因特網(wǎng)、企業(yè)網(wǎng)以及萬維網(wǎng)上進行分布式計算的組件結(jié)構(gòu)的
29、入口。按照Sun公司的定義,JavaBean是一個可重復使用的軟件部分,該部件可以用來生成其進行可視化處理的組件。JavaBean是描述Java的軟件組件模型,有點類似于Microsoft的COM組件概念。JavaBean組件是Java類,這些類遵循一個接口格式,以便于使方法命名、底層行為以及集成或?qū)崿F(xiàn)的行為能夠把類看做標準的JavaBean組件來進行構(gòu)造。在Java模型中,通過JavaBean可以無限擴充Java程序的功能,通過JavaBean的組合可以快速的生成新的應用程序。對于程序員來說,最好的一點就是JavaBean可以實現(xiàn)代碼的重復利用,另外對于程序的易維護性等等也有很重大的意義。
30、 JavaBean被稱為是Java組件技術的核心。JavaBean的結(jié)構(gòu)必須滿足一定的命名約定。JavaBean類似于Windows下的ActiveX控件:它們都能夠提供常用功能并且可以重復使用。JavaBean可以在JSP程序中應用,這使得開發(fā)人員可以把某些關鍵功能和核心算法提取出來,封裝成為一個組件對象,增加了代碼的重用率和系統(tǒng)的安全性。如將訪問數(shù)據(jù)庫的功能、數(shù)據(jù)處理功能編寫封裝為JavaBean組件,然后在某個JSP程序中加以調(diào)用。JavaBean技術與ActiveX相比,有著很大的優(yōu)越性,例如JavaBean與平臺無關性,使得JavaBean從一個平臺移植到另外的平臺上,代碼可以不需要
31、修改,甚至不需要重新編譯。但是ActiveX就不同,它只能夠應用于Windows平臺,而且它的代碼移植性很差,從Windows98平臺移植到NT平臺就需要重新編譯代碼,甚至要大幅度改寫程序。另一方面JavaBean比ActiveX要容易編寫很多,用起來也方便得多。JavaBean組件在使用以前不需要注冊,而ActiveX組件在使用以前必須在操作系統(tǒng)中注冊,否則在運行的時候,系統(tǒng)會報錯。 2.3.2 JavaBean的Scope屬性 對于JSP程序而言,使用JavaBean組件不僅可以封裝許多信息,而且可以將一些數(shù)據(jù)處理的邏輯隱藏到JavaBean的內(nèi)部,除此之外,還可以設定Java
32、Bean的Scope屬性,使得JavaBean組件對于不同的任務具有不同的生命周期和不同的使用范圍。 2.3.2.1 Application Scope 如果JavaBean的Scope屬性被指定為Application,即這個JavaBean組件具有Application Scope。如果一個JavaBean組件具有Application Scope,那么它的生命周期JSP的Application對象同步,作用范圍也和Application對象一樣。使用這種類型的JavaBean組件,可以在多個用戶之間共享全局信息。具體來說,它的生命周期是這樣:如果某個JSP程序使用<js
33、p:useBean>操作指令創(chuàng)建了一個JavaBean對象,而且這個JavaBean組件具有Application Scope,那么這個JavaBean就一直在服務器的內(nèi)存空間中待命,隨時處理客戶端的請求,直到服務器關閉為止,它的保存信息才消失,它所占用的系統(tǒng)資源才會被釋放。 2.3.2.2 Session Scope 如果一個JavaBean組件的屬性值為Session,那么這個JavaBean組件的生命周期、作用范圍就和JSP的Session對象的生命周期、作用范圍一樣。即這一類型的JavaBean組件的生命周期就是某個會話過程所經(jīng)歷的時間。會話過程是對于單個用戶而言的,會話過程
34、的開始以用戶開始訪問某個網(wǎng)站為標志,會話過程的結(jié)束以用戶結(jié)束對該網(wǎng)站的訪問為標志。不同用戶對應著不同會話過程,不同的會話過程之間互不干涉,互不影響。 2.3.2.3 Request Scope 如果JavaBean的Scope屬性值被設為request,那么這種類型的JavaBean組件對象的生命周期、作用范圍和JSP的Request對象一樣。當一個JSP程序使用<jsp:forward>操作指令定向到另一個JSP程序或者是使用<jsp:include>操作指令導入另外的JSP程序,那么第一個JSP程序會把Request對象傳送到下一個JSP程序,而屬于Reques
35、t Scope的JavaBean組建對象也將伴隨著Request對象送出,被第二個JSP程序接受。因此,所有通過這兩個操作指令連接在一起的JSP程序都可以共享一個Request對象,共享這種類型的JavaBean組件對象。 這種類型的JavaBean組件對象使得JSP程序之間傳遞信息更為容易,不過美中不足的是這種JavaBean不能夠用于客戶端與服務器之間傳遞信息,因為客戶端是沒有辦法執(zhí)行JSP程序,創(chuàng)建新的JavaBean組件對象。 2.3.2.4 Page Scope 如果一個JavaBean的Scope屬性被設為page,那么它的生命周期和作用范圍在這四種類型的JavaBean組件
36、中是最小的。Page Scope類型的JavaBean組件的生命周期為JSP程序的運行周期,當JSP程序運行結(jié)束,那么該JavaBean組件的生命周期也就結(jié)束。Page Scope類型的JavaBean組件程序的作用范圍只限于當前的JSP程序中,它無法在別的JSP程序中起作用,對應于不同的客戶端請求,服務器都會創(chuàng)建新的JavaBean組件對象,而且一旦客戶端的請求執(zhí)行完畢,那么該JavaBean對象會馬上注銷,無法為別的客戶端請求所使用。 2.4 UML(統(tǒng)一建模語言) 2.4.1 UML(統(tǒng)一建模語言)簡介 UML(統(tǒng)一建模語言)是為軟件系統(tǒng)的制品進行詳述(specifying)、
37、可視化(visualizing)、構(gòu)造化(constructing)、文檔化(documenting)的一種語言。UML目前是軟件行業(yè)標準的建模語言。可以采用UML對需求、分析、設計、實現(xiàn)、部署等工作進行標準的形式化描述,達到交流共同的作用。同時基于UML的模型驅(qū)動開發(fā)支持以架構(gòu)為核心、、快速分析設計、迭代增量的開發(fā)方法。 UML語言由圖元、關系、擴展機制和對象約束語言(OCL)組合。 2.4.1.1圖元 圖2-1 圖元圖 2.4.1.2關系[1] 2.4.1.2.1依賴關系 依賴關系是一種使用關系,特定事物的改變有可能會影響到使用該事物的事物,反之不成立。在我們想顯示一個事
38、物使用另一個事物時使用依賴關系。通常情況下,依賴關系體現(xiàn)在某個類的方法使用另一個類作為參數(shù)。 2.4.1.2.2關聯(lián)關系 關聯(lián)表示兩個類之間存在某種語義上的聯(lián)系。例如,一個人為一家公司工作,一家公司有許多辦公室。我們就認為人和公司、公司和辦公室之間存在某種語義上的聯(lián)系。在分析設計的類圖模型中 , 則在對應人類和公司類、公司類和辦公室類之間建立關聯(lián)關系。 關聯(lián)有兩元關系和多元關系。兩元關系是指一種一對一的關系,多元關系是一對多或多對一的關系。一般用實線連接有關聯(lián)的同一個類或不同的兩個類。當我們想要表示結(jié)構(gòu)化關系時使用關聯(lián)。 關聯(lián)可以有方向,表示該關聯(lián)單方向被使用。關聯(lián)上加上箭頭表示方
39、向,在 UML 中稱為導航。我們將只在一個方向上存在導航表示的關聯(lián),稱作單向關聯(lián),在兩個方向上都有導航表示的關聯(lián),稱作雙向關聯(lián)。 既然關聯(lián)可以是雙向的,最復雜的命名方法是每個方向上給出一個名字,這樣的關聯(lián)有兩個名字,可以用小黑三角表示名字的方向。為關聯(lián)命名有幾種方法,其原則是該命名是否有助于理解該模型。 關聯(lián)兩頭的類以某種角色參與關聯(lián)。例如:" 公司 " 以 " 雇主 " 的角色," 人 " 以 " 雇員 " 的角色參與的 " 工作合同 " 關聯(lián)。 " 雇主 " 和
40、" 雇員 " 稱為角色名。如果在關聯(lián)上沒有標出角色名,則隱含地用類的名稱作為角色名。 角色還具有多重性 (Multiplicity), 表示可以有多少個對象參與該關聯(lián)。多重性表示參與對象的數(shù)目的上下界限制。 "*" 代表 0 ~∞,可以用一個單個數(shù)字表示,也可以用范圍或者是數(shù)字和范圍不連續(xù)的組合表示。 2.4.1.2.3聚集關系 聚集是一種特殊形式的關聯(lián)。聚集表示類之間的關系是整體與部分的關系。一輛轎車包含四個車輪、一個方向盤、一個發(fā)動機和一個底盤,這是聚集的一個例子。在需求分析中," 包含 "、" 組成 &q
41、uot;、"分為……部分" 等經(jīng)常設計成聚集關系。 聚集可以進一步劃分成共享聚集和組成。例如: 課題組包含許多成員,但是每個成員又可以是另一個課題組的成員,即部分可以參加多個整體,我們稱之為共享聚集。另一種情況是整體擁有各部分,部分與整體共存,如整體不存在了,部分也會隨之消失,這稱為組成。例如:我們打開一個可視窗口 , 它就由標題、外框和顯示區(qū)所組成。一旦消亡則各部分同時消失。在 UML 中,聚集表示為空心菱形 , 組成表示為實心菱形。 2.4.1.2.4泛化關系 泛化關系是繼承關系,是“ is-a-kind-of ”的關系。人們將具有共同特性的元素抽象成類別,并
42、通過增加其內(nèi)涵而進一步分類。例如:動物可分為飛鳥和走獸,人可分為男人和女人。在面向?qū)ο蠓椒ㄖ幸话銓⑶罢叻Q為父元素,將后者稱為子元素。繼承定義了父元素和子元素之間的分類關系。例如將客戶進一步分類成個體客戶和團體客戶,使用的就是繼承關系。 在 UML 定義中對繼承有三個要求: 子元素應與父元素完全一致,父元素所具有的關聯(lián)、屬性和操作,子元素也都隱含性地具有; 子元素還應包含額外信息; 允許使用父元素實例的地方,也應能使用子元素 。 2.4.1.2.5實現(xiàn)關系 實現(xiàn)關系中的一方(甲方)作為要求被提出,另一方(乙方)具體履行要求中聲明的任務。類圖中出現(xiàn)得實現(xiàn)關系大多表述子系統(tǒng)或
43、類實現(xiàn)接口。例如,雇傭“家庭保姆”或?qū)⒑⒆铀偷健坝變簣@“都可以完成接口“照顧學齡前兒童”中規(guī)定得任務。 實現(xiàn)關系得表述方式為虛線加上一個空心箭頭,如果甲方是接口,對應于接口的兩種表述形式,實現(xiàn)關系也有兩種表現(xiàn)形式:簡略的形式和詳細的形式。 2.4.1.3擴展機制 UML本身提供擴展機制,可以擴展UML的語義來建立針對特定對象的描述機制,UML的構(gòu)造型包括: 構(gòu)造型 約束 特征值 注釋 圖2-2 擴展機制圖 2.4.2 用例圖-----捕獲系統(tǒng)中用戶能夠看見的功能 1) 角色 : 任何一個與系統(tǒng)發(fā)生相互作用的事物都可以表現(xiàn)為一個角色。角色可以是人也可以是物。
44、 2) 一個用例定義了一組系統(tǒng)要做的有序的動作序列,并且這個動作序列要產(chǎn)生一個可觀測的結(jié)果,返回給某一個特定的角色。 單個執(zhí)行者可與多個用例聯(lián)系;反過來,一個用例可與多個執(zhí)行者聯(lián)系。對同一個用例而言,不同執(zhí)行者有著不同的作用;他們可以從用例中取值,也可以參與到用例中。 2.4.3 類圖-----捕獲系統(tǒng)的詞匯表 1) 類 是具有相同屬性、操作、關系的對象集合的總稱。通常在 UML 中類被畫成矩形。 2) 類圖: 描述類和類之間的靜態(tài)關系,在系統(tǒng)的整個生命周期都是有效的。與數(shù)據(jù)模型不同,它不僅顯示了信息的結(jié)構(gòu),同時還描述了系統(tǒng)的行為。類圖是定義其它圖的基礎。在類圖的基礎上,狀態(tài)圖、
45、協(xié)作圖等進一步描述了系統(tǒng)其他方面的特性。 3) 名稱 :每個類都必須有一個名字,用來區(qū)分其它的類。類名是一個字符串,稱為簡單名字。 4) 屬性 :是指類的命名的特性,常常代表一個類的取值。類可以有任意多個屬性,也可以沒有屬性??梢灾粚懮蠈傩悦?,也可以在屬性名后跟上類型甚至缺省取值。根據(jù)圖的詳細程度,每條屬性可以包括屬性的可見性、屬性名稱、類型、缺省值和約束特性。UML規(guī)定類的屬性的語法為:" 可見性 屬性名: 類型 =缺省值 { 約束特性 }" 。 常用的可見性有 Public、Private和Protected 三種,在 UML 中分別表示為 "+
46、"、 "-" 和 "#" 。 類型表示該屬性的種類。它可以是基本數(shù)據(jù)類型,例如整數(shù)、實數(shù)、布爾型等,也可以是用戶自定義的類型。一般它由所涉及的程序設計語言確定。 約束特性則是用戶對該屬性性質(zhì)一個約束的說明。例如 "{ 只讀 }" 說明該屬性是只讀屬性。 5) 操作 :是類的任意一個實例對象都可以調(diào)用的,并可能影響該對象行為的實現(xiàn)。該項可省略。操作用于修改、檢索類的屬性或執(zhí)行某些動作。它們被約束在類的內(nèi)部,只能作用到該類的對象上。 UML 規(guī)定操作的語法為:可見性 操作名 ( 參數(shù)表 ) :返回類型 {
47、約束特性 } 。 6) 約束 :在 UML 中,可以用約束表示規(guī)則。約束是放在括號 "{ }" 中的一個表達式,表示一個永真的邏輯陳述。 7) 組織屬性和方法 :在畫類圖的時候沒有必要將全部的屬性和操作都畫出來。實際上,在大部分情況下我們也不可能在一個圖中將類的屬性和操作都畫出來。在畫類圖時可以只將感興趣的屬性和操作畫出來就可以了。可以用” ... ”表示還有屬性或方法沒有畫出來。 2.5 C/S結(jié)構(gòu)和B/S結(jié)構(gòu) C/S模式主要由客戶應用程序(Client)、服務器管理程序(Server)和中間件(middleware)三個部件組成。客戶應用程序是系統(tǒng)中用戶與
48、數(shù)據(jù)進行交互的部件。服務器程序負責有效地管理系統(tǒng)資源,如管理一個信息數(shù)據(jù)庫,其主要工作是當多個客戶并發(fā)地請求服務器上的相同資源時,對這些資源進行最優(yōu)化管理。中間件負責聯(lián)結(jié)客戶應用程序與服務器管理程序,協(xié)同完成一個作業(yè),以滿足用戶查詢管理數(shù)據(jù)的要求。 B/S模式是一種以Web技術為基礎的新型的MIS系統(tǒng)平臺模式。把傳統(tǒng)C/S模式中的服務器部分分解為一個數(shù)據(jù)服務器與一個或多個應用服務器(Web服務器),從而構(gòu)成一個三層結(jié)構(gòu)的客戶服務器體系。 第一層客戶機是用戶與整個系統(tǒng)的接口??蛻舻膽贸绦蚓喌揭粋€通用的瀏覽器軟件,如Netscape Navigator,微軟公司的IE等。瀏覽器將H
49、TML代碼轉(zhuǎn)化成圖文并茂的網(wǎng)頁。網(wǎng)頁還具備一定的交互功能,允許用戶在網(wǎng)頁提供的申請表上輸入信息提交給后臺,并提出處理請求。這個后臺就是第二層的Web服務器。 第二層Web服務器將啟動相應的進程來響應這一請求,并動態(tài)生成一串HTML代碼,其中嵌入處理的結(jié)果,返回給客戶機的瀏覽器。如果客戶機提交的請求包括數(shù)據(jù)的存取,Web服務器還需與數(shù)據(jù)庫服務器協(xié)同完成這一處理工作。 第三層數(shù)據(jù)庫服務器的任務類似于C/S模式,負責協(xié)調(diào)不同的Web服務器發(fā)出的SQL請求,管理數(shù)據(jù)庫。 2.5.1 B/S模式的優(yōu)勢 2.5.1.1它簡化了客戶端 它無需像C/S模式那樣在不同的客戶機上安裝不同的客戶應
50、用程序,而只需安裝通用的瀏覽器軟件。這樣不但可以節(jié)省客戶機的硬盤空間與內(nèi)存,而且使安裝過程更加簡便、網(wǎng)絡結(jié)構(gòu)更加靈活。假設一個企業(yè)的決策層要開一個討論庫存問題的會議,他們只需從會議室的計算機上直接通過瀏覽器查詢數(shù)據(jù),然后顯示給大家看就可以了。甚至與會者還可以把筆記本電腦聯(lián)上會議室的網(wǎng)絡插口,自己來查詢相關的數(shù)據(jù)。其次,它簡化了系統(tǒng)的開發(fā)和維護。系統(tǒng)的開發(fā)者無須再為不同級別的用戶設計開發(fā)不同的客戶應用程序了,只需把所有的功能都實現(xiàn)在Web服務器上,并就不同的功能為各個組別的用戶設置權限就可以了。各個用戶通過HTTP請求在權限范圍內(nèi)調(diào)用Web服務器上不同處理程序,從而完成對數(shù)據(jù)的查詢或修改。現(xiàn)代企
51、業(yè)面臨著日新月異的競爭環(huán)境,對企業(yè)內(nèi)部運作機制的更新與調(diào)整也變得逐漸頻繁。相對于C/S,B/S的維護具有更大的靈活性。當形勢變化時,它無須再為每一個現(xiàn)有的客戶應用程序升級,而只需對Web服務器上的服務處理程序進行修訂。這樣不但可以提高公司的運作效率,還省去了維護時協(xié)調(diào)工作的不少麻煩。如果一個公司有上千臺客戶機,并且分布在不同的地點,那么便于維護將會顯得更加重要。 2.5.1.2 它使用戶的操作變得更簡單 對于C/S模式,客戶應用程序有自己特定的規(guī)格,使用者需要接受專門培訓。而采用B/S模式時,客戶端只是一個簡單易用的瀏覽器軟件。無論是決策層還是操作層的人員都無需培訓,就可以直接使用。B/S
52、模式的這種特性,還使MIS系統(tǒng)維護的限制因素更少。 2.5.1.3 B/S特別適用于網(wǎng)上信息發(fā)布,使得傳統(tǒng)的MIS的功能有所擴展 這是C/S所無法實現(xiàn)的。而這種新增的網(wǎng)上信息發(fā)布功能恰是現(xiàn)代企業(yè)所必需的。這使得企業(yè)的大部分書面文件可以被電子文件取代,從而提高了企業(yè)的工作效率,使企業(yè)行政手續(xù)簡化,節(jié)省人力物力。 鑒于B/S相對于C/S的先進性,B/S逐漸成為一種流行的MIS系統(tǒng)平臺。各軟件公司紛紛推出自己的Internet方案,基于Web的財務系統(tǒng)、基于Web的ERP。一些企業(yè)已經(jīng)領先一步開始使用它,并且收到了一定的成效。 B/S模式的新穎與流行,和在某些方面相對于C/S的巨大改進,使B
53、/S成了MIS系統(tǒng)平臺的首選,也使人忽略了B/S不成熟的一面,以及C/S所固有的一些優(yōu)點。下面讓我們來看C/S相對于B/S的一些優(yōu)勢。 2.5.2 C/S模式的優(yōu)勢 2.5.2.1交互性強是C/S固有的一個優(yōu)點 在C/S中,客戶端有一套完整的應用程序,在出錯提示、在線幫助等方面都有強大的功能,并且可以在子程序間自由切換。B/S雖然由JavaScript、VBScript提供了一定的交互能力,但與C/S的一整套客戶應用相比是太有限了。 2.5.2.2 C/S模式提供了更安全的存取模式 由于C/S是配對的點對點的結(jié)構(gòu)模式,采用適用于局域網(wǎng)、安全性比較好的網(wǎng)絡協(xié)議(例如:NT的NetBEU
54、I協(xié)議),安全性可以得到較好的保證。而B/S采用點對多點、多點對多點這種開放的結(jié)構(gòu)模式,并采用TCP/IP這一類運用于Internet的開放性協(xié)議,其安全性只能靠數(shù)據(jù)服務器上管理密碼的數(shù)據(jù)庫來保證?,F(xiàn)代企業(yè)需要有開放的信息環(huán)境,需要加強與外界的聯(lián)系,有的還需要通過Internet發(fā)展網(wǎng)上營銷業(yè)務,這使得大多數(shù)企業(yè)將他們的內(nèi)部網(wǎng)與Internet相連。由于采用TCP/IP,他們必須采用一系列的安全措施,如構(gòu)筑防火墻,來防止Internet的用戶對企業(yè)內(nèi)部信息的竊取以及外界病毒的侵入。 2.5.2.3采用C/S模式將降低網(wǎng)絡通信量 B/S采用了邏輯上的三層結(jié)構(gòu),而在物理上的網(wǎng)絡結(jié)構(gòu)仍然是原來的
55、以太網(wǎng)或環(huán)形網(wǎng)。這樣,第一層與第二層結(jié)構(gòu)之間的通信、第二層與第三層結(jié)構(gòu)之間的通信都需占用同一條網(wǎng)絡線路。而C/S只有兩層結(jié)構(gòu),網(wǎng)絡通信量只包括Client與Server之間的通信量。所以,C/S處理大量信息的能力是B/S所無法比擬的。 2.5.2.4 由于C/S在邏輯結(jié)構(gòu)上比B/S少一層,對于相同的任務,C/S完成的速度總比B/S快。使得C/S更利于處理大量數(shù)據(jù)。 B/S模式的先進性和C/S模式的成熟性使人在現(xiàn)代企業(yè)MIS系統(tǒng)平臺的選擇上難定取舍。究竟應該選擇哪種模式呢,有沒有兩種平臺相結(jié)合的模式呢? 2.5.3 C/S模式與B/S模式相結(jié)合方案 系統(tǒng)分析員可以根據(jù)系統(tǒng)的特點,靈活
56、地為不同的子功能采用不同的MIS系統(tǒng)平臺,將兩種模式交叉并行使用。 首先,開發(fā)者根據(jù)一定的原則,將系統(tǒng)的所有子功能分類,決定哪些子功能適合采用C/S,哪些適合采用B/S。適合采用C/S的子功能應具備以下特點:1)安全性要求高;2)要求具有較強的交互性;3)使用范圍小,地點固定;4)要求處理大量數(shù)據(jù)。例如,倉庫管理系統(tǒng)中的入庫單、領料單的輸入功能,財務系統(tǒng)中的憑證輸入功能等等。而適合采用B/S的子功能應具備以下特點:1)使用范圍廣,地點靈活;2)功能變動頻繁;3)安全性、交互性要求不同。例如:企業(yè)內(nèi)部信息發(fā)布功能,意見箱輸入功能,公司財務分析表的查詢功能,總裁決策支持系統(tǒng)中的查詢功能等等。
57、相對于單獨采用C/S或B/S,這種方案的優(yōu)點在于:1)保證敏感數(shù)據(jù)的安全性,特別是對數(shù)據(jù)庫的修改和新增記錄加強了控制;2)經(jīng)濟有效地利用企業(yè)內(nèi)部計算機的資源,簡化了一部分可以簡化的客戶端;3)既保證了復雜功能的交互性,又保證了一般功能的易用與統(tǒng)一;4)系統(tǒng)維護簡便,布局合理;5)網(wǎng)絡效率最高。 如果系統(tǒng)開發(fā)者在系統(tǒng)設計階段決定采用這種C/S與B/S相結(jié)合的模式,那么在系統(tǒng)開發(fā)生命周期的如下各個階段相對這種新模式都應有所響應。 在系統(tǒng)設計階段主要考慮的是MIS系統(tǒng)平臺選擇問題。在詳細設計階段,系統(tǒng)開發(fā)者需要根據(jù)企業(yè)自身的業(yè)務特點,以及一定的選擇原則,來決定各個子功能采用哪一種模式并在系統(tǒng)說明
58、書上分別注明。在編碼設計階段,系統(tǒng)開發(fā)者需要針對采用不同模式的子功能,選用不同的編碼方式(例如:C/S可以采用Java編程環(huán)境,而B/S采用JSP方法),然后編譯生成不同的客戶應用及Web服務程序。在安裝調(diào)試階段,其特點主要體現(xiàn)在系統(tǒng)的物理結(jié)構(gòu)上,即特定的客戶應用程序?qū)⒈话惭b在特定的使用者的客戶端上,Web服務程序需要被安裝在Web服務器上,而每個客戶端上都將被安裝上瀏覽器,同時,客戶應用的使用者必須接受一定的培訓。在軟件維護階段,針對不同模式的子功能應采取不同維護方式。 3 系統(tǒng)分析設計 3.1 系統(tǒng)需求分析 3.1.1 系統(tǒng)調(diào)查 21世紀以來,人
59、類經(jīng)濟高速發(fā)展,人們發(fā)生了日新月異的變化,特別是計算機的應用及普及到經(jīng)濟和社會生活的各個領域;使得原本的舊的管理方法越來越不適應現(xiàn)在社會的發(fā)展。但許多人還停留在以前的手工操作,這大大地阻礙了人類經(jīng)濟的發(fā)展。為了適應現(xiàn)代社會人們高度強烈的時間觀念,基于網(wǎng)絡環(huán)境的學生管理系統(tǒng)的開發(fā)勢在必行。本系統(tǒng)采用Servlet+JSP+JavaBean+MySQL 設計方式,其中Servlet擔當主要邏輯控制,通過接受JSP傳來的用戶請求,調(diào)用以及初始化JavaBean,在通過JSP傳到客戶端,本系統(tǒng)中SQLBean擔當主要的與數(shù)據(jù)庫的連接與通信,JavaBean在本系統(tǒng)中主要擔當配合JSP以及Servlet
60、來完成用戶的請求,而JSP主要擔當接受與響應客戶端。 3.1.2 系統(tǒng)需求說明 (1) 要求系統(tǒng)可以準確地記錄和查詢學生信息,包括學生的學號(唯一)、姓名、所屬班級、院系、年齡、性別等。 (2)要求系統(tǒng)可以準確地記錄和查詢教師信息,包括教師的代號(唯一)、姓名、職稱、所屬院系等。 (3)要求系統(tǒng)可以準確地記錄和查詢課程信息,包括課程的課程號、課程名、學分、所屬院系等。 (4)要求系統(tǒng)可以準確地記錄和查詢管理員信息,包括管理員的帳號、姓名、所屬院系等。 (5) 要求系統(tǒng)可以準確地記錄學生的每一次獎懲情況以及學籍變動情況。 (6) 系統(tǒng)可以對學校的院系、班級情況進行管理。 (7)
61、系統(tǒng)應該可以對基礎數(shù)據(jù)進行維護,主要包括數(shù)據(jù)庫信息的添加、修改和刪除。 (8) 系統(tǒng)應該有一個較好的容錯性、圖形用戶界面和跨平臺性。 (9) 系統(tǒng)應該有很好的可擴展性。 3.1.3 用戶需求 學生:對各科成績的查詢,修改登錄密碼。 教師:輸入所教授科目的學生成績,修改登錄密碼。 管理員:輸入并維護學生、教師、課程等的基本信息。查看、修改、添加學生的獎勵、處罰、學籍變動等信息以及學生各科的成績。根據(jù)權限分為全局管理員和院系管理員,全局管理員處理上述操作外,還可以制定、修改獎勵、處罰的標準以及學籍變動的形式,對院系管理員的基本信息進行維護,添加、刪除、調(diào)整教學安排等,在整個系統(tǒng)中擁有
62、最高權限。 3.2 總體設計框架[13] 圖3-1 總體設計圖 3.3 UML建模 3.3.1 學生管理系統(tǒng)的用例分析 學生管理信息系統(tǒng)的全部用例包括記錄學生情況、修改學生信息的學生基本信息模塊,記錄教師情況、修改教師信息的教師基本信息模塊,記錄管理員情況、修改管理員信息的管理員基本信息模塊,記錄學生獎懲情況、修改學生獎懲情況的學生獎懲模塊,記錄學生學籍變動情況、修改學生學籍變動情況的學籍變動模塊,記錄課程情況、修改課程情況的課程管理模塊,記錄教學安排、修改教學安排的教學管理模塊,記錄學生成績、修改學生成績、查詢學生成績的成績管理模塊以及設置班級情況的班級模塊,設置獎懲學籍
63、變動標準的模塊和設置院系情況的院系模塊。這里,使用Eclipse的MyEclipse插件中的UML建模。系統(tǒng)用例圖如下(圖3-2): 圖3-2 系統(tǒng)用例圖 3.3.2 學生管理系統(tǒng)的領域分析 UML建模的第二步就是領域分析。實際開發(fā)學生管理信息系統(tǒng)時,領域分析是建立在用例分析基礎上的,要了解系統(tǒng)要處理的概念。學生管理信息系統(tǒng)中的域主要包括:學生信息、學院信息、班級信息、獎懲學籍變動信息、教師信息、課程信息和數(shù)據(jù)字典??梢栽陬悎D中將上面這些域以及它們之間的關系表示出來。圖3-3 不僅給出了各個域間的關系還描述了各個域的名稱、各項屬性和操作。 圖3-3 系統(tǒng)類圖 3.3.3
64、學生管理系統(tǒng)的設計 在設計階段,首先要設計類的狀態(tài)圖。不是所有的類都有狀態(tài)圖。有些類可以用UML狀態(tài)圖來顯示類的對象的不同狀態(tài)以及改變狀態(tài)的事件。在本系統(tǒng)中有狀態(tài)圖的類只有學生信息。 圖3-4 學生狀態(tài)圖 設計階段的最后是設計UML模型,也就是將前面設計的模型進行擴展和細化。為了描述域類的動態(tài)行為,可以使用UML的時序圖、協(xié)作圖或者活動圖。這里,選用時序圖;時序圖的基礎是用例。在時序圖中,要說明域類是如何協(xié)作以操作系統(tǒng)中的用例。當然,在建立時序圖時,將會發(fā)現(xiàn)新的操作,并將其加入類中,將在后面看到所建立的時序圖模型。此外,操作僅僅是草案,同樣也要用說明詳細描述。分析的目的是對要建
65、立的系統(tǒng)有更好的了解,而不是要設計一個完整詳細的學生管理信息系統(tǒng)的設計方案。 用戶(學生)登錄的時序如圖3-5: 圖3-5 用戶(學生)登錄時序圖 教師和管理員的登錄時序圖和學生的基本相同,根據(jù)畫出的學生用例圖同樣可以了解管理員和教師的情況,因此在這里就不再重復。 學生登錄后操作的時序如圖3-6 圖3-6 學生操作時序圖 教師登錄后操作的時序如圖3-7: 圖3-7 教師操作時序 由于管理員在系統(tǒng)中擁有最高的操作權限,因此完整的管理員的操作時序圖過于龐大,在這里特意選取了教師、學生、院系和班級這幾個有典型代表性的例子因為它們之間又有復雜的聯(lián)系
66、,其他的情形可以據(jù)此完成。簡化后的代表管理員操作的時序如圖3-8: 圖3-8 管理員操作時序圖 3.4 數(shù)據(jù)庫技術 3.4.1 數(shù)據(jù)庫管理系統(tǒng)選擇 選擇一個好的數(shù)據(jù)庫管理系統(tǒng)對應用系統(tǒng)來說是非常重要的。其實,選擇一個數(shù)據(jù)庫管理系統(tǒng)最根本的是要根據(jù)系統(tǒng)的要求和實際的情況來定。當今數(shù)據(jù)庫管理系統(tǒng)主要有以下種類: Microsoft 的 SQL Server ; MySQL AB 的 MySQL 5.0 Oracle 的 Oracle 9i ,Oracle 10g Sybase 的 ASE(Adaptive Server Enterprise); IBM 的 DB2 數(shù)據(jù)庫
67、管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心,是為數(shù)據(jù)庫的建立(組織、描述)、管理和維護而配置的軟件,它是建立在操作系統(tǒng)的基礎上,是位于操作系統(tǒng)與用戶之間的一層數(shù)據(jù)管理軟件,負責對數(shù)據(jù)庫進行統(tǒng)一的管理和控制。為了適應數(shù)據(jù)共享的環(huán)境,DBMS能夠提供數(shù)據(jù)的安全性、完整性、并發(fā)控制和數(shù)據(jù)備份與恢復等數(shù)據(jù)保護能力,以保證數(shù)據(jù)庫中數(shù)據(jù)安全可靠和正確有效。數(shù)據(jù)庫是存放數(shù)據(jù)的地方,按一定結(jié)構(gòu)組織在一起的相關數(shù)據(jù)的集合,是數(shù)據(jù)庫管理系統(tǒng)的最重要的組成部分之一,可以通過一定的機制實現(xiàn)多個應用程序?qū)?shù)據(jù)的共享。 學生信息管理系統(tǒng)數(shù)據(jù)庫設計時,考慮了下面一些因素: 1)數(shù)據(jù)的組織、管理和維護 2)數(shù)據(jù)共享和數(shù)據(jù)完整性 3)數(shù)據(jù)庫規(guī)范化規(guī)則,通過系統(tǒng)的數(shù)據(jù)模型-關系模型實現(xiàn) 4)數(shù)據(jù)庫的安全性 5)數(shù)據(jù)庫的易維護性 6)數(shù)據(jù)庫的并發(fā)控制 3.4.2 MySQL 概述 MySQL 是一個真正的多用戶、多線程SQL數(shù)據(jù)庫服務器。SQL(結(jié)構(gòu)化查詢語言)是世界上最流行的和標準化的數(shù)據(jù)庫語言。 MySQL 是以一個客戶機/服務器結(jié)構(gòu)的實現(xiàn),它由一個服務器守護程序 mysqld 和很多不同的客戶程序和庫組成。
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。