需求分析简答重点

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一部分软件需求的基本概念

*好需求的特征:无歧义、完整、一致、可检验、确定、可跟踪的,正确的,可行的和必要的。

软件开发的目标,简单而言,就是满足用户的需要。

三种最经常使项目“遇到困难”的因素是:

⏹缺乏用户介入:占所有项目的13%

⏹不完整的需求和规格说明:占所有项目的12%

⏹不断改变的需求和规格说明:占所有项目的12%

三种项目最主要的“成功因素”是:

⏹用户介入:占所有成功项目的16%

⏹高层管理的支持:占所有成功项目的14%

⏹需求陈述清晰:占所有成功项目的12%

高质量的需求过程带来的好处:在开发后期和整个维护阶段的重做的工作大大减少了。

IEEE软件工程标准词汇表定义需求为:

1.用户解决问题或达到目标所需的条件或能力。

2.系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条

件或能力。

3.一种反映上面(1)或(2)所描述的条件或能力的文档说明。

第二章需求的层次

*需求是多层次的,包括业务需求、用户需求、功能需求和非功能需求。

业务需求反映了组织机构或客户对系统、产品高层次的目标要求,位于需求链中的最顶层,在项目视图和范围文档中予以说明。

用户需求描述了用户使用产品必须要完成的任务,这在实例文档或方案脚本予以说明。

功能需求定义了开发人员必须实现的软件功能,使得用户完成他们的任务,从而满足了业务需求。和非功能需求在SRS中说明。

非功能性的需求描述了系统展现给用户的行为和执行的操作等,它包括产品必须遵从的标准、规范和约束,操作界面的具体细节和构造上的限制。

需求路线图:涉众需要—〉系统的特性—〉建立软件需求

软件的6个质量特征(非功能性需求):可靠性,可用性,有效性,可维护性,可移植性,约束。

有效性(Efficiency)

是在规定的条件下,软件性能水平与所使用资源量之间关系有关的一组属性。

可靠性(Reliability)

是与在规定的一段时间和条件下,软件维持其性能水平的能力有

关的一组属性

可维护性(Maintainability)

是与进行指定的修改所需的努力有关的一组属性

约束定义为:对开发人员在软件产品设计和构造上的限制。

第二部分需求工程与需求工程过程

第3章主要软件生命周期模型

瀑布模型

快速应用开发模型(RAD)

螺旋模型

RUP

迭代式模型

瀑布模型的优点

客户很容易熟悉该模型。

以有序的方式解决复杂的问题,易于理解,目标简单—完成所需要的活动。

可以严格控制项目进程,使项目管理易于实施。

方便按阶段设置里程碑,便于项目跟踪。

定义了质量控制过程。运用该过程来确定系统的质量。

采用瀑布模型需要具备的项目特征

☐在系统开发前要对需求有完整、全面、清晰的了解。

☐上述需求不存在隐含的不可克服的风险。

☐需求变更不能过于频繁。

☐不同涉众的需求互相兼容,不存在明显的冲突。

☐开发团队掌握了解决需求问题的有效方法。

☐开发期限允许分阶段地串行工作。

RAD模型的优点

☐采用高效率的开发工具,从而减少了整个产品的开发周期。提高了生产率,降低了成本。

☐用户能够持续地参与开发,提高了用户参与程度,从而使用户的满意度上升,保证了系统能够满足用户的需要。

☐工作重点从文档转为构建,所见即所得。

RAD方法包含三个阶段:需求计划阶段,用户描述,构建阶段

采用RAD模型的项目特征

☐系统可模块化(基于组件的结构)和可缩放。

☐用户能参与到整个生命周期中。

☐项目开发周期很短通常约60天。

☐项目团队熟悉问题领域,能熟练使用开发工具

螺旋模型的基本思想是,使用原型及其他方法来尽量降低风险。理解这种模型的一个简便方法,是把它看作在每个阶段之前都增加了风险分析过程的快速原型模型。

螺旋模型的优点

☐能够及时找到项目存在的风险,避免因为克服不了的困难而造成大的损失。

☐使用户能够尽早将信息经常反馈给开发人员,保证了产品的正确性和高质量。

☐可以方便地评估和验证每次迭代的成果;实现从开发到维护的无缝连接。

采用螺旋模型的项目特征

☐适用于大型项目;更适用于内部开发(指没有外包的开发内容)。

☐用于新功能、新产品或需要采用新技术时。

☐收益不确定,项目不能确保成功时。

☐用户不能确定其需求或需求很复杂时。

Rational统一过程是一种软件工程过程。提供了如何在开发组织中严格分配任务和职责的方法。

目标:按照预先制定的时间计划和经费预算,开发高质量的软件产品以满足最终用户的需求。

*RUP6个核心过程工作流:业务建模,需求,分析和设计,实现,测试,部署

*3个核心支持工作流:配置和变更管理,项目管理,环境

RUP的优点

☐降低了在一个增量上的开支风险。如果开发人员重复某个迭代,那么损失只是这一个开发有误的迭代的花费。

☐降低了产品无法按照既定进度进入市场的风险。通过在开发早期就确定风险,可以尽早来解决而不至于在开发后期匆匆忙忙。

☐加快了整个开发工作的进度。因为开发人员清楚问题的焦点所在,他们的工作会更有效率。

☐由于用户的需求并不能在一开始就作出完全的界定,它们通常是在后续阶段中不断细化的。因此,迭代过程这种模式使适应需求的变化会更容易些。

迭代模型与瀑布模型的差别在于风险的暴露时间上

敏捷方法的价值观包括了沟通,简单,反馈,勇气,谦逊

敏捷方法分为三个部分:敏捷项目管理,敏捷需求分析和敏捷软件开发

敏捷思想的核心是人与交流

第4章需求工程

需求工程是指应用已证实有效的技术、方法进行需求分析,确定客户需求,帮助分析人员理解问题并定义目标系统的所有外部特征的一门学科。

*完整的软件需求工程包括需求开发和需求管理两个部分,需求开发的一般过程分为需求获取、需求建模、需求规格说明、需求验证四个阶段,需求管理则主要包括需求基线的建立、需求变更控制以及需求跟踪等活动。

需求工程方法大致分为四类:面向过程、面向数据、面向控制、面向对象。

面向对象的需求工作流包括:问题分析,理解涉众需要,定义系统,管理项目规模,改进系统定义。

软件需求过程的改进具有以下两个主要目标:解决在以前项目或目前项目中遇到的问题;防止和避免你可能在将来的项目中要遇到的问题

相关文档
最新文档