无论是PMI的PMP管理方式,还是微软的MSF管理方式,方法论虽然不同,但都认为需求分析过程是项目执行过程中的首要工作。需求的准确、边界的明晰直接决定了项目的成败。

以PMP管理为例,需求分析涉及项目范围管理和干系人管理,项目范围管理是对项目包括什么与不应该包括什么进行定义和控制的过程。这个过程用于确保项目组和项目干系人对作为项目结果的项目产品以及生产这些产品所用到的过程有一个共同的理解。

一个好的需求文档规范可以帮助我们去定义、约束需求的采集、分析及定义。

需求文档一级目录一般有前言或背景、现状或存在问题、需求或愿景目标、环境及约束条件,这些主要从大面上约束了需求范围、需求环境、约束条件,更多地是从战略层面去描述、定义目标和目的,框定边界;但更为核心是按业务场景(UML体系中也成其为用况)的具体描述;如下图中蓝框部分就是针对一具体业务场景分“业务功能概述”、“业务流程(图)”、“业务流程的详细描述”、“报表单据及接口”、“适用需求及补充说明”五部分,去详细定义该业务场景的内核及边界。

图 1 需求文档目录示意

五部分可依据实际项目及具体场景情况适当略减。

业务功能概述具体描述业务场景,以简约的语言定义描述业务场景,同时附表说明业务场景所含相关主体(执行或相关部门、本场景与其他业务场景间的关系、业务控制点等)的内容,特别是业务控制点将是后续定义业务规范、编制业务管理手册的基础。

图 2 业务功能描述示意

业务流程(图)、业务流程的详细描述是以统一规范的流程图形式以及详细文字描述对应业务场景下谁(Who)、依据什么、因为什么(Why)、在何时(When)、于何地(Where)、对谁、怎么做(How)的、具体什么事情(What)。详尽清晰的业务表述可使程序逻辑、流程清晰,操作流程明晰。这些将是后续编制系统操作说明的最基础、最准确的材料。

报表单据及接口,是将需求采集过程中收集的单、账、表以及与其他系统的接口关系进行详细描述;描述其用途、样式、数据项和 来源、以及其流转过程。随着业务数字化转型的推进,此部分的要求将会更高、更细化(如详细描述“人、机、料、法、环”),会弱化的可能仅仅是纸质输出时的样式定义。

下图示意了一个单据的样式,详细具体表述了样式、规格、应用场景及单据流转。

图 3 单据示意

适用需求及补充说明,表述的是该场景复用情况,对应的也就是业务功能(或者称其为业务组件)的复用场景,以便集成应用、优化业务及功能架构。

可以看出,“业务功能概述、业务流程(图)、业务流程的详细描述、报表单据及接口、适用需求及补充说明”五部分,是对同一事物从不同视角、站在不同立足点去描述,多维、形象地将一个业务场景绘制成一个丰富、立体的形象。有点像“盲人摸象”,将各个不同视角平面化后(“盲人”)的表述,去组合成一头 “大象”。这对需求分析人员的业务素质、设计能力均有较高要求;心中有“大象”后,才能按“多视图”方法清晰描述;否则各视角的表述仅能摊在平面上,难以形成立体的具象展现。

上述从五个视角去表述一个业务场景,是一种类似“三视图”的“方法论”,可以方便大家去表述业务场景;但实际在划分场景、定义业务功能时已经做好了业务架构、功能架构的设计,否则各业务场景也难形成更为宏观、立体的业务体系。

回到需求分析或者称其为项目范围管理和干系人管理,笔者认为无论项目大小,需求分析都是“将抽象的战略目标变成可操作的战术步骤”的过程;此过程中需要分析人员(或者业务架构师)与关键干系人平等互动,达成战略认知、战术认同的一致,形成一个“共同的理解”,要说清业务实体(是什么业务)、阐明服务对象(谁来用、怎么用),这样才能完成一个一致认可、内涵明确、边界清晰、内容丰富、形式规范的需求说明文档。

需求分析的接口需求_再谈需求分析相关推荐

  1. 总线制和多线制示意图_再谈总线制与多线制的区别

    再谈总线制与多线制的区别 作者:大鹏 日期:2019-04-29 07:25:58 浏览:3007 关于火灾自动报警系统总线制与多线制的问题(其实就消防其他一些报警.预警系统也存在,本质是一样的),笔 ...

  2. 调用另一个cpp的变量_再谈条件变量—从入门到出家

    再谈条件变量-从入门到出家 C语言--条件变量 条件变量是在线程中以睡眠的方式等待某一条件的发生: 条件变量是利用线程间共享的全局变量进行同步的一种机制: 一个线程等待"条件变量的条件成立& ...

  3. java 修改源码_再谈给应用程序diy启动画面和java源代码补丁修改

    再谈给应用程序diy启动画面和java源代码补丁修改 2006-8-21 16:18 6365 再谈给应用程序diy启动画面和java源代码补丁修改 2006-8-21 16:18 6365 搞diy ...

  4. 无处 不在的无线智能——6g 的关键驱动与研究挑战_再谈6G

    原标题:再谈6G 2020年行将结束,随着5G网络的建设推进,以及3GPP R16版本的冻结,越来越多的人将关注焦点转移到6G身上. 7月14日,韩国三星电子发布了白皮书<下一代超连接体验> ...

  5. java数组去重_再谈JavaScript数组去重

    JavaScript的数组去重是一个老生常谈的话题了.随便搜一搜就能找到非常多不同版本的解法. 细想一下,这样一个看似简单的需求,如果要做到完备,涉及的知识和需要注意的地方着实不少. 定义重复(相等) ...

  6. pca 矩阵 迹_再谈协方差矩阵之主成分分析PCA

    上次那篇文章在理论层次介绍了下协方差矩阵,没准很多人觉得这东西用处不大,其实协方差矩阵在好多学科里都有很重要的作用,比如多维的正态分布,再比如今天我们今天的主角--主成分分析(Principal Co ...

  7. queryrunner带参数的构造函数和不带参数的构造函数有什么区别_再谈构造函数、原型、原型链之间的关系...

    前言 构造函数.原型.原型链作为ES5的内容,已经是老生常谈的问题了.首先说说为什么要再次拿起这个话题去说呢?这几天有空我会看一些源码,这些源码的底层实现考虑到兼容性还是来源于ES5,很多方法的封装以 ...

  8. java中的类的继承_再谈Java中类的继承

    上篇博客谈到了Java中类的继承,但是那些远远不能满足我们在实际操作中的需要,那么怎么才能让子类的功能更强大,并且具有父类的属性呢? 一: 父类 1 public classA {2 3 final ...

  9. mysql锁机制为何设计如此复杂_再谈mysql锁机制及原理—锁的诠释

    加锁是实现数据库并发控制的一个非常重要的技术.当事务在对某个数据对象进行操作前,先向系统发出请求,对其加锁.加锁后事务就对该数据对象有了一定的控制,在该事务释放锁之前,其他的事务不能对此数据对象进行更 ...

最新文章

  1. 计算机技能需求新排名:Python 仅排第 3,第 1 你可能猜不到哦
  2. Linux文件夹共享(NFS)
  3. C#-异步Ping检查网络通断
  4. [渗透攻防] 一.从数据库原理学习网络攻防及防止SQL注入
  5. Leet Code OJ 344. Reverse String [Difficulty: Easy]
  6. 前端学习(2553):内容概述
  7. docker mysql数据库初始化_如何在Mysql的Docker容器启动时初始化数据库
  8. 小明上学201812-1
  9. 商业数据可视化分析工具
  10. 【同态加密算法的学习日记】
  11. 360游戏大厅打不开HTML游戏,360游戏大厅打不开怎么办
  12. 服务器 raid配置
  13. k8s 集群部署(dashboard+metrics-server)
  14. 分享一些网页设计的素材
  15. 编译 puppy linux,Puppy Linux import gtk在Python中抛出错误
  16. SA(需求分析师)笔试题目整理
  17. 连续数值变量的离散化、哑变量
  18. 统计信号处理 (估计三): Cramer-Rao下限
  19. XTTS迁移11g到19c
  20. linux的shell脚本报错“syntax error near unexpected token `”的解决

热门文章

  1. Windows下Go语言的安装和运行
  2. pytorch 批量 iou
  3. OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔总结
  4. Day01 你如何保持健康
  5. 四、redis比mysql快的原因
  6. Android在桌面上添加开关,多键开关 Andromax v1.1.7
  7. 比特币交易平台 php,比特币PHP离线交易开发包
  8. sql文件与数据库的连接到服务器,如何:连接到基于文件的数据库
  9. unity项目源码_在Unity中使用protobuf
  10. Centos7 安装redis