`
窗户纸
  • 浏览: 19639 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

面向业务开发应用

阅读更多

    自从计算机出现后,快速便捷的从太平洋一样的文海中找到水滴大小的资料真正成为了可能,而能够帮助人们实现这一愿望的程序员就像中世纪的航海家一样用神秘的代码程序指引着计算机一步一步实现的需求。而他们所用的被称之为“程序”的序列组合,在一般人眼中,有如天书般难读难懂。

     即使对于程序员来说,实现复杂的业务需求也不是一件容易的事情,这很大程度上归咎于现有的软件设计模式并不科学。在《探索流程的奥秘之三-如何树立业务流程》中,我们了解到用户关注的是结果(交付物)及结果的状态,而软件设计关注的是操作,而很不幸的是,程序员也是人,这种错位的思考模式很难让人轻易理解。

面向业务开发应用的方式修正了这种情况,它的主要出发点如下:

  1. 所有的应用都是由若干业务流程组成
  2. 人们在使用应用时,会对所操作的业务流程产生出业务数据来,如每次请假时会产生请假申请信息及执行信息。
  3. 业务流程的产生业务数据是分步骤生成的,且根据步骤的执行情况会生成不同的数据,如请假申请只有批准后才会有执行信息。
  4. 一个业务流程的业务数据会被另一个流程使用,是因为业务流程之间存在步骤流转,比如启动报销流程是因为有了出差业务,且出差业务中发生了消费。
  5. 业务间的关联在数据关系上体现的是A业务记录中包含B业务记录中某项数据的集合,如出差活动的出差人集合。
  6. 有时业务之间的关联是由我们并不注意的中间业务担当的。

下面我们以差旅应用为例,来看一看面向业务设计软件的过程:




图一 差旅应用业务流程关系图

    人们在日常出差时,最直观的感受到出差、借款及报销这几项业务,各公司针对其均有相应的审批流程及办事流程,但这三个业务流程间的关系如何呢?从图一可以看出:

  1.  这三项业务都与人员有关
  2.  借款是直接挂在每个员工上的,但每次出差可能不止一个人出行,因此就需要增加"D02员工的出差活动"这个隐含意义的业务流程。
  3.  每次借款和报销的发生实际上是通过发起的。
  4.  很多公司在报销时往往要求填写报销明细,虽然每项报销明细并没有独立的审批过程,但其体现了集合关系,因此可以将报销明细看作特殊的没有审批步骤的业务流程。


确定了业务流程的关系后,我们就探究一下每项业务流程的特性。







图二出差业务简单流程图

图二是一个简单的出差业务管理流程图,与一般的框图不同,这张图反映了更多的我们传统软件开发模式下未考虑的细节:

  1. 步骤的执行可以造成其他步骤跳转的失效,比如我们允许即使提交了申请,在未审批情况也可以修改申请时,修改申请的操作会造成原先提交申请跳转自动失效。
  2. 步骤的操作人可能来自于业务流程自身,(我们称其为动态步骤操作人),比如取消出差活动的操作人为出差申请的申请人或审批人。
  3. 任何步骤执行后都有可能产生多个跳转,也可能不产生任何跳转。
  4. 如果跳转到交互步骤(需要操作人介入的步骤),则操作人有执行业务步骤的选择权,如果跳转定义了通知操作人,则被通知人的待处理队列中应该出现该步骤。
  5. 如果跳转到自动执行步骤,计算机应该自动执行该步骤,并进行后续跳转,直到没有后续的自动执行步骤或遇到结束节点。
  6. 业务记录的数据是在各个步骤中渐次获取的,可能多个步骤都对同一个数据操作,如创建申请、修改申请、调整出差活动都可修改出差期限。
  7. 对于每个步骤的执行,除了传统的赋值计算操作,还会包括特定操作,比如通过审批处理时会针对出差人清单自动创建“出差人活动”业务记录,用于后续的借款、报销处理。



利用普知杰的协同应用系统平台,可以轻松的实现面向业务的应用构建,比如步骤跳转的操作如下:



图三: 流程设置时步骤跳转设置案例 


   

      对于使用者, 只需要找到对应的业务记录后右键,即可进行相应的操作,如图,可以看到由于图三设置的目标跳转有4个交互步骤跳转,都设置了动态操作人为时间发起人,操作人发起的这条记录可以有4个操作,其在右键操作时可以选择四个步骤中的任一个进行操作:

图四: 业务记录的步骤操作举例

 

      而换另一个操作人时,对于同样的记录,他是执行人,根据动态操作人的设置,他只能进行一个操作

       特别要提及的是,经过此方式整理出来的业务记录数据,相互间是有关联关系的,如从员工可以查出其所有的出差、报销、借款记录来。这样就有利于我们快速的查询我们需要的任何信息。普知杰的协同应用系统通过自定义视图的设置,可以快速的实现这种需求。


    面向业务开发应用还有很多有意思的特性,利用这些特性可以找到软件设计的通用规律,进而实现自动化的应用系统开发,让我们远离繁复的代码编程,我们后续会推出一个系列文章,欢迎大家指正。

 

分享到:
评论

相关推荐

    Java面向对象应用程序开发

    Java面向对象应用程序开发是软件开发领域中的核心主题,尤其对于初学者和专业开发者而言,理解并掌握这一技术至关重要。Java语言以其强大的面向对象特性、跨平台兼容性以及丰富的类库,成为了开发各种类型应用程序的...

    论SOA面向服务架构技术的应用.docx

    在本文中,我们将讨论 SOA 面向服务架构技术的应用,包括其概念、架构设计、开发技术和实际应用。 SOA 的概念 SOA 是一种软件架构风格,它将应用程序设计为一组服务,这些服务可以被发现、访问和组合,以满足业务...

    面向国土业务应用的GIS云服务平台设计.pdf

    以上这些知识点详细阐述了面向国土业务应用的GIS云服务平台设计的背景、目的、挑战、技术发展趋势、架构设计、核心库开发、数据管理系统设计以及通信传输系统的构建。通过这些知识点,我们可以对GIS云服务平台的设计...

    面向OTT业务的应用部署系统架构设计.pdf

    "面向OTT业务的应用部署系统架构设计" OTT业务简介: OTT业务是指基于互联网的在线视频服务,通过OTT平台,用户可以在线观看视频、游戏、应用等内容。OTT业务的出现改变了传统媒体的市场份额,对传统媒体产生了冲击...

    简单的面向对象网络应用程序

    面向对象的网络应用程序是现代软件开发中的常见实践,特别是在Java平台上的应用,如JSP(JavaServer Pages)和Servlet技术。本项目“简单的面向对象网络应用程序”是一个基于明星投票系统的实例,它展示了如何将面向...

    面向.NET的Web应用程序设计

    在文件列表中,我们看到一个名为《面向.NET的Web应用程序设计》模拟题(打印).doc的文档,这很可能是为备考者准备的一套模拟试题,包含了一系列与.NET Web应用开发相关的问答题、选择题或案例分析,旨在帮助考生熟悉...

    一个面向用户的Web应用系统的开发工具

    ### 一个面向用户的Web应用系统的开发工具 #### 引言 在Web应用系统开发过程中,开发者往往会遇到两个显著的问题:一是详细设计阶段中,页面设计往往涉及到特定的业务逻辑,因此需要开发人员与用户频繁沟通以确认...

    【销售业务】面向SaaS应用的业务逻辑定制框架的研究.docx

    面向SaaS应用的业务逻辑定制框架是解决多租户环境下个性化需求的重要手段。SaaS(Software as a Service)模式使得软件服务提供商能为多个租户提供统一的服务,但每个租户可能有不同的业务需求。传统的定制方法,如...

    构建面向业务领域的计算式服务

    #### 二、面向业务领域的计算式服务应用场景 面向业务领域的计算式服务在多个领域有着广泛的应用: 1. **大气污染分析**:通过对空气质量指数(AQI)的监测与分析,预测污染趋势,帮助政府机构和企业采取有效措施...

    面向Agent的软件开发

    面向Agent的软件开发是软件工程领域的一个重要分支,它关注于如何构建和开发多Agent系统,这些系统由多个自主的...随着技术的进步和应用场景的扩展,面向Agent的软件开发方法将会在解决复杂问题中扮演更加重要的角色。

    面向构件化软件开发

    面向构件的软件开发 确定业务范围和框架 确定应用环境和技术 选择开发平台 建立构件化开发体系 建立构件库

    面向过程、面向对象、面向组件、面向服务软件架构的分析与比较

    面向组件的开发方式,如Java的EJB和.NET的COM+,在企业级应用中得到广泛应用。 面向服务(Service-Oriented Architecture) 面向服务架构(SOA)是一种基于网络的服务模型,它将应用程序的不同功能单元通过服务...

    毕设&课设&项目&实训-可视化低代码快速开发平台,面向业务、企业管理系统定制开发平台和应用平台.zip

    可视化低代码快速开发平台,面向业务、企业管理系统定制开发平台和应用平台,包括设计器、应用端。提供业务配置和集成开发能力,用户通过可视化拖拉拽配置式操作即可快速构建出能同时在PC和移动端运行的各类管理系统...

    面向印染业务的ASP服务平台应用研究

    面向印染业务的ASP服务平台研究主要针对轻纺印染企业面临的减少投资和降低成本的需求,通过分析印染企业的特色服务需求,构建了一个基于ASP服务平台的系统体系结构,并详细介绍了该平台的核心服务功能,以及如何实现...

    面向服务架构和面向服务的应用程序开发

    面向服务的应用程序开发(Services-orienteddevelopmentofapplication,SODA)是一种重要的开发模型,它使企业能够在转换到面向服务架构(service-orientedarchitecture,SOA)的过程中调整业务流程。本文介绍了一种...

    面向企业应用的Java教学框架探索.zip

    4. **Spring框架**:Spring是Java企业级应用开发中最流行的框架,它提供了依赖注入(DI)和面向切面编程(AOP)等功能,简化了开发和测试。Spring Boot进一步简化了Spring的配置,使得快速开发成为可能。 5. **...

    第03讲_面向对象与业务过程建模.pptx

    面向对象与业务过程建模是软件工程中的重要概念,主要涉及如何高效地分析、设计和实现复杂的软件系统。面向对象方法的核心思想是将现实世界的问题域抽象为一系列相互独立的对象,通过对象的封装、继承和多态性来降低...

Global site tag (gtag.js) - Google Analytics