01章软件工程学概述.ppt
文本预览下载声明
* * * 风险更大的增量模型:一旦确定了用户需求之后,就着手拟定第一个构件的规格说明文档,完成后规格说明组将转向第二个构件的规格说明,与此同时设计组开始设计第一个构件……用这种方式开发软件,不同的构件将并行地构建,因此有可能加快工程进度。但是,使用这种方法将冒构件无法集成到一起的风险,除非密切地监控整个开发过程,否则整个工程可能毁于一旦。 * * * 图中带箭头的点划线的长度代表当前累计的开发费用,螺旋线的角度值代表开发进度。 螺旋线每个周期对应于一个开发阶段。每个阶段开始时(左上象限)的任务是,确定该阶段的目标、为完成这些目标选择方案及设定这些方案的约束条件。接下来的任务是,从风险角度分析上一步的工作结果,努力排除各种潜在的风险,通常用建造原型的方法来排除风险。如果风险不能排除,则停止开发工作或大幅度地削减项目规模。如果成功地排除了所有风险,则启动下一个开发步骤(右下象限),在这个步骤的工作过程相当于纯粹的瀑布模型。最后是评价该阶段的工作成果并计划下一个阶段的工作。 * * * * * * * * * * * * * * * 图1.11描述了极限编程的整体开发过程。首先,项目组针对客户代表提出的“用户故事”(用户故事类似于用例,但比用例更简单,通常仅描述功能需求)进行讨论,提出隐喻,在此项活动中可能需要对体系结构进行“试探”(所谓试探就是提出相关技术难点的试探性解决方案)。然后,项目组在隐喻和用户故事的基础上,根据客户设定的优先级制订交付计划(为了制订出切实可行的交付计划,可能需要对某些技术难点进行试探)。接下来开始多个迭代过程(通常每个迭代历时1~3周),在迭代期内产生的新用户故事不在本次迭代内解决,以保证本次开发过程不受干扰。开发出的新版本软件通过验收测试之后交付用户使用。 * * * * * 绘了生命周期的阶段及每个阶段的主要里程碑。 * * * * * * * * 目前使用得最广泛的软件工程方法学,分别是传统方法学和面向对象方法学。 * * * * * * * * * * * * * * * * * * * * * * * * * 软件产品一旦交付给用户使用之后,维护便开始了。根据所需完成的维护工作种类的不同,可能需要返回到需求分析、规格说明、设计或编码等不同阶段,如图1.4中虚线箭头所示。 快速原型的本质是“快速”。开发人员应该尽可能快地建造出原型系统,以加速软件开发过程,节约软件开发成本。原型的用途是获知用户的真正需求,一旦需求确定了,原型将被抛弃。因此,原型系统的内部结构并不重要,重要的是,必须迅速地构建原型然后根据用户意见迅速地修改原型。UNIX Shell和超文本都是广泛使用的快速原型语言,最近的趋势是,广泛地使用第四代语言(4GL)构建快速原型。 * 软件产品一旦交付给用户使用之后,维护便开始了。根据所需完成的维护工作种类的不同,可能需要返回到需求分析、规格说明、设计或编码等不同阶段,如图1.4中虚线箭头所示。 快速原型的本质是“快速”。开发人员应该尽可能快地建造出原型系统,以加速软件开发过程,节约软件开发成本。原型的用途是获知用户的真正需求,一旦需求确定了,原型将被抛弃。因此,原型系统的内部结构并不重要,重要的是,必须迅速地构建原型然后根据用户意见迅速地修改原型。UNIX Shell和超文本都是广泛使用的快速原型语言,最近的趋势是,广泛地使用第四代语言(4GL)构建快速原型。 * * 1.4 软件过程 概念: Rational统一过程(Rational Unified Process,RUP)是由Rational软件公司推出的一种完整而且完美的软件过程。 RUP总结了经过多年商业化验证的6条最有效的软件开发经验,这些经验被称为“最佳实践”。 1.4.6. Rational统一过程 1.4.6. Rational统一过程 1.4 软件过程 a) 最佳实践 迭代式开发 迭代式开发允许在每次迭代过程中需求都可以有变化,这种开发方法通过一系列细化来加深对问题的理解,因此能更容易地容纳需求的变更。 管理需求 RUP描述了如何提取、组织系统的功能性需求和约束条件并把它们文档化。 1.4.6. Rational统一过程 1.4.6. Rational统一过程 1.4 软件过程 a) 最佳实践 使用基于构件的体系结构 UP提供了使用现有的或新开发的构件定义体系结构的系统化方法,从而有助于降低软件开发的复杂性,提高软件重用率。 可视化建模 可视化建模语言UML紧密地联系在一起,在开发过程中建立起软件系统的可视化模型,可以帮助人们提高管理软件复杂性的能力。 1.4.6. Rational统一过程 1.4.6. Rational统一过程 1.4 软件过程 a) 最佳实践 验证软件质量 软件质量评估不再是事后型
显示全部