软件设计毕业论文15篇
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件设计毕业论文15篇
软件设计毕业论文
摘要:系统工程方法在计算机软件设计方面应用较广,同时起着重要作用。结合系统工程方法的特点,在计算机软件设计阶段可规范其流程,促使计算机软件设计进程加快,同时提高开发人员的工作效率,为软件系统研发速度的提高打下基础。
关键词
软件设计毕业软件论文软件
软件设计毕业论文:面向服务架构的ERP软件设计新思路
摘要:传统构架下的ERP软件,在实际应用中出现了许多问题。文章介绍了一种新的软件架构方法――面向服务架构(SOA)的理念及其特点,并对面向服务架构的ERP和面向对象架构的ERP分别在体系结构和开发方法上作比较,最后选取SAP公司的NetWeaver和ESA 产品设计理念作为案例,进一步阐述了SOA思想在ERP设计中的应用特点和优势。
关键词:面向服务架构(SOA);面向对象架构(OOA);软件设计
0 引言
ERP由最初的财务软件逐渐发展起来,内容越来越丰富,功能也越来越齐全[1]。到目前为止,ERP的产品模式最常见的有两种:通用型ERP和专业型ERP。通用型ERP,顾名思义,是适用于多种行业的套装软件。通过对其进行二次开发、系统配置,达到满足不同行业的管理信息化需求。它的拓展性好、通用性高,成为目前的主流。专业型ERP,也称之为行业型软件,是专门针对某一特定(或相近)行业设计和定制的,便于满足目标行业的个性化管理需求。
但这两种ERP产品都存在各自的缺陷,从而导致了应用实施过程中出现了很多问题,最终以失败告终的案例也不在少数。如通用型ERP,它的优点也正是它缺点所在。通用代表了
缺乏个性,流程固化,不能针对不同企业做出有效的变化,只能通过企业进行业务流程再造,来满足ERP产品的需求,忽视了企业的个性化需求;专业型ERP的最大缺陷是它的开发成本高,使企业望而却步,同时适用的企业并不多,所以这种专用型ERP,企业很少主动开发,往往是在目标企业提出某种需求的前提之下,进行定制开发,需要很高的成本。
传统ERP产品存在的这些缺陷,大部分原因是其架构理念的落后,开发方法的局限。现在,面向服务架构(SOA,Service Oriented Architecture)这种新的架构理念被引入到ERP软件的设计与开发中,为传统ERP产品走出困境带来了希望,为ERP领域的又一次革命性的飞跃奠定了基础。
1 面向服务架构SOA
早在1996 年,Gartner Group就已经明确地提出了SOA的理念,但目前尚未有一个统一的、业界广泛接受的定义[2]。IBM的高级软件工程师李珉先生说过,不同行业的人可以从不同的视角来理解SOA,从程序员的角度,SOA是一种全新的开发技术,新的组件模型,比如说Web Service;从架构设计师的角度,SOA就是一种新的设计模式,方法学;从业务分析人员的角度,SOA就是基于标准的业务应用服务。
一般认为:SOA――面向服务架构是一个组件模型,它将应用程序的不同功能单元――服务,通过服务间定义良好的接口和契约联系起来。接口采用中立的方式定义,独立于具体实现服务的硬件平台、操作系统和编程语言,使得构建在这样系统中的服务可以使用统一和标准的方式进行通信。其中服务,是指仅基于两个组件接口之间的契约,由一个组件提供其行为方法给另一个使用。
SOA中一般都包含三个角色:服务的提供者、服务的请求者、服务代理[3]。三个角色是根据对服务提出不同的需求和行使的不同功能来划分的。它们的关系可以简单理解为:服务的提供者将它提供服务的具体描述发布在服务代理,以方便服务的请求者查询;服务的请求者通过对服务代理搜索,查找到需要的服务及其提供者的地址;最后是服务的提供者与服务的请求者进行直接的绑定,完成服务(见图1)。举个最简单的例子,我们若要在网上下载一首歌,先可以通过搜索引擎GOOGLE等,搜索可下载这首歌的网站,获知这首歌的免费下载的地址,最后我们直接链接这个地址下载歌。在这个过程,网站即相当于一个服务代理,我们是服务的请求者,而最后那个下载地址背后的服务器为服务的提供者。
图1SOA 三者关系图
SOA主要特征是将应用程序功能包装成服务,服务间彼此独立,可单独作为组件使用。它具备松散耦合,提供粗粒度的服务和标准化的接口等。SOA旨在提供一个通用的,可互操作的和有弹性的行业标准架构,可以在软件基础架构之上建立一系列可重复利用的服务,实现企业适应业务流程变化的需求。
2 基于SOA的ERP与传统架构下的ERP的比较分析
2.1 ERP传统体系结构和基于SOA的ERP体系结构的区别
传统的ERP软件在其体系结构上可以分为三层:表现层、业务逻辑层和数据库[4]。在这种体系结构下,其客户端访问存在很多的问题。如表现层在访问业务逻辑层的各个业务对象时,一个客户端可能同时访问多个业务对象,一个业务对象也可能同时被多个不同的客户端访问。因此它们之间关系杂乱、复杂,造成层与层之间的耦合性强;表现层与业务逻辑层相互依赖,访问接口不是公开标准的,而是依赖于特定的接口函数,一旦其中的某一层发生改变,其接口函数也要作相应的改变,导致系统地扩展性和维护性差(见图2)。
图2传统ERP体系结构
将SOA思想引入ERP软件的设计开发之后,其传统的三层体系结构,将会在概念上演变为四层结构,包括表现层、服务层、业务逻辑层和数据库。其中,服务层是抽象层,是独立的、由可重用的、基于标准的服务组成。每一个具体的服务包含了接口部分和实现部分,其接口部分定义了服务使用者和服务提供者进行程序访问的契约;实现部分包含了服务作用和商业逻辑等信息(见图3)。
由图3与图2比较可以清楚地看到两者的区别,SOA架构的四层体系结构,客户端并不像传统的体系结构直接调用业务对象实现最终目的,而是通过调用一个独立的服务,服务再调用相关的业务对象去实现最终目的。由于它调用服务的接口包含在服务层内,所以,各个
层之间都是独立的、松耦合的,没有很强的依赖性。任何一层发生变化,只要接口不变,不会影响服务的实现,有利于系统地扩展和维护。
因此,设想以SOA思想实现的ERP软件,具备很强的弹性,可以根据不用企业的不同需求进行调整,符合企业的个性化需求,具体会在后面的实例中说明。
图3 SOA四层体系结构
2.2采用SOA和OOA进行ERP软件设计开发的区别
ERP软件发展至今,它的开发方法由最初的面向过程(POA)的开发方法,发展到面向对象(OOA),至现在提出的面向服务(SOA)的开发方法[5]。面向对象的开发方法是目前ERP软件开发中的主流技术,但它本身存在很多的缺陷。它对编程语言有很强的依赖性,封装粒度小,耦合度高,未形成标准的模型和概念,从而难以形成标准和开发规范,不能达到软件重用的可移植性和互操作性,产生了大量的“对象孤岛”。
相对于传统的面向对象体系结构的紧耦合,SOA是一个粗粒度、松耦合的面向服务架构,其服务之间通过公开、精确定义的接口进行通讯,不涉及底层具体编程接口和通讯模型,服务与服务之间是相互独立的,且服务可以被重复调用,也可以被任何潜在需求者调用。
以下是某公司针对订购产品这一实务做出的一系列数据处理的例子,分别从面向对象架构与面相服务架构这两种不同架构理念对软件设计开发的不同要求做出的比较(见图4)。
面向对象设计中,公司在生产和销售产品的时候,是根据收到的采购订单进行的。采购订单有很多属性,但它的订单编号是唯一的。根据其订单编号,编制公司的销售订单。根据其销售订单中产品清单编号主码,关系到产品清单。最后根据其具体产品编号关系到产品目录,一层一层的处理数据。以上过程,就是软件面向对象架构的最基本思路,对象之间继承关系的依赖性很强,层层相扣。因此,对象的分析与设计及编程实现,要求很高,也很复杂。