软件工程课程教学大纲
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《软件工程》课程教学大纲
(Soft Engineering)
课程编号:
学分:3
学时:48 (其中:讲课学时:42 实验学时:上机学时:6 )先修课程:C语言程序设计、数据结构与算法、计算机网络、数据库原理与应用、操作系统
后续课程:面向对象程序设计、信息工程监理、信息系统测评技术、软件工程实训
适用专业:计算机相关专业
开课部门:专业数学教研室
一、课程教学目的和课程性质
《软件工程》是信息与计算机科学专业本科学生的专业选修课,是一门综合性和实践性很强的课程。本课程主要介绍如何把工程化的思想和技术应用于软件系统的开发过程,以及在软件开发过程中必须遵循的基本原理、方法和工程标准。通过教学,使学生对软件生产工程化的具体思想、要求和方法均有较全面的了解, 为今后独立从事软件系统的开发打下相应的工程基础。
二、课程的主要内容及基本要求
第1单元软件工程学概述(3学时)
[知识点]
软件的发展过程、软件危机、软件工程及开发方法。
[重点]
软件工程的基本概念、软件工程学的基本内容和软件生命周期中各阶段的基本任务。
[难点]
软件过程模型
[基本要求]
1、识记:软件、软件危机、软件工程、软件工程方法学;
2、领会:软件工程过程模型的定义及其特点;
3、简单应用:软件危机的产生原因;
4、综合应用:解释软件工程产生的原因,结合不同的软件特点对其开发应
当采用的软件过程模型。
[考核要求]
1、软件工程的定义;
2、软件生命周期的定义及其各个开发阶段的任务;
3、软件工程方法学定义及经典软件过程模型。
第2单元可行性研究(5学时)
[知识点]
可行性研究的主要内容、任务及研究过程,系统流程图、数据流图、数据字典。
[重点]
系统流程图、数据流图的画法。
[难点]
可行性研究中的上层数据流图的构成方法。
[基本要求]
1、识记:可行性研究的主要内容、任务;
2、领会:如何画出所需的系统流程图;
3、简单应用:分析所需的数据字典并根据数据字典定义方法定义相关词条;
4、综合应用:在可行性研究过程中分析系统流程图,总结其数据字典,画出上层的数据流图。
[考核要求]
1、可行性研究的主要内容、任务;
2、数据流图的定义及画法,能够分析并画出可行性研究中的上层数据流图;
3、数据字典的组成及其符号定义方法。
第3单元需求分析(5学时)
[知识点]
需求分析的任务、与用户沟通获取需求的方法、分析建模与规格说明、实体—联系图、状态转换图、其他图形工具、数据规范化。
[重点]
实体-联系图的概念及画法、状态转换图的定义及画法和常用图形工具的使用方法。
[难点]
常用图形工具的使用方法
[基本要求]
1、识记:需求分析的任务,数据规范化三范式特点;
2、领会:实体-联系图的概念以及画图方法;
3、简单应用:常用图形工具的安装及运行;
4、综合应用:采用常用图形工具画实体-联系图、状态转换图。
[考核要求]
1、需求分析的任务;
2、根据题意画出系统的实体-联系图;
3、根据题意画出系统的状态转换图。
第4单元总体设计(9学时)
[知识点]
总体设计的目标和任务、概要设计过程和原理、模块化方法和模块独立性原则、面向数据流的设计方法、数据设计及文件设计
[重点]
总体设计的任务、模块化方法和模块独立性原则、面向数据流的结构化设计方法
[难点]
模块独立性原则、面向数据流的设计方法。
[基本要求]
1、识记:总体设计的任务、概要设计的原理、模块独立性原则;
2、领会:模块化概念及模块化方法、模块独立性准则的内涵及如何使模块具备高独立性;
3、简单应用:分析系统数据处理问题类型,模块间耦合性和内聚型的类型及这些类型的模块独立性强弱排序;
4、综合应用:分析数据处理问题类型,根据相应问题类型的结构化设计方法导出模块结构图。
[实践与练习]
根据题意分析系统的上层数据流程图,归纳其数据字典,并根据结构化设计方法画出模块结构图,最后采用常用的图形工具画出其数据流程图和模块结构图。
[考核要求]
1、总体设计的任务及过程;
2、模块化的定义、分类及划分原则;
3、模块独立性的定义、原则,模块间连接方式的类型及其独立性的强弱;
4、数据处理问题的类型,结构化设计的工作步骤。
第5单元详细设计(10学时)
[知识点]
详细设计的任务及工具、结构化程序设计、程序设计风格、程序复杂性度量、程序效率。
[重点]
结构化程序设计、Ja ckson程序设计方法、McCabe度量法、Halstead的度量法、程序设计风格涉及内容。
[难点]
Ja ckson程序设计方法
[基本要求]
1、识记:详细设计阶段的任务,结构化程序设计的原则;
2、领会:程序设计风格涉及的内容对程序效率甚至整个软件开发的重要性;
3、简单应用:运用代码行度量法、McCabe度量法以及Halstead的度量法计算估计程序的出错率。
4、综合应用:运用Ja ckson程序设计方法设计程序。
[实践与练习]
1、运用Jackson程序设计方法设计程序,编译并调试程序;
2、运用常用的图形工具画出程序流程图、N-S图、PAD图。
[考核要求]
1、详细设计阶段的任务;
2、结构化程序设计的原则;
3、程序设计风格的内容;
4、代码行度量法、McCabe度量法以及Halstead的度量法;
5、Jackson程序设计方法;
6、详细设计的工具中程序流程图、N-S图、PAD图的特点、区别和画法。