版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 1.緒論</b></p><p> 1.1企業(yè)內(nèi)部管理系統(tǒng)簡介</p><p> 信息管理系統(tǒng)是一個(gè)由人和計(jì)算機(jī)等組成的,能進(jìn)行管理信息收集、傳遞、加工、保存、維護(hù)和使用的系統(tǒng)。系統(tǒng)的觀點(diǎn)、數(shù)學(xué)的方法、計(jì)算機(jī)的應(yīng)用。是管理現(xiàn)代化的標(biāo)志。</p><p> 在國外七十年代,瓦爾特·肯尼萬(Walter
2、 T.Kennevan)給管理信息系統(tǒng)下了一個(gè)定義:“以書面或口頭的形式,在合適的時(shí)間向經(jīng)理、職員以及外界人員提供過去的、現(xiàn)在的、預(yù)測未來的有關(guān)企業(yè)內(nèi)部及其環(huán)境的信息,以幫助他們進(jìn)行決策。”很明顯,這個(gè)定義是出自管理,而不是出自計(jì)算機(jī)的。它沒有強(qiáng)調(diào)一定要用計(jì)算機(jī),它強(qiáng)調(diào)了用信息支持決策,但沒有強(qiáng)調(diào)應(yīng)用模型,是早期的定義。 </p><p> 八十年代,1985年管理信息系統(tǒng)的創(chuàng)始人,明尼蘇達(dá)大學(xué)卡爾森管理學(xué)院的
3、著名教授高登·戴維斯(Gondon B.DAvis)才給出管理信息系統(tǒng)一個(gè)較完整的定義:“它是一個(gè)利用計(jì)算機(jī)硬件和軟件,手工作業(yè),分析、計(jì)劃、控制和決策模型,以及數(shù)據(jù)庫的用戶----機(jī)器系統(tǒng)。它能提供信息,支持企業(yè)或組織的運(yùn)行、管理和決策功能?!边@個(gè)定義說明了管理信息系統(tǒng)的目標(biāo)、功能和組成,而且反映了管理信息系統(tǒng)當(dāng)時(shí)已達(dá)到的水平。它說明了管理信息系統(tǒng)的目標(biāo)是在高、中、低三個(gè)層次,即決策層,管理層和運(yùn)行層上支持管理活動。 <
4、;/p><p> 在國內(nèi)七十年代末八十年代初,《中國企業(yè)管理百科全書》上管理信息系統(tǒng)定義為:“一個(gè)由人、計(jì)算機(jī)等組成的能進(jìn)行信息的收集、傳遞、儲存、加工、維護(hù)和使用的系統(tǒng)。管理信息系統(tǒng)能實(shí)測企業(yè)的各種運(yùn)行情況,利用過去的數(shù)據(jù)預(yù)測未來;從企業(yè)全局出發(fā)輔助企業(yè)進(jìn)行決策;利用信息控制企業(yè)的行為;幫助企業(yè)實(shí)現(xiàn)其規(guī)劃目標(biāo)。”朱镕基主編的《管理現(xiàn)代化》一書上定義說:“管理信息系統(tǒng)是一個(gè)由人、機(jī)械(計(jì)算機(jī)等)組成的系統(tǒng),它從全局
5、出發(fā)輔助企業(yè)進(jìn)行決策,它利用過去的數(shù)據(jù)預(yù)測未來,它實(shí)測企業(yè)的各種功能情況,它利用信息控制企業(yè)行為,以期達(dá)到企業(yè)的長遠(yuǎn)目標(biāo)?!边@個(gè)定義指出了當(dāng)時(shí)中國一些人認(rèn)為管理信息系統(tǒng)就是計(jì)算機(jī)應(yīng)用的誤區(qū),再次強(qiáng)調(diào)了管理信息系統(tǒng)的功能和性質(zhì),再次強(qiáng)調(diào)了計(jì)算機(jī)只是管理信息系統(tǒng)的一種工具。對于一個(gè)企業(yè)來說沒有計(jì)算機(jī)也有管理信息系統(tǒng),管理信息系統(tǒng)是任何企業(yè)不能沒有的系統(tǒng)。所以,對于企業(yè)來說管理信息系統(tǒng)只有優(yōu)劣之分,不存在有無的問題。</p>&
6、lt;p> 九十年代以后,支持管理信息系統(tǒng)的一些環(huán)境和技術(shù)有了很大的變化,因而對管理信息系統(tǒng)的定義的描述也有一些變化。近年來一個(gè)比較普遍的趨勢是用信息系統(tǒng)(information system,IS)代替管理信息系統(tǒng)。應(yīng)當(dāng)說,信息系統(tǒng)比管理信息系統(tǒng)有更寬的概念范圍,用于管理方面的信息系統(tǒng)就是管理信息系統(tǒng)。</p><p> 當(dāng)代的世界有了巨大的變化,管理信息系統(tǒng)的環(huán)境、目標(biāo)、功能、內(nèi)涵等均有很大的變化。
7、環(huán)境:世界已變成市場全球化,需求多元化,競爭激烈化,戰(zhàn)略短現(xiàn)化。一切事物變化加快,企業(yè)不得不更加重視變化管理和戰(zhàn)略管理。</p><p> 管理信息系統(tǒng)正在形成為一門學(xué)科,它引用其他學(xué)科的概念,把它們綜合集成為一門系統(tǒng)性的學(xué)科。它面向管理,利用系統(tǒng)的觀點(diǎn),數(shù)學(xué)的方法和計(jì)算機(jī)應(yīng)用三大要素,形成自己獨(dú)特的內(nèi)涵,從而形成系統(tǒng)型、交叉型、邊緣型的學(xué)科。 </p><p> 1.2系統(tǒng)開發(fā)環(huán)境簡
8、介</p><p> 本課題是在Struts框架下開發(fā)的,采用MVC模式的部門內(nèi)部管理網(wǎng)絡(luò)系統(tǒng)。課題以Java為主要開發(fā)語言,配合少量的JavaScript,使用Tomcat作為開發(fā)工具。采用JSP技術(shù)生成前臺界面,少量使用CSS樣式表。后臺數(shù)據(jù)庫采用SQL Server關(guān)系數(shù)據(jù)庫。</p><p> 1.3課題所做的主要工作</p><p> 隨著部門自身的
9、日益壯大,業(yè)務(wù)的增多以及市場競爭的日益激烈,要想在競爭中處于不敗地位,必須采用先進(jìn)的管理模式和科學(xué)技術(shù),提高部門的綜合生產(chǎn)能力,快速響應(yīng)市場變化,滿足客戶要求。本課題通過對先進(jìn)管理模式和部門內(nèi)具體需求的深入分析,提出了基于MVC模式,采用Java為主要開發(fā)語言的網(wǎng)站系統(tǒng)。論文從系統(tǒng)的基本分析開始,通過概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、代碼實(shí)現(xiàn)以及系統(tǒng)測試四個(gè)階段完成整個(gè)系統(tǒng)的開發(fā)。</p><p> 2.企業(yè)管理信息系統(tǒng)&l
10、t;/p><p><b> 2.1背景</b></p><p> 2.1.1企業(yè)面臨的競爭環(huán)境</p><p> 隨著經(jīng)濟(jì)全球化進(jìn)程的加快,企業(yè)之間的競爭己經(jīng)超越了國界,己經(jīng)從“國別經(jīng)濟(jì)時(shí)代”急劇過渡到“全球經(jīng)濟(jì)時(shí)代”[1]。今天,企業(yè)面臨的競爭環(huán)境空前復(fù)雜,企業(yè)不僅面臨著國內(nèi)同行的競爭,而且面對國際同行之間的競爭。展望世界經(jīng)濟(jì)的發(fā)展變化,如
11、下動向值得高度重視[2]:一是世界范圍內(nèi)正在進(jìn)行經(jīng)濟(jì)結(jié)構(gòu)調(diào)整;二是科技發(fā)展突飛猛進(jìn);三是跨國公司的影響力日益增大。21世紀(jì)的企業(yè)面臨的競爭環(huán)境呈現(xiàn)出以下幾個(gè)新特點(diǎn)[3]:</p><p><b> (1)信息爆炸</b></p><p> 大量信息的飛速膨脹和通訊技術(shù)的發(fā)展,特別是互聯(lián)網(wǎng)的發(fā)展改變了企業(yè)對信息獲取的方式和態(tài)度,企業(yè)主要考慮的不是能否獲得信息,而是如
12、何準(zhǔn)確而迅速地過濾和有效利用各種信息。</p><p> (2)產(chǎn)品研制開發(fā)的難度越來越大</p><p> 越來越多的企業(yè)認(rèn)識到新產(chǎn)品開發(fā)對企業(yè)效益的重要性,因此許多企業(yè)都致力于此,但是資金利用率和投入產(chǎn)出比卻往往不盡人意。原因之一是,產(chǎn)品研制開發(fā)的難度越來越大,新產(chǎn)品在研制中經(jīng)常需要各種先進(jìn)的設(shè)計(jì)技術(shù)、制造技術(shù)、質(zhì)量保證技術(shù)等,不僅涉及的學(xué)科多,而且大都是多學(xué)科交叉的產(chǎn)物,新產(chǎn)品開
13、發(fā)難度之大由此可見一斑。</p><p> (3)產(chǎn)品生命周期越來越短</p><p> 隨著消費(fèi)者需求的多樣化發(fā)展,企業(yè)的產(chǎn)品開發(fā)能力也在不斷提高。目前,新產(chǎn)品的研制周期大大縮短,與此相應(yīng)的是產(chǎn)品的生命周期縮短,更新?lián)Q代速度加快。企業(yè)設(shè)備的建設(shè)、更新和維護(hù)開銷和復(fù)雜度越來越高。</p><p> (4)客戶的要求越來越高</p><p&g
14、t; 隨著時(shí)代的發(fā)展,大眾知識水平的提高和激烈競爭帶來的結(jié)果是用戶的要求和期望越來越高,消費(fèi)者的價(jià)值觀發(fā)生了顯著變化,需求結(jié)構(gòu)普遍向高層次發(fā)展。制造商將發(fā)現(xiàn),最好的產(chǎn)品不是他們?yōu)橛脩粼O(shè)計(jì)的,而是他們和用戶一起設(shè)計(jì)的。用戶已不滿足于從市場上買到標(biāo)準(zhǔn)化生產(chǎn)的產(chǎn)品,他們希望得到按照自己要求定制的產(chǎn)品,這些變化導(dǎo)致產(chǎn)品生產(chǎn)方式革命性的變化。現(xiàn)在的企業(yè)必須具備根據(jù)每一個(gè)顧客的個(gè)性化要求進(jìn)行產(chǎn)品定制或服務(wù)的能力。</p><p
15、> 另外 ,每個(gè)企業(yè)都感到了來自用戶對交貨期要求的壓力。用戶不但要求廠家要按期交貨,而且要求的交貨期越來越短。對于廠家來說,市場機(jī)會幾乎是稍縱即逝,留給企業(yè)思考和決策的時(shí)間極為有限。如果一個(gè)企業(yè)對用戶要求的反應(yīng)稍慢一點(diǎn),很快就會被競爭對手搶占先機(jī)。因此,縮短產(chǎn)品的設(shè)計(jì)、開發(fā)、生產(chǎn)周期,在盡可能短的時(shí)間內(nèi)滿足用戶要求,已成為當(dāng)今企業(yè)管理者最為關(guān)注的問題之一。</p><p> (5)“知識”創(chuàng)新成為競爭的
16、焦點(diǎn)</p><p> 竟?fàn)幍奶卣骷航?jīng)從競爭自然資源向競爭“知識創(chuàng)新”轉(zhuǎn)變?!爸R創(chuàng)新”不僅要求產(chǎn)品具有較高的知識和技術(shù)含量,具有高附加值,而且要求對產(chǎn)品制造過程中涉及的技術(shù)、管理方法、組織、機(jī)制和生產(chǎn)模式進(jìn)行創(chuàng)新。企業(yè)的生存環(huán)境,包括外部環(huán)境和內(nèi)部環(huán)境,具有動態(tài)性、隨機(jī)性和易變性特征,一方面市場始終在動態(tài)變化,要求企業(yè)能夠及時(shí)捕捉市場機(jī)遇;一方面新知識和新技術(shù)的不斷涌現(xiàn),導(dǎo)致企業(yè)競爭環(huán)境的不確定性,忽略某項(xiàng)技
17、術(shù)的微小進(jìn)步將可能導(dǎo)致企業(yè)在競爭中處于不利地位。為了適應(yīng)市場和技術(shù)的動態(tài)變化,企業(yè)內(nèi)部始終處于動態(tài)變化之中。</p><p> (6)既競爭又合作的趨勢愈加明顯。</p><p> 企業(yè)在建立全球化市場的同時(shí)也在全球范圍內(nèi)造就了更多的競爭者。盡管發(fā)達(dá)國家認(rèn)為發(fā)展中國家需要訂單和產(chǎn)品,許多發(fā)展中國家卻堅(jiān)持他們更需要最新技術(shù),希望也能成為國際市場上的供應(yīng)商。商品市場國際化的同時(shí)也創(chuàng)造了一個(gè)
18、國際化的勞動力市場。為了適應(yīng)市場和客戶的需求,適應(yīng)企業(yè)所面臨的動態(tài)外部環(huán)境,企業(yè)認(rèn)識到單個(gè)企業(yè)的能力有限,必須加強(qiáng)企業(yè)之間以及其他有關(guān)企業(yè)和個(gè)體的合作,共享知識、技術(shù)、資源和利益,形成一種既競爭又合作的格局。</p><p> (7)信息技術(shù)(InformationTechnologyIT)大量應(yīng)用</p><p> 信息技術(shù) ,特別是Internet技術(shù)的高速發(fā)展和應(yīng)用,縮短了人們在
19、時(shí)間和空間上的距離。對于客戶來說,Internet為他們提供了更多的選擇產(chǎn)品和服務(wù)的機(jī)會和可能性。對于企業(yè)來說,以Internet為代表的IT技術(shù)促進(jìn)了企業(yè)改造、生產(chǎn)組織方式改變、企業(yè)管理水平和客戶滿意度的提高。今天,企業(yè)越來越依賴于IT技術(shù),并將其作為競爭的基本手段之一。</p><p> 綜上所述,企業(yè)要在激烈的市場競爭中保持優(yōu)勢,必須以客戶為中心,利用IT技術(shù)加快產(chǎn)品的開發(fā)、制造和分銷速度,縮短新產(chǎn)品上市
20、和交貨時(shí)間(T,Time),重視產(chǎn)品全程質(zhì)量(Q,Quality)管理,降低成本(C,Cost),為客戶提供全方位的服務(wù)(S,Services),建立戰(zhàn)略合作關(guān)系(F,Fellowship),同時(shí)充分重視“知識創(chuàng)新”(I,Innovations)和環(huán)境保護(hù)(E,Environment)以保證企業(yè)可持續(xù)發(fā)展。T,Q,C,S,F,I,E己成為二十一世紀(jì)企業(yè)生存和發(fā)展的七要素[4]。</p><p> 2.1.2企業(yè)
21、提高競爭力的應(yīng)對措施</p><p> 面臨如此嚴(yán)峻的挑戰(zhàn),企業(yè)究竟該采用怎樣的應(yīng)對措施,才能夠在激烈的市場競爭中脫穎而出,立于不敗之地呢?這是一個(gè)永恒的課題。因此一直以來,無數(shù)的企業(yè)和研究者對此展開了細(xì)致和深入的研究,也產(chǎn)生了大量的研究成果。研究者從管理的、技術(shù)的和組織的角度采取許多措施,提出了許多提高企業(yè)競爭能力的有效方法[5][6][7]。典型的包括計(jì)算機(jī)集成制造CIM、產(chǎn)品設(shè)計(jì)CAD/CAM, MRPI
22、I/ERP,敏捷制造等等。</p><p> 但是從歷史上看,計(jì)算機(jī)技術(shù)在經(jīng)濟(jì)管理領(lǐng)域中,特別是在高層經(jīng)營管理中應(yīng)用的成效,卻大大遜色于其他應(yīng)用領(lǐng)域[8]。過多考慮技術(shù)方案,忽略技術(shù)與組織、技術(shù)與人之間的相互依賴關(guān)系是其中的重要原因之一。因此,關(guān)于信息化的研究不能僅僅著眼于信息技術(shù)本身,而應(yīng)把它看作是一項(xiàng)系統(tǒng)工程。</p><p> 企業(yè)在實(shí)現(xiàn)現(xiàn)代化信息管理的過程中,其生產(chǎn)技術(shù)和組織管
23、理也隨之發(fā)生了深刻的變化[9]。</p><p> (1)生產(chǎn)技術(shù)由剛性自動化發(fā)展到柔性自動化、智能化;</p><p> (2)生產(chǎn)組織由多級遞階的塔形結(jié)構(gòu)向扁平化、分散化、網(wǎng)絡(luò)化、小型化轉(zhuǎn)變;</p><p> (3)企業(yè)各部門對自己的業(yè)務(wù)全面負(fù)責(zé),實(shí)行從頭到尾的全過程管理,機(jī)構(gòu)和業(yè)務(wù)不重復(fù);</p><p> (4)強(qiáng)調(diào)人是企業(yè)
24、中的主體,在復(fù)雜、多變的環(huán)境中,知識化的、具有團(tuán)結(jié)奮斗和創(chuàng)新精神的企業(yè)職工是競爭力的主要源泉;</p><p> (5)企業(yè)要跟蹤與適應(yīng)技術(shù)的進(jìn)步、經(jīng)濟(jì)的發(fā)展和社會需求的變更,不僅要更新產(chǎn)品,采用先進(jìn)的技術(shù),而且要不斷調(diào)整組織結(jié)構(gòu)、管理方法和行為方式。</p><p> 面對動態(tài)多變的市場情況,企業(yè)只有敏捷的反應(yīng)能力,才能立于不敗之地。企業(yè)信息集成系統(tǒng)應(yīng)具有感知、理解外界信息并對其作出
25、能動性反應(yīng)的能力,即具有自主能動、協(xié)同工作的智能行為。</p><p> 新的企業(yè)管理思想在本世紀(jì)90年代不斷涌現(xiàn)[10],諸如:經(jīng)營過程再造BPR(Business Process Reengineering)、動態(tài)企業(yè)模型(Dynamic Enterprise Model)、學(xué)習(xí)型企業(yè)組織(Learning Organization)、虛擬企業(yè)(Virtual Enterprise)。這些思想具有一個(gè)共同特
26、征:強(qiáng)調(diào)企業(yè)組織隨市場變化而變更;強(qiáng)調(diào)作業(yè)鏈和價(jià)值鏈的緊密結(jié)合,剔除一切不增值的作業(yè):強(qiáng)調(diào)信息技術(shù)的應(yīng)用,信息技術(shù)是實(shí)現(xiàn)的基礎(chǔ)。</p><p> 2.2企業(yè)管理信息系統(tǒng)的發(fā)展趨勢</p><p> 近年來隨著信息技術(shù)的逐步發(fā)展,對于企業(yè)管理系統(tǒng)的研究也呈現(xiàn)以下幾個(gè)趨勢:</p><p> 2.2.1集成整個(gè)“供應(yīng)鏈”的信息系統(tǒng)</p><
27、p> 管理信息集成的實(shí)質(zhì)和核心在于企業(yè)的集成優(yōu)化,在于使企業(yè)內(nèi)人、技術(shù)和經(jīng)營管理等各種組成要素集成為可優(yōu)化的整體,從而有力地支持產(chǎn)品開發(fā)的全生命周期,大大增強(qiáng)企業(yè)的競爭能力[11]。信息集成是實(shí)現(xiàn)企業(yè)和領(lǐng)域集成的關(guān)鍵技術(shù),它需要解決企業(yè)經(jīng)營活動所覆蓋區(qū)域內(nèi)的復(fù)雜的、分布的、異構(gòu)的信息資源的交換、轉(zhuǎn)換、集成與共享?;?多 數(shù) 據(jù)庫集成系統(tǒng)的信息集成框架是信息集成的有效手段之一。國外從80年代后期開始了這方面的研究和開發(fā)。如IBM
28、公司的信息集成使能器CDF系統(tǒng)、DEC公司的FBE框架。我國863/CIMS主題專家組也于1995年制定出了863/CIMS集成框架體系結(jié)構(gòu)和目標(biāo)。同時(shí),信息集成平臺所依賴的多數(shù)據(jù)庫集成技術(shù)也取得了一定的進(jìn)展。如美國Purdue大學(xué)研制的InterBase[12],HP公司開發(fā)的Pegasus[13]以及我國東北大學(xué)開發(fā)的Polybasel和Superbase[14]。但基于多數(shù)據(jù)庫集成系統(tǒng)的信息集成平臺也存在一些明顯缺陷:</p
29、><p> (1)數(shù)據(jù)集成的實(shí)現(xiàn)是面向系統(tǒng)的而不是面向用戶的;</p><p> (2)集成模型和語言缺乏統(tǒng)一的標(biāo)準(zhǔn);</p><p> (3)對面向?qū)ο蟮奶卣髦С植粔颍?lt;/p><p> (4)缺乏集成“遺產(chǎn)”信息資源的有效手段。</p><p> 從90年代中期開始,現(xiàn)代供應(yīng)鏈管理概念得到學(xué)術(shù)界和工業(yè)界的廣泛
30、重視。所謂供應(yīng)鏈?zhǔn)峭ㄟ^價(jià)值增值過程和分銷渠道控制從供應(yīng)商的供應(yīng)商到用戶的用戶的整個(gè)過程,它始于供應(yīng)的源點(diǎn),終于消費(fèi)的終點(diǎn)。企業(yè)為了有效地管理好供應(yīng)鏈,使整體性能達(dá)到最佳,供應(yīng)鏈中的各功能單元的活動必須以高度集成的方式協(xié)調(diào)一致地進(jìn)行?,F(xiàn)代供應(yīng)鏈管理的興起對企業(yè)信息集成技術(shù)提出了更高的要求。</p><p> 2.2.2以“人”為中心的信息系統(tǒng)</p><p> 人在企業(yè)系統(tǒng)的地位越來越受
31、到重視,相應(yīng)地,出現(xiàn)了用于描述人與企業(yè)系統(tǒng)集成的模型以及集成人與企業(yè)的方法。Brandt等人認(rèn)為現(xiàn)代企業(yè)是人與技術(shù)交互作用的集成系統(tǒng),即社會技術(shù)系統(tǒng)(Society Technical Systems),將基于工作過程的建模方法和計(jì)算機(jī)兼容建模方法進(jìn)行結(jié)合提出了面向人的建模方法,該方法對于當(dāng)前熱門的企業(yè)流程變更活動具有一定的意義[15]。GERAM是在繼承Purdue企業(yè)參考體系結(jié)構(gòu)PERA基礎(chǔ)上完成的,它提供了獨(dú)特的描述人與企業(yè)之間關(guān)
32、系的方法[16]。 Crowde等人提出了應(yīng)用開放超媒體技術(shù)集成制造信息的方法[17],該方法允許用戶以一種比較簡單的方法控制其所需的信息資源。</p><p> 2.2.3基于“企業(yè)模型”的信息系統(tǒng)</p><p> 一些研究者從分析技術(shù)與組織的相互依賴關(guān)系入手,提出了相應(yīng)的企業(yè)集成模型。Y;z強(qiáng)凋技術(shù)對目標(biāo)組織的依賴,并認(rèn)為企業(yè)集成建模技術(shù)應(yīng)能夠表達(dá)復(fù)雜的社會和組織關(guān)系。他所提出的
33、i*模型框架就是一種對企業(yè)組織間角色建模的方法[18]。Smart等人研究的“三棱鏡”模型(Three-lens Model)f}過程/生產(chǎn)/規(guī)則三棱鏡構(gòu)成,它為企業(yè)集成和企業(yè)業(yè)務(wù)流程變更的建模提供了新視角[19]。</p><p> 3.應(yīng)用系統(tǒng)開發(fā)工具</p><p> 3.1Struts框架</p><p> 3.1.1MVC概述</p>
34、<p> MVC是Model-View-Controller的簡稱,即模型-視圖-控制器[20]。MVC是Xerox PARC在20世紀(jì)80年代為編程語言Smalltalk-80發(fā)明的一種軟件設(shè)計(jì)模式,至今已被廣泛的使用,最近幾年被推薦為Sun公司J2EE平臺的設(shè)計(jì)模式,受到越來越多的Web開發(fā)者的歡迎。</p><p> MVC是一種設(shè)計(jì)模式,它強(qiáng)制性地把引用程序的輸入、處理和輸出分開。MVC把應(yīng)
35、用程序分成三個(gè)核心模塊:模型、視圖和控制器,它們分別擔(dān)負(fù)不同的任務(wù)。圖3-1顯示了這幾個(gè)模塊各自的功能以及它們的相互關(guān)系。</p><p><b> 圖3-1</b></p><p> 3.1.2Struts概述</p><p> 當(dāng)建筑師開始一個(gè)建筑項(xiàng)目時(shí),首先要設(shè)計(jì)該建筑的框架結(jié)構(gòu),有了這份藍(lán)圖,接下來的實(shí)際建筑過程才有條不紊,井然有
36、序。同樣,軟件開發(fā)者開始一個(gè)軟件項(xiàng)目時(shí),首先也應(yīng)該構(gòu)思該軟件應(yīng)用的架構(gòu),規(guī)劃軟件模塊,并定義這些模塊之間的接口和關(guān)系??蚣芸梢蕴岣哕浖_發(fā)的速度和效率,并且使軟件便于維護(hù)。</p><p> 對于開發(fā)Web應(yīng)用,要從頭設(shè)計(jì)并開發(fā)出一個(gè)可靠、穩(wěn)定的框架并不是一件容易的事。幸運(yùn)的是,隨著Web開發(fā)技術(shù)的日益成熟,在Web開發(fā)領(lǐng)域出現(xiàn)了一些現(xiàn)成的優(yōu)秀的框架,開發(fā)者可以直接使用它們,Struts就是一種不錯(cuò)的選擇,它是
37、基于MVC的Web應(yīng)用程序。</p><p> (1)Struts實(shí)現(xiàn)MVC的機(jī)制</p><p> Struts實(shí)際上就是在JSP Model2的基礎(chǔ)上實(shí)現(xiàn)的一個(gè)MVC框架。在Struts框架中。模型由實(shí)現(xiàn)業(yè)務(wù)邏輯的JavaBean或EJB組件構(gòu)成,控制器由ActionServlet和Action來實(shí)現(xiàn),視圖由一組JSP文件構(gòu)成。圖3-2顯示了Struts實(shí)現(xiàn)MVC框架。</p
38、><p><b> 圖3-2</b></p><p><b> ?、僖晥D</b></p><p> 視圖就是一組JSP文件。在這些JSP文件中沒有業(yè)務(wù)邏輯,也沒有模型信息,只有標(biāo)簽,這些標(biāo)簽可以是標(biāo)準(zhǔn)的JSP標(biāo)簽或客戶化標(biāo)簽,如Struts標(biāo)簽庫中的標(biāo)簽。</p><p> 此外,通常把Strut
39、s框架中的ActionForm Bean劃分到視圖模塊中。ActionForm Bean也是一種JavaBean,除了具有一些JavaBean的常規(guī)方法,還包含了一些特殊的方法,用于驗(yàn)證HTML表單數(shù)據(jù)以及將其屬性重新設(shè)置為默認(rèn)值。Struts框架利用ActionForm Bean來進(jìn)行視圖和控制器之間表單數(shù)據(jù)的傳遞。ActionForm Bean框架把用戶輸入的表單數(shù)據(jù)保存在ActionForm Bean中,把它傳遞給控制器,控制器可
40、以對ActionForm Bean中的數(shù)據(jù)進(jìn)行修改,JSP文件使用Struts標(biāo)簽讀取修改后的ActionForm Bean的信息,重新設(shè)置HTML表單。</p><p><b> ②模型</b></p><p> 模型表示應(yīng)用程序的狀態(tài)和業(yè)務(wù)邏輯。對于大型應(yīng)用,業(yè)務(wù)邏輯通常由JavaBean或EJB組件來實(shí)現(xiàn)。</p><p><b
41、> ?、劭刂破?lt;/b></p><p> 控制器由AcitonServlet類和Aciton類來實(shí)現(xiàn)。AcitonServlet類是Struts框架中的核心組件。AcitonServlet繼承可javax.servlet.http.HttpServlet類,它在MVC模型中扮演中央控制器的角色。AcitonServlet主要負(fù)責(zé)接收HTTP請求信息,根據(jù)配置文件struts-config.xm
42、l的配置信息,把請求轉(zhuǎn)發(fā)給適當(dāng)?shù)腁citon對象。如果Aciton對象不存在,AcitonServlet會先創(chuàng)建這個(gè)Aciton對象。</p><p> ?、躍truts的配置文件struts-config.xml</p><p> 上面講到一個(gè)用戶請求是通過AcitonServlet來處理和轉(zhuǎn)發(fā)的。那么,AcitonServlet如何決定把用戶請求轉(zhuǎn)發(fā)給哪個(gè)Aciton對象呢?這就需要
43、一些描述用戶請求路徑和Aciton映射關(guān)系的配置信息了。在Struts中,這些配置映射信息都存儲在特定的XML文件struts-config.xml中。在該配置文件中,每一個(gè)Aciton的映射信息都通過一個(gè)<action>元素來配置。</p><p> 這些配置信息在系統(tǒng)啟動的時(shí)候被讀入內(nèi)存,共Struts在運(yùn)行期間使用該你。在內(nèi)存中,每一個(gè)<action>元素都對應(yīng)一個(gè)org.apac
44、he.struts.action.ActionMapping類的實(shí)例。</p><p> (1)Struts的工作流程</p><p> 對于采用Struts框架的Web應(yīng)用,在Web應(yīng)用啟動時(shí)就會加載并初始化AcitonServlet,AcitonServlet從struts-config.xml文件中讀取配置信息,把它們存放到各種配置對象中,例如Aciton的映射信息存放在Acti
45、onMapping對象中。</p><p> 當(dāng)AcitonServlet接收到一個(gè)客戶請求時(shí),將執(zhí)行如下流程。</p><p> ①檢索和用戶請求匹配的ActionMapping實(shí)例,如果不存在,就返回用戶請求路徑無效的信息。</p><p> ②如果ActionForm實(shí)例不存在,就創(chuàng)建一個(gè)ActionForm對象,把客戶提交的表單數(shù)據(jù)保存到ActionF
46、orm對象中。</p><p> ?、鄹鶕?jù)配置信息決定是否需要表單驗(yàn)證。如果需要驗(yàn)證,就調(diào)用ActionForm的validate()方法。</p><p> ?、苋绻鸄ctionForm的validate()方法返回null或返回一個(gè)不包括ActionMessage的ActionErrors對象,就表示表單驗(yàn)證成功。</p><p> ⑤AcitonServle
47、t根據(jù)ActionMapping實(shí)例包含的映射信息決定將請求轉(zhuǎn)發(fā)給哪個(gè)Aciton。如果相應(yīng)的Aciton實(shí)例不存在,就先創(chuàng)建這個(gè)實(shí)例,然后調(diào)用Aciton的execute()方法。</p><p> ?、轆citon的execute()方法返回一個(gè)ActionForm對象 ,ActionServlet再把客戶請求轉(zhuǎn)發(fā)給ActionForward對象指向的JSP組件。</p><p>
48、⑦ActionForward對象指向的JSP組件生成動態(tài)網(wǎng)頁,返回給客戶。</p><p> 對于以上流程④,如果ActionForm的validate()方法返回一個(gè)包含一個(gè)或多個(gè)ActionMessage的ActionErrors對象,就表示表單驗(yàn)證失敗,此時(shí)AcitonServlet將直接把請求轉(zhuǎn)發(fā)給包含用戶提交表單的JSP舉薦。在這種情況下,不會再創(chuàng)建Aciton對象并調(diào)用Aciton的execute(
49、)方法。</p><p> 3.2SQL Server 2000數(shù)據(jù)庫</p><p> SQL Server是由Microsoft開發(fā)和推廣的關(guān)系數(shù)據(jù)庫管理系統(tǒng)(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同開發(fā)的,并于1988年推出了第一個(gè)OS/2版本。SQL Server近年來不斷更新版本,1996年,Microsoft推出了SQL S
50、erver 6.5版本;1998年,SQL Server 7.0版本和用戶見面;SQL Server 2000是Microsoft公司于2000年推出的最新版本。</p><p> 3.2.1SQL Server 特點(diǎn)</p><p> (1)真正的客戶機(jī)/服務(wù)器體系結(jié)構(gòu)。</p><p> (2)圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫管理更加直觀、簡單。<
51、/p><p> (3)豐富的編程接口工具,為用戶進(jìn)行程序設(shè)計(jì)提供了更大的選擇余地。</p><p> (4)SQL Server與Windows NT完全集成,利用了NT的許多功能,如發(fā)送和接受消息,管理登錄安全性等。SQL Server也可以很好地與Microsoft BackOffice產(chǎn)品集成。</p><p> (5)具有很好的伸縮性,可跨越從運(yùn)行Wind
52、ows 95/98的膝上型電腦到運(yùn)行Windows 2000的大型多處理器等多種平臺使用。</p><p> (6)對Web技術(shù)的支持,使用戶能夠很容易地將數(shù)據(jù)庫中的數(shù)據(jù)發(fā)布到Web頁面上。 </p><p> (7)SQL Server提供數(shù)據(jù)倉庫功能,這個(gè)功能只在Oracle和其他更昂貴的DBMS中才有。</p><p> 3.2.2SQL Server
53、2000與以前版本相比較又具有以下新特性。</p><p> (1)支持XML(Extensive Markup Language,擴(kuò)展標(biāo)記語言)。</p><p> (2)強(qiáng)大的基于Web的分析。</p><p> (3)支持OLE DB和多種查詢。</p><p> (4)支持分布式的分區(qū)視圖。</p><p&
54、gt; 3.3Java語言介紹</p><p> 3.3.1Java語言的特點(diǎn)</p><p> Java是一個(gè)簡單、面向?qū)ο?、分布式、解釋性、?qiáng)壯、安全、與平臺無關(guān)、可移植、高性能、多線程和動態(tài)的語言[21]。</p><p> 3.3.2Java平臺簡介</p><p> 所謂平臺一般是指程序運(yùn)行時(shí)所需要的硬件和軟件環(huán)境。我們這
55、里要討論的Java平臺是指建立在操作系統(tǒng)之上的與硬件無關(guān)的Java程序運(yùn)行時(shí)的軟件環(huán)境。</p><p> Java平臺包括兩部分:</p><p> Java虛擬機(jī)(JavaVirtual Machine)</p><p> Java應(yīng)用程序接口(Java API)</p><p> 可見,有了Java API和JVM,Java程序
56、可以完全獨(dú)立于系統(tǒng)硬件。當(dāng)然,與本地碼程序相比,Java程序的執(zhí)行速度較慢。隨著JVM性能的提高和即時(shí)(just-in-time)比特碼編譯器的使用,速度將會逐步接近本地碼程序。</p><p> 3.3.1Java語言的應(yīng)用</p><p> 根據(jù)應(yīng)用的環(huán)境,我們把Java語言的應(yīng)用分為兩大類:小應(yīng)用程序(APPLET)和一般應(yīng)用程序(APPLICATION)。</p>
57、<p><b> (1)小應(yīng)用程序</b></p><p> 所謂小應(yīng)用程序是指在客戶的瀏覽器中運(yùn)行的程序,由于該類程序必須經(jīng)過網(wǎng)絡(luò)的傳遞才能到達(dá)客戶端,故其大小和安全性的要求都受到一定的限制。為了區(qū)分一般應(yīng)用程序,把它命名為小應(yīng)用程序。</p><p><b> (2)應(yīng)用程序</b></p><p>
58、 除了小應(yīng)用程序外,Java作為通用的高級編程語言,利用其豐富的API還可以編寫出各種各樣的應(yīng)用程序,其中包括:服務(wù)器程序、客戶端程序、服務(wù)器小程序。分布式計(jì)算程序、數(shù)據(jù)庫引用程序、程序打包應(yīng)用、分布式對象應(yīng)用程序、軟件組件、交互式的動態(tài)網(wǎng)頁(ASP)應(yīng)用。</p><p> 3.4JSP在Web中的應(yīng)用</p><p> 3.4.1動態(tài)網(wǎng)頁技術(shù)</p><p&g
59、t; 所謂“動態(tài)”,并不是指那幾個(gè)放在網(wǎng)頁上的GIF動態(tài)圖片,動態(tài)網(wǎng)頁技術(shù)有以下幾個(gè)特點(diǎn)。[22]</p><p><b> (1)交互性</b></p><p> 即網(wǎng)頁會根據(jù)用戶的要求和現(xiàn)在而動態(tài)改變和響應(yīng),將瀏覽器作為客戶端界面,這將是今后Web發(fā)展的大勢所趨。</p><p><b> (2)自動更新</b>
60、;</p><p> 即無須手動更新HTML文檔,便會自動生成新的頁面,可以大大節(jié)省工作量。</p><p><b> (3)因時(shí)因人而變</b></p><p> 即當(dāng)不同的時(shí)間、不同的人訪問同一網(wǎng)址時(shí)會產(chǎn)生不同的頁面。</p><p><b> 3.4.2JSP</b></p>
61、;<p> JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁面被客戶端請求以后對這些Java代碼進(jìn)行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。Java Servlet是JSP技術(shù)的基礎(chǔ),而且大型的Web應(yīng)用程序的開發(fā)需要Java Servlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡單易用、完全面向?qū)ο蟆⒕哂衅脚_無關(guān)性且安全可靠、主要面向Internet的所有特點(diǎn)。</p>
62、;<p> (1)JSP技術(shù)的強(qiáng)勢</p><p> ①一次編寫,到處運(yùn)行。除了系統(tǒng)之外,代碼不用做任何更改。</p><p> ?、谙到y(tǒng)的多平臺支持?;旧峡梢栽谒衅脚_上的任意環(huán)境中開發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。</p><p> ③強(qiáng)大的可伸縮性。從只有一個(gè)小的Jar文件就可以運(yùn)行Servlet/JSP,到由多臺服務(wù)器進(jìn)
63、行集群和負(fù)載均衡,到多臺Application定型事務(wù)處理、消息處理,一臺服務(wù)器到無數(shù)臺服務(wù)器,Java顯示了一個(gè)巨大的生命力。</p><p> ?、芏鄻踊凸δ軓?qiáng)大的開發(fā)工具支持。Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且有許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利地運(yùn)行于多種平臺之下。</p><p> (2)JSP技術(shù)的弱勢</p><p> ①Jav
64、a的一些優(yōu)勢正是它致命的問題所在。正是由于為了跨平臺的功能,為了季度的伸縮能力,所以極大地增加了產(chǎn)品的復(fù)雜性。</p><p> ?、贘ava的運(yùn)行速度是用class常駐內(nèi)存來完成的,所以它在一些情況下所使用的內(nèi)存比起用戶數(shù)量來說確實(shí)是“最低性能價(jià)格比”了。另一方面來說,它還需要硬盤空間來存儲一系列的.java文件和.class文件,以及對應(yīng)的版本文件。</p><p> 3.4.3JS
65、P技術(shù)原理</p><p> JSP源文件是由安裝在Web服務(wù)器上的JSP引擎編譯執(zhí)行的。JSP引擎把來自客戶端的請求傳遞給JSP源文件,然后JSP引擎再把對應(yīng)它的響應(yīng)從JSP源文件傳遞客戶端。</p><p> 所有的JSP引擎都必須支持的請求和響應(yīng)協(xié)議是Http,但是同一個(gè)引擎也可以支持其他的一些請求和響應(yīng)協(xié)議。默認(rèn)的Request對象對應(yīng)的協(xié)議是HttpServletReques
66、t,而Response對象對應(yīng)的協(xié)議則是HttpServletResponse。</p><p> 一個(gè)JSP引擎需要在傳遞Request和Response對象之前,在JSP源代碼中創(chuàng)建一個(gè)類,而Servlet則定義了在JSP引擎與JSP源文件之間實(shí)現(xiàn)類的約定。</p><p> JSP規(guī)范中還定義了JSP引擎與JSP頁面作者之間的約定,這個(gè)約定實(shí)際上就是頁面作者對JSP源文件中描述的
67、動作所進(jìn)行的假設(shè)。這個(gè)約定描述了一個(gè)JSP作者如何說明當(dāng)源文件實(shí)現(xiàn)init()和destroy()方法時(shí),必須執(zhí)行的一些動作。在這個(gè)約定中,最重要的是_jspService()方法,這個(gè)方法是通過一個(gè)JSP引擎從JSP源文件中自動產(chǎn)生的。</p><p> 4.員工IT技術(shù)及培訓(xùn)信息系統(tǒng)設(shè)計(jì)分析</p><p><b> 4.1應(yīng)用需求分析</b></p&g
68、t;<p> 為了部門發(fā)展需要,方便本部門管理,在人力資源,設(shè)備資源,部門財(cái)務(wù)管理,項(xiàng)目管理統(tǒng)計(jì)等方面,能夠更加及時(shí)的,有效的提供信息。方便公司運(yùn)營計(jì)劃的報(bào)表需求。決定分階段開發(fā)本部門的信息管理系統(tǒng)。New-Information-Management–System(NIMS)。</p><p> 該系統(tǒng)由人員情報(bào)管理子系統(tǒng)、部門資源管理子系統(tǒng)、master維護(hù)與權(quán)限設(shè)定三個(gè)子系統(tǒng)組成。每個(gè)子系
69、統(tǒng)下又由若干個(gè)模塊組成。本課題主要對人員情報(bào)子系統(tǒng)下的員工IT技術(shù)信息情報(bào)管理和員工培訓(xùn)信息情報(bào)管理進(jìn)行開發(fā)。</p><p> 4.1.1員工IT技術(shù)信息情報(bào)管理</p><p> 部門內(nèi)部員工可以通過該模塊對個(gè)人的IT技術(shù)信息進(jìn)行按照技術(shù)類型進(jìn)行分類檢索察看,追加新的記錄,以及對原有記錄進(jìn)行修改和刪除。此模塊針對的是員工個(gè)人,不是管理員操作模塊。用戶在進(jìn)行了添加、刪除、修改操作后,
70、程序要對數(shù)據(jù)庫中對應(yīng)表格中的數(shù)據(jù)進(jìn)行修改。</p><p> 4.1.2員工培訓(xùn)信息情報(bào)管理</p><p> 同員工IT技術(shù)信息情報(bào)管理模塊一樣,員工培訓(xùn)信息情報(bào)管理模塊也是針對員工個(gè)人的操作模塊。員工可以利用該模塊隨時(shí)對自己的培訓(xùn)信息進(jìn)行察看,同時(shí)也可以完成添加、修改、刪除的操作。在操作完成后要對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行修改。</p><p> 4.2系統(tǒng)數(shù)據(jù)庫
71、設(shè)計(jì)</p><p> 4.2.1技術(shù)信息表</p><p> 根據(jù)員工IT技術(shù)信息情報(bào)管理模塊的需求,技術(shù)信息表中存在的字段以及各字段的屬性如表4-1所示。</p><p><b> 表4-1</b></p><p> 在技術(shù)信息表中用番號作為主鍵,在數(shù)據(jù)庫中設(shè)置為自動生成,逐條加一。員工卡號作為外鍵,同員工基
72、本情報(bào)master表中的員工卡號字段向關(guān)聯(lián)。技術(shù)編號則同IT技術(shù)種類master表相關(guān)聯(lián)。</p><p> 4.2.1培訓(xùn)履歷表</p><p> 根據(jù)員工培訓(xùn)信息情報(bào)管理模塊的需求,技術(shù)信息表中存在的字段以及各字段的屬性如表4-2所示。</p><p><b> 表4-2</b></p><p> 同技術(shù)信息
73、表相同,采用番號作為主鍵,員工卡號作為外鍵,同員工基本情報(bào)master表中的員工卡號字段向關(guān)聯(lián)。</p><p> 5.員工IT技術(shù)及培訓(xùn)信息系統(tǒng)應(yīng)用程序?qū)崿F(xiàn)</p><p> 5.1 用戶窗體的設(shè)計(jì)</p><p> 本系統(tǒng)采用JSP作為前臺顯示畫面。</p><p> 5.1.1員工IT技術(shù)信息情報(bào)管理</p>&l
74、t;p><b> (1)一覽畫面</b></p><p><b> (2)新規(guī)畫面</b></p><p><b> (3)修改畫面</b></p><p> 5.1.2員工培訓(xùn)信息管理</p><p><b> (1)一覽畫面</b>&l
75、t;/p><p><b> (2)新規(guī)畫面</b></p><p><b> (3)修改畫面</b></p><p><b> 5.2配置說明</b></p><p> Struts框架允許把應(yīng)用劃分成多個(gè)組件,提高開發(fā)速度。而Struts框架的配置文件struts-con
76、fig.xml可以把這些組件組裝起來,決定如何使用它們。</p><p> 主要的配置工作包括formbean和action兩項(xiàng)。下面以員工培訓(xùn)信息一覽為例,說明具體如何進(jìn)行配置。</p><p> 首先是formbean,在其中添加如下內(nèi)容:</p><p> <form-bean name="personEducationForm"
77、; </p><p> type="com.dhc.nims.form.personInfo.PersonEducationForm"/></p><p> 這里通過<form-bean>元素配置了一個(gè)ActionForm Bean,名叫personEducationForm,它對應(yīng)的類為com.dhc.nims.form.personInfo.P
78、ersonEducationForm。</p><p> 接著通過<action>元素配置了一個(gè)Action組件:</p><p> <action attribute="personEducationForm"input="/jsp/personInfo/personEducation.jsp"</p>&
79、lt;p> name="personEducationForm" parameter="method"</p><p> path="/personInfo/personEducation" scope="request"type="com.dhc.nims.action.personInfo.PersonEduc
80、ationDispatchAction"></p><p> <forward name="list"</p><p> path="/jsp/personInfo/personEducation.jsp"/></p><p> <forward name="update&qu
81、ot;</p><p> path="/jsp/personInfo/personEducationUpdate.jsp"/></p><p> <forward name="create"</p><p> path="/jsp/personInfo/personEducationCreate.
82、jsp"/></p><p> <forward name="fail" path="/message.jsp"/></p><p><b> </action></b></p><p> <action>元素的path屬性指定請求訪問Action
83、的路徑,type屬性指定Action的完整類名,name屬性指定需要傳遞給Action的ActionForm Bean,scope屬性指定ActionForm Bean的存放范圍,validate屬性指定是否執(zhí)行表單驗(yàn)證,input屬性指定當(dāng)表單驗(yàn)證失敗時(shí)的轉(zhuǎn)發(fā)路徑。<action>元素還包含一個(gè)<forward>子元素,它定義了一個(gè)請求轉(zhuǎn)發(fā)路徑。</p><p> 本例中的<ac
84、tion>元素配置了PersonEducationDispatchAction組件,對應(yīng)的類為com.dhc.nims.action.personInfo.</p><p> PersonEducationDispatchAction請求訪問路徑為“/personInfo/personEducation”當(dāng)Action類被調(diào)用時(shí),Struts框架應(yīng)該把已經(jīng)包含表單數(shù)據(jù)的personEducationFor
85、m Bean存放在request范圍內(nèi),并且在調(diào)用Action類之前,對表單進(jìn)行驗(yàn)證。如果表單驗(yàn)證失敗,請求將被轉(zhuǎn)發(fā)到錯(cuò)誤網(wǎng)頁message.jsp。當(dāng)用戶發(fā)出其他請求(如list)時(shí),系統(tǒng)將跳轉(zhuǎn)到該請求對應(yīng)的頁面(list對應(yīng)的頁面為personInfo/personEducation.jsp)。</p><p> 5.3一覽功能的實(shí)現(xiàn)</p><p> 5.3.1員工IT技術(shù)信息情
86、報(bào)管理</p><p> 用戶在登陸系統(tǒng)之后,當(dāng)在菜單中選擇員工IT技術(shù)信息情報(bào)管理時(shí),系統(tǒng)根據(jù)struts-config.xml中的配置,運(yùn)行PersonTechnologyDispatchAction類中的list方法,在該類對PersonTechnologyJdbc進(jìn)行實(shí)例化。由于要求按照技術(shù)種類分類顯示,我們在Action中根據(jù)技術(shù)類型創(chuàng)建了多個(gè)Bean,通過調(diào)用Jdbc中的getList方法為每個(gè)Be
87、an賦值,并將Bean保存在session中。getList方法中使用的SQL語句是</p><p><b> “SELECT</b></p><p> NUM,USERNO,ITTECHNAME,TB_NIMS_TECHNOLOGY.ITTECHID,</p><p> SKILLLEVEL,STUDYMETHOD,USERYEARS,
88、FACTEXPEREINCE,</p><p> TB_NIMS_TECHNOLOGY.REMARK </p><p> FROM TB_NIMS_ITTECH_MASTER ,TB_NIMS_TECHNOLOGY </p><p> WHERE TB_NIMS_ITTECH_MASTER.ITTECHID= USERNO='userNo' A
89、ND</p><p> TB_NIMS_TECHNOLOGY.ITTECHID AND ITTYPE='itType'”。</p><p> 其中ITTECHNAME(技術(shù)名稱)字段的值是根據(jù)ITTECHID(技術(shù)編號)字段的值從IT技術(shù)種類master表中取得。userNo的值來自于登陸時(shí)保存在session的信息。itType是當(dāng)前調(diào)用getList方法的Bean所
90、對應(yīng)的值。之后,list方法將返回一個(gè)值為list的forward對象,struts框架根據(jù)forward對象的值查找struts配置文件,根據(jù)找到的路徑跳轉(zhuǎn)到personTechnology.jsp頁面,JSP頁面按指定格式,使用<logic:present>標(biāo)簽遍歷session中集合里的所有Bean對象,并使用<bean:write>標(biāo)簽將Bean中的數(shù)據(jù)輸出到頁面。</p><p>
91、; 5.3.2員工培訓(xùn)信息管理</p><p> 該模塊同上一個(gè)模塊的實(shí)現(xiàn)機(jī)理相同,但由于該模塊不需要分組顯示所以實(shí)現(xiàn)起來更加容易。在這里不在累述。</p><p> 5.4添加功能的實(shí)現(xiàn)</p><p> 5.4.1員工IT技術(shù)信息情報(bào)管理</p><p> 當(dāng)用戶點(diǎn)擊一覽畫面中的新規(guī)按鈕時(shí),系統(tǒng)運(yùn)行PersonTechnolog
92、yDispatchAction類中的create方法,該方法返回值為create的forward對象,struts配置文件根據(jù)該值,找到相對路徑,跳轉(zhuǎn)到personTechnologyCreate.jsp頁面。當(dāng)用戶根據(jù)新規(guī)頁面填寫完數(shù)據(jù)后,點(diǎn)擊保存按鈕。此時(shí)會彈出確認(rèn)窗口,點(diǎn)擊“是”保存;點(diǎn)擊“否”取消。若用戶點(diǎn)擊“是”, struts框架將JSP頁面表單中的數(shù)據(jù)填入PersonTechnologyCreateForm中,將Perso
93、nTechnologyCreateForm傳給PersonTechnologyCreateDispatchAction,Action將Form中的數(shù)據(jù)放入Bean中,然后傳給PersonTechnologyJdbc。調(diào)用Jdbc中的insert方法完成對數(shù)據(jù)庫的操作。</p><p> 值得一提的是,新規(guī)畫面中IT技術(shù)類型和技術(shù)名稱使用下拉列表框供用戶進(jìn)行選擇,而且采用了聯(lián)動機(jī)制,即隨著IT技術(shù)類型的改變,技術(shù)
94、名稱列表框中的值將隨之發(fā)生變化。為此我特別在PersonTechnoloDispatchAction類中設(shè)計(jì)了changeType方法。changeType方法從PersonTechnologyCreateForm中取出IT技術(shù)類型的值,并將這個(gè)值傳給ItTechJdbc,獲得相應(yīng)的技術(shù)名稱的集合。然后將此集合放入session中,返回JSP頁面。使用<bean:write>標(biāo)簽將技術(shù)名稱動態(tài)添加到下拉列表框中。</p
95、><p> 插入數(shù)據(jù)時(shí)使用的SQL語句為</p><p> “INSERT INTO TB_NIMS_TECHNOLOGY</p><p> (USERNO,ITTECHID,SKILLLEVEL,STUDYMETHOD,USERYEARS,</p><p> FACTEXPEREINCE,REMARK) </p><
96、p> VALUES ('bean.getUserNo()','bean.getItTechId()',</p><p> 'bean.getSkillLevel()','bean.getStudyMethod()',</p><p> 'bean.getUserYears()','bean.
97、getFactExpereince()',</p><p> 'bean.getRemark()')”</p><p> 5.4.2員工培訓(xùn)信息管理</p><p> 該模塊的添加功能同員工IT技術(shù)信息情報(bào)管理模塊的實(shí)現(xiàn)方法基本相同,但在向數(shù)據(jù)中添加信息時(shí)需要稍加注意。由于類型為日期型字段在不輸入信息的情況下,按照一般的SQL語句會在數(shù)
98、據(jù)庫中加入一個(gè)默認(rèn)的值“1900/1/1”,而整型的數(shù)據(jù)則會默認(rèn)“0”值。這就有違數(shù)據(jù)的有效性。所以,我在SQL語句上加了判斷。如果值存入PersonEducationCreateForm中的相應(yīng)字段的值不為空,使用的SQL語句是“INSERT INTO TB_NIMS_EDUCATION</p><p> (字段名,…,…,...) VALUE('插入值','…', '
99、…', '…')”,相反,如果值為空則改用語句“INSERT INTO TB_NIMS_EDUCATION (字段名,…,…,...) VALUE(NULL,'…', '…', ...)”。這樣,就能保證數(shù)據(jù)庫的真實(shí)有效了。另外,該模塊還要求培訓(xùn)內(nèi)容不能為空,日期格式必須效性。這些都在PersonEducationCreateAction中加入了驗(yàn)證。如果錯(cuò)誤會轉(zhuǎn)入錯(cuò)誤頁面,并顯示
100、相應(yīng)的錯(cuò)誤提示。</p><p> 5.5修改功能的實(shí)現(xiàn)</p><p> 5.5.1員工IT技術(shù)信息情報(bào)管理</p><p> 當(dāng)用戶在一覽畫面中現(xiàn)在一條記錄并點(diǎn)擊修改按鈕時(shí),系統(tǒng)運(yùn)行PersonTechnologyDispatchAction類中的uptdate方法。該方法從PersonTechnologyForm中取得在一覽頁面所選擇記錄在數(shù)據(jù)庫中的主鍵
101、值(番號),并調(diào)用Jdbc中的getByID方法,獲得Bean對象并放入session中,然后跳轉(zhuǎn)到personTechnologyUpdate.jsp頁面。該頁面對應(yīng)的Form從session的Bean中取得數(shù)據(jù),填入頁面中相應(yīng)位置。此處的IT技術(shù)種類和技術(shù)名稱字段是不允許用戶進(jìn)行修改的,用于僅能對除此之外的其它字段進(jìn)行操作。當(dāng)用戶完成了修改操作之后,點(diǎn)擊保存按鈕。此時(shí)此時(shí)同新規(guī)畫面相同,會彈出確認(rèn)窗口,點(diǎn)擊“是”保存;點(diǎn)擊“否”取消
102、。若用戶點(diǎn)擊“是”, struts框架將JSP頁面表單中的數(shù)據(jù)填入PersonTechnologyUpdateForm中,將PersonTechnologyUpdateForm傳給PersonTechnologyUpdateAction,Action將Form中的數(shù)據(jù)放入Bean中,然后傳給PersonTechnologyJd</p><p> 完成該功能對數(shù)據(jù)庫操作的SQL語句是</p><
103、;p> “UPDATE TB_NIMS_TECHNOLOGY SET</p><p> SKILLLEVEL='bean.getSkillLevel()',</p><p> STUDYMETHOD='bean.getStudyMethod()',</p><p> USERYEARS='bean.getUser
104、Years()',</p><p> FACTEXPEREINCE='bean.getFactExpereince()',</p><p> REMARK='bean.getRemark()'</p><p> WHERE NUM='bean.getNum()'”</p><p>
105、 5.5.2員工培訓(xùn)信息管理</p><p> 該模塊的修改功能同其添加功能存在同樣的有關(guān)插入空數(shù)據(jù)的問題,解決方法也同上面所說的,至于修改功能的實(shí)現(xiàn)機(jī)理則和員工IT技術(shù)信息情報(bào)管理的修改機(jī)能相類似,只是所用到的文件不同。</p><p> 5.6刪除功能的實(shí)現(xiàn)</p><p> 5.6.1員工IT技術(shù)信息情報(bào)管理</p><p>
106、 和新規(guī)、修改功能不同,刪除功能不另設(shè)頁面。當(dāng)用戶在一覽畫面中選中一條記錄后,點(diǎn)擊下方的刪除按鈕。系統(tǒng)運(yùn)行PersonTechnologyDispatchAction類中的delete方法。該方法從PersonTechnologyForm中取得在一覽頁面所選擇記錄在數(shù)據(jù)庫中的主鍵值(番號),并調(diào)用Jdbc中的deleteByID方法,將記錄刪除。</p><p> 此處用到的SQL語句為“DELETE FROM
107、 TB_NIMS_TECHNOLOGY WHERE NUM= id”,id為傳入的主鍵值。</p><p> 5.6.2員工培訓(xùn)信息管理</p><p> 該模塊的刪除功能同時(shí)支持對一條記錄的刪除和對多條記錄同時(shí)刪除的功能。對于多條記錄同時(shí)刪除,是由PersonTechnologyDispatchAction中的delete方法取得PersonTechnologyForm里所存的包含所
108、有選中記錄主鍵值的數(shù)組,并在循環(huán)遍歷數(shù)組的同時(shí)調(diào)用Jdbc將記錄刪除。</p><p><b> 6.系統(tǒng)測試</b></p><p> 6.1軟件測試技術(shù)介紹</p><p> 6.1.1軟件測試的兩個(gè)手段:驗(yàn)證和確認(rèn)</p><p><b> (1)驗(yàn)證</b></p>&
109、lt;p> 在軟件生存期各個(gè)階段,驗(yàn)證是指檢測各個(gè)階段結(jié)束時(shí)的工作產(chǎn)品滿足對上一階段的結(jié)束后的工作產(chǎn)品所定義的規(guī)格的驗(yàn)證過程。如圖6-1所示。</p><p><b> 圖6-1</b></p><p><b> (2)確認(rèn)</b></p><p> 在軟件生存周期各個(gè)階段,確認(rèn)是指檢測各個(gè)階段時(shí)的工作產(chǎn)品是
110、否滿足在軟件生存周期初期在系統(tǒng)需求文檔中描述的各項(xiàng)軟件規(guī)格的確認(rèn)過程。如圖6-2所示。</p><p><b> 圖6-2</b></p><p> (3)驗(yàn)證和確認(rèn)的比較</p><p> ①驗(yàn)證是測試每一階段形成的產(chǎn)品是否與前一階段定義的規(guī)格相一致。</p><p> ②確認(rèn)是檢測每一階段的工作產(chǎn)品是否于最初
111、定義的軟件需求規(guī)格相一致。</p><p> ③軟件格式既可用于驗(yàn)證,又可用于確認(rèn)。</p><p> ?、軠y試的然何種確認(rèn)工作不光局限于專職測試人員</p><p> 6.1.2軟件測試的目標(biāo)</p><p> (1)以最少的時(shí)間和人力,系統(tǒng)地找出軟件中潛在的各種錯(cuò)誤和缺陷。如果我們成功地實(shí)施了測試,我們就能夠盡可能多的發(fā)現(xiàn)軟件中的錯(cuò)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于jsp的家政服務(wù)管理系統(tǒng)畢業(yè)論文報(bào)告(含源文件)
- 畢業(yè)論文——jsp合同信息管理系統(tǒng)
- jsp考試管理系統(tǒng)畢業(yè)設(shè)計(jì)(含源文件)
- jsp 房產(chǎn)信息管理系統(tǒng) 畢業(yè)論文
- 畢業(yè)論文范文——基于jsp的學(xué)生信息管理系統(tǒng)
- 畢業(yè)論文---員工信息管理系統(tǒng)
- 基于java的簡單學(xué)生信息管理程序(含源文件)
- 畢業(yè)論文--企業(yè)員工信息管理系統(tǒng)
- 基于java的簡單學(xué)生信息管理程序(含源文件)
- 畢業(yè)論文--企業(yè)員工信息管理系統(tǒng)
- 基于java的bbs論壇設(shè)計(jì)畢業(yè)論文(含源文件)
- 基于java的酒店管理系統(tǒng)畢業(yè)設(shè)計(jì)論文(含源文件)
- 基于java的酒店管理系統(tǒng)畢業(yè)設(shè)計(jì)論文(含源文件)
- 基于MVC和SQLSERVER的財(cái)政供養(yǎng)人員信息管理系統(tǒng)研發(fā).pdf
- 基于-jsp企業(yè)員工信息管理系統(tǒng)畢業(yè)設(shè)計(jì)定稿
- 基于jsp企業(yè)員工信息管理系統(tǒng)畢業(yè)設(shè)計(jì)定稿
- 基于java火車旅客信息網(wǎng)上管理系統(tǒng)(含源文件)畢業(yè)設(shè)計(jì)論文
- 基于ssh平臺的企業(yè)人力資源管理系統(tǒng)畢業(yè)論文(含源文件)
- 基于ssh平臺的企業(yè)人力資源管理系統(tǒng)畢業(yè)論文(含源文件)
- 基于java的醫(yī)院門診信息管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)(含源文件)
評論
0/150
提交評論