
2010版030541001软件工程教学大纲.doc
5页《软件工程》课程教学大纲课程代码:课程英文名称:Software Engineering课程总学时:40 讲课:40 实验:0 上机:0适用专业:计算机科学与技术大纲编写(修订)时间:2010年7月一、大纲使用说明(一)课程的地位及教学目标软件工程是计算机科学技术的重要分支,一个异常活跃的研究领域它随着信息化社会的到来和计算机在各个领域的广泛应用越来越显示出重要的作用本课程的目的在于培养学生用工程化的原理及方法开发软件系统,把专业知识同实际项目结合起来,为将来从事计算机软件的开发及维护工作打下坚实的基础对于培养学生的软件素质,提高学生的软件开发能力与软件项目管理能力具有重要的意义 (二)知识、能力及技能方面的基本要求通过教学环节,让学生了解软件项目开发采用的各种方法和模型,并掌握两种典型的开发方法,即传统方法学和面向对象方法学基于这两种方法学,掌握软件工程的基本原理、概念和在开发过程的不同时期所使用的具体方法及各种文档描述工具要求学生具有较强的独立分析、设计、编程及测试能力,并能形成完备的软件开发文档 (三)实施说明 在教学环节中,围绕实例讲授方法以传统方法学为重点,突出一个模型和一个方法,即瀑布模型和结构化开发方法。
在掌握传统方法学的基础上,扩展到面向对象方法学,突出该方法学的特点和优点,并以UML作为标准来建立模型 (四)对先修课的要求本课程的教学必须在完成先修课程之后进行本课程主要的先修课程为: C语言程序设计,面向对象程序设计 (五)对习题课、实验环节的要求1.结合理论教学各部分的内容,围绕一个小规模软件,将开发各阶段的文档作为综合性作业该作业成绩作为平时成绩的一部分2.针对实践性较强、方法比较集中的章节设置2-3次习题课对重点、难点进行深入的讲解,使学生得到充分的练习 (六)课程考核方式1.考核方式:本课程考核采用闭卷、考试方式进行2.考核目标:主要考核学生对软件工程基本理论的掌握程度,以及对两种方法学的理解在掌握基本理论的基础上,还要考核学生对软件生命周期各阶段所采用方法的应用能力3.成绩构成:平时成绩占30%、考试成绩占70%其中平时成绩包括期中考试、作业、考勤、小测验等七)参考书目《软件工程导论(第5版)》,张海藩编,清华大学出版社,2008.2《软件工程》,郑人杰编,人民邮电出版社,2009.11《软件工程面向对象和传统的方法(第7版)》,Stephen R.Schach编,邓迎春译,机械工业出版社,2007.8《现代软件工程》,张家浩编,机械工业出版社,2009.1《软件工程方法与实践》,窦万峰编,机械工业出版社,2009.5《软件工程导论学习(第5版)》,张海藩编,清华大学出版社,2008.9 二、中文摘要软件工程计算机科学与技术专业学生必修的一门主干课程,是一门研究软件开发与维护的普遍原理和技术的工程学科。
现在它已成为计算机科学技术的一个重要分支,一个异常活跃的研究领域通过本课程的学习,学生可以掌握软件工程方法学的理论、方法和技术,并将其应用到软件的开发上严格遵循软件工程方法论可以大大提高软件开发的成功率,能够显著减少软件开发和维护中的问题课程主要内容包括软件工程学概述、传统方法学、面向对象方法学和软件项目管理本课程将为后续课程的学习以及相关课程设计、毕业设计等奠定重要的基础三、课程学时总体分配表序号章节名称学时讲课实验上机1软件工程学概述44002传统方法学2222002.1可行性研究42.2需求分析42.3总体设计42.4详细设计42.5实现42.6维护23面向对象方法学1212003.1面向对象方法学引论43.2面向对象分析43.3面向对象设计23.4面向对象实现24软件项目管理2200合计404000四、大纲内容第1部分 软件工程学概述 总学时:4 讲课:4 实验:0 上机:0 具体内容: 1) 软件危机;2) 软件工程;3) 软件生命周期;4) 软件过程重点:软件工程的基本原理、软件生命周期和主要开发模型难点:软件工程的本质,不同开发模型的区别第2部分 传统方法学 总学时:22 讲课:22 实验:0 上机:0 第2.1部分 可行性研究(讲课4学时)具体内容: 1) 可行性研究的任务;2) 可行性研究的过程;3) 系统流程图;4) 数据流图;5) 数据字典;6) 成本/效益分析。
重点:可行性研究的过程,以及系统流程图和数据流图的绘制难点:区分系统流程图和数据流图的不同作用第2.2部分 需求分析(讲课4学时)具体内容: 1) 需求分析的任务;2) 与用户沟通获取需求的方法;3) 分析建模与规格说明;4) 实体-联系图;5) 数据规范化;6) 状态转换图;7) 其他图形工具;8) 验证软件需求重点:需求分析模型的建立和建模方法难点:如何建立数据模型、功能模型和行为模型,以及三个模型之间的关系第2.3部分 总体设计(讲课4学时)具体内容: 1) 设计过程;2) 设计原理;3) 启发规则;4) 描绘软件结构的图形工具;5) 面向数据流的设计方法重点:设计原理和面向数据流的设计方法难点:将模块独立性设计原理应用到设计方法中,掌握面向数据流的设计方法第2.4部分 详细设计(讲课4学时)具体内容: 1) 结构程序设计;2) 人机界面设计;3) 过程设计工具;4) 面向数据结构的设计方法;5) 程序复杂程度的定量度量重点:过程设计工具和面向数据结构的设计方法难点:熟练使用过程设计工具,掌握面向数据结构的设计方法第2.5部分 实现(讲课4学时)具体内容: 1) 编码;2) 软件测试基础;3) 单元测试;4) 集成测试;5) 确认测试;6) 白盒测试技术;7) 黑盒测试技术;8) 调试;9) 软件可靠性。
重点:软件测试的步骤、方法和技术难点:不同集成测试策略的分析和比较,掌握白盒测试技术和黑盒测试技术第2.6部分 维护(讲课2学时)具体内容: 1) 软件维护的定义;2) 软件维护特点;3) 软件维护过程;4) 软件的可维护性;5) 预防性维护;6) 软件再工程过程重点:软件维护的特点、过程和可维护性难点:如何在软件开发过程中保证软件的可维护性第3部分 面向对象方法学 总学时:12 讲课:12 实验:0 上机:0 第3.1部分 面向对象方法学引论(讲课4学时)具体内容:1) 面向对象方法学概述;2) 面向对象的概念;3) 面向对象建模;4) 对象模型; 5) 动态模型;6) 功能模型;7) 3种模型之间的关系重点:面向对象的概念和面向对象建模难点:基于UML建立对象模型第3.2部分 面向对象分析(讲课4学时)具体内容:1) 面向对象分析的基本过程;2) 需求陈述;3) 建立对象模型;4) 建立动态模型;5) 建立功能模型;6) 定义服务重点:面向对象分析的基本过程和建立面向对象的三个模型难点:如何定义系统中的对象,以及确定对象之间的关系第3.3部分 面向对象设计(讲课2学时)具体内容:1) 面向对象设计的准则;2) 启发规则;3) 软件重用;4) 系统分解;5) 设计问题域子系统;6) 设计人机交互子系统;7) 设计任务管理子系统;8) 设计数据管理子系统;9) 设计类中的服务;10) 设计关联;11) 设计优化。
重点:启发规则和各个子系统的设计难点:如何设计问题域子系统和设计的优化第3.4部分 面向对象实现(讲课2学时)具体内容:1) 程序设计语言;2) 程序设计风格;3) 测试策略;4) 设计测试用例重点:面向对象测试难点: 如何选择测试策略和设计测试用例第4部分 软件项目管理 总学时:2 讲课:2 实验:0 上机:0 具体内容:1) 估算软件规模;2) 工作量估算;3) 进度计划;4) 人员组织;5) 质量保证;6) 软件配置管理;7) 能力成熟度模型重点:明确各种管理的实质,掌握定量指标的计算方法及定性指标的度量难点:定量指标的计算方法的选择及定性指标的度量编写人:祁 燕 关启学 王 纪审核人:姜学军 批准人:张焕君 由于考前忙于复习,基本不会花时间了解有关信息,等高考结束后,又不知如何了解到有效信息所以,无论考前还是考后,家长在报考学校这一环节付出精力较多,也愿意出资获取信息帮助孩子多了解高校信息。
