软件生命周期模型
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7. 软件生存周期原型模型
开始 结束 初步需求 分析 快速设计
开发产品 建造原型
对原型加工 用户评估原 新需求) 型(新需求)
又称演化模型:用主动的正常的迭代避免被迫 的不正常的反复 原型(prototype) :可以演示的试验性产品、重 点为系统功能、用户界面 必要性、可行性:
并非所有需求都可以精确定义 项目参加者之间存在通信障碍 已有快速原型开发工具 恰当使用原型法可以减少软件总成本
开发过程:分析、设计、编码、集成、测试、安 装、验收等 管理过程:项目管理计划、实施和控制、评审和 评价等 供应过程 获取过程 操作过程 维护过程 支持过程
2. 软件生存周期
什么是软件生存周期
Software Life Cycle 软件产品从形成概念开始,经过开发、使用和维 护,直到退役的全过程。 软件定义、软件开发、软件使用与维护
软件的使用
软件发行:份数越多越好 客户(维护人员):收集软件错误,撰写“软件问题 报告”和“软件修改报告”
软件的维护
可维护性:可理解性、可测试性、可修改性 改正性维护 适应性维护 完善性维护 预防性维护
软件的退役
6. 软件生存周期瀑布模型
线性开发序列:每一阶段任务必须通过评 审才能进入下一阶段,直线前进 避免大的返工,允许局部的返工:有反馈 的迭代(返工在所难免 ) 非常适合于数据处理类软件开发 局限性:明确全部需求困难甚至不现实、 开发周期过长、用户不能及时提出修改意 见、不适合交互式软件开发等
4. 软件开发
概要设计(总体设计)
划分功能模块 定义各功能模块的接口 设计全局数据结构(数据库) 制定测试计划 设计原则:自顶向下、逐步求精、抽象、模块化、局部化、 信息隐藏等
详细设计
设计各功能模块的细节,阶段性标志:算法 建立“模块开发卷宗” 设计工具:过程设计语言PDL(Procedure Design Language)、流程图、PAD图、盒图等 设计原则:模块化、信息隐藏等 设计方法决“做什么(What to do)”,阶段性标志:软件 需求规格说明(Software Requirements Specification,SRS) 既是软件开发依据,也是软件验收标准 功能需求:软件必须完成的功能 性能需求:安全性、可靠性、可维护性、精度、 错误处理、适应性、用户培训等 运行环境约束:运行环境(硬件、系统平台)的 要求 工具:需求规格说明语言、数据流图、数据字典、 状态图 通信瓶颈:用户 vs 开发人员 分析方法:结构化分析、面向对象分析
编码(实现):俗称编程序
阶段性标志:源程序代码 选择一种程序设计语言 将详细设计文档“翻译”为程序 单元测试(调试)
测试
集成测试(组装测试) 确认测试 (验收测试) 阶段性标志:确认测试报告 测试方法:白盒测试、黑盒测试 ,α测试 、β测试 测试不能证明软件没有错误 应避免程序员测试自己的程序
5. 软件维护
三个时期
软件定义 软件开发 软件使用与维护
九个阶段
见下图
3. 软件定义
又称系统分析: 由系统分析员负责完成定义 可行性研究:使用部门负责人的决策依据
标志:可行性论证报告和初步的项目开发计划 了解用户要求和现实环境 技术可行性分析 经济可行性分析 市场可行性分析 项目开发计划:成本估算、人员组织、进度安排
原型法分类
验证软件需求的原型:垂直原型、水平原型 验证设计方案的原型 演进出目标系统的原型
软件重用技术、RAD
8. 软件生存周期其它模型
螺旋模型 智能模型 喷泉模型 增量原型
第二讲 软件生命周期模型
本讲目的: 了解软件开发的全过程 对照目前工作进行比较思考
1. 软件工程过程
软件工程的层次
什么是软件工程过程
–软件生存期中的一系列相关软件工程活动的集合 –规定获取、供应、开发、操作和维护软件所要实施的 过程、活动和任务 –为各类人员提供一个公共框架以方便交流
软件工程过程的阶段