需求分析的步骤

遵循科学的需求分析步骤可以使需求分析工作更高效。需求分析的一般步骤如图2-3所示。

                                                                 

需求涉及的方面有很多。

     在功能方面,需求包括系统要做什么,相对于原系统目标系统需要进行哪些修改,目标用户有哪些,以及不同用户需要通过系统完成何种操作等。

在性能方面,需求包括用户对于系统执行速度、响应时间、吞吐量和并发度等指标的要求。

在运行环境方面,需求包括目标系统对于网络设置、硬件设备、温度和湿度等周围环境的要求,以及对操作系统、数据库和浏览器等软件配置的要求。

在界面方面,需求涉及数据的输入/输出格式的限制及方式、数据的存储介质和显示器的分辨率要求等问题。

1. 获取需求,识别问题

       开发人员从功能、性能、界面和运行环境等多个方面识别目标系统要解决哪些问题,要满足哪些限制条件,这个过程就是对需求的获取。开发人员通过调查研究,要理解当前系统的工作模型和用户对新系统的设想与要求。

此外,在需求的获取时,还要明确用户对系统的安全性、可移植性和容错能力等其他要求。比如,多长时间需要对系统做一次备份,系统对运行的操作系统平台有何要求,发生错误后重启系统允许的最长时间是多少等。

       遗漏需求是最难修订的需求错误。  --Robert L. Glass

       获取需求是需求分析的基础。为了能有效地获取需求,开发人员应该采取科学的需求获取方法。在实践中,获取需求的方法有很多种,比如,问卷调查、访谈、实地操作、建立原型和研究资料等。

       问卷调查法是采用调查问卷的形式来进行需求分析的一种方法。通过对用户填写的调查问卷进行汇总、统计和分析,开发人员便可以得到一些有用的信息。采用这种方法时,调查问卷的设计很重要。一般在设计调查问卷时,要合理地控制开放式问题和封闭式问题的比例。

      开放式问题的回答不受限制,自由灵活,能够激发用户的思维,使他们能尽可能地阐述自己的真实想法。但是,对开放式问题进行汇总和分析的工作会比较复杂。

封闭式问题的答案是预先设定的,用户从若干答案中进行选择。封闭式问题便于对问卷信息进行归纳与整理,但是会限制用户的思维。

      访谈通过开发人员与特定的用户代表进行座谈,进而了解到用户的意见,是最直接的需求获取方法。为了使访谈有效,在进行访谈之前,开发人员要首先确定访谈的目的,进而准备一个问题列表,预先准备好希望通过访谈解决的问题。在访谈的过程中,开发人员要注意态度诚恳,并保持虚心求教的姿态,同时还要对重点问题进行深入的讨论。由于被访谈的用户身份可能多种多样,开发人员要根据用户的身份特点,进行提问,给予启发。当然,进行详细的记录也是访谈过程中必不可少的工作。访谈完成后,开发人员要对访谈的收获进行总结,澄清已解决的和有待进一步解决的问题。

      关注用户的行为而不是他们的言语。--Jakob Nielsen

      为了深入地了解用户需求,有时候开发人员还会以用户的身份直接参与到现有系统的使用过程中,在亲身实践的基础上,更直接地体会现有系统的弊端以及新系统应该解决的问题,这种需求获取方法就是实地操作。通过实地操作得到的信息会更加准确和真实,但是这种方法会比较费时间。

       当用户本身对需求的了解不太清晰的时候,开发人员通常采用建立原型系统的方法对用户需求进行挖掘。原型系统就是目标系统的一个可操作的模型。在初步获取需求后,开发人员会快速地开发一个原型系统。通过对原型系统进行模拟操作,开发人员能及时获得用户的意见,从而对需求进行明确。利用原型系统获取需求的方法的示意图如图2-4所示。

  
(点击查看大图)图2-4 利用原型系统获取需求

2. 分析需求,建立目标系统的逻辑模型

      在获得需求后,开发人员应该对问题进行分析抽象,并在此基础上从高层建立目标系统的逻辑模型。模型是对事物高层次的抽象,通常由一组符号和组织这些符号的规则组成。常用的模型图有数据流图、E-R图、用例图和状态转换图等,不同的模型从不同的角度或不同的侧重点描述目标系统。绘制模型图的过程,既是开发人员进行逻辑思考的过程,也是开发人员更进一步认识目标系统的过程。

3. 将需求文档化

    获得需求后要将其描述出来,即将需求文档化。对于大型的软件系统,需求阶段一般会输出三个文档:

    系统定义文档(用户需求报告);

    系统需求文档(系统需求规格说明书);

    软件需求文档(软件需求规格说明书)。

   对于简单的软件系统而言,需求阶段只需要输出软件需求文档(即软件需求规格说明书)就可以了。软件需求规格说明书主要描述软件的需求,从开发人员的角度对目标系统的业务模型、功能模型和数据模型等内容进行描述。作为后续的软件设计和测试的重要依据,需求阶段的输出文档应该具有清晰性、无二义性和准确性,并且能够全面和确切地描述用户需求。

4. 需求验证

      需求验证是对需求分析的成果进行评估和验证的过程。为了确保需求分析的正确性、一致性、完整性和有效性,提高软件开发的效率,为后续的软件开发做好准备,需求验证的工作非常必要。

     在需求验证的过程中,可以对需求阶段的输出文档进行多种检查,比如,一致性检查、完整性检查和有效性检查等。同时,需求评审也是在这个阶段进行的。


  • 16
    点赞
  • 86
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值