




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 第二章软件开发模型 传统开发模型瀑布模型 waterfallmodel 快速原型模型 rapidprototypemodel 演化开发模型增量模型 incrementalmodel 螺旋模型 spiralmodel 面向对象开发模型构件集成模型 componentintegrationmodel 形式化开发模型转换模型 transformationalmodel 净室模型 cleanroommodel 2 2 1软件生存周期 LifeCycle 定义一个软件从开始计划起 到废弃不用为止 称为软件的生存周期 软件生存周期包括 计划 开发与运行3个时期 每一时期又可细分为若干更小的阶段 将软件开发过程划分生存周期的目的 把整个生存周期划分为较小的阶段 给每个阶段赋予确定而有限的任务 就能够简化每一步的工作内容 使因为软件规模增长而大大增加了的软件复杂性变得较易控制和管理 3 典型的软件生存周期 问题定义 可行性研究 需求分析 软件设计 编码 测试 维护 计划时期 开发时期 运行时期 4 生存周期每一时期的任务 1 计划时期主要任务 调查和分析 调查用户需求 分析新系统的主要目标 分析开发该系统的可行性 包括两个阶段 问题定义主要弄清 用户需要计算机解决什么问题 由系统分析员根据对问题的理解 提出关于 系统与范围的说明 交由用户审查和认可 可行性分析对问题的解决给出在技术上可行 且在经济上有较高效益的可操作解决方案 并写出 可行性论证报告 如若项目不值得进行 应提出终止该项目的建议 5 2 开发时期主要任务 系统分析 设计和实现 包括四个阶段需求分析弄清用户对软件系统的全部需求 并用 需求规格说明书 的形式准确地表达出来 软件设计将需求转变为软件的表示形式 确定软件的总体结构 数据结构 用户界面和算法细节 又可分为总体设计和详细设计两个阶段 编码按照选定的语言 把设计的过程性描述翻译为源程序 测试发现软件中隐藏的各种错误 是保证软件质量的重要手段 6 3 运行时期主要任务 做好软件维护 使软件在整个生存周期内保证满足用户的需求和延长使用寿命 一个阶段 软件维护 7 2 2传统软件开发模型 软件开发模型 SoftwareDevelopmenModel 的概念在软件开发过程中包含了很多不同的开发活动 根据软件生存周期为各项开发活动的流程确定一个合理的框架 称为软件生存周期模型或软件开发模型 由多种不同的软件开发策略 形成了不同的软件开发模型 如传统模型 演化模型和面向对象模型等 不同的软件开发模型分别适用于不同特征的软件项目 各个不同的软件开发模型都包含计划 开发 维护三类活动 基本活动 在不同的软件开发模型中 活动可顺序展开 也可反复循环 所用的方法与工具可随所用的模型而异 各开发组织可探索适合自己的开发模型 8 传统软件开发模型至今仍广泛使用的开发模型包括瀑布模型 线性顺序模型或生存周期模型快速原型模型 9 1 瀑布模型 WaterfallModel 在这种模型中 各个阶段的工作顺序展开 恰如奔腾不息拾级而下的瀑布 总是从上面的台阶依次流向下面的台阶 10 瀑布模型特点阶段的顺序性和依赖性只有等前一阶段的工作完成以后 后一阶段的工作才能开始 想在后阶段获得正确的结果 必须在前阶段有正确的输出 因此 如果在生存期某一阶段出现了问题 往往要追溯到在它之前的一些阶段 必要时还要修改前面已经完成的文档 推迟实现的观点过早考虑程序的实现 常常导致大量返工 容易给开发带来灾难性的后果 因此把逻辑设计与物理设计清楚地划分开来 尽可能推迟程序的物理实现 质量保证的观点每一阶段都要完成规定的文档 是文档驱动的模型 每一阶段都要对已完成的文档进行复审 以便尽早发现问题 消除隐患 及时复审是保证软件质量 降低开发成本的重要措施 存在问题不适合需求模糊或需求经常变动的系统 11 瀑布模型的阶段与文档 12 2 快速原型模型 RapidPrototypeModel 首先建立一个能够反映用户主要需求的原型 让用户实际看一看未来系统的概貌 以便判断哪些功能是符合需要的 哪些方面还需要改进 然后将原型反复改进 最终建立完全符合用户要求的新系统 13 特点使用快速开发工具循环低成本可在较短时间获取用户的需求种类渐进型 演化型 抛弃型 14 2 3软件演化模型 EvolutionaryModel 传统软件开发模型的共同特征 线性思维 将软件的开发活动处理成线性的或主要是线性的 但现在大部分复杂软件采用渐增式或迭代的开发方法 使所开发的软件在迭代中逐步达到完善 称之为演化模型 演化模型为渐进式开发模型 包括 增量模型螺旋模型 15 1 增量模型 IncrementalModel 把瀑布模型的顺序特征与快速原型法的迭代特征相结合将软件看作一系列相互联系的增量 在开发过程的各次迭代中 每次完成其中的一个增量 16 增量小而可用的软件特点在前面增量的基础上开发后面的增量每个增量的开发可用瀑布或快速原型模型迭代的思路 17 2 螺旋模型 SpiralModel 在瀑布模型与快速原型的基础上 增加了风险分析 是一种迭代模型 每迭代一次 螺旋线就前进一周 18 一个螺旋周期内的工作步骤确定目标 选择方案 选定完成目标的策略分析该策略可能存在的风险启动一个开发阶段评价前一步的结果 计划下一轮的工作螺旋模型的特点将瀑布模型和演化模型结合起来 加入了两种模型均忽略了的风险分析 弥补了这两种模型的不足 迭代式开发方式是一种风险驱动的模型 适合于大型软件的开发 但是 使用该模型需要有相当丰富的风险评估经验和专门知识 这使该模型的应用受到一定限制 19 2 4面向对象开发模型 面向对象的基本概念对象 Object 类 Class 继承 Inheritance 消息 Message 面向对象 对象 类 继承 消息通信 20 1 对象 Object 客观世界中的个体或事物的抽象表示 是它的属性和相关操作的统一封装体 属性 静态属性Attributes 表示对象的性质 属性值规定了对象所有可能的状态 操作 动态行为Methods 指该对象可以展现的外部服务 对象 IdentifierMethodSetDataStructureMessageInterface对象的特点以数据为中心对象是主动的实现数据封装本质上有并行性模块独立性好 21 2 类 Class 和实例 Instance 类相同属性和行为的对象的抽象 实例特定类所描述的一个具体对象 即对象是类的实例 22 3 继承 Inheritance 子类直接继承父类的数据和操作继承的传递性 单继承 多重继承 23 4 消息 Message 对象间的交互手段 对象可以向其他对象发送消息以请求服务 也可以响应其他对象传来的消息完成固有的某些操作 从而服务于其他对象 形式 Message dest op para DestinationObjectOperationParameters 24 什么叫做 面向对象 Coad和Yourdon认为 在软件开发过程中采用对象 类 继承 消息这四种概念进行开发的软件系统可以认为是面向对象的 面向对象 对象 类 继承 消息通信 25 1 构件集成模型构件 Component 是系统中实际存在的可更换部分 它实现特定的功能 符合一套接口标准并实现一组接口 构件代表系统中的一部分物理实施 包括软件代码 源代码 二进制代码或可执行代码 或其等价物 如脚本或命令文件 构件集成模型利用预先封装好的软件构件来构造应用软件系统 融合了螺旋模型的很多特征 支持迭代方法 26 构件集成模型 27 特点面向对象基于构件库融合螺旋模型特征支持软件开发的迭代方法软件重用 28 2 5形式化方法模型 1 转换模型 TransformationalModel 结合形式化软件开发方法和程序自动生成技术的一种软件开发模型 采用严格的数学表示体系来表示软件规格说明 然后进行一系列自动或半自动的程序变换 最后转换为计算机系统能够接受的目标程序 29 转换模型 30 实施转换模型的常用技术手段 基于模型的规格说明及其变换技术基于代数结构的规格说明及其变换结构基于时序逻辑的规格说明和验证技术基于可视形式化的技术从理论上来说 一个正确的 满足客户需要的形式化规格说明 经过一系列
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年AI编程师专业技能提升指南与模拟考试题目
- 2025年铜压延加工材项目建议书
- 2025年办公商业空间设计合作协议书
- 2025年浮子水管倾斜仪项目合作计划书
- 第3章 位置与坐标 单元测试(含答案)北师大版(2024)数学八年级上 册
- 小学化学知识题目及答案
- 2025年涡轮螺桨发动机合作协议书
- 抗洪抢险知识培训课件
- 减数分裂题库及答案
- 5G通信的特点与特征
- 输变电工程施工质量验收统一表式附件4:电缆工程填写示例
- 家庭储能系统的市场前景分析
- 幼儿园大班数学测加减法口算练习题
- 餐饮内部稽核管理制度
- 中西艺术时空对话 课件 2024-2025学年岭南美版(2024) 初中美术七年级下册
- 重大事项决策合法性审查制度
- 钢结构厂房工程屋面、墙面安装施工方案
- 应急照明施工方案
- 集装箱装车安全教育
- 2025年绩效考核面试题及答案
- 2024版慢性阻塞性肺疾病课件
评论
0/150
提交评论