第一章 概述
软件是计算机程序、规程以及运行计算机系统可能需要的相关文档和数据。根据软件服务对象的范围不同,一般可以将软件划分为通用软件和定制软件两种类型。软件的特性:1.软件是复杂的 2.软件是不可见的 3.软件是不断变化的 4.大多数软件仍然是定制的,而不是通过已有构件组装而成的。软件危机:1.软件开发的成本和进度难以准确估计,延迟交付甚至取消项目的现象屡见不鲜 2.软件存在着错误多,性能低,不可靠,不安全等质量问题 3.软件成本在计算机系统的整个成本中所占比例越来越大 4.软件维护极其困难,而且很难适应不断变化的用户需求和使用环境。
软件工程是①将系统性的、规范化的、可定量的方法应用于软件的开发、运行和维护,即将工程化应用到软件上;②对①中所述方法的研究。软件工程以关注软件质量为目标,由过程、方法和工具三个要素组成。软降质量是软件产品与明确的和隐含的需求相一致的程度,它通常由一系列的质量特性来描述。计算机辅助软件工程(CASE)是一组工具和方法的集合,用于辅助软件开发、维护、管理过程中的各项活动,促进软件过程的工程化和自动化,实现高效率和高质量的软件开发。当前面临的主要挑战:1.遗留系统的问题 2.高可信软件开发的要求 3.软件开发方式的变化。
SWEBOK项目的目的是为软件工程学科的边界提供一致确认的特征。SWEBOK的组成:1.软件需求 2.软件设计 3.软件构造 4.软件测试 5.软件维护 6.软件配置管理 7.软件工程管理 8.软件工程过程 9.软件工程工具与方法 10.软件质量。
IEEE/ACM职业道德准则
软件工程人员的职业道德建设