已阅读5页,还剩56页未读, 继续免费阅读
(计算机软件与理论专业论文)基于构件的erp通用开发框架研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
哈尔滨理j r 人学t 学硕i :学位论文 基于构件的e r p 通用开发框架研究与实现 摘要 企业资源计划( e r p ) 管理系统广泛地应用于各个行业,为企业提高了 资源调控能力。为了更好地支持企业的流程重组,框架技术被应用到e r p 软 件的开发中。然而传统的e r p 开发框架,往往没有充分结合e r p 具体领域 特征进行分析,使得框架行业适应性差。同时开发框架还存在诸如各组成模 块之间耦合度高、对上层业务部分支撑不够等问题。因此,本文采用领域工 程方法结合软构件技术对e r p 开发框架进行研究,具体内容如下。 首先,本文对e r p 领域进行了领域需求定义,从而确定了开发框架涉及 的业务范围。研究了如何利用面向对象分析技术得出领域分析模型与领域术 语字典的方法。通过e r p 领域设计,对构件进行了获取和设计。在系统架构 设计中,结合设计模式设计了框架的通用点和扩展点。对识别出的构件按照 其重用的范围进行了层次的划分,给出了通用开发框架的模型。 其次,结合具体平台上的构件技术,分原子构件与复合构件探讨了构件 的实际代码实现方法。结合实例对框架的通用点和扩展点的实现给出了思路。 按照功能原子构件、业务原子构件、子系统和业务应用从低层到高层介绍了 构件的组装方法,其间给出了具体的组装实例。 最后,以药品进销存管理系统的开发为例,介绍了如何在本文研究的e r p 通用开发框架的基础上,对构件进行获取、选择以及组装来实现系统的开发。 展示了本通用开发框架在实际开发过程中的可行性和应用价值。 关键词企业资源计划;通用开发框架;构件技术 哈尔滨理t 人学t 学硕i j 学位论文 r e s e a r c ha n d i m p l e m e n t a t i o no fe r p g e n e r a l d e v e l o p m e n tf r a m e w o r k b a s e do nc o m p o n e n t a b s t r a c t e n t e r p r i s er e s o u r c ep l a n n i n g ( e r p ) m a n a g e m e n ts y s t e mi sp o p u l a ri nm o s t o fi n d u s t r i e si no r d e rt oc o n t r o lr e s o u r c e t os u p p o r tt h eb u s i n e s sf l o wr e b u i l d i n g f r a m e w o r kt e c h n o l o g yi su s e di ne r p d e v e l o p m e n t h o w e v e ri nt r a d i t i o n a le r p f r a m e w o r k sd e v e l o p m e n t ,t h e r ea r ep r o b l e m ss u c ha s :b a da d a p t a b i l i t yt ot h e i n d u s t r y , s t r o n gr e l a t i o n sa m o n gc o m p o n e n t s ,l o ws u p p o r tt ot h eh i g hl a y e r b u s i n e s sc o m p o n e n t s w h e nc o m p o n e n tt e c h n o l o g yi su s e di nt h ef r a m e w o r k d e v e l o p m e n t ,t h ei s s u e sw i l lb er e s o l v e d f i r s t l y , d o m a i nr e q u i r e m e n t si ne r pa r ec o n s i d e r e d ,a n dt h e nt h eb u s i n e s s s c o p ei sd e t e r m i n e d d o m a i na n a l y s e sm o d e la n dt e r m st a b l ea r er e s e a r c h e du s i n g o b j e c to r i e n t e ds k i l l s c o m p o n e n t sa r ei d e n t i f i e da n dd e s i g n e di ne r pd o m a i n d e s i g n c o m m o ns p o t sa n dh o ts p o t so ff r a m e w o r ka r ed e s i g n e db yd e s i g np a t t e r n m e t h o d si ns y s t e ma r c h i t e c t u r ed e s i g n t h ec o m p o n e n t si d e n t i f i e da r el e v e l e d a c c o r d i n gt oi t sr e u s a b i l i t y , t h e nt h ec o m m o nd e v e l o p m e n tf r a m e w o r ki sg i v e n s e c o n d l y , t h em e t h o d so fr e a l i z i n ga t o mc o m p o n e n ta n dc o m p l e xc o m p o n e n t a r eg i v e nu s i n gt h ec o m p o n e n tt e c h n o l o g yo fs p e c i f i cp l a t f o r m e x a m p l e so f c o m m o ns p o t sa n dh o ts p o t sa r ei l l u s t r a t e d f r o mt o pl e v e lt ol o wt h em e t h o d st o a s s e m b l ea t o m c o m p o n e n t s ,b u s i n e s sc o m p o n e n t s ,s u bs y s t e m ,b u s i n e s s a p p l i c a t i o na r ei n t r o d u c e d ,t h ea c t u a le x a m p l e sa r ea l s op r o v i d e d f i n a l l y , t h e d e v e l o p m e n t o f p h a r m a c y p u r c h a s e - s t o r e - s a l e s y s t e m i s i n t r o d u c e d ,i nw h i c ht h ec o m p o n e n t sa r ei d e n t i f i e d 。c h o s e na n dt h e na s s e m b l e d b a s e do nt h ee r pg e n e r a ld e v e l o p m e n tf r a m e w o r kt od e v e l o pt h es y s t e m t h e f e a s i b i l i t ya n da p p l i c a t i o nv a l u eo fg e n e r a lf r a m e w o r ki sd i s p l a y e df u l l y k e y w o r d se n t e r p r i s er e s o u r c ep l a n n i n g ,c o m m o nd e v e l o p m e n tf r a m e w o r k , c o m p o n e n tt e c h n o l o g y i i 哈尔滨理工大学硕士学位论文原创性声明 本人郑重声明:此处所提交的硕士学位论文基于构件的e r p 通用开发框 架研究与实现,是本人在导师指导下,在哈尔滨理工大学攻读硕士学位期间独 立进行研究工作所取得的成果。据本人所知,论文中除已注明部分外不包含他人 已发表或撰写过的研究成果。对本文研究工作做出贡献的个人和集体,均已在文 中以明确方式注明。本声明的法律结果将完全由本人承担。 作者签名:扛币名玉r 期:沁巧年弓 月纠日 哈尔滨理工大学硕士学位论文使用授权书 基于构件的e r p 通用开发框架研究与实现系本人在哈尔滨理工大学攻 读硕士学位期间在导师指导下完成的硕士学位论文。本论文的研究成果归哈尔滨 理工大学所有,本论文的研究内容不得以其它单位的名义发表。本人完全了解哈 尔滨理工大学关于保存、使用学位论文的规定,同意学校保留并向有关部门提交 论文和电子版本,允许论文被查阅和借阅。本人授权哈尔滨理工大学可以采用影 印、缩印或其他复制手段保存论文,可以公布论文的全部或部分内容。 本学位论文属于 保密口,在年解密后适用授权书。 不保密d 。 ( 请在以上相应方框内打) 日期:孰、) 9 年;月纠 日 同期:印年弓 月刎同 五岛彳_、 仫 蕊 轧 誊 名 名 签 签 者 师 作 导 哈尔滨理t 人学t 学硕1 :学位论文 第1 章绪论 1 1课题研究背景及意义 g a r t n e rg r o u p 关于e r p 的概念一经提出,立即引起了人们高度和广泛的关 注。时至今日,作为集中信息技术与先进的管理思想于一身的e r p ,已经成为 制造系统领域中流行的名词。然而在e r p 的开发过程中,存在着诸如实施周期 长、可靠性低、可扩展性差,无法灵活适应业务流程重组等问题。 从软件工程的角度分析,软件复用是解决以上问题根本途径。框架技术就是 一种软件复用的手段。在e r p 软件的开发、维护过程中,经常存在大量的共通 之处,如:数据库访问接口、系统权限管理、查询窗口、报表等。将这些共性 问题抽象出来作为e r p 系统开发的通用框架,可以大大提高软件开发的效率, 增强软件的可靠性和扩展性。 框架是针对特定领域的,一般建立在同一个或相似领域中,即所要开发的软 件系统具有较强的相似性,通过框架把领域中不变或不易变的部分在一定时间 间隔内固定下来,把易变的部分以用户接口的形式保留下来,从而达到设计和 代码的复用。一个成功的框架在很大程度上简化了复杂系统的开发。 。 然而现行的e r p 开发框架由于多数仍然采用传统的线性顺序开发方式,使 得开发出的开发框架存在以下不足: 1 框架仅涵盖最基本的功能特征,没有结合e r p 具体的业务特征,使得开 发出的框架行业适应性差。 2 框架的各部分之间的耦合度高,导致框架的灵活性差,可扩展性差,可 重构性差,难于维护。 3 框架对上层业务模块的支持不够,表现在不能对上层业务组件提供统一 的接口。 而构件技术作为软件复用的另一种手段,是解决软件危机、提高软件生产率 和质量的一种现实可行的途径,成为近些年来研究的热点。然而以往构件技术 往往着目艮于系统上层业务的开发,系统通用框架则应该更多关注于底层业务逻 辑的处理。若将构件技术引入到系统通用框架的研究中,则会有助于解决上述 框架所遇到的问题。框架技术与构件技术的结合产生了基于构件的应用框架技 术,这是框架技术的一个发展趋势。 哈尔滨理t 人学t 学硕i :学化论义 1 2国内外研究现状 1 2 1e r p 开发框架的研究现状 在设计模式中,g a m m a 等人为框架给出了一个定义:“框架就是一组协同 工作的类,它们为特定类型的软件构筑了一个可重用的设计” t l 。这也就是说, 框架是针对特定领域的一类应用程序的共同部分的设计与实现。 对于开发框架的研究,是由于开发者在各自技术平台上进行开发的过程中 发现,在很多项目中都存在着一些共有的难题。这些难题都可以由一个较为统 一的解决方案来解决。随着企业级系统应用复杂性的提高,框架技术的研究成 为理论和实践者研究的热点。 由于计算机的发展国外要领先于国内,所以关于该领域的研究在国外也相 对较早。 g r a n t 提出重用框架可以提高软件质量和生产效率,并且探讨了如何利用 设计模式通过u m l 来设计通用框架【2 1 ;m a y a 等针对m i s 系统的开发提出通过层 次化开发、重用通用框架来提高系统的灵活性【3 j ;d a v i d 定义了应用程序构造箱 ( a p p l i c a t i o nb u i l db o x ) 的概念以及针对部署事务操作提出了标志事务系统 ( l a b e l e dt r a n s i t i o ns y s t e m ,l t s ) ,并在此基础上建立了通用的构件部署框架f 4 1 。 这些框架的研究与应用的确提高了软件的重用度,然而这类框架各部分之间由 于耦合度较高,从而降低了框架的可维护性。文献 5 】中提出了基于元模型( m e t a m o d e l ) 来构建面向对象领域的开发框架。k o s t a d i n 基于通用组件架构 ( c o m m o nc o m p o n e n t a r c h i t e c t u r e ,c c a ) 探讨了支持分布式构件的框架【6 】。 就国内而言,虽然相对起步较晚,但在认真学习国外先进经验的基础上, 国内在开发框架的研究方面也取得了丰富的成果。 徐向英等人描述了利用组件和设计模式构建框架进行系统设计的过程,实 现了开发级和应用级的动态特性1 7 1 。张立秋等人结合制造业和金融业两个不同行 业的e r p 系统的业务逻辑,提出了一种新型的、通用的,可重构e r p 系统模板 g re r p m ( g e n e r a l ,r e c o n s t r u c t e de r p m o d e l ) ,来规范和加速e r p 系统的开发和 实施过程【8 】。 就具体的技术平台而言,基于j 2 e e 平台的框架,其开源性为它的研究与发 展注入了活力。从而涌现出了诸多优秀的开源框架,比如针对表示层的s t r u t s 、 j s f 、s p r i n g 、w e b w o r k 等;针对业务层的e j b 、j b p m 等;针对持久层的h i b e m a t e 、 哈尔滨理t 人学t 学硕1 :学位论文 i b a t i s 。它们面向不同的应用规模和领域,各有优缺点。 文献 9 中在分析了常用j 2 e e 平台上框架的不足后,设计了一种基于该平台 上的多层框架;文献 1 0 】中借助组件技术和模型驱动的思想,将组件装配模式和 模型驱动模式融合,设计并实现了一个基于模型驱动的e r p 软件的开发框架; 文献【1 1 】中将轻量级开源框架s p r i n g 与a j a x 技术相结合进行企业开发模式的研 究,并在此基础上开发了传统电信c r m 系统;文献 1 2 】中在j 2 e e 平台上,采用 m v c 模式,给出了基于s p r i n g 开源框架的校园c r m 系统的设计;文献 1 3 】中针 对j 2 e e 平台上的w e b 应用,基于开源框架s p r i n g 和s t r u t s ,详细设计和实现了个 轻量级的通用框架s s c f 。 而针对n e t 平台而言,文献 1 4 d p 针对医院信息系统应用的特点,对软件 开发中的通用过程进行了提炼和封装,提出和实现了一个基于n e t 技术的企业 应用系统可复用框架;文献【1 5 中在描述了基于框架的应用软件的开发方法及其 相关技术的概念之后,提出了一个基于n e t 技术的四层软件框架模型;文献【1 6 中利用n e t 2 0 框架的泛型、r e m o t i n g 、反射和特性等技术,为分布式应用系 统开发人员解决了诸如多级对象的状态更新及撤销、数据校验和系统安全、统 一的数据访问方式等一系列问题。文献 1 7 中作者结合经典的面向对象的分析与 设计方法和传统的软件体系结构的分层思想,构建了基于s o a 的应用开发的模 型体系结构;文献 1 8 】中综合运用中问件技术、x m l 标准、s o a 规范等多项计 算机领域的新技术设计了集成框架g t - f w k ( g o l d e nt h i n k i n gf r a m e w o r k ) ,并 采用此集成框架开发了j s e r p 。 综上,开发框架的研究大多集中于框架需要提供的基本功能。而结合e r p 具体的业务特征来研究的则相对较少。 1 2 2软构件技术的研究现状 目前对构件还没有一个公认的、统一的定义。一般来说有广义与狭义之分, 广义上讲,构件是指可以被明确标识的软件制品,它可以是需求分析、设计、 代码、测试用例、文档或软件开发过程中的其它产品。狭义来说,软件构件是 指可复用的、提供明确接口完成特定功能的程序代码块( 源代码、二进制代码 或可执行代码) 。 近些年来,软构件技术得到了高度重视和迅速的发展。其主要的研究内容主 要包括: ( 1 ) 构件获取:有目的的构件生产和从已有系统中挖掘提取构件 哈尔滨理t 人学t 学硕 j 学位论文 陈建勋等在这方面做了早期的探索,利用构件描述语言对实体构造领域进行 领域分析,建立了领域构件库,可实现构件的浏览和检索【i9 1 。林锐等人将构件 化思想应用到o p e n g l 开发出了可复用软构件库i n t r a 3 d 2 0 1 。近来,马安等人对 c a p p 构件库中构件的划分、描述以及建立的研究后,提出了一个基于本体的构 件体系结构和查询方法【2 。 ( 2 ) 构件模型:研究构件的本质特征及构件间的关系 贺岚等人结合层次的面向对象设计结构,讨论了类属构件g r c ( g e n e r i c r e u s a b l ec o m p o n e n t ) 的模型2 2 l ;针对构件自适应,张琼妮等人指出软构件自适 应性主要表现在数据感知和属性自定义,而软构件接口是设计和开发自适应软 构件的关键,在对软构件的自适应接口特征研究的基础上,提出了一种基于 x m l 的自适应软构件模型【2 3 】。 ( 3 ) 构件描述语言:以构件模型为基础,解决构件的精确描述、理解及组 装问题 曾广周等提出了一种以剧本为需求模型,基于构件的组装式软件开发方法, 包括了软件体系结构的定义、各部分的组成关系以及控制结构和通信机制的实 现方法【2 4 1 。基于路径的模型通常在实现后对软件系统可靠性进行评估。基于此, 毛晓光等提出了基于软件构件的一种可靠性通用模型构件概率迁移图,该模 型可以跟踪动态开发过程中构件软件的可靠性,具有较广的覆盖面和较强的兼 容性【2 5 1 。 ( 4 ) 构件分类与检索:研究构件分类策略、组织模式及检索策略,建立构 件库系统,支持构件的有效管理 现在较大型的构件库有r e b o o t 系统、n a t o 系统和北大青鸟的软构件库, 刘大昕等人在分析了以上构件库以后,提出了支持集成的软构件库系统。该软 构件库系统在对软构件进行增、删、改、查的基础上增加了系统建模和软构件 集成和部署的辅助功能对软构件按照改进的刻面分类策略进行分类,通过系统 建模形成软构件的描述模型从而生成检索条件,从库中检索到所需软构件后在 系统生成其中完成构件的集成和部署【2 6 1 。 ( 5 ) 构件复合组装:在构件模型的基础上研究构件组装机制,包括源代码 级的组装和基于构件对象互操作性的运行级组装 l u c k h a m 分析了3 种不同的体系结构类型:对象连接式体系结构、接口 连接式体系结构和插头插座式体系结构【2 7 1 。张世琨等人针对构件集成方式所存 在的不足,提出了支持接口连接式和插头插座式体系结构类型的构件模型以及 基于体系结构的构件集成组成框架,并且设计出青鸟构件描述语言,制定了可 哈尔滨理t 人学丁学硕,l :学位论文 复用构件制作指副2 8 1 。任洪敏等借鉴进程代数中进程构造的方法,提出6 种构 件组装机制。【2 9 】 ( 6 ) 构件的复用性:构件的有用性和可用性 前者体现了构件可能被频繁使用的程度,后者体现了复用构件的容易程度, 表现为复用成本和复用效率等方面,由于以前多数的工作是集中在如何提高有用 性,而忽略了软构件可用性方面的研究。所以有关构件重构的研究得到研究人员 的r 益关注:s t o j a n o v i c 提出了一种9 - i n t e r a t i o nm a t r i x 方法,构造两个构件 的交互矩阵并通过矩阵中参数问的值关系来优化构件间关系【3 0 】;v i t h a r a n a 等 人构造了一种基于业务策略的构件设计模型( b u sc o dm o d e l ) ,综合表征构件复用 性能的多个指标,形成构件重构的目标函数,并通过对相关参数的调整,达到目 标函数的最优化【3 1 1 ;c a b a l l e r o 等人建立了形式化的构件优化框架,依据构件 的抽象层次,将构件问的依赖关系分为8 种类型,通过依赖类型之间的转换实现构 件优化f 3 2 】。除此之外,还包括基于模式和元模型建模的重构方法【3 3 j 、基于类关联图 和类可达性的e c r 方法等【3 4 1 。同时,研究者将面向对象方法中类和类包的设计 原则【3 5 1 ,如开放封闭原则、l i s k o v 置换原则等,应用于构件重构中,并给出多 种形式化的重构规则与步骤【3 6 j 。国内的学者也开始了这方面的研究如:王忠杰等 人提出了一种面向复用成本优化的、基于局部性原理与实例集分解的构件重构方 法 3 7 1 。 随着构件技术研究的深入,关于构件适应性方面的研究成为一个新的研究热 点。业务构件的研究也是近来研究的一大趋势。 伴随着软构件理论的不断成熟,许多国际软件组织和公司都提出了各自的构 件技术规范。经过长期的发展与竞争,目前主要有三大主流构件技术。 ( 1 ) c o r b a 构件模型 c o r b a ( c o m m o n o b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e ,公共对象请求代理体 系结构) 是由o m g ( 对象管理组织,o b j e c tm a n a g e m e n tg r o u p ) 提出的应用软 件体系结构和对象技术规范,其核心是一套标准的语言、接口和协议,以支持 异构分布应用程序间的互操作性及独立于平台和编程语言的对象重用【3 8 1 。 ( 2 ) s u n 的e j b 技术 s u n 对e j b ( e n t e r p r i s ej a v ab e a n s ) 的定义是:e j b 是开发和部署基于构件 的分布式商务应用程序的一种构件结构【3 9 1 。用e j b 结构开发的应用程序是可伸 缩的、事务型的、多用户安全的。这些应用程序只需编写一次,而可以部署在 任何支持e j b 规范的服务器平台上。 ( 3 ) 微软构件体系 哈尔演理t 人学丁学硕i :学位论文 微软的构件体系中按其发展的先后顺序有:c o m 、d c o m 、c o m + 以及n e t 平台。 c o m 是微软的二进制组件模型。客户程序可以通过c o m 接口来调用c o m 对象的服务。接下来微软又对c o m 进行了扩展,使得客户程序和c o m 组件可 以位于网络中的不同机器上,这就是d c o m t 4 0 - 4 1 。随着w i n d o w s2 0 0 0 的发布, 微软推出了c o m + ,它提供了一个组件管理环境,通过它可以设置c o m + 应用 和c o m + 组件的属性信息,例如组件的事物特性、安全特性等。 微软为了改善应用程序与应用程序之间的交互方式,提出了n e t 平台。 该平台的提出适应了分布式、组件化、成熟因素、企业服务等发展趋势【4 2 1 。在 n e t 平台中,为了简化组件的开发和部署,引入了a s s e m b l y ,一般称为装配件。 1 3课题主要研究内容 e r p 通用开发框架的研究在实际的软件开发过程中有很大的研究价值。本 文在前人的研究和对其分析的基础上,将构件技术与框架技术结合,构件化开 发e r p 通用开发框架,具体的工作如下: 首先,对e r p 涉及的业务领域进行分析,确定了其领域范围。以库存管理 子系统为例,介绍了利用面向对象技术进行分析的方法,从而得出面向对象分 析模型。对构件分过程构件和实体构件进行了获取及设计。在系统架构设计部 分,识别了框架的通用点与扩展点。最后根据构件的重用范围对构件进行了层 次的划分,从而得到了e r p 开发框架的模型。 其次,本文针对n e t 平台所提供的构件技术,结合具体的实例,对构件按 照其粒度给出了实现方法。同时,结合设计模式及面向对象技术对框架的通用 点和扩展点进行了实现。接下来对构件按照功能构件、业务构件、子系统和业 务应用四个层次,从低到高进行了组装,并给出了实例。 最后文章以药品进销存管理系统为例,介绍了在前面得到的e r p 通用开发 框架的基础上,通过构件的选择、组装来实现系统的快速开发。验证了该开发 框架在实际e r p 系统开发中的价值。 文章的总体研究步骤如图1 1 所示。 哈尔滨理- t 人学丁学硕l :学位论文 1 4论文结构 图1 1 本文研究结构图 f i g 1 - 1g r a p ho f p a p e rs t r u c t u r e 全文共分五章,具体结构安排如下: 第l 章,介绍课题的研究背景及发展现状,明确研究的目的和意义,对本 文的主要工作进行简要的介绍,并给出全文的整体结构。 第2 章,对e r p 领域进行分析与设计。以库存管理子系统为例介绍了利用 面向对象分析技术构造业务对象模型,进而对构件进行获取和设计。通过识别 通用点和扩展点进行了架构的设计。最后给出e r p 通用框架的模型。 第3 章,介绍框架构件的实现方法,完成构件从模型到代码的转化。同时, 结合设计模式及面向对象技术探讨了框架通用点和扩展点的实现。 第4 章,按照构件的不同层次,介绍了框架构件的组装方法,同时给出了 具体的构件组装实例。 第5 章,通过开发药品进销存管理系统的过程,验证了该通用开发框架所 提供的服务可以提高开发效率,增强系统灵活性和性能。 哈尔演理t 大学t 学硕l :学位论文 第2 章基于领域工程的e r p 框架模型 领域工程产生描述领域内共同功能、数据及其相互关系的领域模型【4 3 1 。e r p 领域工程是为e r p 领域建立基本能力和必备基础的过程,它覆盖了建立可复用 e r p 领域构件的所有活动。e r p 领域工程分为e r p 领域分析、e r p 领域设计和 e r p 领域实现。e r p 领域工程的基本目的是为以后e r p 系统的开发创建可复用 的软件资产,包括软件功能需求、体系结构、软件模式和复用的源代码。本章 着重探讨e r p 领域分析和e r p 领域设计的方法。 2 1领域工程 领域工程的目的是以模型来收集和表示应用领域共同的知识和功能需求, 以开发体系结构来展示领域内的问题是如何在软件系统中解决的,领域模型统 一和强化了在随后的软件构件开发过程中被复用的领域知训删。 领域工程分为3 个主要阶段( 如图2 1 所示) ,即领域分析、领域设计和领 域实现。 图2 - l 领域j 二程活动图 f i g 2 - 1g r a p ho fd o m a i ne n g i n e r r i n g 1 领域分析 领域分析的主要目标是获得领域分析模型。领域分析模型描述领域中系统 之间的共同需求。它由以下几部分组成:领域术语字典、领域需求定义、领域 面向对象分析模型( o o a 模型) 。由于领域分析模型中描述了领域中的一组系 哈尔滨理t 人学t 学硕i :学化论文 统,所以它具有一定的变化性。 这个阶段的主要目标是获得对于目标领域的问题域和系统责任的认识,并 将这种认识显式地表示出来。领域分析阶段的主要活动及过程如图2 2 所示。 i竺! ! l 图2 - 2 领域分析过程 f i g ,2 - 2c , r a p ho fd o m a i na n a l y s i s 从整体上看,领域分析阶段主要有3 项活动:建立领域需求定义、建立领 域面向对象分析模型和建立领域术语字典。其中,前两项活动构成领域分析的 主线,建立领域术语字典是在这两项活动中穿插进行的。 2 领域设计 领域设计的目标是获得特定领域的软件构架d s s a ,它针对领域分析模型中 表示的需求给出解决方案,它不是单个系统的表示,能够适应领域中多个系统 需求的一个高层次设计。由于领域分析模型中的领域需求具有一定的变化性, d s s a 也要具有相应地变化性。领域设计过程如图2 3 所示。 哈尔滨理t 人学r t 学硕i j 学位论文 初步领域设计 问题域部分人机交互部分控制接u 部分 数据接口部分 上 结合设计模式,实现变化性 上 建立与领域分析模犁的可追踪性 土 复审 图2 3 领域设计过程 f i g 2 - 3g r a p h o fd o m a i nd e s i g n 3 领域实现 领域实现的主要工作是根据领域分析模型和d s s a ,实现领域中的构架和可 复用构件。上述领域工程中各个阶段的产品之间存在着可追踪性。领域实现阶 段的主要活动及过程如图2 4 所示。 d s s a 和构件的详细 设计 上 d s s a 和构件的实现 依据详细设计从现有系统中利用 对现有构件进 重新实现d s s a再工程技术提取 和构件 d s s a 和构仲 行包装 1 l 复审 图2 4 领域实现 f i g 2 - 4g r a p ho fd o m a i ni m p l e m e n t a t i o n 从整体上看,领域实现阶段主要的活动有d s s a 和构件的详细设计、d s s a 和构件的实现。一般情况下,这些活动是顺序进行的。 本文接下来通过领域工程的方法理论,结合面向对象分析技术,对e r p 领 域进行分析。从而完成构件的获取与设计,得出e r p 框架模型。 哈尔滨理t 人学t 学硕i j 学位论文 2 2e r p 领域分析 2 2 1e r p 领域需求定义 e r p 系统的功能覆盖企业内部管理的方方面面,生产、物料、设备、人力、 资金、信息等,有的e r p 系统还突破了企业的边界,扩展到企业上游的供应商, 下游的分销商、客户,以及合作伙伴等,实现了资源和能力的集成【4 5 1 。在e r p 系统中普遍被实现了的子系统有:资金流管理、o a 管理、决策支持系统、供应 链管理、全面质量管理、企业资产综合管理、人力资源管理及系统安全管理等。 典型的e r p 功能模块如图2 5 所示。 图2 5 典型e r p 功能模块 f i g 2 - 5t y p i c a lf u n c t i o nc o m p o n e n t si ne r p e r p 的领域分析是从各个子系统着手,对各个子系统进行面向对象的领域 建模来构建各个子系统的领域模型,这些子系统的领域模型和它们i 、日j 的相互关 系就构成了e r p 的领域模型。这里选取库存管理模块为例来介绍领域模型的分 析和设计过程。其它功能模块可以类似的方法来进行领域模型的构建。 在企业的库存管理过程中,一般包括如下业务活动:库存计划与控制、出 哈尔滨理t 人学t 学顶l :学位论文 入库管理、库存盘点以及统计报表与查询等。 在这一过程中,一般由仓库管理人员收集需求信息,确定周转库存和保险 库存来制定库存计划。当收到物品入库请求时,将物品入库并开具入库单;当 收到出库请求时,将物品出库并开具出库单。定期对仓库进行盘点,以核实系 统数据与仓库实际内容的出入情况。生成统计报表交与会计人员。业务员可以 查询某类物品的实际库存情况。 2 2 2e r p 领域面向对象分析模型 这里首先对库存管理涉及到的业务过程进行用例分析,来帮助分析员了解 系统的业务活动和用户界面操作。根据问题描述,确定系统的两个参与者,即 库存管理人员和业务员,通过为他们建立系统界面原型,观察他们与界面交互 的过程,可以分析出每个参与者使用的用例,即每个参与者所参与的活动。经 过分析,最终得出的库存管理的用例包含登录、库存计划、库存控制、出库管 理、入库管理、库存盘点、统计报表与查询以及由此产生的子用例等,用例图 描述,如图2 6 所示。 _ 匕务员 图2 - 6 库存管理用例图 f i g 2 - 6g r a p ho fu s ec r i s e si ni n v e n t o r ys y s t e m 为了更清楚地表达业务活动,还必须文档化每个用例的具体内容,部分用 哈尔滨理t 人学t 学硕i j 学位论文 例文档如下: 1 入库管理 概述:将物品放入仓库,以待销售。 前置条件:物品的生产已经完成,进入待售环节。 后置条件:物品进入仓库,实现了库存内容的更新。 基本路径: ( 1 ) 库存管理人员选择物品入库,用例开始。 ( 2 ) 系统查询所有的仓库,并显示基本信息。 ( 3 ) 管理员选择要入的仓库,以及待放的货位。 ( 4 ) 管理员填写物品的编号、名称、数量、计量单位等信息。 ( 5 ) 管理员执行入库操作。 ( 6 ) 系统开始运行库存更新操作( 库存更新子用例) 。 ( 7 ) 系统显示入库操作结果。 ( 8 ) 生成入库单据。 ( 9 ) 用例结束子用例。 为了更好地描述业务过程和用例,这罩采用活动图,它和结构化系统分析 中的流程图十分相似,将一个活动或者操作的工作步骤以图形化表示,帮助加 强对系统功能的理解。入库管理的活动图,如图2 7 所示。 2 出库管理 图2 7 入库管理的活动图 f i g 2 - 7g r a p ho fa c t i v i t i e si ni n s t o c k 哈尔滨理丁人学丁学硕l :学位论文 概述:受到领货单,将物品从仓库中取出。 前置条件:物品已经存在于仓库中。 后置条件:物品离开仓库,实现了库存内容的更新。 基本路径: ( 1 ) 库存管理人员选择物品出库,用例开始。 ( 2 ) 管理员填写出库物品的编号或名称。 ( 3 ) 系统显示该物品的库存信息,如所在仓库及对应的库存量等信息。 ( 4 ) 管理员选择准备出库的仓库。 ( 5 ) 系统显示该仓库对应该物品的详细信息。 ( 6 ) 管理员填写物品要出库的数量。 ( 7 ) 系统开始运行库存更新操作( 库存更新子用例) 。 ( 8 ) 系统显示出库操作结果。 ( 9 ) 生成出库单据。 ( 1 0 ) 用例结束 出库管理活动图,如2 8 所示。 图2 - 8 出库管理活动图 f i g 2 - 8g r a p ho fa c t i v i t i e si no u t - s t o c k 3 库存更新子用例 基本路径: ( 1 ) 当系统接收个库存更新的请求时,用例开始。 ( 2 ) 系统获取发出该请求所对应的仓库编号。 ( 3 ) 系统检查物品的编号、名称、数量、计量单位等信息是否已经完 哈尔演理t 人学t 学硕i :学位论文 整地输入。 ( 4 ) 系统检查仓库现有库存量增加待请求的入库数量是否超出库存限 值。 ( 5 ) 系统完成相应库存内容的更新。 ( 6 ) 用例完成。 可选路径: ( 1 ) 物品的编号、名称、数量、计量单位等信息填写不完整。 ( 2 ) 现有库存量增加待请求的入库数量超出库存限值。 4 统计报表 概述:对库存的现有信息进行统计,生成报表。 前置条件:库存信息建立。 后置条件:库存统计报表生成。 基本路径: ( 1 ) 库存管理人员选择统计报表,用例开始。 ( 2 ) 管理员选择统计类别,如按仓库、货位、商品类别等进行统计。 ( 3 ) 管理员填写信息统计的时段。 ( 4 ) 系统运行库存计算操作。 ( 5 ) 系统显示库存统计信息。 ( 6 ) 管理员选择报表生成。 ( 7 ) 用例结束。 可选路径: 信息统计的时段填写不正确。 信息统计活动图,如图2 9 所示。 图2 9 信息统计活动图 f i g 2 - 9 渤p ho fa c t i v i t i e si ns t a t i s t i c s 对以上的用例图中的各个子用例进行分析,建立面向对象模型,具体步骤 哈尔滨理t 人学t 学硕i j 学位论文 有: 1 描述各子系统的用例,具体说明它们之间的动态协作 这里通过顺序图来表达用例的具体流程操作信息。这样可以提炼出系统的 初步对象,并得到对象本身的操作行为以及对象间的交互等,这为后来需要创 建的类及对象模型图打下了基础。 2 合并各子系统的分析模型 将各个子系统的业务对象合并,对对象模型图中的各个对象之问的关系进 行修改和完善。建立起的库存业务对象模型如图2 1 0 所示。 图2 1 0 库存管理业务对象模型 f i g 2 - 10g r a p ho fb u s i n e s sm o d e li ni n v e n t o r ys y s t e m 2 2 3e r p 领域术语字典 领域术语字典对领域中的术语进行了准确、一致的定义。每个术语都给出 简短的解释,必要时为术语列出同义词。在领域工程实施过程中,使用领域术 语字典作为参与领域工程的人员的共同术语定义。 库存管理主要是包括物品的进出仓库及仓库之间的物品调拨、库存物品的 盘点、报损和报溢等多种业务的处理和跟踪。定期对仓库进行盘点,以核实系 统数据与仓库实际内容的出入情况。确定周转库存和保险库存来制定库存计划。 生成统计报表交与会计人员。业务员可以查询某类物品的实际库存情况。这里 将在上述用例分析过程中涉及到的领域术语列表,见表2 1 。 哈尔滨理t 人学t 学硕i :学位论文 表2 - 1e r p 领域术语表 t a b l e2 1t e r m si 1 1e r pd o m a i n 术语解释 仓库 企业物流的集散节点,是物品归集、统计和核算的基础 物品需要仓库来调节的物流,可以指原材料、成品、半成品等 入库根据采购订单来接受物料,办理入库手续,分配材料库存货位,同时监 督米料是否与订单相符 出库 由r 丁生产领料、1 卜生产领料与销售提货等原因需要物品离开仓库,有时 还会涉及特殊物料发料 盘点 对库存物品的清查,是对每一种库存物料进行清点数量、检查质量及登 记盘点表的过程,主要目的是为了清查库存的实际物是否与帐面数相 符,以及库存物资的质量状态 库存控制 主要目的是确定订货点、订货量、订货周期等 库存报溢进行完库存盘点后,当某商品实际库存数量与系统帐存数量不等时,可 做报溢单或报损单,用丁凋整实际库存与系统帐之间的差额,使系统帐 与实际库存帐相符。当实际库存数量人于帐存数量时使用报溢单,经审 核后改变存帐。 库存报损进行完库存盘点后,当某商品实际库存数量与系统帐存数量不等时,可 做报溢单或报损单,用于调整实际库存与系统帐之间的差额,使系统帐 与实际库存帐相符。当实际库存数量小丁帐存数量时使用报溢单,经审 核后改变存帐。 上下限管理用于对物晶库存的上r 卜限调整,便于库存报警查询,经审核后改变库存 帐。 2 3e r p 领域设计 e r p 领域设计的主要工作是根据领域需求定义、面向对象分析模型和领域 中现有系统的设计,进行构件的获取与设计。同时为了能够适应领域中变化性 的要求,结合设计模式得到特定领域的软件架构( d o m a i ns p e c i a ls o f t w a r e a r c h i t e c t u r e d s s a ) 。 哈尔滨理丁人学t 学硕f :学位论文 2 3 i构件的获取 构件的获取,这里借鉴文献【4 7 】中提到的构件识别与设计方法。构件可分为 实体构件和过程构件,过程构件是对业务过程和业务规则的封装;实体构件是 业务实体及相关业务规则的封装。 1 1 过程构件的获取 主要采用u m l 用例图和活动图来识别过程构件。用例之问关系主要有3 种:包含( i n c l u d e ) 、扩展( e x t e n d ) 和泛化( g e n e r a l i z a t i o n ) 。基于用例关系的 密切程度,这罩设定具有包含关系和泛化关系的用例可以放到一个过程构件内 部。下面是过程构件识别过程示意图( 如图2 1 1 ) 。 仓 图2 - 11 库存管理系统过程构件识别图 f i g 2 - 11g r a p ho fi d e n t i f yt h ep r o c e s sc o m p o n e n t 例如,入库管理与生成入库单、更新库存之间存在着包含关系。这里可以 将它们识别为一个入库管理构件。 这样,可以得到库存管理系统中包含的业务构件有:库存计划、入库管理、 出库管理、库存盘点、统计报表、库存控制、查询等构件。 哈尔滨理t 大学t 学硕i j 学位论文 1 2 实体构件的获取 过程构件的识别以u m l 类图中业务实体( 类) 为基础,通过细化面向对象 分析阶段得到的业务对象,得到实体构件图( 如图2 1 2 ) 。 2 3 2构件的设计 图2 1 2 实体构件图 f i g 2 12g r a p ho fe n t i t yc o m p o n e n t 构件的设计工作主要是对其接口的设计。构件接口由一组相关的操作组成, 1 9 哈尔演理t 人学t 学硕l j 学位论文 因此,设计构件接口的主要工作是设计出一组可准确表达构件功能的相关操作。 1 过程构件的设计 过程构件对应着业务用例,而业务用例内部实现通常采用活动图来描述, 因此过程构件的接口定义应该能够表达出整个活动图描述
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 事业单位人力资源岗高频考题题库及参考答案
- 事业单位财会岗2026面试高频考题题库试卷及参考答案
- 事业单位法律岗面试高频考题题库及参考答案 2026
- 2026事业单位医疗卫生岗面试高频考题题库参考答案
- 2027年备考会计基础 【零基础学员必练】强化训练试题(备用卷)附答案
- 事业单位财会岗面试历年真题及参考答案
- 2026年湖南电气职业技术学院高职单招笔试职业适应性测验历年参考题库含答案解析
- 2026年湖南大众传媒职业技术学院高职单招笔试英语历年参考题库含答案解析
- 2026年温州科技职业学院高职单招笔试数学历年参考题库含答案解析
- 2026年海南政法职业学院高职单招笔试数学历年参考题库含答案解析
- 2026-2030年中国出租车行业发展趋势及发展前景研究报告
- 2026年中级注册安全工程师《安全生产管理》真题及答案
- 2026年宠物食品用品批发行业发展趋势及投资前景报告及未来五至十年新兴市场与增量突破
- 2026年中国电信笔试题库
- 2026年6西格玛绿带试题及答案
- DB 61∕T 5121-2025 建筑工程资料管理规程
- PCR上岗证考试题库及答案
- 2026秋新教科版科学四年级上册教学课件:第三单元 第1课 声音是怎样产生的 含多个微课视频
- SYT 6649-2025《油气管道管体缺陷修复技术规范》
- 2026师德师风工作自查报告及自查总结(3篇)
- 2026年江苏省南通市海门区东洲国际学校中考数学模拟试卷(A卷)(含答案)
评论
0/150
提交评论