第一章1、软件概念:由计算机程序,数据,软件文档组成软件的特点:无法直接观察它的物理形态,只能通过观察他的是实际运行情况来了解他的功能特性和质量等;人们在分析设计开发测试过程以及软件开发项目的管理过程中渗透了大量的人类的脑力劳动;不存在磨损和老化但存在缺陷维护和技术更新的问题;开发运行依赖一定的计算机系统环境;具有可复用性软件的分类:按功能分:系统支撑应用软件;按服务对象:通用定制软件;按规模:大中小型软件;按工作方式:实时分时交互式批处理2、软件危机:是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件的开发与维护过程中出现一系列严重问题的现象
主要表现:开发人员开发的软件产品不能完全满足用户的需求;软件产品的质量难以得到保障;开发周期开发经费和维护费用很难被准确估计从而给项目的管理带来很多麻烦;随着技术的更新,用户的扩大,已有的软件产品不能灵活地适应环境的改变;软件文档不完备并且存在文档内容与软件产品不符的情况
原因:①软件开发是一项复杂的工程,需要用科学的工程化思想来组织和指导软件开发的各个阶段②没有完善的质量保证体系③软件文档的重要性没有得到软件开发人员和用户的足够重视④从事软件开发的专业人员对这个产业认识不够充分缺乏经验⑤软件独有的特点也给软件的开发和维护带来困难3、软件工程是指应用计算机科学与技术,数学和管理学的原理,运用工程学理论方法和技术,研究和指导软件开发和演化的一门交叉学科
软件工程的目标:使软件开发的成本控制在预计的合理范围内;使软件产品的各项功能和性能能够满足用户需求;提高软件产品的可靠性;使生产出来的软件产品易于移植维护升级和使用;使软件产品的开发周期能够控制在预计的合理时间范围内
软件工程学科内容:软件工程原理过程方法模型管理度量环境应用
软件工程的基本原则:将软件的生命周期划分为多个阶段,对各个阶段实施严