《需求工程期末复习》由会员分享,可在线阅读,更多相关《需求工程期末复习(5页珍藏版)》请在金锄头文库上搜索。
1、第一章 :需求工程导论1. 需求工程定义: 是所有需求处理活动的和,它收集信息、分析问题、整合观点、记录需求并验证其正确性,最终反映软件被应用后与其环境互动形成的期望效应。2. 需求工程的基本活动:1) 需求开发:需求获取,需求分析,需求规格说明,需求验证2) 需求管理3. 各个活动的目的:1) 需求获取的目的是从项目的战略规划开始建立最初的原始需求;2) 需求分析的目的是保证需求的完整性和一致性;3) 需求规格说明的目的是将完整、一致的需求与能够满足需求的软件行为以文档的方式明确地固定下来;4) 需求验证的首要目的是保证需求及其文档的正确性,即需求正确的反映了用户的真实意图;另一个目标是通过
2、检查和修正,保证需求及其文档的完整性和一致性;5) 需求管理的主要工作是跟踪后继阶段中的需求实现与需求变更情况,确定需求得到了正确的理解并被正确的是想到了软件产品中。4. 软件需求规格说明定义:软件需求开发用来确定系统需求中应该由软件满足的部分,将其映射为软件行为,产生软件需求规格说明。第二章 :需求基础5. 软件系统能够与问题域进行交互和相互影响的原因在于,软件系统中的某些部分对问题域中的某些部分具有模拟特性。6. 需求分类:1) 功能需求:业务需求,用户需求,系统需求2) 性能需求3) 质量属性4) 对外接口5) 约束第三章 :(不考)第四章 :需求获取概述7. 需求工程需要获取的内容主要
3、有三种:1) 需求2) 问题域描述3) 环境与约束8. 需求获取信息的主要来源:1) 涉众2) 硬数据3) 相关产品4) 重要文档5) 相关技术标准和法规9. 获取信息的方法:1) 传统方法:问卷调查,面谈,文档分析,文档检查,需求剥离2) 集体获取方法:头脑风暴,专题讨论会,JAD,JRP3) 原型4) 模型驱动方法:基于场景,基于用例5) 认知方法:任务分析,协议分析6) 基于上下文的方法:观察,民族志,话语分析10. 常见的组织方式是依照系统特性,确定系统的边界,建立上下文图或系统用例图,然后按照遍历上下文图和系统用例图的方式开展获取活动。第五章 :确定项目的前景和范围11. 前景:描述
4、了产品的作用以及最终的功能,它将所有涉众都统一到一个方向上。12. 范围:指出了当前项目是要解决产品长远规划中的哪一个部分,范围声明它为项目规定了需求的界限。13. 对于不明确的问题,直接抛弃是一种错误的做法,正确的做法应该是使用不同的方法发现涉众提出不明确问题的原因,理解不明确问题背后深藏的问题。14. 需要注意的是问题解决方案的边界不是系统的边界,一个解决方案外部的输入可能来自于同一个系统中另一个问题解决方案的输出,即系统的内部。15. 描述系统的边界,通常会用上下文图和系统用例图。第六章 :涉众分析与硬数据采样16. 涉众定义:所有能够影响软件系统的实现,或者被实现后的软件系统影响的个人
5、和团体。17. 四种常见涉众类型:1) 参与者2) 环境设定者3) 被影响者4) 观众(优先级最低):领域专家和市场力量是比较常见的观众18. 硬数据1) 定量硬数据:数据收集表格,统计报表2) 定性硬数据:整个组织的描述文档,业务指导文档,业务备忘第七章 :需求获取方法之面谈19. 面谈结构:1) 金字塔结构2) 漏斗结构3) 菱形结构20. 面谈分为三种类型:1) 结构化面谈2) 半结构化面谈3) 非结构化面谈21. 调查问卷,头脑风暴(P130)第八章 :需求获取方法之原型22. 原型:是一个系统,它内化了一个更迟系统的本质特征。原型系统通常被构造为不完整的系统,以在将来进行改进、补充或
6、者代替。23. 原型的类别1) 按照开发方法进行分类:演化式原型,抛弃式原型(探索式原型,实验式)2) 按照构建技术进行分类:水平原型,垂直原型24. 原型的需求内容:(三个)1) 外观2) 角色3) 实现第九章 :需求获取方法之观察与文档审查25. 常见的观察方法:1) 采样观察2) 民族志3) 话语分析4) 协议分析5) 任务分析26. 应用观察方法解决的问题:1) 理解复杂的协同事件2) 获取工作中的异常处理3) 获取与用户认知不一致的实际知识4) 了解用户的认知5) 获取默认知识27. 采样观察法:1) 时间采样2) 事件采样28. 文档审查中文档分为三种类型:1) 相关产品的需求规格
7、说明2) 硬数据3) 客户的需求文档29. 另外,需要注意的是,文档虽然来自于当前计算机或手工系统的产物,但这并不表示它就是正确的。第十章 :需求组织需求获取中的模型驱动方法30. 模型驱动方法:是一类以定义明确的模型为理论基础,依据模型指导和组织活动开展的需求工程方法。31. 目标模型(P165)32. 场景方法的分类框架:1) 场景的形式:描述,外观2) 场景的内容3) 场景的目的:描述,探索,解释4) 场景的生命周期33. 用例描述1) 用例是静态的结构化文本描述2) 用例可以用于各种目的的应用,包括描述、探索、解释34. 用例之间的关系:(三种)1) 包含2) 扩展3) 泛化35. 在
8、需求工程中,主要产生三类重要的文档:1) 项目前景和范围文档2) 用户需求文档3) 需求规格说明36.用例文档通常被用来代替用户需求文档,起到记录、交流领域信息和用户期望的作用。在特殊的情况下,用例文档还可以用来代替需求规格说明,但总的来说这是一种并不值得提倡的方法。第十一章 :需求分析概述37. 总的来说,需求获取得到的信息和需求开发应该建立的软件系统解决方案之间有着很大的差距,需求分析就是用来解决这个差距的需求工程活动。38. 需求分析的根本任务:1) 建立分析模型(分析的活动主要包括识别、定义和结构化,它的目的是获取某个可以转换为知识的事物的信息,这种分析活动被称为建模建立需求分析模型。
9、)2) 创建解决方案(创造性)39. 建模常用的两种手段:1) 抽象2) 分解40. 两个世界与三种模型(P190)41. 模型语言的三要素:1) 语法2) 语义3) 语用42. 需求分析方法:1) 结构化方法2) 信息工程方法3) 面向对象方法(是目前工业界使用的主流方法)43. 前期需求阶段分析的重点是理解问题世界,因此它关注的是整个问题世界,注重于系统的环境、开发组织的业务分析背景、涉众的特征以及目标等等,软件系统只是整个背景下的一个要素;后期需求阶段分析关注的是解系统解决方案的建立,因此它以软件系统为中心,注重于分析系统的内部功能以及它与环境的互动,是对系统功能的详细信息的分析。44.
10、 需求细化:需求分析活动的一个重要任务是进行需求细化,明确用户需求的隐含信息,展开为明确的对软件系统的行为期望,即系统需求。第十二章 :过程建模45. 过程建模定义:过程建模是结构化分析方法的典型技术。过程建模将系统看做是过程的集合,其中一些由人来执行,另一些由软件系统来执行。46. 过程建模使用的技术:1) 上下文图2) 数据流图3) 微规格说明(又称为过程规范)4) 数据字典47. 数据流图中的外部实体:外部实体是指处于待构建系统之外的人、组织、设备或者其他软件系统,它们不受系统的控制,开发者不能以任何方式操纵他们。所有的外部实体联合起来构成了软件系统的外部上下文环境,他们与软件系统的交互
11、流就是软件系统与其外部环境的接口,这些接口联合起来定义了软件系统的系统边界。48. 上下文图:是DFD最高层次的图,是系统功能的最高抽象。49. 0层图:通常被用来作为整个系统的功能概图。0层图中不应该出现太过具体的过程和数据存储。50. 微规格说明(P245):结构化英语,行为图,决策树,决策表51. 数据字典:是一个存储库,包含软件使用和产生的所有数据对象的描述,其中也包括DFD当中数据流的数据存储的定义。 第十三章 :数据建模52. 数据模型:(P265)53. 属性取值范围称为域。54. 标识符(键),主键,替代键55. 关系的度数是指参与关系的实体数量,是度量关系复杂度的一个指标:1
12、) 一元关系(递归关系)2) 二元关系3) 三元关系56. 关系的基数:1) 最大基数(键约束)2) 最小基数(参与约束)57. 被关系影响的实体:1) 弱实体2) 关联实体(常见形式:进程实体)58. ERD的创建步骤:1) 从描述信息中辨别实体2) 确定实体的标识符3) 建立实体之间的关系4) 添加详细的描述信息59. 复杂情况下的ERD创建步骤:1) 发现系统的概念域2) 建立对概念域的描述3) 展开概念域4) 合并概念域的局部数据结构60. 功能/实体矩阵(P281)第十四章 :面向对象建模61. 行为模型分为三种:1) 交互图:依据交互行为进行的用例实现;2) 状态图:依据处理流程(控制流和数据流)进行的用例实现;3) 活动图:以状态机模型的方式进行的用例实现。62. 交互图概念:用于描述在特定上下文环境中一组对象的交互行为,该上下文环境就是被实现用例的某个场景。所以,交互图通常描述的是单个用例的典型场景。交互图中的每一个交互都描述了环境中的对象为了实现某个目标而执行的一系列消息交换。1