软件工程模型方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件需求中的部分或全部功能。
建造原型应尽量采用相应的软件工具和环境, 并尽量采用软件重用技术,在运行效率方面可做出 让步,以便尽快提供。同时,原型应充分展示软件 系统的可见部分,如人机界面、数据的输入方式和 输出格式等。
采用原型模型的软件生命周期
分析定义 系统需求
生成 原型
原型化
运行 和维护
含原型化的 软件生存期
瀑布模型的适应场合
瀑布模型一般适用于功能、性能明确、 完整、无重大变化的软件系统的开发。例 如操作系统、编译系统、数据库管理系统 等系统软件的开发。应用有一定的局限性。
原型模型
原型模型( prototyping model )的基本框架是 软件开发人员根据用户提出的软件基本需求快速开 发一个原型 ,以便向用户展示软件系统应有的部分 或全部功能和性能,在征求用户对原型的评价意见 后,进一步使需求精确化、完全化,并据此改进、 完善原型,如此迭代,直到软件开发人员和用户都 确认软件系统的需求并达成一致的理解为止。软件 需求确定后,便可进行设计,编码、测试等以后的 各个开发步骤。
参予的迭代过程,每个迭代循环都是线性过程。
原型模型的缺点
1) 对于大型软件项目,原型模型需要足够的人力 资源以建立足够的原型组。
2) 原型模型要求 开发者 和客户 在一段时间内 共同 完成原型系统的开发 ,如果任何一方没有实现 承诺,会导致原型开发的失败。
3) 如果系统难以模块化,建造原型所需构件就有 问题;如果高性能是一个指标,原型模型也可 能不奏效。
细审查; ? 清晰区分了逻辑设计与物理设计,尽可能推迟程序的物
理实现。
“一种文档驱动的模型”
提供了软件开发的基本框架,有利于大型软件开发过程中 人员的组织、管理,有利于软件开发方法和工具的研究与 使用,因此,在软件工程中占有重要的地位。
瀑布模型的不足
? 它将项目生硬的分解为确切的阶段,委托事项一 定要在过程的早期阶段清晰给出,这意味着对用 户需求变更响应困难。
4) 原型模型不适合采用很多新技术的项目。
原型模型的适应场合
它适合于那些不能预先确切定义需求的 软件系统的开发,更适合于那些项目组成员 (包括分析员、设计员、程序员和用户)不 能很好交流或通信有困难的情况。
螺旋模型
螺旋模型(spiral model )是B. Boehm 于 1988年提出的。它综合了瀑布模型和原型模 型的优点,即将两者结合,并加入了风险分 析机制。螺旋模型的基本框架如图:
? 强调“快速”,釆用 基于构件的软件开发 方法,尽量缩短软件开 发周期,不宜釆用过多 的新技术
? 用户/客户对原型进行 评估
? 修改需求、更新设计、 完善原型直至确定需 求。
快速原型的开发途径
1) 仅模拟软件系统的人机界面和人机交互方式。 2) 开发一个工作模型,实现软件系统中重要的或容易
产生误解的功能。 3) 利用一个或几个类似的正在运行的软件向用户展示
简化描述 。
“模型的本质在于简化”
? 软件过程模型就是对描述的实际过程的抽象,它
包括构成软件过程的各种活动、软件产品及软件 工程人员参与的不同角色。
软件过程模型的分类
? 以软件需求完全确定为基础的瀑布模型; ? 在开发初期仅给出基本需求的渐进式模型,如原型
模型、螺旋模型、喷泉模型等;
? 以形式化开发方法为基础的变换模型、基于四代技
瀑布模型
可行性研究 需求分析 概要设计 详细设计
Leabharlann Baidu
特点:
1) 阶段间具有顺序性 和依赖性
2) 推迟实现的观点 3) 质量保证的观点
实现
组装测试
验收测试
使用与维护
退役
瀑布模型的优点
? 可强迫开发人员采用的规范方法; ? 严格规定了每一阶段必须提交的文档; ? 要求每一阶段交付之产品都必须经过质量保证小组的仔
软件工程
--软件过程模型
内容提要
软件过程与软件过程模型 软件工程方法
?面向功能的方法 ?面向对象方法
软件过程
软件过程是指开发软件产品的一组活动及其 结果。
即是人们用于开发和维护软件及 其相关过程的一系列活动,包括 软件工程活动和软件管理活动。
软件过程模型
? 软件过程模型是从一特定角度提出的 软件过程的
术的模型( 4G 模型);
? 基于知识的智能模型等等。
在实际开发时,应根据项目的特点和现有的条 件选取合适的模型,也可以把几种模型组合起来使 用以便充分利用各模型的优点。
瀑布模型
瀑布模型( waterfall model )是由 W. Royce 于 1970 年提出来的。又称为软件生存周期模型。 ? 瀑布模型严格按照软件生存周期各个阶段来进行开 发,上一阶段的输出即是下一阶段的输入,并强调 每一阶段的严格性。它规定了各阶段的任务和应提 交的成果及文档,每一阶段的任务完成后,都必须 对其阶段性产品(主要是文档)进行评审,通过后 才能开始下一阶段的工作。因此,它是一种 以文档 作为驱动 的模型。
? 因为生成和确认文档成本很高且很费时,因此经 过少量的反复后,要冻结部分开发过程,继续进 行后面的开发阶段。这种对需求的冻结使需求相 当不成熟,系统不能满足用户需求。
? 作为整体开发的瀑布模型,由于不支持产品的演 化,缺乏灵活性,对开发过程中很难发现错误, 只有在最终产品运行时才能暴露出来,从而使软 件产品难以维护。
快速原型方法
听取用 户意见
建造/修 改原型
用户测试 运行原型
原型模型示意图
开始
结束
初步需
求分析
开发 产品
快速设计
建造 原型
对原型 加工
用户评估原 型(新需求)
? 用户/客户给出软件产 品的一般需求
? 开发小组和用户共同 定义软件总体目标, 标识已知需求
? 对界面、功能、人机 交互方式等,进行设 计并建造原型
系统 设计
测试
编码
程序 设计
原型模型的优点
1) 原型模型比瀑布模型更符合人们认识事物的过程 和规律,是一种较实用的开发框架。
2) 它产生的正式需求文挡,是软件开发的基础。 3) 如果开发的原型是可运行的,它的若干高质量的
程序片段和开发工具可用于工作程序的开发。 4) 原型的开发和评审是系统分析员和用户 /客户共同
螺旋模型
制定计划 对目标、可选方 案和约束的确定
第一圈 产生 产品规格说明
实现计划 开发计划
顺时针为进展方向
风险分析 风险分析
建造原型应尽量采用相应的软件工具和环境, 并尽量采用软件重用技术,在运行效率方面可做出 让步,以便尽快提供。同时,原型应充分展示软件 系统的可见部分,如人机界面、数据的输入方式和 输出格式等。
采用原型模型的软件生命周期
分析定义 系统需求
生成 原型
原型化
运行 和维护
含原型化的 软件生存期
瀑布模型的适应场合
瀑布模型一般适用于功能、性能明确、 完整、无重大变化的软件系统的开发。例 如操作系统、编译系统、数据库管理系统 等系统软件的开发。应用有一定的局限性。
原型模型
原型模型( prototyping model )的基本框架是 软件开发人员根据用户提出的软件基本需求快速开 发一个原型 ,以便向用户展示软件系统应有的部分 或全部功能和性能,在征求用户对原型的评价意见 后,进一步使需求精确化、完全化,并据此改进、 完善原型,如此迭代,直到软件开发人员和用户都 确认软件系统的需求并达成一致的理解为止。软件 需求确定后,便可进行设计,编码、测试等以后的 各个开发步骤。
参予的迭代过程,每个迭代循环都是线性过程。
原型模型的缺点
1) 对于大型软件项目,原型模型需要足够的人力 资源以建立足够的原型组。
2) 原型模型要求 开发者 和客户 在一段时间内 共同 完成原型系统的开发 ,如果任何一方没有实现 承诺,会导致原型开发的失败。
3) 如果系统难以模块化,建造原型所需构件就有 问题;如果高性能是一个指标,原型模型也可 能不奏效。
细审查; ? 清晰区分了逻辑设计与物理设计,尽可能推迟程序的物
理实现。
“一种文档驱动的模型”
提供了软件开发的基本框架,有利于大型软件开发过程中 人员的组织、管理,有利于软件开发方法和工具的研究与 使用,因此,在软件工程中占有重要的地位。
瀑布模型的不足
? 它将项目生硬的分解为确切的阶段,委托事项一 定要在过程的早期阶段清晰给出,这意味着对用 户需求变更响应困难。
4) 原型模型不适合采用很多新技术的项目。
原型模型的适应场合
它适合于那些不能预先确切定义需求的 软件系统的开发,更适合于那些项目组成员 (包括分析员、设计员、程序员和用户)不 能很好交流或通信有困难的情况。
螺旋模型
螺旋模型(spiral model )是B. Boehm 于 1988年提出的。它综合了瀑布模型和原型模 型的优点,即将两者结合,并加入了风险分 析机制。螺旋模型的基本框架如图:
? 强调“快速”,釆用 基于构件的软件开发 方法,尽量缩短软件开 发周期,不宜釆用过多 的新技术
? 用户/客户对原型进行 评估
? 修改需求、更新设计、 完善原型直至确定需 求。
快速原型的开发途径
1) 仅模拟软件系统的人机界面和人机交互方式。 2) 开发一个工作模型,实现软件系统中重要的或容易
产生误解的功能。 3) 利用一个或几个类似的正在运行的软件向用户展示
简化描述 。
“模型的本质在于简化”
? 软件过程模型就是对描述的实际过程的抽象,它
包括构成软件过程的各种活动、软件产品及软件 工程人员参与的不同角色。
软件过程模型的分类
? 以软件需求完全确定为基础的瀑布模型; ? 在开发初期仅给出基本需求的渐进式模型,如原型
模型、螺旋模型、喷泉模型等;
? 以形式化开发方法为基础的变换模型、基于四代技
瀑布模型
可行性研究 需求分析 概要设计 详细设计
Leabharlann Baidu
特点:
1) 阶段间具有顺序性 和依赖性
2) 推迟实现的观点 3) 质量保证的观点
实现
组装测试
验收测试
使用与维护
退役
瀑布模型的优点
? 可强迫开发人员采用的规范方法; ? 严格规定了每一阶段必须提交的文档; ? 要求每一阶段交付之产品都必须经过质量保证小组的仔
软件工程
--软件过程模型
内容提要
软件过程与软件过程模型 软件工程方法
?面向功能的方法 ?面向对象方法
软件过程
软件过程是指开发软件产品的一组活动及其 结果。
即是人们用于开发和维护软件及 其相关过程的一系列活动,包括 软件工程活动和软件管理活动。
软件过程模型
? 软件过程模型是从一特定角度提出的 软件过程的
术的模型( 4G 模型);
? 基于知识的智能模型等等。
在实际开发时,应根据项目的特点和现有的条 件选取合适的模型,也可以把几种模型组合起来使 用以便充分利用各模型的优点。
瀑布模型
瀑布模型( waterfall model )是由 W. Royce 于 1970 年提出来的。又称为软件生存周期模型。 ? 瀑布模型严格按照软件生存周期各个阶段来进行开 发,上一阶段的输出即是下一阶段的输入,并强调 每一阶段的严格性。它规定了各阶段的任务和应提 交的成果及文档,每一阶段的任务完成后,都必须 对其阶段性产品(主要是文档)进行评审,通过后 才能开始下一阶段的工作。因此,它是一种 以文档 作为驱动 的模型。
? 因为生成和确认文档成本很高且很费时,因此经 过少量的反复后,要冻结部分开发过程,继续进 行后面的开发阶段。这种对需求的冻结使需求相 当不成熟,系统不能满足用户需求。
? 作为整体开发的瀑布模型,由于不支持产品的演 化,缺乏灵活性,对开发过程中很难发现错误, 只有在最终产品运行时才能暴露出来,从而使软 件产品难以维护。
快速原型方法
听取用 户意见
建造/修 改原型
用户测试 运行原型
原型模型示意图
开始
结束
初步需
求分析
开发 产品
快速设计
建造 原型
对原型 加工
用户评估原 型(新需求)
? 用户/客户给出软件产 品的一般需求
? 开发小组和用户共同 定义软件总体目标, 标识已知需求
? 对界面、功能、人机 交互方式等,进行设 计并建造原型
系统 设计
测试
编码
程序 设计
原型模型的优点
1) 原型模型比瀑布模型更符合人们认识事物的过程 和规律,是一种较实用的开发框架。
2) 它产生的正式需求文挡,是软件开发的基础。 3) 如果开发的原型是可运行的,它的若干高质量的
程序片段和开发工具可用于工作程序的开发。 4) 原型的开发和评审是系统分析员和用户 /客户共同
螺旋模型
制定计划 对目标、可选方 案和约束的确定
第一圈 产生 产品规格说明
实现计划 开发计划
顺时针为进展方向
风险分析 风险分析