[计算机软件及应用]软件工程电子教案-第2章

上传人:繁星 文档编号:88338546 上传时间:2019-04-24 格式:PPT 页数:32 大小:2.24MB
返回 下载 相关 举报
[计算机软件及应用]软件工程电子教案-第2章_第1页
第1页 / 共32页
[计算机软件及应用]软件工程电子教案-第2章_第2页
第2页 / 共32页
[计算机软件及应用]软件工程电子教案-第2章_第3页
第3页 / 共32页
[计算机软件及应用]软件工程电子教案-第2章_第4页
第4页 / 共32页
[计算机软件及应用]软件工程电子教案-第2章_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《[计算机软件及应用]软件工程电子教案-第2章》由会员分享,可在线阅读,更多相关《[计算机软件及应用]软件工程电子教案-第2章(32页珍藏版)》请在金锄头文库上搜索。

1、软件工程 原理、方法与应用,电子教案,计算机学院608教研室 王宇华,第二章 软件开发模型,主要内容,软件生存周期,软件开发模型,第二章 软件开发模型,2.1 软件生存周期(Software Life Cycle),2.1.1 软件生存周期 软件产品或软件系统从设计、开发、运行到 被淘汰的全过程,2.1.2 软件生存周期的大致划分 计划时期:问题定义 可性性研究分析报告 开发时期:需求分析 软件设计 编码 测试 运行时期:软件维护、升级、整合改造,第二章 软件开发模型,2.1 软件生存周期(Software Life Cycle),2.1.3 的划分 1 可行性研究与计划 2 需求分析 3 总

2、体设计 4 详细设计 5 实现 6 集成测试 7 确认测试 8 使用和维护,上层:设计、实现 文档、编码,下层:实现、测试 编码、文档,第二章 软件开发模型,2.1 软件生存周期(Software Life Cycle),关于问题定义,问题定义 目标与战略,目标与战略,当前行业、领域 发展现状,应用单位的现状,应用单位的构想,国家、行业有关 政策和要求,第二章 软件开发模型,2.1 软件生存周期(Software Life Cycle),关于问题定义示例,第二章 软件开发模型,2.1 软件生存周期(Software Life Cycle),示例:根据战略规划制定的总体规划图,139461646

3、25,第二章 软件开发模型,2.1 软件生存周期(Software Life Cycle),2.1.4 软件工程的软件的改进,过去 只考虑编码,现在 涉及整个软件 生存周期,第二章 软件开发模型,2.2 软件开发模型,2.2.1 软件开发模型 软件开发模型是软件开发全部过程、活动和任务的结构 框架。它能够直观地表达软件开发全过程,明确规定要完成 的主要活动、任务和开发策略。 一般来说,主要的软件生存周期模型有三种: 瀑布模型、增量模型、螺旋模型,第二章 软件开发模型,2.2 软件开发模型,示例,第二章 软件开发模型,2.2 软件开发模型,2.2.2 瀑布模型(Waterfall Model)-

4、线形顺序模型,可行性研究与计划,需求分析,设计,编码,运行维护,测试,定义 阶段,开 发 阶 段,维护阶段,第二章 软件开发模型,2.2 软件开发模型,2.2.2 瀑布模型(Waterfall Model)-线形顺序模型,特点: 1 阶段间具有顺序性和依赖性; 2 推迟实现的观点;(编码越早,问题越多,代价越高); 3 质量保证 每个阶段都要完成规定的文档; 每个阶段完成时完成文档审查工作; 及早修改错误,第二章 软件开发模型,2.2 软件开发模型,2.2.2 瀑布模型,阶段及文档,未说明的实际问题: 文档与编码脱节,你要 是程序员,你改代码时 修改文档吗?谁来修改 文档?如果不修改,今 后维

5、护时谁能看懂你编 的乱七八糟的代码?!,第二章 软件开发模型,2.2 软件开发模型,2.2.3 快速原型模型(Rapid Prototype Model),观点:软件开发,特别是开发的早期阶段,应该是一个学习和实践的过程,它的活动应该包括开发人员和用户两个方面。为了使其更有效,不仅开发人员与用户紧密合作,而且还要有一个实际的工作系统,只有这样才能获得成功。 主要思想:首先建立一个能够反映用户主要需求的原型,让用户实际看一看未来系统的概貌,以便判断哪些功能是符合需要的,哪些功能还需要改进。然后将原型反复改进,最终建立完全符合用户要求的新系统。,第二章 软件开发模型,2.2 软件开发模型,2.2.

6、3 快速原型模型(Rapid Prototype Model),原型范型,第二章 软件开发模型,分析定义 系统需求,生成 原型,系统 设计,程序 设计,编码,测试,运 行 和维护,原型化,含原型化的 软件生存期,2.2 软件开发模型,2.2.3 快速原型模型 软件生存周期,第二章 软件开发模型,2.2 软件开发模型,2.2.4 增量模型(Increments Model),思想:先完成一个系统子集的开发,再按同样的开发步骤增加 功能 (系统子集),如此递增下去直至满足全部系统需求。 系统的总体设计在初始子集设计阶段就应作出设想。 主要的优势:应用了迭代的思想,迭代和重构的区别:设计开发的两顶帽

7、子,迭代,重构,增加了新的功能,无新功能的增加, 但改善了性能,第二章 软件开发模型,2.2 软件开发模型,2.2.4 增量模型 总体框架,分析,设计,编码,测试,分析,设计,编码,测试,分析,设计,编码,测试,分析,设计,编码,测试,增量1,增量2,增量3,增量n,增量1 交付客户,增量2 交付客户,增量3 交付客户,增量n 交付客户,日历时间,第二章 软件开发模型,2.2 软件开发模型,2.2.4 增量模型(Increments Model),特点 瀑布模型+快速原型+风险分析 迭代过程 一个螺旋式周期 确定目标,选择方案,选定完成目标的策略 风险角度分析该策略 启动一个开发阶段 评价前一

8、步的结果,计划下一轮的工作,第二章 软件开发模型,2.2 软件开发模型,2.2.5 螺旋模型 (Spiral Model),第二章 软件开发模型,2.2 软件开发模型,2.2.5 螺旋模型 (Spiral Model),风险分析,工程实施,用户通信,用户评估,产品维护项目,产品增强项目,新产品开发项目,概念开发项目,计划,建造及发布,第二章 软件开发模型,2.2 软件开发模型,2.2.5 面向对象开发模型 (Object-oriented Model),第6章详细讲解,关于组件(Component)-构件,使用重用技术的软件工程模型 构件(components):可重用的软件成份 可复用性(R

9、eusability) (可重用性) 集成化软件开发环境(ISEE),第二章 软件开发模型,2.2 软件开发模型,2.2.5 面向对象开发模型 (Object-oriented Model),可重用组件组装模型,系统1软件 构成,系统2软件 构成,系统3软件 构成,可重用组件,可重用组件,可重用组件,第二章 软件开发模型,2.2 软件开发模型,2.2.5 面向对象开发模型 (Object-oriented Model),基于可重用组件模型的软件生产线,第二章 软件开发模型,2.2 软件开发模型,2.2.6 转换模型 (Transformational Model),特点 形式化软件开发方法 形

10、式化需求规格说明 变换技术 程序自动生成技术 确保正确,第二章 软件开发模型,2.2 软件开发模型,2.2.7 净室模型 (Cleanroom Model),净室模型思想: 在分析和设计阶段消除错误 在“洁净”状态下实现软件制作 形式化: 盒结构表示分析和设计 正确性验证 增量模型,第二章 软件开发模型,2.2 软件开发模型,2.2.7 净室模型 (Cleanroom Model),需求 收集,盒结构 规约,形式化 设计,统计性使 用测试,正确性 证明,代码生成 与检查,测试计划,认证,需求 收集,盒结构 规约,形式化 设计,统计性使 用测试,正确性 证明,代码生成 与检查,测试计划,认证,需

11、求 收集,盒结构 规约,形式化 设计,统计性使 用测试,正确性 证明,代码生成 与检查,测试计划,认证,增量1,增量2,增量n,第二章 软件开发模型,2.3 案例-系统概况,1系统概述 教材购销系统是某高校早期使用过的一个教材管理系统,主要用于对计划供应教材的控制销售与补充采购。该系统主要具有以下功能: (1)根据学校的教学计划,像选课的学生及时供应所需的教材 审查学生(个人或班级)购书单的有效性,对有效书单发售教材; 对属于计划供应但暂时却获的教材进行缺书登记。 (2)根据缺书登记补充采购所缺的教材,通知学生补购 将缺书登记表汇总为待购教材计划; 待购教材到货后,及时通知学生补购。,F2缺书

12、登记表,F1教材存量表,领书单 进书通知,购书单 缺书单,第二章 软件开发模型,2.3 案例-系统需求,第二章 软件开发模型,2.3 案例-系统流程图,第二章 软件开发模型,三种开发模型的小结,瀑布模型:将软件生命周期的各个阶段展开成线性的,有一定顺序的若干 阶段的模型。特点是将软件严格划分为阶段,要求按照对阶段 的划分,顺序地开展软件开发的各个活动。为软件开发的管理 提供了有效的管理模式,是结构化系统分析方法的基础。主要 问题是没有考虑迭代,增量模型:一部分一部分地完成系统开发目标,是一种演化模型。开发完 一部分后就立刻让用户去使用它,评价它。然后再完善它并完 成下一部分。特点是用户可以及早

13、使用实际的系统,系统可以 快速投入使用。允许迭代。后一部分的开发包括了对前一部分 开发的修改。,螺旋模型:与增量模型近似,将系统目标分解,规定每一次螺旋周期的目 标,在每一次螺旋周期的开发中采用简化的瀑布模型,并且加 入风险分析和原型化的方法,然后通过一次一次的螺旋上升实 现最终目标。将增量模型和瀑布模型的优点结合起来,来应对 系统需求、技术、环境不断变化的事实,同时也能够管理好软 件开发。循环的迭代风险大。,第二章 软件开发模型,一般应用情况的考虑,大型系统:瀑布模型加迭代;面向对象模型加迭代; 适当采用构件模型; 中小型系统:快速原型;XP;,软件开发模型是不断发展的; 各种软件开发模型各有其优缺点; 选用时不必拘泥于某种模型; 可组合多种模型; 可根据实际创建新的模型。,一种开发模型比另外一种优越,但软件开发公司仍然 选用差的开发模型,为什么?因为开发模型的应用在 公司项目组间实行,需要大量的工作和投入。,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号