《软件工程》课程教学大纲 英文名称: Software Engineering 课程编号 适用专业:计算机科学与技术 学时:54(包括实验学时:10) 学分:3 课程类别:专业基础课 课程性质:必修课 、课程的性质和目的 软件工程是计算机科学和技术及其相关专业的一门重要专业课,它主要讲述构建与维护 软件系统的方法、技术、流程、工具和规范 通过本课程的学习,可使学生既掌握软件工程的基本原理和方法,又具有设计、实现、 管理软件项目的初步能力,从而提高学生软件开发的能力。 学习本课程后,可为课程设计、毕业设计打下必要的基础 、课程教学內容 第一章软件工程概述 基本内容和要求: 1.了解软件危机概念与现象; 2.掌握软件工程的基本原理; 3.掌握软件生命周期 4.了解软件过程模型。 第二章可行性研究 基本内容和要求: 1.理解可行性研究的任务 2.掌握可行性研究过程; 3.了解系统流程图、数据流图、数据字典等图形的功能: 4.了解成本效益分析的一般方法 教学重点:系统的逻辑模型的描述方法。 教学难点:可行研究的过程 第三章需求分析 基本内容和要求: 1.掌握需求分析的基本任务: 2.了解与用户沟通获取需求的方法 3.掌握分析建模与规格说明 4.掌握状态转换图; 5.了解其它图形工具 6.理解如何验证软件需求。 教学重点
《软件工程 I》课程教学大纲 英文名称:Software Engineering 课程编号: 适用专业:计算机科学与技术 学时:54(包括实验学时:10) 学分: 3 课程类别:专业基础课 课程性质:必修课 一、课程的性质和目的 软件工程是计算机科学和技术及其相关专业的一门重要专业课,它主要讲述构建与维护 软件系统的方法、技术、流程、工具和规范。 通过本课程的学习,可使学生既掌握软件工程的基本原理和方法,又具有设计、实现、 管理软件项目的初步能力,从而提高学生软件开发的能力。 学习本课程后,可为课程设计、毕业设计打下必要的基础。 二、课程教学内容 第一章 软件工程概述 基本内容和要求: 1.了解软件危机概念与现象; 2.掌握软件工程的基本原理; 3.掌握软件生命周期; 4.了解软件过程模型。 第二章 可行性研究 基本内容和要求: 1.理解可行性研究的任务; 2.掌握可行性研究过程; 3.了解系统流程图、数据流图、数据字典等图形的功能; 4.了解成本/效益分析的一般方法。 教学重点:系统的逻辑模型的描述方法。 教学难点:可行研究的过程。 第三章 需求分析 基本内容和要求: 1.掌握需求分析的基本任务; 2.了解与用户沟通获取需求的方法; 3.掌握分析建模与规格说明; 4.掌握状态转换图; 5.了解其它图形工具 6.理解如何验证软件需求。 教学重点:
1.分析建模与规格说明 2.建模的图形描述。 教学难点:分析建模与规格说明方法 第四章总体设计 基本内容和要求: 1.理解总体设计的基本过程 2.掌握软件设计的原理 3.理解启发式原则 4.掌握描述软件结构的图形工具。 教学重点 1.设计原理 2.软件结构描述 教学难点:软件设计的基本原理 第五章详细设计 基本内容和要求: 1.掌握结构程序设计的原理 2.掌握过程设计的基本工具 3.理解面向数据流的设计方法 4.了解程序复杂程度的定量度量。 教学重点:结构程序设计原理 教学难点:面向数据流的设计方法。 第六章实现 基本内容和要求: 了解编码风格与语言分类 2.理解软件测试基础 3.理解单元测试的要点 4.理解集成测试的肆点 5.理解确认测试的要点 6.掌握白盒测试技术 7.掌握黑盒测试技术 8.掌握调试技术。 教学重点 1.软件测试基础 2.黑盒法和白盒法。 教学难点:黑盒测试技术与白盒测试技术 第七章维护 基本内容和要求: 1.理解软件维护的概念
1.分析建模与规格说明; 2.建模的图形描述。 教学难点:分析建模与规格说明方法。 第四章 总体设计 基本内容和要求: 1.理解总体设计的基本过程; 2.掌握软件设计的原理 3.理解启发式原则; 4.掌握描述软件结构的图形工具。 教学重点: 1.设计原理; 2.软件结构描述。 教学难点:软件设计的基本原理。 第五章 详细设计 基本内容和要求: 1.掌握结构程序设计的原理; 2.掌握过程设计的基本工具; 3.理解面向数据流的设计方法; 4.了解程序复杂程度的定量度量。 教学重点:结构程序设计原理; 教学难点:面向数据流的设计方法。 第六章 实现 基本内容和要求: 1.了解编码风格与语言分类; 2.理解软件测试基础; 3.理解单元测试的要点; 4.理解集成测试的肆点; 5.理解确认测试的要点; 6.掌握白盒测试技术; 7.掌握黑盒测试技术; 8.掌握调试技术。 教学重点: 1.软件测试基础; 2.黑盒法和白盒法。 教学难点:黑盒测试技术与白盒测试技术。 第七章 维护 基本内容和要求: 1.理解软件维护的概念;
2.了解软件维护过程 3.理解软件的可维护性 4.了解预防性维护 教学重点:软件可维护性。 教学难点:如何提高软件的可维护性。 第八章面向对象方法学引论 基本内容和要求: 1.理解面向对象方法学概述; 2.理解面向对象的概念; 3.掌握面向对象建模 4.理解对象模型 5.理解动态模型; 6.理解功能模型; 7.理解三种模型之间的关系 8.理解UML语言与建模方法。 教学重点 1.对象建模: 2.UML建模方法。 教学难点:对象建模方法的实际应用 第九章面向对象方法 基本内容和要求: 1.掌握面向对象分析 2.掌握面向对象设计 3.理解面向对象实现 教学重点 1.对象分析与建模技术 2.对象设计与建模技术 教学难点:如何使学生理解并掌握对象建模方法? 三、课程教学的基本要求 1.本课程的教学包括课堂讲授、学生自学、习题讨论、实验、作业、辅导答疑、期末 考试等教学环节。 2.课堂教学采用启发式或讨论式的教学方法,理论结合实际,引导学生加深对所学知 识的理解和应用,提高学生学习本课程的兴趣和积极性。 3.每一章内容都要通过实际项目案例地讲授,来提高教学效果 4.通过本课程的教学,学生在理解和掌握大纲所要求的知识内容的基础上,能正确地 应用这些知识解决实际问题,为后续课程的学习奠定坚实的基础 四、课程学时分配
2.了解软件维护过程; 3.理解软件的可维护性; 4.了解预防性维护。 教学重点:软件可维护性。 教学难点:如何提高软件的可维护性。 第八章 面向对象方法学引论 基本内容和要求: 1.理解面向对象方法学概述; 2.理解面向对象的概念; 3.掌握面向对象建模; 4.理解对象模型; 5.理解动态模型; 6.理解功能模型; 7.理解三种模型之间的关系; 8.理解 UML 语言与建模方法。 教学重点: 1.对象建模; 2.UML 建模方法。 教学难点:对象建模方法的实际应用。 第九章 面向对象方法 基本内容和要求: 1.掌握面向对象分析; 2.掌握面向对象设计; 3.理解面向对象实现; 教学重点: 1.对象分析与建模技术; 2.对象设计与建模技术。 教学难点:如何使学生理解并掌握对象建模方法? 三、课程教学的基本要求 1.本课程的教学包括课堂讲授、学生自学、习题讨论、实验、作业、辅导答疑、期末 考试等教学环节。 2.课堂教学采用启发式或讨论式的教学方法,理论结合实际,引导学生加深对所学知 识的理解和应用,提高学生学习本课程的兴趣和积极性。 3.每一章内容都要通过实际项目案例地讲授,来提高教学效果 4.通过本课程的教学,学生在理解和掌握大纲所要求的知识内容的基础上,能正确地 应用这些知识解决实际问题,为后续课程的学习奠定坚实的基础。 四、课程学时分配
讲课内容 1.软件工程学概述 2.可行性研究 3.需求分析 6 4.总体设讠 5.详细设计 6.实现 6 7.维护 8.面向对象方法学概述 9.面向对象方法 4604 五、建议教材与教学参考书 张海藩编《软件工程导论》,清华大学出版社,2004年 [2]周苏等编《软件工程学教程》,科学出版社,2004年; 3]邓良松等编《软件工程》,西安电子科技出版社,2000年 4](美) Roger s pressman著《软件工程实践者的研究方法》,机械工业出版社,1999 制订者(签字): 校对者(签字) 审定者(签章) 批准者(签章)
讲 课 内 容 学 时 1.软件工程学概述 4 2.可行性研究 4 3.需求分析 6 4.总体设计 6 5.详细设计 4 6.实现 6 7.维护 4 8.面向对象方法学概述 4 9.面向对象方法 6 实 验 10 合 计 54 五、建议教材与教学参考书 [1] 张海藩编《软件工程导论》,清华大学出版社,2004 年; [2] 周苏等编《软件工程学教程》,科学出版社,2004 年; [3] 邓良松等编《软件工程》,西安电子科技出版社,2000 年; [4] (美)Roger S.Pressman 著《软件工程实践者的研究方法》,机械工业出版社,1999。 制订者(签字): 校对者(签字): 审定者(签章): 批准者(签章):