目 錄
摘 要 I
Abstract II
1緒論 1
1.1軟件管理系統的發展史 1
1.2國內外的公司管理系統現狀 1
1.3問題的提出 2
1.4論文的整體安排 2
2系統關鍵技術簡介 3
2.1B/S 結構 3
2.2MVC 框架模式 4
2.2.1MVC 框架模式簡介 4
2.2.2MVC 框架模式中組件之間的關系 4
2.2.3MVC 框架模式的優點 5
2.3SSH 框架簡介 5
2.3.1Spring 簡介 6
2.3.2Struts2 簡介 7
2.3.3Hibernate 簡介 8
3系統的需求分析 9
3.1系統的問題定義 9
3.2系統的使用用戶 9
3.3系統的功能需求分析 9
3.3.1公告模塊 10
3.3.2我的 TODO 模塊 10
3.3.3客戶信息管理模塊 11
3.3.4客戶信息檢索模塊 12
3.3.5產品信息模塊 12
3.3.6權限劃分管理模塊 13
3.4系統的可行性分析 13
4系統設計 15
4.1設計原則 15
4.2總體設計路線與總體技術架構 15
4.3系統各模塊設計 18
4.3.1用戶登錄模塊 18
4.3.2公司公告模塊 18
4.3.3我的 TODO 模塊 19
4.3.4客戶信息管理模塊 20
4.3.5客戶信息檢索模塊 20
4.3.6權限管理模塊 21
4.4數據庫設計 22
4.4.1系統 E-R 圖 22
4.4.2數據庫表設計 23
5公司管理系統實現 29
5.1登錄界面 29
5.2系統主界面 30
5.3我的 TODO 模塊 31
5.4客戶信息管理模塊 34
5.5客戶信息檢索模塊 36
5.6產品信息模塊 39
5.7權限管理模塊 41
6系統測試 43
6.1測試理論 43
6.2系統登錄測試 44
6.3公司公告模塊測試 45
6.4我的 TODO 模塊測試 46
6.5客戶信息管理模塊測試 46
6.6產品信息管理模塊測試 49
6.7用戶權限管理模塊測試 50
結 論 51
參 考 文 獻 52
致 謝 54
大連理工大學學位論文版權使用授權書 55
1緒論
1.1軟件管理系統的發展史
企業管理軟件是20 世紀初才興起的管理技術。它最早出現在20 世紀40 年代,當 時有一種技術叫做“訂貨點法”,我們可以把它當做企業管理軟件的原型。訂貨點法的 出現曾風靡一時,由于訂貨點法有庫存積壓以及占用資金的缺點,而且什么定貨也是不 確定的。I960年左右,MRP第一次出現了物料需求的概念,MRP出現的意義在于它解 決了訂貨點法所存在的問題所以受到人們的熱捧。后來70年代在MRP基礎上發展的 的閉環MRP,閉環MRP在MRP的基礎上,加大了對產出與投入比例的控制。到了 80 年代,MRP-II( Manufacturing Resources Planning )出現了,MRPII 的原型還是閉 環MRP,但是它還提供了一些管理功能,這樣就更像我們現在所理解的管理系統。之后 發展到90年代市場特別火爆的ERP (Enterprise Resource Planning企業資源計劃), ERP 一方面以管理哲學中的精益生產Lean Production代替原有的管理系統,另一方面 在原有基礎上添加供需鏈的功能,體現敏捷制造的思想。現下比較流行的是e-ERP(電子 商務),e-ERP就是e-business和ERP的結合體。完美的繼承了二者的優點,它由多個 系統組成,包括企業與用戶交流的系統、企業的供應鏈管理系統、以及ERP系統等系 統[1]。
1.2國內外的公司管理系統現狀
國外的管理系統軟件起步比較早,公司管理系統最早出現在美國,隨著計算機行業 的飛速發展,人們開始考慮用計算機來代替公司管理的繁雜事物,相比于勞動人員的手 動記錄,公司管理系統的軟件具有著簡單、方便、快捷、誤差小、成本低的優點。在短 短的幾十年間,公司管理系統便風靡全球,被越來越多的公司所采用。據巨靈鳥網站關 于企業管理軟件排行顯示:2014年國外著名的企業管理軟件有美國的oracle (甲骨文)、 倫敦的sage(賽捷)、德國SAP(思愛普)、美國Infor、美國的Microsoft(微軟)。上個世紀 90 年代,隨著國內計算機行業的流行,企業管理軟件從逐漸從美國流傳到中國,雖然 我國的管理系統水平在初級階段,但由于企業的競爭力增加以及對信息管理系統的投 入,經過30 年左右的發展,國內已經出現了以用友、神州數碼、博科為代表的一大批 優秀的企業軟件管理品牌。
1.3問題的提出
越來越多的公司意識到公司管理系統的重要性,而每個公司的成立都需要一個與之 相配的公司管理系統。但是選擇一個公司管理系統如同選擇合作伙伴一般馬虎不得,誠 然有許多軟件公司能提供較優秀而且效率較高的管理系統,但是不是量身打造的管理系 統會存在如下幾個問題[2]:
(1) 軟件不符合企業規模。軟件過小會出現功能不全,并行操作反應慢,用起來 會感到捉襟見肘,難以適應公司發展。軟件過大則是一種浪費,許多功能都用不到,操 作復雜反而會事倍功半。
(2) 軟件不夠穩定。穩定與否是評價一個軟件的硬性指標,相對于穩定性,其他 的功能都顯得不那么重要,因為一旦系統崩潰,會造成數據的丟失,企業將會蒙受難以 估量的損失。
(3) 軟件的難擴展性,因為企業不可能是停滯不前的,將來企業可能會越發展越 大,所以如果購買的管理系統對模塊的添加維護做的不夠到位會讓企業陷入進退兩難的 困境,即使他們的維護團隊可以對系統進行維護,由于他們不了解公司的業務,所以會 造成時間以及費用的浪費。考慮到公司的實際規模,以及上述的幾點購買管理系統軟件 的缺點,量身打造一個適合公司發展的公司管理系統是十分有必要的。
1.4論文的整體安排
本文第一章主要介紹當前公司管理系統國內外現狀以及存在的一些問題,從而引出 論文的研究意義。
第二章介紹了公司管理系統用到的 MVC,SSH,B/S 等關鍵技術,通過這些技術的支 持,完成系統模塊的設計。
第三章詳細介紹了系統的需求分析,從系統的定義,可行性分析,系統用戶以及系 統功能幾個方面進行了詳細的闡述。通過需求分析了解到系統應該具備什么樣的功能, 為了以后設計做準備。
第四章為系統的總體設計與概要分析,對系統的框架進行設計。并進行系統的詳細 設計。系統 E-R 圖的設計與分析,以及系統的每一個數據表。
第五章是系統的運行效果圖,將需求轉換為代碼,具體實現每一塊的功能,對程序 的各個模塊進行展示。
第六章是關于系統的測試用例,用戶的不合乎規范的輸入系統的反饋情況。
最后為全文總結部分,包括對系統實現及寫作總結。
2系統關鍵技術簡介
2.1B/S 結構
B/S,是一種網絡結構模式。用戶的工作頁面是通過用戶端訪問http瀏覽器實現的, 而實現系統功能的核心部分在服務器(Server )端進行,這使得軟件開發及后期維護都 非常容易,客戶機上只要存在瀏覽器,服務器上再安裝MYSQL等數據庫。瀏覽器就能 通過服務器同數據庫進行數據交互[3]。參照下圖2.1。
圖2.1 B/S 結構示意圖
Fig. 2.1 Schematic diagram of B/S structure
越來越多關于應用程序的數據顯示,互聯網中B/S結構越來越受到重視,成為管理 系統主流框架,B/S結構的優點如下:
(1)系統運行維護以及升級操作簡單。當系統的數據處理量過大需要升級的時候, 用戶不需要做任何操作,只需升級服務器即可。客戶端操作簡單快捷,把負擔留給服務 器。
(2)B/S 結構不需要通過其他的軟件協助實現,這樣就降低了系統的出錯的概率, 用戶不需要考慮因為第三方服務器的故障導致系統崩潰。
2.2MVC 框架模式
2.2.1MVC 框架模式簡介
MVC,是model-view-controller的縮寫,即模型一視圖一控制器。MVC是一種軟 件設計框架,隨著JAVA企業級開發的逐漸完善,MVC也被開發者重視起來。MVC將 每一層聚集到一個部件里面,它們各自處理自己的任務。在修改 view 層的時候,不需 要重新編寫業務邏輯 controller 層。極大地提高了開發效率[4]。
2.2.2MVC 框架模式中組件之間的關系
Model層,主要處理系統數據邏輯部分,負責從數據庫中讀取數據。View層主要 是將運行結果顯示給用戶的部分,Controller層,通常負責接收從視圖傳遞過來的數據, 然后通過數據進行應用程序的邏輯判斷,再定義應用程序行為,最后再將數據發送給模 型。當用戶通過WEB瀏覽器發出HTTP請求以后,這個請求會到達控制器Controller, 然后控制器會將用戶輸入的指令和數據一起發送個業務模型,到達Model層,在Model 層進行邏輯業務判斷以及根據判斷對數據庫進行增刪改查的操作。之后MVC會根據業 務邏輯判斷到達view層,view層通過JSP或者ASP頁面將操作之后的結果返回給用 戶,方便用戶進行下一步操作。
2.2.3MVC 框架模式的優點
(1)低耦合度。MVC設計框架中Model、View、Controller組件之間不存在其他 的聯系,從某種程度上來說他們是相互獨立的,因此他們彼此之間具有非常低的耦合度, 這樣帶來的好處就是當用戶需要改變視圖時,運用MVC框架的程序員只要改變View層 就可以了,而其它兩種視圖則不需要做任何改動,極大地方便了軟件的開發。
(2) 重用性高。MVC框架中視圖,模型為多對一關系,即一個模型對一多個瀏覽 器頁面,這種框架允許用戶使用各種視圖例如jsp、asp、html等方式來訪問同一個數 據模型,因為被訪問的數據模型是同一個,所以可以最大化的重用代碼了。
(3)可維護性高。因為各個組件相互獨立,所以使得WEB應用更加的易于修改和 維護[5]。
2.3SSH 框架簡介
SSH是Spring+Struts+Hibernate三種框架的集成,是目前JAVA WEB開發中最流 行的一種開源集成框架,運用SSH開源框架可以構建開發方便、操作簡單、交互良好的 JAVA WEB應用程序[6]。運用SSH框架的JAVA WEB開發的業務流程是:在表示層中,通 過jsp頁面實現用戶與系統進行交互的界面,此頁面負責發送用戶請求(Request)和接 收系統的響應(Response),然后Struts2會依照struts.xml里的設定的特定值將 ActionServlet接收到的返回值委派給相應的Action處理。其中這個servlet在 web.xml配置文中。然后找到相應的act ion,在act ion中應該存在至少一個返回值為 St ring類型的方法,配置文件st ru ts.xml會根據此字符串進行匹配,然后進行邏輯跳 轉。
在業務層中,與傳統的實例化對象不同,SSH的業務層是通過Spring實現的。系 統的每一個類都要被Spring配置文件注冊,這樣才能發揮Spring的真正作用。
在持久層中,主要的技術就是Hibernate的Mapping以及它與Database之間的交 互,對數據庫進行增刪改查的操作,然后將修改后的數據保存到數據庫中。SSH結構圖 如圖2.3 所示。
圖 2.3 SSH 架構圖
Fig. 2.3 Architecture diagram of SSH
2.3.1 Spring 簡介
Spring是一個由Rod Johnson為了解決企業應用開發的復雜性而創建的輕量級控 制反轉(IoC)和面向切面(A0P)的開源容器框架[7],Spring最大的創新在于它用 JavaBean代替了 EJB在企業級開發中的作用。(在使用spring的開發中,我們將 xxxAction.java、xxxService.java、xxxDao.java、xxxPOJO/MODEL.java 統稱為 bean)。 另外Spring還提供更多的企業應用功能。從編程簡單靈活且易于測試以及耦合度低的 角度而言,Spring不僅僅局限于服務器端的開發,所有Java語言開發的應用程序都會 因為應用Spring而得到非常大的好處。
Spring框架JAR包所占內存非常小,只有1MB左右。而且因為運用Spring開源 框架系統所需的處理各種內存以及系統開銷也是微乎其微的。與此同時‘Spring通過 控制反轉(IoC)的技術實現松耦合°IoC是用系統制造對象,讓程序員通過使用系統 的構造函數來創建對象。Spring還支持面向切面編程(AOP),AOP主要實現的目的是 對每一個業務邏輯分離開來進行處理,提高開發效率。另外,值得說明的是,運用Spring 的復雜的應用程序可以由小型的程序組合而成。
2.3.2 Struts2 簡介
(1)Struts2 簡介
Struts 2是不同于Struts的全新框架°Struts2是Web的一種MVC框架,從某 種程度上看,Struts2是以WebWork2為基礎并且對此進行改良得到的。有許多人認為 Struts是改變了名稱的WebWork⑻。
(2)Struts2 運行機制
用戶在瀏覽器(Browser)中輸入一個為http協議的地址并將這個地址發送給服務 器[9]。
服務器會根據地址找到對應項目里面的WEB容器的配置文件。
在WEB容器的web.xml里找到Struts2的配置文件struts.xml。
然后form表單會根據struts.xml就會找到對應的包下的類。
調用完類以后會返回一個String類型的返回值,配置文件struts.xml會根據這個 返回值找到對應的action或者jsp,然后進行跳轉工作。
(3)Struts2 處理流程
用戶輸入一個URL地址,發出一個請求(HttpServletRequest),該請求指向tomcat。
HttpServletRequest 會通過若干個過濾器,這些過濾器將會對此請求 嚴格執行過濾的步驟。
通過FilterDispatcher間接找到ActionMapper,并由此知道 HttpServletRequest 將要調用哪一個 Action。
FilterDispatcher 再把 HttpServletRequest 交給 ActionProxy。
ActionProxy 通過 Configuration Manager 找到 struts.xml,通過此配置文件找到 Action。
ActionProxy 創建一個 Actioninvocation 的實例。
Actioninvocation調用Action。在此前后攔截器會被調用。
Action 運行完成后,ActionInvocation 會根據struts.xml匹配class中方法的 返回值。通過此返回值跳轉到新的action或者jsp。特別要注意的是:Struts.xml中 所有的 package 都要 extends="struts-default"。struts-default.xml 里面就是要做 以上事情。
2.3.3Hibernate 簡介
2003年,美國的Gavin King先生為了解決程序員在開發過程中CMP限制太多的 問題而創造出了 Hibernate°Hibernate是這樣的一個框架一種映射,它對JAVA連接 數據庫技術實現了封裝,這使得程序員可以非常便捷的對數據庫進行各種操作[10]。
使用Hibernate的好處:
(1)封裝數據庫訪問程序代碼,使得訪問數據庫更加方便容易。
(2)Hibernate同時也簡化了 DAO層的進行的編碼量,使開發人員不必重復大 兩同樣的代碼,體現了面向對象編程的優點。
(3)使用Hibernate技術的應用程序支持mysql、oracle、SqlServer等各種數 據庫之間的轉移,如果根據需要要改變數據庫,只要在Hibernate的配置文件中改變數 據庫的配置就可以了,而不需要改變Hibernate代碼。
(4)Hibernate 沒有實現任何接口,沒有侵入性。
3系統的需求分析
3.1系統的問題定義
本系統是為小型公司打造的管理系統,隨著現在企業競爭力的增大,一個合適的公 司管理系統顯得尤為重要。本系統設計的目標是通過系統增強公司的競爭力,在眾多同 類公司中得以立足;另外通過系統這一平臺,提高員工的工作效率,降低管理成本,提 高企業管理能力,同時也增強員工對企業以及企業文化的了解。
3.2系統的使用用戶
結合公司的實際情況以及優秀軟件的開發思想,本人將此系統的使用用戶分為三 種,按照權限優先級來劃分:優先級為0 代表管理員權限,此權限級別最高,區別于優 先級1 可以發布信息與訪問管理權限模塊。優先級為1 代表技術負責人的權限,區別 于權限2 此權限用戶可以訪問產品信息模塊以及查看產品相關內容,優先級為2 代表 公司一般員工的權限,此權限可以訪問公司公告模塊,我的TODO模塊以及客戶信息查 詢模塊。
3.3系統的功能需求分析
本系統以模塊為單位進行開發,主要分為以下幾個模塊:公告模塊、我的
TODO 模塊、客戶信息管理功能模塊、客戶信息檢索功能模塊、產品信息管理模塊、 權限管理模塊。
3.3.1 公告模塊
此模塊設計的目的是讓公司的每一個員工能第一時間了解到公司的動態,關于公司 的決策能第一時間做出反應。此模塊對于權限不同的員工所展示的頁面操作是不同的。 管理員可以對公司的公告模塊查詢等更多行為,而普通用戶和技術負責人只能對公司公 告進行查詢。模塊的用例圖如圖3.1所示。
3.3.2我的TODO模塊
我的TODO模塊主要的任務是由每位員工記錄自己的每天所做的事情,細化功能為:
(1)添加或者批量添加,添加的各項分別是添加日期,事件的優先級(最低、一 般、較高、最高)、事件名稱、事件的描述、事件的狀態(未開始、進行中、已完成) 以及事件的起始時間。
(2)檢索,檢索分為兩種,一種可以按照事件的狀態進行未開始、進行中、已完 成的檢索,另外一種可以按照日期來檢索。另外支持檢索全部的功能。
3) 修改,員工對于自己所做的工作進行修改。
(4)批注,管理員特有的權利,對每個員工所做的工作進行批注,并對下一步工 作進行批注。這樣的好處就是老板可以足不出戶就知道每一位員工每一天的工作。我的 TODO 模塊用例圖如圖3.2 所示。
3.3.3客戶信息管理模塊
客戶信息管理模塊又分為三個小模塊:
(1)公司信息管理。公司信息的內容包括公司名稱、公司電話、公司的行業劃分、 公司的經營方式、公司聯系人、公司技術人以及公司的市場活動信息。
(2)聯系人信息管理。聯系人的信息包括聯系人所屬公司,所在部門、職務、電 話/手機和Email。
(3)技術負責人信息管理,技術負責人信息包括技術負責人所屬公司、技術部門、 職務、電話/手機、Ema il。
對于三種模塊同樣是增加、刪出、修改,查看四種操作,普通用戶和技術負責人只 能對此進行查看,而管理員可以對此進行增加、修改、刪除的操作。這樣設置的目的是 保護客戶信息,體現了系統的安全性,客戶信息管理模塊用例圖如圖3.3 所示。
圖 3.3 客戶信息管理用例圖
Fig. 3.3 Use case diagram of customer information management
3.3.4客戶信息檢索模塊
此模塊的目的是為了方便用戶對客戶信息按照特定的方式進行檢索: 行業劃分,按照企業的行業劃分來檢索公司,聯系人以及技術負責人信息。行業劃 分包括四種,即金融、教育、政府、醫療。二、經營方式。按照企業經營方式來進行檢 索,經營方式分為三種:渠道分銷、集成系統、產品開發。三、公司姓名、按照公司姓 名進行檢索公司信息,支持全部檢索和部分檢索。例如輸入“長春新時代軟件公司”能 檢索到該公司,輸入 “電子”詞語可以檢索到“北京新佳美電子公司”等公司名稱包 含“電子”的所有公司。另外,本系統應支持復合條件的檢索,例如搜索行業劃分為“教 育”,運營模式為“產品開發”的公司,會檢索到所有符合條件的公司信息。此模塊所 有用戶都擁有查找的權限,方便每個員工對客戶的了解,同時也是對公司的進一步了解。 用例圖如圖3.4。
3.3.5產品信息模塊
此模塊為產品信息模塊,設計的目的是將公司所研發的以及正在研發的項目記錄 于此,可以按照項目技術負責人,項目所屬行業以及項目的合同情況進行檢索,也可 以查看項目的歷史軌跡,了解項目的每一次進展歷程。另外,對于正在研發的項目而 言,還可以記錄項目當前所遇到的問題,為日后維護項目打下基礎。產品信息所包含的 內容有產品所屬行業、產品名稱、產品狀態(未完成、已完成、進行中、放棄)、所屬 公司、合同情況(NDA、MOU、正式合同、其他)、合同日期、BC負責人、技術負責人、 歷史軌跡、當前問題、檢索(技術負責人、所屬行業、合同情況)、操作(增刪改查)。 其中歷史軌跡與當前問題具有查看和添加的功能。此模塊管理員與技術負責人是可以訪 問的,這樣有助于主管們了解公司產品,方便對產品進行維護。但是普通用戶不可以訪 問,當普通用戶訪問時會彈出顯示為權限不符的頁面,不能查看此模塊。這樣做的目的 是實現了客戶信息的安全性。用例圖如下圖3.5 所示。
圖 3.5 產品信息模塊示例圖
Fig. 3.5 Sample diagram of product information module
3.3.6權限劃分管理模塊
權限劃分管理模塊,顧名思義,即對用戶進行權限劃分的模塊,此模塊包括用戶信 息的增刪改查,而且處于安全因素的考慮,此模塊只有管理員才能訪問。用例圖如下3.6。
3.4系統的可行性分析
(1) 投資必要性[11]。第一、隨著時代信息化的發展,一個企業越來越多的數據需 要被處理,如果還單純靠手工方式來處理數據,由于員工的疏忽容易出現錯誤的同時也 是對于財力、物力、人力是巨大的浪費。在一個公司的內部,信息的實時性也難以得到 保障,老板不能隨時了解公司內部情況,對于要部署的下一步工作也是十分不利的。第 二、管理系統市場需求異常火爆,已經證實了它給企業帶來的巨大好處,運用管理系統 無疑是提高企業競爭力的絕佳選擇。第三、自主創作,量身打造屬于自己的軟件,適合 企業規模的同時幾乎0 成本,值得投資。
(2)技術可行性。本系統采用java語言開發[12],自java語言誕生之日起,由 于擁有跨平臺、面向對象、泛型編程的特性伴隨著互聯網的發展而迅速發展。java語 言在B/S編程方面比其他語言有絕對的優勢,J2EE技術架構SSH框架技術可以讓程序 員編寫更加方便,而且SSH能非常好的實現MVC框架。另外,網絡上有許多關于SSH框 架技術的資料,關于程序出現的問題可以迅速的查找到解決方案,從技術層面上看,項 目是可行的。
圖3.6 權限劃分管理模塊用例圖
Fig. 3.6 Use case diagram of authority division management module
(3) 組織可行性。此項目為本人獨立完成,項目比較小,不需要團隊合作,所以 不存在組織不可行的可能[13]。
4系統設計
4.1設計原則
設計原則是需求分析和系統實現之間的過渡。軟件的設計原則主要有下面幾個方面 [14]。可靠性是評估軟件最重要的指標,也是使用者最看重的一點。它直接關系到了企業 的競爭力與軟件的安全性。如果一個系統不可靠,那么其他的功能再優秀也不會得到企 業的重用。軟件可靠性意味著當軟件出現問題時,軟件具有解決問題的能力。
本系統對于用戶輸入有提示以及判別功能,對于各個表單提供了客戶端J Query驗 證以及服務器端驗證。保證系統健壯性[15]。
如果一個軟件的響應時間短并且程序所需要的內存很小,那么我們就是這個軟件具 有良好的效率。由于本系統比較小,對用戶的輸入迅速的做出反應,所以效率比較高。
無論是什么類型的軟件都不能一成不變,所以軟件的可擴展性極為重要。本系統采 用模塊化分,如果想要增加模塊,不需要修改其他的功能,方便程序員的操作,易于擴 展。
4.2總體設計路線與總體技術架構
公司管理系統參考現有的管理系統設計方案,采用J2EE技術的SSH框架進行系統 研發[16],用戶與系統入口,能夠迅速的與用戶進行交互,有效的提高了員工的工作效率
由于本系統比較小,運用較大的EJB大型企業級開發技術顯得大材小用,而且對于 系統的效率也會降低,所以考慮到如上原因,本系統采用Spring+Struts+Hibernate技 術架構,關于這三種技術在本文的第二章筆者已經做過詳細介紹。本系統為B/S結構, 可以實現系統軟件的高內聚,低耦合的優點。如圖4.1 所示。
圖4.1 系統整體架構
Fig. 4.1 System overall architecture
另外,分層的另一個好處是把所有的問題劃分為各個小的子問題,逐個解決各個子 問題,分而治之的思想易于控制和分配資源。
充分體現B/S架構的優點[17]。瀏覽器,及與用戶進行交互的工具,主要體現在顯示 層,用JSP技術來實現,頁面負責接收用戶的輸入,并且也可以將經過操作處理以后的 結果通過頁面的方式回饋給用戶。系統功能設計如圖4.2所示。可見系統共分為11個 模塊,具體請見下圖。
公司管理系統
公司信 息管理 聯系人 信息管 理 技術負 責人信 息管理
圖4.2系統功能設計圖
Fig. 4.2 System function design diagram
業務邏輯層,它主要負責與邏輯有關的操作。是系統最重要的一層,所有的業務流 程以及邏輯判斷都是由他負責的。數據實體層,采用模型驅動來實現,所有對象的屬性 皆為private,系統只能通過對象的get()和set()方法來訪問數據,體現了 java面向 對象的封裝性,保護了數據的安全。
系統訪問數據庫,操作數據庫中的數據,他的主要職責就是與數據進行交互,達到 用戶和數據庫進行交流的目的。
表4.1 系統模塊及功能
Tab. 4.1 System module and function
功能模塊 模塊的主要操作
公司公告模塊 普通用戶登錄此模塊對公司公告進行查看, 管理員登錄此模塊還可以對公司公告進行 增加修改刪除的維護性操作。
我的TODO模塊 用戶在此模塊記錄每天的工作,可以進行添 加、批量添加、查看、修改,還可以按照日 期和狀態進行檢索。
客戶信息管理模塊 分為公司,聯系人,技術負責人信息管理三 個子模塊,普通用戶可以查看,技術負責人 和管理員可以對這三個模塊進行增刪改查 操作。
客戶信息檢索模塊 此模塊提供三種檢索方式行業劃分、經營方 式、公司姓名。支持復合條件檢索,無權限 限制,所有用戶都可以訪問。
產品信息模塊 只有技術負責人和管理員可以進行查看,普 通用戶想訪問提示“權限不符”。此模塊主 要是公司歷史產品以及正在研發的產品的 展示。有產品研發的歷史軌跡以及當前問 題,方便產品的維護工作。還可以對產品進 行諸如修改,刪除等維護性操作。
權限管理模塊 管理員特有權限,完成對用戶權限進行劃分
以及對員工TODO進行批注的工作。
本系統包含六個模塊:公司公告模塊、我的TODO模塊、客戶信息管理模塊、客戶
信息檢索模塊、產品信息模塊以及權限劃分模塊。系統的功能設計圖如圖4.2 所示。
如上圖所示,系統分為六個大的模塊,但是每個模塊的具體功能是什么通過上圖是 無法顯示的。為了讓讀者更加直觀的瀏覽各個模塊及功能,筆者列出下表4.1,此表詳細 的介紹了公司每個模塊所完成的工作以及可以實現的功能。
為方便理解各個功能以及他們之間是如何協作的,下面將重點功能進行流程圖或者 順序圖的分析。
Fig. 4.3 User logon flow chart
4.3系統各模塊設計
4.3.1 用戶登錄模塊
結合現有系統的優點,此登錄系統也是根據用戶輸入的用戶名和密碼在數據庫中進 行查找,如果在數據庫中查找到用戶名和密碼并且匹配正確便進入系統,而不正確系統 則會返回登錄頁面以便于用戶的再次輸入。流程圖如圖4.3所示
4.3.2 公司公告模塊
公司公告模塊,根據登錄信息判斷登陸者的身份,如果為管理員則可以進行公司公 告的增刪該查操作[18]。但是如果是技術負責人或者為普通用戶,則只可以進行查看公司 公告。著重介紹管理員添加公告的功能。結合順序圖(如下圖4.4)來看,當管理員發出 添加Not ice請求以后,St ru ts.xml會根據匹配的“ add"返回值找到 addNoticeAction.do 文件,然后會將請求傳遞給NoticeService,由 NoticeService 向 NoticeDao數據訪問對象發出insert()的命令,當執行完成以后會依次返回success, 最后將notice_list.jsp頁面顯示給給管理員,方便查看添加后的公司公告。
o
Fig. 4.4 Order diagram for administrators to add company announcements
4.3.3我的TODO模塊
用戶進入系統后進行判斷,如果為技術負責人或者為普通用戶,進入系統后有三種 功能,分別為添加,檢索,修改/查看。而如果為管理員,除了上述功能外,還有批注 的功能[19]。批注功能是管理員對員工的TODO給予表揚或者批評,類似于老師檢查學生 作業一般,及時的掌握,每一位員工的動態,進行操作后返回。系統流程圖如下圖4.5。
4.3.4 客戶信息管理模塊
此模塊是系統很重要的模塊,因為公司是與客戶打交道的,客戶信息的實時性,正
確性,安全性都必須得到保障[20]。所以管理好客戶信息是十分必要的。下面著重介紹
管理員添加客戶信息的順序圖,根據順序圖4.6來了解系統是怎樣工作的。
此模塊普通用戶不能查看。管理員想要添加公司信息時,點擊添加客戶按鈕,然后 根據配置文件會找到addCustomerAction.do文件,發出添加公司請求addCompany(), 然后數據庫進行insert()操作,當結果返回到CuestomerAction后,還會繼續完成添 加聯系人(addLinker())和添加技術負責人(addTech())的操作。全部執行完畢以后, customer_list.jsp 頁面將會呈現給管理員,實時的查看添加信息。
4.3.5客戶信息檢索模塊
為方便所有用戶查找客戶信息,更好的了解客戶的需求,所以客戶信息檢索單獨作 為一個模塊出現,體現了系統人性化的設計[21]。在此模塊上又分為三個小的子模塊來進 行,用戶可以根據不同的方式(行業劃分、經營方式、公司姓名)進行檢索,模塊的順 序圖如下4.7所示。
o
圖4.7添加客戶信息順序圖
Fig. 4.7 Add customer information sequence diagram
4.3.6權限管理模塊
權限管理設置的目的是處于系統安全性的而考慮,一個系統不能老板和員工擁有一 樣的權限,那樣客戶信息的流失以及公司機密的泄露對公司的打擊將是災難性的,但是 有些資料是應該在公司內部共享的,還有些信息應該讓技術經理等高管了解,所以對于 權限的設置是十分必要的[22]。此模塊為管理員特有權限。而當技術負責人或者普通用戶 嘗試訪問此模塊時,系統會提示權限不符,然后返回到剛剛頁面,系統的流程圖如圖4. 8 所示。
Fig. 4.8 The system flow chart of the user rights management module
4.4數據庫設計
數據庫把應用系統里面涉及到的大量的數據按特定的規則組織起來,為系統各類用 戶提供數據使用權限,無論什么系統都是和數據打交道的[23]。所以說數據庫是一個軟件 的核心和基礎[24]。但是數據庫不能隨意的設計,首先它必須根據系統的對數據的需求進 行設定,能夠清楚的體現數據與數據之間的關系泅。系統公司公告實體圖,主要包括id、 主題、開始時間、結束時間等內容。
4.4.1系統E-R圖
根據前面模塊劃分以及彼此之間的關系,畫出本系統各個模塊的數據之間的實體 圖,主要為我的TODU模塊和權限管理模塊之間的實體關系圖。如圖4.9所示為客戶信 息管理與客戶信息檢索模塊的E-R圖,可見個實體時間相互關系等內容。
圖4.9客戶信息管理與客戶信息檢索模塊的E-R圖
Fig. 4.9 E-R diagram of customer information management and customer information retrieval module
4.4.2 數據庫表設計
根據系統的功能,本系統數據庫一共有13個表,分別為用戶表user,記錄用戶 todo的user_to,公司信息表customer_company,公司運營方式表company_run,公司行 業劃分表company_way,公司類型表company_type,聯系人表customer_link,技術負責 人表 customer_tech, 事件表 event_info, 公告表 notice,產品表 product_info,產品 問題表product_question,產品歷史軌跡表product_history。各表的具體設計如下:
(1) user 表
User 表記錄的是系統的用戶的基本信息,包括登錄時所需要的用戶名以及密碼。 user_no為此表的主鍵,唯一的標識了 user。類型為自動增長的非空整型。該表具體屬 性設置如下表4.2。
表4.2 user_todo 表具體字段
Tab. 4.2 user todo table specific fields
名稱 類型 長度 允許空 主鍵 外鍵
to」d(to編號) int 11 否 是 否
to_date(to 日期) datetime 20 是 否 否
to_name(to 名稱) varchar 20 是 否 否
to_desc(to 介紹) varchar 20 是 否 否
to_type(to 類型) varchar 1 是 否 否
to_start(to起始日期) datetime 20 是 否 否
to_end(截至日期) datetime 20 是 否 否
to_stat(to 狀態) varchar 1 是 否 否
user_no(用戶編號) int 11 否 否 否
to_comment(to 扌批注) text 0 是 否 否
to_contact(to 聯系人) varchar 11 是 否 否
to_tel(to聯系方式) int 11 是 否 否
to_next(to 下一狀態) varchar 20 是 否 否
to_memo(to 備注) text 0 是 否 否
(2) user_todo 表
user_todo 表里存放的是職員每天在工作時間所做工作的情況,由于一個用戶會有 多條user_todo記錄,所以在此user_todo中,要加入user表的主鍵user_no作為 user_todo表的外鍵。此表主鍵為to_id,類型為自動增長的非空int型。該表具體屬 性設置如下表4.3:
表4.3 company_run 表具體字段 Tab. 4.3 company run table specific fields
名稱 類型 長度 允許空 主鍵 外鍵
run_no(公司運營方式編號) int 11 否 是 否
run_name(to 名稱) varchar 20 是 否 否
(3) company_run 表 此表記錄公司的運營方式,目前公司運營方式有產品開發,系統集成,渠道分銷三
種°Run_no為主鍵,int型,非空。該表具體屬性設置如下表4.4。
表4.4 user 表具體字段
Tab. 4.4 user table specific fields
名稱 類型 長度 允許空 主鍵 外鍵
user_no(用戶編號) int 11 否 是 是
user_id(用戶 id) varchar 20 是 否 否
user_pwd varchar 20 是 否 否
user_name(用戶姓名) varchar 20 是 否 否
user_level(用戶級別) varchar 1 是 否 否
user_tel(用戶電話) int 20 是 否 否
(4) customer_link 表
此表記錄客戶公司聯系人的基本信息。聯系人與公司之間的關系為多對一關系,所 以在此表加入customer_company的主鍵company_no來作為此表的外鍵。此表主鍵為 link_no,用此字段可以找到唯一的聯系人。該表具體屬性設置如下表4.5。
表4.5 customer_link 表具體字段 Tab. 4.5 customer link table specific fields
名稱 類型 長度 允許空 主鍵 外鍵
link_no(聯系人編號) int 11 否 是 否
company」o(公司編號) int 11 是 否 否
link_name(聯系人名稱) varchar 50 是 否 否
link_jop(聯系人職務) varchar 50 是 否 否
link_tel(聯系人電話) int 20 是 否 否
link_addr (聯系人地址) varchar 50 是 否 否
(5) company_way 表
此表記錄公司的行業劃分,例如醫療,教育,政府,金融等。與customer_company 相關,主鍵way_no為customer_company表的外鍵。該表具體屬性設置如下表4.6。
表4.6 company_way 表具體字段
Tab. 4.6 company way table specific fields
名稱 類型 長度 允許空 主鍵 外鍵
way_no(企業劃分編號) int 11 否 是 否
way_name (企業劃分名稱) varchar 20 是 否 否
(6) company_type 表
本公司與客戶公司的類型,例如潛在客戶,簽約客戶,丟失客戶等,主鍵為type_no。 該表具體屬性設置如下表4.7。
表4.7 company_type 表具體字段 Tab. 4.7 company type table specific fields
名稱 類型 長度 允許空 主鍵 外鍵
type_no(公司類型編號) int 11 否 是 否
type_name(公司類型名稱) varchar 20 是 否 否
type_addr (公司地址) varchar 20 是 否 否
(7) product_history 表
Product_history表記錄的是產品歷史的記錄,以his_no作為主鍵,product_no 作為該表的外鍵與product表聯系起來。該表具體屬性設置如下表4.8。
表4.8 product_history 表具體字段 Tab. 4.8 product history table specific fields
名稱 類型 長度 允許空 主鍵 外鍵
his_no(產品歷史軌跡編號) int 11 否 是 是
his_date(產品歷史軌跡日期) datetime 20 是 否 否
his_name(產品歷史記錄名稱) varchar 50 是 否 否
product_no(產品編號) int 11 是 否 否
8) customer_company 表
customer_company表用來記錄客戶公司的情況°Company_no為主鍵‘company _type,company_way,company_run 代表公司類型,公司行業劃分,公司運營方式,這 三個字段為外鍵,是表company_type,company_way,company_run的主鍵。該表具體 屬性設置如下表4.9.
表 4.9 customer_company 表具體字段
Tab. 4.9 customer company table specific fields
名稱 類型 長度 允許空 主鍵 外鍵
company」o(公司編號) int 11 否 是 否
type_no(公司類型編號) varchar 100 否 否 否
company_name(公司名稱) varchar 20 是 否 否
company_tel(公司電話) int 20 是 否 否
company_fax (公司傳真) int 20 是 否 否
company_email(公司郵件) varchar 1 是 否 否
company_addr(公司地址) varchar 1 是 否 否
way_no(公司行業劃分) int 11 是 否 否
run_no(公司運營方式) varchar 50 是 否 否
company_desc (公司簡介) text 0 是 否 否
company_num (公司排名) varchar 20 是 否 否
company_perso (公司法人) varchar 1 是 否 否
company_time (注冊時間) datetime 18 是 否 否
(9) product_info 表
product_info表主要記錄公司產品的基本信息,product_no為produce_info表 的主鍵,int型,非空。該表具體屬性設置如下表4.10。
表4.10 notice 表具體字段 Tab. 4.10 notice table specific fields
名稱 類型 長度 允許空 主鍵 外鍵
id(公告id號) int 11 否 是 否
title(公告標題) varchar 50 是 否 否
start(公告起始時間) datetime 50 是 否 否
notice_perso n(公告發布人) varchar 50 是 否 否
end(公告截止時間) datetime 50 是 否 否
(10) customer_tech 表 此表記錄客戶公司的技術負責人的相關信息,與上表一樣同樣為多對一關系,故將 customer_company表主鍵作為此表的外鍵。該表主鍵為tech_no,此字段唯一,通過此 字段必能找到唯一的技術負責人。該表具體屬性設置如下表4.11。
表 4.11 customer_way 表具體字段 Tab. 4.11 company way table specific fields
名稱 類型 長度 允許空 主鍵 外鍵
tech_no(技術負責人編號) int 11 否 是 否
company」o(公司編號) int 11 是 否 否
tech_name (技術負責人名稱) varchar 50 是 否 否
tech_dept(技術負責人部門) varchar 50 是 否 否
tech_jop(技術負責人職務) varchar 50 是 否 否
tech_tel (技術負責人電話) int 20 是 否 否
tech_phone(技術負責人手機) int 20 是 否 否
tech_addr(技術負責人地址) varchar 50 是 否 否
tech_bir (技術負責人生日) varchar 50 是 否 否
tech qq(技術負責人qq) int 20 是 否 否
(11) product_question 表
product_question 表記錄公司產品在研發或者日后維護時候所遇到的問題,一個 項目可能有多個問題,多對一關系。所以在此表中加入product_info表的主鍵作為外 鍵,此表主鍵為ques_no,int型,非空。該表具體屬性設置如下表4.12。
表 4.12 product_question 表具體字段 Tab. 4.12 product question table specific fields
名稱 類型 長度 允許空 主鍵 外鍵
ques_no(當前問題編號) int 11 否 是 否
ques_owner(當前問題所有者) int 11 是 否 否
ques_name (當前問題名稱) varchar 50 是 否 否
ques_date(當前問題時間) datetime 50 是 否 否
ques_yn (是否解決) varchar 20 是 否 否
ques_answ (問題解決) varchar 20 是 否 否
product_no(產品編號) varchar 50 是 否 否
(12) event_info 表
event_info表記錄的主要是公司與客戶公司的大事件,company_no為此表的外 鍵,此表的主鍵為event_no,int類型,非空。該表具體屬性設置如下表4.13。
表4.13 event_info 表具體字段
Tab. 4.13 event info table specific fields
名稱 類型 長度 允許空 主鍵 外鍵
event_n o(事件編號) int 11 否 是 否
company」o(公司編號) int 11 是 否 否
event _name(事件名稱) varchar 50 是 否 否
event _start (事件起始時間) datetime 50 是 否 否
event _end(事件截止時間) datetime 50 是 否 否
event _addr (事件地址) varchar 20 是 否 否
event _manager (事件組織者) varchar 20 是 否 否
event _person(事件參與者) varchar 50 是 否 否
event _desc(事件簡介) varchar 50 是 否 否
(13) notice 表
notice表記錄的是公司的公告基本信息,id為此表主鍵,int型,非空。此表不 與其他表有聯系,獨立的完成公司公告模塊的數據庫。該表具體屬性設置如下表4.14。
表4.14 product_info 表具體字段
Tab. 4.14 product info table specific fields
名稱 類型 長度 允許空 主鍵 外鍵
product_no(產品編號) int 11 否 是 否
product_company (產品對應公司) int 11 是 否 否
product _name(產品名稱) varchar 50 是 否 否
product」inker(產品聯系人) varchar 50 是 否 否
product _bc(產品BC負責人) varchar 50 是 否 否
product _type(產品類型) varchar 20 是 否 否
product _date(產品日期) datetime 50 是 否 否
product _stat (產品狀態) varchar 50 是 否 否
product_num(產品數量) int 50 是 否 否
product_sale(產品賣岀) varchar 50 是 否 否
5公司管理系統實現
5.1登錄界面
如圖 5.1 所示為系統登錄界面。登陸界面包括系統用戶名及密碼,點擊登錄,可登 錄系統,如果用戶名和密碼不匹配,系統會提示用戶不匹配問題,讓用戶重新輸入。在 用戶輸入正確時,可登錄系統。
圖 5.1 登陸頁面效果展示圖
Fig. 5.1 Landing page effect display 登陸部分關鍵代碼如下:
<form action = "loginCh.jsp" method="post">
<table width="300" height = "180" border="5" bordercolor="#A0A0A0"> <tr>
<th>ID</th>
<td><input type="text" name="name" value = "請輸入用戶名" maxlength = "16" onfocus = "if(this.value == '請輸入用戶名') this.value =''"></td> </tr>
<tr>
<th>Password</th>
<td><input type="password" name="pwd" maxlength = "20"></td> </tr>
<tr>
<td colspan = "2" align = "center">
<input type="submit" name="submit" value="LOGIN"> </td>
</tr> </table> </form> 登錄錯誤信息提示界面如圖5.2所示:
5.2系統主界面
如圖5.3所示為系統主界面。可以看到系統管理相關功能模塊,系統主要分為五大
模塊,可見下圖所示,上方為系統訪問時間日志,下方為對應記錄。
如下圖 5.4 所示為系統添加公告界面,可以輸入公告內容及開始生效日期和結束日 期。
■^|zh»Vangy眄 Helb. » ioaouT 臧銅 ^erooo
金可金告鴿J!•豐理 空可企夕話=£>5•金可仝呂勇鳳需B
垠si魚咅內密: "Tn
開筒日陽 20I70IW ~
巒吏日翔 2(J17f»l9
ggireiB
圖 5.4 管理員添加公告效果展示圖
Fig. 5.4 Administrator to add bulletin effect display
相關核心代碼如下:
ComponentArt.Web.UI. newnodegds = new ComponentArt.Web.UI. (); newnodegds.Text = "系統公告";
sql = "select code_code,code_name from pdgis.t_codetree where code_type=' 公告' order by code_code asc";
//sql = "select line_name,id from pdgis.t_pd_lines order by line_name"; foreach (DataRow dr_gds in db.ds(sql).Rows)
{
ComponentArt.Web.UI.TreeViewNode newNode_gds = new ComponentArt.Web.UI.TreeViewNode();
newNode_gds.Text = dr_gds["code_name"].ToString(); newNode_gds.Value = "gds|" + dr_gds["code_code"].ToString(); newNode_gds.ShowCheckBox = true; newnodegds.Nodes.Add(newNode_gds);
}
5.3我的TODO模塊
如下圖5.5所示為系統我的TODO主界面。我的TODO主界面主要為用戶需要做
的事情,可以點擊查看,并由對應操作功能展示。
妄的TODD豐理〉妄的TODD
未砒:Sf5申匕空或: - 融曲欝前有
輻號 日期 優先航 2琢 «« 用束 崔作
2074 20170103 我文 C8:00 17:5O 耒開招/進行中/ E 杳鼻跑./批注
2070 '.20170215 _底 已兄喪 oa:ao 夷我
2皿9 20170224 _饒 開會 未刑5/進行中/匕 as /Sts
20SB 20170525 _區 趕行中 天開詰/進行G./ E 夷我 §«/-426 /'批注
2M7 20170713 -ffi 已完衣 osao 08:SD 未??抬/進行電/已
SS s«/«K /s*a
2C6S 20170&21 _庭 未?fis/進行中/巳 員戍 査謝騒./批注
2065 2017092C _魁 ess M3O 未開姑/進行出,'匕 SS ga/«K /st 注
2OS4 2017WU —鞭 已兒戎 SJfJS/SfiWE 注
2063 20171020' ESS 10:Q0 11:00 夭開 te.'af7«&/E §■«/•« efe .理1 注
2C62 20171124 較高 ESS os:oo 長開)8/進行中/ E
圖5.5 按時間段進行查詢的效果展示圖
Fig. 5.5 Effect display of query by time period
如下圖5.6所示為按時間段進行查詢結果。可以看到各時間段各類任務完成狀態、 操作等內容。
尹品信亙告理
權限剤分管長
圖5.6我的TOD0模塊主界面效果展示圖
Fig. 5.6 My TODO module master interface effect display
如下圖5.7所示為修改編號2074 信息界面。主要為修改相關信息,優先級、日期、 名稱、描述等內容。
圖 5.7 我的 TODO 效果展示圖
Fig. 5.7 My TODO effect display
起止時間: 08:00 ▼?17:50 ▼
相關核心代碼如下:
〃判斷我的todo是否被點擊
if (dr["DOWN_LEAD_ISOLATION"].ToString().Trim() != "") {
if (dr["DOWN_LEAD_ISOLATION"].ToString().Trim() == "1") {
this.Radio_jy.Checked = true;
}
else if (dr["DOWN_LEAD_ISOLATION"].ToString().Trim() == "0") {
this.Radio_bjy.Checked = true;
}
}
else
{
this.Radio_bjy.Checked = true;
}
if (dr["todo"] != null && dr["todo"].ToString().Trim() != "") {
this.radioButtonList1.SelectedValue = dr["todo"].ToString();
}
5.4客戶信息管理模塊
如下圖 5.8 所示為客戶信息管理主界面。客戶信息管理包括對客戶信息的統計展示 查詢、增刪改查等內容。可見編號、公司名稱、公司類型、公司電話等信息展示。
圖 5.8 客戶信息管理模塊主界面展示圖
Fig. 5.8 Main interface diagram of customer information management module
如下圖 5.9 所示為技術負責人信息頁面,可見技術負責人的各類信息及增刪改查操 作。
圖 5.9 技術負責人信息效果展示圖
Fig. 5.9 Display map of information effect of technical leader
如下圖 5.10 所示為聯系人信息界面。聯系人為公司相關聯系人、可見聯系人頭銜及 相應聯系方式,也可以對聯系人信息進行增刪改查等操作。
圖5.10 聯系人信息效果展示圖
Fig. 5.10 Contact information effect display
如下圖5.11所示為添加新客戶界面。輸入相關公司信息點擊保存可保存信息,如有 必輸項為填或未選擇系統會給出相應提示。
蓉戶信息普理
公司案空: I 樂砧蘆祀i重苗痙?晉商7 -
仝司知: I 長春査S®福埜司
公司跑話 : I -12345670910
仝司傳真:
仝司由S藩巨:
仝司冋址: www. aishifu. co m
仝司郵編: "1 0 0 0 8 6
仝司地址: 吉林省 - 長春市 十南黃區
fnid&i 分: 醫療,
顯示 潘力口行業另糞
經彗右式: 產品開發, 溺加運営方費
公司簡介: 麥逓福是好埜司吶 厶
公司茴備注: 特另U牛1 1
圖5.11 添加新用戶頁面展示圖
Fig. 5.11 Add a new user page display
相關核心代碼如下:
//查詢展示客戶信息 if (Manage["IsRestoreExtent"] != null)
{ string tempSQL = "";
string tempsdcheckcxid = "''", temppdcheckcxid = "''", tempdycheckcxid = "''", tempdlcheckcxid = "''", tempgdscheckcxid = "''" if (Manage["sdcheckcxid"] != null) {
tempsdcheckcxid = Session["sdcheckcxid"].ToString();
}
if (Manage["pdcheckcxid"] != null)
{ temppdcheckcxid = Session["pdcheckcxid"].ToString();
}
if (Manage["dycheckcxid"] != null)
{ tempdycheckcxid = Session["dycheckcxid"].ToString();
}
if (Manage["dlcheckcxid"] != null)
{ tempdlcheckcxid = Session["dlcheckcxid"].ToString();
}
if (Manage["gdscheckcxid"] != null)
{ tempgdscheckcxid = Session["gdscheckcxid"].ToString();
}
}
5.5客戶信息檢索模塊
如下圖 5.12 所示為客戶信息檢索主界面。客戶信息檢索主要為查詢相應的公司信息 及該公司是否為潛在客戶,并可以為該公司添加響應聯系人及技術負責人等內容。
Fig. 5.12 Main interface diagram of customer information management module
如下圖 5.13 所示為按照教育檢索界面,按照標簽可以劃分各類公司,主要標簽為設 備信息、醫療、教育等內容,及對公司進行分類。
客戶信息檢索管理中壯 客戶信息中心 >客戶信息
搜索:
行業劃分:全部設備自動化醫療政府教盲金融
經營方式:冒il渠道分i肖藏集成F品開發
公司姓名: HH
編號 公司繡 公司類型 公司電話 行業劃分 經營方式 聯系人 就人 市場活動信貝 揉柞
85 長春険子有限公司 潛左客戶 85856609 教盲設備自動化 添加 添期 查看鞠 修改刪除
84 無錫猜華信貝科學弓枝術國報驗室繊 網轎中心 北藏麒 0510-85383478 集道湍 雀n
添加 添加 查卿 修改刪除 查甜細
83 青島光谷聯哉展有限公司 北藏胎 0532-
8098808[/80980008 添加 添加 查卿 修改刪除 査看翔
82 成都橄件行業協會 北就噲 +86-28-85335050
85336669 85335876,分機8葉 李戈
添加 添加 查看鞠 修改刪除 査看翔
導出BUL灤加圻客戶
二二二二 1 < 』7 E ; H H 二二二二
圖5.13按照教育檢索效果展示圖
Fig. 5.13 According to the results of educational retrieval
如下圖 5.14 所示為按照產品開發和教育進行檢索界面。檢索也可以聯合檢索,即按 照兩個屬性聯合排序,如下為按照開發和教育兩類屬性進行檢索。
tt廠 IS Atfil ;» 呂 J±Ty t3•廠 IC 啟EL' / 廿廠 IS 后、
搜索:
行業劃分:全耕設薈自動化醫療政府教育錄左
經營方式:全郃渠道炭肖藏集成
公司飜 公司類里 公司電話 牡劃分 經營方式 聯系人 技術人 市場齣信亙 探作
85 長春険 子有限公司 潛在客戶 85856609 教育艙自動化 產胡發 添加 添加 查辭細 修改刪除 查看翔
84 青島光谷聯儼展有限公司 北就腔 0532
80988080/80980008 教育 產胡發 瑚楠
澈|] 添加 查酣細 修改刪除 查看翔
83 跚橄件mm 北就博合 +86-28-85335050
85336669 85335876,分機807 李戈
添加 添加 査甜細 修改刪除 查看翔
昶KCE1辦加聽戶
r~^n nn 123456739 mn^n
圖5.14 按照教育和產品開發檢索效果展示圖
Fig. 5.14 Search results according to education and product development
如下圖5.15所示為搜索公司名含有電子的公司具體信息界面。可以輸入指定關鍵詞 進行查詢,如下為輸入“電子”進行查詢結果。
行業劃分:全部設備自動化醫療政府教音龕融 經營方式:證I渠道分銷 藏集成產品開發
編號 公司鋼: 公司類型 公司電話 行k劃分 經營方式 聯系人 就人 市場倒信息 探作
4 長春昊毬子有限公司 潛在客戶 85856609 教育設備自動化 產Siff發 添加 添加 查看翔 修改刪除 查看翔
3 灑怖爾噩子有限公司 北歟龜 0755-83329865 肖酬
添加 添加 查看詳細 修改刪除 查刪
2 瀏1市雜電子科技跚有限公司 北就舲 0755-26719656
335 杜寧
添加 添加 查看翔 修改刪除 查卿
1 深川市爾驢子有限公司 0755-83329865 肖酬
添加 添加 查看詳細 修改刪除 查卿
導出EXCEL懈加審專戶
圖5.15 檢索包含電子的公司效果展示圖
Fig. 5.15 Retrieval of an electronic company effect display 相關核心代碼如下:
//查詢客戶信息
string strSql = "select lat,lng from pdgis.t_car_xxlj t where users = '" + carpz + "' and starttracktime in (select max(starttracktime) from pdgis.t_car_xxlj where users='" + carpz + "')";
DataTable tb = db.ds(strSql);
AspMap.Layer Layer;
AspMap.Points ppoints = new Points();
AspMap.Shape shpdata = new Shape(); shpdata.ShapeType = ShapeType.Line; foreach (DataRow listReader in tb.Rows) { ppoints.Add(double.Parse(listReader["lng"].ToString()), double.Parse(listReader["lat"].ToString()));
}
//添加到檢索結果頁面中 shpdata.Add(ppoints);
5.6 產品信息模塊
如下圖5.16所示為產品信息主界面。產品信息包含產品的名稱狀態、所屬公司、合 同情況、業績情況等內容。
產品信息管理 > 產品信宜
枝術負畫人:全部F 所屬行業:全部▼ 合同情況:全部 ▼
序號 所毘行業 產品翎 產品挨態 所厲公司 合同怙3? 合同日期 BC負責人 技術負責人歷史杭跡 當前問題 操作
K3 KH r a a 4 ■■■■
圖5.16 產品信息模塊主界面展示圖
Fig. 5.16 Product information module main interface display
如下圖5.17所示為查看第一個當前問題界面。可以看到產品信息及相應解決方案、 嚴重度、解決與否等信息。
圖5.17 查看第一個當前問題的效果展示圖
Fig. 5.17 Look at the results of the first current problem
如下圖 5.18 為按合同檢索界面。如果按照合同檢索,可以查看相應簽合同的公司情 況。
產品信亙
技術負麥人:全部 ▼ 所禹行業:全部 ▼ 合同'嚴兄: MOU ▼
所靂賊 產 產品狀態 所fg公司 合同偸a 合同日期 BC負責人
12 應用類 hunel 進行中 HCG MOU 20170526 白承熙
11 應用類 ALT1BASE 進行中 ALTIBASE MOU 20170528 白承煞
10 安藝 TOBIT 進行中 WeMB MOU 20170612 鞍唆
9 安藝 sysmanager 進行中 INFR ANICS MOU 20170823 輟唆
8 應用類 xplaiform 進行中 tobesoft MOU 20170917 白承熙
7 應用類 COBRA2000 進行中 ntbkorea MOU 20171009 樸垠貞
6 應用類 學校供應食物HACCP舷 進行中 First Tech MOU 20171112 白承饌
5 應用類 SynchroSpace 進行中 ELOZEN MOU 20171213 樸垠貞
4 安藝 AirCUVE 進行中 Aircuve MOU 20171221 鋤唆
3 安皺 Cube One 進行中 Eglobalsys MOU 20171223 鞍唆
■3S1 ai I 1 2 nt ism I 財」
圖5.18按照合同為MOU進行檢索的效果展示圖
Fig. 5.18 A picture of the effect of the contract for MOU 相關核心代碼如下: foreach (DataRow dr in db.ds(sql).Rows)
{
this.Text1.Value = dr["line_code"].ToString(); if(Text1.Value == null || Text1.Value.Trim() == "")
Text1.Value = code; this.Select2.Value = dr["dtxx_name"].ToString(); this.Text3.Value = dr["line_name"].ToString(); hfLineId.Value = dr["line_id"].ToString(); if (code.Substring(3, 1).ToString() == "2") {
this.Text15.Value = "產品信息";
}
if (code.Substring(3, 1).ToString() == "3")
{
this.Text15.Value = "當前問題";
}
if (code.Substring(3, 1).ToString() == "4")
{
this.Text15.Value = "所屬行業";
5.7 權限管理模塊
如下圖5.19所示為權限管理主界面。可以對系統內各類用戶的權限進行管理,當然
這需要用戶具有超級管理員權限才可以執行權限管理。
圖5.19 權限管理模塊的效果展示圖
Fig. 5.19 Effect display of permission management module
如下圖5.20所示修改某一用戶權限信息界面。點擊修改或返回可以進行下一步操作。
韶員信貝腳
用戶名:shilianfei 觀:| shilianfei 筋姓名:m
W: 器員;
那訂: 國內市場部▼
電話:
QQ: |
圖5.20 修改員工權限功能
Fig. 5.20 Modify employee rights function
如下圖5.21所示為查看李尚的我的“TODO”界面。系統還支持查看用戶的任務完 成情況即開始時間完成時間約束。
未開始進行中已完成all — —卜:— 查看所有
編號 日期 優先級 名稱 狀態 開始 結朿 更改狀態 挨作
2072 20171120 —般 李尚2 已完成 12:50 15:10 未開始/遴行中/
己完成 查脅修改/批注
2071 20171223 最高 李尚 進行中 1U30 11:50 未開始/遊行中/ 已完成 查費修改/批注
1400 20171221 —般 POPPlayer 測試 進行中 0S 30 08: 30 未開始/遊行中Z
己完成 查看/修改/批注
1399 20171225 _療 POPPlayer 測誡 進行中 OS 30 08: 30 未開始/遊行中/ 已完成 查看/修改/批注
1393 20171226 —般 POPPlayer 測試 進行中 OS 30 08: 30 未開始/遊行中/ 查卸修改/批注
1397 201S0101 _最 POPPlayer 逡行中 OS 30 08: 30 未開始/遊行中/ 已完成 查卸修改/批注
1396 20180103 —般 POPPlayer 測試 進行中 0530 08: 30 未開始/遊行中/
己完成 查暫修改/批注
1395 20180112 POPPlayer 測試 邊行中 OS 30 08: 30 未開始/遊行中/ 已完成 查矽修改/批注
1394 ;201801H —般 POPPlayer 刑|;才 進行中 OS 30 17: 30 未開始/遴行中/ ;=> 空 cB 查費修改/批注
圖 5.21 查看員工我的 TODO 模塊效果展示圖
Fig. 5.21 Look at my employee's TODO module effect display
//在刷新此頁面時判斷用戶權限
if (Session["hpt"] != null && Session["hpt"].ToString().ToUpper() == "TRUE") {
this.hp.auth = "01";
}
else if (Session["gct"] != null && Session["gct"].ToString().ToUpper() == "TRUE") {
this.gc.auth = "02";
6系統測試
6.1測試理論
測試主要流程為先進行單元測試,單元測試結束后由集成測試、系統測試等內容。 測試技術目前比較流行的為黑盒以及白盒測試,黑盒測試比較像一個黑盒子,測試人員 看不到系統代碼邏輯,只是將輸入輸出進行測試。白盒測試的主要方法則為利用判斷分 支系統實現代碼邏輯,達到完全覆蓋系統各種情況的目的。這兩種方式方法最終目的都 是盡最大努力測試出系統問題并進行修復。本系統的測試過程中也是主要采用這兩種技 術。
任何一個要交付給用戶使用的軟件都少不了測試環節。測試的目的是為了找到軟件 系統中的錯誤[26]。通過測試人員的輸入以及系統的輸出與預期結果進行評價,如果系統 反饋的結果與預期的結果相差很遠甚至是相反的[27],那么認定系統是存在問題的,然后 需要對系統進行調試,如果與預期結果相同或所差無幾,則認為系統在此功能上是符合 規定的[28]。
測試階段的信息流如下圖6.1 所示。
圖6.1 測試階段的信息流
Fig. 6.1 Information flow in the test phase
本公司管理系統在設計的時候,考慮到很多在系統與用戶交互過程中可能會出現的 情況,并且對這些不符合規定的交互做了處理。本章主要介紹各個模塊重要的測試用例。
6.2系統登錄測試
用戶在登錄系統的時候需要進行數據庫驗證,如果查到了就進入到公司公告模塊的 頁面,如果數據庫中沒有此數據,則返回用戶名或者密碼錯誤。此模塊的測試用例如下 表6.1 所示。
表 6.1 系統登錄的測試用例
Tab. 6.1 Test cases for system logon
測試用例 系統反饋
用戶名
zhaoyangyang 密碼
zhaoyangyang 登錄成功,系統自動跳轉到
zhaoyangyang zhaoyangyangOl 公司公告模塊
登錄失敗,輸入項有誤,無
zhaoyangyangOl zhaoyangyang 登錄系統。
登錄失敗,輸入項有誤,無
zhaoyangyang zhaoyangyang 登錄系統。
登錄失敗,密碼不能為空 登錄失敗,用戶名不能為空 登錄失敗,請輸入用戶名和 密碼
圖6.2為輸入用戶名為zhaoyangyang,密碼為zhaoyangyangOl時的反饋。
圖6.2 當用戶名或密碼錯誤的時候系統的反饋
Fig. 6.2 Feedback of the system when the username or password is wrong
6.3公司公告模塊測試 公司公告模塊由于有權限的區別,所以對于測試用例應該區分開來進行統計。另外 因為只有增加的時候系統會接收用戶的輸入,所以將著重以管理員身份登錄系統的用戶 增加公司公告的測試用例。下表6.2 將進行詳細的說明:
表 6.2 管理員添加公告的系統測試用例
Tab. 6.2 System test case for administrators to add Bulletin
模塊內容 測試用例 系統反饋
aaa OK,可以添加
公告內容 123 OK,可以添加
下午開會 OK可以添加
!@# 添加失敗,請輸入正確
內容
起:2017-3-10 OK,可以添加
止:2017-3-15
起:2017-3-10 OK,可以添加
起止日期 止:2017-3-10
起:2017-3-15 添加失敗,起始日期大于終
止:2017-3-10 止日期,系統提示重新輸入
當輸入起始日期為 2017-3-15,終止日期為2017-3-10 時,系統的反饋如下圖6.3 所 示。
圖 6.3 日期輸入錯時系統的反饋
Fig. 6.3 System feedback when date input is wrong
6.4我的TODO模塊測試
我的TODO是每一個用戶都有訪問權限的模塊,而且也是比較重要的一個模塊添加 我的TODO的準確性與高效性決定著公司的發展。下表6.3介紹了用戶對于添加或者修 改我的TODO模塊內的信息的測試用例(假設當前日期為5月15日為例):
表 6.3 添加或修改我的 TODO 模塊測試用例
Tab. 6.3 Add or modify my TODO module test case
模塊內容 測試用例 系統反饋
2Ol7-5-ll 錯誤,只能添加當天或
日期 者以后的信息
2Ol8-O-O 錯誤,日期格式錯誤
2Ol7-5-l5
一般 0K,可以添加
0K,可以添加
優先級 最低 0K,可以添加
較高 0K,可以添加
最高 0K,可以添加
名稱 l23 想 asd 0K,可以添加
8:OO-8:O5 0K,可以添加
起止時間 8:OO-8:OO 錯誤,此處必須是一個
9:OO-8:OO 時間段
錯誤,結束時間小于開
始時間
6.5客戶信息管理模塊測試
如前面所說,客戶信息管理模塊又分為公司信息管理,普通用戶的各類內容維護, 技術負責人信息管理幾大分支功能,而且這些模塊都會接收用戶的輸入,與用戶進行交 互,下面將分別介紹他們。
此模塊對于系統的交互進行如下的約束,對于用戶錯誤的輸入系統會及時的給出反
饋,體現出系統良好的健壯性。具體的測試用例如下表6.4所示。
表 6.4 公司信息管理的測試用例
Tab. 6.4 Test cases of company information management
系統模塊 用戶輸入 系統反饋
公司名稱 123abc OK,成功
公司公司電話 81234567 OK,成功
12345678 失敗,不以 8 開頭
81234asd 失敗,存在非數字字段
公司郵箱 Zhaoyy_007@126.com OK,可以添加
Zhaoyy_007@ 失敗,郵箱不完整
Zhaoyy_007@126com 失敗,郵箱格式不正確
公司郵編 138000 OK,可以添加
13500 失敗,字段不是六位數
公司網址 www.ccxsdgs001.com OK,可以添加
Ccxsdgs001.com 失敗,網址應以 www 開頭
www.ccxsdgs 失敗,網址格式不正確
公司簡介 Asd123 很好 OK,可以添加
輸入錯誤的郵箱格式時候系統的反饋如圖 6.4 所示。
圖 6.4 郵箱格式輸入錯時系統的反饋
Fig. 6.4 Feedback of mailbox format input error
添加技術負責人與添加聯系人時一樣,系統同樣會根據用戶輸入進行判斷,如果用 戶輸入的字段符合系統的預設規則,那么可以添加。如果不符合,系統會給用戶一個提 示,用戶修改不符合規定的輸入。技術負責人人信息管理模塊測試用例如下表6.5 所示。
表 6.5 技術負責人信息管理測試用例
Tab. 6.5 The information management test case of the technical leader
系統模塊 用戶輸入 系統反饋
阿達 asd OK,成功
技術負責人姓名 abcdefghigklmnopq 失敗,名字超過 2O 字
阿達 l23%$ 失敗,名字包含非漢字
和英文之外的部分
l334l57l537 OK,可以添加
l334l57 失敗,長度不為 ll
技術負責人電話 1234asd$%^& 失敗,包含除數字以外
其它部分。只能是數字
Zhaoyy_OO7@l26.com OK,可以添加
技術負責人郵箱 Zhaoyy_OO7@ 失敗,郵箱不完整
Zhaoyy_OO7@l26com 失敗,郵箱格式不正確
l988-l2-ll 成功,可以添加
技術負責人生日 l988-l3-ll 失敗,格式不正確
l988-l2-32 失敗,格式不正確
當輸入的手機號碼不正確時,系統會做如下圖 6.5 所示的提示:
圖 6.5 手機號碼格式輸入錯時系統的反饋
Fig. 6.5 Feedback of mobile phone number format input error
添加聯系人時系統會根據用戶輸入進行判斷,如果用戶輸入的字段符合系統的預設 規則,那么可以添加。如果不符合,系統會給用戶一個提示,讓用戶修改不符合規定的 輸入。聯系人信息管理模塊測試用例如下表6.6所示。
表 6.6 聯系人信息管理測試用例
Tab. 6.6 Contact information management test case
系統模塊 用戶輸入 系統反饋
聯系人姓名 阿達 asd OK,成功
abcdefghigklmnopq 失敗,名字超過 20 字
聯系人電話 13341571537 OK,可以添加
1334157 失敗,長度不為11
1234asd$%^& 失敗,包含除數字以外
聯系人郵箱 Zhaoyy_007@126.com OK,可以添加
Zhaoyy_007@126com 失敗,郵箱格式不正確
聯系人生日 1988-12-11 成功,可以添加
1988-13-11 失敗,格式不正確
1988-12-32 失敗,格式不正確
6.6產品信息管理模塊測試
產品信息管理模塊測試用例主要準對與修改和添加產品信息時制定的,具體測試用 例如下表6.7 所示。
表 6.7 產品信息管理模塊測試用例
Tab. 6.7 Test case of product information management module
模塊內容 測試用例 系統反饋
產品名稱 Nbx749_ 系統 OK.成功添加
所屬公司 萬達公司 成功,能夠添加
進行時 成功,可以添加
產品狀態 未開始 成功,可以添加
已完成 成功,可以添加
技術負責人 趙陽陽 成功,可以添加
產品簡介 Qwq123 哈哈哈 成功,可以添加
6.7用戶權限管理模塊測試
此模塊涉及到管理員對用戶的添加修改操作,測試用例如下表6.8 所示
表6.8 權限管理模塊添加用戶時的測試用例
Tab. 6.8 Test cases when users are added to the privilege management module
系統模塊 用戶輸入 系統反饋
用戶名 zhaoyangyang001 OK,可以添加
zhaoyangyang*% 失敗,不能包含除英文 字母數字和_以外的字符
密碼 Asd123A% OK,可以添加
真實姓名 趙陽陽 OK,可以添加
13341571537 OK,可以添加
1334157 失敗,長度不為 11
電話 1234asd$%A& 失敗,包含除其它部分。
Zhaoyy_007@126.com OK,可以添加
郵箱 Zhaoyy_007@ 失敗,郵箱不完整
Zhaoyy_007@126com 失敗,郵箱格式不正確
420196183 OK,可以添加
420196183111 失敗,超過 12 位
QQ 429asd123 失敗,包含除數字以外 其它部分。
經過上述的各種測試用例,系統皆能正常運行且給出良好的提示以及反饋,體現了 系統良好的健壯性。即使是用戶不會操作,根據系統的提示也會很容易學會。所以本系 統現在可以交付給用戶進行使用了。
結 論
計算機時代的到來加劇了企業之間的競爭,一個好的公司管理系統成為了企業之間 競爭的關鍵元素。信息化的社會早已淘汰了手動記錄的方式,管理系統有著方便,安全, 簡單的優點,用管理系統來代替傳統的手工方式來管理員工信息是大勢所趨。越來越多 的公司意識到公司管理系統的重要性,而每個公司的成立都需要一個與之相配的公司管 理系統。但是選擇一個公司管理系統如同選擇合作伙伴一般馬虎不得,誠然有許多軟件 公司能提供較優秀而且效率較高的管理系統。
系統采用eclipse集成開發工具進行開發,結合JSP, jQuery, AjaxJavaScript等技術。 并且運用當今主流的 Spring+Struts2+Hibernate 三層框架以及 B/S 架構實現系統的功 能,數據庫方面,結合Java連接數據庫JDBC技術對數據庫進行增加修改刪除的操作。 本系統是為小型公司打造的管理系統,隨著現在企業競爭力的增大,一個合適的公司管 理系統顯得尤為重要。本系統設計的目標是通過系統增強公司的競爭力,在眾多同類公 司中得以立足;另外通過系統這一平臺,提高員工的工作效率,降低管理成本,提高企 業管理能力,同時也增強員工對企業以及企業文化的了解。
系統采用SSH框架技術來實現公司管理系統,實現了公司公告,我的TODO,客戶 信息管理,客戶信息檢索,產品信息管理,權限管理共六個模塊,完全實現功能,界面 操作簡單,加以 jQuery 驗證,人性化提示用戶輸入,并且還用到了 Ajax 技術,使得用 戶不用反復提交表單就能得到系統的提示,達到與用戶良好交互的目。
本片論文主要闡述如下幾個方面:
(1) 對于現有的大型軟件不適用于小公司的問題的討論、
(2) 本系統采取的核心技術B/S結構以及SSH框架的好處。
(3) 本系統的研發流程。
這個系統雖然不大,但是經過各種測試證明其健壯性與安全性都是很不錯的。這種 小型的管理系統現在異常火爆,所以這種管理還是很有市場的。市場發展前景很好。
參 考 文 獻
[1]遲麗華,孫風艷.基于ERP的企業會計信息系統內部控制研究[J].中國集體經濟,2017,(10): 97-98.
[2]丁欣.基于Excel平臺的會計信息系統設計與實現[J].電子設計工程,2017,25(24):34-37.
[3]張雨倩,趙杰.基于J2EE的企業信息統計管理系統的設計與實現[J].軟件工程,2017,20(2): 37-39.
[4]王燕.油氣田企業在ERP管理下如何實現成本精細化管理[J].化工管理,2017(15):7.
[5]譚芳芳,許彪.基于Spring_Struts2_Hibernate的軟件行業管理系統的實現[J].企業家天地下 半月刊(理論版).2010,38(4):13-42
[6]馬天義,樓文高,楊田宏,等.基于云計算的連鎖企業信息化建設模式探討[J].電信科學, 2017,26(8A):48-52.
[7]蒲敏.電力企業信息管理中網絡管理系統的應用分析[J].中國管理信息化,2017,23:045.
[8]石建軍.基于MVC模式的社區醫療健康檔案信息系統設計與實現[J]. 山東工業技術,2017 (10):140-140.
[9]王娟.基于Java的Web開發技術淺析[J].數字技術與應用,2017(5):170-171.
[10]蒲子明,許勇,王黎.Struts2+Hibernate+Spring整合開發技術詳解[M].北京:清華大學岀版 社,2010.
[11](美)Rod Johnson,蔣培譯.Spring框架高級編程[M].北京:機械工業岀版社,2006.
[12]孫鑫.Struts2深入詳解[M].北京:電子工業岀版社,200&
[13]耿祥義.JSP基礎教程[M].北京:清華大學岀版社,2008.
[14]李曉靜,魏振鋼.基于Spring與Hibernate的Web應用開發研究[J].軟件導刊,2017, 16(5): 69-71.
[15]陸麗娜,王忠民.軟件需求[M].北京:機械工業岀版社,2000.
[16](美)Bruce Eckel著,陳昊鵬譯.Thinking in Java[M].北京:機械工業岀版社,2010.
[17]張新曼.精通JSP-WEB開發技術與典型應用[M].北京:人民郵電岀版社,2007.
[18](美)Richard York著,施宏斌,周彥,曹蓉蓉譯.jQuery JavaScript與css開發入門經典[M] 北京:清華大學岀版社,2010.
[19](美)Watts S.Humphrey著,李虎勤譯.個體軟件開發過程[M].北京:人民郵電岀版社,2001.
[20]翟裕中.J2EE平臺上的軟件開發[M].北京:機械工業岀版社,2001.
[21]王劍南.Java面向對象B/S后臺開發精粹[M].北京:清華大學岀版社,2005.
[22]董航.基于SQL數據庫的安全問題分析[J].通訊世界,2017(14):144-144.
[23](美)Ron Patton著,姚靜譯.軟件測試[M].北京:機械工業岀版社,2007.
[24]張海藩.軟件工程導論(第五版)[M].北京:清華大學岀版社,200&
[25]王蓁蓁.軟件測試理論初步框架[J].計算機科學,2014, 41(3): 12-16.
[26]王川,杭佳祺,殷靜.面對對象軟件測試技術發展[J].數字技術與應用,2017(9):209-210.
[27]李園園,黃松,惠戰偉,等.面向不同數據模式的測試用例檢索方法[J].計算機科學,2017, 44(11):221-225.
[28]許川佩.智能計算與測試技術相結合促進集成電路新技術的發展[J].電子測量與儀器學報, 2017,31(8):1161-1161.