《软件需求分析》阅读笔记5

需求分析

  需求分析主要通过建模来整合各种信息,以使人们更好的理解问题。

1、背景分析

  系统是作为用户业务的解决方案得以被开发的,仅靠系统本身无法帮助用户达成目标,它必须和部署的环境形成互动才能解决用户的问题。所以,研究系统所将要部署的环境无疑具有重要意义。通过对环境的分析理解,可以帮助需求工程师形成一个关于用户业务的知识框架,进一步有利于需求工程师在细节的需求活动中形成和用户的有效交流。背景分析就是研究系统环境的一个任务。

2、问题分析、目标分析、业务分析,确定系统边界

  在分析系统的问题、目标前景、范围后,要使用问题分析、目标分析、业务分析等分析方法与技术对它们进行处理,并基于这些处理明确其解决方案,定义系统边界。系统边界之内定义的是系统需要对外提供的功能,系统边界之外标识的是对系统有功能要求的外部实体或对系统有所限制的环境要素。

  系统边界的定义要求系统能和周围环境形成有效的互动,解决用户的问题,满足用户的需求。

  系统用例图和上下文图常被用来定义系统的边界。

3、软件需求建模

  建模是为展现和解释信息而进行的抽象描述活动。模型由一些基本元素和元素之间的关系组成,它含有丰富的语义。和文本化的自然语言相比,模型能够在有限的空间内表述更加严谨、准确和高密度的信息。需求工程师还可以根据,模型进行推理,以创建能够界定可行解决方案的需求集合。为建立系统的模型还可以更好的将信息传递给开发人员。

  在需求建模时,常用的技术包括数据流图、实体关系图、状态转换图、类图等半形式化建模技术。

  目标分析、业务分析也是需求建模的过程,更多的指需求后期的分析与建模。

4、细化需求

  用户往往具有模糊、歧义等诸多不利的特征,这使它们难以被评估和验证。所以很有必要在系统模型的帮助下发现更多的细节,并依此将用户的需求转化为一些具有良好粒度和特性的细节需求,即系统级需求。

5、确定优先级

  用户对系统往往有很多需求,而且这些需求并不是处于同等重要的地位,因此需要根据需求的重要程度设定优先级。在整个开发过程中定期评估和调整优先级,以适应用户需求、市场条件和业务目标的变化。

6、需求协商

  在分析中有时会发生不同用户间的需求冲突,这种情况下用户各自的需求都是合理的,但却不可能在系统中同时实现。原因有用户的需求相互敌对、不调和、资源有限,无法二者兼顾。需求工程师在这个过程中的工作是通过分析及时发现冲突,并为处理冲突提供技术上的参考信息,组织和指导用户之间的协商。

posted @ 2018-04-19 15:05  什么名都不好  阅读(129)  评论(0编辑  收藏  举报