软件工程课程教学大纲
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程课程教学大纲
课程名称:软件工程
英文名称: Software Engineering
课程编号:x2050881
学时数: 48
其中实验学时数:8 课外学时数:
学分数: 3.0
适用专业:软件工程专升本
一、课程的性质、目的和任务
软件工程是软件工程专业的专业必修课。课程的任务是培养学生在软件开发过程中技术方法的综合应用能力。课程介绍软件的基本概念、软件生命周期各时期和阶段的主要任务。并通过介绍传统软件工程、面向对象软件工程,使学生了解软件工程的主要技术和方法。通过对面向对象的软件开发方法的介绍,使学生掌握开发主流软件系统的技术方法;通过对软件测试的学习,使学生了解如何通过白盒测试、黑盒测试的方法对软件进行质量保证。通过对软件工程课程的学习,为学生从事软件开发和管理工作打下良好的基础
二、课程教学内容的基本要求、重点和难点
1、绪论
掌握:软件、软件危机、软件工程的概念;软件工程的内容、目标;软件工程三要素;软件的特点、软件危机产生及表现;
了解:软件工程产生的背景;
重点:软件工程的定义、软件的特点;
难点: 软件与程序、软件危机发生的原因和解决方法。
2、软件过程
掌握:软件过程、生命周期的概念;软件过程的活动集合;基本生存周期模型;四个古典模型;理解:软件过程的作用;生存周期划分阶段的目的;当今流行的RUP、XP开发模型。
重点:软件过程、生命周期的概念与作用;软件生命周期模型;
难点:软件开发方法学中的分阶段、评审、控制、基线、里程碑、循环往复、演进迭代、风险控制等思想的体现;软件过程与生命周期区别和联系;软件工程与软件过程的区别和联系。
3、软件计划时期
掌握:软件计划阶段的主要活动和目标;可行性研究的目的、任务、方法和工具;技术可行性研究的步骤;理解:项目从“问题定义”开始;项目前期工作;软件计划的作用、内容、方法和步骤;
重点:技术可行性研究的步骤和方法;
难点:问题定义与可行性研究的区别和联系。
4、需求分析
掌握:需求分析的必要性、任务、步骤及原则;理解:需求规格说明书的作用与组成,评审标准和过程;
重点:需求分析的必要性、任务、步骤及原则;
难点:需求工程与需求分析;需求的层次;需求分析的抽象、分层、分解的思想原则;
5、软件设计基础
掌握:软件设计基本思想:软件设计过程、抽象与逐步求精、模块化与信息隐藏的概念;理解:模块的独立性准则:高内聚,松耦合。
重点:软件设计过程、抽象与逐步求精、模块化与信息隐藏的基本概念;
难点:模块化高内聚与松耦合、抽象与求精的辩证统一思想;
6、面向过程从分析到设计
掌握:面向过程需求分析的主要技术:DFD和数据字典,并在需求分析的基础上,把系统的概念模型转换成系统结构,为详细设计奠定基础。理解:以数据流图为基础,把DFD图映射成SC图的两种映射方法。
重点:DFD图的绘制方法,结构化需求分析到结构化设计的映射关系;
难点:DFD图映射成SC图的映射方法;
7、面向对象从分析到设计
掌握:面向对象概念;面向对象的分析:建立业务模型与概念模型;面向对象的设计:体系结构设计和类的设计;UML建模方法和工具;理解:面向对象比面向过程有什么样的进步;还存在什么难题;
重点:分析阶段:建立业务模型与概念模型;设计阶段:体系结构设计和类的设计;UML建模方法和工具;
难点:体系结构设计;UML建模逻辑模型;
8、软件测试
掌握:白盒测试与黑盒测试的方法;了解软件测试的基本知识,软件的测试工具;理解软件测试过程(单元测试、集成测试、系统测试);
重点:白盒测试与黑盒测试的方法;
难点:测试的用例设计;测试计划、测试记录、测试报告的文档的建立;
9、软件维护
掌握:维护的作用;维护的分类;维护过程;维护管理;了解:结构化维护;维护与开发的关系;软件的变更与版本控制;
重点:维护的分类;维护过程;维护管理;
难点:配置管理原理,配置管理工具的使用;
三、教学方式及学时
四、课程其他教学环节要求
要求:课前按实验要求认真准备实验内容;课堂及时完成所要求的内容并提交实验结果。
2、作业
作业的题型为:选择题、问答题、概述题、分析设计题。根据教学要求的掌握程度选做作业的数量和难度。根据授课进度,布置作业,每章讲授结束后,收一次作业,批改后做集体答疑,讲解作业中出现的问题。
3、课外
软件工程课内容多,知识面宽厚,完全依靠课内有限的学时难以掌握,因此要求学生必须加强课后的自学。课后自学除了参阅一些教材以外,还要充分利用实验室开放时间使用网络资源。
五、本课程与其它课程的联系
本课程是在数据结构、C++程序设计、数据库原理与设计等课程的基础上开设的专业必修课。该课旨在提高学生对软件工程过程技术和方法的综合应用能力,为各专业课程包括程序设计语言、数据库、设计模式等的融汇贯通提供知识储备,同时该课程也是毕业设计必须应用的主体知识。
六、教学参考书目
1.《软件工程基础与实践教程》沈文轩等编著清华大学出版社 201
2.9
2.《面向对象与传统软件工程(原文版第五版)》,(美)Stephen R.schach 著,
韩松等译,机械工业出版社,2003.9
3.《软件工程》钱乐秋赵文耕编著清华大学出版社 2007.3
4.《软件工程导论(第五版)》张海藩编著清华大学出版社 2008.2
5.《实用软件工程》周丽娟编著电子工业出版社 2008.3
6.《软件工程——原理、方法与应用》史济民等编著高等教育出版社 2013.3
本大纲修改人:李林林
本大纲审查人:田莹
本大纲负责人:吴建胜