第2章软件过程 ppt课件_第1页
第2章软件过程 ppt课件_第2页
第2章软件过程 ppt课件_第3页
第2章软件过程 ppt课件_第4页
第2章软件过程 ppt课件_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程 Software Engineering 内蒙古师范大学 计算机与信息工程学院 2006年 9月 第二章 软件过程 nISO 9000定义:软件过程是把输入转化 为输出的一组彼此相关的资源和活动。 n从软件开发的观点看,它就是使用适当 的资源(包括人员、硬软件工具、时间 等),为开发软件进行的一组开发活动 ,在过程结束时将输入(用户要求)转 化为输出(软件产品)。 软件工程过程定义了 : 方法使用的顺序 、 要求交付的文档资料、为保证质量和 适应变化所需要的管理、软件开发各个 阶段完成的里程碑。 软件工程过程包含四种基本的过程活动 : Plan 软件规格说明 Do 软件开发 Check 软件确认 Action 软件演进 2.1 软件生命周期的基本任务 2.2 瀑布模型 2.3 快速原型模型 2.4 增量模型 2.5 螺旋模型 2.6 喷泉模型 2.1 软件生命周期的基本任务 软件有一个孕育、诞生、成长、成熟、衰 亡的生存过程。这个过程即软件的生存期。 软件生存期包含三个阶段: 软件定义 软件开发 运行维护 可行性研究与计划 需求分析 设计 编码 运行维护 测试 定义 阶段 开 发 阶 段 维护阶段 软件生存期模型是软件工程思想的具体 化,是跨越软件生存期的系统开发、运 行、维护所实施的全部活动和任务的过 程框架。 n软件生存期的六个步骤 : 制定计划(问题定义和可行性研究) 需求分析 设计(概要设计和详细设计) 程序编码 测试(单元测试和综合测试) 运行维护 1.制定计划 n确定要开发软件系统的总目标 n给出功能、性能、可靠性以及接口等方 面的要求 n完成该软件任务的可行性研究 n估计可利用的资源 (硬件,软件,人力 等 )、成本、效益、 开发进度 n制定出完成开发任务的实施计划,连同 可行性研究报告,提交管理部门审查 2.需求分析和定义 准确回答 “目标系统必须做什么 ” n对用户提出的要求进行分析并给出详细 的定义 n编写软件需求说明书或系统功能说明书 及初步的系统用户手册 n提交管理机构评审 3.软件设计 n概要设计 把各项需求转换成软件的体 系结构。结构中每一组成部分都是意义明 确的模块,每个模块都和某些需求相对应 。 n详细设计 对每个模块要完成的工作进 行具体的描述,为源程序编写打下基础。 n编写设计说明书,提交评审。 4.程序编写程序编写 n把软件设计转换成计算机可以接受的把软件设计转换成计算机可以接受的 程序代码,即写成以某一种特定程序程序代码,即写成以某一种特定程序 设计语言表示的设计语言表示的 “源程序清单源程序清单 ” n写出的程序应当是结构良好、清晰易写出的程序应当是结构良好、清晰易 读的,且与设计相一致的读的,且与设计相一致的 5.软件测试 n单元测试,查找各模块在功能和结构上 存在的问题并加以纠正 n组装测试,将已测试过的模块按一定顺 序组装起来 n按规定的各项需求,逐项进行有效性测 试,决定已开发的软件是否合格,能否 交付用户使用 6.运行维护 n改正性维护 :运行中发现了软件中的 错误需要修正 n适应性维护 :为了适应变化了的软件 工作环境,需做适当变更 n完善性维护 :为了增强软件的功能需 做变更 软件过程模型 是软件开发全部过程 、活动和任务的 结构框架 。它能直观 表达软件开发全过程,明确规定要完 成的主要活动、任务和开发策略。 软件过程模型也常称为: 软件开发模型 软件生存期模型 软件工程范型 瀑布模型 快速原型模型 增量模型 螺旋模型 喷泉模型 2.2 瀑布模型 需求定义 系统与软件设计 集成与系统测试 实现与单元测试 运行与维护 n 各项活动按自上而下,相互衔接的固定次序 ,如同瀑布逐级下落。每项活动均处于一个 质量环(输入 -处理 -输出 -评审)中。 瀑布模型 按照传统瀑布模型开发软件的特点 : 1).阶段间具有顺序性和依赖性。 2).推迟实现的观点。 3).每个阶段必须完成规定的文档 ; 每个阶段结束前完成文档审查 , 及早改正错误。 2.3 快速原型模型 l由于在项目开发的初始阶段人们对 软件的需求认识常常不够清晰,因 而使得开发项目难于做到一次开发 成功,出现返工再开发在所难免。 做两次。 l第一次只是试验开发,其目标只是 在于探索可行性,弄清软件需求。 l第二次则在此基础上获得较为满意 的软件产品。 原型范型 听取用 户意见 建造 /修改 原型 用户测试 运行原型 需求的采集需求的采集 与细化与细化 客户评价原型 快速设计 建造原型建造原型加工原型加工原型 产生样品产生样品 停止 开始 n 先开发一个 “原型 ”软件,完成部分主要功 能,展示给用户并征求意见,然后逐步完 善,最终获得满意的软件产品。 2.4 增量模型 (渐增模型 ) 把软件产品分解成一系列的 增量构件 ,在 增量开发迭代中逐步加入。 每个构件由多个相互作用的模块构成,并 且能够完成特定的功能。 定义 基本需求 将需求赋予 增量构件 设计系统 体系结构 开发 增量构件 确认 增量构件 集成 增量构件 确认系统 增量模型 (递增模型、增殖模型 ) 先完成一个系统子集的开发,再按同样 的开发步骤增加功能 (系统子集 ),如此 递增下去直至满足全部系统需求。 系统的总体设计在初始子集设计阶段就 应作出设想。 分析 增量模型 设计 编码 测试 分析 设计 编码 测试 分析 设计 编码 测试 分析 设计 编码 测试 增量 1 增量 2 增量 3 增量 4 交付的 增量 1 交付的 增量 2 交付的 增量 3 交付的 增量 4 日历时间 2.5 螺旋模型 l螺旋模型沿着螺线旋转,在四个象限上 分别表达四个方面的活动,即: l制定计划 确定软件目标,选定实施 方案,弄清项目开发的限制 l风险分析 分析所选方案,考虑如何 识别和消除风险 l实施工程 实施软件开发 l客户评估 评价开发工作,提出修正 建议 2.6 喷泉模型 l迭代 l 重复 l 演进 l无间隙 l 各阶段间无明显界限 体现了迭代和无间隙的特性。 系统某个部分常常重复工作多次,相关对 象在每次迭代中随之加入演进的软件成分 。 无间隙是指在各项开发活动,即分析、设 计和编码之间不存在明显的边界。 喷泉模型是对象驱动的过程。 主要用于支持面向对象开发过程体现了软 件创建所固有的迭代和无间隙的特征 。 需求阶段 分析阶段 设计阶段 编程阶段 集成与测试阶段 维护与演进阶段 相关的其他内容: n 智能模型是基于知识的软件开发模型,它 把瀑布模型和专家系统综合在一起。 n 该模型在各个开发阶段都利用了相应的专 家系统来帮助软件人员完成开发工作。 n 为此,建立了各个阶段的知识库,将模型 、相应领域知识和软件工程知识分别存入 数据库。以软件工程知识为基础的生成规 则构成的专家系统与包含应用领域知识规 则的其他专家系统相结合,构成该应用领 域的开发系统。 智能模型 用户要求 需求分析 概要设计 详细设计 程序编码 测试 维护 支持需求 分析的 专家系统 支持软件 设计的 专家系统 支持测试 的专家系统 支持维护 的专家系统 可重用部件组装模型 使用重用技术的软件工程模型 部件 (构件 ): 可重用的软件成份 可重用部件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论