什么是需求:用户为了解决问题或达到某些目标所需要的条件或能力;系统或系统部件为了满足合同、标准、规范或其它正式文档所规定的要求而需要具备的条件或能力;对它们的一种文档化表述。
需求的分类:1.功能需求:和系统主要工作相关的需求,即在不考虑物理约束的情况下,用户希望系统所能够执行的活动,这些活动可以帮助用户完成任务。功能需求主要表现为系统和环境之间的行为交互。2.性能需求:系统整体或系统组成部分应该拥有的性能特征,例如CPU使用率、内存使用率等。3.质量属性:系统完成工作的质量,即系统需要在一个“好的程度”上实现功能需求,例如可靠性程度、可维护性程度等。4.对外接口:系统和环境中其他系统之间需要建立的接口,包括硬件接口、软件接口、数据库接口等等。
需求工程:是所有需求处理活动总和,它收集信息、分析问题、整理观点、记录需求并验证其正确性,最终反映软件被应用后与其环境互动形成的期望效应. 需求工程的活动包括:需求开发和需求管理 需求开发包括:
1.需求获取:目的从项目规划开始建立最初的原始需求。它从相关人员、资料和环境中得到系统开发所需要的相关信息;
2.需求分析:需求获取的这些信息还不是开发者能够立即加以实现的解决方案。还需要对需求获取得到的信息,进行需求分析;目的保证需求的完整性和一致性;
3.需求规格说明:定义用户需求,准确描述需求及其解决方案,目的将完整、一致的需求与能够满足需求的软件行为以文档的方式明确地固定下来;
4.需求验证:目的保证需求及其文档的正确性,即需求真实地反映了用户的真实意图;以及通过检查和修正保证需求及其文档的完整性和一致性;
需求管理:主要工作就是跟踪后继阶段中需求实现与需求变更情况,确定需求得到了正确的理解并被正确的实现到软件产品中。
需求规格说明:就是将需求及其软件的解决方案进行定义和文档化,并传递给开发人员; 为什么要建需求规格说明:1)更好的传递软件系统的需求信息和解决方案给所有的开发者; 2)拓展人们的知识记忆能力:复杂系统信息含量较多书面的文档可以弥补人的记忆能力不足; 3)开发者和客户作为合同协议的重要部分; 4)作为项目开发活动的一个重要依据;5)发现和减少可能的需求错误,减少项目的返工,降低项目的工作量; 6)作为有效的智力资产,可以帮助新加入成员更快融入项目 需求规格说明文档常见读者:
项目管理者 2)设计人员与程序员 3)测试人员 4)文档写作人员 5)涉众(用户)
需求管理:就是这样一个管理活动,在需求开发之后的产品生命周期当中保证需求作用的有效发挥;
为什么要执行需求管理:在需求开发结束之后,需要有一种力量保证后续的系统开发活动依照需求的基线进行展开,保证系统的质量;
需求管理的主要任务有: 1)交流涉众需要什么;2)将需求应用、实施到解决方案;3)驱动设计和实现工作;4)控制变更;5)将需求分配到子系统;6)测试和验证最终产品;7)控制迭代式开发中的变化;8)辅助项目管理;
需求管理的3个活动:1)维护需求基线:将需求基线纳入配置管理2)实现需求跟踪:以软件需求规格说明文档为基线,在前向和后向两个方向上,描述需求以及跟踪需求变化的能力3)控制需求变更 以可控、一致的方式进行需求基线中需求的变更处理
需求分析的根本任务:1.建立分析模型 2.建立解决方案
需要执行活动:1.问题分析2.确定系统边界3.需求建模4.需求细化5.确定需求优先级6.需求协商
需求验证:是专指在需求规格说明完成之后,对需求规格说明文档进行的验证活动。 常用的方法:需求评审、原型与模拟、测试用例开发、用户手册编写、利用跟踪关系和自动化分析。 问题修正方法:
1)需求澄清:理解偏差:重新进行分析工作;分析遗漏:重新分析和文档化这部分信息; 表达不当:重新以合适的方式表达2.缺失需求:重新执行需求获取等一系列工作3.需求冲突:协商解决 4)不切实际的期望: 项目调整与需求协商
需求跟踪:以软件需求规格说明文档为基线,在前向和后向两个方向上,描述需求以及跟踪需求变化的能力
前向跟踪:是指被定义到软件需求规格说明文档之前的需求演化过程; 后向跟踪:是指被定义到软件需求规格说明文档之后的需求演化过程;
需求跟踪的实现方法主要有哪3种:1.需求跟踪矩阵2.实体关系模型3.交叉引用
需求变更控制的过程如下:
1.提出需求变更2.接受变更请求3.变更评估4.变更决策5.执行变更6.变更验证
前景:描述了产品的作用以及最终的功能;范围:为项目划定了需求的界限;
确定项目前景与范围的流程:1.问题分析2.发现业务需求3.定义解决方案及系统特性
硬数据:人们在实际工作中产生的各种各样的表格和文档资料;
常见硬数据分为定量硬数据和定性硬数据两种类型;1.定量硬数据:指经过仔细设计、具有严格规范要求的格式化文档;2.定性硬数据:使用自然语言进行描述的文本资料。
1.金字塔组织形式:会见者以很具体的问题开始,然后逐渐提高问题的开放度,同时允许被会见者越来越笼统的答案来回答问题;
2.漏斗结构:以一般、开放式的问题开始,然后采用封闭式的问题缩小可能的答复;这种面谈结构可以看作一个漏斗型;
3.菱形结构:就是将上述2中方法集合起来使用;该结构会见者首先提出一些简单、封闭式的问题,为面谈过程做好铺垫;在面谈中间阶段向被会见者提出明显没有“正确答案”的一般话题看法;然后会见者再次限制问题以获得明确答复;
面向对象建模:是一种用于辨识系统环境中的对象及这些对象之间关系的技术;
UML面向对象建模中用到哪些技术:1.对象模型2.用例模型3.行为模型4.状态机模型5.对象约束语言OCL
1.用例模型:就是以用例为基本单位建立的一个系统功能展示模型,它是系统所有用例的集合,以统一、图形化方式展示系统的功能和行为特性;
2.行为模型:是实现用例模型到对象模型的桥梁,以更加详细的方式说明了用例所描述的系统行为;
3.对象模型:以对象和类的概念为基础,描述了系统中的对象和这些对象之间的关系;
相关推荐: