管理信息系統(tǒng)的設(shè)計(jì)與開發(fā)畢業(yè)論文_第1頁(yè)
已閱讀1頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  畢業(yè)論文</b></p><p> ?。?009 —2010 學(xué)年第二學(xué)期)</p><p><b>  題 目: </b></p><p>  管理信息系統(tǒng)的設(shè)計(jì)與開發(fā)</p><p>  ────────────────────────</p>

2、<p>  專 業(yè):信息管理與信息系統(tǒng)</p><p>  ─────────────────</p><p><b>  班 級(jí): </b></p><p>  ────────────</p><p><b>  姓 名: </b></p><

3、p>  ────────────</p><p><b>  指導(dǎo)教師: </b></p><p>  ───────────</p><p>  2010年5月10日</p><p><b>  摘 要</b></p><p>  武漢三川遠(yuǎn)策科技有限公司的發(fā)展已經(jīng)

4、到了一個(gè)瓶頸,企業(yè)的發(fā)展需要高質(zhì)量的管理,企業(yè)信息化的出現(xiàn)必然會(huì)給三川遠(yuǎn)策帶來很大的實(shí)際利益,同時(shí)也將公司的管理納入正軌,企業(yè)將蒸蒸日上。</p><p>  本文結(jié)合了一般WEB項(xiàng)目和開發(fā)者自身的實(shí)際情況,從實(shí)際角度上分析得到一個(gè)完整的實(shí)際可用的信息化方案,優(yōu)化了公司的業(yè)務(wù)流程,使得公司的管理進(jìn)入信息化時(shí)代。同時(shí),利用structs+spring+ibatis成熟框架的系統(tǒng)開發(fā)模式也是當(dāng)下J2EE項(xiàng)目開發(fā)的最流

5、行的模式,使用于中小企業(yè)的信息化開發(fā),系統(tǒng)的開發(fā)效率也將有較大的提高。</p><p>  該系統(tǒng)將公司業(yè)務(wù)管理分成了十多個(gè)大的流程:采購(gòu)、庫(kù)存、銷售、債權(quán)等。該系統(tǒng)將以企業(yè)日常使用的單據(jù)為核心,通過對(duì)單據(jù)的合理管理達(dá)到對(duì)業(yè)務(wù)流程的信息化。</p><p>  企業(yè)的信息化是將來企業(yè)的發(fā)展趨勢(shì),也是所有企業(yè)努力的方向。武漢三川遠(yuǎn)策科技有限公司業(yè)務(wù)信息化系統(tǒng)正在為之努力!</p>

6、<p>  關(guān)鍵詞:J2EE;structs+spring+ibatis;系統(tǒng)分析;系統(tǒng)設(shè)計(jì)</p><p><b>  Abstract </b></p><p>  Wuhan Science and Technology Co., Ltd. Sanchuan much policy development has reached a bottlen

7、eck, the development needs of enterprise quality management, enterprise information Sanchuan far there is bound to bring great practical interest policy, but also the management of the company back on track , businesses

8、will be flourishing. In this paper, the general WEB project and the developer's own actual situation, from a practical point of view to get a complete analysis of the actual program</p><p><b>

9、;  目 錄</b></p><p> ?。?概述………………………………………………………………………………1</p><p>  1.1 選題背景……………………………………………………………………1</p><p>  1.2 系統(tǒng)環(huán)境………………………………………………………………………1</p><p>  1.2

10、.1 structs+spring+ibatis簡(jiǎn)介…………………………………………1</p><p>  1.2.2 JSP訪問MySQL………………………………………………2</p><p>  1.2.3 語(yǔ)言環(huán)境…………………………………………………………………2</p><p>  2.系統(tǒng)分析………………………………………………………………………3<

11、;/p><p>  2.1 系統(tǒng)目標(biāo)需求……………………………………………………………3</p><p>  2.2 開發(fā)的可行性分析…………………………………………………………3</p><p>  2.2.1 管理上的可行性………………………………………………………3</p><p>  2.2.2 技術(shù)上的可行性……………………………………

12、……………………3</p><p>  2.2.3 經(jīng)濟(jì)上的可行性…………………………………………………………4</p><p>  2.3 業(yè)務(wù)流程分析………………………………………………………………4</p><p>  2.4 數(shù)據(jù)流程……………………………………………………………………6</p><p>  2.5 數(shù)據(jù)字典……………

13、………………………………………………………6</p><p>  3. 系統(tǒng)設(shè)計(jì)………………………………………………………………………8</p><p>  3.1 平臺(tái)設(shè)計(jì)……………………………………………………………………8</p><p>  3.2 軟件總體結(jié)構(gòu)設(shè)計(jì)………………………………………………………9</p><p>  3.

14、2.1 功能結(jié)構(gòu)圖…………………………………………………………………9</p><p>  3.2.2 模塊說明書………………………………………………………………9</p><p>  3.3 數(shù)據(jù)庫(kù)設(shè)計(jì)………………………………………………………………12</p><p>  3.3.1 E-R圖……………………………………………………………………12</p&

15、gt;<p>  3.3.2 數(shù)據(jù)表設(shè)計(jì)……………………………………………………………13</p><p>  3.4 界面設(shè)計(jì)………………………………………………………………… 15</p><p>  3.5 系統(tǒng)安全設(shè)計(jì)……………………………………………………………15</p><p>  4. 系統(tǒng)實(shí)施………………………………………………………

16、……………15</p><p>  4.1 程序設(shè)計(jì)…………………………………………………………………....15</p><p>  4.2 系統(tǒng)測(cè)試……………………………………………………………...15</p><p>  5. 結(jié)束語(yǔ)………………………………………………………………………15</p><p><b>  參考

17、文獻(xiàn)</b></p><p><b>  1 概述</b></p><p><b>  1.1 選題背景</b></p><p>  所謂MIS(管理信息系統(tǒng)--Management Information System)系統(tǒng) ,現(xiàn)代管理信息系統(tǒng)是一個(gè)以人為主導(dǎo),利用計(jì)算機(jī)硬件、軟件、網(wǎng)絡(luò)通信設(shè)備以及其他辦公設(shè)

18、備,進(jìn)行信息的收集、傳輸、加工、儲(chǔ)存、更新和維護(hù),以企業(yè)戰(zhàn)略競(jìng)優(yōu)、提高效益和效率為目的,支持企業(yè)的高層決策、中層控制、基層運(yùn)作的集成化的人機(jī)系統(tǒng)。它是一門新興的科學(xué),其主要任務(wù)是最大限度的利用現(xiàn)代計(jì)算機(jī)及網(wǎng)絡(luò)通訊技術(shù)加強(qiáng)企業(yè)的信息管理,通過對(duì)企業(yè)擁有的人力、物力、財(cái)力、設(shè)備、技術(shù)等資源的調(diào)查了解,建立正確的數(shù)據(jù),加工處理并編制成各種信息資料及時(shí)提供給管理人員,以便進(jìn)行正確的決策,不斷提高企業(yè)的管理水平和經(jīng)濟(jì)效益。目前,企業(yè)的計(jì)算機(jī)網(wǎng)絡(luò)已

19、成為企業(yè)進(jìn)行技術(shù)改造及提高企業(yè)管理水平的重要手段。 </p><p>  隨著我國(guó)與世界信息高速公路的接軌,企業(yè)通過計(jì)算機(jī)網(wǎng)絡(luò)獲得信息必將為企業(yè)帶來巨大的經(jīng)濟(jì)效益和社會(huì)效益,企業(yè)的辦公及管理都將朝著高效、快速、無紙化的方向發(fā)展。MIS系統(tǒng)通常用于系統(tǒng)決策,例如,可以利用MIS系統(tǒng)找出目前迫切需要解決的問題,并將信息及時(shí)反饋給上層管理人員,使他們了解當(dāng)前工作發(fā)展的進(jìn)展或不足。換句話說,MIS系統(tǒng)的最終目的是使管理人

20、員及時(shí)了解公司現(xiàn)狀,把握將來的發(fā)展路徑。</p><p>  中小企業(yè)要想在網(wǎng)絡(luò)信息時(shí)代占有一席之地,必須根據(jù)自身的特點(diǎn)建立切實(shí)可行的信息化管理系統(tǒng),這是中小企業(yè)發(fā)展壯大的關(guān)鍵。課題將從電表服務(wù)行業(yè)的實(shí)際情況出發(fā),設(shè)計(jì)開發(fā)武漢三川遠(yuǎn)策業(yè)務(wù)管理信息化系統(tǒng),以適應(yīng)公司業(yè)務(wù)流程的需要。</p><p><b>  1.2 系統(tǒng)環(huán)境 </b></p><p

21、>  系統(tǒng)是采用structs+spring+ibatis成熟的開源框架開發(fā)的一個(gè)管理信息系統(tǒng),采用Macromedia Dreamweaver MX 2004 開發(fā)Web靜態(tài)網(wǎng)頁(yè)。靜態(tài)網(wǎng)頁(yè)主要使用HTML超文本編輯語(yǔ)言、jQuery插件和flex技術(shù)。同時(shí)采用Eclipse6.0開發(fā)JSP動(dòng)態(tài)網(wǎng)頁(yè),同時(shí)運(yùn)用JDBC來實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的連接,動(dòng)態(tài)查詢、添加、刪除、修改、計(jì)算等管理數(shù)據(jù)庫(kù)的功能。</p><p>

22、  1.2.1 structs+spring+ibatis框架簡(jiǎn)介</p><p>  談到structs+spring+ibatis開源框架,就必須了解當(dāng)下最流行的ssh框架。</p><p>  SSH 在J2EE項(xiàng)目中表示了3種框架,既 Spring + Struts +Hibernate,流程如下圖所示:</p><p>  典型的J2EE三層結(jié)構(gòu),分為表現(xiàn)

23、層、中間層(業(yè)務(wù)邏輯層)和數(shù)據(jù)服務(wù)層。三層體系將業(yè)務(wù)規(guī)則、數(shù)據(jù)訪問及合法性校驗(yàn)等工作放在中間層處理。客戶端不直接與數(shù)據(jù)庫(kù)交互,而是通過組件與中間層建立連接,再由中間層與數(shù)據(jù)庫(kù)交互。 表現(xiàn)層是傳統(tǒng)的JSP技術(shù),自1999年問世以來,經(jīng)過多年的發(fā)展,其廣泛的應(yīng)用和穩(wěn)定的表現(xiàn),為其作為表現(xiàn)層技術(shù)打下了堅(jiān)實(shí)的基礎(chǔ)。 中間層采用的是流行的Spring+Hibernate,為了將控制層與業(yè)務(wù)邏輯層分離,又細(xì)分為以下幾種。 Web層,就

24、是MVC模式里面的“C”(controller),負(fù)責(zé)控制業(yè)務(wù)邏輯層與表現(xiàn)層的交互,調(diào)用業(yè)務(wù)邏輯層,并將業(yè)務(wù)數(shù)據(jù)返回給表現(xiàn)層作組織表現(xiàn),該系統(tǒng)的MVC框架采用Struts。 Service層(就是業(yè)務(wù)邏輯層),負(fù)責(zé)實(shí)現(xiàn)業(yè)務(wù)邏輯。業(yè)務(wù)邏輯層以DAO層為基礎(chǔ),通過對(duì)DAO組件的正面模式包裝,完成系統(tǒng)所要求的業(yè)務(wù)邏輯。 DAO層,負(fù)責(zé)與持久化對(duì)象交互。該層封裝了數(shù)據(jù)的增、刪、查、改的操作。PO,持久化對(duì)象。通過實(shí)體關(guān)系映射工具將關(guān)

25、系型數(shù)據(jù)庫(kù)的數(shù)據(jù)映射成對(duì)象,很方便地實(shí)現(xiàn)以面向?qū)ο蠓绞讲僮鲾?shù)據(jù)庫(kù),該系統(tǒng)采用Hibern</p><p>  Spring的作用貫穿了整個(gè)中間層,將Web層、Service層、DAO層及PO無縫整合,其數(shù)據(jù)服務(wù)層用來存放數(shù)據(jù)。 一個(gè)良好的框架可以讓開發(fā)人員減輕重新建立解決復(fù)雜問題方案的負(fù)擔(dān)和精力;它可以被擴(kuò)展以進(jìn)行內(nèi)部的定制化;并且有強(qiáng)大的用戶社區(qū)來支持它??蚣芡ǔD芎芎玫慕鉀Q一個(gè)問題。然而,你的應(yīng)用

26、是分層的,可能每一個(gè)層都需要各自的框架。僅僅解決UI問題并不意味著你能夠很好的將業(yè)務(wù)邏輯和持久性邏輯和UI 組件很好的耦合。 </p><p>  Ibatis是一個(gè)類似Hibernate的輕量級(jí)ORM框架,其功能與實(shí)現(xiàn)方式與Hibernate相似,區(qū)別在于Ibatis沒有對(duì)sql語(yǔ)句進(jìn)行封裝,極大的增加的開發(fā)的靈活性與實(shí)用性。</p><p>  1.2.2訪問Oracle</p&

27、gt;<p>  使用框架開發(fā)系統(tǒng),考慮到數(shù)據(jù)庫(kù)的安全性和穩(wěn)定性,同時(shí),基于中小型公司的成本問題,采用Oracle作為后臺(tái)數(shù)據(jù)庫(kù)。在MVC+DAO模式中使用JDBC訪問數(shù)據(jù)庫(kù)。</p><p>  JDBC是基于SUN公司推出的J2EE框架中的用于數(shù)據(jù)訪問的組件。它使用Connection對(duì)象連接不同的數(shù)據(jù)源,使用PrepareStatement對(duì)象實(shí)現(xiàn)對(duì)數(shù)據(jù)的操作。</p><

28、p><b>  1.2.3語(yǔ)言環(huán)境</b></p><p>  系統(tǒng)開發(fā)主要采用JSP和JAVA語(yǔ)言,由于JSP和JAVA是SUN為J2EE平臺(tái)量身定做的程序語(yǔ)言,JSP擁有JAVA的強(qiáng)大的功能以及相對(duì)簡(jiǎn)易的特性,它在帶來對(duì)應(yīng)用程序的快速開發(fā)能力的同時(shí),并沒有犧牲JAVA程序員所關(guān)心的各種特性。在JAVA虛擬機(jī)的支持下,J2EE框架的各種優(yōu)點(diǎn)在JSP中表現(xiàn)的淋漓盡致[7]。</p

29、><p>  使用jsp 技術(shù),Web頁(yè)面開發(fā)人員可以使用HTML或者XML標(biāo)識(shí)來設(shè)計(jì)和格式化最終頁(yè)面。使用JSP標(biāo)識(shí)或者小腳本來生成頁(yè)面上的動(dòng)態(tài)內(nèi)容(內(nèi)容是根據(jù)請(qǐng)求而變化的,例如請(qǐng)求帳戶信息或特定的一瓶酒的價(jià)格),其生成內(nèi)容的邏輯被封裝在標(biāo)識(shí)和JavaBeans組件中,并且捆綁在小腳本中,所有的腳本在服務(wù)器運(yùn)行。如果核心邏輯被封裝在標(biāo)識(shí)和Beans中,那么其他人,如Web管理人員和頁(yè)面設(shè)計(jì)者,能夠編輯和使用JSP頁(yè)

30、面,而不影響內(nèi)容的生成。在服務(wù)器端,JSP引擎標(biāo)識(shí)和小腳本,生成所請(qǐng)求的內(nèi)容(例如,通過訪問JavaBeans組件、使用JDBCTM技術(shù)訪問數(shù)據(jù)庫(kù)等),并且將結(jié)果以HTML(或者XML)頁(yè)面的形式發(fā)送回瀏覽器。這有助于作者保護(hù)自己的代碼,又保證任何基于HTML的Web瀏覽器的完全可用性。</p><p>  關(guān)于JSP的突出優(yōu)點(diǎn):將內(nèi)容的生成和顯示進(jìn)行分離,頁(yè)面的邏輯顯得清晰,程序員容易修改。強(qiáng)調(diào)可重用的組件,開

31、發(fā)人員可共享和交換執(zhí)行普通操作的組件,比如數(shù)據(jù)庫(kù)連接的組件。所有的JSP都被編譯成SERVLET,使得JSP擁有良好的健壯性和安全性。最后,JSP頁(yè)面具有JAVA的所有特性,尤其是一處編譯,處處執(zhí)行的良好的移植性。</p><p><b>  2 系統(tǒng)分析</b></p><p>  2.1 系統(tǒng)目標(biāo)需求</p><p>  在網(wǎng)站開發(fā)前,必須

32、先了解用戶的各種需求,下面從信息需求和功能需求兩個(gè)方面進(jìn)行系統(tǒng)的需求分析。表2-1和表2-2分別列出了網(wǎng)站的信息需求和主要功能需求。</p><p>  表2-1 信息需求表</p><p>  表2-2 主要功能需求</p><p>  2.2 開發(fā)的可行性分析</p><p>  2.2.1 管理上的可行性</p><

33、p>  把企業(yè)業(yè)務(wù)延伸到Internet上,建立內(nèi)部的管理信息系統(tǒng),對(duì)運(yùn)營(yíng)商業(yè)企業(yè)來說,是企業(yè)信息化,加強(qiáng)管理,增加效率的一個(gè)很好的手段。磚廠規(guī)模比比較小,所以一個(gè)老板常常忙的焦頭亂額,使用了信息化的管理,可以大大減少管理的時(shí)間,進(jìn)而把大量的時(shí)間應(yīng)用到其他方面。因此,管理人員不會(huì)對(duì)此有很大的抵觸情緒,同時(shí)也能夠相應(yīng)的支持。 </p><p>  2.2.2 技術(shù)上的可行性</p><p&

34、gt;  根據(jù)系統(tǒng)目標(biāo)需求分析得結(jié)果來看,不需要通過購(gòu)買專業(yè)軟件,僅采用Eclipse為開發(fā)工具,選擇JSP就可以解決相關(guān)的問題,從而保證系統(tǒng)功能的實(shí)現(xiàn)。</p><p>  對(duì)于structs+spring+ibatis框架,也是一個(gè)比較簡(jiǎn)單的容易掌握的J2EE的框架,可以進(jìn)行快速的開發(fā)和應(yīng)用。同時(shí)系統(tǒng)的開發(fā)效率和功能都可以得到保證。</p><p>  2.3 業(yè)務(wù)流程分析</p

35、><p>  系統(tǒng)的使用者必須先獲得進(jìn)入的賬號(hào)和密碼,才能進(jìn)入系統(tǒng)進(jìn)行各種管理,使用各種管理功能。進(jìn)入系統(tǒng)后,可以進(jìn)行各種操作,不同的用戶在登陸后所得到的菜單是不一樣的,每個(gè)用戶只能進(jìn)行本模塊的操作,主要操作為單據(jù)的增加修改和單據(jù)明細(xì)的增加與修改功能。</p><p>  公司整個(gè)業(yè)務(wù)從銷售開始,直到產(chǎn)品的出庫(kù),中間一共經(jīng)歷了大約30張左右的單據(jù)。五個(gè)以上的部門??偨?jīng)理是總負(fù)責(zé)。主要對(duì)各種單據(jù)

36、進(jìn)行審批處理,只有審批通過的單據(jù)才能進(jìn)入下一個(gè)環(huán)節(jié)。</p><p>  業(yè)務(wù)的核心是單據(jù)的處理,在單據(jù)的處理過程中,數(shù)據(jù)依附與單據(jù)向下一步流動(dòng)。只有處理好各個(gè)單據(jù)之間的數(shù)據(jù)關(guān)系,才能使公司的業(yè)務(wù)流程暢通無阻。</p><p>  主要業(yè)務(wù)流程如圖2-1所示。</p><p>  圖2-1系統(tǒng)業(yè)務(wù)流程圖</p><p>  2.4 數(shù)據(jù)流程分

37、析</p><p>  圖2-2系統(tǒng)數(shù)據(jù)流程圖</p><p><b>  2.5 數(shù)據(jù)字典</b></p><p>  數(shù)據(jù)流程圖僅表示了相關(guān)的系統(tǒng)用“什么數(shù)據(jù)”去“做什么”,即標(biāo)識(shí)了系統(tǒng)中信息的傳遞,但卻沒有表明所用數(shù)據(jù)的具體內(nèi)容,需要數(shù)據(jù)字典對(duì)其做補(bǔ)充說明,給出新系統(tǒng)中相關(guān)要素的統(tǒng)一定義和描述。數(shù)據(jù)字典主要包括對(duì)數(shù)據(jù)元素、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流

38、、數(shù)據(jù)存儲(chǔ)、處理邏輯的定義和描述。下面是系統(tǒng)中主要的數(shù)據(jù)字典。</p><p>  2.5.1 數(shù)據(jù)元素描述</p><p>  數(shù)據(jù)元素是數(shù)據(jù)的最小單位,具有邏輯不可再分性。表2-3表示對(duì)數(shù)據(jù)元素“系統(tǒng)用戶”的描述。</p><p>  表2-3 數(shù)據(jù)元素描述(部分)</p><p>  2.5.2 數(shù)據(jù)流描述</p>&l

39、t;p>  數(shù)據(jù)元素在系統(tǒng)中以滿足某種應(yīng)用的要求組合在一起,構(gòu)成了一定的數(shù)據(jù)流。表2-4表示部分?jǐn)?shù)據(jù)流。</p><p>  表2-4 數(shù)據(jù)流描述(部分)</p><p>  2.5.3數(shù)據(jù)存儲(chǔ)描述</p><p>  在數(shù)據(jù)字典中,只描述數(shù)據(jù)存儲(chǔ)的邏輯存儲(chǔ)結(jié)構(gòu),而不涉及其物理結(jié)構(gòu)。表2-5表示對(duì)部分對(duì)數(shù)據(jù)存儲(chǔ)的描述。</p><p>

40、;  表2-5 數(shù)據(jù)存儲(chǔ)描述(部分)</p><p><b>  3 系統(tǒng)設(shè)計(jì)</b></p><p><b>  3.1設(shè)計(jì)平臺(tái) </b></p><p>  系統(tǒng)的平臺(tái)設(shè)計(jì)是系統(tǒng)設(shè)計(jì)的第一個(gè)階段,關(guān)系到系統(tǒng)的運(yùn)行的所有狀況,所以在系統(tǒng)的平臺(tái)的選擇時(shí)要慎重。</p><p>  對(duì)于當(dāng)今中國(guó)的實(shí)際

41、情況來說,操作系統(tǒng)一般是windows XP。對(duì)于武漢三川遠(yuǎn)策的實(shí)際情況,選擇了免費(fèi)的服務(wù)器 Tomcate。這樣可以節(jié)省經(jīng)費(fèi),同時(shí)也可以節(jié)省系統(tǒng)的運(yùn)行費(fèi)用。而且由于公司的人流量很大業(yè)務(wù)量也很大, Oracle數(shù)據(jù)庫(kù)就成為首選。</p><p>  客戶端的顯示比較重要,IE6.0及以上的瀏覽器或者火狐瀏覽器都可以作為選擇。</p><p>  系統(tǒng)平臺(tái)的設(shè)計(jì)如表3-1所示</p&g

42、t;<p>  表3-1 系統(tǒng)平臺(tái)設(shè)計(jì)</p><p>  3.1.1 JSP的優(yōu)勢(shì)及與其他Web開發(fā)工具的比較</p><p>  和傳統(tǒng)的CGI相比較,JSP有相當(dāng)?shù)膬?yōu)勢(shì)。在速度上,傳統(tǒng)的CGI程序需要使用系統(tǒng)的標(biāo)準(zhǔn)輸入輸出設(shè)備來實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁(yè)的生成,而JSP是直接和服務(wù)器相關(guān)聯(lián)的。而且對(duì)于CGI來說,每一個(gè)訪問就需要新增加一個(gè)進(jìn)程來處理,進(jìn)程不斷地建立和銷毀對(duì)于作為Web

43、服務(wù)器的計(jì)算機(jī)將是不小的負(fù)擔(dān)。JSP是專門為Web開發(fā)而設(shè)計(jì)的,其目的是為了建立基于Web的應(yīng)用程序。使用JSP技術(shù)可以很方便地將一大堆JSP頁(yè)面組合成為一個(gè)Web應(yīng)用程序[4]。在Web技術(shù)方面,ASP、JSP和PHP的比較見表3-2[5]。</p><p>  表3-2 ASP、JSP和PHP在Web技術(shù)方面的比較</p><p>  3.2 軟件總體結(jié)構(gòu)設(shè)計(jì)</p>&

44、lt;p>  3.2.1功能結(jié)構(gòu)圖</p><p>  圖3-1管理系統(tǒng)主要功能結(jié)構(gòu)圖</p><p>  3.2.2 模塊說明書</p><p>  表3-3“系統(tǒng)管理”模塊說明書</p><p>  表3-4“銷售管理”模塊說明書</p><p>  表3-5 “產(chǎn)品管理”模塊說明書</p>&

45、lt;p>  表3-6 “采購(gòu)管理”模塊說明書</p><p>  表3-7 “債權(quán)債務(wù)管理”模塊說明書</p><p><b>  3.3 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p>  數(shù)據(jù)庫(kù)設(shè)計(jì)在一個(gè)信息系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的好壞將直接影響到應(yīng)用系統(tǒng)的效率和系統(tǒng)實(shí)現(xiàn)的效果。合理的數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)可以提高數(shù)據(jù)存儲(chǔ)的效率,保證

46、數(shù)據(jù)的完整性和一致性。</p><p>  3.3.1 E-R圖</p><p>  根據(jù)數(shù)據(jù)庫(kù)設(shè)計(jì)的需要,設(shè)計(jì)出滿足需求的各種實(shí)體,以及它們之間的關(guān)系。重要的實(shí)體與實(shí)體之間的聯(lián)系如圖3-2所示。</p><p>  圖3-2系統(tǒng)主要內(nèi)容的E-R圖</p><p>  3.3.2數(shù)據(jù)表設(shè)計(jì)</p><p>  數(shù)據(jù)庫(kù)的

47、概念結(jié)構(gòu)設(shè)計(jì)完畢后,就可以進(jìn)行數(shù)據(jù)庫(kù)的表設(shè)計(jì)。系統(tǒng)采用的是功能強(qiáng)大的Oracle數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)名是SUCENT, 一共設(shè)計(jì)30多個(gè)表。數(shù)據(jù)庫(kù)表的設(shè)計(jì)采用xml存儲(chǔ)方法,每一個(gè)單據(jù)對(duì)應(yīng)一張數(shù)據(jù)庫(kù)表,表的字段主要是id,orderid,xml_content,每個(gè)單據(jù)的詳細(xì)內(nèi)容存在于xml字段中,由開發(fā)者自行設(shè)計(jì)字段內(nèi)容。在此不對(duì)數(shù)據(jù)庫(kù)的表再做描述。</p><p><b>  3.4代碼設(shè)計(jì)</b&

48、gt;</p><p>  代碼是代表事物名稱、屬性、狀態(tài)等的符號(hào)。運(yùn)用計(jì)算機(jī)進(jìn)行數(shù)據(jù)處理時(shí),為了錄入和處理的方便,為了節(jié)省存儲(chǔ)空間,提高處理速度、效率和精度,通常用數(shù)字、字母和一些特殊符號(hào)組成的代碼識(shí)別事物和處理數(shù)據(jù)。</p><p>  在進(jìn)行數(shù)據(jù)庫(kù)操作時(shí)所用的程序代碼中,除程序編譯環(huán)境所要求的語(yǔ)句之外,需要自己定義變量時(shí),盡量采用類似于英語(yǔ)的縮略詞語(yǔ),并且從字面上大多可以看出變量在程

49、序中所處的角色。同時(shí),也要盡量采用數(shù)據(jù)庫(kù)中已有的代碼表示所要進(jìn)行操作的對(duì)象,盡量使數(shù)據(jù)庫(kù)的代碼設(shè)計(jì)和程序的代碼設(shè)計(jì)相一致,減少因人為因素造成程序閱讀和修改的困難。系統(tǒng)主要的代碼設(shè)計(jì)是單據(jù)編號(hào)設(shè)計(jì)</p><p>  3.4.1 單據(jù)編號(hào)設(shè)計(jì)</p><p>  單據(jù)編號(hào)由三部分組成:?jiǎn)螕?jù)首字母+當(dāng)前年月+編號(hào)。編碼位數(shù)不定,其中,首字母位數(shù)不定,用英文大寫字母表示,年月為六位,編碼3位,用

50、阿拉伯?dāng)?shù)字表示。在設(shè)計(jì)的時(shí)候日期采用加密技術(shù),如某當(dāng)前日期是2010年5月,6位數(shù)據(jù)表示就是201005,編號(hào)從001—999,其設(shè)計(jì)是根據(jù)公司的實(shí)際情況來設(shè)定的。如圖3-3所示。</p><p>  圖3-3單據(jù)編號(hào)設(shè)計(jì)圖</p><p>  3.5 輸入輸出設(shè)計(jì)</p><p>  在系統(tǒng)的輸入/輸出設(shè)計(jì)上遵循的是既滿足用戶的需求又方便用戶使用的原則。</

51、p><p>  3.5.1 模塊說明書</p><p>  系統(tǒng)的輸出分為內(nèi)部輸出、excel輸出、打印輸出。內(nèi)部輸出是為企業(yè)內(nèi)部的各種用戶提供的輸出內(nèi)容,主要是企業(yè)內(nèi)部每天的業(yè)務(wù)信息、監(jiān)督和決策等;excel輸出主要是為企業(yè)信息備份;打印輸出主要是為了單據(jù)的打印。</p><p>  系統(tǒng)輸出內(nèi)容主要是單據(jù)的具體內(nèi)容輸出。如圖3-4所示。</p><

52、;p>  圖3-4用戶信息輸出圖</p><p>  3.5.2 輸入設(shè)計(jì)</p><p>  系統(tǒng)輸入是捕捉數(shù)據(jù),把數(shù)據(jù)輸入到計(jì)算機(jī)中的過程。在輸入設(shè)計(jì)上,本著個(gè)性化和人性化的原則,其查詢產(chǎn)品的輸入設(shè)計(jì)是采用jsvalidate驗(yàn)證的形式,用戶只要輸入相關(guān)信息就可以得到想要的結(jié)果,操作簡(jiǎn)單,界面友好,輸入錯(cuò)誤時(shí)會(huì)有友好提示。如圖3-5所示。</p><p>

53、  圖3-5 輸入信息圖</p><p><b>  3.6系統(tǒng)安全設(shè)計(jì)</b></p><p>  主要針對(duì)提高數(shù)據(jù)的安全保密性方面而言:</p><p>  ﹡對(duì)系統(tǒng)中的數(shù)據(jù)庫(kù)定義訪問權(quán)限。如對(duì)由某用戶產(chǎn)生的數(shù)據(jù),該用戶對(duì)它具有操作權(quán)限,其他用戶只有讀權(quán)或無訪問權(quán)。</p><p>  ﹡對(duì)軟件的功能模塊定義不同的操

54、作權(quán)限,不同的級(jí)別,提供不同的操作。</p><p>  ﹡提供數(shù)據(jù)備份及恢復(fù)功能,以防系統(tǒng)遭到嚴(yán)重危害后,可恢復(fù)到較早前的狀態(tài)。</p><p><b>  4 系統(tǒng)實(shí)現(xiàn)</b></p><p>  在進(jìn)行了系統(tǒng)分析和系統(tǒng)設(shè)計(jì)后就到了系統(tǒng)的實(shí)現(xiàn)階段,系統(tǒng)實(shí)現(xiàn)階段主要是進(jìn)行程序設(shè)計(jì)和系統(tǒng)調(diào)試等。</p><p><

55、b>  4.1 程序設(shè)計(jì)</b></p><p>  程序設(shè)計(jì)是根據(jù)系統(tǒng)分析階段的邏輯模型和系統(tǒng)設(shè)計(jì)階段產(chǎn)生的物理模型,按照選擇的編程語(yǔ)言和開發(fā)工具,來實(shí)現(xiàn)系統(tǒng)的計(jì)算機(jī)模型的過程。</p><p>  系統(tǒng)的以JSP為開發(fā)技術(shù),Java為編程語(yǔ)言,采用ssi框架,服務(wù)器采用Tomcat5.0,前端開發(fā)工具是Dreamweaver MX 2004。</p>&

56、lt;p>  在配置好開發(fā)環(huán)境后,就開始正式的程序開發(fā),按照系統(tǒng)設(shè)計(jì)劃分的功能模塊,分別進(jìn)行程序的設(shè)計(jì)。下面給出主要配置代碼和部分模塊核心源代碼。</p><p>  4.1.1 主要配置文件web.xml</p><p>  該文件是系統(tǒng)配置的核心之一。其具體內(nèi)容如下:</p><p>  <?xml version="1.0" e

57、ncoding="UTF-8"?></p><p>  <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml

58、/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"></p><p>

59、;  <display-name>sucentPlatform_v1.1</display-name></p><p>  <context-param></p><p>  <param-name>contextConfigLocation</param-name></p><p>  <param

60、-value>classpath:resource/**/applicationContext*.xml</param-value></p><p>  </context-param></p><p>  <!-- spring charset encoding filter --></p><p><b>  

61、<filter></b></p><p>  <filter-name>encodingFilter</filter-name></p><p>  <filter-class>net.sucent.filter.CharFilter</filter-class></p><p>  <i

62、nit-param></p><p>  <param-name>encoding</param-name></p><p>  <param-value>UTF-8</param-value></p><p>  </init-param></p><p>  <ini

63、t-param></p><p>  <param-name>ignore</param-name></p><p>  <param-value>true</param-value></p><p>  </init-param></p><p><b>  <

64、;/filter></b></p><p>  <!-- struts2 filter config --></p><p><b>  <filter></b></p><p>  <filter-name>struts-cleanup</filter-name></p&

65、gt;<p>  <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class></p><p><b>  </filter></b></p><p><b>  <filter></b>

66、</p><p>  <filter-name>strutsPrepareExecute</filter-name></p><p>  <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class></

67、p><p><b>  </filter></b></p><p>  <!-- spring charset encoding filter mapping config --></p><p>  <filter-mapping></p><p>  <filter-name

68、>encodingFilter</filter-name></p><p>  <url-pattern>/*</url-pattern></p><p>  </filter-mapping></p><p>  <!-- struts2 filter mapping --></p>

69、<p>  <filter-mapping></p><p>  <filter-name>strutsPrepareExecute</filter-name></p><p>  <url-pattern>*.do</url-pattern></p><p>  </filter-mapp

70、ing></p><p>  <filter-mapping></p><p>  <filter-name>struts-cleanup</filter-name></p><p>  <url-pattern>*.do</url-pattern></p><p>  <

71、;/filter-mapping></p><p>  <!-- spring2.5 config start --></p><p>  <listener></p><p>  <listener-class>org.springframework.web.context.ContextLoaderListener<

72、;/listener-class></p><p>  </listener></p><p>  <!-- session超時(shí)定義,單位為分鐘 --></p><p>  <session-config></p><p>  <session-timeout>60</session

73、-timeout></p><p>  </session-config></p><p>  <welcome-file-list></p><p>  <welcome-file>login.jsp</welcome-file></p><p>  </welcome-file-

74、list></p><p>  <!-- 出錯(cuò)頁(yè)面定義 --></p><p>  <!--<error-page>--></p><p>  <!--<exception-type>java.lang.Throwable</exception-type>--></p>

75、<p>  <!--<location>/common/500.jsp</location>--></p><p>  <!--</error-page>--></p><p>  <!--<error-page>--></p><p>  <!--&l

76、t;error-code>500</error-code>--></p><p>  <!--<location>/common/500.jsp</location>--></p><p>  <!--</error-page>--></p><p>  <!--<

77、;error-page>--></p><p>  <!--<error-code>404</error-code>--></p><p>  <!--<location>/common/404.jsp</location>--></p><p>  <!--<

78、/error-page>--></p><p>  <!--<error-page>--></p><p>  <!--<error-code>403</error-code>--></p><p>  <!--<location>/common/403.jsp<

79、;/location>--></p><p>  <!--</error-page>--></p><p>  </web-app></p><p>  圖3-1管理系統(tǒng)主要功能結(jié)構(gòu)圖</p><p>  4.1.2 主要配置文件structs.xml</p><p>

80、  該文件是structs的主要配置文件,其具體內(nèi)容如下:</p><p>  <?xml version="1.0" encoding="UTF-8"?></p><p>  <!DOCTYPE struts PUBLIC</p><p>  "-//Apache Software Foundat

81、ion//DTD Struts Configuration 2.0//EN"</p><p>  "http://struts.apache.org/dtds/struts-2.0.dtd"></p><p><b>  <struts></b></p><p>  <!--<con

82、stant name="struts.convention.package.locators.basePackage" value="com.sucent"/>--></p><p>  <!--<constant name="struts.convention.package.locators" value="act

83、ion"/>--></p><p>  <!--<constant name="struts.convention.default.parent.package" value="sucentjson"/>--></p><p>  <package name="sucentjson&qu

84、ot; extends="json-default"></p><p>  <interceptors></p><p>  <interceptor name="userRightInterceptor"</p><p>  class="com.sucent.interceptor.Use

85、rRightInterceptor"/></p><p>  <interceptor-stack name="sucentJsonStack"></p><p>  <interceptor-ref name="userRightInterceptor"/></p><p>  <

86、;!-- 引用默認(rèn)的攔截器堆棧 --></p><p>  <interceptor-ref name="paramsPrepareParamsStack" /></p><p>  <interceptor-ref name="defaultStack" /></p><p>  <int

87、erceptor-ref name="json" /></p><p>  </interceptor-stack></p><p>  </interceptors></p><p>  <!--使用以上定義好的攔截器堆棧--></p><p>  <default-int

88、erceptor-ref name="sucentJsonStack"/></p><p>  <!-- 定義全局跳轉(zhuǎn)頁(yè) --></p><p>  <global-results></p><p>  <result name="login">/login.jsp</resul

89、t></p><p>  <result name="download_xls" type="stream"></p><p>  <param name="contentType">application/octet-stream</param></p><p>

90、  <param name="inputName">inputStream</param></p><p>  <param name="contentDisposition">attachement;filename="${fileName}"</param></p><p>  

91、<param name="bufferSize">2048</param></p><p><b>  </result></b></p><p>  </global-results></p><p>  <!--<action name="sys_

92、*" class="systemLogAction"--></p><p>  <!-- method="{1}">--></p><p>  <!--<result type="json"/>--></p><p>  <!-

93、-</action>--></p><p><b>  <!-- </b></p><p>  使用Convention插件,實(shí)現(xiàn)約定大于配置的零配置文件風(fēng)格.</p><p>  特殊的Result路徑在Action類中使用@Result設(shè)定. </p><p><b>  --&

94、gt;</b></p><p>  </package></p><p><b>  </struts></b></p><p>  圖3-1管理系統(tǒng)主要功能結(jié)構(gòu)圖</p><p>  4.1.3 主要配置文件applicationContext.xml</p><

95、p>  該文件是spring的配置文件,其主要內(nèi)容如下:</p><p>  <?xml version="1.0" encoding="UTF-8"?></p><p>  <beans xmlns="http://www.springframework.org/schema/beans" </p&

96、gt;<p>  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"</p><p>  xmlns:p="http://www.springframework.org/schema/p" </p><p>  xmlns:context="http://www.spri

97、ngframework.org/schema/context"</p><p>  xmlns:jee="http://www.springframework.org/schema/jee" </p><p>  xmlns:tx="http://www.springframework.org/schema/tx"</p>&

98、lt;p>  xmlns:aop="http://www.springframework.org/schema/aop"</p><p>  xsi:schemaLocation="</p><p>  http://www.springframework.org/schema/beans http://www.springframework.org/s

99、chema/beans/spring-beans-2.5.xsd</p><p>  http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd</p><p>  http://www.springframework.o

100、rg/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.5.xsd</p><p>  http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd</p><p>  h

101、ttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd"</p><p>  default-lazy-init="false" default-autowire="byName"></p><

102、;p>  <description>Spring公共配置 </description></p><p>  <!-- 定義受環(huán)境影響易變的變量 --></p><p>  <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigur

103、er"></p><p>  <property name="locations"></p><p><b>  <list></b></p><p>  <!-- 標(biāo)準(zhǔn)配置 --></p><p>  <value>classpath:

104、resource/db/application.properties</value></p><p><b>  </list></b></p><p>  </property></p><p><b>  </bean></b></p><p> 

105、 <!-- 使用annotation 自動(dòng)注冊(cè)bean,并保證@Required,@Autowired的屬性被注入 --></p><p>  <context:annotation-config></p><p>  <context:component-scan base-package="com.sucent"/></p&

106、gt;<p>  </context:annotation-config></p><p>  <!-- 數(shù)據(jù)源dbcp --></p><p>  <bean id="dataSource"</p><p>  class="org.apache.commons.dbcp.BasicData

107、Source"</p><p>  destroy-method="close"></p><p>  <property name="driverClassName"></p><p>  <value>${driver}</value></p><p&

108、gt;  </property></p><p>  <property name="url"></p><p>  <value>${url}</value></p><p>  </property></p><p>  <property name=&

109、quot;username"></p><p>  <value>${username}</value></p><p>  </property></p><p>  <property name="password"></p><p>  <valu

110、e>${password}</value></p><p>  </property></p><p><b>  </bean></b></p><p>  <!-- sqlMapClient的實(shí)例 --></p><p>  <bean id="s

111、qlMapClient"</p><p>  class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"></p><p>  <property name="dataSource" ref="dataSource"></prope

112、rty></p><p>  <property name="configLocation" value="classpath:resource/db/SqlMapConfig.xml"></property></p><p><b>  </bean></b></p>&

113、lt;p>  <!-- sqlMapClientTemplate模板 </p><p>  DAO類中均使用此模板</p><p><b>  --></b></p><p>  <bean id="sqlMapClientTemplate" class="org.springframewo

114、rk.orm.ibatis.SqlMapClientTemplate"></p><p>  <property name="sqlMapClient" ref="sqlMapClient"></property></p><p><b>  </bean></b></p

115、><p>  <!-- 配置事務(wù)管理,單數(shù)據(jù)源事務(wù) --></p><p>  <bean id="transactionManager"</p><p>  class="org.springframework.jdbc.datasource.DataSourceTransactionManager">&

116、lt;/p><p>  <property name="dataSource" ref="dataSource"/></p><p><b>  </bean></b></p><p>  <!-- 使用annotation定義事務(wù) --></p><p

117、>  <tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true" /></p><p>  <!-- 通用dao --></p><p>  <bean id="commonDao&quo

118、t; class="com.sucent.core.CommonDAOImpl"/></p><p>  <!-- 系統(tǒng)日志 --></p><p>  <bean id="systemLogService" class="com.sucent.service.SystemLogServiceAble"/&

119、gt;</p><p>  <bean id="systemLogAction" class="com.sucent.action.SystemLogAction" scope="prototype"/></p><p>  <!-- 系統(tǒng)菜單 --></p><p>  <b

120、ean id="systemMenuService" class="com.sucent.service.SystemMenuServiceImpl"/></p><p>  <bean id="systemMenuAction" class="com.sucent.action.SystemMenuAction" sco

121、pe="prototype"/></p><p>  <!-- 系統(tǒng)用戶(登錄,權(quán)限加載等) --></p><p>  <bean id="sysUserService" class="com.sucent.service.system.SysUserServiceAble"/></p>

122、<p>  <bean id="sysUserAction" class="com.sucent.action.system.SysUserAction" scope="prototype"/></p><p>  <!-- excel template --></p><p>  <b

123、ean id="excelTemplate" class="com.sucent.service.excel.ExcelTemplateImpl"/></p><p>  <!-- 材料數(shù)據(jù)excel讀取工具 --></p><p>  <bean id="readMaterialExcel" class=

124、"com.sucent.service.excel.ReadMaterialExcelImpl"/></p><p>  <!-- 客戶數(shù)據(jù)excel讀取工具 --></p><p>  <bean id="readClientExcel" class="com.sucent.service.excel.ReadCl

125、ientExcelImpl"/></p><p>  <!-- 材料清單excel讀取工具 --></p><p>  <bean id="readMaterialListExcel" class="com.sucent.service.excel.ReadMaterialListExcelImpl"/><

126、;/p><p>  <!-- 角色管理 --></p><p>  <bean id="sysRoleService" class="com.sucent.service.system.SysRoleServiceAble"/></p><p>  <bean id="sysRoleAct

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論