zoukankan      html  css  js  c++  java
  • 需求分析的方法(一)

    需求分析

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

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

    1.需求分析的方法

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    • 系统运行的环境:
      • 服务器是物理服务器还是云服务器;
      • 操作系统使用的是Linux还是,Windows的某个版本
      • 数据库需要使用Mysql Oracle Sqlserver的哪个版本
      • 物理服务器是否需要硬件防火墙,是否需要牵专线
    • 外部接口
      • 罪犯的人脸头像库如何提供
      • 学籍信息,教师信息,年级班级信息如何提供
      • AI摄像头识别的结果是如何回调的
  • 相关阅读:
    多线程(三)
    多线程(二)
    多线程(一)
    网络编程socket套接字及其使用(六)
    网络编程socket套接字及其使用(五)
    网络编程socket套接字及其使用(四)
    网络编程socket套接字及其使用(三)
    网络编程socket套接字及其使用(二)
    网络编程socket套接字及其使用(一)
    html快速入门
  • 原文地址:https://www.cnblogs.com/fengshi1988/p/11847376.html
Copyright © 2011-2022 走看看