美文网首页产品设计实践操作手册
《软件需求最佳实践》读书笔记1

《软件需求最佳实践》读书笔记1

作者: 帅春风 | 来源:发表于2021-11-22 22:29 被阅读0次

那么,产品设计,就从需求分析开始吧。

这本书的内容融合了很多关于如何提问题的思考,如何沟通的思考,如何进行事务分析的思考,如何运用软件工程的知识,把需求分析的各个层面的内容都讲的相对比较深入,内容也很全。所以我不想放过这本书,作为需求分析的重要学习资料。

但是,本书的内容体系庞大,我自己是在理解和消化上花费了比较长的时间,所以我想,试着重新整理书本的内容,重新组织,找到关于“需求分析是什么,如何进行需求分析,以及需求分析要做些什么”,这些问题,相关的答案。

先从一个案例开始。

有一个医院希望建设一个医院信息管理系统,以提高医院的信息化管理水平。

这个信息系统包含体检模块。这里忽略业务目标的推导,直接输出关于体检业务的用户需求分析结果。


需求分析过程

用户需求分析的结果,不涉及任何软件系统的描述。它告诉我们,在业务环境下,进行业务操作,用户需要做什么。

在用户需求分析之后,我们进行业务需求建模,完成了需求建模工作之后,软件需求将以如下的模型,和从左到右的模型构建过程体现出来:


软件需求分析建模过程

软件需求模型模型重点在于把需求的“意义”量化,所以形式我认为不是最重要的。我们看图,它由一个一个带有业务意义的分析模型出现,这些分析模型的关系,就好像俄罗斯套娃一样,一层一层地剥开,直到露出了系统需求的真面目。

这个过程我们先不讲,但是软件需求分析的最终,会告诉我们,人和系统之间的交互过程是怎样的,在这个交互过程中,系统将输出什么“价值”给到人类。而这个过程,系统始终是一个黑盒子,没有任何系统开发过程的梳理。

从上面的案例可以看到,需求分析的过程就是梳理业务目标,输出用户需求,转化为软件需求的过程。我们也将这个过程抽象为:提出问题(梳理业务目标),寻找答案(输出用户需求),输出结果(转化为软件需求)的过程。


需求分析过程三步骤

一、需求定义阶段,梳理业务目标

需求定义过程

需求定义核心输出两类内容:

  1. 业务目标:

业务目标,就是提出企业/组织需要通过软件系统解决的问题,并考虑问题解决之后带来的影响,同时量化影响结果。

例如,体检管理要解决的问题是预约安排不合理的问题,同时避免出现体检部门超负荷。

当然,医院本身也有可能通过多个信息系统的打通,来解决医院内部信息孤岛的问题,从而方便各类信息的流转,例如从门诊到住院的信息的打通,就可以方便住院人员的全流程服务。而针对如住院,体检,急诊等各项业务的信息管理,也都有相关的业务目标,这些目标可以进一步梳理。

  1. 项目范围

a. 划分主题域
什么是主题域,我个人觉得挺难理解的,但是在医院里,我们讲将系统划分成住院管理,门诊管理,体检管理、门诊管理,就很好理解,而这些就主题域,简单地讲,就是和业务部门一一对应的(当然,业务部门要非常清晰的职责划分)。

b. 确定主题域的用户
如门诊部门使用系统的有体检者,前台工作人员,客服工作人员等
【配图】

c. 初步梳理事件和报表
如门诊管理主要事件有:

  • 体检者进行体检申请
  • 客服中心查询体检情况
  • 系统通知用户取报告
    如体检管理输出的报表有:
  • 体检申请表
  • 体检登记表
  • 体检报告
  • 各体检项统计表


    项目范围确定主题域与事件,通过事件推测相关报表

    .


二、需求捕获阶段,输出用户需求

需求捕获的过程,是通过需求调研,输出更详细的用户活动,以及每个活动的步骤的过程。


需求捕获的过程进一步探索,找到需求是什么的答案

这个阶段,主要是从用户的角度,出发挖掘:

  1. 每个事件下,有哪些活动。

例如:事件“体检者做体检申请”,那么可能会经过的步骤如下所示。这就是需求捕获需要挖掘的第一个层次的答案。

分析一个事件包含哪些活动
  1. 每个活动,都需要经过哪些步骤

例如,针对以上事件下的活动,体检者填写体检单,那么我们要问,填写体检单的步骤有哪些?这就是需求捕获要挖掘的第二个层次的答案。

分析一个活动包含哪些步骤

而这个过程,就是用户需求逐步清晰的过程


完成业务活动和业务步骤的分析

当然本书关于需求调研放在需求捕获的 阶段,我个人觉得是可以斟酌的。按正常的项目过程,可能从项目立项的时候,需求调研就已经开始了。只是书本把需求调研的过程集中在这个部分进行描述而已。

不过这并不影响本书的理论的完整性。

本章有两个亮点:

  1. 介绍需求调研过程的一些沟通原则,和沟通的话术。
    很多书都会讲需求调研的过程步骤,很少有工具书同时指导你如何沟通,作者提供给我们更深层次的需求调研的沟通过程,不让需求调研只做表面功夫。

  2. 介绍了需求调研结果的记录工具。
    另外,需求调研结果的记录工具,很多工具也很少讲,然后就直接过渡到了建模和设计的过程了。本书把用户需求和软件需求切割开,这个需求调研结果记录的工具应该功不可没


“三、需求建模阶段,将用户需求转化为软件需求

需求建模是业务离开发最近的地方。它依然阐述业务的需求,用户的需求,但是这个过程将这些需求转化为结构化的形式(我们也可以把它当成一种量化的,可以被开发理解的文档内容),以业务活动流程图,类对象关系图,用例以及用例规约等方式表达出来。


业务活动图示例 类对象关系图例 用例图图例 用例规约表图例

另外,本阶段生成的用例规约里面,加入了人与系统的核心交互过程,把系统当成黑盒子,把人要在系统做的操作,以及系统自己要提供给人类的反馈,系统自己的操作,一步步地表达出来。这样就构成了我们对系统的需要,建立了系统的需求。


总结

本文章最前面,我没有直接定义业务需求,用户需求,和软件需求。因为在想,大部分人应该都跟我一样,没有了解需求分析的过程之前,这三个概念直接抛出来,还是似懂非懂。

这里应该就可以稍微讲下我对这三类需求的理解了。

还是从体检系统出发:

  1. 业务需求就是业务目标,是企业/组织希望通过系统要解决的问题。

  2. 用户需求就是为了达成业务目标,需要何人做何事。而在系统主题域划分为事件的时候,用户需求已经开始了。最终就变成了用户的实际操作步骤。当然,用户需求的组织过程(如主题域,事件,活动等)也属于用户需求的一部分。


    用户填写体检单的操作步骤
  3. 软件需求,是把系统当成和人交互的另外一个人,把用户需求,转化为用户和系统交互的具体过程。同样地,软件需求的组织过程(主题域转化为子系统,业务事件和活动转化为业务流程,报表,数据,用户等抽象为类对象)也属于软件需求的一部分。


    用户填写体检单和系统之间的交互过程

相关文章

  • 《软件需求最佳实践》读书笔记1

    那么,产品设计,就从需求分析开始吧。 这本书的内容融合了很多关于如何提问题的思考,如何沟通的思考,如何进行事务分析...

  • 软件需求分析师入门书籍清单

    1、软件需求 推荐语:需求分析人员的基础知识学习书 2、软件需求最佳实践 推荐语:BA的第二本基础书 3、软件需求...

  • 软件需求最佳实践

    作为一名测试汪,自己以前更多的关注是测试设计、测试技术方面的内容。对产品人员是如何编写需求文件的过程不是很清楚,所...

  • 《软件需求最佳实践》——对需求的认识

    迭代和瀑布过程 瀑布风格:基于活动来分解项目,做需求分析、设计、编码、测试,为期一年的项目可能要做两个月的分析阶段...

  • 共读《软件需求最佳实践》01

    hello,大家好!我是小婧。今天是国庆假期的第一天,不知道你有怎样美好的计划。我们的共读活动从今天开始啦,希望大...

  • 软件卡哺需求开发的18般武艺 (1)

    在《软件工程最佳实践》一书中,罗列了18种软件需求方法论,这里逐一介绍如下: 引入用户代表的敏捷开发需求 “用户代...

  • 2019程序员推荐书单

    一、软件工程及最佳实践《用户故事与敏捷方法》《敏捷软件开发实践-估算与计划》 二、软件设计《架构整洁之道》《重构-...

  • 《软件需求最佳实践》读书心得 DAY05

    当我们面对一个新的项目时,可以讲到开发的新系统看作一个黑盒子。我们首先要做的就是是否需要为这个项目划分“主题域”。...

  • 《软件需求最佳实践》读书心得 DAY09

    一、什么是需求分析: 需求分析是业务分析,是通过业务为导向将线索零散的需求串起来,形成一个体系完整、内容清晰的框架...

  • 《软件需求最佳实践》读书心得 DAY06

    需求捕获策略: 1. 主动获取需求:在计划中的时间、地点、人物、内容进行访谈工作。如作者所说的:“需求捕获是撒网打...

网友评论

    本文标题:《软件需求最佳实践》读书笔记1

    本文链接:https://www.haomeiwen.com/subject/cplrtrtx.html