JSP企業(yè)合同管理系統(tǒng)論文_第1頁
JSP企業(yè)合同管理系統(tǒng)論文_第2頁
JSP企業(yè)合同管理系統(tǒng)論文_第3頁
JSP企業(yè)合同管理系統(tǒng)論文_第4頁
JSP企業(yè)合同管理系統(tǒng)論文_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、職場(chǎng)大變樣社區(qū)( zcdby ):下載畢業(yè)設(shè)計(jì)成品全套資料,全部50元以下畢業(yè)設(shè)計(jì)(論文) 題 目: JSP合同信息管理系統(tǒng) 學(xué) 校: 專 業(yè): 年 級(jí): 姓 名: 學(xué) 號(hào): (學(xué)號(hào)) 指導(dǎo)教師: 年 月 日目 錄 TOC o 1-3 h z u HYPERLINK l _Toc363393588 摘要 PAGEREF _Toc363393588 h 3 HYPERLINK l _Toc363393589 Abstract PAGEREF _Toc363393589 h 4 HYPERLINK l _Toc363393590 1、引言 PAGEREF _Toc363393590 h 4 HYP

2、ERLINK l _Toc363393591 開發(fā)背景 PAGEREF _Toc363393591 h 4 HYPERLINK l _Toc363393592 1.2 課題研究的意義 PAGEREF _Toc363393592 h 5 HYPERLINK l _Toc363393593 1.3 發(fā)展趨勢(shì) PAGEREF _Toc363393593 h 5 HYPERLINK l _Toc363393594 1.4 系統(tǒng)開發(fā)方法 PAGEREF _Toc363393594 h 6 HYPERLINK l _Toc363393595 1.6 可行性研究 PAGEREF _Toc363393595

3、h 7 HYPERLINK l _Toc363393596 1.6.1 經(jīng)濟(jì)可行性 PAGEREF _Toc363393596 h 7 HYPERLINK l _Toc363393597 1.6.2 技術(shù)可行性 PAGEREF _Toc363393597 h 7 HYPERLINK l _Toc363393598 運(yùn)行可行性 PAGEREF _Toc363393598 h 7 HYPERLINK l _Toc363393599 1.6.4 時(shí)間可行性 PAGEREF _Toc363393599 h 7 HYPERLINK l _Toc363393600 1.6.5 法律可行性 PAGEREF

4、_Toc363393600 h 8 HYPERLINK l _Toc363393601 2、相關(guān)技術(shù)簡(jiǎn)介 PAGEREF _Toc363393601 h 8 HYPERLINK l _Toc363393602 2.1 JSP技術(shù)簡(jiǎn)介 PAGEREF _Toc363393602 h 8 HYPERLINK l _Toc363393603 2.2 JSP工作原理 PAGEREF _Toc363393603 h 9 HYPERLINK l _Toc363393604 2.3 JSP體系結(jié)構(gòu) PAGEREF _Toc363393604 h 9 HYPERLINK l _Toc363393605 2.4

5、 JSP的特點(diǎn) PAGEREF _Toc363393605 h 10 HYPERLINK l _Toc363393606 2.5 SQLSERVER 2005 PAGEREF _Toc363393606 h 11 HYPERLINK l _Toc363393607 系統(tǒng)數(shù)據(jù)庫連接 PAGEREF _Toc363393607 h 11 HYPERLINK l _Toc363393608 2.7 BS模式與C/S模式的比較分析 PAGEREF _Toc363393608 h 16 HYPERLINK l _Toc363393609 3、需求分析和設(shè)計(jì)方案 PAGEREF _Toc363393609

6、 h 19 HYPERLINK l _Toc363393610 3.1 需求分析 PAGEREF _Toc363393610 h 19 HYPERLINK l _Toc363393611 3.1 功能模塊圖 PAGEREF _Toc363393611 h 19 HYPERLINK l _Toc363393612 3.2 處理流程設(shè)計(jì) PAGEREF _Toc363393612 h 20 HYPERLINK l _Toc363393613 3.2.1 系統(tǒng)操作流程圖 PAGEREF _Toc363393613 h 21 HYPERLINK l _Toc363393614 3.2.2 數(shù)據(jù)增加流程

7、 PAGEREF _Toc363393614 h 21 HYPERLINK l _Toc363393615 3.2.3 數(shù)據(jù)修改流程 PAGEREF _Toc363393615 h 22 HYPERLINK l _Toc363393616 3.2.4 數(shù)據(jù)刪除流程 PAGEREF _Toc363393616 h 23 HYPERLINK l _Toc363393617 4、數(shù)據(jù)庫設(shè)計(jì) PAGEREF _Toc363393617 h 24 HYPERLINK l _Toc363393618 4.1 數(shù)據(jù)庫的概念設(shè)計(jì) PAGEREF _Toc363393618 h 24 HYPERLINK l _

8、Toc363393619 4.2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì) PAGEREF _Toc363393619 h 24 HYPERLINK l _Toc363393620 4.3 數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計(jì) PAGEREF _Toc363393620 h 25 HYPERLINK l _Toc363393621 4.4 輸入輸出設(shè)計(jì) PAGEREF _Toc363393621 h 26 HYPERLINK l _Toc363393622 4.5 代碼設(shè)計(jì) PAGEREF _Toc363393622 h 26 HYPERLINK l _Toc363393623 5、系統(tǒng)模塊設(shè)計(jì) PAGEREF _Toc363393

9、623 h 27 HYPERLINK l _Toc363393624 5.1 登陸模塊 PAGEREF _Toc363393624 h 27 HYPERLINK l _Toc363393625 5.2 系統(tǒng)主界面 PAGEREF _Toc363393625 h 28 HYPERLINK l _Toc363393626 5.3 合同管理模塊設(shè)計(jì) PAGEREF _Toc363393626 h 28 HYPERLINK l _Toc363393627 5.3.1 合同管理 PAGEREF _Toc363393627 h 28 HYPERLINK l _Toc363393628 5.3.2 合同添加

10、 PAGEREF _Toc363393628 h 28 HYPERLINK l _Toc363393629 5.4 合同收款提醒模塊設(shè)計(jì) PAGEREF _Toc363393629 h 29 HYPERLINK l _Toc363393630 5.5 合同查詢模塊設(shè)計(jì) PAGEREF _Toc363393630 h 29 HYPERLINK l _Toc363393631 5、系統(tǒng)調(diào)試與測(cè)試 PAGEREF _Toc363393631 h 30 HYPERLINK l _Toc363393632 5.1 程序調(diào)試 PAGEREF _Toc363393632 h 30 HYPERLINK l _

11、Toc363393633 5. 2 程序的測(cè)試 PAGEREF _Toc363393633 h 30 HYPERLINK l _Toc363393634 5.2.1 測(cè)試的重要性及目的 PAGEREF _Toc363393634 h 30 HYPERLINK l _Toc363393635 5.2.2 測(cè)試的步驟 PAGEREF _Toc363393635 h 32 HYPERLINK l _Toc363393636 5.2.3 測(cè)試的主要內(nèi)容 PAGEREF _Toc363393636 h 32 HYPERLINK l _Toc363393637 結(jié)束語 PAGEREF _Toc363393

12、637 h 34 HYPERLINK l _Toc363393638 致謝 PAGEREF _Toc363393638 h 36 HYPERLINK l _Toc363393639 參考文獻(xiàn) PAGEREF _Toc363393639 h 37摘要隨著信息科學(xué)技術(shù)的飛速發(fā)展,人們逐漸意識(shí)到對(duì)信息管理軟件的運(yùn)用可以使日常工作更加方便、快捷和高效。論文詳細(xì)論述了公司合同管理系統(tǒng)的開發(fā)設(shè)計(jì)過程。軟件采用JSP開發(fā)技術(shù),Tomcat作容器, SQL Server 2000作數(shù)據(jù)庫管理系統(tǒng),實(shí)現(xiàn)了創(chuàng)建合同、修改合同、刪除合同、合同收款提醒、合同時(shí)間管理、合同查詢等幾大功能。軟件符合公司合同管理的需求,能

13、夠幫助公司切實(shí)提高工作效率。軟件的開發(fā)符合一般管理軟件的開發(fā)流程,對(duì)開發(fā)其他類似的管理軟件具有相當(dāng)?shù)膮⒖純r(jià)值。論文組織如下:首先闡述了該系統(tǒng)的開發(fā)背景、意義;其次介紹了相關(guān)的理論基礎(chǔ);接著對(duì)系統(tǒng)的需求進(jìn)行了分析,并提出了具體的設(shè)計(jì)方案;然后展現(xiàn)了系統(tǒng)各功能模塊的實(shí)現(xiàn);最后對(duì)該軟件進(jìn)行了嚴(yán)格的測(cè)試。關(guān)鍵詞:合同管理;JSP;Tomcat;SQL server 2000Abstract With the rapid development of information technology, people gradually realize that the utilization of info

14、rmation management software can make daily work more convenient, fast and efficient. The paper discusses in detail the development and design process of the contract management system. The software adopts JSP development technology, Tomcat as the container, SQL Server 2000 as the database management

15、 system, several big function to create, modify, delete contract contract contract, contract payment reminder, contract management, contract query time. Management software meets the contract requirements, can help the company enhance its work efficiency. Software development in line with the genera

16、l management of the software development process, of great reference value for the development of other similar management software Paper is organized as follows: First, the development of the system described the background and significance; then introduces the relevant theoretical basis; then the

17、system needs analysis, and proposed specific design plan; and then show the system functional modules; Finally, the software has been rigorously tested.Key words: Contract Management System; JSP; Tomcat; SQL server 20001、引言 開發(fā)背景在人類的文明歷史中,一直以來合同管理都是手工作業(yè),由于涉及部門眾多,需要管理的合同要素也各不相同。因此造成信息不集中,實(shí)時(shí)性不強(qiáng),不斷的出現(xiàn)各個(gè)

18、部門間合同流轉(zhuǎn)時(shí)間過長(zhǎng),監(jiān)督制度執(zhí)行方面效率不高,并且容易出錯(cuò)的一系列費(fèi)時(shí)費(fèi)力問題,具體表現(xiàn)在如下方面:1) 文檔管理困難:傳統(tǒng)紙質(zhì)合同和電子版合同共存,但對(duì)于不同的人員想閱讀參考合同時(shí),存在查閱不方便的問題,尤其是領(lǐng)導(dǎo)需要了解某合同內(nèi)容時(shí),就要耗費(fèi)很多時(shí)間在查找合同,而不是閱讀合同上。2) 進(jìn)度控制困難:由于合同的數(shù)量會(huì)隨著時(shí)間的流逝而不斷累積,參與的人員也會(huì)越來越多,合同進(jìn)度的控制靠手工和Word、Excel等辦公軟件管理已經(jīng)很難滿足公司的發(fā)展需求,并且當(dāng)領(lǐng)導(dǎo)想全局或全程了解合同進(jìn)展情況時(shí)存在很大障礙。財(cái)務(wù)人員的付款依據(jù)也跟進(jìn)度有著密切的關(guān)聯(lián),但同樣存在障礙。3) 信息匯總困難:采用人手或

19、Excel等辦公軟件管理時(shí),由于不同部門的數(shù)據(jù)格式不統(tǒng)一,采集也不能夠及時(shí)繼續(xù),匯總工作需要耗費(fèi)大量時(shí)間,也不一定準(zhǔn)確。對(duì)于領(lǐng)導(dǎo)的決策會(huì)有一定的影響。4) 缺少預(yù)警機(jī)制:缺少對(duì)合同進(jìn)度、結(jié)款等關(guān)鍵時(shí)刻的預(yù)警,不能準(zhǔn)確地預(yù)測(cè)近期可能的收支項(xiàng)目,不能有效幫助公司進(jìn)行財(cái)務(wù)規(guī)劃,掌控現(xiàn)金流量,更好地達(dá)到資金運(yùn)作的最大效益。 課題研究的意義在背景里已經(jīng)合同管理的現(xiàn)狀,在這種大環(huán)境下,公司對(duì)合同管理也變的十分重要了,怎么提高管理效率,實(shí)現(xiàn)員工的工作智能化,成為迫切需要解決的問題,而此管理軟件正是為滿足公司的管理而出現(xiàn)的。雖然合同管理軟件這塊,中國遠(yuǎn)遠(yuǎn)比不上做了幾十年的歐美,但是歐美軟件的成本卻讓中國本土的

20、公司望而卻步,這就對(duì)國內(nèi)軟件行業(yè)提出了要求,誰能占得先機(jī)就能擁有更多的市場(chǎng)競(jìng)爭(zhēng)力,誰能針對(duì)行業(yè)開發(fā)出更適應(yīng)公司的合同管理軟件就擁有更多的技術(shù)競(jìng)爭(zhēng)里,所以,開發(fā)公司合同管理軟件不只能提高公司的管理和辦公的效率,更重要的是,中國本土開發(fā)的軟件,成本上就有競(jìng)爭(zhēng)力,對(duì)整個(gè)行業(yè)都有很大的貢獻(xiàn)。1.3 發(fā)展趨勢(shì)完善的合同管理是公司運(yùn)作的一個(gè)主要標(biāo)志。然而,完善的合同管理需要公司的許多資源,如何去解決格式不統(tǒng)一而帶來的文檔管理困難,讓不同人員想閱讀參考合同時(shí),查找不方便的問題,減少領(lǐng)導(dǎo)了解合同文本時(shí)的時(shí)間。如何去解決進(jìn)度控制的困難,減少合同數(shù)量多而引發(fā)參與的人員眾多的顯現(xiàn),從而減少公司的成本。如何去解決信息

21、匯總的困難,讓不同格式的合同得以匯總,解決以前手工管理時(shí)不能夠及時(shí)匯總的問題。如何去解決缺少預(yù)警機(jī)制而不能掌控現(xiàn)金流、不能更好的發(fā)揮資金的運(yùn)作等一系列問題。解決這些問題能有效的提高公司的經(jīng)濟(jì)效益。目前國內(nèi)主流的軟件開發(fā)基于兩種模式:客戶機(jī)/服務(wù)器(Client/Server,簡(jiǎn)稱C/S)模式和Web瀏覽器/服務(wù)器(Browser/Server,簡(jiǎn)稱B/S)模式。雖然出于安全性等方面的因素,C/S結(jié)構(gòu)的管理信息系統(tǒng)仍然占據(jù)企業(yè)管理信息系統(tǒng)的主流,但是,由于B/S系統(tǒng)更適合維護(hù),而且起安全性正在不斷完善,所以當(dāng)前企業(yè)信息管理系統(tǒng)正在從C/S結(jié)構(gòu)向B/S結(jié)構(gòu)轉(zhuǎn)移。而現(xiàn)在開發(fā)B/S系統(tǒng)的主流技術(shù)就是和

22、JSP,雖然為新興技術(shù)正不斷搶占JSP的市場(chǎng),但出于系統(tǒng)的移植性的考慮,本系統(tǒng)還是運(yùn)用JSP技術(shù)開發(fā),因?yàn)镴AVA的跨平臺(tái)性能給我們帶來更多的用戶。服務(wù)器上我們選擇Tomcat,是因?yàn)樗∏蓞s功能強(qiáng)大,更重要的是,它是開源的,如今,開源軟件越來越受到人們的重視,Linux就是一個(gè)成功的典型,雖然這對(duì)我們的開發(fā)沒有實(shí)際的用處,但是顧客會(huì)優(yōu)先選擇用流行工具開發(fā)的軟件,這也是我們選擇Tomcat的原因?,F(xiàn)在主流的數(shù)據(jù)庫就三種:Access, Oracle和SQL Server。Access短小精干,操作方便,是開發(fā)小型系統(tǒng)的首選;Oracle功能強(qiáng)大,適合開發(fā)大型系統(tǒng);但是我們選擇SQL Serve

23、r,它兼?zhèn)銩ccess和Oracle優(yōu)點(diǎn),強(qiáng)大的可視化操作和不亞于Oracle的功能是我們選擇它的理由。1.4 系統(tǒng)開發(fā)方法本系統(tǒng)是以Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu)和JSP語言及SQL Server2000數(shù)據(jù)庫和TOMCAT作為服務(wù)器開發(fā)的管理系統(tǒng)。首先,使用JSP具有較好的安全性和可移植性,具有動(dòng)態(tài)頁面和靜態(tài)頁面分離,能夠脫離硬件平臺(tái)的束縛,而使用Browser/Server結(jié)構(gòu)是因?yàn)檫@種結(jié)構(gòu)可以減少客戶端很大維護(hù)工作量,且具有很強(qiáng)的使用范圍的伸縮性,客戶端通過瀏覽器統(tǒng)一界面,就可以完成內(nèi)部的信息處理和外部環(huán)境的信息查詢,而使用SQL Server2000主要是由于它有

24、快捷而健全的數(shù)據(jù)庫查詢引擎,能夠保護(hù)數(shù)據(jù)庫以防止不合法的使用所造成的數(shù)據(jù)泄露,更改或破壞,SQL Server提供多層用戶身份驗(yàn)證的安全保證,其次,公司要求用JSP來實(shí)現(xiàn)系統(tǒng)功能,基于以上兩方面的原因,我采用了JSP來實(shí)現(xiàn)系統(tǒng)的建設(shè)。1.6 可行性研究該階段通過對(duì)系統(tǒng)目標(biāo)的初步調(diào)研和分析,提出可行性方案并進(jìn)行論證。我們?cè)谶@里主要從技術(shù)可行性、經(jīng)濟(jì)可行性和操作可行性等方面進(jìn)行分析。1.6.1 經(jīng)濟(jì)可行性開發(fā)該系統(tǒng)所需的相關(guān)資料可以通過已存在的相關(guān)系統(tǒng)進(jìn)行調(diào)查采集,所需的其他應(yīng)用軟件、硬件系統(tǒng)也易于獲得.因此,開發(fā)成本較低。而引進(jìn)使用本系統(tǒng)后,與傳統(tǒng)方式相比,具有高效率、低成本、高質(zhì)量的特點(diǎn),可以

25、節(jié)省不少人力、物力及財(cái)力。所以,從經(jīng)濟(jì)的角度來看,該系統(tǒng)可行。1.6.2 技術(shù)可行性技術(shù)可行性要考慮現(xiàn)有的技術(shù)條件是否能夠順利完成開發(fā)工作,軟硬件配置是否滿足開發(fā)的需求等。本網(wǎng)站用的是JSP開發(fā)語言,調(diào)試相對(duì)簡(jiǎn)單,當(dāng)前的計(jì)算機(jī)硬件配置也完全能滿足開發(fā)的需求,因此在技術(shù)上是絕對(duì)可行的。軟件方面:由于目前單機(jī)模式相對(duì)發(fā)展成熟,故軟件的開發(fā)平臺(tái)成熟可行,它們速度快、容量大、可靠性能高、價(jià)格低,完全能滿足系統(tǒng)的需求。1.6.3運(yùn)行可行性運(yùn)行可行性是對(duì)組織結(jié)構(gòu)的影響,現(xiàn)有人員和機(jī)構(gòu)和環(huán)境對(duì)系統(tǒng)的適應(yīng)性及人員培訓(xùn)補(bǔ)充計(jì)劃的可行性。當(dāng)前信息化技術(shù)已經(jīng)相當(dāng)普及,各類操作人員水平都有相當(dāng)?shù)母叨?,所以在運(yùn)行上是可

26、行性的。本系統(tǒng)的開發(fā),是典型的Mis開發(fā),主要是對(duì)數(shù)據(jù)的處理,包括數(shù)據(jù)的收集,數(shù)據(jù)的變換,及數(shù)據(jù)的各種報(bào)表形式的輸出。采用流行的JSP+SQLSERVER 2000體系,已無技術(shù)上的問題。1.6.4 時(shí)間可行性從時(shí)間上看,在兩個(gè)月的時(shí)間里學(xué)習(xí)相關(guān)知識(shí),并開發(fā)系統(tǒng),時(shí)間上是有點(diǎn)緊,但是不是不可能實(shí)現(xiàn),通過兩個(gè)多月的努力功能基本實(shí)現(xiàn)。1.6.5 法律可行性 所有技術(shù)資料都為合法。 開發(fā)過程中不存在知識(shí)產(chǎn)權(quán)問題。 未抄襲任何網(wǎng)站,不存在侵犯版權(quán)問題。 開發(fā)過程中未涉及任何法律責(zé)任。綜上所述,本系統(tǒng)的開發(fā)從技術(shù)上、從經(jīng)濟(jì)上、從法律上都是完全可靠的。2、相關(guān)技術(shù)簡(jiǎn)介2.1 JSP技術(shù)簡(jiǎn)介JSP(Java

27、 Server Page服務(wù)器網(wǎng)頁)是從1998年開始出現(xiàn)的新技術(shù)。由Sun公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn),是基于JavaServlet以及整個(gè)Java體系的web開發(fā)技術(shù)。在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中加入腳本片段和JSP標(biāo)記(Tag),構(gòu)成JSP網(wǎng)頁(*.jsp)。JSP技術(shù)為創(chuàng)建顯示動(dòng)態(tài)生成內(nèi)容的web頁面提供了簡(jiǎn)便的方法。JSP作為Java家族的一員,承襲了Java的特點(diǎn),即跨平臺(tái)的特性,也即一次編譯,到處運(yùn)行。在國外,己經(jīng)大量使用JSP作為網(wǎng)絡(luò)應(yīng)用程序的開發(fā)工具,而在國內(nèi),盡管JSP還不是主流開發(fā)技術(shù),但是由于JSP的強(qiáng)大優(yōu)勢(shì),許多網(wǎng)站都

28、已經(jīng)準(zhǔn)備轉(zhuǎn)向JSP,利用JSP來開發(fā)動(dòng)態(tài)網(wǎng)站。 2.2 JSP工作原理JSP是面向服務(wù)器的,因此支持任何瀏覽器。當(dāng)Web服務(wù)器和JSP引擎遇到訪問JSP網(wǎng)頁的請(qǐng)求時(shí),JSP引擎將請(qǐng)求對(duì)象發(fā)送給服務(wù)器端的相關(guān)組件,比如JavaBean組件、Servlet或EJB等,然后由服務(wù)器端組件處理這些請(qǐng)示,可能需要從數(shù)據(jù)庫或數(shù)據(jù)存儲(chǔ)中檢索信息,然后服務(wù)器端組件再將響應(yīng)對(duì)象返回JSP引擎。JSP引擎將響應(yīng)對(duì)象傳遞給JSP頁面,根據(jù)JSP頁面的HTML格式完成數(shù)據(jù)編排,最后Web服務(wù)器和JSP引擎將格式化后的JSP頁面以HTML格式返回客戶瀏覽器。這就是當(dāng)前網(wǎng)站構(gòu)建中廣泛采用的瀏覽器Web服務(wù)器后臺(tái)數(shù)據(jù)庫的三

29、層架構(gòu)模式。因?yàn)镴SP所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果。2.3 JSP體系結(jié)構(gòu)JSP網(wǎng)站開發(fā)標(biāo)準(zhǔn)給出了兩種使用JSP的技術(shù),可以歸納為模式一、模式二。模式一:JSP+JavaBeans技術(shù)在這種模式中,JSP頁面獨(dú)自響應(yīng)請(qǐng)求并將處理結(jié)果返回給客戶。Bean處理所有數(shù)據(jù)訪問,JSP實(shí)現(xiàn)頁面的表現(xiàn),以實(shí)現(xiàn)內(nèi)容生成與顯示相分離。當(dāng)處理復(fù)雜的大型應(yīng)用時(shí),頁面被嵌入大量的腳本或Java代碼段,當(dāng)需要處理的商業(yè)邏輯復(fù)雜時(shí),這種情況會(huì)變得非常糟糕,大量的內(nèi)嵌代碼使得頁面程序變得復(fù)雜,對(duì)于前端界面設(shè)計(jì)人員,這是不可思議的事情。所以模式一可用于小型應(yīng)用,不能夠滿足大型應(yīng)用的需要。

30、模式二:JSP+Servlet+JavaBeans技術(shù)Servlet技術(shù)是一種采用Java技術(shù)來實(shí)現(xiàn)CGI功能的一種技術(shù),Servlet技術(shù)非常適于服務(wù)器端的處理和編程,并且Servlet會(huì)長(zhǎng)期駐留在內(nèi)存。從開發(fā)的觀點(diǎn)看,模式二具有更清晰的頁面表現(xiàn),清楚的開發(fā)者角色劃分,在大規(guī)模項(xiàng)目開發(fā)中,模式二更被采用,模式二也更符合當(dāng)前流行的MVC結(jié)構(gòu)(Model/view/controller),其中Servlet對(duì)應(yīng)controller,處于控制者的位置,處理 請(qǐng)求,負(fù)責(zé)生成JSP中使用的Beans組件或?qū)ο?,并判斷?yīng)將請(qǐng)求傳遞給哪個(gè)JSP等,JSP對(duì)應(yīng)view,負(fù)責(zé)生成最終的動(dòng)態(tài)網(wǎng)頁并返回給瀏覽器。

31、而JavaBeans對(duì)應(yīng)的是Model,實(shí)現(xiàn)各個(gè)具體的應(yīng)用邏輯與功能。2.4 JSP的特點(diǎn)簡(jiǎn)化的頁面生成技術(shù)。JSP頁面用標(biāo)準(zhǔn)的HTML或XML命令來處理頁面的格式化和布局設(shè)計(jì),而用類似HTML、XML的標(biāo)記和Java語言編寫的腳本程序生成頁面內(nèi)容。這使得頁面形式與頁面內(nèi)容互相獨(dú)立,非常有利于大型項(xiàng)目的分工合作。與Java平臺(tái)有機(jī)集成。JSP技術(shù)是Java 2平臺(tái)的重要組成部分,JSP使用Java語言作為它的腳本語言。在JSP頁面中可以使用幾乎所有的Java組件和Java API,這就能充分發(fā)揮出Java語言的強(qiáng)大功能。使用JSP技術(shù)可以創(chuàng)建具有高度可伸縮性和可靠性的Web應(yīng)用程序。硬件平臺(tái)和

32、服務(wù)器無關(guān)性。JSP作為Java家族的一員,秉承了Java技術(shù)的“一次編寫,隨處可用(Write Once,Rum Anywhere)”的特性,可以運(yùn)行于大多數(shù)流行的操作系統(tǒng)平臺(tái)及Web服務(wù)器,這種與服務(wù)器硬件和操作系統(tǒng)平臺(tái)的無關(guān)性是JSP相對(duì)于其它動(dòng)態(tài)網(wǎng)頁技術(shù)最大的一個(gè)優(yōu)點(diǎn)。功能可擴(kuò)展性。如同Microsoft的JSP技術(shù)可以通過ActiveX/COM組件來擴(kuò)展功能一樣,JSP可以通過JavaBean和EJB(Enterprise JavaBean)以及自定義的標(biāo)記來擴(kuò)展功能。JSP可以通過JDBC,與諸如Oracle、SQL Server這樣的大型關(guān)系數(shù)據(jù)庫進(jìn)行連接。JSP提供了一些隱含對(duì)

33、象。這些隱含對(duì)象在JSP頁面中可以直接引用,而不必首先聲明。利用JSP提供的這些隱含對(duì)象,可以使腳本功能更加強(qiáng)大,并且編程更加容易、方便。例如,利用request對(duì)象,可以很容易地接收用戶在HTML表單中提交的信息。2.5 SQLSERVER 2005 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 Server 6.5版本;1998年,SQL

34、Server 7.0版本和用戶見面;SQL Server 2005是Microsoft公司于2005年推出的最新版本。 SQL Server 特點(diǎn):1真正的客戶機(jī)/服務(wù)器體系結(jié)構(gòu)。 2圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫管理更加直觀、簡(jiǎn)單。 3豐富的編程接口工具,為用戶進(jìn)行程序設(shè)計(jì)提供了更大的選擇余地。 4SQL Server與Windows NT完全集成,利用了NT的許多功能,如發(fā)送和接受消息,管理登錄安全性等。SQL Server也可以很好地與Microsoft BackOffice產(chǎn)品集成。 5具有很好的伸縮性,可跨越從運(yùn)行Windows 95/98的膝上型電腦到運(yùn)行Windows 200

35、0的大型多處理器等多種平臺(tái)使用。 6對(duì)Web技術(shù)的支持,使用戶能夠很容易地將數(shù)據(jù)庫中的數(shù)據(jù)發(fā)布到Web頁面上。 7SQL Server提供數(shù)據(jù)倉庫功能,這個(gè)功能只在Oracle和其他更昂貴的DBMS中才有。2.6系統(tǒng)數(shù)據(jù)庫連接JDBC技術(shù)是Java DataBase Connectivity的縮寫,它是SUN公司提供的一種支持基本SQL功能的通用的應(yīng)用程序接口(Application Programming Interface)。它由一組用Java語言編寫的類和接口組成。通過這些類和接口,程序開發(fā)人員可以在Java語言中方便地建立與數(shù)據(jù)庫的鏈接,通過執(zhí)行相應(yīng)SQL語句,完成對(duì)不同數(shù)據(jù)庫的訪問。

36、因此,開發(fā)人員使用JDBC API可以不必編寫一個(gè)應(yīng)用程序來訪問Sybase數(shù)據(jù)庫,又另外編寫一個(gè)應(yīng)用程序去訪問Oracle數(shù)據(jù)庫,再寫一個(gè)應(yīng)用程序訪問Microsoft的SQL Server。不但如此,使用Java語言編寫的應(yīng)用程序可以在任何支持Java的平臺(tái)上運(yùn)行,不必在不同的平臺(tái)上開發(fā)不同的應(yīng)用程序。簡(jiǎn)單地說,JDBC能完成下列三件事:同一個(gè)數(shù)據(jù)庫建立連接;向數(shù)據(jù)庫建立連接;處理數(shù)據(jù)庫返回的結(jié)果。JDBC是一種通用低層的應(yīng)用程序編程接口,它在不同的數(shù)據(jù)庫功能模塊的層次上提供一個(gè)統(tǒng)一的用戶界面。說JDBC是一處低級(jí)的API,是指它直接調(diào)用SQL命令,它比其他的一些數(shù)據(jù)庫連接API要容易使用

37、些,但它有同樣可以作為更高級(jí)的,用戶辦面更友好的API或開發(fā)工具基礎(chǔ)。很多可視化的Java開發(fā)工具,如Visual Age For Java、Visual Caf、J+等都提供了基于JDBC的更面向用戶的類和包,直接將關(guān)系數(shù)據(jù)庫的表或視圖映射為Java類,程序員通過可視化工具直接對(duì)Java對(duì)象進(jìn)行操作,而真正需要的SQL調(diào)用則根據(jù)程序員發(fā)出的對(duì)對(duì)象的各種屬性、方法的操作來自動(dòng)產(chǎn)生。另一種使用JDBC API 的方式為,用戶程序可以提供一個(gè)界面(如菜單等)讓用戶選擇對(duì)數(shù)據(jù)庫進(jìn)行的操作,選中一個(gè)任務(wù)后,提示用戶輸入一些必要的信息,然后根據(jù)用戶的輸入產(chǎn)生相應(yīng)的SQL命令以及Java程序。通過這處方式

38、,用戶可以完成對(duì)數(shù)據(jù)庫的操作,即使他并不了解SQL語法以及JDBC編程。數(shù)據(jù)庫訪問的三層結(jié)構(gòu)如圖所示,瀏覽器端程序要訪問數(shù)據(jù)庫,首先通過中間件,然后由中間件對(duì)數(shù)據(jù)庫操作權(quán)限進(jìn)行認(rèn)證,認(rèn)證通過才能對(duì)數(shù)據(jù)庫進(jìn)行操作。圖5.1 使用中間件的數(shù)據(jù)庫訪問三層結(jié)構(gòu)用戶對(duì)數(shù)據(jù)庫的存取權(quán)限認(rèn)證是中間件中完成,對(duì)數(shù)據(jù)庫的查詢、插入、更新和刪除操作等都封裝在中間件中,該中間件位于服務(wù)器端,中間件對(duì)數(shù)據(jù)庫進(jìn)行操作后,再將處理結(jié)果通過Web服務(wù)器返回到瀏覽器端用戶。這樣,在用戶端輸入的用戶名和密碼,可以通過加密算法進(jìn)行加密后在網(wǎng)絡(luò)上傳輸,在中間件中進(jìn)行解密認(rèn)證,然后再進(jìn)行數(shù)據(jù)庫的存取操作,數(shù)據(jù)庫存取權(quán)限的用戶名和密碼

39、出現(xiàn)在位于服務(wù)器端的中間件中,這樣就更加安全。本系統(tǒng)采用的正是這樣的三層結(jié)構(gòu)的數(shù)據(jù)庫訪問模式。在三層模型中,命令將被發(fā)送到服務(wù)的”中間層”,而”中間層”將SQL語句發(fā)送到數(shù)據(jù)庫。數(shù)據(jù)庫處理SQL語句并將結(jié)果返回”中間層”,然后”中間層”將它們返回用戶。其模型如圖5.2所示。圖5.2 JDBC的三層模型因?yàn)椤敝虚g層”可以進(jìn)行對(duì)訪問的控制并協(xié)同數(shù)據(jù)庫的更新,并且可以使用一個(gè)易用的高層API,這個(gè)API可以由“中間層”進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換成低層的調(diào)用。所以在許多種情況下,三層模型可以提供更好的性能,本系統(tǒng)中所采用的就是此種模型。JDBC是JAVA應(yīng)用程序與數(shù)據(jù)庫的溝通橋梁。它提供了三項(xiàng)服務(wù)功能:一、與數(shù)據(jù)

40、庫建立連接。二、將SQL語句傳遞給數(shù)據(jù)庫。三、從數(shù)據(jù)庫取得SQL語句的執(zhí)行結(jié)果。當(dāng)JDBC要與數(shù)據(jù)庫建立連接前,首先,它必須先取得連接此數(shù)據(jù)庫的JDBC驅(qū)動(dòng)程序,Class.forName()即是在執(zhí)行此項(xiàng)工作。建立數(shù)據(jù)庫連接的第一步驟就是將JDBC驅(qū)動(dòng)程序的類載入至JVM(Java VirtualL Machine)中,本系統(tǒng)中利用java.lang.Class類內(nèi)的forName()靜態(tài)函數(shù)依據(jù)指定的類名稱,將JDBC驅(qū)動(dòng)程序載入進(jìn)來。完成載入驅(qū)動(dòng)程序的步驟后,必須使用java.sal.DriverManager類所提供的getConnection()靜態(tài)函數(shù),取得與數(shù)據(jù)庫間的連接對(duì)象。此

41、連接對(duì)象的類類型為java.sal.Connection,必須通過它才能將SQL指令傳遞給數(shù)據(jù)庫,而執(zhí)行結(jié)果也需要通過連接對(duì)象來取得。當(dāng)取得連接對(duì)象后,還必須取得Statement對(duì)象才能對(duì)數(shù)據(jù)庫執(zhí)行SQL指令。Statement主要實(shí)現(xiàn)兩個(gè)功能:執(zhí)行SQL語句以及取得執(zhí)行結(jié)果。在java.sql.Statement的sql對(duì)象中執(zhí)行查詢或修改命令的函數(shù)后傳回的是一個(gè)ResultSet 對(duì)象,這個(gè)對(duì)象提供了一個(gè)存取SQL執(zhí)行結(jié)果的管道,以便通過它將表格數(shù)據(jù)從數(shù)據(jù)庫中取出。每個(gè)Statement對(duì)象只能產(chǎn)生一個(gè)ResultSet 對(duì)象。數(shù)據(jù)庫連接如圖5.3所示:圖5.3 數(shù)據(jù)庫的連接處理數(shù)據(jù)庫的

42、連接處理具體實(shí)現(xiàn)如下:/建立JDBCODBC橋sun.jdbc.odbc.JdbcOdbcDriver;/橋建立不成功時(shí)的錯(cuò)誤處理catch(ClassNotFoundException event)/建立與數(shù)據(jù)庫的連接,并發(fā)送SQL查詢語句,將結(jié)果保存到rs對(duì)象中Con=建立JDBCODBC橋Sql=SQL查詢語句執(zhí)行查詢Rs=返回結(jié)果/SQL出錯(cuò)處理 catch(SQLException e1)有了JDBC,向各種關(guān)系數(shù)據(jù)發(fā)送SQL語句就是一件很容易的事。換言之,有了JDBC API,就不必為訪問Sybase數(shù)據(jù)庫專門寫一個(gè)程序,為訪問Oracle數(shù)據(jù)庫又專門寫一個(gè)程序,或?yàn)樵L問Infor

43、mix數(shù)據(jù)庫又編寫另一個(gè)程序等等,程序員只需用JDBC API寫一個(gè)程序就夠了,它可向相應(yīng)數(shù)據(jù)庫發(fā)送SQL調(diào)用。同時(shí),將Java語言和JDBC結(jié)合起來使程序員不必為不同的平臺(tái)編寫不同的應(yīng)用程序,只須寫一遍程序就可以讓它在任何平臺(tái)上運(yùn)行,這也是Java語言“編寫一次,處處運(yùn)行”的優(yōu)勢(shì)。Java數(shù)據(jù)庫連接體系結(jié)構(gòu)是用于Java應(yīng)用程序連接數(shù)據(jù)庫的標(biāo)準(zhǔn)方法。JDBC對(duì)Java程序員而言是API,對(duì)實(shí)現(xiàn)與數(shù)據(jù)庫連接的服務(wù)提供商而言是接口模型。作為API,JDBC為程序開發(fā)提供標(biāo)準(zhǔn)的接口,并為數(shù)據(jù)庫廠商及第三方中間件廠商實(shí)現(xiàn)與數(shù)據(jù)庫的連接提供了標(biāo)準(zhǔn)方法。JDBC使用已有的SQL標(biāo)準(zhǔn)并支持與其它數(shù)據(jù)庫連接

44、標(biāo)準(zhǔn),如ODBC之間的橋接。JDBC實(shí)現(xiàn)了所有這些面向標(biāo)準(zhǔn)的目標(biāo)并且具有簡(jiǎn)單、嚴(yán)格類型定義且高性能實(shí)現(xiàn)的接口。Java 具有堅(jiān)固、安全、易于使用、易于理解和可從網(wǎng)絡(luò)上自動(dòng)下載等特性,是編寫數(shù)據(jù)庫應(yīng)用程序的杰出語言。所需要的只是 Java應(yīng)用程序與各種不同數(shù)據(jù)庫之間進(jìn)行對(duì)話的方法。而 JDBC 正是作為此種用途的機(jī)制。 JDBC 擴(kuò)展了 Java 的功能。例如,用 Java 和 JDBC API 可以發(fā)布含有 applet 的網(wǎng)頁,而該 applet 使用的信息可能來自遠(yuǎn)程數(shù)據(jù)庫企業(yè)也可以用 JDBC 通過 Intranet 將所有職員連到一個(gè)或多個(gè)內(nèi)部數(shù)據(jù)庫中(即使這些職員所用的計(jì)算機(jī)有 Wi

45、ndows、 Macintosh 和UNIX 等各種不同的操作系統(tǒng))。隨著越來越多的程序員開始使用Java 編程語言,對(duì)從 Java 中便捷地訪問數(shù)據(jù)庫的要求也在日益增加。 MIS 管理員們都喜歡 Java 和 JDBC 的結(jié)合,因?yàn)樗剐畔鞑プ兊萌菀缀徒?jīng)濟(jì)。企業(yè)可繼續(xù)使用它們安裝好的數(shù)據(jù)庫,并能便捷地存取信息,即使這些信息是儲(chǔ)存在不同數(shù)據(jù)庫管理系統(tǒng)上。新程序的開發(fā)期很短。安裝和版本控制將大為簡(jiǎn)化。程序員可只編寫一遍應(yīng)用程序或只更新一次,然后將它放到服務(wù)器上,隨后任何人就都可得到最新版本的應(yīng)用程序。對(duì)于商務(wù)上的銷售信息服務(wù), Java 和JDBC 可為外部客戶提供獲取信息更新的更好方法。簡(jiǎn)單

46、地說,JDBC 可做三件事:與數(shù)據(jù)庫建立連接、發(fā)送 SQL 語句并處理結(jié)果。下列代碼段給出了以上三步的基本示例: Connection con = DriverManager.getConnection(jdbc:odbc:wombat,login, password); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(SELECT a, b, c FROM Table1); while (rs.next() int x = rs.getInt(a); String s = rs.getStrin

47、g(b); float f = rs.getFloat(c); 上述代碼對(duì)基于JDBC的數(shù)據(jù)庫訪問做了經(jīng)典的總結(jié)。2.7 BS模式與C/S模式的比較分析C/S模式主要由客戶應(yīng)用程序(Client)、服務(wù)器管理程序(Server)和中間件(middleware)三個(gè)部件組成。客戶應(yīng)用程序是系統(tǒng)中用戶與數(shù)據(jù)進(jìn)行交互的部件。服務(wù)器程序負(fù)責(zé)有效地管理系統(tǒng)資源,如管理一個(gè)信息數(shù)據(jù)庫,其主要工作是當(dāng)多個(gè)客戶并發(fā)地請(qǐng)求服務(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系

48、統(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)用程序精簡(jiǎn)到一個(gè)通用的瀏覽器軟件,如NetscapeNavigator,微軟公司的IE等。瀏覽器將HTML代碼轉(zhuǎn)化成圖文并茂的網(wǎng)頁。網(wǎng)頁還具備一定的交互功能,允許用戶在網(wǎng)頁提供的申請(qǐng)表上輸入信息提交給后臺(tái),并提出處理請(qǐng)求。這個(gè)后臺(tái)就是第二層的Web服務(wù)器。 第二層Web服務(wù)器將啟動(dòng)相應(yīng)的進(jìn)程來響應(yīng)這一請(qǐng)求,并動(dòng)態(tài)生成一串HTML代碼,其中嵌入處理的結(jié)果,返回給客戶機(jī)的瀏覽器。如果客戶機(jī)提交的請(qǐng)求包括數(shù)據(jù)的存取,

49、Web服務(wù)器還需與數(shù)據(jù)庫服務(wù)器協(xié)同完成這一處理工作。 第三層數(shù)據(jù)庫服務(wù)器的任務(wù)類似于C/S模式,負(fù)責(zé)協(xié)調(diào)不同的Web服務(wù)器發(fā)出的SQ請(qǐng)求,管理數(shù)據(jù)庫。 B/S模式的優(yōu)勢(shì) 首先它簡(jiǎn)化了客戶端。它無需象C/S模式那樣在不同的客戶機(jī)上安裝不同的客戶應(yīng)用程序,而只需安裝通用的瀏覽器軟件。這樣不但可以節(jié)省客戶機(jī)的硬盤空間與內(nèi)存,而且使安裝過程更加簡(jiǎn)便、網(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ù)。其次,它簡(jiǎn)化了系統(tǒng)的開發(fā)和維護(hù)。系統(tǒng)的開發(fā)

50、者無須再為不同級(jí)別的用戶設(shè)計(jì)開發(fā)不同的客戶應(yīng)用程序了,只需把所有的功能都實(shí)現(xiàn)在Web服務(wù)器上,并就不同的功能為各個(gè)組別的用戶設(shè)置權(quán)限就可以了。各個(gè)用戶通過 請(qǐng)求在權(quán)限范圍內(nèi)調(diào)用Web服務(wù)器上不同處理程序,從而完成對(duì)數(shù)據(jù)的查詢或修改?,F(xiàn)代企業(yè)面臨著日新月異的競(jìng)爭(zhēng)環(huán)境,對(duì)企業(yè)內(nèi)部運(yùn)作機(jī)制的更新與調(diào)整也變得逐漸頻繁。相對(duì)于C/S,B/S的維護(hù)具有更大的靈活性。當(dāng)形勢(shì)變化時(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ì)顯得更加重要

51、。 再次,它使用戶的操作變得更簡(jiǎn)單。對(duì)于C/S模式,客戶應(yīng)用程序有自己特定的規(guī)格,使用者需要接受專門培訓(xùn)。而采用B/S模式時(shí),客戶端只是一個(gè)簡(jiǎn)單易用的瀏覽器軟件。無論是決策層還是操作層的人員都無需培訓(xùn),就可以直接使用。B/S模式的這種特性,還使MIS系統(tǒng)維護(hù)的限制因素更少。 最后,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ǎn)化,節(jié)省人力物力。 鑒于B/S相對(duì)于C/S的先進(jìn)性,B/S逐漸成為一種流行的MIS系統(tǒng)平臺(tái)。各軟

52、件公司紛紛推出自己的Internet方案,基于Web的財(cái)務(wù)系統(tǒng)、基于Web的ERP。一些企業(yè)已經(jīng)領(lǐng)先一步開始使用它,并且收到了一定的成效。 B/S模式的新穎與流行,和在某些方面相對(duì)于C/S的巨大改進(jìn),使B/S成了MIS系統(tǒng)平臺(tái)的首選。3、需求分析和設(shè)計(jì)方案3.1 需求分析根據(jù)客戶的需要,本軟件系統(tǒng)是公司合同管理系統(tǒng),用戶僅限于公司內(nèi)部員工,需求功能主要是員工或者公司的管理層能通過軟件系統(tǒng),進(jìn)行一系列的操作,從而實(shí)現(xiàn)管理公司的目的,下面是具體的需求:(1)既然軟件系統(tǒng)的用戶僅限于公司內(nèi)部的員工,所以就必須要有判斷是否內(nèi)部員工的功能。(2)員工應(yīng)該能從軟件系統(tǒng)上查看合同,管理合同(3)有一些突發(fā)事

53、件隨時(shí)有可能發(fā)生,如地址和聯(lián)系方式的變化,這就要求員工能通過系統(tǒng)對(duì)自己的一些資料進(jìn)行修改。(4)員工不可能記的住公司所有合同等,所以要有通過查詢得知一些合同的具體資料的功能。(5)公司隨時(shí)都可能根據(jù)合同的變化,刪除,廢止,修改合同。3.1 功能模塊圖需求分析是從客戶的需求中提取出軟件系統(tǒng)能夠幫助用戶解決的業(yè)務(wù)問題,而設(shè)計(jì)方案則是根據(jù)需求分析,規(guī)劃出系統(tǒng)的功能模塊,具體的劃分如下:編寫企業(yè)合同管理系統(tǒng),讓其能創(chuàng)建合同、修改合同、刪除合同、合同變更標(biāo)識(shí)、合同收款提醒、合同時(shí)間管理、合同廢止標(biāo)識(shí)、結(jié)束合同、合同統(tǒng)計(jì)、合同查詢等幾大功能。(1)創(chuàng)建合同管理人員將簽訂后的合同的各項(xiàng)信息存入數(shù)據(jù)庫中,使合

54、同進(jìn)入開始執(zhí)行的狀態(tài)。(2)修改合同讓管理的人員能對(duì)數(shù)據(jù)庫里的合同的各項(xiàng)信息進(jìn)行修改。(3)刪除合同管理人員能對(duì)無用的合同,進(jìn)行刪除。(4)合同變更標(biāo)識(shí)合同被修改后,系統(tǒng)會(huì)有標(biāo)識(shí)指明合同曾被修改。(5)合同收款提醒系統(tǒng)會(huì)標(biāo)識(shí)到期收款的合同,方便用戶對(duì)合同的收款。(6)合同查詢以合同的各項(xiàng)信息為關(guān)鍵字來對(duì)數(shù)據(jù)庫進(jìn)行查詢。如圖1所示:圖1 合同管理系統(tǒng)功能模塊示意圖3.2 處理流程設(shè)計(jì)3.2.1 系統(tǒng)操作流程圖錯(cuò)誤信息系統(tǒng)主界面系統(tǒng)登錄界面系統(tǒng)管理輸入操作員及密碼數(shù)據(jù)庫檢查密碼錯(cuò)誤密碼正確功能界面功能處理 數(shù)據(jù)增加流程添加信息時(shí),編號(hào)字段由系統(tǒng)自動(dòng)生成,且不能修改,其他信息由用戶輸入,之后對(duì)數(shù)據(jù)進(jìn)

55、行合法判斷,合法則寫入保存至數(shù)據(jù)庫,不合法則重新輸入數(shù)據(jù)。數(shù)據(jù)增加流程圖:開始自動(dòng)生成編號(hào)輸入數(shù)據(jù)是否合法寫入數(shù)據(jù)庫結(jié)束圖3.2 數(shù)據(jù)增加流程圖.3 數(shù)據(jù)修改流程在修改信息時(shí),先選中一條待修改的記錄,然后直接輸入數(shù)據(jù),判斷合法性,合法則保存至數(shù)據(jù)庫,不合法重新輸入。數(shù)據(jù)修改流程圖如圖3.3所示。開始選擇需要修改記錄輸入數(shù)據(jù)是否合法寫入數(shù)據(jù)庫結(jié)束圖3.3 數(shù)據(jù)修改流程圖 數(shù)據(jù)刪除流程當(dāng)用戶選定一條記錄時(shí),單擊刪除按鈕,會(huì)提示用戶是否確定刪除,然后刪除數(shù)據(jù)庫相關(guān)內(nèi)容。數(shù)據(jù)刪除流程圖如圖3.4所示。開始選擇需要?jiǎng)h除記錄是否刪除更新數(shù)據(jù)庫圖3.4 數(shù)據(jù)刪除流程圖4、數(shù)據(jù)庫設(shè)計(jì)4.1 數(shù)據(jù)庫的概念設(shè)計(jì)數(shù)

56、據(jù)庫的概念結(jié)構(gòu)設(shè)計(jì)是反映全組織信息需求的整體數(shù)據(jù)庫概念結(jié)構(gòu)(概念模式)。概念模式必須是獨(dú)立于計(jì)算機(jī)硬件和具體數(shù)據(jù)庫管理系統(tǒng),不受特定DBMS(數(shù)據(jù)庫管理系統(tǒng))的限制,不考慮計(jì)算機(jī)軟硬件技術(shù)細(xì)節(jié)。在需求分析階段得到的數(shù)據(jù)流程圖對(duì)數(shù)據(jù)的動(dòng)態(tài)運(yùn)動(dòng)軌跡進(jìn)行了描述,數(shù)據(jù)庫需求分析定義了數(shù)據(jù)本身的靜態(tài)特征,但他們反映的僅是應(yīng)用需求,并無反映出數(shù)據(jù)之間的本質(zhì)聯(lián)系(即數(shù)據(jù)的內(nèi)在特征)。他們之間存在著數(shù)據(jù)關(guān)聯(lián)并且靠數(shù)據(jù)庫關(guān)鍵字段進(jìn)行索引,建立表關(guān)聯(lián)。ER圖如下:用戶名密碼查看合同管理合同收款提醒合同統(tǒng)計(jì)合同查詢修改密碼添加管理員修改用戶名刪除管理員操作系統(tǒng)維護(hù)管理員信息4.2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)設(shè)計(jì)邏輯結(jié)構(gòu)應(yīng)該

57、選擇最適于描述與表達(dá)相應(yīng)概念結(jié)構(gòu)的數(shù)據(jù)模型,然后選擇最合適的DBMS。設(shè)計(jì)邏輯結(jié)構(gòu)時(shí)一般要分三步進(jìn)行:將概念結(jié)構(gòu)轉(zhuǎn)換為一般的關(guān)系、網(wǎng)狀、層次模型,并將轉(zhuǎn)化來的關(guān)系、網(wǎng)狀、層次模型向特定DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換,關(guān)系模型的邏輯結(jié)構(gòu)是一組關(guān)系模式的集合。而E-R圖則是由實(shí)體、實(shí)體的屬性和實(shí)體之間的聯(lián)系三個(gè)要素組成的。所以將E-R圖轉(zhuǎn)換為關(guān)系模型實(shí)際上就是要將實(shí)體、實(shí)體的屬性和實(shí)體之間的聯(lián)系轉(zhuǎn)化為關(guān)系模式。本管理系統(tǒng)所存在的數(shù)據(jù)庫中有不同的表結(jié)構(gòu),這些物理表中存放著各種網(wǎng)站所調(diào)用的數(shù)據(jù),為整個(gè)網(wǎng)站的流程提供最基本的數(shù)據(jù)來源。本網(wǎng)站采用MYSQL數(shù)據(jù)庫它是由Microsoft公司開發(fā)。對(duì)于它的安全

58、性和易操作性來說是開發(fā)者首選。 4.3 數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計(jì) 數(shù)據(jù)庫在整個(gè)進(jìn)銷存管理系統(tǒng)中占據(jù)重要的地位,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)的好壞直接影響系統(tǒng)和實(shí)現(xiàn)的效果。好的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)會(huì)減少數(shù)據(jù)庫的存儲(chǔ)量,數(shù)據(jù)的完整性和一致性比較高,系統(tǒng)具有較快的響應(yīng)速度。本系統(tǒng)采用MYSQL 的數(shù)據(jù)庫,根據(jù)分析階段對(duì)實(shí)體和聯(lián)系的分析結(jié)果,進(jìn)行表結(jié)構(gòu)設(shè)計(jì),可以得到以下數(shù)據(jù)表。 表4-1為管理員信息表,存儲(chǔ)系統(tǒng)中的管理員信息。表4-1 管理員信息表(t_admin)列名數(shù)據(jù)類型字段大小必填字段默認(rèn)值說明UserIdint20是無管理員帳號(hào)(主鍵)UserNamevarchar50是無管理員姓名UserPwvarchar50是無

59、管理員密碼表4-2為合同信息表,記錄系統(tǒng)中合同的詳細(xì)信息。表4-2 合同信息表(t_hetong)列名數(shù)據(jù)類型字段大小必填字段默認(rèn)值說明idint20是無合同編號(hào)(主鍵)Mingchengvarchar50是無合同名稱jiafangfuzerenvarchar50是無甲方負(fù)責(zé)人yifangfuzerenvarchar50是無乙方負(fù)責(zé)人kaishishijianvarchar50是無開始時(shí)間jieshushijianvarchar50是無結(jié)束時(shí)間jineInt20是無金額beizhuvarchar50是無備注表4-3為合同提醒信息表,記錄系統(tǒng)中已有合同提醒的信息。表4-3 合同提醒信息表(t_t

60、ixing)列名數(shù)據(jù)類型字段大小必填字段默認(rèn)值說明idint20是無編號(hào)(主鍵)hetongIdInt50是無合同編號(hào)shoukuanshijianvarchar50是無收款時(shí)間shoukuanjinevarchar50是無收款金額 4.4 輸入輸出設(shè)計(jì)輸入輸出設(shè)計(jì)是系統(tǒng)設(shè)計(jì)中很容易被忽視的環(huán)節(jié),又是一個(gè)重要的環(huán)節(jié)。一個(gè)好的輸出系統(tǒng)設(shè)計(jì)可以為用戶和系統(tǒng)雙方帶來良好的工作環(huán)境,一個(gè)好的輸出設(shè)計(jì)可以為管理者提供簡(jiǎn)捷、明了、有效、實(shí)用的管理和控制信息。本管理系統(tǒng)輸入設(shè)計(jì)數(shù)據(jù)根據(jù)輸出的要求來選擇。輸出類型設(shè)計(jì)是根據(jù)需求設(shè)計(jì)為打印輸出,這是用戶通常要求的最主要的形式。輸入內(nèi)容設(shè)計(jì)主要是根據(jù)數(shù)據(jù)庫設(shè)計(jì)和輸

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論