软件工程复习笔记

时间:2024-04-17 10:01:54

一、软件工程概述

软件 = 程序 + 数据 + 相关文档

软件危机Software Crisis

指由于落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。 

软件工程三要素

方法、工具、过程

软件工程目标

在给定成本、进度的前提下,开发出满足用户需求且具有 可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性 的软件产品。

软件工程研究内容

软件开发技术

软件工程管理

二、软件生命周期模型

software life cycle

过程模型(Process Models)

九个传统软件生命周期模型:


瀑布模型

优点 缺点
软件生命周期的阶段划分不仅降低了软件开发的复杂程度,而且提高了软件开发过程的透明性,便于将软件工程过程和软件管理过程有机地融合在一起,从而提高软件开发过程的可管理性。 模型缺乏灵活性,特别是无法解决软件需求不明确或不准确的问题,这是瀑布模型最突出的缺点。因此,瀑布模型只适合于需求明确的软件项目。
 推迟了软件实现,强调在软件实现前必须进行分析和设计工作 模型的风险控制能力较弱。成品时间长;体系结构的风险和错误只有在测试阶段才能发现,返工导致项目延期。
瀑布模型以项目的阶段评审和文档控制为手段有效地对整个开发过程进行指导,保证了阶段之间的正确衔接,能够及时发现并纠正开发过程中存在的缺陷,从而能够使产品达到预期的质量要求。 软件活动是文档驱动的,文档过多会增加工作量,文档完成情况会误导管理人员。

 

螺旋模型

针对大型软件项目的特点提出。

特点:

事先不能完整清晰地定义需求;

往往存在着诸多风险因素

螺旋模型将瀑布模型与演化模型结合起来,并加入了两种模型均