软件=程序+文档(服务)+数据(库)
一、软件危机原因:
1、软件生产不能满足日益增长的软件需求;
2、软件生产率随软件规模与复杂性的提高而下降;
3、软件开发进度与成本失控;
4、软件系统实现的功能与实际需求不符;
5、软件难以维护;
6、软件文档配置没有受到足够的重视;
软件危机产生的原因可以从两个方面加以认识:一是软件产品的固有特性(软件的不可见性和软件的规模和逻辑复杂性),二是软件专业人员的自身缺陷(没有掌握正确的软件开发方法,对软件的开发与维护存在许多模糊、错误的认识,不可避免地导致许多软件错误)。
二、软件工程的目标
狭义——软件工程的目标在于生产出满足预算、按期交付、用户满意的无缺陷的软件,进而当用户需求改变时,所产生的软件必须易于修改。
广义——提高软件的质量与生产率,最终实现软件的工业化生产。
软件生存周期包括软件定义、软件开发、软件测试、软件使用、软件维护等几个阶段
软件定义:
DDD49765-CF90-4CBB-9798-CF64684B4DC2.png软件开发:是按照需求规格说明的要求由抽象到具体,逐步生成软件的过程
DAAE2134-090F-487A-AFB8-F36589E49836.png软件测试:在测试过程中需要建立详细的测试计划并严格按照测试计划进行测试,减少测试的随意性。测试工作应着眼于整个软件生命周期。
9C916D6C-D9B5-4D4F-B000-3B60F8587141.png大量统计表明,软件测试工作量往往占软件开发总工作量的40%以上,其成本可高达软件工程其他步骤成本总和的3-5倍
软件维护:软件的维护是对软件系统进行修改或对软件需求变化做出反映的过程。软件的可维护性直接影响软件的应用和软件生存期。
软件的可维护性是与软件设计密切相关,因此在软件的开发过程中应该重视对软件可维护性的支持。
软件生命周期的最后一个阶段是终止对软件系统的支持,即软件停止使用。
网友评论