第一章
1.需求分析与系统设计之间的界限是什么何时从分析阶段进入设计阶段 需求分析关注系统“做什么”,系统设计关注“如何做”。 当分析阶段完成后才能进入到设计阶段 2.需求处理要注意哪些非技术因素为什么
要注意的非技术因素:组织机构文化、社会背景、商业目标、利益协商等。 因为利用建模与分析技术构建的解决方案一定要和具体的应用环境相关,不存在不依赖具体应用环境的解决方案,因此,在利用建模分析技术进行要求处理是不能忽视具体应用环境的相关因素 3.需求分析与需求工程之间的关系
那就是需求工程含义更广,包括需求获取、需求分析、需求定义 第二章
1.解释名词:问题域,解系统和共享现象,并结合他们的含义说明软件系统如何与现实世界形成互动的
问题域:现实的状况与人们期望的状况产生差异就产生问题。 解系统:软件系统通过影响问题域,能够帮助人们解决问题称为解系统 通过共存现象仅仅是问题域和姐系统的一个部分。而不是他们的全部。 软件系统仅仅是现实世界的一种抽象。所以问题除了共享现象之外。还有很多在进行模型抽象时忽略的其他现实因素。
2.解释下列名词,需求,规格说明,问题域特性和约束,并结合他们的含义说明需求工程的主要任务是什么
需求是用户对问题域中的实体状态或事件的期望描述
规格说明:规格说明是解系统为满足用户需求而提供的解决方案,规定了解系统的行为特征。
问题域的特性:在和解系统相互影响的同时,问题域是自治的,它有自己的运行规律,而且这些规律不会因解系统的引入而发生改变,这种自治的规律性称为问题域特性,当这些特性非常明确时称之为约束。
需求工程的主要任务:1.需求工程必须说明软件系统将应用的环境及目标,说明用来达成这些目标的软件功能,还要说明在设计和实现这些功能时上下文环境对软件完成任务所用的方式、方法所施加的限制和约束。2需求工程必须将目标、功能和约束反映到软件系统中,映射为可行的软件行为,并对软件行为进行准确的规格说明。3需求工程还要妥善处理目标、功能和约束随着时间的演化情况。
4.需求有哪些常见的类别功能需求和非功能需求有什么差异 严格意义上的软件需求的分类:
功能需求(Functional Requirement):和系统主要工作相关的需求,即在不考虑物理约束的情况下,用户希望系统所能够执行的活动,这些活动可以帮助用户完成任务。功能需求主要表现为系统和环境之间的行为交互。 性能需求(Performance Requirement):系统整体或系统组成部分应该拥有的性能特征,例如CPU使用率、内存使用率等。
非功能需质量属性(Quality Attribute):系统完成工作的质量,即系统需要在一个“好的程度”上实现功能需求,例如可靠性程度、可维护性程度等。 对外接口(External Interface):系统和环境中其他系统之间需要建立的接口,包括硬件接口、软件接口、数据库接口等等。
约束 :进行系统构造时需要遵守的约束,例如编程语言、硬件设施等 。 广泛意义上的需求分类:
系统级需求(System):针对系统工程的需求,包括与硬件相关的需求被称之为硬件需求(Hardware)、与软件相关的需求被称之为软件需求(Software)、与人力资源相关的需求以及软件、硬件、人力之间协同的需求被称之为其他需求。
功能需求和非功能需求的差异:除功能需求之外的其他四种类别需求又被统称为非功能需求。在非功能需求当中,质量属性对系统成败的影响极大,因此在某些情况下,非功能需求又被用来特指质量属性。而且通常一个软件系统的绝大部分需求都是功能需求,在比例上功能需求有可能占所有需求的90%以上。
5.描述业务需求、用户需求和系统(级)需求的区别与联系。
业务需求:业务需求是抽象层次最高的需求,是系统建立的战略出发点,表现为高层次的目标,它描述了组织为什么要开发系统 。
用户需求:执行实际工作的用户对系统所能完成的具体任务的期望,描述了系统能够助用户做些什么。 系统需求:用户对系统行为的期望,一系列的系统行为联系在一起可以帮助用户完成任务,满足业务需求;系统需求可以直接映射为系统行为,定义了系统中需要实现的功能,描述了开发人员需要实现什么。