软件生命周期的内容以及生命周期模型比较
2015-09-27 23:43
525 查看
问:什么是软件生命周期模型?试比较瀑布模型,快速原型模型,增量模型和螺旋模型的优缺点,说明每种模型的适用范围。
答:软件的生命周期由软件定义,软件开发,运行维护(软件维护)3个时期组成,每个时期又进一步划分成若干个阶段。
软件定义时期的任务:确定软件工程必须完成的总目标;确定工程的可行性;导出实现工程目标应该采用的策略及系统必须完成的功能;估计完成该工程需要的资源和成本,并且制定工程进度表。
软件开发时期的任务:具体设计和实现在前一个时期定义的软件,他通常由下列4个阶段组成:总体设计,详细设计,编码和单元测试,综合测试。其中前两个阶段又称为系统设计,后两个阶段又称为系统实现。
软件维护时期的任务:当软件在使用过程中发现错误应该加以改正;当环境改变时应该修改软件以适应新的环境;当用户有新的要求时应该及时改进软件的以满足用户的新需要。
—————————————————————————————————————————————————————————————————————————————
而软件生命周期模型规定了把生命周期划分成那些阶段级及各个阶段的执行顺序,因此,也称为过程模型。
各种模型的比较:
1.瀑布模型
优点:可强化开发人员采用规范的方法(例如,结构化技术);严格地规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品质量保证小组的仔细验证。
缺点:“瀑布模型”是由文件驱动的,用户只能通过文档来了解产品是什么样的,但是用户仅仅通过写在纸上的静态规格说明,很难全面的认识动态的软件产品。瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出来的软件不能真正的满足用户的需要。
使用范围:客户要求清楚全面,开发人员对软件应用领域很熟,用户使用环境稳定,用户参与开发要求度低。
2.快速原型模型
优点:可以得到比较良好的定义,容易适应需求的变化;有利于开发和培训的同步;开发费用降低,开发周期短,对用户更友好。
缺点:客户与开发者对原型的理解不同;准确的原型设计比较困难;不利于开发人员的创新。
使用范围:对所开发的领域比较熟悉而且有快速的原型开发工具;产品移植或者升级。
3.增量模型
优点:采用增量模型的优点是人员分配灵活,刚开始不用投入大量人力资源;如果核心产品很受欢迎,则可增加人力实现下一个增量;可以起到先发部“镇静剂”的作用。
缺点:并行开发有可能遇到不能集成的风险,软件必须具备开放式的体系结构;增量模型的灵活性可以使适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性。
使用范围:对已有产品的升级或者新版本的开发;对完成期限要求很高;对所开发的领域比较熟悉而且已有原型系统。
4.螺旋模型
优点:设计上的灵活性,可在项目的哥哥阶段进行变更;以晓得分段来构件大型系统,是成本的计算变得简单容易;客户始终参与每个阶段的开发,保证了项目不偏离的正确方向以及项目的可控性;能有效的和客户进行交互。
缺点:采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能及时标志风险,势必造成重大损失;过多的迭代次数或增加开发成本,延迟提交时间。
使用范围:只适合大规模的软件项目
答:软件的生命周期由软件定义,软件开发,运行维护(软件维护)3个时期组成,每个时期又进一步划分成若干个阶段。
软件定义时期的任务:确定软件工程必须完成的总目标;确定工程的可行性;导出实现工程目标应该采用的策略及系统必须完成的功能;估计完成该工程需要的资源和成本,并且制定工程进度表。
软件开发时期的任务:具体设计和实现在前一个时期定义的软件,他通常由下列4个阶段组成:总体设计,详细设计,编码和单元测试,综合测试。其中前两个阶段又称为系统设计,后两个阶段又称为系统实现。
软件维护时期的任务:当软件在使用过程中发现错误应该加以改正;当环境改变时应该修改软件以适应新的环境;当用户有新的要求时应该及时改进软件的以满足用户的新需要。
—————————————————————————————————————————————————————————————————————————————
而软件生命周期模型规定了把生命周期划分成那些阶段级及各个阶段的执行顺序,因此,也称为过程模型。
各种模型的比较:
1.瀑布模型
优点:可强化开发人员采用规范的方法(例如,结构化技术);严格地规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品质量保证小组的仔细验证。
缺点:“瀑布模型”是由文件驱动的,用户只能通过文档来了解产品是什么样的,但是用户仅仅通过写在纸上的静态规格说明,很难全面的认识动态的软件产品。瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出来的软件不能真正的满足用户的需要。
使用范围:客户要求清楚全面,开发人员对软件应用领域很熟,用户使用环境稳定,用户参与开发要求度低。
2.快速原型模型
优点:可以得到比较良好的定义,容易适应需求的变化;有利于开发和培训的同步;开发费用降低,开发周期短,对用户更友好。
缺点:客户与开发者对原型的理解不同;准确的原型设计比较困难;不利于开发人员的创新。
使用范围:对所开发的领域比较熟悉而且有快速的原型开发工具;产品移植或者升级。
3.增量模型
优点:采用增量模型的优点是人员分配灵活,刚开始不用投入大量人力资源;如果核心产品很受欢迎,则可增加人力实现下一个增量;可以起到先发部“镇静剂”的作用。
缺点:并行开发有可能遇到不能集成的风险,软件必须具备开放式的体系结构;增量模型的灵活性可以使适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性。
使用范围:对已有产品的升级或者新版本的开发;对完成期限要求很高;对所开发的领域比较熟悉而且已有原型系统。
4.螺旋模型
优点:设计上的灵活性,可在项目的哥哥阶段进行变更;以晓得分段来构件大型系统,是成本的计算变得简单容易;客户始终参与每个阶段的开发,保证了项目不偏离的正确方向以及项目的可控性;能有效的和客户进行交互。
缺点:采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能及时标志风险,势必造成重大损失;过多的迭代次数或增加开发成本,延迟提交时间。
使用范围:只适合大规模的软件项目
相关文章推荐
- Servlet3.1应用生命周期事件 (转载)
- 批量自动安装常用软件
- 批量自动安装常用软件
- 企业批量部署RealVNC远程控制软件
- 好用的Markdown编辑器一览
- 网上视频站 视频下载利器 优酷网 视频下载 必备 软件 下载[原创]_常用工具_脚本之家
- BAT批处理实现软件的自动安装(以搜狗拼音为例)
- nw.js实现类似微信的聊天软件
- 采用C#实现软件自动更新的方法
- C#判断某个软件是否已安装实现代码分享
- IIS 防盗链 软件
- android横竖屏切换时候Activity的生命周期
- android生命周期深入分析(一)
- IIS处理Asp.net请求和Asp.net页面生命周期说明
- ASP.NET Web页生命周期和执行的方法介绍
- 关于PHP5 Session生命周期介绍
- android判断软件是否第一次运行的方法
- Android静态变量的生命周期 简单介绍
- Android中Activity的生命周期探讨