- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程的实质
六、软件生存期模型 (6)特点: (a)从整体结构上不如瀑布型清晰; (b)软件的文档不如瀑布型的划分严格; (c)周期长,成本高; (d)与用户见面快,开发效率高。 六、软件生存期模型 (7)存在问题 (a)缺乏丰富而有力的软件工具和开发环境; (b)缺乏有效的管理机制,还未建立起自己的开发标准; (c)对设计人员水平及开发环境要求较高; (d)在多次重复改变原型的过程中,程序员会感到厌倦; (e)系统的易变性对测试有一定影响,难于做到彻底测试,更新文档较为困难。 六、软件生存期模型 3、螺旋模型 螺旋模型将瀑布模型与增量模型结合起来,加入了两种模型均忽略了的风险分析,弥补了这两种模型的不足。 最初由Boehm(1988)提出来,现已被广泛使用。 六、软件生存期模型 螺旋模型是一种风险驱动的模型。在软件开发中,有各种各样的风险,对于不同的软件项目,其开发风险有大有小。 六、软件生存期模型 螺旋模型沿着螺线旋转,在四个象限上分别表达了四个方面的活动,在螺旋线中每个回路被分成四个部分: (1)制定计划(目标设置) 为项目的这个阶段确定专门的目标,选定实施方案,弄清项目开发的限制条件。 (2)风险分析(风险评估和规避) 每一个项目风险确定以后要进行详细的分析,并采取措施来规避这些风险。分析所选方案,考虑如何识别和消除风险。 六、软件生存期模型 (3)实施工程(开发和有效性验证) 在风险预估以后,就可以为系统选择开发模型。如果风险主要来自于用户界面,可能采取原型开发,如果子系统的集成是主要风险,可能选择瀑布模型。 (4)客户评估 评价开发工作,提出修正意见,对项目进行评审以确定需要进入螺旋线的下一个回路。 六、软件生存期模型 4、基于知识的模型 基于知识的模型又称智能模型,它把瀑布模型和专家系统结合在一起。 该模型在开发的各个阶段都利用了相应的专家系统来帮助软件人员完成开发工作,使维护在系统说明一级上进行。 六、软件生存期模型 为此,建立了各阶段所需要的知识库,将模型、相应领域知识和软件工程知识分别存入数据库,以软件工程知识为基础的生成规则构造的专家系统与含有应用领域知识规则的其他专家系统相结合,构成了该领域的开发系统。 用户概念 需求分析 概要设计 详细设计 编码 测试 维护 支持需求分 析专家系统 支持设计 专家系统 支持测试 专家系统 支持维护 专家系统 基于知识的模型 六、软件生存期模型 5、形式化系统开发 形式化系统开发是一个类似于瀑布模型的软件开发方法,其开发过程是用形式化数学转换来将系统描述转换成一个可执行程序。 六、软件生存期模型 模型表示 需求定义 形式化描述 形式化转换 集成和系统测试 六、软件生存期模型 6、面向复用的开发 复用就是重复使用。在多数的软件项目中,都存在一些软件复用。 当某项目中的设计或代码是另一项目中必需的部分时,复用就自然地发生了。 当找到这些东西后,就去根据需要来修改,再将其纳入自己的系统中来。 复用对快速系统的开发来说是必不可少的。 六、软件生存期模型 模型表示 需求描述 组件分析 需求修改 使用复用的系统设计 开发和集成 系统有效性验证 六、软件生存期模型 (1)组件分析 给出需求描述,然后搜寻能满足需求的组件。通常情况是,没有正好合适的组件以供使用,能得到的组件往往只提供所需要的部分功能。 (2)需求修改 根据得到的组件信息来分析需求,然后修改需求以反映可得到的组件。当不允许修改的时候,组件分析活动可能要重新进行以寻找其他可能的替代方案。 六、软件生存期模型 (3)使用复用的系统设计 开始设计系统的框架,或者重复使用一个已存在的框架。设计者分析这些被重复使用的组件并设计一个框架来组织这些组件。当可复用的组件不能得到时,必须重新设计一些新的软件。 (4)开发和集成 当组件不能买到时就需要自己开发,然后要做的事就是集成这些自己开发的组件和现成的组件,使之成为一个整体。在这个模型中,系统集成不是很明确地表现为一个独立的活动,但它是开发过程的一个重要部分。 本章小结 1、软件=程序+数据结构+文档,软件的特点、分类、发展阶段 2、软件危机的表现,产生的原因 3、软件工程 4、软件生存期 5、软件生存期模型 作业 1、写出你经常使用的软件。 2、输入两个变量A和B的值,然后交换这两个变量的值。根据要求(1),(2)用C语言分别编写程序实现上述功能。 (1)不使用其他任何变量。 (2)使用一个中间变量。 作业 3、请你通过网络等各种途径了解与软件行业相关人员的职责,假如你只能从事以下工作之一,你会选择哪一个,为什么? A. 项目负责人 B. 系统分析员 C. 程序员 D. 资料员 E. 操作员 F. 测试人员 G.维护人员 思考 1、解释为什么面向开发的
文档评论(0)