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