软件需求阅读笔记二

    满足需求就是解决问题,需求源自于问题,要准确的理解需求,就必须明确它与问题的关系。人们开发软件系统的目的就是希望用它作为解决方案来解决问题,使得现实改善到期望的状况。解决问题、改善现实、满足用户期望的条件与能力就是需求。

    问题需要在现实世界与软件系统的互动中的到解决,解决问题必须涉及的事件和事物被称为问题域。问题域是需求的背景,要理解需求就必须先理解问题域。软件系统通过影响问题域帮助人们解决问题,所以被称之为解系统,在解系统中软件起着主要的作用,它是软件解决方案在通用计算机上的实现。需求工程师要注意区分用户与软件开发人员在关注点上的不同,用户关注于问题域,软件开发人员更关注解系统,需求工程师在这个过程中扮演着桥梁的作用。

    功能需求是软件系统需求中最常见和最重要的需求,同时也是最为复杂的需求。通常一个软件系统的绝大部分需求都是功能需求。虽然在类别划分上功能需求只是其中的一项,但在比例上功能需求占据了很大的比重。功能需求是一个软件产品得以存在的原因,是软件系统能够结局用户问题和产生价值的基础,也是整个软件开发工作的基础。所有开发者都需要了解功能需求,在复杂的系统中功能需求数量太多,所以需要将它组织为多个独立部分,然后按照分工原则由不同的开发者来处理不同的部分。在大规模软件系统中,因为其功能需求比较复杂,所以它是最需要按照三个抽象层次进行展开的需求类别。理想状况下,需求应该是及解决用户问题所需要的,又是表达清晰的。虽然解决问题和满足需求的手段是引入解系统,但是问题和需求都来自于用户,用户关注的是问题域,所以需求是用户对问题域中的实体状态或时间的期望描述。解系统的核心是软件解决方案和解决方案在通用计算机上的实现。虽然解决方案及其实现都关注于软件系统本身,但是相互之间又有所不同。解决方案描述的是软件系统与问题域交互的过程,侧重于软件系统中与外界交互的部分。实现部分则主要是软件内部的组成元素、结构关系、物理实现等软件系统的构造元素。需求工程所关心的仅仅是解决方案,不涉及软件的实现细节。

    因为解决方案以对外交互的方式定义了软件系统的功能,所以解决方案被称为软件系统的需求规格说明。需求开发最终的目的就是提供和一个高质量的需求规格说明,它定义了一个能够解决用户问题、满足用户需求的软件对外交互方案,是后续软件开发活动的工作基础。

posted on 2018-02-13 23:00  孟庆淋  阅读(118)  评论(0编辑  收藏  举报

导航