需求分析的方法(一)

需求分析

软件开发的开始,始于需求分析。需求分析就是要弄明白这几个问题:

  1. 谁提出的想法?要解决什么问题?
  2. 需要哪些业务来处理这个想法?
  3. 这些业务是由什么信息支撑的?
  4. 这些业务的支撑需要什么样的软硬件问题?

1.需求分析的方法

围绕上面的核心问题,我们来看下我的需求分析方法如下

理清需求涉及的人员,部门及他们的诉求及职责

例如,在围绕校园安全的需求中,那么涉及的人员及部门有:

人员角色 诉求及职责 备注及其他
学生 举报校园暴力;倾述自己的烦恼;寻求心理治疗
宿管 举报校园暴力;了解学生在寝状态;做好访客统计
班主任 了解学生的在校、在寝状态;批准学生的假条;沟通家长;沟通学生
家长 了解学生的在校、在寝状态;学生的请假状态;

由上可见每个角色及部门的核心诉求都不同的,但是各个需求的核心都是围绕学生的安全这个需求来。在更复制的业务中或许有更多的诉求,甚至部门之间会存在冲突。

2.找到支撑这些诉求及职责的业务或流程

大家的诉求,职责并不是孤立的,需要具体的业务来产生数据,这就是信息化系统产生的根本所在。有些业务之前是不存在的,因为没有使用信息化的设备及手段无法产生数据,有些业务则是一直存在于普通的事务性工作中,我们要做的就是让它电子化。那么什么是业务了?我的理解一般就是大家平常说的做事的流程。根据上述的用户角色及诉求,我梳理了部分如下的业务。这里只做部分列举,不做详细说明。

  • 学生出勤业务
    • 学生上学通过AI摄像机进行到校,离校签到,系统记录相关数据。
  • 学生归寝业务
    • 学生上学通过AI摄像机进行归寝,离寝签到,系统记录相关数据。
  • 学生请销假业务
    • 学生在系统进行请假申请,提交到班主任处;或由班主任直接创建请假申请;通过后学生在非上下学时间离开时,AI摄像头识别到该学生后,会在门卫的PAD上显示该学生的请假信息,核实后允许其离校,离校时会将信息推送给家长。

如上所述,有些业务比较复制,这个时候使用业务流程图可以很清晰的表达出该业务,与客户沟通时可以取得事倍功半的效果。大家分析业务时,都是正常流程很容易,但是一定要考虑其异常流程的处理,因为谁都没有一直顺的时候对把。

3. 找到支撑业务的数据信息

任何业务离开了数据信息,都是瞎说。所以发现业务背后的数据很重要,那么数据从何而来了。不着急,我们可以从相关角色的日常工作中找到,比如XXX单据,XXX报告等等,这些都是可以找到的原始数据,但是这些数据并不是我们系统需要的,我们要把他们转换成对应的数据字典或表格。

数据原始来源
数据相关的部门
数据字段说明
数据名称 类型 备注说明 实例名称 是否必填

4.梳理要实现以上业务的环境

按理说,完成了以上的业务梳理后我们对需求有了很深入的了解了,能写出较好的需求文档了。但是我们还有考虑实现这些的业务的软硬件环境,外部接口。

  • 系统运行的环境:
    • 服务器是物理服务器还是云服务器;
    • 操作系统使用的是Linux还是,Windows的某个版本
    • 数据库需要使用Mysql Oracle Sqlserver的哪个版本
    • 物理服务器是否需要硬件防火墙,是否需要牵专线
  • 外部接口
    • 罪犯的人脸头像库如何提供
    • 学籍信息,教师信息,年级班级信息如何提供
    • AI摄像头识别的结果是如何回调的
posted @ 2019-11-13 10:49  奋斗2013  阅读(253)  评论(0编辑  收藏  举报