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