软件需求阅读笔记一

    需求工程-软件建模与分析这本书第一章便概括的介绍了在软件学习,软件生产过程中需求所占据的重要地位。需求工程自产生以来,其概念和其领域内的其他名词一样,没有形成较为一致的定义,但是简单来说,需求工程是所有需求处理活动的总和,它收集信息、分析问题、整合观点、记录需求并验证其正确性,最终反映软件被应用后与其环境互动形成的期望效应。从书中可以简单的概括出需求工程具有三个主要的任务:(1)需求工程必须说明软件系统将被应用的环境及其目标,说明用来达成这些目标的软件功能,还要说明在设计和实现这些功能时上下文环境对软件完成任务所用方式、方法所施加的限制和约束,即要同时说明软件需要做什么和为什么需要去做。(2)需求工程必须将目标、功能和约束反映到软件系统中,映射为可行的软件行为,并对软件行为进行准确的规格说明。(3)现实世界是不断变化的世界,因此需求工程还需要妥善处理目标、功能和约束随着时间的演化情况。需求获取的目的是从项目的战略规划开始建立最初的原始需求。为此,它需要研究系统将来的应用环境,确定系统的涉众,了解现有的问题,建立新系统的目标,获取为支持新系统目标而需要的业务过程细节和具体的用户需求。需求分析的目的是保证需求的完整性和一致性。它从需求获取阶段输出的原始需求和业务过程细节出发,将目标、功能和约束映射成为软件行为,建立系统模型,然后发现并弥补遗漏的需求。需求工程连接现实世界和计算机世界,所以它首先要理解现实世界,要描述现实世界的现状与运行规律,既要描述物理的实体,又要反映人类活动的特点,而且并不存在一切内容都浮于表面的现实世界。在需求处理的过程中往往涉及很多参与者,他们来自不同的领域。而且需求工程处理的知识内容多种多样,既有用户的功能需求和非功能需求,又有软件将来所处的环境及其约束。

    而作为一个软件需求工程师要具有倾听的技巧。需求工程中的交流是双向交流,因此除了表达自己之外,需求工程师还需要学会有效的倾听。有效倾听要能够营造好的交流氛围。而观察也是一个需求工程师获取需求需要具备的能力。通过观察用户的工作环境和工作过程,需求工程师应该能够发现通过谈话以及其他方法所无法发现的重要信息。一个合格的需求工程师还要具有抽象能力。要能够在面对众多信息内容时清晰的把握问题的重点核心和本质,要具有整合全局的能力。还要具有系统化思想,在和用户的交流中要能够从全局出发,用不同的方式思考问题,要能够综合考虑不同的需求类别、不同的需求抽象层次和不同的可行性方案,要能够保证需求的系统性和整体性。

posted on 2018-02-03 22:16  孟庆淋  阅读(117)  评论(0编辑  收藏  举报

导航