一种面向流程的软件开发框架的设计与实现

来源 :北京邮电大学 | 被引量 : 0次 | 上传用户:tatimess
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着现代服务业的快速发展和企业信息化的逐步推进,企业级应用开发成为了软件平台厂商和软件工程学术界关注的一大焦点。通过对主流的面向对象开发范型的分析可以发现,现有的企业应用开发中存在以下问题:一、业务需求与软件系统的结构之间缺乏清晰的对应关系,这导致软件系统的整体可读性和可维护性较差,难以迅速适应快速变化的业务需求。二、软件内部的模块之间很难实现低耦合,因为对象之间无论是通过组合还是继承进行相互关联,都会导致不同模块的功能形成错综复杂的依赖关系,很难清晰地划分模块之间的界限。三、业务流程与功能细节相互耦合,变化其中一个往往轻易的影响到另一个。针对这些问题,在本毕业论文中,首先,对这三个问题的研究现状进行了深入调研,其中,第一个问题,目前主要的解决方案是使用领域特定语言;第二个问题,目前主流的解决方案有两种:一是借助函数式编程的一些内在优点来改善目前主流的命令式编程的缺陷,降低软件模块之间的相互联系的复杂度,二是使用各种各样的中间件来解决软件系统中特定方面的高耦合;第三个问题,目前主流的解决方案是业务流程管理系统,或工作流系统。其次,作者提出一种新的解决以上三个问题的方案,就是提出一种面向流程的软件开发方法。最后,此基础上,本文作者设计并实现一个面向流程的软件开发框架。本论文提出的面向流程的软件开发框架是针对本文所提出的三个问题的一种有效的解决方案,体现在:首先,使用业界主流的BPMN语言进行流程建模,将得到的BPMN模型作为应用程序的一大部分,这样就通过流程模型,使得业务需求与软件系统的实现有了清晰而明确的对应关系;其次,本论文提出的面向流程的软件开发框架使用“任务”作为应用程序的基本构架,“任务”的概念类似于一个完整的函数,但比函数更加强大,而框架对应用程序的解耦合,关键在于每个任务组件遵循“单一职责原则”(SRP),即每个组件只做一件事情,而组件之间没有直接的耦合,它们之间通过流程模型进行松散耦合;再次,本论文借鉴了业务流程管理系统的设计思想,将业务流程与具体的业务逻辑进行了良好的分离,而且在剥离了业务流程管理领域的角色概念以及业务流程监控等概念之后,这种基于流程的思想不再仅仅被用于企业业务流程的管理,而以人员与软件系统的交互过程为核心,着重于提炼软件系统中的通用操作,使之高度可复用,这就使得本文中面向流程的软件开发方法成为进行软件开发的一种通用的方法,可以大大提升流程密集或流程变化频繁的软件系统的开发与维护效率。
其他文献
随着计算机应用的快速发展和普及,现代软件逐渐呈现出规模越来越大、复杂性越来越高、生命周期越来越紧、功能要求越来越强等特征,这也从客观上要求必须提高软件的可扩展性。近
随着互联网以及Web技术的快速发展,Web应用成为重要的信息获取和交流平台。应用开发者希望应用能在各种主流的浏览器平台上表现一致,但由于浏览器实现技术的差异以及对标准支持
本文研究历史网页文档与股票市场行为的相关性,并建立预测模型来深入分析和定量评估网页文档在股票市场预测中的作用和效果。通过中国网络信息博物馆(Web Infomall[1])的历史
计算机科学技术的发展和互联网应用的普及已经将人类社会带入了信息化的时代。信息化时代的到来在给我们的工作、学习和生活带来无限便利的同时也引发了一些问题。这其中“信
云存储是一种新的存储服务模式,运营商通过网络为客户提供存储资源和存储服务,具有安全、可靠、可扩展等特性。单机存储与云存储相比,具有难扩展、数据容易丢失损坏、且难迁
教育科研网统一认证和资源共享基础设施(CARSI)是由北京大学发起的一项跨域认证和授权项目,采用SAML标准,以Shibboleth技术为基础,用来加强高校间的资源共享。目前世界上有31
随着感知技术、普适计算技术、通信技术和智能控制技术的快速发展,智能硬件越来越广泛地应用到社会生活的各个领域。基于智能硬件的互联与互操作,可以构建物联网系统,实现社会空
随着GPS技术的不断完善和发展,基于位置的服务LBS(Location-Based Service)也呈现出多样化的发展趋势,应用领域不断得到扩充,如电子地图系统、旅游信息查询系统、日常兴趣点
威胁软件安全最大的问题就是软件漏洞。由于软件漏洞的存在,大量的计算机病毒、蠕虫或恶意用户都可以利用软件中存在的漏洞进行信息窃取或提升权限等行为,严重威胁了个人乃至国
立体电影的上马,譬如阿凡达的热映,引发了人们对立体电影的竞相追捧。立体电影的原理是利用人双眼的视角差和会聚功能,而产生了三维立体的效果。多视点视频技术,由于是立体电