999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于MVC模式S2SH框架的庫存管理系統

2014-02-09 03:00:26李利民
實驗室研究與探索 2014年11期
關鍵詞:系統管理

申 斌, 李利民

(1. 中北大學 計算機與控制工程學院, 山西 太原 030051; 2. 山西汾西重工有限責任公司, 山西 太原 030027)

0 引 言

隨著制造能力的不斷提高和市場激烈的競爭,零件制造和裝配任務越發艱巨,物資采購及物料配送的壓力也隨之增加,同時對庫房管控及信息系統的要求也越來越高,要求用最快的速度來反映市場多樣化的需求。

因此,廠商需要建設庫存管理系統。本文研究庫存管理系統的目的是提升庫存的周轉效率,減少庫存積壓,降低企業總體成本;使管理層隨時可以掌握庫存的信息,以此來做出正確的采購計劃;盡快把業務人員從手工賬本管理的繁瑣事務中解脫出來,減輕業務人員的工作量,提高企業管理的效率。

1 相關技術簡介

1.1 MVC設計模式

MVC是XeroxPARC[1]施樂帕克研究中心在上世紀80年代為編程語言Smalltalk-80[2]發明的一種軟件設計模式,即模型-視圖-控制器(MVC)[3]:其中M (model模型)主要有三層結構,業務層,dao層和持久層,主要由Java類來實現,也可以是Java bean、ejb等。業務層是處理業務邏輯的;dao[4]層是數據訪問對象,對數據庫操作的類,一般不包含業務邏輯;數據持久層可以通過Hibernate框架來實現;V(view視圖/界面),用來顯示數據;C(controller控制器),控制器主要是用于接收用戶的請求(數據),然后去調用model層的類來處理用戶的請求并返回數據,最后控制器用相應的視圖顯示模型返回的數據,并通過瀏覽器呈現給用戶。這三層(業務層-dao層-持久層)不一定都存在,主要看實際項目的規格和需求。MVC設計模式強制性地將系統分了三個大層(模型-視圖-控制器),降低了耦合度,便于系統的維護和擴展[5],如圖1所示。

1.2 S2SH框架

S2SH框架就是Struts2+Spring+Hibernate這三種框架整合的技術。其中Spring處于三大框架的核心地位,通過Spring可以和Struts2向上整合[6],同時也可以和Hibernate向下整合。這樣Web層,業務層,DAO層,持久層就通過Sping完美地結合在一起,使程序的耦合性降低,提高了程序的擴展性,維護性,重用性[7],如圖2所示。

1.2.1Struts2

Struts 2是一個用來開發MVC應用程序的框架,在WebWork 2[8]基礎上發展而來的,Struts 2的應用可以不依賴于ServletAPI和StrutsAPI,Struts 2的設計屬于無侵入式設計。與Struts 1相比,Struts 2有以下優點:

(1) 類更少,更高效,在Struts 2中無需使用“ActionForm”來封裝請求。

(2) Struts 2通過攔截器完成了框架的大部分工作,在Struts 2中插入一個攔截器非常容易。

(3) 不使用瀏覽器也可以對Struts 2的應用進行測試。

(4) Struts 2提供了類型轉換器,可以把特殊的請求參數轉換成需要的類型。

(5) Struts 2提供了支持多種表現層技術,如JSP,FreeMarker。

(6) Struts 2提供了全局范圍,包范圍和Action范圍的國際化資源文件管理實現。

1.2.2Hibernate

Hibernate是一個ORM框架,ORM是對象關系映射的框架[9],其中O是object業務層(只對對象操作);R是relation關系數據庫;M是mapping對象關系映射文件。Hibernate處于我們項目持久層的位置,并且對jdbc進行了輕量級的封裝[10],它的基礎是Java反射機制。Hibernate包括和數據庫的各種操作,保存、更新、刪除、查詢、加載。

用Hibernate操作數據的流程。① 創建持久化類,② 創建對象關系映射文件(*。Hbm.xml),③ 創建Hibernate配置文件(hibernate.cfg.xml),④ 通過HibernateAPI編寫訪問數據庫的代碼。

1.2.3Spring

Spring是一個開源的控制反轉(Inversion of Control,IOC)[11]和面向切面(AOP)的容器框架,它的主要目的是簡化企業開發。

控制反轉:應用程序本身不提供依賴對象的創建和維護,外部容器提供依賴對象的創建和維護[12]。即控制權從應用程序轉移到外部容器,也就是控制權的轉移。Spring的優點有:

(1) 降低組間之間的耦合度[13]。

(2) 開發人員可以使用容器提供的服務,如:事物管理服務,消息服務等,JSM服務,持久化服務。

(3) Spring提供了單例模式,程序員可以不編寫實現代碼,并且可以提高程序的開發效率。

(4) Spring提供了AOP技術[14],可以實現攔截,監控等功能。

(5) Spring提供了許多類,開發人員可以加快對應用程序的開發,如JdbcTemplate.

(6) Spring可以集成其他的主流框架。例如Struts2,Hibernate等。

2 基于S2SH的庫存管理系統的設計

2.1 需求分析

要求對材料、標準件、元器件、零組件、外購件等與生產相關的各類數據的資源統一管理;實現電子記賬,擺脫手工的管理模式;同時支持多種生產模式并存下的庫存業務。實現按批次管理庫存物料,記錄出入庫產品信息,并為檢驗人員提供到貨檢驗、庫存區域檢驗、出庫檢驗等功能。改善企業運行規則和思維模式的配套服務,有效地提高庫存管理效能。實現從物流決策、業務流程的全程信息化,對物流過程進行嚴格和科學的管理,實現企業收益的最大化。

2.2 系統的功能分析

系統包括五個功能模塊:系統管理,基礎數據管理,臺賬管理,出入庫管理,盤點管理。系統功能結構圖如圖3所示。

2.2.1系統管理

(1) 系統權限管理。為了系統安全考慮,給用戶分配一些角色,使用戶只能訪問自己被授權的資源,禁止訪問其它角色的資源,可以最大限度地保證系統的安全、數據的安全。允許超級管理員添加和刪除用戶,查看員工的相關信息。

(2) 系統設置。主要是對系統應用的功能和權限等配置文件進行定義,包括配置文件的定義,配置文件系統值管理,配置文件用戶值管理。

2.2.2基礎數據管理

(1) 庫房定義。將物理上的實際庫房映射到系統中的邏輯庫房,設置庫房的屬性、所屬部門、庫房名稱、庫房代碼、庫房類型及所屬部門等。

(2) 庫位定義。用于確定某個庫房中包含多少庫位,以及每個庫位的庫位類型。系統中提供了固定庫位和靈活庫位兩種定義方式,主要信息有:庫房號、庫位號、庫位類型、物料號、有效性等。

2.2.3臺賬管理

(1) 庫存臺賬查詢??梢园磶旆?、事務類型、登賬日期、物料等條件查詢出入庫流水信息。系統支持匯總查詢和明細查詢兩種方式。

(2) 出入庫調整。當出入庫登記完成后,如果本期還沒有進行庫存結轉,可以通過此模塊撤銷出入庫登記操作,系統將恢復庫存數據以及原始單據數據,工作人員可重新進行業務處理。系統記載出入庫調整日志并且能夠查詢。

2.2.4出入庫管理

(1) 采購入庫管理。對于成品件,到貨登記后先進行檢驗,檢驗合格的,保管員將產品上架,登記三期,確認入生產庫;除了成品外的其它器件,采購到貨之后先入待驗庫房,待驗保管員根據站臺維護的到貨信息,清點數量、核對單據等信息。如果相關信息正確,接收材料入待驗庫,維護入庫數量、庫位等信息。

(2) 配套批料。

① 庫房計劃員在審批批次配套領料單時,需要平衡各使用單位的配套情況,在確保均衡生產的情況下,應該合理分配庫存資源,審批各使用單位的領料單。

② 計劃員批料時選擇領用車間、批次、庫存臺賬等信息,批料確定后,系統生成批料編號,庫存的資源被占用,雖然庫存數量并不會減少,但是其他配套單已經不能使用這些資源。

③ 系統可以設置庫存占用期限參數,如果占用超期后則自動取消配套,恢復庫存可使用狀態。

④ 同時系統還可以提供對被占用庫存資源的查詢功能,方便工作人員及時查詢庫存資源占用情況,避免庫存資源被長期占用而不能有效利用。

2.2.5盤點管理

(1) 盤點結果錄入。保管員根據盤點清單清點庫房的物資,并且將清點結果錄入到系統中,輸入界面與盤點清單一致,保管員只需輸入盤點數量即可。對于賬物相符的盤點記錄,可以解除臺賬凍結狀態;對于賬物不符的盤點記錄需要提交財務人員審核。

(2) 盤盈盤虧調整??梢詫ΡP點結果進行調平處理,系統更新當前庫存數量為實物數量,同時生成出入庫流水賬EXCEL文件,并將調整結果提交給財務人員。

3 庫存管理系統平臺關鍵技術的實現

3.1 Web層的實現

這一層的關鍵技術點主要是把Spring和Struts2集成,在導入的所有jar包中必須包含一個jar包(即struts-spring-plugin-2.x.x.jar),用于Struts2集成Spring的插件。首先要在web.xml中配置,先對Spring容器實例化,再把Struts2的框架啟動代碼寫到web.xml中,通過filter來啟動Struts2框架。Web.xml的配置如下:

contextConfigLocation

classpath:spring.xml

org.springframework.web.context.ContextLoaderListener

struts2

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

struts2

/*

新建一個struts.xml,設置一個常量struts.objectFactory的作用是使用Spring這個對象工廠類替換掉Struts2默認的對象工廠類,也就是說由Spring來創建和維護action。在action類中class屬性原先由Struts2創建,現在由Spring創建,格式是class=“action bean名稱”。其struts.xml的配置如下:

"spring" />

3.2 業務層的實現

首先在productService.java中聲明一些方法(添加,顯示列表,刪除,更新等),這也就是我們常說的DAO接口。

public interface ProductService

{public void addProduct(Product p);

public List showProduct();

public void updateProduct(Product p);

public void delProduct(java.io.Serializable id);

}

然后在Spring中配置一個productServiceimp對象,讓Spring來接管它,體現出Spring對bean的管理和維護。其spring.xml的配置如下:

hibernate.dialect=org.hibernate.dialect.OracleDialect hibernate.generate_statistics=true

在productServiceimp中實現dao的方法,把Spring注入到sessionFactory,可以更好的管理,使項目開發簡單。在productServiceimp里設置sessionFactory的get和set方法,前邊已經在spring.xml配置了相關bean,可以直接使用這個對象而不用再新建一個對象。部分實現代碼如下:

Public class ProductServiceimp implements Product-

Service

{ private SessionFactory sessionFactory;

public SessionFactory getSessionFactory()

{ return sessionFactory;}

public void setSessionFactory(SessionFactory sessionFactory)

{this.sessionFactory = sessionFactory;}

public void addProduct(Product p)

{Session session=sessionFactory.openSession();

……}

3.3 持久層的實現

這一層關鍵技術是Hibernate和Spring集成。用掃描加注釋的方式把bean交給Spring管理,可以加快開發速度。

其spring.xml的配置如下:

不但cn.mao這個包會掃描到,而且只要是以cn.mao開頭的包都會掃描到。Spring需要接管Hibernate的事務管理服務,打開Hibernate的事務實際上操作的是Spring的事務,是基于注解的方式配置事務的。雖然本文采用oracle數據庫,但是要更換其它數據源非常的方便[15],例如:mysql,sqlserver,不需要大范圍的更換代碼。

4 結 語

本文以某公司的庫存管理系統為例,研究并實現了基于MVC模式S2SH框架的庫存管理系統。并實現了Spring和Struts2的向上集成,Spring和Hibernate向下整合,實現了松耦合的軟件框架[16]。彌補了Struts2在管理和持久化層面上的不足,體現了Hibernate在持久層面上的優勢,也表現出Spring在集成和管理其它框架中的核心地位。三大框架的集成,達到優勢互補,提高了系統的可維護性和擴展性。

[1] 李繼蕊,楊國勛.Struts和Hibernate多層架構的研究與應用[J].武漢理工大學學報(交通科學與工程版), 2008,31(6):1106-1109.

LI Ji-rui,YANG Guo-xun.The research and application of multitier architecture of Struts and Hibernate[J].Journal of Wuhan University of Technology(Transportation Science and Engineering),2008,31(6):1106-1109.

[2] 劉銘徽.基于Struts與Hibernate框架的圖書管理系統研究與設計[J].安徽大學學報(自然科學版),2009,11(3):36-38.

LIU Ming-hui.The research and design of library management based on the framework of Struts and Hiber- nate[J]. Journal of Anhui University of Technology(Natural Science Edition),2009,11(3):36-38.

[3] 李 瑩,王甲民.一種基于Petri—Net的新型MVC模式及實現[J].計算機工程與應用,2007,43(17):202-205.

LI Ying,WANG Jia-min.A new pattern and realization of MVC based on Petri-Net[J]. Computer Engineering and Applications,2007,43(17):202-205.

[4] 趙 偉,王志華,周 兵.基于MVC的e-ERP系統的設計與實現[J].計算機應用與軟件,2013,30(2):106-109.

ZHAO Wei,WANG Zhi-hua,ZHOU Bing. The design and realization of e-ERP system based on MVC.Computer and Applications and Software,2013,30(2):106-109.

[5] 馬秋成,王凌川.基于MVC模式的生產管理信息平臺[J].組合機床與自動化加工技術,2012(5):109-112.

MA Qiu-cheng,WANG Ling-chuan.The platform of management and information based on MVC model [J].Modular Machine Tool and Automatic Manufacturing Technique,2012(5:)109-112.

[6] 李紹平,彭志平.S2SH:一種Web應用框架及其實現[J].計算機技術與發展,2009,9(8):117-119.

LI Shao-ping,PENG Zhi-ping.S2SH:A web-application framework and its realization[J].Computer Technology and Development,2009,9(8):117-119.

[7] 符 鈺.基于Struts2+HIbemate3+Spring3框架的 Web 應用研究[J].金華職業技術學院學報,2013,13(3): 61-64.

FU Yu.The research of web based on the framework of Struts2+ HIbemate3+ Spring3[J].Jinhua Vocational and Technical College. 2013, 13(3): 61-64.

[8] 田秀彥,李 忠,羅士美.基于Struts + Hibernate+Spring的整合架構及其在Web開發中的應用[J].計算機與現代化,2008(11):95-98.

TIAN Xiu-yan,LI Zhong,LUO Shi-mei.A integration frame -work and its application in web development bsed on Struts + Hibernate + Spring[J].Computer and Moder -nization ,2008(11):95-98.

[9] 陳 輝,趙洪升,張艷春.Struts+Spring+Hibernate框架的整合實現[J].河南大學學報(自然科學版),2010(6):642-645.

CHEN Hui,ZHAO Hong-sheng,ZHANG Yan-chun. A integration framework and its application bsed on Struts +Spring+ Hibernate[J]. Journal of Henan University of Technology (Natural Science Edition),2010(6):642 -645.

[10] 趙 喆,卞藝杰,李亞冰,等.基于S2SH和SOA科技查新管理平臺的設計[J].武漢理工大學學報(信息與管理工程版),2013(1):56-60.

ZHAO Zhe,BIAN Yi-jie,LI Ya-bing,etal.The design of novelty search and management platform based on S2SH and SOA[J]. Journal of Wuhan University of Technology (Informationand Management Engineering),2013(1):56-60.

[11] 鄧子云,羅 濤,黃友森.基于Struts2 + Hibernate3+Spring2的物流數據交換平臺[J].計算機應用與軟件,2009,26(10):88-100.

DENG Zi-yun,LUO Tao,HUANG You-Sen.The plat- form of logistics data exchange based on Struts2+ Hibernate3+Spring2[J].Computer Applications and Soft- ware ,2009,26(10):88-100.

[12] 馮潤民.基于SSH的高校學生管理系統設計與實現[J]. 計算機工程,2009(6):280-282.

FENG Run-min.The design and realization of college management system based on SSH[J]. Computer Engi- neering,2009(6):280-282.

[13] 諶湘倩,狄文輝,孫 冬.基于SSH框架與AJAx技術的 JavaWeb 應用開發[J].計算機工程與設計,2009 (10): 2590-2592.

CHEN Xiang-qian,DI Wen-hui,SUN dong.Java Web appli -cation development based on SSH framework and AJAX technology[J].Computer Engineering and Applications, 2009 (10): 2590-2592.

[14] Walls C, Breidenbach R. Spring in action[M]. Dreamtech Press, 2005.

[15] 霍迎秋,唐晶磊,尹秀珍.基于SSH架構的農產品信息交換平臺[J].實驗室研究與探索,2013,32(5):63-66.

HUO Ying-qiu,TANG Jing-lei,YIN Xiu-zhen.A plat- form of exchanged information of agricultural products based on SSH[J].Laboratory Research and Exploration,2013,32(5):63-66.

[16] 呂 宏,楊 光.一種基于Java及數據挖掘技術的學生管理系統[J].價值工程,2012,31(8):123-124.

LV Hong,YANG Guang.A student management system based on java and data mining technology[J].Value Engineering,2012,31(8):123-124.

猜你喜歡
系統管理
棗前期管理再好,后期管不好,前功盡棄
今日農業(2022年15期)2022-09-20 06:56:20
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
加強土木工程造價的控制與管理
如何加強土木工程造價的控制與管理
半沸制皂系統(下)
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
“這下管理創新了!等7則
雜文月刊(2016年1期)2016-02-11 10:35:51
主站蜘蛛池模板: 精品乱码久久久久久久| 午夜福利亚洲精品| 日本精品αv中文字幕| 亚洲色欲色欲www网| 99热这里只有精品国产99| 伊人91在线| 97超级碰碰碰碰精品| 亚洲欧美不卡| 99九九成人免费视频精品| 国产精品久久久久久搜索| 国内精品视频区在线2021| 亚洲国产看片基地久久1024| 色综合婷婷| 91在线中文| 亚洲第一页在线观看| 国产亚洲欧美另类一区二区| 国产欧美日韩资源在线观看| 欧美一区二区三区不卡免费| www.99精品视频在线播放| 无码AV动漫| 精品国产香蕉伊思人在线| 国产人妖视频一区在线观看| 欧美亚洲网| 久久不卡国产精品无码| 亚洲一区二区黄色| 国外欧美一区另类中文字幕| 视频在线观看一区二区| 国产精品久久久免费视频| 99尹人香蕉国产免费天天拍| 91色在线观看| 国产成人久久综合777777麻豆| 亚洲三级片在线看| 婷婷色婷婷| 人人艹人人爽| 毛片a级毛片免费观看免下载| 色综合国产| 国产亚洲精品97在线观看| 欧美日韩动态图| 亚洲精品动漫| 拍国产真实乱人偷精品| 77777亚洲午夜久久多人| 亚洲日韩高清在线亚洲专区| 全色黄大色大片免费久久老太| 911亚洲精品| 精品中文字幕一区在线| 国产精品丝袜视频| 久久精品中文字幕免费| 亚洲成av人无码综合在线观看| 亚洲狼网站狼狼鲁亚洲下载| 国产精品自在在线午夜区app| 鲁鲁鲁爽爽爽在线视频观看| 网友自拍视频精品区| 美女视频黄频a免费高清不卡| 日韩不卡高清视频| 久久中文无码精品| 日韩乱码免费一区二区三区| 人妻21p大胆| 国模私拍一区二区三区| 找国产毛片看| 色婷婷在线影院| 九九这里只有精品视频| 色悠久久久| 精品国产香蕉伊思人在线| 国产天天色| 香蕉综合在线视频91| 亚洲成人播放| 99热亚洲精品6码| 久久网欧美| 91在线播放免费不卡无毒| 曰韩人妻一区二区三区| 九色综合视频网| 成人毛片在线播放| 国产精品福利在线观看无码卡| 久久99蜜桃精品久久久久小说| 国产偷倩视频| 免费无码又爽又刺激高| 免费国产小视频在线观看| 一级不卡毛片| 日本亚洲成高清一区二区三区| 在线亚洲精品自拍| 中文字幕在线一区二区在线| 国产夜色视频|