博客主页:作者主页
简介:JAVA领域优质创作者、一名在校大三学生、在校期间参加各种省赛、国赛,斩获一系列荣誉
关注我:关注我学习资料、文档下载统统都有,每日定时更新文章,励志做一名JAVA资深程序猿
本文将从几个方面来浅谈软件工程的知识,主要介绍软件过程,重点介绍了软件生命周期的基本任务及各个模型:瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型、(RUP统一过程、敏捷过程和极限编程、能力成熟模型)选讲。
主要知识点:软件生命周期的各个模型的应用及特点
重点:软件生命周期
难点:各模型的理解
人类社会已经跨入了21世纪,计算机系统已经渗入人类生活的各个领域,同时计算机软件已经发展成为当今世界最重要的技术领域。研究软件本身则产生了一门重要的学科就是软件工程。软件工程的研究领域包括软件的开发方法、软件的生命周期以及软件的工程实践等。
模型 | 优点 | 缺点 | 适用对象 |
---|---|---|---|
瀑布模型 | 规范,文档驱动 | 系统可能不满足客户真正的需求 | 明确需求,新领域,新团队 |
快速原型 | 克服了瀑布型的缺点 | 缺乏技术和标准 | 需求常变动,获取需求时使用 |
增量模型 | 开发早期回报明确,易于维护 | 要求开放的软件体系结构 | 用户参与度高,团队人员少,技术技能不足,需求不确定 |
螺旋模型 | 风险驱动,适用于大型项目开发 | 风险分析人员需要有经验且经过充分训练 | 自主研发 |
1.在前期需求明确的情况下尽量采用瀑布模型或改进型的瀑布模型。
2.在用户无信息系统使用经验,需求分析人员技能不足情况下一定要借助原型。
3.在不确定性因素很多,很多东西前面无法计划情况下尽量采用增量模型和螺旋模型。
4.在需求不稳定情况下尽量采用增量模型。
5.在资金和成本无法一次到位情况下可以采用增量模型,软件产品分多个版本进行发布。
6.对于完全多个独立功能开发可以在需求阶段就分功能并行,但每个功能内都应该遵循瀑布模型。
7.对于全新系统的开发必须在总体设计完成后再开始增量或并行。
8.增量,迭代和原型可以综合使用,但每一次增量或迭代都必须有明确的交付和出口准则。