软件工程概述;内容;1.11950s-1960s的计算机软件应用背景;IBM360OS软件开发实践及其面临的挑战;1960s的软件开发特点:个体作坊式软件开发;1.2个体作坊式创作面临的问题和挑战;作坊式软件开发需要解决的问题;软件开发面临的挑战日趋突出;1.3软件危机的出现;1.3.1开发成本高;1.3.2进度难以控制;1.3.3质量难以保证;软件质量低下带来的问题和后果;1.3.4软件维护困难;1.3.5软件项目失败风险很大;1.4软件危机的产生根源;如何解决软件危机?;内容;2.1软件工程的诞生;软件工程产生的动机;2.2何为软件工程?;软件工程对软件开发的新认识;软件开发思想和方式的改变;2.3软件工程的三要素;2.3.1过程(Process);2.3.2方法(Methodology);2.3.3工具(Tool);2.4计算机辅助软件工程;CASE工具和环境;计算机辅助软件工程工具;计算机辅助软件工程环境;CASE工具和环境的变化;示例:CASE工具和环境;典型的CASE工具和环境;思考和讨论:你知道的CASE工具和环境;2.5软件开发的本质;2.6软件工程的目标;2.7软件工程原则;原则1:抽象和建模;原则2:模块化;原则3:软件重用;原则4:信息隐藏;原则5:关注点分离;原则6:分而治之;原则7:双向追踪原则;原则8:工具辅助;思考和讨论:编程过程中用到的软件工程原则;内容;;1950s-1960s;1970s;1980s;1990s;2000-2010;2010-;软件工程发展的特点;软件开发理念的变化;软件工程技术进步的特点;软件工程的多学科交叉;软件工程的变与不变;3.2我国软件工程发展;内容;4.1软件工程从业人员的多样性;软件工程从业人员的技术和能力要求;软件工程师的职业道德;示例:软件工程师需要遵循职业道德;示例:软件工程师需要遵循社会伦理;4.2软件工程的知识领域;“软件工程专业”开设的课程;拓展阅读;课后作业和课程实训;本章知识图谱;小结;综合实践1;综合实践2;课后实践;问题和讨论