版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第2頁共36頁1引言當今社會是一個信息社會,一個知識經(jīng)濟時代。自世界上第一臺計算機ENIAC(Electronicnumericalintegratorandcalculator)于1946年在美國問世到現(xiàn)在,計算機業(yè)飛速發(fā)展,技術(shù)淘汰指標高的驚人,價格下降以及軟件應(yīng)用的快速擴展引發(fā)了以信息處理計算機化為標志的“微機革命”,隨之而來的是以全球信息網(wǎng)絡(luò)普及和全球信息共享為標志的“全球信息網(wǎng)絡(luò)革命”的蓬勃興起??梢?,世界已進入在計算機信息管理領(lǐng)域中激烈競爭的時代,計算機已經(jīng)變得普通的不能再普通的工具,如同我們離不開的自行車、汽車一樣。在這種環(huán)境下證實了一句話:誰掌握的知識多,信息量大,信息處理速度快,批量大,誰的效率就高,誰就能在各種競爭中立于不敗之地[1]。中小型企業(yè)在我國經(jīng)濟發(fā)展中具有重要的地位,目前我國的中小型企業(yè)數(shù)量較多、地區(qū)分布廣泛、行業(yè)分布跨度大,隨著全球經(jīng)濟一體化的發(fā)展及中國加入WTO,中小型企業(yè)將面臨外資企業(yè)和國外產(chǎn)品與服務(wù)的嚴峻挑戰(zhàn)。如果我國的中小型企業(yè)不借助先進的管理思想轉(zhuǎn)變經(jīng)營觀念、使用信息化提高企業(yè)的管理水平和工作效率,將很難在今后的國際競爭中取勝。隨著技術(shù)發(fā)展,電腦的操作及管理日趨普及,因此我國中小型公司采用電腦管理公司的各種業(yè)務(wù)也已成為趨勢和必然。管理信息系統(tǒng)(MIS)是一個由人、計算機等組成的能進行信息的收集、傳遞、存儲、加工和使用的系統(tǒng)。其主要任務(wù)是最大限度的利用現(xiàn)代計算機及網(wǎng)絡(luò)通訊技術(shù)加強企業(yè)的信息管理,通過對企業(yè)擁有的人力、物力、財力、設(shè)備、技術(shù)等資源的調(diào)查了解,建立正確的數(shù)據(jù),加工處理并編制成各種信息資料及時提供給管理人員,以便進行正確的決策,不斷提高企業(yè)的管理水平和經(jīng)濟效益。隨著我國與世界信息高速公路的接軌,企業(yè)通過計算機網(wǎng)絡(luò)獲得信息必將為企業(yè)帶來巨大的經(jīng)濟效益和社會效益,企業(yè)的辦公及管理都將朝著高效、快速、無紙化的方向發(fā)展。MIS系統(tǒng)通常用于系統(tǒng)決策,MIS系統(tǒng)的最終目的是使管理人員及時了解公司現(xiàn)狀,把握將來的發(fā)展路徑。北京圖信時代內(nèi)部資源管理系統(tǒng)是針對公司內(nèi)部相關(guān)業(yè)務(wù)的需要建立起來的一個科學、有效的現(xiàn)代管理系統(tǒng)。它是一個基于WEB頁面的、B/S模式的管理系統(tǒng)(Browser/Server)。普通用戶可以通過瀏覽器登錄系統(tǒng)實現(xiàn)對公司信息、客戶關(guān)系、生產(chǎn)計劃、物資管理的查詢錄入等操作。此外,系統(tǒng)管理員登錄系統(tǒng)后可以對用戶、部門和崗位進行增加刪改操作,還可以對用戶的權(quán)限進行重新設(shè)置、對公司的信息進行初始化和提交操作。a)項目背景隨著科學技術(shù)的發(fā)展,管理軟件不斷被應(yīng)用于社會各個層面,隨著公司規(guī)模和業(yè)務(wù)的不斷擴展,北京圖信時代科技有限公司單靠原來的管理模式已經(jīng)滿足不了現(xiàn)有工作的需求,因此急需開發(fā)出一套全面有效方便、快捷的業(yè)務(wù)展示平臺來滿足公司的發(fā)展要求。b)項目名稱北京圖信時代科技有限公司內(nèi)部資源管理系統(tǒng)設(shè)計。c)用戶圖信時代內(nèi)部資源管理系統(tǒng)管理員包括系統(tǒng)管理員用戶和普通用戶兩大類,其中系統(tǒng)管理員一般為公司的高級管理人員;普通用戶一般為公司各部門工作人員。d)相關(guān)軟件MicrosoftOfficeWord2000相關(guān)軟件不屬于項目范圍,但是必須相互協(xié)作完成工作。本科畢業(yè)設(shè)計第9頁共36頁2開發(fā)工具與技術(shù)簡介2.1JSP技術(shù)簡介隨著電子計算機技術(shù)的迅猛發(fā)展,Java作為一種面向?qū)ο蟮某绦蛟O(shè)計語言,從1995年7月開始在計算機界受到高度重視。Java問世以前,Internet應(yīng)用程序只能采用CGI編程。Java降低了Internet應(yīng)用程序的編寫難度。在WWW世界中有數(shù)不清的Java小程序,它們極大地豐富了Web網(wǎng)頁的效果,使Internet世界變得更加豐富多彩。時至今日,JSP技術(shù)已經(jīng)相當成熟,前景非常廣闊。在此背景下,利用JSP開發(fā)公司資源管理系統(tǒng)具有非常的意義。JSP(JavaServerPages)是由SunMicrosystems公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標準。JSP技術(shù)有點類似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標記(tag),從而形成JSP文件(*.jsp)。用JSP開發(fā)的Web應(yīng)用是跨平臺的,即能在Linux下運行,也能在其他操作系統(tǒng)上運行。JSP技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計和顯示分離,支持可重用的基于組件的設(shè)計,使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能。JSP與JavaServlet一樣,是在服務(wù)器端執(zhí)行的,通常返回該客戶端的就是一個HTML文本,因此客戶端只要有瀏覽器就能瀏覽。JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁面被客戶端請求以后對這些Java代碼進行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。JavaServlet是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開發(fā)需要JavaServlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡單易用,完全的面向?qū)ο?,具有平臺無關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點。2.1.1JavaBean技術(shù)JavaBeans就是一個可以復(fù)用的軟件模型。JavaBeans在某個容器中運行,提供具體的操作性能。JavaBeans是建立應(yīng)用程序的建筑模塊。大多數(shù)常用的JavaBeans通常是中小型控制程序,但也可以編寫包裝整個應(yīng)用程序運行邏輯的JavaBeans組件,并將其嵌入到復(fù)合文檔中,以便實現(xiàn)更為復(fù)雜的功能。一般來說,JavaBeans可以表示為簡單的GUI組件,可以是按鈕組件、游標、菜單等等。這些簡單的JavaBeans組件提供了告訴用戶什么是JavaBeans的直觀方法。但我們也可以編寫一些不可見的JavaBeans,用于接受事件和在幕后工作,例如訪問數(shù)據(jù)庫,執(zhí)行查詢操作的JavaBeans,它們在運行時刻不需要任何可視的界面。在JSP程序中所用的JavaBeans一般以不可見的組件為主,可見的JavaBeans一般用于編寫Applet程序或者Java應(yīng)用程序。2.1.2ServletServlet是使用JavaServlet應(yīng)用程序設(shè)計接口(API)及相關(guān)類和方法的Java程序。除了JavaServletAPI,Servlet還可以用以擴展和添加到API的Java類軟件包。Servlet在啟用Java的Web服務(wù)器上或應(yīng)用服務(wù)器上運行并擴展了該服務(wù)器的能力。JavaServlet對于Web服務(wù)器就好象Javaapplet對于Web瀏覽器。Servlet裝入Web服務(wù)器并在Web服務(wù)器內(nèi)執(zhí)行,而applet裝入Web瀏覽器并在Web瀏覽器內(nèi)執(zhí)行。JavaServletAPI定義了一個Servlet和Java使能的服務(wù)器之間的一個標準接口,這使得Servlets具有跨服務(wù)器平臺的特性[4]。2.2MySQL數(shù)據(jù)庫簡介MySQL是一個真正的多用戶、多線程SQL數(shù)據(jù)庫服務(wù)器。SQL(結(jié)構(gòu)化查詢語言)是世界上最流行的和標準化的數(shù)據(jù)庫語言。MySQL是以一個客戶機/服務(wù)器結(jié)構(gòu)的實現(xiàn),它由一個服務(wù)器守護程序MySQL和很多不同的客戶程序和庫組成。SQL是一種標準化的語言,它使得存儲、更新和存取信息更容易。例如,你能用SQL語言為一個網(wǎng)站檢索產(chǎn)品信息及存儲顧客信息,同時MySQL也足夠快和靈活以允許存儲記錄文件和圖像。MySQL主要目標是快速、健壯和易用。最初是因為我們需要這樣一個SQL服務(wù)器,它能處理與任何并不昂貴硬件平臺上提供數(shù)據(jù)庫的廠家在一個數(shù)量級上的大型數(shù)據(jù)庫,但速度更快,MySQL就開發(fā)出來。自1996年以來,我們一直都在使用MySQL,其環(huán)境有超過40個數(shù)據(jù)庫,包含10,000個表,其中500多個表超過7百萬行,這大約有100個吉字節(jié)(GB)的關(guān)鍵應(yīng)用數(shù)據(jù)。2.3B/S結(jié)構(gòu)簡介B/S(Browser/Server,瀏覽器/服務(wù)器)結(jié)構(gòu)是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化或者改進的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶界面完全通過瀏覽器實現(xiàn),只有少部分事務(wù)邏輯在瀏覽器端實現(xiàn),大部分事務(wù)邏輯集中在服務(wù)器端實現(xiàn),形成所謂的3層結(jié)構(gòu)。B/S結(jié)構(gòu)利用不斷成熟和普及的瀏覽器技術(shù)實現(xiàn)了原來需要復(fù)雜專用軟件才能實現(xiàn)的強大功能,并節(jié)約了開發(fā)成本,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。這種結(jié)構(gòu)已逐漸成為當今應(yīng)用軟件的首選體系結(jié)構(gòu)。B/S結(jié)構(gòu)和服務(wù)器之間的通信是以TCP/IP協(xié)議為基礎(chǔ)的,校園內(nèi)的Web服務(wù)器可以接受安裝有Web瀏覽器程序的Internet終端的訪問,作為最終用戶,只要通過Web瀏覽器,各種處理任務(wù)都可以調(diào)用系統(tǒng)資源來完成,這樣大大簡化了客戶端,減輕了系統(tǒng)維護與升級的成本和工作量。隨著軟件系統(tǒng)的改進和升級越來越頻繁,B/S結(jié)構(gòu)的產(chǎn)品可以明顯體現(xiàn)出更方便的特性。因為無論用戶的規(guī)模有多大,有多少分支機構(gòu),都不會增加任何維護升級的工作量,因為所有的操作只需要針對服務(wù)器進行。如果是異地,只需把服務(wù)器連接上網(wǎng)即可進行維護和升級,這對人力、時間、費用的節(jié)省是相當驚人的。對于規(guī)模較大的公司,系統(tǒng)管理人員如果需要在幾百甚至幾千部電腦之間來回進行維護,其效率和工作量是可想而知的,但B/S架構(gòu)的軟件只需要管理服務(wù)器就行了,所有的客戶端只是瀏覽器,根本不需要做任何的維護。所以客戶機越來越“瘦”而服務(wù)器越來越“胖”是將來軟件的主流發(fā)展方向,這使得升級和維護越來越容易,使用越來越簡單。2.4開發(fā)工具介紹JSP是基于Java語言的,因此在進行項目開發(fā)前,要安裝JDK,系統(tǒng)的開發(fā)采用J2SDK1.4.2。開發(fā)工具采用MyEclipse6.0,應(yīng)用服務(wù)器采用了ApacheTomcat5.0.30,數(shù)據(jù)庫采用MySQL4.0.24。2.4.1Eclipse+MyEclipse簡介在開發(fā)工具方面,IBM,Borland,Sun,BEA等軟件巨頭在其應(yīng)用服務(wù)器的基礎(chǔ)上,都推出開發(fā)JavaWeb應(yīng)用程序的開發(fā)工具。這些IDE大多都兼顧了各種類別的Java應(yīng)用程序的開發(fā),需要較大空間進行安裝,啟動過程相對較慢。而且,由于它們都是各廠商的私有產(chǎn)品,外界無法對其進行定制或改造,因此無法跟隨J2EE不斷前進的步伐。而Eclipse有一群無私的開發(fā)者開發(fā),作為目前IDE的佼佼者,Eclipse由于其開放性受到越來越多的用戶及廠商的歡迎。首先,Eclipse是開源的,Eclipse遵循CommonPublicLicense協(xié)議。任何人可以免費獲得Eclipse軟件本身及其源代碼;其次,Eclipse是免安裝的,只要在本機裝有JDK,可以從其他機器上將Eclipse目錄復(fù)制到本機,只要經(jīng)過簡單的配置就可以使用。總之,Eclipse是優(yōu)秀的開發(fā)工具。簡介的界面,便捷的熱鍵,可定制的視圖等,都不足以概括Eclipse的內(nèi)涵。據(jù)稱,從其他IDE轉(zhuǎn)到Eclipse上的開發(fā)人員,很少將Eclipse拋棄而選擇其他的IDE。Eclipse標準軟件包中只提供了Java應(yīng)用程序的開發(fā)和調(diào)試,而沒有提供JSP開發(fā)環(huán)境。不過有眾多的插件支持在Eclipse上進行JSP的開發(fā)。在開發(fā)JSP的插件中,最強大的非MyEclipse莫屬。MyEclipse具備了眾多令人欣喜的特色,貼心的Wizard、圖形化的配置管理、JSP錯誤跟蹤、代碼跳轉(zhuǎn)等,都可以令J2EE開發(fā)飛速運轉(zhuǎn)起來[6]。2.4.2Tomcat簡介自從JSP發(fā)布之后,推出了各式各樣的JSP引擎。ApacheGroup在完成GNUJSP1.0的開發(fā)以后,開始考慮在SUN的JSWDK基礎(chǔ)上開發(fā)一個可以直接提供Web服務(wù)的JSP服務(wù)器,當然同時也支持Servlet,這樣Tomcat就誕生了。Tomcat是Jakarta項目中的一個重要的子項目,其被JavaWorld雜志的編輯選為2001年度最具創(chuàng)新的java產(chǎn)品,同時它又是sun公司官方推薦的Servlet和JSP容器,因此其越來越多的受到軟件公司和開發(fā)人員的喜愛。Servlet和JSP的最新規(guī)范都可以在Tomcat的新版本中得到實現(xiàn)。其次,Tomcat是完全免費的軟件,任何人都可以從互聯(lián)網(wǎng)上自由地下載。Tomcat與Apache的組合相當完美[7]。2.4.3Hibernate框架簡介Hibernate是Apache軟件基金會的一個開放源代碼的O/Rmapping(對象關(guān)系映射)框架,它對JDBC進行了輕量級的對象封裝,使Java程序員可以隨心所欲地使用對象編程思想來操縱數(shù)據(jù)庫。為了企業(yè)應(yīng)用與后端數(shù)據(jù)庫頻繁交互,開發(fā)者在應(yīng)用和數(shù)據(jù)庫之間創(chuàng)建了一個“持久層”。在基于J2EE的企業(yè)應(yīng)用中,組成這個持久層的Java類既可以映射對象到數(shù)據(jù),也可以映射數(shù)據(jù)到對象。持久層的建立是比較簡單的,但是這種關(guān)系的有時候又很復(fù)雜,由于對象數(shù)據(jù)庫結(jié)構(gòu)的復(fù)雜性,很難做到把關(guān)系表記錄完整地映射到持久對象的關(guān)系上來,這主要表現(xiàn)在多表的關(guān)系無法直接映射到持久對象的映射上來,可能是一個表映射到多個持久對象,可能是多個表映射到一個持久對象上來,也可能是表的某個字段映射到一個持久對象,另外一些字段映射到其他持久對象上。Hibernate相當于是對持久層數(shù)據(jù)處理的一種新的解決方案,是一個與持久層和查詢相關(guān)的框架,它可以應(yīng)用于任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用。2.4.4Structs框架簡介Struts是Apache組織的一個開放源代碼項目,提供了一個構(gòu)建基于MVC體系結(jié)構(gòu)的Web應(yīng)用程序的框架。Struts繼承了MVC的各項特性,并根據(jù)J2EE的特點做了相應(yīng)的變化和擴展。即Struts框架將MVC的優(yōu)點應(yīng)用與J2EEWeb應(yīng)用的開發(fā),可以說是傳統(tǒng)模式的一種變化類型。Struts的體系結(jié)構(gòu)包括模型、視圖、控制三部分。模型(數(shù)據(jù)訪問層)表示數(shù)據(jù)和處理數(shù)據(jù)的業(yè)務(wù)邏輯或應(yīng)用程序;視圖(表示層)表示用戶想查看/存取數(shù)據(jù)的表示界面;控制器(業(yè)務(wù)規(guī)則層)定義用戶與模型和視圖交互的方式。距離用戶最近的是表示層,為用戶提供了良好的操作界面。通過本層收集用戶的數(shù)據(jù)并向業(yè)務(wù)層傳遞,數(shù)據(jù)驗證通過后傳遞給數(shù)據(jù)訪問層,最后到達數(shù)據(jù)庫。距離數(shù)據(jù)庫最近的是數(shù)據(jù)訪問層,封裝了對數(shù)據(jù)庫的各種操作,包括數(shù)據(jù)庫的連接等,提供了數(shù)據(jù)庫的安全,其它層從數(shù)據(jù)庫中獲得數(shù)據(jù)或者要更新數(shù)據(jù)庫中的數(shù)據(jù),都要通過數(shù)據(jù)訪問層。業(yè)務(wù)規(guī)則層負責協(xié)調(diào)表示層和數(shù)據(jù)訪問層之間的關(guān)系。例如,對表示層的數(shù)據(jù)進行驗證,對數(shù)據(jù)庫中指定的表數(shù)據(jù)進行增加、刪除、修改和查詢等工作。
3需求分析需求分析是對用戶需求的真正明確,是對要解決的問題的徹底理解。在解決問題之前要理解問題,只有真正的理解問題才能更好的解決問題。需求分析就是給系統(tǒng)分析、設(shè)計人員一個和用戶交流來理解問題的機會進而了解用戶究竟需要什么。需求分析也是一個建模的過程,就是以市場運作中的業(yè)務(wù)定義為基礎(chǔ),重新定義一個業(yè)務(wù)在業(yè)務(wù)系統(tǒng)中的概念、業(yè)務(wù)流程、數(shù)據(jù)流程、業(yè)務(wù)間關(guān)系、數(shù)據(jù)間關(guān)系等,以便于計算機高效的實現(xiàn)這個業(yè)務(wù)。需求分析既可以用于一個業(yè)務(wù)的具體分析,也可以用于一類業(yè)務(wù)的分析和整個業(yè)務(wù)支撐系統(tǒng)的分析。3.1用戶需求北京圖信時代科技有限公司內(nèi)部資源管理系統(tǒng)主要需求是:系統(tǒng)采用先進的應(yīng)用系統(tǒng)體系結(jié)構(gòu)和開發(fā)模式,提高系統(tǒng)的可擴展性、可維護性和交互性。該系統(tǒng)相對獨立,接口實現(xiàn)簡單、安全,可操作性強。本系統(tǒng)主要包含企業(yè)信息管理、客戶關(guān)系管理、企業(yè)物資管理、生產(chǎn)計劃管理、企業(yè)產(chǎn)品、企業(yè)綜合管理、權(quán)限管理七大部分。3.2可行性分析3.2.1技術(shù)可行性如果沒有資源和時間上的限制,任何項目都將是可行的,但是在現(xiàn)有資源條件下,要在規(guī)定時間內(nèi)完成項目開發(fā)則必須細致而謹慎地評估項目的可行性。北京圖信時代科技有限公司內(nèi)部資源管理系統(tǒng)主要完成企業(yè)內(nèi)部的資源管理,從而在管理上提高效率,因此項目的經(jīng)濟可行性無庸置疑;技術(shù)可行性方面,根據(jù)提出的要求,結(jié)合現(xiàn)行技術(shù)的發(fā)展程度得出結(jié)論,項目所要求功能和性能完全可以實現(xiàn)。3.2.2經(jīng)濟可行性根據(jù)北京圖信時代科技有限公司實際的經(jīng)濟實力,它有能力應(yīng)用計算機管理軟件。企業(yè)能負擔得起其支出費用(包括設(shè)備的購置費,軟件的開發(fā)費,人員工資和培訓費用等);另一方面是取得收益,其中一部分可以用錢來衡量,加強庫存管理可加快流動資金周轉(zhuǎn),減少資金積壓等,還包括不能用金錢來衡量的收益,系統(tǒng)提供更多、更快的信息,縮短取得信息的時間。3.2.3管理可行性軟件充分結(jié)合現(xiàn)代管理理論達到企業(yè)與管理人員與企業(yè)業(yè)務(wù)流程的合理分配,結(jié)合企業(yè)現(xiàn)有的管理方式、規(guī)章制度以及原始數(shù)據(jù)達到軟件與企業(yè)融合的目的。接受現(xiàn)代管理知識比較容易,加之軟件是根據(jù)MIS、ERP現(xiàn)代管理原理開發(fā)的。經(jīng)調(diào)查大多部門經(jīng)理認為軟件有必要開發(fā)也是必須開發(fā)的。3.2.4可行性分析結(jié)論從經(jīng)濟、技術(shù)、管理三方面分析軟件是有必要開發(fā)的,且市場前景廣闊。3.3系統(tǒng)運行環(huán)境該系統(tǒng)采用Browser/Server模式進行設(shè)計:數(shù)據(jù)庫系統(tǒng):MySQL應(yīng)用服務(wù)器:Tomcat5.0服務(wù)器操作系統(tǒng):WindowsServer2000客戶機操作:Windows9X/NT/2000/XP/2003,其上運行瀏覽器程序。服務(wù)器和客戶機可為同一設(shè)備。3.4系統(tǒng)開發(fā)目標北京圖信時代科技有限公司內(nèi)部資源管理系統(tǒng)將基本涵蓋企業(yè)內(nèi)部資源管理的主要需求,包括物資的進銷存管理的完整信息,具有完善細致的功能、強大的數(shù)據(jù)處理功能和較完備的安全機制;隨心所欲的查看所見即所得的在線編輯功能。北京圖信時代科技有限公司內(nèi)部資源管理系統(tǒng)一方面是適應(yīng)市場需求,提高應(yīng)用本軟件的企業(yè)的管理效率。滿足信息時代管理數(shù)字化的要求、利用管理信息系統(tǒng)中合理的數(shù)據(jù)庫結(jié)構(gòu)來保存數(shù)據(jù)信息,及時了解各個環(huán)節(jié)中信息的變更,對企業(yè)內(nèi)部資源進、銷、存進行管理。通過有效的程序結(jié)構(gòu)來支持各種數(shù)據(jù)操作的執(zhí)行,以提高管理效率,實現(xiàn)資源管理的系統(tǒng)化,規(guī)范化,自動化;另一方面,通過該項目開發(fā)的全過程,加深了對MIS系統(tǒng)開發(fā)理論的理解,學到MIS系統(tǒng)化的開發(fā)的更許多實際知識,還加深了對ERP的了解。能夠更好的將自己的理論知識與實際情況聯(lián)系起來,很大程度上增加自己的實際項目開發(fā)經(jīng)驗。為畢業(yè)后走入社會打下堅實的理論與實際操作的基礎(chǔ)。本科畢業(yè)設(shè)計第37頁共37頁4概要設(shè)計北京圖信時代科技有限公司內(nèi)部資源管理系統(tǒng)在需求分析階段已經(jīng)較好地解決了要讓系統(tǒng)“做什么”的問題,下一步要設(shè)計實現(xiàn)系統(tǒng)的需求,即要著手解決“怎么做”的問題。概要設(shè)計階段的主要目的就是將需求分析階段所提出的反映公司需求的系統(tǒng)邏輯方案轉(zhuǎn)換成可以實施的基于計算機與通信系統(tǒng)的物理方案。這一階段的主要任務(wù)是從系統(tǒng)的總體目標出發(fā),根據(jù)需求分析階段對系統(tǒng)邏輯功能的要求,并考慮到經(jīng)濟、技術(shù)和運行環(huán)境等方面的條件,確定系統(tǒng)的總體結(jié)構(gòu)和系統(tǒng)各組成部分的技術(shù)方案,合理選擇計算機和通信的軟、硬件設(shè)備,提出系統(tǒng)的實施計劃,確??傮w目標的實現(xiàn)。4.1模塊結(jié)構(gòu)設(shè)計北京圖信時代內(nèi)部資源管理系統(tǒng)采用現(xiàn)今流行的B/S結(jié)構(gòu)模式,用戶通過瀏覽器直接對服務(wù)器端的數(shù)據(jù)庫進行各種操作,服務(wù)器端將操作結(jié)果反饋回客戶端。該模式同時具有開發(fā)時間短,成本較低,而且數(shù)據(jù)量的傳輸快等優(yōu)點。根據(jù)北京圖信時代內(nèi)部資源管理系統(tǒng)的需求分析,設(shè)計出系統(tǒng)的整體構(gòu)架,進一步形成系統(tǒng)整體模塊圖。根據(jù)系統(tǒng)的總體目標、系統(tǒng)業(yè)務(wù)流程和數(shù)據(jù)流圖的邏輯功能,按照結(jié)構(gòu)化程序設(shè)計方法的分解協(xié)調(diào)原則,對系統(tǒng)的總體功能進行了功能的設(shè)計,系統(tǒng)模塊圖如圖4.1所示。4.2模塊功能設(shè)計4.2.1企業(yè)信息管理模塊該模塊的主要功能是對企業(yè)信息進行采編、企業(yè)信息審核、企業(yè)信息查詢。企業(yè)信息采編包括企業(yè)公告、企業(yè)活動、企業(yè)信息、企業(yè)說明等欄目。根據(jù)這些欄目可以清晰的了解到該企業(yè)的最新動態(tài)。其中企業(yè)信息審核模塊只能有擁有最高權(quán)限的系統(tǒng)管理員來操作。當信息經(jīng)過審核后才能發(fā)布出去,提高了系統(tǒng)的安全有效性。之后單擊客戶名可以以報表的形式查詢信息。4.2.2CRM管理模塊該模塊的主要功能是登記公司發(fā)展中有過的業(yè)務(wù)聯(lián)系的客戶的相關(guān)信息并對其進行增、刪、改和查詢操作。公司的客戶主要分為企業(yè)客戶和個人客戶。利用它可以清晰方便快捷的查詢到有關(guān)客戶的信息。包括客戶編號、客戶名稱、客戶所在公司、客戶所在部門、客戶類型、聯(lián)系方式等信息。圖4.1系統(tǒng)模塊圖4.2.3企業(yè)物資管理模塊該模塊類似與ERP系統(tǒng)模塊它分為:物資生成采購報表、物資入庫、物資出庫、和庫存查詢四大部分。在采購過程中,系統(tǒng)能夠處理采購單與采購?fù)素泦危蛊髽I(yè)可以輕松管理采購、商品入庫、采購?fù)素浐蜕唐烦鰩斓雀黜椆ぷ?。商品的流通是本系統(tǒng)的主要業(yè)務(wù),庫存在系統(tǒng)占有重要的地位,系統(tǒng)應(yīng)提供庫存管理功能。庫存管理主要進行盤點查詢處理與提貨查詢處理這兩方面的工作。4.2.4計劃管理模塊主要管理客戶所下的訂單:如添加訂單、退回訂單、待辦理訂單等。在銷售工作中,系統(tǒng)能夠處理銷售單與銷售退貨單,使企業(yè)可以輕松管理銷售、商品出庫、銷售退貨和商品入庫等各項工作。4.2.5產(chǎn)品信息管理模塊產(chǎn)品資料是企業(yè)經(jīng)營產(chǎn)品的基本信息,是庫存資源的保障。該模塊主要維護產(chǎn)品資料的信息,可對產(chǎn)品進行增加、刪除及修改操作。4.2.6綜合管理模塊綜合管理模塊又分為企業(yè)用戶即公司內(nèi)部人員信息、公司內(nèi)部各部門信息、和各個欄目信息等三大部分。公司內(nèi)部人員的信息包括登錄賬號、登錄密碼、確認密碼、姓名、性別、所屬部門、電子郵箱、主頁、省份、城市、地址、聯(lián)系電話、手機、備注相關(guān)信息。4.2.7企業(yè)權(quán)限管理模塊在此系統(tǒng)中系統(tǒng)員的權(quán)限最高可設(shè)置其他用戶的最終權(quán)限。其流程為先增加用戶權(quán)限角色代碼,然后為用戶添加角色,再授予其具體的權(quán)限。4.3數(shù)據(jù)庫設(shè)計對大多數(shù)應(yīng)用系統(tǒng)而言,很大程度上都是圍繞對數(shù)據(jù)庫的操作展開的,數(shù)據(jù)庫本身才是應(yīng)用系統(tǒng)的核心部分,程序界面只是提供用戶對數(shù)據(jù)庫中的數(shù)據(jù)的組織與管理的接口。任何數(shù)據(jù)庫結(jié)構(gòu)的變更都很可能導(dǎo)致界面程序的改動。因此,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計至關(guān)重要。4.3.1分析與設(shè)計數(shù)據(jù)庫數(shù)據(jù)庫采用MySQL,它所支持的字段數(shù)據(jù)類型包括數(shù)值、字符、日期時間以及二進制和圖片等類型,它性能穩(wěn)定適合本系統(tǒng)的工作需求。根據(jù)功能模塊的設(shè)計,以及規(guī)范化的設(shè)計要求,該系統(tǒng)的數(shù)據(jù)庫設(shè)計了9個表,即信息標題表(Info_title)、用戶信息表(Users)、信息內(nèi)容表(Info_Content)、信息欄目表(Sys_column)、系統(tǒng)部門表(Sys_department)、系統(tǒng)角色表(Role)、角色功能表(RoleMenu)、角色欄目表(RoleColumn)、角色用戶表(RoleUser)。據(jù)功能要求在MySQL里創(chuàng)建數(shù)據(jù)庫,建立各數(shù)據(jù)表,數(shù)據(jù)表清單如表4.1。表4.1數(shù)據(jù)庫mw_irmsdb的數(shù)據(jù)表清單數(shù)據(jù)表名稱簡短描述Info_title信息標題表Info_content信息內(nèi)容表Sys_column系統(tǒng)欄目表Sys_user系統(tǒng)用戶表Sys_department系統(tǒng)部門表Roleuser角色用戶表RoleColumn角色欄目表RoleMenu角色功能表Role角色表信息標題表主要用于保存企業(yè)信息的各項內(nèi)容。表Info_title的結(jié)構(gòu)如表4.3所示。其中其id屬性段和信息欄目表的Sys_column_id屬性段建立關(guān)聯(lián)。表4.2信息標題表(Info_title)字段數(shù)據(jù)類型長度可空否說明idint11N信息編號,主鍵,自增titlevarchar255Y信息標題keywordsint5Y信息關(guān)鍵字Sourcevarchar255Y信息來源Summaryvarchar255Y信息摘要columnIDint11Y欄目IDCreatuserIDint11Y信息創(chuàng)建用戶IDCreateDateintdateY信息創(chuàng)建日期File_namevarchar100Y附件名稱File_pathvarchar100Y附件地址Image_pathvarchar100Y圖片地址信息內(nèi)容表主要用于體現(xiàn)信息的主要內(nèi)容。表Info_Content的結(jié)構(gòu)如表4.3所示。表4.3信息內(nèi)容表(Info_Content)字段數(shù)據(jù)類型長度可空否說明Info_title_idint11N信息編號,主鍵,自增ContentLongtext_Y信息標題信息欄目表主要用于列出各項欄目的具體名稱及父欄目和子欄目的對應(yīng)關(guān)系。表Sys_column的結(jié)構(gòu)如表4.4所示。表4.4信息欄目表(Sys_column)字段名稱數(shù)據(jù)類型長度可空否說明Sys_column_idint11N信息編號,主鍵,自增Parent_idint11Y欄目父IDSys_department_idint11Y部門IDSerial_idint11Y欄目IDnamevarchar255Y欄目名稱oidint11Y操作用戶IDotimeDate_Y操作時間Column_typeint11Y欄目類型ordersint11Y欄目排序statustinyint4Y欄目狀態(tài)系統(tǒng)用戶表主要用于體現(xiàn)用戶的基本信息。其中系統(tǒng)部門ID是系統(tǒng)部門表的主鍵。表Sys_User的結(jié)構(gòu)如表4.5所示。表4.5系統(tǒng)用戶表(Sys_User)字段名稱數(shù)據(jù)類型長度可空否說明Sys_user_idint11N用戶編號,主鍵,自增Sys_department_idvarchar50Y系統(tǒng)部門IDRoleIDint11Y系統(tǒng)權(quán)限IDNamevarchar255Y用戶名稱Accoutsvarchar255Y登錄賬戶Passwordvarchar255Y登錄口令續(xù)表4.5系統(tǒng)用戶表(Sys_User)字段名稱數(shù)據(jù)類型長度可空否說明Sextinyint1Y性別BirthdayDate10Y出生日期Addressvarchar255Y地址Cityvarchar255Y城市Mailvarchar255Y郵件CreationDateDate_Y用戶創(chuàng)建日期LastTimeDate_Y最后登錄日期LogonCountDate_Y注銷日期系統(tǒng)部門表主要用于顯示企業(yè)內(nèi)部部門基本信息和操作人的相關(guān)信息。表Sys_department的結(jié)構(gòu)如表4.6所示。表4.6系統(tǒng)部門表(Sys_department)字段名稱數(shù)據(jù)類型長度可空否說明Sys_department_idint11N部門編號,主鍵,自增Namevarchar255Y部門名稱memovarchar255Y部門概要oidint11Y操作人IDotimedate_Y操作時間statustinyint4Y狀態(tài)系統(tǒng)角色表主要用于角色和權(quán)限的相關(guān)信息。表Role的結(jié)構(gòu)如表4.7所示。表4.7系統(tǒng)角色表(Role)字段名稱數(shù)據(jù)類型長度可空否說明Sys_codevarchar200N角色代碼Role_codevarchar200Y權(quán)限代碼Role_namevarchar200Y權(quán)限名稱Remarkvarchar200Y標記角色功能表Role的結(jié)構(gòu)如表4.8所示。表4.8角色功能表(RoleMenu)字段名稱數(shù)據(jù)類型長度可空否說明Sys_codevarchar200N系統(tǒng)代碼Role_codevarchar200Y權(quán)限代碼Menu_codevarchar200Y功能代碼Menu_namevarchar200Y功能名稱Menu_ordervarchar200Y功能排序角色欄目表RoleColumn的結(jié)構(gòu)如表4.9所示。表4.9角色欄目表(RoleColumn)字段名稱數(shù)據(jù)類型長度可空否說明Role_codevarchar200Y權(quán)限代碼Column_idInt11Y欄目IDRoleUser角色用戶表主要記錄每個登錄用戶的權(quán)限代碼,用戶類型不同對應(yīng)的權(quán)限代碼不同,從而每個用戶的操作權(quán)限不同,每個字段的具體含義見表4.9角色用戶表RoleUser的結(jié)構(gòu)如表4.10所示。表4.10角色用戶表(RoleUser)字段名稱數(shù)據(jù)類型長度可空否說明Role_codevarchar200Y權(quán)限代碼Login_uservarchar200Y登錄用戶Remarkvarchar200Y標記對大多數(shù)應(yīng)用系統(tǒng)而言,很大程度上都是圍繞對數(shù)據(jù)庫的操作展開的,數(shù)據(jù)庫本身才是應(yīng)用系統(tǒng)的核心部分,程序界面只是提供用戶對數(shù)據(jù)庫中的數(shù)據(jù)的組織與管理的接口。任何數(shù)據(jù)庫結(jié)構(gòu)的變更都很可能導(dǎo)致界面程序的改動。因此,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計至關(guān)重要。4.4代碼設(shè)計代碼是代表客觀存在的實體或?qū)傩缘姆?,科學合理的代碼,可以使計算機對數(shù)據(jù)的分類、校對、統(tǒng)計、查詢等的處理變得簡單快捷。本系統(tǒng)的代碼設(shè)計的原則是:代碼要具有唯一性、標準化、方便,結(jié)構(gòu)盡量簡單,長度盡可能的短。以數(shù)據(jù)庫設(shè)計中的幾個表所涉及到的代碼為例說明本系統(tǒng)的代碼設(shè)計。系統(tǒng)多數(shù)代碼設(shè)計采用無實意順序碼與實意日期編輯,由于產(chǎn)品進銷存其關(guān)鍵的是時間,因代碼編排采用時間順序。而信息,生產(chǎn)廠商信息采用無實意的代碼編輯。4.5輸入輸出設(shè)計輸入輸出是用戶與系統(tǒng)的重要的、直接的接口,企業(yè)日常運作而產(chǎn)生的原始數(shù)據(jù)要靠系統(tǒng)的輸入完成,同時用戶所需的各種信息、報表都要由系統(tǒng)的輸出完成,所以輸入輸出設(shè)計對于系統(tǒng)將來的實際使用效果會產(chǎn)生很大影響。本系統(tǒng)的輸入設(shè)計原則是本著保證處理需要的前提下盡量減少輸入;數(shù)據(jù)輸入時要采取有效措施,以減少錯誤的發(fā)生,輸入方式以鍵盤輸入為主。為避免輸入時產(chǎn)生數(shù)據(jù)錯誤大部分輸入采用系統(tǒng)自動生成,用戶只要雙擊或者單擊鼠標就能實現(xiàn)數(shù)據(jù)的插入或刪除。本系統(tǒng)的輸出設(shè)計原則是界面美觀、數(shù)據(jù)準確,采用的輸出方式主要以顯示輸出為主,同時在必要的地方采用打印輸出。4.6安全保密設(shè)計本系統(tǒng)的保密功能通過用戶的權(quán)限設(shè)定來實現(xiàn)。用戶在登錄系統(tǒng)時輸入密碼,如果密碼正確,系統(tǒng)根據(jù)該用戶的權(quán)限,設(shè)置該用戶可以進行的操作。用戶的權(quán)限設(shè)定是以系統(tǒng)的菜單項為基本單位,只有用戶具有使用該菜單的權(quán)限時,菜單項才可以為其所用。當添加新用戶時,用戶的權(quán)限為空(即不能進行任何操作)。系統(tǒng)的數(shù)據(jù)安全通過數(shù)據(jù)備份與恢復(fù)的功能來實現(xiàn),此時應(yīng)為該用戶設(shè)置相應(yīng)權(quán)限;用戶權(quán)限也可以根據(jù)具體情況隨時修改。在進行備份時,用戶最多可以保存三個備份,相應(yīng)的數(shù)據(jù)庫恢復(fù)也可以從三個備份中選擇一個進行恢復(fù)。此外,為保證計算機的安全,每臺計算機都加裝了UPS不間斷電源,保證在突然斷電情況下能夠正常退出系統(tǒng)。
5詳細設(shè)計5.1企業(yè)信息管理模塊5.1.1企業(yè)信息采編a)頁面位置WebRoot/admin/News/index.jspb)功能分析添加、刪除并刷新企業(yè)的各種欄目信息。如企業(yè)公告類、企業(yè)信息類、企業(yè)活動類、企業(yè)產(chǎn)品類、企業(yè)說明類。各個欄目下又有其相應(yīng)的子信息。如企業(yè)說明類的子欄目類包括關(guān)于企業(yè)、關(guān)于領(lǐng)導(dǎo)、關(guān)于部門、關(guān)于我們。各欄目信息內(nèi)容包括標題、來源、關(guān)鍵字、摘要、欄目子欄目、內(nèi)容、相關(guān)文件名稱、相關(guān)文件等屬性信息。該模塊主要通過在線編輯器來簡化企業(yè)信息的錄入操作并且豐富了企業(yè)信息。c)算法分析當進行添加操作時會調(diào)用add_act.jsp頁面中的myInfoDao.addNewInfo()方法來完成信息的添加操作。添加消息頁面,如圖5.1所示。圖5.1添加顯示頁面(add.jsp)Stringsql="insertintoinfo_content(content)values(?)";//sql語句串PreparedStatementpstmt=conn.prepareStatement(sql);/*使傳入的SQL命令事先編好等待使用,執(zhí)行操作*/StringReaderreader=newStringReader(infovo.getInfoContent());pstmt.setCharacterStream(1,reader,infovo.getInfoContent().length());/*設(shè)定字符流數(shù)值給PreparedStatement類對象的In參數(shù)*/intcount=pstmt.executeUpdate();//對數(shù)據(jù)庫進行更新操作并將其返回值給countStringsql=newString("updateinfo_titlesetstatus=-1whereinfo_title_id="+infoID);booleansign=db.executeUpdate(sql);/*執(zhí)行刪除操作后結(jié)果的返回值給sign,從而表明其狀態(tài)。*/5.1.2企業(yè)信息審核a)頁面位置Admin/news/auditing.jspb)功能分析由系統(tǒng)管理員對錄入后的企業(yè)信息進行審核。根據(jù)事實情況可進行發(fā)布和駁回兩種操作。c)算法分析:DBConnManagerdb;//建立數(shù)據(jù)庫對象Vectorinfolist;//建立一個vector對象StringinfoSql=null;//初始化SQL語句db=newDBConnManager();/*建立數(shù)據(jù)庫連接,DBConnManager通過hibernate連接數(shù)據(jù)庫應(yīng)用與操作。*/infolist=newVector();//infolist初始化infoSql="SELECT_title_id,,a.summary,a.source,a.otime,a.keyword,a.memo,_content_id,a.sys_column_id,a.preinfo_id,a.link_name,a.link_url,a.file_name,a.file_path,a.file_type,a.image_memo,a.image_path,a.readed_num,a.status,b.content,sysname,operatornameFROMinfo_titlea,info_contentb,sys_columnc,sys_userdwherea.status=1and_content_id=_content_idanda.sys_column_id=c.serial_idandc.status=1anda.oid=d.sys_user_idorderbya.qh,a.otimedesc";//數(shù)據(jù)庫SQL語言拼寫InfoVoinfovo;//初始化javaBean對象的一個VO類for(ResultSetrs=db.executeQuery(infoSql);rs.next();infolist.add(infovo)){/*將executeQuery方法取到的數(shù)據(jù)放入resultSet對象中,并通過循環(huán),將值傳給JavaBean對象的InfoVo對象*/Stringsqls[]=newString[infoID.length];//建立擁有多條查詢語句的數(shù)組conn=getConnection();//生成一數(shù)據(jù)庫連接對象conn.setAutoCommit(false);//設(shè)置Connection類的AutoCommit狀態(tài)stmt=conn.createStatement();//建立Statement類對象for(i=0;i<sql.length;i++){stmt.addBatch(sql[i]);//添加批處理查詢語句}stmt.executeBatch();//執(zhí)行批量刪除語句mit();//確定執(zhí)行對數(shù)據(jù)庫SQL語句操作5.1.3站內(nèi)綜合查詢a)頁面位置Admin/news/search.jspb)功能分析對于企業(yè)所有信息根據(jù)其信息、標題、關(guān)鍵字等進行綜合查詢。方便快捷的得到企業(yè)的各種信息。c)算法分析站內(nèi)綜合信息查詢頁面如圖5.2所示:圖5.2站內(nèi)綜合信息查詢頁面(search.jsp)點擊欄目名稱可以進入其下屬的下級欄目列表頁面查看二級欄目信息。實現(xiàn)此操作須調(diào)用mySysColumnDao.SysColumnListParent(columnlist),點擊“搜索”鏈接到admin/search_list.jsp,調(diào)用mySysUserDao.listSysUser()方法來實現(xiàn)搜索操作。用來實現(xiàn)操作的sql語句如下:sql="SELECT_title_id,a.flag,,a.otime,sysname,opernamefrominfo_titlea,sys_columnb,sys_usercwherea.status<>-1anda.sys_column_id=b.serial_idandb.status=1anda.oid=c.sys_user_id"+"and"+sysInfoTitle+"and"+sysColumnID+"and"+sysCreaterName"and"+sysInfoStartTime+"and"+sysInfoEndTime+"orderbya.otimedesc";System.out.println(sql);//輸出查詢結(jié)果5.2CRM信息管理模塊5.2.1客戶信息總管理a)文件位置admin/customer/cmessage.jspb)功能分析該模塊主要用來查看、編輯、修改客戶和管理員的基本信息??蛻羰瞧髽I(yè)定單的來源。因此對于客戶信息的維護相當重要。對客戶信息的初始化處理.包括創(chuàng)建、刪除兩個功能。當點擊創(chuàng)建時頁面跳轉(zhuǎn)到圖5.3界面。圖5.3客戶信息添加頁面(customer.jsp)在上述窗體中輸入信息,點擊“提交”,運用POST方法即將信息傳至客戶列表中5.2.2管理員管理a)頁面位置admin/customer/cmessage_cadmin.jspb)功能分析該模塊的主要功能是對管理員的信息進行添加、修改、刪除、刷新操作。c)算法分析Stringsql="updatesys_usesetRolID="+sysUserVo.getRolID()+",sys_department_id="+sysUserVo.getDeptID()+",Name='"+sysUserVo.getName()+"',Accounts='"+sysUserVo.getAccounts()+"',Password='"+sysUserVo.getPassword()+"',Sex="+sysUserVo.getSex()+",Birthday='"+sysUserVo.getBirthday()+"',Address='"+sysUserVo.getAddress()+"',City='"+sysUserVo.getCity()+"',Province='"+sysUserVo.getProvince()+"',Phone='"+sysUserVo.getPhone()+"',Mobile='"+sysUserVo.getMobile()+"',Mail='"+sysUserVo.getMail()+"',HomePage='"+sysUserVo.getHomePage()+"',PDesc='"+sysUserVo.getDesc()+"'wheresys_user_id="+sysUserVo.getUseID();/*進行刷新操作的sql語句*/resultValue=db.executeUpdate(sql);//執(zhí)行sql語句并將其結(jié)果放在結(jié)果集中5.2.3客戶管理a)頁面位置admin/customer/cmessage_cadmin.jspb)功能分析該模塊的主要功能是對管理員的信息進行添加、修改、刪除、刷新操作。5.3企業(yè)物資管理模塊包括企業(yè)報表管理、走單、入庫、出庫、庫存查詢五個模塊。該五個模塊實現(xiàn)了企業(yè)管理的ERP部分。5.3.1報表管理a)頁面位置admin/material/table.jspb)功能分析在該模塊中對報表的操作涉及添加、刪除、修改、走單四種操作。c)算法分析報表管理的頁面如圖5.4所示:圖5.4報表管理頁面(table.jsp)<%if(!"2".equals(c_status)&&!"3".equals(c_status)){%><ahref="editPP.jsp?mkey=4&id=<%=c_id//如果c_status滿足要求則轉(zhuǎn)到editPP.jsp頁面5.3.2物資走單a)頁面位置admin/material/ztable.jspb)功能分析在該模塊中對報表的操作涉及添加、刪除、修改、走單四種操作。c)算法分析if(dao.passCustomer(id))//如果單擊了走單按鈕{if(qsURL.indexOf("mod")==0){response.sendRedirect("search_list.jsp?"+qsURL);}//重定向頁面到search_list.jspelse{response.sendRedirect("table.jsp");//返回報表管理頁面}}else{out.println("走單信息失敗")};5.3.3物資入庫a)頁面位置admin/material/in.jspb)功能分析物資走單之后會進入到該模塊,在該模塊中用戶可對走單的物資進行修改、刪除和出庫操作。c)算法分析當用戶單擊出庫時頁面跳轉(zhuǎn)到editpppp.jsp頁面,運用delete方法刪除頁面。StringqsURL=request.getQueryString();//獲取查詢子串給qlURLout.println(qsURL);//輸出qsURL內(nèi)容Stringid=request.getParameter("id");//獲取idMaDaodao=newMaDao();//生成一對象實例if(id==null){out.println("刪除信息失敗");}Else{if(dao.passCustomerck(id))//如果改變了c_status{if(qsURL.indexOf("mod")=0){response.sendRedirect("search_list.jsp?"+qsURL);}else{response.sendRedirect("out.jsp");}}else{out.println("走單信息失敗");}5.3.4物資出庫a)頁面位置admin/material/out.jspb)功能分析該模塊的主要功能是查看出庫的商品的相關(guān)信息c)算法分析ResultSetrs=db.executeQuery(sql);//執(zhí)行sql查詢語句,并將結(jié)果給結(jié)果集rs.next();//移動記錄指針到下一條記錄list.add(vo);//在列表中加入查詢結(jié)果5.3.5物資查詢a)頁面位置admin/material/search.jspb)功能分析該模塊的主要功能是搜索庫存中的物資信息。5.4生產(chǎn)計劃管理模塊5.4.1計劃信息管理a)頁面位置admin/plan/plan.jspb)功能分析先生成采購訂單,可對采購定單進行添加、刪除操作。關(guān)于定單的相應(yīng)信息包括:訂單名稱、訂單編號、供應(yīng)日期、品量、訂單級別、經(jīng)手人、訂單日期、狀態(tài)、操作。進行刪除操作時可進行單條記錄的刪除也可實現(xiàn)批量信息的刪除。d)算法分析計劃信息管理模塊的頁面如圖5.5所示:圖5.5計劃信息管理界面(plan.jsp)StringqsURL=request.getQueryString();/*獲取查詢字符串,該字符串是由客戶端以get方法向服務(wù)器端傳送*/Stringid=request.getParameter("id");//得到id的屬性值并將它傳遞給id對象{if(dao.deleteCustomer(id){if(qsURL.indexOf("mod")==0){response.sendRedirect("search_list.jsp?"+qsURL);}//重新定向客戶端的請求到search_list.jsp頁面else{response.sendRedirect("table.jsp");}}else{out.println("刪除信息失敗");}}5.4.2計劃退回管理a)頁面位置admin/plan/backword.jspb)功能分析判斷用戶角色,刪除特定采購訂單所有信息。c)算法分析url='operP.jsp?actType=delete¤tPage=<%=currentPage%>';/*定義字符串進行delete操作后轉(zhuǎn)到operP.jsp頁面并向該頁面?zhèn)鬟f參數(shù)document.myform.action=url;5.4.3計劃代辦理a)頁面位置admin/plan/wait.jspb)功能分析計劃代辦理又分為兩種情況,一種是訂單未退回且正在辦理的情況,另一種情況是定單是退回狀態(tài)且正在代辦理的情況。c)算法分析通過對c_status狀態(tài)的判斷來進行相應(yīng)的處理。第一種情況:<%if("1".equals(c_status)){%><!--status=1訂單處理中--><ahref="editPP.jsp?mkey=4&id=<%=c_id%>¤tPage=<%=currentPage%>"class="">代辦</a>第二種情況:<%if("3".equals(c_status)){%><!--status=3訂單退回--><ahref="editPP.jsp?mkey=4&id=<%=c_id%>¤tPage=<%=currentPage%>"class="">代辦</a>5.5企業(yè)產(chǎn)品管理模塊5.5.1企業(yè)產(chǎn)品查詢a)頁面位置admin/product/search.jspb)功能分析實現(xiàn)對產(chǎn)品相應(yīng)信息的查詢操作。具體實現(xiàn)操作步驟:根據(jù)用戶輸入的產(chǎn)品名稱和產(chǎn)品編號,當用戶點擊搜索時開始查詢符合條件的產(chǎn)品信息。當用戶點擊重置時重新開始查詢。c)算法分析企業(yè)產(chǎn)品查詢頁面如圖5.6所示:圖5.6企業(yè)產(chǎn)品查詢頁面(search.jsp)Vectorproductlist=(java.util.Vector)productdao.search(name,cid);//搜索方法名;Vectorproductlist=newVector();//初始化一產(chǎn)品列表DBConnManagerdb=newDBConnManager();sql="selectp.id,asname,p.cidascid,asinfo,p.picpathaspicpath,p.statusasstatus,"+"ductcontentidasproductcontentid,pc.contentascontent"+"fromproductp,product_contentpc"+"whereductcontentid=duct_content_id"+"and"+name+"and"+cid;//sql查詢語句5.5.2企業(yè)產(chǎn)品列表a)頁面位置admin/product/index.jspb)功能分析實現(xiàn)對產(chǎn)品相應(yīng)信息的查詢、添加、刪除和刷新操作。c)算法分析若操作員選擇操作時,系統(tǒng)會首先調(diào)用goto_delete()方法來判斷用戶是否選定了記錄,該方法的主要算法如下;functiongoto_delete(){num=numChecked();//用于是否選定了記錄if(num<=0){alert('請選擇要刪除的信息!');returnfalse;}//未選定記錄的情況tflag=window.confirm("您確認要刪除所選項目?");5.6企業(yè)綜合管理模塊5.6.1企業(yè)用戶管理a)頁面位置admin/user/index.jspb)功能分析通過用戶名和登錄名來查找所有用戶的信息。當點擊修改時會顯示該用戶的詳細信息,并完成修改操作。c)算法分析if(mySysUserDao.updateSysUser(userVo))//如果修改了用戶信息{response.sendRedirect("index.jsp?"+qsURL);}網(wǎng)頁重定向到index.jspelse{out.println("修改用戶信息失敗");}5.6.2企業(yè)部門管理a)頁面位置admin/dept/index.jspb)功能分析針對公司部門的變動情況對其進行適時的更新。當前公司的部門有人事部、財務(wù)部、經(jīng)理部等。擁有系統(tǒng)管理員權(quán)限的人可查看添加并可修改部門的信息。c)算法分析publicbooleanaddNewDepartment(DepartmentVodepartmentVo)sql="insertintosys_department(name,memo,oid,otime,status)values('"+departmentVo.getDepartmentName()+"','"+departmentVo.getDepartmentMemo()+"',"+departmentVo.getOperatorID()+",now(),1)";isadd=db.executeUpdate(sql);//執(zhí)行數(shù)據(jù)庫更新5.6.3信息單元管理a)頁面位置admin/column/index.jspb)功能分析對企業(yè)內(nèi)部公布的信息條目和信息內(nèi)容進行修改。當單擊父欄目列表時會進入相應(yīng)的子欄目列表,同樣當單擊ROOT時會返回到上一級的父欄目。c)算法分析單元管理頁面如圖5.7所示:圖5.7單元管理頁面(index.jsp)Stringparentid=request.getParameter("parentid");/*生成一實例并將從客戶端傳送到服務(wù)區(qū)的參數(shù)值賦給它*/Stringid=request.getParameter("id");//取得ID屬性值Stringname=GetGBK.getGBK(request.getParameter("name"));//轉(zhuǎn)換字符編碼5.7權(quán)限受理管理模塊5.7.1角色授權(quán)管理a)頁面位置admin/system/rolemanager/roleopr.dob)功能分析在權(quán)限受理管理模塊中,只能由管理員來增加用戶角色從而賦予別的用戶不同的權(quán)限。c)算法分析角色授權(quán)頁面如圖5.8所示:圖5.8角色授權(quán)頁面(rolemanager.jsp)單擊增加,可增加新的用戶角色。其界面如圖5.9所示:圖5.9增加新角色頁面(newrole.jsp)<%Superiortreetree=newsuperiortree(sys_code,role_code,hyperlink.ROLE_MANAGER);Stringtrees=tree.buildTree();%>action="/admin/system/rolemanager/endueroleAction"method="post">for(inti=0;i<columnID.length;i++){sql[i]="insertintopurview_rolecolumnvalues('"+roleCode+"',"+columnID[i]+")";}//添加角色代碼isadd=db.executeMoreSql(sql);//執(zhí)行批量sql語句5.7.2用戶授權(quán)管理a)頁面位置admin/system/rolemanager/userlist.jspb)功能分析當單擊用戶列表的對應(yīng)值時顯示對應(yīng)用戶的用戶名。在這個模塊中只能由系統(tǒng)管理員來操作。點擊授權(quán)后可對用戶角色進行添加和修改。c)算法分析用戶授權(quán)頁面如圖5.10所示:圖5.10用戶授權(quán)頁面(userlist.jsp)functionaddRole(){//添加用戶角色for(vari=0;i<unChoosed.options.length;i++)//遍歷未選中的角色{if(unChoosed.options[i].selected)//未被選中的角色被選中{vartempUnchoosed=unChoosed.options[i];varoption=document.createElement("OPTION");option.text=tempUnchoosed.text;option.value=tempUnchoosed.value;beChoosed.add(option);unChoosed.options.remove(i);i-=1;}}}5.8網(wǎng)站實現(xiàn)中的關(guān)鍵技術(shù)a)JavaBean組件技術(shù)系統(tǒng)在開發(fā)過程中,運用面向?qū)ο蟮姆治雠c設(shè)計方法,將系統(tǒng)需求中涉及到的各種實體抽象為JavaBean組件類,并為這些類設(shè)定屬性和方法,這樣在調(diào)用某個Bean組件時,它的屬性名可以直接映射到數(shù)據(jù)庫中字段的名稱,從而用這些屬性名對數(shù)據(jù)庫進行操作。系統(tǒng)的最大特點是采用動態(tài)欄目管理。在正確的定義問題域后,通過對問題域進行抽象,準確的理解系統(tǒng)需求和內(nèi)部運行機制,充分理解用戶對系統(tǒng)的需求,設(shè)計了用于實現(xiàn)動態(tài)欄目的數(shù)據(jù)結(jié)構(gòu)和功能模塊。另外,通過對各類信息的分析發(fā)現(xiàn),有些信息的操作動作相同或相似,用于實現(xiàn)這些操作的幾乎完全相同的代碼需要在幾個甚至更多的地方重復(fù)出現(xiàn),不但影響了開發(fā)效率,也使得程序出錯的可能性加大,降低了程序的質(zhì)量,給程序代碼的維護、擴展工作帶來很多不必要的麻煩和額外的工作量。為了解決這一問題,在數(shù)據(jù)結(jié)構(gòu)方面,頁面內(nèi)容、新聞和招聘信息整合為一個表,用attrib字段進行區(qū)分;在技術(shù)方面采用了組件技術(shù)。組件是具有一定功能、能夠獨立工作或同其他組件組合起來協(xié)調(diào)工作的軟件模塊。每個組件包含一組屬性、事件和方法,使用者通過接口使用組件。組件在開發(fā)分布式校園應(yīng)用中得到廣泛應(yīng)用,應(yīng)用組件技術(shù)可以明顯提高開發(fā)效率和開發(fā)質(zhì)量,極大增強軟件的重用能力,同時使得程序的后期維護工作極其方便。通過創(chuàng)建對應(yīng)著若干相關(guān)表的復(fù)合起來的JavaBean和封裝了若干用例所需功能的JavaBean,組建技術(shù)在系統(tǒng)開發(fā)過程中得到了很好的利用。b)Hibernate技術(shù)系統(tǒng)利用Hibernate來封裝數(shù)據(jù)庫持久層,通過高質(zhì)量的數(shù)據(jù)庫映射關(guān)系,將數(shù)據(jù)庫的操作優(yōu)化到極限。通過Hibernate技術(shù)的應(yīng)用,可以利用Hibernate的眾多組件來實現(xiàn)很多數(shù)據(jù)庫操作上的功能。當前,Hibernate的數(shù)據(jù)庫連接配置可以分為兩種,一種是在Hibernate.cfg.xml文件中進行配置,還有一種是在Hperties文件中進行配置,其效果都是相同的。例如:數(shù)據(jù)庫連接,通過編輯Hibernate.cfg.xml文件可以很好的對數(shù)據(jù)庫連接進行操作。針對Session-factory進行優(yōu)化配置,從而跨越JDBC連接數(shù)據(jù)庫的方式。<session-factory><!--數(shù)據(jù)庫連接設(shè)置--><propertyname="connection.url"><![CDATA[jdbc:mysql://:3306/jxc?useUnicode=true&characterEncoding=GBK]]></property><propertyname="connection.username">root</property>//連接用戶名<propertyname="connection.password"><!—數(shù)據(jù)庫密碼--></property><propertyname="connection.driver_class">com.mysql.jdbc.Driver</property>//連接所用到的數(shù)據(jù)庫<propertyname="dialect">net.sf.hibernate.dialect.MySQLDialect</property><propertyname="connection.useUnicode">true</property><propertyname="connection.characterEncoding">gbk</property><propertyname="c3p0.min_size">1</property><propertyname="c3p0.max_size">2</property><propertyname="c3p0.time_out">1800</property><propertyname="c3p0.validate">true</property></session-factory>c)XML技術(shù)XML是eXtensibleMarkupLanguage的縮寫。擴展標記語言XML是一種簡單的數(shù)據(jù)存儲語言,使用一系列簡單的標記描述數(shù)據(jù),而這些標記可以用方便的方式建立,雖然XML占用的空間比二進制數(shù)據(jù)要占用更多的空間,但XML極其簡單易于掌握和使用。XML(可擴展標記語言)簡化了數(shù)據(jù)交換、進程間消息交換這一類的事情。XML使用一個簡單而又靈活的標準格式,為基于Web的應(yīng)用提供了一個描述數(shù)據(jù)和交換數(shù)據(jù)的有效手段,提供了直接處理全球數(shù)據(jù)的通用方法。結(jié)論本次畢業(yè)設(shè)計開發(fā)的是基于B/S結(jié)構(gòu)的北京圖信時代內(nèi)部資源管理系統(tǒng),采用MyEclipse為開發(fā)環(huán)境、MySQL作為后臺數(shù)據(jù)庫管理工具,利用Hibernate和Struts完成數(shù)據(jù)訪問的操作。在開發(fā)的過程中,采用了軟件工程的設(shè)計思想,根據(jù)關(guān)系模式設(shè)計數(shù)據(jù)庫表,用模塊化設(shè)計方法將系統(tǒng)的各個功能模塊層層分解,設(shè)計出系統(tǒng)的模塊化結(jié)構(gòu),并根據(jù)系統(tǒng)的具體要求,詳細地定義了系統(tǒng)各個模塊的具體功能。北京圖信時代內(nèi)部資源管理系統(tǒng)主要包括登錄驗證模塊、公司信息管理、客戶關(guān)系管理、公司物資管理、生產(chǎn)計劃管理、公司產(chǎn)品管理、公司綜合管理、權(quán)限管理八大管理部分。其中公司信息管理、客戶關(guān)系管理、公司物資管理、生產(chǎn)計劃管理、公司產(chǎn)品管理均涉及基本信息的錄入查詢和刪除操作。通過該系統(tǒng)公司管理人員可看到公司的各個部門的工作進展情況。在整個設(shè)計過程中,盡管進行了多次測試和更改,但難免出現(xiàn)不妥之處,希望各位老師給予批評指正。致謝經(jīng)過近四個月的努力,我的畢業(yè)設(shè)計終于接近了尾聲。在短短的幾個月內(nèi),我的畢業(yè)設(shè)計能夠順利完成,從很大程度上,得益于我的指導(dǎo)老師的悉心指導(dǎo)。在此,我向他們表示我最誠摯的敬意和最衷心的感謝!在畢業(yè)設(shè)計過程中,指導(dǎo)老師的給了我大力支持和幫助,使得設(shè)計過程中所遇到的許多問題得以解決,并且使我能夠在解決問題的同時,很好地掌握了所用相關(guān)領(lǐng)域的知識以及自主思考、解決問題的方法,同時掌握了進行課題研究時將所用的方法、模式和具體實現(xiàn)手段相結(jié)合的技巧,充分地將所學理論應(yīng)用于畢業(yè)設(shè)計的實踐過程當中,使我獨立分析、解決問題的能力得以提高。在設(shè)計完成的過程中,我還得到了許多同學的熱情幫助,在此表示感謝!最后,再次感謝對我的幫助,并向所有幫助過我的人致以最誠摯的謝意!參考文獻1印旻.Java語言與面向?qū)ο蟪绦蛟O(shè)計教程.北京:清華大學出版社,20002楊紹方.深入掌握J2EE編程技術(shù).北京:科學出版社,20023張琴,張千帆.JSP動態(tài)網(wǎng)頁制作基礎(chǔ)培訓教程.北京:人民郵電出版社,20054劉甫迎,謝春,徐虹.Java程序設(shè)計實用教程.北京:科學出版社,20055孫佳,劉中兵,李伯華.JSP+Oracle動態(tài)網(wǎng)站開發(fā)實例精選.北京:清華大學出版社,20056吳其慶.JSP動態(tài)網(wǎng)站設(shè)計教程.北京:冶金工業(yè)出版社,20057劉祥才.計算機應(yīng)用.北京.企業(yè)管理出版社,20058高海茹.MySQL網(wǎng)絡(luò)數(shù)據(jù)庫技術(shù)精粹.北京:機械工業(yè)出版社,20029科夫勒.MySQL權(quán)威指南.北京:人民郵電出版社,200710馬偉主.網(wǎng)頁設(shè)計與制作.北京:機械工業(yè)出版社,200511汪孝宜,吳大力,胡儔.網(wǎng)絡(luò)系統(tǒng)開發(fā)實例精粹.北京:電子工業(yè)出版社,200612龍馬工作室.JSP+Oracle網(wǎng)站開發(fā)實例精講.北京:人民郵電出版社,200713陳剛.Eclipse從入門到精通.北京:清華大學出版社,200514JamesMartin.Carma.McClureSoftwareMaintenanceTheProblemandItsSolutions.NewYork:Pretice-Hall,198315徐敏奎.管理信息系統(tǒng).北京:中國標準出版社,200316GavinPowell.BeginningDatabaseDesign.北京:清華大學出版社,200717BruceA.Tate.BeyondJava.南京:東南大學出版社,200718JamesMartin.CarmaMcClure.SoftwareMaintenanceTheProblemandItsSolutions.NewYork:Pretice-Hall,1983基于C8051F單片機直流電動機反饋控制系統(tǒng)的設(shè)計與研究基于單片機的嵌入式Web服務(wù)器的研究MOTOROLA單片機MC68HC(8)05PV8/A內(nèi)嵌EEPROM的工藝和制程方法及對良率的影響研究基于模糊控制的電阻釬焊單片機溫度控制系統(tǒng)的研制基于MCS-51系列單片機的通用控制模塊的研究基于單片機實現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調(diào)節(jié)器單片機控制的二級倒立擺系統(tǒng)的研究基于增強型51系列單片機的TCP/IP協(xié)議棧的實現(xiàn)基于單片機的蓄電池自動監(jiān)測系統(tǒng)基于32位嵌入式單片機系統(tǒng)的圖像采集與處理技術(shù)的研究基于單片機的作物營養(yǎng)診斷專家系統(tǒng)的研究基于單片機的交流伺服電機運動控制系統(tǒng)研究與開發(fā)基于單片機的泵管內(nèi)壁硬度測試儀的研制基于單片機的自動找平
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《美國的誕生》課件
- 《LA格式講座》課件
- 教培合同范本(2篇)
- 2024年度涉外離婚登記所需材料與程序詳解協(xié)議3篇
- 《地下水資源調(diào)查》課件
- 《知識產(chǎn)權(quán)常識》課件
- 2025年揚州貨運資格證考試有哪些項目
- 2025年安康貨運從業(yè)資格證考試技巧
- 2025年蘭州從業(yè)資格證應(yīng)用能力考些啥
- 國際金融學課件匯率理論與學說
- 第四章分子的對稱性
- (最新)專家服務(wù)基層工作培訓會領(lǐng)導(dǎo)講話(精)
- 蘇州預(yù)防性試驗、交接試驗費用標準
- 最新【SD高達G世紀-超越世界】各強力機體開發(fā)路線
- 完整MAM-KY02S螺桿空壓機控制器MODBUSⅡ通信協(xié)議說明
- 《納米材料工程》教學大綱要點
- 專業(yè)英語四級聽力模擬題
- [廣州]污水處理廠工程監(jiān)理投標大綱(325頁完整)_secret
- 南京祿口機場二期擴建工程項目融資分析報告(第一稿)
- 《做陽光少年主題班會》PPT課件(1)
- 鄉(xiāng)鎮(zhèn)殯葬整治工作開展情況匯報
評論
0/150
提交評論