《基于库存管理领域软件复用技术的研究与应用.doc》由会员分享,可在线阅读,更多相关《基于库存管理领域软件复用技术的研究与应用.doc(9页珍藏版)》请在三一办公上搜索。
1、基于库存管理领域软件复用技术的研究与应用摘要:基于重用的软件复用技术可以大大减少软件开发所需的时间和费用,提高软件的灵活性、可维护性、可靠性,缩短应用软件的开发周期,是本世纪软件技术发展的一个趋势,也是目前软件业的热点之一。文章通过研究软件复用技术,提出了库存管理领域软件复用思想,并以青岛高校软控公司“备品备件库存管理系统”为原型,阐述了建立库存管理领域软件复用模型的过程。关键词:软件复用;备品备件;库存管理;构件Research and Application of Software Reuse in Stock Managing Abstract: Reuse-based software
2、 technology which can great reduce the time and expenses of developing and can enhance the flexibility, maintainability and reliability of the software is software developing trend and a hot spot of this century. In this paper, the technology of software reuse is studied, and a software reuse idea o
3、f stock managing domain is put forward. At the same time, the process of build a software reuse model of stock managing domain is described. In this, the spare parts stock managing system of Qingdao MESNAC Co., Ltd. is prototype.Key words: Software Reuse; Spare Parts; Stock Managing; component1 引言自从
4、McIlroy在1968年的NATO软件工程会议上正式提出软件复用的概念以来,软件复用已有了近三十年的发展历程,复用的对象也从早期的代码复用扩展到对软件开发过程中一切有价值的信息的复用,包括需求、需求规约、设计、源代码、测试计划和测试案例等。近三十年的实践证明,软件复用可以有效地提高软件的质量和生产率,是解决当前“软件危机”的一条比较现实可行的途径。软件界也从不同的角度出发提出许多软件重用的解决方法,特定领域思想的提出,使大规模软件复用成为可能。在软件开发过程中,经过对该工程进行特定领域分析,该工程的特定需求就变成该领域的典型需求加特殊需求,特定领域的软件构架再配置相应的可复用构件,进而完成软
5、件的开发3。 本文以青岛高校软控公司“备品备件库存管理系统”为原型,结合软件复用的理论和技术,阐述了建立库存管理领域软件复用模型的过程,包括:领域分析阶段、领域体系结构DSSA的建立、可复用构件的提取与实现等。2、软件复用技术(1)软件复用的定义软件复用是指重复使用“为了复用目的而设计的软件”的过程。软件复用是在软件开发过程中避免重复劳动的解决方案,旨在使应用程序的开发不再“从零开始”,能够在现有的工作基础上,充分利用过去应用系统开发中积累的知识和经验,将开发的重点集中在应用的特有部分。(2)软件复用的范畴依据复用的对象,可以将软件复用分为产品复用和过程复用。产品复用是指复用已有的软件构件,通
6、过构件集成组装得到新系统。过程复用是指复用已有的软件开发过程,使用可复用的应用生成器来自动或半自动地生成所需系统。过程复用依赖于软件自动化技术的发展,目前只适用于一些特殊的应用领域,而产品复用则是目前现实的、主流的途径。(3)软件复用的方式依据对可复用信息进行复用的方式,可以将软件复用分为黑盒复用和白盒复用。黑盒复用是指对已有构件不需做任何修改,直接复用。这是理想的方式。白盒复用是指已有构件并不能完全符合用户需求,要根据用户需求进行适应性修改后才可使用。而在大多数应用的组装过程中,构件的适应性修改是必需的2(4)软件复用过程 a. 领域分析:这个任务主要在于通过定义应用领域、分析应用领域来确定
7、是否值得为该领域开发开发重用基础设施。 b. 领域工程阶段:在这个阶段主要根据领域分析阶段得到的领域共性,获得通用体系结构;并规定资产如何匹配体系结构,如何绑定可变点。 c.资产获取:这个阶段包括针对重用的开发,还可能包括某些可重用资产的外部采办。 d.资产分类:这个任务实际上就是数据库管理任务,包括分类和存储可重用资产。 e.资产维护:这个任务实际上就是维护,与配置管理和版本控制任务结合在一起1。3、 领域分析阶段在面向领域软件的开发过程中,领域分析是第一阶段的工作。主要是对属于这个领域的应用系统进行定性、广泛、深入的分析,然后对领域内应用系统的共性和变性进行分析,从而形成领域边界模型,进而
8、形成领域模型,并撰写新应用的需求规约说明书。(1) 库存管理领域工作流程的分析 图1 领域工作流程图如图1,领域工作流程如下:首先由车间提出年度采购计划和月度采购计划,提交给设备管理部门;由该部门进行汇总平衡,然后生成采购计划,提交给采购业务员;采购又分成国内采购和国外采购两种,其中国内采购流程为:向供应商发送询价单,然后根据供应商发回的价格单进行比质比价,最后确定供应商;国外采购流程为:寻找供应商,签定单,进行采购;供应商发货,由质检部门进行质检,然后由仓库管理部门收货、入库;同时,财务部门付款;车间人员可以到仓库领取备品、备件。(2) 通过对流程的分析,可以形成领域的数据模型图: 年度采购
9、计划表 采购计划表 计划汇总 采购平衡 分析 月度采购申请表 订单签订单 收货单 收货 发票 入库单库存清单 入库 备件领用 领用单 领用出库 图2 领域数据模型图4、软件体系结构的搭建 软件体系结构是阐述整体软件系统高层计算部件的组织、交互、设计和调整的指导原则。在本质上,它是一个高层次上的抽象,提供了一种自顶向下实现基于构件的软件复用的途径。将体系结构作为系统构造和演化的基础,可以实现大规模、系统化的软件复用。梅宏教授等 提出基于软件体系结构的构件组装(ArchitectureBased Component Composition)的ABC方法。该方法将软件体系结构和基于构件的软件开发相结
10、合,并把软件体系结构作为系统开发的蓝图,在软件开发的各个生命周期指导系统的分析、设计、实现和维护,最终实现了基于构件的软件复用。在ABC方法中,软件体系结构是贯穿整个软件生存周期的重要的软件产品,软件系统的构造将围绕软件体系结构来进行4。在此,基于ABC方法的指导思想,比较了目前各种主流的架构模式,我们决定采用分层模式作为库存管理领域系统的架构模式。 图3 体系结构视图如图3,基于ABC的设计原则我们将这个系统分为4个模块,按照层次架构对其进行了组织。下面就每一层的功能进行说明:(1)基础数据层:该层包括了整个系统的公共基础部分,即基础数据和系统服务部分。这一层是其它各层的基础。(2)数据访问
11、层:该层为业务逻辑层提供了统一的数据访问接口。业务逻辑层通过该层读/写数据。(3)业务逻辑层:该层是整个系统的核心。整个系统所有的业务逻辑和业务规则的判断与实施都是在这一层完成的。在这一层重点是业务逻辑和业务规则的实现。(4)表示层:该层是用户与系统交互的界面,通过该层调用业务逻辑层的相关功能为用户提供服务。(5)环境层:主要是系统所要求的基本环境,例如COM+、Internet以及通信协议等。(6)集成机制:是系统复用的关键。控制器主要是用来订制符合客户要求的各种用户界面,而过程引擎则是客户的业务逻辑,业务流程的实现。(7)业务过程层:则是定制出的一些有关业务的模块。(8)应用层:是对应用模
12、板的组合形成的一些具体的实例。5、可复用构件的提取与实现: 通过以上分析,提取出如下构件: 表1 构件列表序号构件名构件编号类型(领域构件/基础构件)1入库GJ001领域构件2出库GJ002领域构件3计价GJ003基础构件4货位管理GJ004基础构件5仓库管理GJ005基础构件6备件基础信息待添加的隐藏文字内容3GJ006基础构件7库存调拨GJ007领域构件8盘点GJ008领域构件9库存调整GJ009领域构件10库存月末结帐GJ010领域构件库存帐目基础构件 下面以入库构件为例,说明构件的设计与实现:5.1 构件描述1、功能描述有收货、记账和查询入库信息功能。对供应商根据订单送的备件进行实物入
13、库处理;收到采购发票后,财务对采购收货单进行财务确认。2、应用场景入库:操作员选择仓库,填写入库日期和入库人等信息For 每一条记录IF 指定货位THEN输入货位信息END IF修改入库数量和价格等信息End for保存记账:找到入库单据填写会计期间,记账日期,发票号等信息For 每条明细填写价格信息End for修改单据状态为账实同立保存3、使用约束依赖于库存账目表、入库单表、入库单明细表、供应商信息表、备件基础信息表、仓库管理表、货位信息表、备件货位关系表等几个基础构件。5.2 接口设计由于提供的记帐服务,只是修改入库单和明细的部分信息,并将入库单的状态变更为帐实同立,因此可以归到收货接口
14、中,基于此本构件设计了两个接口:收货(IReceiveSP)、入库信息查询(IInStockQuery)构件对外需求的功能函数列表:(1)查询仓库信息from 仓库管理构件;(2)查询指定备件基础信息 from 备件基础信息构件;(3)查询特定供应商from 供应商基础信息构件;(4)生成入库单from 入库单构件(5)帐务入库 from 入库单构件(6)生成入库单明细项 from入库单构件(7)更新库存量 from 库存帐目表构件对外提供的功能函数列表:(1)接口收货:1、新增入库:2、更新:3、删除 4、记账入库: (2)接口入库信息查询:1、通过入库单号查询2、通过供应商编码查询: 其他
15、构件略。6、总结本文通过研究软件复用技术,提出了库存管理领域软件复用思想,并以青岛高校软控公司“备品备件库存管理系统”为原型,对领域分析、领域体系结构DSSA的建立、可复用构件的提取与实现等进行了详细的研究与实现。 在软件开发中引入软件复用技术,是一个对理论、实践都有价值和应用前景的课题,但这一软件开发思想还需要进一步的研究和完善,还有大量的工作有待去实践和检验。参考文献:1Hafedh Mili Ali Mili 等. Reused-Based Software EngineeringTechniques, Organization, and ControlsM.北京:电子工业出版社,2004.1.2李基鸿.基于可复用构件的软件复用技术J. 山西煤炭管理干部学院学报,2004,17(3):109-110.3张秋雨,张冬冬等.特定领域软件复用技术的研究与应用J.计算机工程与应用,2004,40(14):213-215.4梅宏,陈峰,冯耀东,杨杰ABC:基于软件体系结构、面向构件的软件开发方法软件学报,2003,14(4):7217235杨芙清软件复用及相关技术J计算机科学,1999,26(5).