软件工程教学大纲(正式版)_第1页
软件工程教学大纲(正式版)_第2页
软件工程教学大纲(正式版)_第3页
软件工程教学大纲(正式版)_第4页
软件工程教学大纲(正式版)_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件工程导论课程教学大纲一、课程基本信息课程编号:英文名称名:Software Engineering总学时:54学时学分:3课程类别:专业必修课适用专业:全校本(专)计算机科学与技术先修课程:数据结构,大学数学,离散数学,计算机算法设计。二、课程性质与目的、要求 软件工程是计算机专业的一门工程性基础课程,在软件工程学科人才培养体系中占有重要的地位。软件开发是建立计算机应用系统的重要环节,人们通过软件工程学把软件开发纳入工程化的轨道,而软件工程学是用以指导软件人员进行软件的开发、维护和管理的科学。 软件工程已成为高等学校计算机软件教学体系中的一门核心课程,本课程以IEEE最新发布的软件工程知识

2、体系为基础构建内容框架,注重贯穿软件开发整个过程的系统性认识和实践性应用,以当前流行的统一开发过程、面向对象技术和UML语言作为核心,密切结合软件开发的先进技术、最佳实践和企业案例,力求从“可实践” 软件工程的角度描述需求分析、软件设计、软件测试以及软件开发管理,使学生在理解和实践的基础上掌握当前软件工程的方法、技术和工具。通过本课程的学习,要求学生能掌握软件工程的基本概念、基本原理、开发软件项目的工程化的方法和技术及在开发过程中应遵循的流程、准则、标准和规范等;学生应能掌握开发高质量软件的方法,以及有效地策划和管理软件开发活动,为学生参加大型软件开发项目打下坚实的理论基础。本课程注重培养学生

3、理论应用于实践的能力,课堂上教师向学生讲述软件工程中的相关原理和概念,并通过课程设计,培养学生对整个软件开发过程的能力,让学生能切实体会到软件工程在实践中的指导作用,并按软件工程的要求完成规范的各项软件开发文档。本课程对提高学生的软件开发能力和项目管理能力有重要的现实意义。三、教学内容及学时分配本课程的教学内容共分十三章。第1章 软件工程学概述(2课时)学习目的与要求:通过本章的学习,了解和掌握软件工程的基本概念(如软件和软件工程的定义、等),软件危机的表现形式、产生的原因及消除的途径,软件工程的基本原理、方法学,软件的生存期,几种主要的软件开发模型等。知识点:软件危机的产生、典型表现形式、产

4、生的原因及消除的途径;软件工程的基本原理、包括软件工程的定义、特性、方法学;二种主要的软件开发方法;软件生存周期;软件过程、几种主要的开发模型。1.1 软件危机1.2 软件工程1.3 软件生命周期1.4 软件过程1.5 小结第2章 可行性研究(4课时)学习目的与要求:深刻理解可行性研究的必要性,掌握可行性研究的任务、过程、成本效益分析以及可行性研究报告的主要内容;掌握系统流程图、数据流程图、数据字典概念以及项目开发计划的基本内容。 知识点:可行性研究的任务、具体步骤、成本效益分析、可行性研究报告;系统流程图;数据流图;数据字典。2.1 可行性研究的任务2.2 可行性研究过程2.3 系统流程图2

5、.4 数据流图2.5 数据字典2.6 成本/效益分析2.7 可行性研究报告2.8小结第3章 需求分析(6课时)学习目的与要求:掌握需求分析的任务,需求获取的方法、分析建模与需求规格说明,掌握数据建模的实体了解图、数据规范化,掌握描述系统行为模型的状态转换图,掌握层次方框图、Warnier图、IPO(HIPO)图。掌握验证软件需求的必要性、方法。知识点:需求分析的任务,需求获取、分析建模与需求规格说明;实体了解图与数据规范化;状态转换图;层次方框图; Warnier图;IPO(HIPO)图;验证软件需求。3.1 需求分析的任务3.2 与用户沟通获取需求的方法3.3 分析建模与规格说明3.4 数据

6、规范化3.5 验证软件需求3.6 小结第4章 形式化说明技术(2课时)学习目的与要求:掌握形式化方法的概念、优点和应用准则,初步掌握有穷状态机、Petri网、Z语言的概念和使用。知识点:形式化方法、非形式化方法、半形式化方法;形式化方法的应用准则;有穷状态机;Petri网;Z语言。4.1 概述4.2 有穷状态机4.3 Petri网4.4 Z语言4.5 小结第5章 总体设计(4课时)学习目的与要求:了解软件总体设计的目的、任务,掌握软件总体设计的过程、设计原理和启发规则,掌握描述软件结构的工具以及面向数据流的设计方法。能够将具体的数据流图的转换为软件的结构图,即变换分析技术和事务分析技术。知识点

7、:总体设计、概要设计、初步设计;软件总体设计的阶段和过程;模块化、抽象、逐步求精、信息隐藏、模块独立;启发规则; 层次图、HIPO图、结构图;面向数据流的设计方法(结构化设计方法-SD方法)。5.1 设计过程5.2 设计原理5.3 启发规则5.4 描绘软件结构的图形工具5.5 面向数据流的设计方法5.6 小结第6章 详细设计(4课时)学习目的与要求:了解软件详细设计阶段的目的、任务和结构化程序设计的概念,掌握人机界面设计的方法、过程设计的工具以及面向数据结构的设计方法,了解程序复杂程度的定量度量。知识点:结构化程序设计;人机界面设计的问题、设计方法;程序流程图、盒图(N-S图)、PAD图、判定

8、表、判定树、过程设计语言;JACKSON图、JACKSON方法。 6.1 结构程序设计6.2 人机界面设计6.3 过程设计的工具6.4 面向数据结构的设计方法6.5 程序复杂程度的定量度量6.6 小结第7章 实现(8课时)学习目的与要求:了解如何选择程序设计语言,培养良好的编码风格,掌握软件测试的目标、准则、方法和步骤,掌握单元测试、集成测试、确认测试的方法步骤,掌握白盒测试和黑盒测试技术的概念、方法,掌握调试过程与途径,了解软件可靠性的概念及其计算方法。能够按照测试的原则和技术,分析确定高效的测试用例。知识点:选择程序设计语言、编码风格;软件测试基础;单元测试、集成测试、确认测试;白盒测试技

9、术和黑盒测试技术; 调试;软件可靠性、可用性。7.1 编码7.2 软件测试基础7.3 单元测试7.4 集成测试7.5 确认测试7.6 白盒测试技术7.7 黑盒测试技术7.8 调试7.9 软件可靠性7.9 小结第8章 维护(2课时)学习目的与要求:了解软件维护的定义,掌握软件维护的特点和过程,软件的可维护性的定义及提高可维护性的方法。掌握预防性维护和软件再工程过程的概念、方法。知识点:软件维护;软件的可维护性;预防性维护;软件再工程过程。8.1 软件维护的定义8.2 软件维护的特点8.3 软件维护过程8.4 软件的可维护性8.5 预防性维护8.6 软件再工程过程8.7 小结第9章 面向对象方法学

10、引论(2课时,选讲)学习目的与要求:了解面向对象方法学的要点和优点,掌握面向对象的概念、建模,掌握对象模型、动态模型、功能模型以及三种模型的关系。知识点:面向对象方法学的特点;面向对象;面向对象建模;对象模型、动态模型、功能模型。9.1 面向对象方法学概述9.2 面向对象的概念9.3 面向对象建模9.4 对象模型9.5 动态模型9.6 功能模型9.7 3种模型之间的关系9.8 小结第10章 面向对象分析(4课时,选讲)学习目的与要求:掌握面向对象分析的过程、需求陈述,能够根据具体问题建立对象模型、动态模型、功能模型以及确定对象的服务。知识点:对象模型的层次;面向对象分析与需求陈述;建立对象模型

11、;建立动态模型; 建立功能模型; 确定服务。10.1 面向对象分析的基本过程10.2 需求陈述10.3 建立对象模型10.4 建立动态模型10.5 建立功能模型10.6 定义服务10.7 小结第11章 面向对象设计(4课时,选讲)学习目的与要求:了解面向对象设计的准则和启发规则,掌握软件重用的概念和方法,掌握系统分解的方法,掌握设计问题域子系统、设计人机交互子系统、设计任务管理子系统、设计数据管理子系统、设计类中的服务、设计关联以及设计优化的方法。 知识点:面向对象设计的准则、启发规则;软件重用;系统分解;设计问题域子系统;设计人机交互子系统;设计任务管理子系统;设计数据管理子系统;设计类中的

12、服务;设计关联;设计优化。11.1 面向对象设计的准则11.2 启发规则11.3 软件重用11.4 系统分解11.5 设计问题域子系统11.6 设计人机交互子系统11.7 设计任务管理子系统11.8 设计数据管理子系统11.9 设计类中的服务11.10 设计关联11.11 设计优化11.12 小结补充内容:UML基础与ROSE建模 (8课时,选讲) 学习目的与要求:掌握UML基础知识,并能画出ROSE建模图,包括UML用例图、类图、对象图、包图、顺序图和合作图、状态图、构件图和部署图。第12章 面向对象实现(2课时,选讲)学习目的与要求:掌握面向对象语言的特点以及如何选择面向对象的开发工具,养

13、成良好的程序设计风格,掌握面向对象的软件测试的特点和策略,能够设计测试用例。 知识点:面向对象语言;程序设计风格以及对可重用性、可扩充性、健壮性的影响;面向对象的单元测试、集成测试、确认测试;测试类的方法;面向对象的测试用例。12.1 程序设计语言12.2 程序设计风格12.3 测试策略12.4 设计测试用例12.5 小结第13章 软件项目管理(2课时,选讲)学习目的与要求:掌握估算软件规模和工作量的技术,能够根据项目制定合理的进度计划,掌握团队组织的基本方法,了解软件的质量指标并掌握软件质量保证的措施,掌握软件配置管理,了解能力成熟度模型。知识点:代码行、功能点估算软件规模的技术;进度计划中

14、的甘特图、工程网络、关键路径;团队组织;软件质量指标、质量保证措施;软件配置、软件配置管理过程;CMM。13.1 估算软件规模13.2 工作量估算13.3 进度计划13.4 人员组织13.5 质量保证13.6 软件配置管理13.7 能力成熟度模型13.8 小结四、教学方法教师在课堂上采用多媒体教学手段授课,上课时强调理论与实践的同等重要性,不断积累教学素材指导课堂讨论和实践,以提高学生的学习兴趣。针对软件工程的课程特点,主讲教师根据多年的教学经验总结出了切实可行的教学方法:案例教学法和项目实践法,以提高教学质量。案例教学法:在教学中创造条件引入实例,结合软件工程理论知识给学生讲解实例、介绍具体

15、的开发过程和方法,并提出实际问题,启发学生思考解决的方法及比较方案的优劣。项目实践法:为加强实践环节,提高学生学习的主动性,可将学生分组进行项目实践,提高学生的团队合作能力。方法是让学生利用课外时间相对独立完成一个模拟的科研项目,这些项目都是从实际项目中提炼出来的,具有典型性、客观性和启发性。教师采用点拔方式或共同探究的方式进行指导。实验进度可以和课堂教学同步,也可以在课堂教学结束后进行。这种项目练习以团队操练的方式进行。项目组根据项目需求,制定项目计划,进行分析、设计、编码和测试,运用本课程学到的各方面知识,分工协同、想办法、查资料、探寻问题的解决方案,同时在研究问题找出规律的过程中创造性地

16、学到了知识,学生的创造能力、应用能力、综合能力和交流合作等大量非智力因素得到充分的发展。项目完成后,教师要求学生写专题论文,启发他们的思维,表达他们的见解,鼓励学生在本课程的学习中学会了解相关课程(如网络、数据结构、数据库等)的知识去思考和解决问题。五、成绩考核方式总评成绩平时成绩(30)期末成绩(70)。本课程平时成绩主要从期中测验情况、实验情况、出勤情况、课堂表现等几个方面进行考核。六、各教学环节学时分配讲 课 内 容学 时1、软件工程学概述22、可行性研究43、需求分析64、形式化说明技术25、总体设计46、详细设计47、实现88、维护29、选讲29、复习、总结210、实验18总计54六、教材与参考资料教材软件工程导论第5版 张海藩 清华大学出版社,2008.1参考资料实用软件工程.郑人杰. 高等教育出版社出版软件工程原理、方法与

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论