软件在现代生产生活中发挥越来越重要的作用。软件工程是为了解决开发成本效益和软件质量的问题而产生的。
什么是软件:软件是计算机程序、规划以及运行计算机系统可能需要的相关文档和数据。
从软件的内容来看,软件更像是一种嵌入式的数字化知识,其形成是一个通过交互对话和抽象理解而不断演化的过程。
根据软件服务对象的范围不同,一般可以将软件划分为通用软件和定制软件两种类型。
软件的特性:
- 软件是复杂的
- 软件是不可见的
- 软件是不断变化的
- 大多数软件仍然是定制的,而不是通过已有构件组装而成的。
软件的发展分为四个阶段:
20世纪50~60年代——软件危机
20世纪70年代
20世纪80年代
20世纪90年代至今
软件危机:
- 软件开发的成本和进度难以准确估计,延迟交付甚至取消项目的现象屡见不鲜
- 软件存在着错误多,性能低,不可靠,不安全等质量问题。
- 软件成本在计算机系统的整个成本中所占比例越来越大。
- 软件维护极其困难,而且很难适应不断变化的客户需求和使用环境。
软件工程定义:
最初:软件工程是为了经济地获得能够在实际机器上高效运行的可靠软件而建立和使用的一系列好的工程化原则。
全面定义:软件工程是(1)将系统性的、规范化的、可定量的方法应用于软件的开发、运行和维护,即将工程化应用到软件上;(2)对(1)中所述方法的研究。
软件工程的三要素:过程,方法和工具。
软件工程当前面临的主要挑战:
- 遗留系统的问题。
- 高可信软件开发的要求。
- 软件开发方式的变化
SWEBOK的组成:
- 软件需求
- 软件设计
- 软件构造
- 软件测试
- 软件维护
- 软件配置管理
- 软件工程管理
- 软件工程过程
- 软件工程工具与方法
- 软件质量
软件工程与其他相关学科的关系:
软件工程是一门交叉性的工程学科,它将计算机科学、数学、工程学和管理学等基本原理应用于软件开发的工程实践中,并借鉴传统工程的原则和方法,以系统的、可控的、有效的方式产生高质量的软件。
软件工程人员的职业道德建设:
- 遵纪守法是软件工程人员应具备的基本素质。
- 服务客户、造福社会是软件工程人员必须牢固树立的观念。
- 诚实守信是软件工程人员职业道德的核心所在。
时间: 2024-11-05 21:44:59