1、软件工程教学大纲一、课程概述本课程向学生介绍和大型软件相关的规划. 分析. 设计. 实现. 测试. 维护等概念. 原理. 技术和工具,同时向学生讲述传统的结构化开发方法和当前流行的面向对象开发方法。要求学生牢固掌握软件生命周期. 软件质量. 软件成本等基本概念以及传统的结构化分析. 设计和实现方法;掌握面向对象软件工程的基本概念和表示技术,基本掌握软件开发中的管理技术。通过本课程的学习,让学生对软件工程学有一个全貌的了解,对其所涉及的基本概念. 原理. 方法和有关技术逐步领会并进行运用。要求学生能够在已有的程序设计. 数据结构. 数据库等理论基础上,为今后进行实际的软件开发奠定一个良好的基础。
2、本课程应强调实际运用,最好在教学中安排学生参予系统开发的策划. 分析. 设计. 编码. 测试等阶段工作的环节,积极引导学生从个人的单纯编程活动转移到进行系统分析和设计方面上来。如果受条件所限,可让学生在毕业设计中将这一环节补上。本课程的先修课程为“面向对象程序设计”. “数据结构和算法”和“数据库”。本课程的后续课程可以为“程序设计方法学”和“算法分析和设计”。二、课程目标1 知道软件工程这门学科的性质. 地位. 独立价值. 研究范围. 基本框架. 研究方法. 学科进展和未来方向等。2 理解该门学科的主要概念. 基本原理和策略等。3 学会运用一些具体的策略或技术等,如软件测试过程中所用到的黑盒
3、测试法和白盒测试法。4 能够把所学的原理应用到具体的实践中去,如对于具体系统开发过程中所遇到的问题能够自行进行处理,培养学生发现. 分析和解决问题的能力等。三、课程内容和教学要求这门学科的知识和技能要求分为知道、理解、掌握、学会四个层次。这四个层次的一般涵义表述如下:知道是指对这门学科和教学现象的认知。理解是指对这门学科涉及到的概念、原理、策略和技术的说明和解释,能提示所涉及到的教学现象演变过程的特征、形成原因以及教学要素之间的相互关系。掌握是指运用已理解的教学概念和原理说明、解释、类推同类教学事件和现象。学会是指能模仿或在教师指导下独立地完成某些教学知识和技能的操作任务,或能识别操作中的一般
4、差错。教学内容和要求表中的“”号表示教学知识和技能的教学要求层次。本标准中打“*”号的内容可作为自学,教师可根据实际情况确定要求或不布置要求。教学内容教学要求知道理解掌握学会1. 软件工程学概述1.1软件危机1.2软件工程基本概念2. 可行性研究2.1可行性研究任务2.2可行性研究过程2.3系统流程图2.4数据流图2.5数据字典2.6成本/效益分析3. 需求分析3.1需求分析的任务和过程3.2结构化分析方法3.3其它需求分析方法及工具4. 总体设计4.1软件设计的基本概念和原理4.2模块独立性4.3软件设计原则4.4总体设计过程4.5结构化设计方法SD5. 详细设计5.1 结构化程序设计5.2
5、 详细设计工具5.3 JSP方法5.4 Warnier方法6. 编码6.1 编程语言6.2 编程风格6.3编程工具6.4 程序复杂性度量7. 软件测试7.1测试原则7.2测试过程和步骤7.3测试用例设计技术7.4纠错技术7.5自动测试工具7.6测试文档8. 系统维护8.1系统维护分类8.2系统维护的特点8.3软件可维护性9. 面向对象方法学9.1面向对象方法的引入9.2面向对象方法的特点9.3面向对象建模9.4面向对象分析的基本原则和基本过程9.5 面向对象设计的准则9.6 面向对象的实现9.7 主要面向对象方法评述10. 软件项目管理和计划11. 软件工程前沿问题讨论四、课程实施1、 课时安
6、排和教学建议。包括每周安排的课时数和总课时数。一般情况下,软件工程每周安排3课时,共54课时。函授生视具体情况而定,一般为54课时, 其中理论课22课时,实验课10课时,自学22课时。具体课时安排如下:教学内容课时建议教和学的方法建议按54课时计按22课时计1 引论2学时讲课2学时自学2学时讲授为主2 系统分析4学时讲课1学时自学2学时讲授为主并辅以实例讨论. 分析3 需求分析6学时讲课3学时实验和自学5学时讲授为主并辅以实例讨论. 分析4 总体设计6学时讲课3学时实验和自学5学时讲授为主并辅以实例讨论. 分析5 详细设计4学时讲课1学时自学2学时讲授为主并辅以实例讨论. 分析6 编码4学时自
7、学2学时讲授为主7 软件测试5学时讲课4学时实验和自学4学时讲授为主并辅以实例讨论. 分析8 系统维护4学时讲课2学时自学2学时讲授为主9 面向对象技术16学时讲课4学时自学6学时讲授为主并辅以实例讨论. 分析10 软件项目管理和计划2学时讲课2学时自学2学时讲授为主并辅以实例分析11 软件工程前沿问题讨论1学时讲授和讨论2. 教学组织形式和教学方法要求。(1)打破传统的教学模式,注意教学方法的灵活性,建立多种教学媒体综合运用的运行机制,逐步建立适合学生个别化自主学习的支持服务体系和质量保证体系。(2)充分发挥学生的主动性,并能激发学生的学习热情,使学生会学和主动学习。注意教学方法的灵活性,组
8、织学生自我经验叙述、讨论、问题教学、阅读指导等(3)培养学生发现问题. 分析问题. 解决问题的能力和探究意识。五、教材编写和选用教材:1 张海藩,“软件工程导论”(第五版),清华大学出版社,2008参考资料:2 郑人杰,殷人昆,陶永雷,“实用软件工程”,清华大学出版社,19973 陈宏刚,张亚勤等,“软件开发的科学和技术”,电子工业出版社,20024 邵维忠. 杨芙清,“面向对象的系统分析”,清华大学出版社. 广西科学技术出版社,19985 林锐,“高质量程序设计指南C+/C语言”,电子工业出版社,20026 黄思曾. 陈仲驹,“软件开发规范的实施文档”,中山大学出版社,19917 Grady
9、 Booch, “Object Oriented Software Engineering with Application”,2nd edition, Benjamin/Cummings, 19948 Myers,“the Art of Software Testing”, Prentice Hall,19799 GB8566-88,“计算机软件开发规范”,国家标准局,198810 GB8567-88,“计算机软件产品开发文件编制指南”,国家标准局,198811 GB/T11457-89,“软件工程术语”,国家技术监督局,198912 何坚,高洪江,李顺东,“软件工程和管理”,清华大学出版社
10、,200513 王慧芳,毕建权,“软件工程”,浙江大学出版社,2007六、课程评价1. 这门学科的评价依据是本课程标准规定的课程目标. 教学内容和要求。2. 考试时间:120分钟。3. 考试方式. 分制和分数解释采用开卷笔试的期终考试方式,以百分制评分,60分为及格,满分为100分。其中,平时成绩为30分,期终考试卷面为70分。4. 题型:单选题,简答论述,应用分析题。5. 样题和目标定位示例A 单选题软件质量保证是为了满足( )的需要而进行的活动。(A)程序员 (B)用户 (C)测试人员 (D)操作员B简答论述题1非渐增式测试和渐增式测试的区别C应用分析题某校拟对参加CET-4级考试成绩好的同学进行奖励,成绩合格的奖励50元,成绩在80分以上的奖励100元,成绩在90分以上的奖励200元,并公布获奖成绩及所获奖金。编写程序流程图,设计测试数据,写出测试路径及所满足的覆盖条件。制定该课程标准小组成员 审核者: 7 / 7