基于Java技術(shù)的Web應(yīng)用項(xiàng)目管理系統(tǒng)的設(shè)計(jì)與研究_第1頁(yè)
基于Java技術(shù)的Web應(yīng)用項(xiàng)目管理系統(tǒng)的設(shè)計(jì)與研究_第2頁(yè)
基于Java技術(shù)的Web應(yīng)用項(xiàng)目管理系統(tǒng)的設(shè)計(jì)與研究_第3頁(yè)
基于Java技術(shù)的Web應(yīng)用項(xiàng)目管理系統(tǒng)的設(shè)計(jì)與研究_第4頁(yè)
基于Java技術(shù)的Web應(yīng)用項(xiàng)目管理系統(tǒng)的設(shè)計(jì)與研究_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、基于Java技術(shù)的Web應(yīng)用項(xiàng)目管理系統(tǒng)的設(shè)計(jì)與研究李育涵(上海交通大學(xué)軟件學(xué)院 上海 200240)摘 要:如今隨著信息技術(shù)的飛速發(fā)展,軟件項(xiàng)目的規(guī)模也日趨擴(kuò)大,此時(shí)必須將軟件項(xiàng)目管理引入開(kāi)發(fā)活動(dòng)中,對(duì)項(xiàng)目的人員、進(jìn)度和質(zhì)量進(jìn)行有效的管理和控制。在本篇論文中,討論了基于Java技術(shù),使用Tomcat作為web應(yīng)用服務(wù)器來(lái)是設(shè)計(jì)的項(xiàng)目管理系統(tǒng)原理、設(shè)計(jì)和實(shí)現(xiàn)。該系統(tǒng)根據(jù)用戶特定的開(kāi)發(fā)模式,提供了項(xiàng)目工作分解結(jié)構(gòu)、人員以及規(guī)格說(shuō)明書(shū)的管理,并且能使項(xiàng)目經(jīng)理對(duì)項(xiàng)目中的每個(gè)部分進(jìn)行實(shí)時(shí)的進(jìn)度監(jiān)控,從而能夠大幅度提高項(xiàng)目效率。關(guān)鍵詞:B/S架構(gòu),Tomcat,Java 軟件開(kāi)發(fā)Research and

2、 Design ofJava based Web application Project Management systemLi Yu Han(School of Software, Shanghai Jiao Tong University, Shanghai, 200240)【Abstract】Nowadays, the information technology is developing rapidly, and the scale of the software development project enlarges greatly. So the software projec

3、t management must be involved in the daily development activities to ensure efficient management and effective control over the staffs, schedule and quality of the project. This paper discusses the concepts, design and the implementation of the project management system by means of Tomcat base on th

4、e Java technology: The Project developed according to the use pattern of our client, provides the Work Breakdown Structure (WBS) management, stuff management and specification management, and also provides the project lead with the ability to monitor the real-time progress of each part of the projec

5、t, which greatly improve the efficiency of the project.1. 緒論 對(duì)于軟件項(xiàng)目開(kāi)發(fā)來(lái)說(shuō),如何進(jìn)行科學(xué)、有效的管理是擺在項(xiàng)目經(jīng)理和整個(gè)軟件開(kāi)發(fā)團(tuán)隊(duì)面前的巨大的挑戰(zhàn)。如果沒(méi)有能夠很好的對(duì)整個(gè)項(xiàng)目管理,對(duì)項(xiàng)目資源進(jìn)行合理分配,那么項(xiàng)目必將會(huì)是一個(gè)失敗的案例,目前,國(guó)內(nèi)外已經(jīng)有很多成熟的項(xiàng)目管理軟件用來(lái)進(jìn)行對(duì)于整個(gè)項(xiàng)目管理以及監(jiān)控,我們熟悉的有Microsoft Project,IBM Rational Portfolio Manager等等。這兩個(gè)產(chǎn)品的功能都非常的成熟和完善。然而其不足之處也是顯而易見(jiàn)的,首先昂貴的授權(quán)費(fèi)用以及復(fù)雜的項(xiàng)目流程培

6、訓(xùn)都無(wú)疑是一個(gè)巨大的門(mén)檻,對(duì)于一些預(yù)算緊、內(nèi)部臨時(shí)組成開(kāi)發(fā)周期短的小項(xiàng)目來(lái)說(shuō)不是很適用甚至有牛刀殺雞不是很適宜。1 在本篇論文中,使用Tomcat作為web應(yīng)用服務(wù)器來(lái)是設(shè)計(jì)一套內(nèi)部使用的項(xiàng)目管理系統(tǒng)。這個(gè)系統(tǒng)可以根據(jù)企業(yè)內(nèi)部需求開(kāi)發(fā)模式,把項(xiàng)目分解為工作任務(wù)分解結(jié)構(gòu)(WBS)和規(guī)格說(shuō)明分解結(jié)構(gòu)(SBS)兩個(gè)樹(shù)形結(jié)構(gòu)。同時(shí)提供了多項(xiàng)目并行、人員合理分配等協(xié)作性管理、能使項(xiàng)目經(jīng)理對(duì)項(xiàng)目中的每個(gè)部分進(jìn)行實(shí)時(shí)的進(jìn)度監(jiān)控,明確個(gè)人分工和專業(yè)化。能追蹤到項(xiàng)目的狀態(tài)、產(chǎn)生項(xiàng)目詳細(xì)的報(bào)告,從而大幅度提高項(xiàng)目效率。2. 系統(tǒng)需求分析2.1項(xiàng)目基本元素 企業(yè)內(nèi)部項(xiàng)目開(kāi)發(fā)模式一般具有下面幾類(lèi)元素:項(xiàng)目組、項(xiàng)目、任

7、務(wù)、需求規(guī)格??傮w的架構(gòu)如下圖2-1所示:圖2-1項(xiàng)目元素結(jié)構(gòu)Fig.2-1 Project elements structure (一)項(xiàng)目組是若干項(xiàng)目的集合,表示有著一類(lèi)共同屬性的項(xiàng)目。相對(duì)于軟件開(kāi)發(fā)項(xiàng)目來(lái)說(shuō),一個(gè)項(xiàng)目組通常代表著一個(gè)產(chǎn)品系列。項(xiàng)目組由項(xiàng)目經(jīng)理創(chuàng)建或者刪除,在創(chuàng)建時(shí)同時(shí)設(shè)定項(xiàng)目組的名稱、優(yōu)先級(jí)、狀態(tài)、開(kāi)始日期以及結(jié)束日期、項(xiàng)目組描述,并且可以附加若干文件作為附件;系統(tǒng)能夠自動(dòng)記錄項(xiàng)目組的創(chuàng)建日期、時(shí)間,以及創(chuàng)建人。項(xiàng)目經(jīng)理隨后可以創(chuàng)建項(xiàng)目組下面的每一個(gè)項(xiàng)目并任命相應(yīng)的產(chǎn)品經(jīng)理。 (二) 項(xiàng)目是完成某項(xiàng)工作的任務(wù)的集合。對(duì)于軟件開(kāi)發(fā)來(lái)說(shuō),通常是指一個(gè)產(chǎn)品的某個(gè)版本的整個(gè)開(kāi)發(fā)過(guò)

8、程。 項(xiàng)目是由項(xiàng)目經(jīng)理來(lái)進(jìn)行創(chuàng)建、刪除和維護(hù)。創(chuàng)建的時(shí)候設(shè)置項(xiàng)目的名稱和描述(可以附加文件)以及優(yōu)先級(jí),狀態(tài)以及起止日期,并指定一個(gè)或者多個(gè)產(chǎn)品經(jīng)理,而產(chǎn)品經(jīng)理只能對(duì)自己負(fù)責(zé)的項(xiàng)目進(jìn)行需求規(guī)格的維護(hù)工作。系統(tǒng)自動(dòng)生成項(xiàng)目的創(chuàng)建日期時(shí)間以及創(chuàng)建人。其中項(xiàng)目的優(yōu)先級(jí)包括:緊急(Ugent)、高(High)、 正常(Normal)和低優(yōu)先級(jí)(Low);項(xiàng)目的狀態(tài)包括:新建(New)、計(jì)劃(Planned)、活動(dòng)(Active)、完成(Completed)、暫停(On hold)和取消(Cancelled)。 此外,每個(gè)項(xiàng)目具有一個(gè)完成百分比屬性,表示這個(gè)項(xiàng)目當(dāng)前的進(jìn)度。這個(gè)是根據(jù)其下的第一級(jí)任務(wù)的完

9、成情況計(jì)算得出。 (三) 任務(wù)(Task) 任務(wù)是項(xiàng)目中的工作單元,代表著需要完成的一組工作。任務(wù)可以嵌套子任務(wù),可以無(wú)限制向下分解。 任務(wù)由項(xiàng)目經(jīng)理創(chuàng)建,創(chuàng)建的時(shí)候需要指定任務(wù)名稱、描述(可以包括附件)、時(shí)間、優(yōu)先級(jí)、狀態(tài)、任務(wù)所有者和任務(wù)成員以及估計(jì)的期望工作量(人天數(shù)),系統(tǒng)自動(dòng)生成創(chuàng)建時(shí)間以及創(chuàng)建人。還可以指定一個(gè)規(guī)格說(shuō)明相關(guān)聯(lián)。 這里尤其是在做某個(gè)項(xiàng)目需要眾多部門(mén)的同事協(xié)作共同參與時(shí),在創(chuàng)建任務(wù)同時(shí)還可以指定參與這個(gè)項(xiàng)目的成員組成一個(gè)虛擬團(tuán)隊(duì)(Virtual Team)。任務(wù)如果有虛擬團(tuán)隊(duì)且關(guān)聯(lián)了規(guī)格說(shuō)明,則對(duì)應(yīng)的規(guī)格說(shuō)明的產(chǎn)品經(jīng)理自動(dòng)成為這個(gè)虛擬團(tuán)隊(duì)的產(chǎn)品經(jīng)理角色。 (四) 需求規(guī)

10、格是指項(xiàng)目需要完成的目標(biāo),在客戶的開(kāi)發(fā)模式中,需求規(guī)格可以進(jìn)行分解,每一項(xiàng)需求規(guī)格概括了一項(xiàng)軟件產(chǎn)品開(kāi)發(fā)的一個(gè)功能,而每一項(xiàng)子需求代表組成上一級(jí)功能的若干子功能之一。 需求規(guī)格具有樹(shù)狀結(jié)構(gòu),可以無(wú)限制分解。每需求規(guī)格由產(chǎn)品經(jīng)理創(chuàng)建,刪除或者維護(hù)。創(chuàng)建的時(shí)候需要設(shè)置的信息包括:需求規(guī)格的名稱,描述(可包括附件),優(yōu)先級(jí)。系統(tǒng)自動(dòng)生成創(chuàng)建時(shí)間以及創(chuàng)建人。產(chǎn)品經(jīng)理創(chuàng)建需求規(guī)格時(shí)還會(huì)估算一個(gè)用于參考的大致的人天數(shù)。每個(gè)需求規(guī)格之后還可能跟一個(gè)任務(wù)相關(guān)聯(lián),代表實(shí)現(xiàn)這個(gè)需求規(guī)格需要進(jìn)行的任務(wù)。 (五) 人員角色在一個(gè)項(xiàng)目中,每一個(gè)節(jié)點(diǎn)都會(huì)關(guān)聯(lián)著若干的成員。并且有著上下級(jí)包含的關(guān)系,即項(xiàng)目中任務(wù)的成員必定是

11、項(xiàng)目的成員的一部分,下級(jí)任務(wù)的成員一定是上級(jí)任務(wù)成員的一部分。 在客戶的開(kāi)發(fā)項(xiàng)目中,通常會(huì)有下面幾種特殊的人員角色:項(xiàng)目經(jīng)理 (Project Lead, PL), 產(chǎn)品經(jīng)理 (Product Manager, PM), 任務(wù)擁有者 (Task Owner), 任務(wù)成員 (Task Member), 系統(tǒng)管理員 (System Admin)2.2項(xiàng)目開(kāi)發(fā)流程圖圖2-2 項(xiàng)目開(kāi)發(fā)流程圖Fig.2-2 Project development process diagram2.3報(bào)表生成以及其他需求可以在任意節(jié)點(diǎn)下按照某類(lèi)條件搜索所有的子節(jié)點(diǎn),可以包含的條件包括:a. 擁有者b. 相關(guān)人(在節(jié)點(diǎn)的用

12、戶組中)c. 狀態(tài)d. 日期范圍(包括 開(kāi)始日期/結(jié)束日期早于/晚于指定的日期)f. 節(jié)點(diǎn)類(lèi)型g. 完成百分比范圍(修改) 各個(gè)條件之間用于關(guān)系連接,搜索結(jié)果按照深度優(yōu)先順序排列。查詢結(jié)果格式如圖2-3所示:圖2-3 報(bào)表實(shí)例Fig.2-3 Report example3 系統(tǒng)設(shè)計(jì)3.1系統(tǒng)總體架構(gòu)協(xié)作型項(xiàng)目管理系統(tǒng)使用典型的三層架構(gòu),底層是數(shù)據(jù)庫(kù)實(shí)現(xiàn)。通過(guò)JDBC標(biāo)準(zhǔn)化接口可以支持不同類(lèi)型的數(shù)據(jù)庫(kù)。中間層是主要的業(yè)務(wù)邏輯模塊,提供系統(tǒng)的主要業(yè)務(wù)邏輯實(shí)現(xiàn)。最上端是JSP表現(xiàn)層,負(fù)責(zé)將業(yè)務(wù)邏輯界面生成HTML代碼在客戶端的瀏覽器中進(jìn)渲染。如圖3-1所示。圖3-1 B/S協(xié)作型項(xiàng)目管理系統(tǒng)使用典型

13、的三層架構(gòu)Fig.3-1 Three lawyer of B/S architecture collaborative project management system3.2數(shù)據(jù)流圖圖3-2 頂級(jí)數(shù)據(jù)流圖Fig.3-2 Top level Data Flow Diagram3.3數(shù)據(jù)庫(kù)的設(shè)計(jì)與建模 整個(gè)數(shù)據(jù)庫(kù)采用開(kāi)放源碼的關(guān)系型數(shù)據(jù)庫(kù)Mysql作為系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)。對(duì)于一般的個(gè)人使用者和中小型企業(yè)來(lái)說(shuō),MySQL提供的功能已經(jīng)綽綽有余,而且由于MySQL是開(kāi)放源碼軟件,因此可以大大降低總體擁有成本。 系統(tǒng)整個(gè)分為: 節(jié)點(diǎn)信息, 用戶信息,附件信息, 項(xiàng)目論壇信息, 系統(tǒng)用戶角色信息, 規(guī)格

14、說(shuō)明信息, 節(jié)點(diǎn)用戶組和虛擬團(tuán)隊(duì), 部門(mén)信息, 歷史數(shù)據(jù)快照信息等數(shù)據(jù)表格。 如下圖3-3,顯示這些表的大致關(guān)聯(lián):圖3-3數(shù)據(jù)庫(kù)關(guān)系圖Fig.3-3 Database list relationship3.4模塊設(shè)計(jì) 在模塊初期設(shè)計(jì)過(guò)程中,我們使用UML統(tǒng)一建模語(yǔ)言進(jìn)行建模,UML符號(hào)集只是一種語(yǔ)言而不是一種方法學(xué)。這點(diǎn)很重要,因?yàn)檎Z(yǔ)言與方法學(xué)不同,它可以在不做任何更改的情況下很容易地適應(yīng)任何公司的業(yè)務(wù)運(yùn)作方式。UML還提供了多種類(lèi)型的模型描述圖(diagram),最常用的UML圖包括:用例圖、類(lèi)圖、序列圖、狀態(tài)圖、活動(dòng)圖、組件圖和部署圖。 在系統(tǒng)地詳細(xì)設(shè)計(jì)過(guò)程中,我們使用UML的類(lèi)圖來(lái)描述我

15、們?cè)O(shè)計(jì)的類(lèi)的結(jié)構(gòu),這樣做的好處包括:首先,類(lèi)的結(jié)構(gòu)非常清晰易懂;其次,我們接下來(lái)可以通過(guò)工具直接自動(dòng)地把類(lèi)圖轉(zhuǎn)化為Java類(lèi)文件,迅速搭起系統(tǒng)框架。一個(gè)典型類(lèi)圖類(lèi)使用包含三個(gè)部分的矩形來(lái)描述。最上面的部分顯示類(lèi)的名稱,中間部分包含類(lèi)的屬性,最下面的部分包含類(lèi)的操作或者方法。項(xiàng)目管理模塊是系統(tǒng)的核心模塊之一,主要提供對(duì)項(xiàng)目組、項(xiàng)目、任務(wù)、需求規(guī)格的類(lèi)的實(shí)例化以及管理的功能。在這個(gè)包內(nèi)具有如下幾個(gè)類(lèi),見(jiàn)表3-1:表3-1 項(xiàng)目管理模塊類(lèi)列表Table 3-1 Project management module classes list類(lèi)名描述Node父類(lèi),提供ProjectGroup Projec

16、t Task的公共屬性ProjectGroup繼承Node,表示一個(gè)項(xiàng)目組Project繼承Node,表示一個(gè)項(xiàng)目Task繼承Node,表示一個(gè)項(xiàng)目任務(wù)結(jié)點(diǎn)Spec表示一項(xiàng)規(guī)格說(shuō)明NodeFactory用來(lái)產(chǎn)生Node節(jié)點(diǎn)實(shí)例的工廠對(duì)象人員管理模塊也是系統(tǒng)的核心模塊,主要提供了系統(tǒng)中關(guān)于人員的實(shí)現(xiàn)和管理。其中包括與節(jié)點(diǎn)相關(guān)聯(lián)的用戶組和虛擬團(tuán)隊(duì)、系統(tǒng)用戶的實(shí)現(xiàn)和管理、以及用戶所屬部門(mén)的管理。包內(nèi)主要成員類(lèi)有,見(jiàn)表3-2:表3-2 人員管理模塊類(lèi)列表Table 3-2 People management module classes list類(lèi)名描述User每一個(gè)實(shí)例代表系統(tǒng)中的一個(gè)用戶UserM

17、anager提供對(duì)系統(tǒng)中用戶的管理的一組靜態(tài)方法DepartmentManager對(duì)系統(tǒng)中的用戶所屬部門(mén)進(jìn)行管理NodeUserGroup每一個(gè)實(shí)例代表著每一個(gè)節(jié)點(diǎn)所關(guān)聯(lián)的用戶組SystemUserGroupManager管理系統(tǒng)用戶的角色 除了上述兩個(gè)重要模塊外系統(tǒng)還有: 系統(tǒng)配置模塊僅僅包括一個(gè)類(lèi),用來(lái)讀取系統(tǒng)的配置文件并且動(dòng)態(tài)更改系統(tǒng)的運(yùn)行參數(shù)。 數(shù)據(jù)庫(kù)連接模塊主要包括三個(gè)類(lèi),用來(lái)管理系統(tǒng)所用數(shù)據(jù)庫(kù)的連接池、并且將SQL查詢操作進(jìn)行封裝。 搜索引擎模塊負(fù)責(zé)對(duì)項(xiàng)目管理系統(tǒng)內(nèi)項(xiàng)目組、項(xiàng)目、任務(wù)、規(guī)格說(shuō)明和用戶進(jìn)行搜索。并負(fù)責(zé)生成報(bào)表功能,能夠?qū)?xiàng)目的任意一級(jí)任務(wù)或者對(duì)整個(gè)項(xiàng)目產(chǎn)生詳細(xì)的WBS

18、的報(bào)表。 標(biāo)簽庫(kù)實(shí)用程序模塊通過(guò)Java的標(biāo)簽庫(kù)TagLibs的技術(shù)特性,主要是實(shí)現(xiàn)了很多在JSP表現(xiàn)層使用的標(biāo)簽,極大的降低了JSP表現(xiàn)層的復(fù)雜性,更好的做到了表現(xiàn)層和業(yè)務(wù)邏輯層的分離,無(wú)論是對(duì)開(kāi)發(fā)還是后期的維護(hù)都有著極大的好處。公用實(shí)用程序模塊,這個(gè)模塊主要是一些實(shí)用程序類(lèi)。為系統(tǒng)提供一些低層的處理函數(shù)。4 信息系統(tǒng)實(shí)現(xiàn)4.1開(kāi)放集成開(kāi)發(fā)環(huán)境Eclipse Eclipse 是IBM向開(kāi)源社區(qū)捐贈(zèng)的一個(gè)開(kāi)放源代碼的、基于 Java 的可擴(kuò)展開(kāi)發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過(guò)插件組件構(gòu)建開(kāi)發(fā)環(huán)境。幸運(yùn)的是,Eclipse 附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括 Java 開(kāi)發(fā)工具

19、(Java Development Tools,JDT)。 Eclipse不僅僅可以作為一個(gè)Java IDE來(lái)使用。Eclipse還包括插件開(kāi)發(fā)環(huán)境(PDE),用來(lái)使得軟件開(kāi)發(fā)人員可以無(wú)限的擴(kuò)展Eclipse的功能。 盡管Eclipse是基于Java語(yǔ)言開(kāi)發(fā)的,但它還具備支持諸如C/C+、COBOL和Eiffel等等編程語(yǔ)言的插件。Eclipse框架還可用來(lái)作為與軟件開(kāi)發(fā)無(wú)關(guān)的其他應(yīng)用程序類(lèi)型的基礎(chǔ),比如內(nèi)容管理系統(tǒng)。 基于Eclipse的應(yīng)用程序的突出例子是IBM Rational Application Developer,通過(guò)添加了對(duì)JSP、servlet、EJB、XML、Web 服務(wù)和

20、數(shù)據(jù)庫(kù)訪問(wèn)的支持,RAD成為了IBM強(qiáng)大的J2EE軟件開(kāi)發(fā)平臺(tái)。 由于Eclipse是基于Java技術(shù)的,因此它具有Java與生俱來(lái)的優(yōu)良特性:跨平臺(tái)。我們的開(kāi)發(fā)環(huán)境可以無(wú)需任何更改在Windows和Linux平臺(tái)上自由切換完美運(yùn)行。4.2 Java軟件開(kāi)發(fā)工具包J2SE SDK J2SE SDK的全稱是Java 2 Platform Standard Edition Software Development Kit。SDK中提供了在桌面、服務(wù)器以及嵌入式領(lǐng)域開(kāi)發(fā)Java應(yīng)用程序的完整環(huán)境,其中包括了Java編譯器和JRE等組件。JRE是Java Runtime Environment的縮寫(xiě),

21、中文名稱為Java運(yùn)行環(huán)境。JRE為運(yùn)行使用Java語(yǔ)言編寫(xiě)的Applet和應(yīng)用程序提供了一組庫(kù),Java虛擬機(jī)以及其他的必需組件。Java程序經(jīng)過(guò)Java編譯器進(jìn)行編譯生成字節(jié)碼,也就是我們見(jiàn)到的.class文件。字節(jié)碼文件隨后就可以在各個(gè)操作系統(tǒng)的Java虛擬機(jī)中運(yùn)行,達(dá)到了一次編譯,到處運(yùn)行的效果。4.3. 開(kāi)源應(yīng)用程序服務(wù)器TomcatTomcat是一個(gè)免費(fèi)的開(kāi)源的Serlvet容器,是Apache組織Jakarta項(xiàng)目中的一個(gè)重要的子項(xiàng)目(具體可以見(jiàn) 最新的Servlet和Jsp規(guī)范總能在Tomcat中得到體現(xiàn), Tomcat短小精悍,配置方便,能滿足我們需求所以在這次項(xiàng)目自然選擇了

22、Tomcat作為我們的web應(yīng)用程序運(yùn)行環(huán)境。4.4 開(kāi)放源代碼數(shù)據(jù)庫(kù)mysql MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫(kù),對(duì)于一般的個(gè)人使用者和中小型規(guī)模項(xiàng)目來(lái)說(shuō)MySQL提供的功能已經(jīng)綽綽有余,而且由于MySQL是開(kāi)放源碼軟件,因此可以大大降低總體成本。4.5 開(kāi)放操作系統(tǒng)Linux 由于Linux是一個(gè)開(kāi)放源代碼的操作系統(tǒng),全世界所有的Linux開(kāi)發(fā)人員都是Linux的開(kāi)發(fā)團(tuán)隊(duì),從而使得Linux是最具活力的操作系統(tǒng)。如今,Linux已經(jīng)具

23、備了現(xiàn)代操作系統(tǒng)的很多特性,在很多領(lǐng)域,無(wú)論從技術(shù)、性能、穩(wěn)定性和安全性上已經(jīng)達(dá)到或者超過(guò)了很多主流的商業(yè)操作系統(tǒng)。與此同時(shí),在Linux平臺(tái)上的優(yōu)秀的應(yīng)用程序也極其豐富,基本涵蓋了各個(gè)方面。Linux以其優(yōu)異的特性,已經(jīng)成為了服務(wù)器極其理想的操作系統(tǒng)平臺(tái)。5系統(tǒng)技術(shù)要點(diǎn)討論5.1 Taglibs Taglibs將標(biāo)簽的功能移到對(duì)應(yīng)實(shí)現(xiàn)標(biāo)簽的Java類(lèi)中,從而減少了在JSP頁(yè)面中混合大量Java腳本的必要性。通常的腳本混合的做法是一種快而雜的編碼方式,但是這種方法使得程序錯(cuò)綜復(fù)雜、難以調(diào)試和管理。而且可能導(dǎo)致一段代碼出現(xiàn)多個(gè)版本。因此從長(zhǎng)遠(yuǎn)來(lái)看,JSP頁(yè)面的表示需要一種清晰的解決方案。此時(shí)可以

24、通過(guò)Taglibs將可以重復(fù)使用的混雜在JSP中的Java代碼片斷組織成清晰的模塊,在所有的JSP中可以方便的調(diào)用。在此管理信息系統(tǒng)中,我們大量使用了自定義標(biāo)簽庫(kù),由此帶來(lái)的直接的好處包括:大幅度提高開(kāi)發(fā)效率、頁(yè)面風(fēng)格很容易達(dá)到一致、代碼修改和調(diào)試變得非常容易。下圖就是系統(tǒng)中使用Taglibs一些界面實(shí)例。圖5-1 Taglibs實(shí)例圖Fig.5-1 Taglibs Sample Diagram我們拿中間部分的SelectUserTag元素舉例:具有(修改)這樣復(fù)雜界面和大量的客戶端JavaScript的JSP頁(yè)面,其源代碼僅僅如下一行:Users:teamweb:selectUser nodeI

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論