zoukankan      html  css  js  c++  java
  • “业务”和“流程”原来是两码事——论如何快速分析一款软件产品

    在软件开发阶段,我们常常说到一个词“业务流程”。但是这个词具体是什么意思,好像没有几个人能够说得清楚。

    近期,为了研究设计模式,朋友发来一个他们公司开发的软件产品供我学习参考。拿到这款产品后, 我思考了如下的问题:

    (1)怎样才能快速熟悉这款软件产品,并能够向他人描述这款产品?

    (2)怎样评价这款产品的设计模式是否合理?依据什么样的标准呢?

    (3)这款产品的设计模式还有改进的余地吗?怎样改进?

    想来想去,无从入手。脑子里不断盘旋的是这么几个词“业务流程”、“模块”、“功能”、“流程图”、“业务”、“UML”、“业务模型”。很乱,没有头绪。

    终于,在和另外一位朋友闲聊软件设计模式的时候,突然领悟。

    业务和流程是两码事。业务是指一款软件产品提供哪些服务,用市场化的语言就是,有哪些功能。而流程是指这些业务具体是按照什么样的步骤实现的。

    也就是说,业务是按类分的,而流程是按步分的。流程是对业务具体实现的描述。

    认识到了这个层面,我们就知道该如何分析一款陌生的软件产品,或者全新的客户需求了。

    拿到一款陌生的软件产品,我们首先要做的工作是观察它为用户提供哪几种服务(业务),然后再逐个针对每一种服务,分析具体的流程

    拿到客户需求也可以按照上面的方法进行分析。

    这样,我们就可以输出如下几种文档。

    第一个:需求分析文档

    第二个:业务分析文档

    第三个:针对每个业务的流程文档

    在具体的开发过程中,开发人员如何设计一款软件,最终的参考就是流程文档。有了具体的流程文档,开发人员就知道,哪些流程是共通的,可以公用的,哪些是个性化的,只能私有的。

    基本上,只要流程文档分析完毕,开发人员就可以动手开发业务层和数据层的代码了。表现层的事情,可以等待具体确定完界面展现方式再说。

  • 相关阅读:
    tmux 简明操作指南
    几种查看linux版本信息的方法
    安装Ruby&Rails遇到的问题
    安装DevKit
    gcc 编译选项
    EF数据操作详解
    值类型和引用类型的区别
    Class<T> where T:new() 含义
    50道高级sql练习题;大大提高自己的sql能力(附具体的sql)
    Entity framework 意外删除了表,如何在不影响其它表的情况下恢复回来
  • 原文地址:https://www.cnblogs.com/ygm900/p/3478260.html
Copyright © 2011-2022 走看看