- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
需求阶段 分析阶段 设计阶段 编程阶段 集成与测试阶段 维护与演进阶段 软件工程Software Engineering 内蒙古师范大学计算机与信息工程学院 2006年9月 第二章 软件过程 ISO 9000定义:软件过程是把输入转化为输出的一组彼此相关的资源和活动。 从软件开发的观点看,它就是使用适当的资源(包括人员、硬软件工具、时间等),为开发软件进行的一组开发活动,在过程结束时将输入(用户要求)转化为输出(软件产品)。 可行性研究与计划 需求分析 设计 编码 运行维护 测试 定义 阶段 开 发 阶 段 维护阶段 软件生存期模型是软件工程思想的具体化,是跨越软件生存期的系统开发、运行、维护所实施的全部活动和任务的过程框架。 软件生存期的六个步骤: 制定计划(问题定义和可行性研究) 需求分析 设计(概要设计和详细设计) 程序编码 测试(单元测试和综合测试) 运行维护 1.制定计划 确定要开发软件系统的总目标 给出功能、性能、可靠性以及接口等方面的要求 完成该软件任务的可行性研究 估计可利用的资源 (硬件,软件,人力等)、成本、效益、开发进度 制定出完成开发任务的实施计划,连同可行性研究报告,提交管理部门审查 2.需求分析和定义 准确回答“目标系统必须做什么” 对用户提出的要求进行分析并给出详细的定义 编写软件需求说明书或系统功能说明书及初步的系统用户手册 提交管理机构评审 3.软件设计 概要设计 — 把各项需求转换成软件的体系结构。结构中每一组成部分都是意义明确的模块,每个模块都和某些需求相对应。 详细设计 — 对每个模块要完成的工作进行具体的描述,为源程序编写打下基础。 编写设计说明书,提交评审。 4.程序编写 把软件设计转换成计算机可以接受的程序代码,即写成以某一种特定程序设计语言表示的“源程序清单” 写出的程序应当是结构良好、清晰易读的,且与设计相一致的 瀑布模型 快速原型模型 增量模型 螺旋模型 喷泉模型 2.2 瀑布模型 需求定义 系统与软件设计 集成与系统测试 实现与单元测试 运行与维护 各项活动按自上而下,相互衔接的固定次序,如同瀑布逐级下落。每项活动均处于一个质量环(输入-处理-输出-评审)中。 瀑布模型 按照传统瀑布模型开发软件的特点: 1).阶段间具有顺序性和依赖性。 2).推迟实现的观点。 3).每个阶段必须完成规定的文档; 每个阶段结束前完成文档审查, 及早改正错误。 2.3 快速原型模型 由于在项目开发的初始阶段人们对软件的需求认识常常不够清晰,因而使得开发项目难于做到一次开发成功,出现返工再开发在所难免。做两次。 第一次只是试验开发,其目标只是在于探索可行性,弄清软件需求。 第二次则在此基础上获得较为满意的软件产品。 原型范型 听取用 户意见 建造/修改 原型 用户测试 运行原型 需求的采集 与细化 客户评价原型 快速设计 建造原型 加工原型 产生样品 停止 开始 先开发一个“原型”软件,完成部分主要功能,展示给用户并征求意见,然后逐步完善,最终获得满意的软件产品。 2.4 增量模型(渐增模型) 把软件产品分解成一系列的增量构件,在增量开发迭代中逐步加入。 每个构件由多个相互作用的模块构成,并且能够完成特定的功能。 定义 基本需求 将需求赋予增量构件 设计系统 体系结构 开发 增量构件 确认 增量构件 集成 增量构件 确认系统 增量模型(递增模型、增殖模型) 先完成一个系统子集的开发,再按同样的开发步骤增加功能 (系统子集),如此递增下去直至满足全部系统需求。 系统的总体设计在初始子集设计阶段就应作出设想。 分析 增量模型 设计 编码 测试 分析 设计 编码 测试 分析 设计 编码 测试 分析 设计 编码 测试 增量1 增量2 增量3 增量4 交付的 增量1 交付的 增量2 交付的 增量3 交付的 增量4 日历时间 2.5 螺旋模型 螺旋模型沿着螺线旋转,在四个象限上分别表达四个方面的活动,即: 制定计划──确定软件目标,选定实施方案,弄清项目开发的限制 风险分析──分析所选方案,考虑如何识别和消除风险 实施工程──实施软件开发 客户评估──评价开发工作,提出修正建议 2.6 喷泉模型 迭代 重复 演进 无间隙 各阶段间无明显界限 体现了迭代和无间隙的特性。 系统某个部分常常重复工作多次,相关对象在每次迭代中随之加入演进的软件成分。 无间隙是指在各项开发活动,即分析、设计和编码之间不存在明显的边界。 喷泉模型是对象驱动的过程。 主要用于支持面向对象开发过程体现了软件创建所固有的迭代和无间隙的特征。 * *
文档评论(0)