(CEN)第二章软件工程与需求工程.ppt
文本预览下载声明
喷泉模型的优点 喷泉模型的优点: 喷泉模型不像瀑布模型那样,需要分析活动结束后才开始设计活动,设计活动结束后才开始编码活动。 该模型的各个阶段没有明显的界限,开发人员可以同步进行开发。 可以提高软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程。 喷泉模型的缺点: 由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。 此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。 (6)形式化方法 A 形式化方法模型包含了一组活动,它们带来了计算机软件用数学说明描述的方法。形式化方法使得软件工程师能够通过采用一个严格的、数学的表示体系来说明、开发和验证基于计算机的系统。 B 支配形式化方法的基本概念是: 数据不变式。—个条件表达式,它在包含一组数据的系统的执行过程中总保持为真; 状态。系统访问和修改的存储数据; 操作。系统中发生的动作,以及对状态数据的读或写。每一个操作是和两个条件相关联的:前置条件和后置条件。 离散数学。与集合和构造性规约、集合运算符、逻辑运算符、以及序列相关联的符号体系,形成了形式化方法的基础。这些数学在形式化规约语言,如Z 语言中被实现。 形式化方法的优点: 形式化规约可以用数学方法研究,而非形式化方法则不能。 某些形式的不完整性和不一致性可以被自动地检测 。 形式化方法提供了规约环境的基础,它使得所生成的分析模型比用传统的或面向对象的方法生成的模型更完整、一致和无二义。集合论和逻辑符号的描述使得软件工程师能创建清晰的关于事实(需求)的陈述。 形式化方法的缺点: 形式化规约主要关注于功能和数据,而问题的时序、控制和行为等方面却更难于表示。 使用形式化方法来建立规约比其他分析方法更难于学习 。 形式化模型的开发目前还很费时和昂贵。 因为很少有软件开发者具有使用形式化方法所需的背景知识,所以尚需多方面的培训。 难以使用该模型与用户进行交流沟通,因为几乎所有的用户对其一无所知。 2.2 需求工程 需求工程是指应用已证实有效的技术、方法进行需求分析,确定客户需求,帮助分析人员理解问题并定义目标系统的所有外部特征的一门学科。 完整的软件需求工程包括需求开发和需求管理两个部分,需求开发的一般过程分为需求获取、需求建模、需求规格说明、需求验证四个阶段,需求管理则主要包括需求基线的建立、需求变更控制以及需求跟踪等活动。 需求工程过程被认为是建立软件系统最重要的方面之一。在项目中,它涵盖了与需求相关的所用活动。 需求工程的涉众。 需求工程方法大致分为四类:面向过程、面向数据、面向控制、面向对象。 面向对象的需求工作流包括:问题分析,理解涉众需要,定义系统,管理项目规模,改进系统定义。 软件需求过程的改进具有以下两个主要目标:解决在以前项目或目前项目中遇到的问题;防止和避免你可能在将来的项目中要遇到的问题。 需求过程改进路线图。 需求工程的内容: 需求工程 需求开发 需求管理 需求获取 需求建模 编写规格 说明 需求验证 建立基线 变更控制 需求跟踪 Pressman的需求工程过程: Roger Pressman从需求开发过程的角度,提出的需求工程过程包括以下步骤: 导出需求:理解客户的要求 需求分析和协商:分析需求,协商出合理的解决方案 需求规范:明确解决方案,使其明白无误。 系统建模 需求确认:确认规范 需求管理 需求工程的方法 面向过程 面向数据 面向控制 面向对象 Boehm的需求工程过程: 1、确定重要的涉众 2、确定满足涉众要求的条件 3、确定满足要求的条件中的冲突因素 4、协商满足各方要求的高层会议 5、列出互相满足要求的选项 6、研究折中选项 7、预期管理 8、将达成的协议融入规格说明和计划中 9、重复步骤1~8,直到产品完全开发完成 10、面临和解决新的风险项目 2.3需求工程的主要方法 面向过程:研究输入输出的转化方式,例如SA 面向数据:以数据结构的方式描述和分析系统状态 面向控制:强调过程的同步、死锁、互斥、并发等。例如数据流图 面向对象:将分析建立在系统对象以及对象间交互的基础上,通过对对象的属性和集合结构来定义需求,沟通需求 第二章 软件工程与需求工程 2.1软件开发过程模型 主要软件生命周期模型: 瀑布模型 快速原型模型(特例RAD) 螺旋模型 RUP 喷泉模型 形式化方法 (1) 瀑布模型(Waterfall Model) 瀑布模型的优点: 客户很容易熟悉该模型。 以有序的方式解决复杂的问题,易于理解,目标简单—完成所需要的活动。 可以严格控制项目进程,使项目管理易于实施。 方便按阶段设置里程碑,便于项目跟踪。 定义了质量控制过程。运用该过程来确
显示全部