软件工程复习提纲,期末、考研的学霸笔记
第一章——软件工程基本概念
第一章软件工程基本概念
软件危机的概念:指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
软件危机包含两方面的问题:1)如何开发软件以满足对软件日益增长的需求;
2)如何维护数量不断膨胀的已有软件。
软件危机的原因:1)与软件本身的特点有关;2)和软件开发与维护的方法不正确有关。
软件危机的消除途径:解决软件危机,既要有技术措施(方法和工具), 又要有必要的组织管理措施。
软件工程的概念:软件工程就是为了经济地获得可靠的且能在实际机器上有效地运行的软件,而建立和使用完善的工程原理。
软件工程的基本原理:1)用分阶段的生命周期计划严格管理
2)坚持进行阶段评审
3)实行严格的产品控制
4)采用现代程度设计技术
5)结果应能清楚地审查
6)开发小组的人员应该少而精
7)承认不断改进软件实践的必要性
软件工程方法学(3个要素):通常把在软件生命周期全过程中使用的一整套技术方法的集合称为
方法学,也称为范型。三要素:方法、工具和过程。
软件生命周期: 从软件定义、软件开发和运行维护,直到最终被废弃,要经历一个漫长的时期,
通常把软件经历的这个漫长的时期称为生命周期。
1)软件定义:问题定义、可行性研究和需求分析;
2)软件开发:总体设计、详细设计、编码和单元测试、综合测试;
(前两个称系统设计,后两个称系统实现)
3)运行维护:软件维护;
软件过程及其特点:为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任
务的工作步骤。
1)瀑布模型:a.阶段间具有顺序性和依赖性;①前一阶段的工作完成后,才
能开始后一阶段的工作; ②前一阶段的输出文档是后一阶段的
输入文档,前一阶段的输出文档正确,后一阶段的工作才能获
得正确的结果。
b.推迟实现的观点;对于规模较大的软件项目来说,往往编码
开始得越早最终完成开发工作所需要的时间反而越长。
c.质量保证的观点;①每个阶段都必须完成规定的文档。
②每个阶段结束前都要对所完成的文档进行评审,以便尽早发
现问题,改正错误。
优点:文档驱动。
缺点:①需求模糊的系统可能不满足用户需求。
②线性模型太理想化太单纯,不再适合现代的软件开发模式,几乎被
淘汰。但是“线性”是人们最容易掌握并能熟练应用的思想方法。
2)快速原型模型:a.快速开发工具b.循环c.低成本。
优点:关注满足客户需求。
缺点:快速原型内部结构并不重要,重要的是迅速构建原型,并迅速修改,
以反应客户需求。可能导致系统设计差,效率低,难于维护。一旦需
求确定,往往快速原型将被抛弃。
3)增量模型(渐增模型):
优点:开发早期反馈及时(分批逐步的向用户提交产品,用户可完成部分工
作),易于维护。
缺点:需要非常好的体系结构,如果体系结构不够强壮可能导致设计差,效
率低。
4)螺旋模型:瀑布模型+快速原型+风险分析;迭代过程
优点:由风险驱动,支持现有软件的重用。
缺点:软件开发人员应该擅长寻找可能的风险,准确地分析风险,否则将会
带来更大的风险。
适用范围:只适用于大规模软件项目,特别是内部项目。
5)喷泉模型:a.主要用于支持面向对象开发过程,支持软件复用和生存期中多
项开发活动的集成。
b.体现了软件创建所固有的迭代和无间隙的特征,在各项开发活
动,即分析、设计和编码之间不存在明显的边界。
优点:减少了不一致性,降低了出错的可能性。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!