詳細(xì)設(shè)計(jì)書(shū)_總體設(shè)計(jì)_第1頁(yè)
詳細(xì)設(shè)計(jì)書(shū)_總體設(shè)計(jì)_第2頁(yè)
詳細(xì)設(shè)計(jì)書(shū)_總體設(shè)計(jì)_第3頁(yè)
詳細(xì)設(shè)計(jì)書(shū)_總體設(shè)計(jì)_第4頁(yè)
詳細(xì)設(shè)計(jì)書(shū)_總體設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、詳細(xì)設(shè)計(jì)說(shuō)明書(shū)總體設(shè)計(jì)一、引言(一)編寫(xiě)目的詳細(xì)設(shè)計(jì)的目標(biāo)是確定應(yīng)該具體地實(shí)現(xiàn)所要求的系統(tǒng),得出對(duì)目標(biāo)系統(tǒng)的精確描述,從而在編碼階段可以把這個(gè)描述直接翻譯成用某種程序設(shè)計(jì)語(yǔ)言書(shū)寫(xiě)的程序。詳細(xì)設(shè)計(jì)的任務(wù)是根據(jù)系統(tǒng)需求分析報(bào)告和系統(tǒng)概要設(shè)計(jì)報(bào)告中對(duì)業(yè)務(wù)功能的定義,以及系統(tǒng)框架的要求,進(jìn)而實(shí)現(xiàn)更進(jìn)一步的具體設(shè)計(jì)。詳細(xì)設(shè)計(jì)報(bào)告中將從業(yè)務(wù)的具體實(shí)現(xiàn)功能方面入手,從用戶(hù)界面的設(shè)計(jì)、類(lèi)的詳細(xì)定義、成員變量的使用,到過(guò)程調(diào)用的輸入輸出參數(shù)等多方面進(jìn)行規(guī)范、定義、說(shuō)明。根據(jù)概要設(shè)計(jì)書(shū),整個(gè)程序分為六大模塊:用戶(hù)信息管理,求租管理,員工信息,出租管理,系統(tǒng)管理和幫助模塊,本文將對(duì)每個(gè)模塊具體如何實(shí)現(xiàn)進(jìn)行描述。(二

2、)系統(tǒng)說(shuō)明項(xiàng)目的開(kāi)發(fā)需求方是XX房屋中介公司,由XX軟件公司與XX學(xué)校軟件專(zhuān)業(yè)共同承接開(kāi)發(fā)任務(wù),預(yù)期用戶(hù)是中介行業(yè)內(nèi)部操作人員、庫(kù)存管理人員,公司經(jīng)理等。(三)術(shù)語(yǔ)表1.1 術(shù)語(yǔ)定義縮寫(xiě)、術(shù)語(yǔ)解釋庫(kù)存管理根據(jù)零部件識(shí)別碼或標(biāo)號(hào),對(duì)其出庫(kù)入庫(kù)進(jìn)行追蹤統(tǒng)計(jì),并對(duì)零件進(jìn)行信息統(tǒng)計(jì),以便更好的對(duì)供貨商信息以及顧客信息進(jìn)行統(tǒng)計(jì)并生成報(bào)表。管理員管理機(jī)械零部件庫(kù)存管理系統(tǒng),管理角色分配,用戶(hù)添加基礎(chǔ)功能MVC三層框架MVC三層框架,指視圖層、控制層、邏輯層三層架構(gòu),M:Model,V:View,C:ControlSSH在J2EE項(xiàng)目中表示了3種框架,即 Spring + Struts +Hibernate

3、Struts是Java領(lǐng)域中的一個(gè)開(kāi)源框架技術(shù),采用MVC三層結(jié)構(gòu)Spring是一個(gè)輕量級(jí)的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架Hibernate是一個(gè)開(kāi)放源代碼的對(duì)象關(guān)系映射框架TomcatJava Web 應(yīng)用中的Web服務(wù)器的一種,為系統(tǒng)提供Web容器功能(四)參考資料表1.2 參考資料序號(hào)資料名文件編號(hào)發(fā)表日期出版單位1軟件工程國(guó)家標(biāo)準(zhǔn)文檔GB85678820012軟件工程概論2009清華大學(xué)出版社二、軟件結(jié)構(gòu)(一)軟件功能結(jié)構(gòu)圖房屋中介管理系統(tǒng)用戶(hù)信息管理求租管理員工信息系統(tǒng)管理出租管理幫助人員信息控制房源查詢(xún)?cè)O(shè)置房源狀態(tài)查詢(xún)退出系統(tǒng)清理無(wú)效信息求組人員信息設(shè)置出租人員信

4、息設(shè)置求租意向設(shè)置錄入員工信息所有員工信息房間信息設(shè)置樓層設(shè)置幢座設(shè)置裝修程度設(shè)置朝向設(shè)置用途設(shè)置幫助文件圖 軟件功能結(jié)構(gòu)圖(二)模塊清單表2.1 模塊清單序號(hào)模塊名稱(chēng)編號(hào)模塊說(shuō)明1用戶(hù)信息管理01負(fù)責(zé)所有用戶(hù)的詳細(xì)資料添加負(fù)責(zé)所有用戶(hù)的詳細(xì)資料修改負(fù)責(zé)所有用戶(hù)的詳細(xì)資料刪除2求租管理02負(fù)責(zé)房源查詢(xún)負(fù)責(zé)查詢(xún)房源狀態(tài)負(fù)責(zé)添加求租人員所有意向負(fù)責(zé)修改求租人員所有意向負(fù)責(zé)添加求租人員所有意向3員工信息管理03負(fù)責(zé)所有員工的詳細(xì)資料添加負(fù)責(zé)所有員工的詳細(xì)資料修改負(fù)責(zé)所有員工的詳細(xì)資料刪除4出租管理04負(fù)責(zé)查詢(xún)房屋信息負(fù)責(zé)查詢(xún)房屋的樓層信息負(fù)責(zé)查詢(xún)房屋幢/坐信息負(fù)責(zé)查詢(xún)房屋裝修信息負(fù)責(zé)查詢(xún)房屋朝向信息

5、負(fù)責(zé)查詢(xún)房屋用途信息5系統(tǒng)管理05負(fù)責(zé)對(duì)訪(fǎng)問(wèn)管理系統(tǒng)的用戶(hù)分配角色類(lèi)型并設(shè)置訪(fǎng)問(wèn)權(quán)限負(fù)責(zé)添加用戶(hù)并為用戶(hù)分配角色類(lèi)型負(fù)責(zé)對(duì)數(shù)據(jù)進(jìn)行備份并且可以對(duì)數(shù)據(jù)進(jìn)行初始化以及恢復(fù)6幫助模塊06負(fù)責(zé)所有用戶(hù)登錄系統(tǒng)時(shí)的幫助說(shuō)明操作三、技術(shù)設(shè)計(jì)路線(xiàn)(一)技術(shù)路線(xiàn)SSH組合框架設(shè)計(jì)的目標(biāo)就是要為企業(yè)級(jí)的軟件開(kāi)發(fā)提供簡(jiǎn)介完善的Web框架,并且根據(jù)SSH組合框架的特性提高組件之間的復(fù)用,是程序開(kāi)發(fā)人員的開(kāi)發(fā)效率得到提高并且在系統(tǒng)后期維護(hù)時(shí)能夠更加方便,當(dāng)系統(tǒng)需要擴(kuò)展時(shí)能夠有足夠便捷的接口使系統(tǒng)擴(kuò)展。UI LayerStruts-MVCStruts ActionActionForm, JSPStruts-config

6、.xmlect.Business LayerSpringTransactionHibernate SessionManagementBusiness ServiceClassesPersistence LayerHibernateData SourceConnection PoolQuery LanguageSupport and otherHibernate servicesServiceLocatorDAOClassesDomain Model Business Object圖3.1 SSH組合框架結(jié)構(gòu)圖在Struts+Spring+Hibernate的系統(tǒng)中,對(duì)象的調(diào)用流程是:JSPAc

7、tionServiceDAOHibernate,數(shù)據(jù)的流向是ActionFormBean接受用戶(hù)的數(shù)據(jù),Action將數(shù)據(jù)從ActionFormBean中取出,封裝成VO或PO,再調(diào)用業(yè)務(wù)層的Bean類(lèi),完成多種業(yè)務(wù)處理后再Forward。業(yè)務(wù)層Bean收到這個(gè)PO對(duì)象之后,會(huì)調(diào)用DAO接口方法,進(jìn)行持久化操作。(1)Struts顯示層配置ActionFormBean接收網(wǎng)頁(yè)中表單提交的數(shù)據(jù),然后通過(guò)Action進(jìn)行處理,再Forward到對(duì)應(yīng)的網(wǎng)頁(yè),在struts-config.xml中定義<action-mapping>,ActionServlet會(huì)加載。(2)Spring業(yè)務(wù)

8、邏輯層配置Service為Action提供統(tǒng)計(jì)的調(diào)用接口,封裝持久層的DAO,并集成了Hibernate,Spring可對(duì)JavaBean和事物進(jìn)行統(tǒng)一管理。(3)Hibernate數(shù)據(jù)邏輯層配置Hibernate負(fù)責(zé)持久化層,完成數(shù)據(jù)庫(kù)的CRUD操作。Hibernate提供OR/Mapping,它有一組hbm.xml文件和POJO,是與數(shù)據(jù)庫(kù)中的表相對(duì)應(yīng)的,然后定義DAO,這些是與數(shù)據(jù)庫(kù)打交道的類(lèi),它們會(huì)使用PO。(二)配置文件1.數(shù)據(jù)庫(kù)連接配置用戶(hù)數(shù)據(jù)訪(fǎng)問(wèn)由BaseDAO.java與BasedaoImpl.java文件,是負(fù)責(zé)數(shù)據(jù)訪(fǎng)的問(wèn)接口模塊,在業(yè)務(wù)邏輯與數(shù)據(jù)庫(kù)資源中間,僅在用戶(hù)需要與數(shù)

9、據(jù)源進(jìn)行交互時(shí)使用接口。數(shù)據(jù)庫(kù)配置如下圖3.2所示。圖3.2 數(shù)據(jù)庫(kù)連接驅(qū)動(dòng)配置統(tǒng)一數(shù)據(jù)訪(fǎng)問(wèn)接口實(shí)現(xiàn)關(guān)鍵代碼如下:public Connection getConnection() return getHibernateTemplate().getSessionFactory().getCurrentSession().connection();從連接池取得一個(gè)JDBC連接。public void saveOrUpdateAll(Collection collection) getHibernateTemplate().saveOrUpdateAll(collection);數(shù)據(jù)批量保存、修改

10、。public void callProcedure(String call) SQLQuery query = this.getSession().createSQLQuery(call); query.executeUpdate();調(diào)用存儲(chǔ)過(guò)程。2.Struts配置文件struts.xmlstruts.xml文件是Struts 2框架的核心,定義了Struts的系列Action,為了便于分開(kāi)維護(hù),本系統(tǒng)將struts配置的xml文件struts.xml放置在“configs”子目錄下,如下圖3.3所示。圖3.3 Struts配置文件主要配置文件源碼如下:<?xml version=

11、"1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC"-/Apache Software Foundation/DTD Struts Configuration 2.0/EN""/dtds/struts-2.0.dtd"><struts><package name="cxstock" extends="struts-default"><!-

12、 配置自定義攔截器LoginedCheckInterceptor -><interceptors><interceptor name="loginedCheck" class="com.cxstock.utils.filter.LoginedCheckInterceptor"/></interceptors> <!- 定義全局result -><global-results><!- 定義名為exception的全局result -><result name="e

13、xception">/exception.jsp</result><result name="tologin">/jsp/main/tologin.htm</result></global-results><!- 定義全局異常映射 -><global-exception-mappings><!- 捕捉到Exception異常(所有異常)時(shí)跳轉(zhuǎn)到exception所命名的視圖上 -><exception-mapping exception="java.lang.

14、Exception" result="exception"/></global-exception-mappings></package><package name="main" extends="cxstock" namespace="/"><action name="*_*" class="1Action" method="2"><result name="input&qu

15、ot;>/login.jsp</result><result name="success" type="redirect">/jsp/main/index.jsp</result><interceptor-ref name="loginedCheck"/><interceptor-ref name="defaultStack"/></action></package></struts>3.Spring核心配置文件s

16、pring-basic.xmlSpring的配置文件spring-basic.xml,本系統(tǒng)bean的配置也被分離成兩個(gè)文件,分別為spring-basic.xml以及spring-bean.xml,放置在“configs”子目錄下,如圖3.4所示,spring-basic.xml關(guān)鍵代碼如下。圖3.4 Spring配置文件<beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xsi:s

17、chemaLocation="/schema/beans /schema/beans/spring-beans-2.5.xsd"><!- DataSource -><bean id="dataSource" class="mons.dbcp.BasicDataSource"><property name="driverClassName" value="c

18、om.mysql.jdbc.Driver"></property><property name="url" value="jdbc:mysql:/localhost:3306/mystock?useUnicode=true&amp;characterEncoding=UTF-8"></property><property name="username" value="root"></property><property nam

19、e="password" value="admin"></property></bean>(三)軟件開(kāi)發(fā)包說(shuō)明本系統(tǒng)軟件開(kāi)發(fā)包說(shuō)明如下表所示:表3.1 機(jī)械零部件庫(kù)存管理系統(tǒng)開(kāi)發(fā)報(bào)說(shuō)明序號(hào)軟件包包功能說(shuō)明1com.cxstock.action零部件系統(tǒng)操作處理2com.cxstock.action.chushou零部件系統(tǒng)商品銷(xiāo)售出庫(kù)操作處理3com.cxstock.action.jinhuo零部件系統(tǒng)商品進(jìn)貨操作處理4com.cxstock.action.kucun零部件系統(tǒng)商品庫(kù)存報(bào)損溢操作處理5com.cxstock.

20、action.power零部件系統(tǒng)權(quán)限管理操作處理6com.cxstock.action.tongji零部件系統(tǒng)銷(xiāo)售金額統(tǒng)計(jì)操作處理7com.cxstock.action.ziliao零部件系統(tǒng)原始資料錄入操作處理8.chushou零部件系統(tǒng)商品出售業(yè)務(wù)邏輯9.chushou.imp零部件系統(tǒng)商品出售業(yè)務(wù)邏輯實(shí)現(xiàn)10.jinhuo零部件系統(tǒng)商品進(jìn)貨業(yè)務(wù)邏輯11.jinhuo.imp零部件系統(tǒng)商品進(jìn)貨業(yè)務(wù)邏輯實(shí)現(xiàn)12.kucun零部件系統(tǒng)商品庫(kù)存查

21、詢(xún)報(bào)損溢業(yè)務(wù)邏輯13.kucun.imp零部件系統(tǒng)商品庫(kù)存查詢(xún)報(bào)損溢業(yè)務(wù)實(shí)現(xiàn)14.kucun.dto零部件系統(tǒng)商品商品庫(kù)存數(shù)據(jù)傳輸對(duì)象類(lèi)15.power零部件系統(tǒng)權(quán)限管理業(yè)務(wù)邏輯16.power.dto零部件系統(tǒng)權(quán)限管理數(shù)據(jù)傳輸對(duì)象類(lèi)17.power.imp零部件系統(tǒng)權(quán)限管理業(yè)務(wù)實(shí)現(xiàn)18.tongji零部件系統(tǒng)銷(xiāo)售金額統(tǒng)計(jì)業(yè)務(wù)邏輯19.#dto零部件系統(tǒng)銷(xiāo)售金額統(tǒng)計(jì)數(shù)據(jù)傳輸對(duì)

22、象類(lèi)20.#imp零部件系統(tǒng)銷(xiāo)售金額統(tǒng)計(jì)業(yè)務(wù)邏輯實(shí)現(xiàn)21.ziliao零部件系統(tǒng)原始資料錄入業(yè)務(wù)邏輯22.ziliao.dto零部件系統(tǒng)原始資料錄入數(shù)據(jù)傳輸類(lèi)23.ziliao.imp零部件系統(tǒng)原始資料錄入業(yè)務(wù)邏輯實(shí)現(xiàn)24com.cxstock.dao零部件系統(tǒng)數(shù)據(jù)訪(fǎng)問(wèn)接口25com.cxstock.dao.impl零部件系統(tǒng)數(shù)據(jù)訪(fǎng)問(wèn)接口實(shí)現(xiàn)26com.cxstock.pojo零部件系統(tǒng)所有數(shù)據(jù)使用的基本類(lèi)27com.cxstock.utils.filter為系統(tǒng)

23、提供超時(shí)檢查、安全過(guò)濾的基本類(lèi)28com.cxstock.utils.pubutil為系統(tǒng)提供分頁(yè)、樹(shù)形目錄的基本類(lèi)29com.cxstock.utils.system為系統(tǒng)提供數(shù)據(jù)備份恢復(fù)等處理的基本類(lèi)零部件系統(tǒng)操作處理軟件包所包含的類(lèi)(接口)說(shuō)明如下表3.2所示。表3.2 軟件包c(diǎn)om.cxstock.action說(shuō)明序號(hào)類(lèi)(接口)名字類(lèi)說(shuō)明1BaseAction分頁(yè)操作零部件系統(tǒng)商品出庫(kù)操作處理軟件包所包含的類(lèi)(接口)說(shuō)明如下表3.3所示。表3.3 軟件包c(diǎn)om.cxstock.action.chushou說(shuō)明序號(hào)類(lèi)(接口)名字類(lèi)說(shuō)明1XsAction銷(xiāo)售出庫(kù)操作零部件系統(tǒng)商品進(jìn)貨操作處

24、理軟件包所包含的類(lèi)(接口)說(shuō)明如下表3.4所示。表3.4 軟件包c(diǎn)om.cxstock.action.jinhuo說(shuō)明序號(hào)類(lèi)(接口)名字類(lèi)說(shuō)明1JhAction進(jìn)貨操作零部件系統(tǒng)商品庫(kù)存報(bào)損溢操作處理處理軟件包所包含的類(lèi)(接口)說(shuō)明如下表3.5所示。表3.5 軟件包c(diǎn)om.cxstock.action.kucun說(shuō)明序號(hào)類(lèi)(接口)名字類(lèi)說(shuō)明1BsyAction報(bào)損益操作2SearchAction單據(jù)查詢(xún)操作零部件系統(tǒng)權(quán)限管理操作處理軟件包所包含的類(lèi)(接口)說(shuō)明如下表3.6所示。表3.6 軟件包c(diǎn)om.cxstock.action.power說(shuō)明序號(hào)類(lèi)(接口)名字類(lèi)說(shuō)明1DataCopyActi

25、on數(shù)據(jù)備份操作2RoleAction角色分配操作3UserAction用戶(hù)添加操作零部件系統(tǒng)銷(xiāo)售金額統(tǒng)計(jì)操作處理軟件包所包含的類(lèi)(接口)說(shuō)明如下表3.7所示。表3.7 軟件包c(diǎn)om.cxstock.action.tongji說(shuō)明序號(hào)類(lèi)(接口)名字類(lèi)說(shuō)明1TongjiAction銷(xiāo)售金額統(tǒng)計(jì)操作零部件系統(tǒng)原始資料錄入操作處理軟件包所包含的類(lèi)(接口)說(shuō)明如下表3.8所示。表3.8 軟件包c(diǎn)om.cxstock.action.ziliao說(shuō)明序號(hào)類(lèi)(接口)名字類(lèi)說(shuō)明1GysAction供應(yīng)商統(tǒng)計(jì)操作2KcAction初期庫(kù)存統(tǒng)計(jì)操作3KhAction客戶(hù)統(tǒng)計(jì)操作4SpdwAction商品單位設(shè)置操

26、作5SplbAction商品列表創(chuàng)建修改操作6SpxxAction商品信息錄入操作零部件系統(tǒng)商品出售業(yè)務(wù)邏輯軟件包所包含的類(lèi)說(shuō)明如下圖3.9所示。表3.9 軟件包.chushou說(shuō)明序號(hào)類(lèi)名字類(lèi)說(shuō)明1XsBiz銷(xiāo)售業(yè)務(wù)邏輯模型定義零部件系統(tǒng)商品出售業(yè)務(wù)邏輯實(shí)現(xiàn)軟件包所包含的類(lèi)說(shuō)明如下圖3.10所示。表3.10 軟件包.chushou.imp說(shuō)明序號(hào)類(lèi)名字類(lèi)說(shuō)明1XsBizImpl銷(xiāo)售業(yè)務(wù)邏輯模型實(shí)現(xiàn)操作零部件系統(tǒng)商品進(jìn)貨業(yè)務(wù)邏輯軟件包所包含的類(lèi)說(shuō)明如下圖3.11所示。表3.11 軟件包.jinhuo說(shuō)明序

27、號(hào)類(lèi)名字類(lèi)說(shuō)明1JhBiz進(jìn)貨業(yè)務(wù)邏輯模型定義零部件系統(tǒng)商品進(jìn)貨業(yè)務(wù)邏輯實(shí)現(xiàn)軟件包所包含的類(lèi)說(shuō)明如下圖3.12所示。表3.12 軟件包.jinhuo.imp說(shuō)明序號(hào)類(lèi)名字類(lèi)說(shuō)明1JhBizImpl進(jìn)貨業(yè)務(wù)邏輯模型實(shí)現(xiàn)操作零部件系統(tǒng)商品庫(kù)存查詢(xún)報(bào)損溢業(yè)務(wù)邏輯軟件包所包含的類(lèi)說(shuō)明如下圖3.13所示。表3.13 軟件包.kucun說(shuō)明序號(hào)類(lèi)名字類(lèi)說(shuō)明1BsyBiz報(bào)損溢業(yè)務(wù)邏輯模型定義2SearchBiz當(dāng)前庫(kù)存查詢(xún)業(yè)務(wù)邏輯模型定義零部件系統(tǒng)商品庫(kù)存查詢(xún)報(bào)損溢業(yè)務(wù)實(shí)現(xiàn)軟件包所包含的類(lèi)說(shuō)明如下圖3.14所示。表3.14 軟件包c(diǎn)om.cxst

28、.kucun.dto說(shuō)明序號(hào)類(lèi)名字類(lèi)說(shuō)明1DqkcDTO當(dāng)前庫(kù)存數(shù)據(jù)傳輸對(duì)象定義零部件系統(tǒng)商品商品庫(kù)存數(shù)據(jù)傳輸對(duì)象類(lèi)軟件包所包含的類(lèi)說(shuō)明如下圖3.15所示。表3.15 軟件包.kucun.imp說(shuō)明序號(hào)類(lèi)名字類(lèi)說(shuō)明1BsyBizImpl報(bào)損溢業(yè)務(wù)邏輯實(shí)現(xiàn)2SearchBizImpl查詢(xún)業(yè)務(wù)邏輯實(shí)現(xiàn)零部件系統(tǒng)權(quán)限管理業(yè)務(wù)邏輯軟件包所包含的接口說(shuō)明如下圖3.16所示。表3.16 軟件包.power說(shuō)明序號(hào)接口名字接口說(shuō)明1RoleBiz用戶(hù)角色接口2UserBiz用戶(hù)數(shù)據(jù)接口零部件系統(tǒng)權(quán)限管理數(shù)據(jù)傳輸對(duì)象類(lèi)軟件包所包含的類(lèi)說(shuō)

29、明如下圖3.17所示。表3.17 軟件包.power.dto說(shuō)明序號(hào)類(lèi)名字類(lèi)說(shuō)明1RoleDTO用戶(hù)角色接口數(shù)據(jù)傳輸對(duì)象定義2UserDTO用戶(hù)數(shù)據(jù)接口數(shù)據(jù)傳輸對(duì)象定義3UserMenuDTO用戶(hù)菜單接口數(shù)據(jù)傳輸對(duì)象定義零部件系統(tǒng)權(quán)限管理業(yè)務(wù)實(shí)現(xiàn)軟件包所包含的類(lèi)說(shuō)明如下圖3.18所示。表3.18 軟件包.power.imp說(shuō)明序號(hào)類(lèi)名字類(lèi)說(shuō)明1RoleBizImp用戶(hù)角色接口實(shí)現(xiàn)2UserBizImp用戶(hù)數(shù)據(jù)接口實(shí)現(xiàn)零部件系統(tǒng)銷(xiāo)售金額統(tǒng)計(jì)業(yè)務(wù)邏輯軟件包所包含的類(lèi)說(shuō)明如下圖3.19所示。表3.19 軟件包.

30、tongji說(shuō)明序號(hào)類(lèi)名字類(lèi)說(shuō)明1TongjiBiz金額統(tǒng)計(jì)業(yè)務(wù)邏輯模型定義零部件系統(tǒng)銷(xiāo)售金額統(tǒng)計(jì)數(shù)據(jù)傳輸對(duì)象類(lèi)軟件包所包含的類(lèi)說(shuō)明如下圖3.20所示。表3.20 軟件包.#dto說(shuō)明序號(hào)類(lèi)名字類(lèi)說(shuō)明1DjmxDTO明細(xì)統(tǒng)計(jì)信息數(shù)據(jù)傳輸對(duì)象定義零部件系統(tǒng)銷(xiāo)售金額統(tǒng)計(jì)業(yè)務(wù)邏輯實(shí)現(xiàn)軟件包所包含的類(lèi)說(shuō)明如下圖3.21所示。表3.21 軟件包.#imp說(shuō)明序號(hào)類(lèi)名字類(lèi)說(shuō)明1TongjiBizImpl金額統(tǒng)計(jì)業(yè)務(wù)邏輯實(shí)現(xiàn)零部件系統(tǒng)原始資料錄入業(yè)務(wù)邏輯軟件包所包含的類(lèi)說(shuō)明如下圖3.22所示。表3.22 軟件包c(diǎn)om.cxs

31、.ziliao說(shuō)明序號(hào)類(lèi)名字類(lèi)說(shuō)明1GysBiz供應(yīng)商業(yè)務(wù)邏輯定義2KcBiz庫(kù)存業(yè)務(wù)邏輯定義3KhBiz客戶(hù)業(yè)務(wù)邏輯定義4SpdwBiz商品單位業(yè)務(wù)邏輯定義5SplbBiz商品列表業(yè)務(wù)邏輯定義6SpxxBiz商品信息業(yè)務(wù)邏輯定義零部件系統(tǒng)原始資料錄入數(shù)據(jù)傳輸類(lèi)軟件包所包含的類(lèi)說(shuō)明如下圖3.23所示。表3.23 軟件包.ziliao.dot說(shuō)明序號(hào)類(lèi)名字類(lèi)說(shuō)明1GysDTO供應(yīng)商數(shù)據(jù)傳輸對(duì)象定義2KcDTO庫(kù)存數(shù)據(jù)傳輸對(duì)象定義3KhDTO客戶(hù)數(shù)據(jù)傳輸對(duì)象定義4SpdwDTO商品單位數(shù)據(jù)傳輸對(duì)象定義5SplbDTO商品列表數(shù)據(jù)傳輸對(duì)象定義6SpxxD

32、TO商品信息數(shù)據(jù)傳輸對(duì)象定義零部件系統(tǒng)原始資料錄入業(yè)務(wù)邏輯實(shí)現(xiàn)軟件包所包含的類(lèi)說(shuō)明如下圖3.24所示。表3.24 軟件包.ziliao.imp說(shuō)明序號(hào)類(lèi)名字類(lèi)說(shuō)明1GysBizImp供應(yīng)商業(yè)務(wù)邏輯實(shí)現(xiàn)2KcBizImp庫(kù)存業(yè)務(wù)邏輯實(shí)現(xiàn)3KhBizImp客戶(hù)業(yè)務(wù)邏輯實(shí)現(xiàn)4SpdwBizImp商品單位業(yè)務(wù)邏輯實(shí)現(xiàn)5SplbBizImp商品列表業(yè)務(wù)邏輯實(shí)現(xiàn)6SpxxBizImp商品信息業(yè)務(wù)邏輯實(shí)現(xiàn)零部件系統(tǒng)數(shù)據(jù)訪(fǎng)問(wèn)接口軟件包所包含的類(lèi)(接口)說(shuō)明如下圖3.25所示。表3.25 軟件包c(diǎn)om.cxstock.dao說(shuō)明序號(hào)類(lèi)(接口)名字類(lèi)(接口)說(shuō)明1BaseDAO基礎(chǔ)數(shù)

33、據(jù)訪(fǎng)問(wèn)接口2DqkcDAO當(dāng)前庫(kù)存數(shù)據(jù)訪(fǎng)問(wèn)接口零部件系統(tǒng)數(shù)據(jù)訪(fǎng)問(wèn)接口實(shí)現(xiàn)軟件包所包含的類(lèi)說(shuō)明如下圖3.26所示。表3.26 軟件包c(diǎn)om.cxstock.dao.impl說(shuō)明序號(hào)類(lèi)名字類(lèi)說(shuō)明1BaseDAOImpl基礎(chǔ)數(shù)據(jù)訪(fǎng)問(wèn)接口實(shí)現(xiàn)2DqkcDAOImpl當(dāng)前庫(kù)存數(shù)據(jù)訪(fǎng)問(wèn)接口零部件系統(tǒng)所有數(shù)據(jù)使用的基本類(lèi)軟件包所包含的類(lèi)說(shuō)明如下圖3.27所示。表3.27 軟件包.pojo說(shuō)明序號(hào)類(lèi)名字類(lèi)說(shuō)明1Bsd報(bào)損單操作2Bsdsp報(bào)損單商品操作3Byd報(bào)溢單操作4Bydsp報(bào)溢單商品操作5Ckd庫(kù)存單操作6Ckdsp庫(kù)存單商品操作7Gys供應(yīng)商操作8Jhd進(jìn)貨單操作9Jh

34、dsp進(jìn)貨單商品操作10Kh客戶(hù)操作11Menu菜單操作12Role角色操作13Rolemenu角色菜單對(duì)應(yīng)操作類(lèi)14RolemenuId角色菜單對(duì)應(yīng)類(lèi)定義15Spdw商品單位操作16Splb商品列表操作17Spxx商品信息操作18Thd退庫(kù)單操作19Thdsp退庫(kù)單商品操作20Tkd客戶(hù)退貨單操作21Tkdsp客戶(hù)退貨單商品操作22Users用戶(hù)表操作23Vusermenu用戶(hù)菜單對(duì)應(yīng)操作為系統(tǒng)提供超時(shí)檢查、安全過(guò)濾的基本類(lèi)軟件包所包含的類(lèi)說(shuō)明如下圖3.28所示。表3.28 軟件包c(diǎn)om.cxstock.utils.filter說(shuō)明序號(hào)類(lèi)名字類(lèi)說(shuō)明1LoginedCheckIntercept

35、or登錄過(guò)期驗(yàn)證操作2ReqEncodingFilter請(qǐng)求響應(yīng)過(guò)濾操作3SecurityFilter安全過(guò)濾驗(yàn)證為系統(tǒng)提供分頁(yè)、樹(shù)形目錄的基本類(lèi)軟件包所包含的類(lèi)說(shuō)明如下圖3.29所示。表3.29 軟件包c(diǎn)om.cxstock.utils.pubutil說(shuō)明序號(hào)類(lèi)名字類(lèi)說(shuō)明1ComboData數(shù)據(jù)清除操作2Page分頁(yè)操作3TreeNode樹(shù)形目錄操作4TreeNodeChecked樹(shù)形目錄節(jié)點(diǎn)檢查操作為系統(tǒng)提供數(shù)據(jù)備份恢復(fù)等處理的基本類(lèi)軟件包所包含的類(lèi)說(shuō)明如下圖3.30所示。表3.30 軟件包c(diǎn)om.cxstock.utils.system說(shuō)明序號(hào)類(lèi)名字類(lèi)說(shuō)明1Constants信息接收操作

36、2DataCopy數(shù)據(jù)拷貝操作3DataTime數(shù)據(jù)時(shí)間記錄操作4DoubleMath計(jì)算工具操作5Tools工具服務(wù)操作四、Hibernate實(shí)現(xiàn)(一)創(chuàng)建持久化類(lèi)數(shù)據(jù)庫(kù)中的表數(shù)據(jù)對(duì)應(yīng)分別創(chuàng)建持久化類(lèi),負(fù)責(zé)將數(shù)據(jù)內(nèi)容持久化到數(shù)據(jù)庫(kù)中,如下商品分類(lèi)對(duì)應(yīng)的持久化類(lèi)。package com.cxstock.dao;import java.io.Serializable;import java.sql.Connection;import java.util.Collection;import java.util.List;public interface BaseDAO public void sa

37、ve(Object obj); /* 保存指定的持久化對(duì)象 */public void saveOrUpdate(Object obj); /* 保存或更新指定的持久化對(duì)象 */public void deleteById(Class clazz, Serializable id); /* 刪除指定ID的持久化對(duì)象 */public void delete(Object obj); /* 刪除指定ID的持久化對(duì)象 */public Object loadById(Class clazz, Serializable id); /* 加載指定ID的持久化對(duì)象 */public Object loa

38、dObject(String hql); /*加載滿(mǎn)足條件的持久化對(duì)象*/public List findByHql(String hql); /* 查詢(xún)指定類(lèi)的滿(mǎn)足條件的持久化對(duì)象 */public List findInProperty(String clazz, String propertyName, String value);public List findLikeProperty(String clazz, String propertyName, String value);public List findByProperty(String clazz, String prop

39、ertyName, Object value);public List findByProperty(String clazz, String propertyName, Object value);public List listAll(String clazz);public int update(String hql);public int countAll(String clazz);public int countQuery(String hql);public List findInProperty(String clazz, String propertyName, String

40、 value, int start, int limit);public List findLikeProperty(String clazz, String propertyName, String value, int start, int limit);public List findByProperty(String clazz, String propertyName, String value, int start, int limit);public List findByProperty(String clazz, String propertyName, Object val

41、ue, int start, int limit);public List listAll(String clazz, int start, int limit);public List findByHql(String hql, int start, int limit);public Connection getConnection();public void saveOrUpdateAll(Collection collection);public void callProcedure(String call);(二)Hibernate的配置Hibernate使用Java編寫(xiě),是一個(gè)高度

42、可配置的軟件包,通過(guò)兩種配置文件格式進(jìn)行配置。(1)hibernate.cfg.xml:?jiǎn)?dòng)時(shí),Hibernate查詢(xún)這個(gè)XML的屬性進(jìn)行操作,如數(shù)據(jù)庫(kù)連接字符串和密碼、數(shù)據(jù)庫(kù)方言,以及映射文件位置等。Hibernate在類(lèi)路徑中查找這個(gè)文件。(2)*.hbm.xml:映射描述文件,告訴Hibernate如何將特定的Java類(lèi)和一個(gè)或多個(gè)數(shù)據(jù)庫(kù)表格中的數(shù)據(jù)進(jìn)行映射。MyEclipse提供了工具進(jìn)行這兩種配置文件的處理,并能將映射文件、數(shù)據(jù)庫(kù)數(shù)據(jù)和Java類(lèi)進(jìn)行同步。實(shí)體映射文件的命名為:實(shí)體名.hbm.xml。它告訴Hibernate怎么來(lái)做對(duì)象映射、向哪個(gè)表插入數(shù)據(jù)、每個(gè)屬性的數(shù)據(jù)類(lèi)型,以及

43、對(duì)應(yīng)數(shù)據(jù)表里的列名。一般來(lái)說(shuō),一個(gè)實(shí)體對(duì)應(yīng)一個(gè)配置文件。<class name="dao.User" table="users(數(shù)據(jù)庫(kù)表格)" catalog="數(shù)據(jù)庫(kù)名字"><!- 主鍵字段配置, hibernate 為我們生成主鍵id, 必須定義-><id name="id" type="java.lang.Integer"><column name="id" /><generator class="incr

44、ement" /><!- increment 是先從數(shù)據(jù)庫(kù)取最大ID 然后加1, 再存入數(shù)據(jù)庫(kù)assigned 必須手工賦值給一個(gè) IDauto, identify, sequence, native, uuid.hex, hilo 等等-></id><!- property 默認(rèn)把類(lèi)的變量映射為相同名字的表列,當(dāng)然我們可以修改其映射方式-><!- 類(lèi)型寫(xiě)法兩種 Hibernate type: string, int; Java 類(lèi)的全名: java.lang.Integer-><property name="us

45、ername" type="java.lang.String"><!- 指定對(duì)應(yīng)數(shù)據(jù)庫(kù)中的字段信息 -><column name="username" length="200" not-null="true" /></property>每個(gè)持久化Java類(lèi)都需要?jiǎng)?chuàng)建單獨(dú)的映射描述文件,映射描述文件(文件擴(kuò)展名為*.hbm.xml)將告訴Hibernate如何將特定的Java類(lèi)和一個(gè)或多個(gè)數(shù)據(jù)庫(kù)表中的數(shù)據(jù)進(jìn)行映射。該文件名為Message.hbm.xml,把類(lèi)Mes

46、sage映射到表tb_message,其中id為主鍵,property告訴Hibernate類(lèi)和表中元素的對(duì)應(yīng)關(guān)系。Category.hbm.xml代碼如下:<?xml version="1.0" encoding="utf-8"?><!DOCTYPE hibernate-mapping PUBLIC "-/Hibernate/Hibernate Mapping DTD 3.0/EN""<hibernate-mapping> <class name="com.eshop.enti

47、ty.Category" table="tb_category"> <id name="id" type="java.lang.Long"> <column name="id" /> <generator class="identity" /> </id> <property name="name" type="java.lang.String"> <column name=

48、"name" length="50" not-null="true" /> </property> <set name="types" inverse="true" cascade="all" lazy="false"> <key> <column name="category_id" not-null="true" /> </key> <one

49、-to-many class="com.eshop.entity.Type" /> </set> </class></hibernate-mapping>五、Spring業(yè)務(wù)層實(shí)現(xiàn)(一) Action接口定義軟件包c(diǎn)om.cxstock.dao放置了機(jī)械零部件庫(kù)存管理系統(tǒng)數(shù)據(jù)訪(fǎng)問(wèn)的業(yè)務(wù)接口,其文件列表如下:BaseDAO:基礎(chǔ)數(shù)據(jù)訪(fǎng)問(wèn)接口下面以商品實(shí)體操作接口BaseDao .java的定義闡述其如何定義。BaseDao .java接口定義了機(jī)械零部件庫(kù)存管理系統(tǒng)的數(shù)據(jù)統(tǒng)一訪(fǎng)問(wèn)接口,包括:保存指定對(duì)象、更新指定對(duì)象、刪除指定ID、加

50、載指定ID、加載滿(mǎn)足條件的ID、條件更新、商品統(tǒng)計(jì)、分頁(yè)等。主要定義代碼如下:package com.cxstock.dao;import java.io.Serializable;import java.sql.Connection;import java.util.Collection;import java.util.List;/* 統(tǒng)一數(shù)據(jù)訪(fǎng)問(wèn)接口 */SuppressWarnings("unchecked")public interface BaseDAO /* 保存指定的持久化對(duì)象 */public void save(Object obj);/* 保存或更新指

51、定的持久化對(duì)象 */public void saveOrUpdate(Object obj);/* 刪除指定ID的持久化對(duì)象 */public void deleteById(Class clazz, Serializable id);/*加載滿(mǎn)足條件的持久化對(duì)象*/public Object loadObject(String hql);/* 查詢(xún)指定類(lèi)的滿(mǎn)足條件的持久化對(duì)象 */public List findByHql(String hql);/* 裝載指定類(lèi)的查詢(xún)結(jié)果 */public List findLikeProperty(String clazz, String propert

52、yName, String value);/* 條件更新數(shù)據(jù) */public int update(String hql);/* 統(tǒng)計(jì)指定類(lèi)的所有持久化對(duì)象 */public int countAll(String clazz);/* 分頁(yè)裝載指定類(lèi)的查詢(xún)結(jié)果 */public List findInProperty(String clazz, String propertyName, String value, int start, int limit);/* 從連接池中取得一個(gè)JDBC連接 */public Connection getConnection();/* 批量保存、修改 */

53、public void saveOrUpdateAll(Collection collection);/* 調(diào)用存儲(chǔ)過(guò)程 */public void callProcedure(String call);(二) Spring配置機(jī)械零部件管理系統(tǒng)服務(wù)業(yè)務(wù)的Spring配置文件spring-basic.xml代碼如下:<?xml version="1.0" encoding="UTF-8"?><beansxmlns="/schema/beans"xmlns:xs

54、i="/2001/XMLSchema-instance"xsi:schemaLocation="/schema/beans /schema/beans/spring-beans-2.5.xsd"><!- DataSource -><bean id="dataSource" class="mons.dbcp.BasicDataSource">

55、<property name="driverClassName" value="com.mysql.jdbc.Driver"></property><property name="url" value="jdbc:mysql:/localhost:3306/mystock?useUnicode=true&amp;characterEncoding=UTF-8"></property><property name="username"

56、value="root"></property><property name="password" value="admin"></property></bean> <!- SessionFactory -> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property

57、 name="dataSource" ref="dataSource"/> <property name="mappingDirectoryLocations"> <list> <value>classpath:com/cxstock/pojo/xml/</value> </list> </property> <!- 設(shè)置Hibernate的相關(guān)屬性 -> <property name="hibernateProperties"> <props> <!- 設(shè)置Hibernate的數(shù)據(jù)庫(kù)方言 -> <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> <!- 設(shè)置Hibernate是否在控制臺(tái)輸出SQL語(yǔ)句,開(kāi)發(fā)調(diào)試階段通常設(shè)為true -> <prop key="hibernate.show_sql">false&l

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論