软件工程概论第一章介绍了软件,软件工程,软件工程知识体系和软件工程职业道德规范,系统且全面地地阐述了什么是软件工程,怎样进行软件需求分析,设计,开发,测试和维护等等。
IEEE规定软件是计算机程序,规程以及运行计算机系统可能需要的相关文档和数据。根据软件服务对象的范围不同,一般可以将软件划分为通用软件和定制软件。软件的特性:1 复杂性 2 不可见性 3 不断变化性 4大多数软件仍然是定制的,而不是通过已有构件组装而成的。软件发展分为四个阶段: 第一阶段:20世纪50-60年代 第二阶段:20世纪70年代 第三阶段:20世纪80年代 第四阶段:20年代90年代至今。软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题。例如:1 软件开发的成本和进度难以准确估计,延迟交付甚至取消项目的现象屡见不鲜。2 软件存在着错误多,性能低,不可靠,不安全等质量问题。 3 软件成本在计算机系统的整个成本中所占比例越来越大。 4 软件维护极其困难,而且很难适应不断变化的用户需求和使用环境。
软件工程是将系统性的,规范化的,可定量的方法应用于软件的开发,运行和维护,即将工程化应用到软件上。软件工程不仅是工程概念在软件领域里的一个特定应用,也涉及到软件产品的所有环节。软件工程的三要素是过程,方法和工具。软件质量是软件产品与明确的和隐含的需求相一致的程度,它通常由一系列的质量特性来描述。传统的软件开发方法主要是以功能分析和数据分析为基础的结构化方法。当今,软件开发的主流方法是面向对象方法。计算机辅助软件工程CASE是一组工具和方法的集合,用于辅助软件开发,维护和管理过程中的各项活动,促进软件过程的工程化和自动化,实现高效率和高质量的软件开发。软件工程当前面临的主要挑战:1 遗留系统的问题 2 高可信软件开发的要求 3软件开发方式的变化。
软件工程知识体系SWEBOK组成:1 软件需求。2 软件设计。3 软件改造。4 软件测试。5 软件维护。6 软件配置管理。7 软件工程管理。8 软件工程过程。9 软件工程工具与方法。 10 软件质量。
软件工程将计算机科学,数学,工程学和管理学等基本原理应用于软件开发的工程实践中,并借鉴传统工程的原则和方法,以系统的,可控的,有效的方式产生高质量的软件。
软件工程职业道德规范包括IEEEACM职业道德准则和软件工程人员的职业道德建设。遵纪守法是软件工程人员应具备的基本素质。服务客户,造福社会是软件工程人员必须牢固树立的观念。诚实守信是软件工程人员职业道德的核心所在。