软件设计
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第2章 需求获取

2.1 理解需求调研记录

2.1.1 任务单(表2.1)

表2.1 理解需求调查记录任务单

2.1.2 引导文

1. 引导问题

(1)什么是需求调查表?

(2)需求调查表是如何获得的?

(3)什么是业务流程?业务流程范围是如何确定的?

(4)需求调查表中有哪些业务流程?这些业务流程是怎么联系在一起的?

2. 自学材料

需求调查表是开发人员到企业进行实地考察、访谈得到的,是客户业务经营的真实写照。需求调查表记录的都是与本项目有关的业务,它对开发人员理解业务起着重要作用。需求调查表由业务调查表、节点调查表两部分组成。业务调查表一般记录的是一个部门的整体业务,节点调查表记录着一个部门中的一笔业务细节。

下面以销售业务需求调查表(详见1.3.4节)为例说明如何理解需求调查表。

(1)理解业务调查表。在业务调查表中有业务名称、业务概述、业务流程、安全性、可变性探查、使用频度、调研要点等内容。

① 业务名称:一个部门的业务总称,最好用动词+名称形式加以描述,这样开发人员很容易理解业务内容。

② 业务描述:一个部门的业务概述。

③ 业务流程:是指连续的有规律的企业经营活动序列,这些活动以确定的方式发生或执行,导致特定结果。流程有范围,指穿越的经营部门或职能科室等组织单位的数量;流程有规模,取决于流程的业务内容。有的流程仅由几个非常简单的活动组成;有的则可能包括众多高度复杂且又互相关联的活动。

④ 节点:节点也称为活动、作业、任务,可以看做一个基本工作单元(本书中后续章节中称为活动),以一个人一次处理的事情为基本单位,在业务流程中,首先定义出节点,然后在节点调查表中将每个节点处理的内容展开讨论。

⑤ 安全性:数据是否需要保密,保密程度如何?系统运行环境是运行于Internet还是Intranet?是公用服务器还是私有服务器?是集中式应用还是分布式应用?是单机版还是服务器版?使用人员的成分如何?例如,是否都是内部人员?是否分为正式员工和合同工?是否有外部人员访问?等等。

⑥ 可变性探查:该功能就目前情况来看,将来是否会改变?如果改变,改变哪些内容?改动幅度有多大,对其他相关的功能影响有多少。

⑦ 使用频度:该流程的使用频度有多高?是经常使用还是偶尔使用?等等。

⑧ 调研要点:需求调查的重点,在调查前必须明确。

(2)理解节点调查表。节点调查主要有:数据来源、进入条件、数据及数据项描述、数据处理过程、数据处理结果、非功能需求等内容。

① 数据来源:数据来源于哪个部门、系统、业务人员还是企业外部?

② 进入条件:当有单据到达或发生事情时,活动才能执行。

③ 数据描述:本节点输入的数据有哪些?在哪些原始单据上?

④ 数据处理过程:实现该功能的工作流程是怎样的?如果不采用此流程,是否还有其他流程?是多种流程并存还是流程唯一?

⑤ 数据处理结果:是存储(存库,存文件)还是显示、打印(照打/套打,模板)等,有无其他特殊要求?

⑥ 数据与其他节点的关系:是否与其他功能点存在数据相关?如果存在,与谁相关,怎样相关(即从哪来,到哪去),相关条件是什么,在相关时的数据传递方式是怎样的?

⑦ 参与者的权限:对用户使用权限需要详细说明,如哪些人对哪部分数据有哪些权限。

⑧ 界面与接口:实现该功能中,对用户界面有无特殊要求?如有,具体要求是什么?最好能以图形方式表示现来。在该功能中,是否涉及与其他硬件设备或软件系统的连接?如果是,连接方式是怎样的。

⑨ 原始资料:本节点相关的原始单据或表单有哪些?相互有什么关系?

性能要求:性能指标有响应时间、吞吐量等。响应时间是指对用户而言,系统响应的快慢程度;吞吐量是指在一定的时间内系统完成的工作量。

2.1.3 任务设计与实施

1. 方案设计

任务单中已明确具体工作任务,但并没有说明任务是如何完成的。在实施任务之前,必须设计一个任务解决方案,并用草图(在白板、图纸、画图软件等工具中完成)图示方案,以便小组讨论、评价。本任务是要理解业务需求,以部门为单位画出本部门的数据处理草图,图中包括业务流程、表单、业务规则、人员分配等信息,形成一个解决方案文档,格式不限,只要能说明问题即可。

2. 任务实施与检查

在模拟过程中按制定的解决方案实施,在实施过程中若有偏差及时完善解决方案。在实施结束后,进行自我评价(自己评价和小组评价,写到任务单上)。

2.1.4 任务评价与总结

需求调查要做两件事情:业务需求调查和用户需求调查。

业务需求调查是企业现在经营活动的真实写照,针对现有系统(旧系统)进行的,现有系统(旧系统)就是企业现在运行的系统,或是手工的,或是信息化的,或是半手工半信息化的。在调查、理解过程中,要遵循工作原貌,不能有主观想象及分析成分。业务需求调查对后期的需求分析工作起着重要的作用,开发人员对业务理解程度是决定软件成功的关键因素。

用户需求调查从用户角度对目标系统(新系统)有什么要求和愿望,目标系统(新系统)是指将要开发的软件,用软件管理企业经营的活动。目标系统有两部分:功能需求和非功能需求。功能需求就是企业通过软件要完成哪些事情,可通过分析业务流程得到。非功能需求是功能之外的需求,是实现功能需求的质量方面的要求,如调查表中的安全性、可变性探查(影响未来的可扩展性等)、权限管理、界面与接口、性能等。概括来说,功能是软件能够做哪些事情,非功能是如何把这些事情做得更好。例如QQ聊天软件中的“发送信息”就是功能,要求在500ms内发送成功就是非功能。非功能往往通过客户或用户回答一些引导问题来间接得到。