软件工程是为了解决开发成本效益和软件质量的问题而产生的。当前,软件工程仍然是一个正在迅速兴起的年轻学科,尚未形成完整的理论知识体系,需要大量的理论研究和工程实践。我们相信,随着该学科的日益成熟,软件工程必将对未来的软件开发产生更大的推动力。
1 软件可分为通用软件和定制软件。
2 软件的特性:
1 软件是复杂的 2 软件是不可见的 3 软件是不断变化的 4 大多数软件仍然是定制的,而不是通过已有构件组装而成。
3 软件的发展
1 第一阶段:20世纪50-60年代 2 第二阶段:20世纪70年代 3 第三阶段:20世纪80年代 4 第四阶段:20世纪90年代至今
4 软件危机
1 软件开发费用和进度失控。费用超支、进度拖延的情况屡屡发生。2 软件存在很多质量问题 3 软件成本在整个计算机系统的所占比例越来越大 4 软件维护及其困难
5 软件工程的三要素
软件工程已关注软件质量为目标,由过程,方法和工具三要素组成。
6 Computer Aided Software Engineering(CASE——计算机辅助软件工程) 帮助进行应用程序开发的软件,包括分析、设计和代码生成。CASE工具为设计和文件编制传统结构编程技术,提供了自动的方法。 CASE是一组工具和方法集合,可以辅助软件开发生命周期个阶段进行软件开发。
7 当前面临的挑战
1遗留系统问题 2 高可信软件开发的要求 3 软件开发方式的变化
8 SWEBOK项目的目的是为软件工程学科的边界提供一致确认特性,为支持该学科知识体系提供指导。具体分为:1 软件需求 2 软件设计 3 软件构造 4 软件测试 5 软件维护6软件配置管理 7 软件工程管理 8 软件工程过程 9 软件工程工具与方法 10 软件质量
9 软件工程职业道德规范
1 IEEE/ACM职业道德准则
2 软件工程人员的职业道德建设