《软件工程》课程教学大纲 一、课程基本信息 课程代码:16107004/16159703 课程名称:软件工程 英文名称:Software Engineering 课程类别:专业课 时:6448(其中实验16/12学时) 学 分:43 适用对象:软件工程、计算机科学与技术 考核方式:考试 先修课程:程序设计、数据结构、操作系统、数据库原理等 二、课程简介 中文简介: 本课程是面向计算机科学与技术和软件工程本科专业的专业必修课。该课程是 门研究软件开发与维护的普遍原理和技术的工程学科,通过本课程的学习为实际的软 件开发提供帮助同时也为深入研究这门学科奠定良好的基础,把马克思主义的理论与 方法运用到软件工程之中。本课程主要是对软件工程的入门介绍,着重从实用角度讲 述软件工程的基本原理概念和技术方法。包括软件过程,软件需求分析,软件设计, 软件测试,软件维护,软件项目管理,软件可靠性等多方面的内容。 英文简介: This course is a required course for undergraduate students of computer science and technology and software engineering.This course is an engineering subject that studies the general principles and technologies of software development and maintenance.Through the study of this course,we can provide help for the actual software development,and lay a good foundation for the in-depth study of this subject,and apply the Marxist theory and methods to software engineering.This course is mainly an introduction to software engineering,focusing on the basic principles,concepts and technical methods of software engineering from a practical point of view.It includes software process,software requirement analysis,software design,software testing, software maintenance,software project management,software reliability and so on 三、课程性质与教学目的
1 《软件工程》课程教学大纲 一、课程基本信息 课程代码:16107004/16159703 课程名称:软件工程 英文名称:Software Engineering 课程类别:专业课 学 时:64/48(其中实验 16/12 学时) 学 分:4/3 适用对象: 软件工程、计算机科学与技术 考核方式:考试 先修课程:程序设计、数据结构、操作系统、数据库原理等。 二、课程简介 中文简介: 本课程是面向计算机科学与技术和软件工程本科专业的专业必修课。该课程是一 门研究软件开发与维护的普遍原理和技术的工程学科,通过本课程的学习为实际的软 件开发提供帮助同时也为深入研究这门学科奠定良好的基础,把马克思主义的理论与 方法运用到软件工程之中。本课程主要是对软件工程的入门介绍,着重从实用角度讲 述软件工程的基本原理概念和技术方法。包括软件过程,软件需求分析,软件设计, 软件测试,软件维护,软件项目管理,软件可靠性等多方面的内容。 英文简介: This course is a required course for undergraduate students of computer science and technology and software engineering. This course is an engineering subject that studies the general principles and technologies of software development and maintenance. Through the study of this course, we can provide help for the actual software development, and lay a good foundation for the in-depth study of this subject, and apply the Marxist theory and methods to software engineering. This course is mainly an introduction to software engineering, focusing on the basic principles, concepts and technical methods of software engineering from a practical point of view. It includes software process, software requirement analysis, software design, software testing, software maintenance, software project management, software reliability and so on. 三、课程性质与教学目的
本课程是面向计算机科学与技术、软件工程、信息管理专业本科生的一门专业必 修课,它是软件设计与开发以及各种计算机应用系统开发的重要基础。 教学目的包括一下几个方面: 1.系统地介绍软件工程的基本原理、概念、技术和方法,通过课程学习使学生了 解软件工程的发展、 应用以及当前国际国内研究的热点和重要成果: 2.通过本课程的学习,使学生理解软件危机、软件工程的基本原理、软件的生命周 期方法学、面向对象方法学等: 3.通过本课程的学习,使学生了解、掌握软件生存周期各阶段的任务、过程、结构 化方法和工具及其基本技术和方法,掌握面向对象分析、设计和实现的思想方 法及甘面技术】 4.通过本 ,使学生了解软件 工程管理的重要性及基本的管理技术 5.掌握如何用工程化的方法开发软件项目,以及开发过程中应遵循的流程、准则、 标准和规范: 6.马克思主义的理论与方法,习近平思想融入到实际软件开发之中 7.能将上述知识用于该课程的课程设计实习中,实现一个具体题目的全部软件开 发过程。 四、教学内容及要求 ★第一章软件工程学概述 (一)目的与要求 1.了解软件的特点,软件生产发展的三个阶段,各阶段的特点,软件危机 的产生及其表现形式,深刻理解软件危机产生的原因: 2.理解软件工程的定义,特点以及基本原理,软件生存期各阶段的特点和 内容 3.初步了解软件的生存周期模型 (二)教学内容 第一节软件危机 1.主要内容:软件危机 2.基本概念和知识点:软件开发技术的发展历史及其特点,什么是软件 危机?软件危机产生的原因?解决的办法: 3.问题与应用(能力要求):基本掌握以上知识点,需要深刻理解软件 危机产生原因,进而考虑其解决的方法:软件工程: 第二节软件工程 1.主要内容:软件工程 2.基本概念和知识点:软件工程的概念和基本原理,软件工程的方法学 (传统方法学与面向对象方法学): 3.问题与应用(能力要求):重点掌握软件工程的概念和基本原理,理解 两种不同方法学的思维方式: 2
2 本课程是面向计算机科学与技术、软件工程、信息管理专业本科生的一门专业必 修课,它是软件设计与开发以及各种计算机应用系统开发的重要基础。 教学目的包括一下几个方面: 1.系统地介绍软件工程的基本原理、概念、技术和方法, 通过课程学习使学生了 解软件工程的发展、应用以及当前国际国内研究的热点和重要成果; 2.通过本课程的学习,使学生理解软件危机、软件工程的基本原理、软件的生命周 期方法学、面向对象方法学等; 3.通过本课程的学习,使学生了解、掌握软件生存周期各阶段的任务、过程、结构 化方法和工具及其基本技术和方法,掌握面向对象分析、设计和实现的思想方 法及其重要技术; 4.通过本课程的学习,使学生了解软件工程管理的重要性及基本的管理技术; 5.掌握如何用工程化的方法开发软件项目,以及开发过程中应遵循的流程、准则、 标准和规范; 6.马克思主义的理论与方法,习近平思想融入到实际软件开发之中 7.能将上述知识用于该课程的课程设计实习中,实现一个具体题目的全部软件开 发过程。 四、教学内容及要求 ★第一章 软件工程学概述 (一)目的与要求 1.了解软件的特点,软件生产发展的三个阶段,各阶段的特点,软件危机 的产生及其表现形式,深刻理解软件危机产生的原因; 2.理解软件工程的定义,特点以及基本原理,软件生存期各阶段的特点和 内容; 3.初步了解软件的生存周期模型; (二)教学内容 第一节 软件危机 1.主要内容:软件危机 2. 基本概念和知识点:软件开发技术的发展历史及其特点,什么是软件 危机? 软件危机产生的原因? 解决的办法; 3. 问题与应用(能力要求): 基本掌握以上知识点,需要深刻理解软件 危机产生原因,进而考虑其解决的方法:软件工程; 第二节 软件工程 1.主要内容:软件工程 2.基本概念和知识点:软件工程的概念和基本原理,软件工程的方法学 (传统方法学与面向对象方法学); 3.问题与应用(能力要求):重点掌握软件工程的概念和基本原理,理解 两种不同方法学的思维方式;
4.中国社会主义环境下的软件工程特点。 第三节软件生命周期 1.主要内容:软件生命周期 2.基本概念和知识点:软件生存期各阶段的划分、特点以及内容 3.问题与应用(能力要求):理解软件生命周期的概念,重点掌握其各阶 段的划分以及特点: 第四节软件生命周期模型 1.主要内容:软件生命周期模型 2.基本概念和知识点:传统生命周期模型:瀑布模型,快速原型模型, 增量模型,螺旋模型: 3.问颗与应用(能力要求):初步了解软件生命周期摸型,重点掌握各 种软件开发模型的内容,不同开发模型的特点比较,尤其掌握瀑布模型: (二)思老与实践 完成课后习题P22第5题 (四)教学方法与手段 以课堂讲授为主: ★第二章可行性研究 (一)目的与要求 1.深刻理解可行性研究的必要性,掌握可行性研究的任务及可行性研究 的具体步骤,突出社会主义的价值观: 2.了解系统流程图的作用及符号表示: 3.重点掌握数据流图的画法及数据字典的编写. (二)教学内容 第一节可行性研究概述 1,主要内容:可行性研究任务和步骤 2.基本概念和知识点:可行性研究的必要性、基本任务和基本步骤: 3.问题与应用(能力要求): 重点掌握可行性研究的基本步骤,能够根 据具体问题编写可行性研究报告: 第二节系统流程图 1.主要内容:系统流程图 2 基本概念和知识点:系统流程图的作用、符号及其画法: 3.问题与应用(能力要求):基本掌握系统流程图的画法,学会使用系统 流程图进行简单的应用: 第三节数据流图 1,主要内容:数据流图
3 4.中国社会主义环境下的软件工程特点。 第三节 软件生命周期 1. 主要内容:软件生命周期 2. 基本概念和知识点:软件生存期各阶段的划分、特点以及内容; 3. 问题与应用(能力要求):理解软件生命周期的概念,重点掌握其各阶 段的划分以及特点; 第四节 软件生命周期模型 1. 主要内容:软件生命周期模型 2. 基本概念和知识点:传统生命周期模型:瀑布模型,快速原型模型, 增量模型,螺旋模型; 3. 问题与应用(能力要求): 初步了解软件生命周期模型, 重点掌握各 种软件开发模型的内容, 不同开发模型的特点比较,尤其掌握瀑布模型; (三)思考与实践 完成课后习题 P22 第 5 题 (四)教学方法与手段 以课堂讲授为主; ★第二章 可行性研究 (一)目的与要求 1. 深刻理解可行性研究的必要性,掌握可行性研究的任务及可行性研究 的具体步骤,突出社会主义的价值观; 2. 了解系统流程图的作用及符号表示; 3. 重点掌握数据流图的画法及数据字典的编写. (二)教学内容 第一节 可行性研究概述 1. 主要内容: 可行性研究任务和步骤 2. 基本概念和知识点:可行性研究的必要性、基本任务和基本步骤; 3. 问题与应用(能力要求): 重点掌握可行性研究的基本步骤,能够根 据具体问题编写可行性研究报告; 第二节 系统流程图 1. 主要内容:系统流程图 2. 基本概念和知识点:系统流程图的作用、符号及其画法; 3. 问题与应用(能力要求):基本掌握系统流程图的画法,学会使用系统 流程图进行简单的应用; 第三节 数据流图 1. 主要内容:数据流图
2.基本概念和知识点:数据流图的作用、符号及其画法: 3.问题与应用(能力要求):重点掌握数据流图的画法,可分层画应用 系统的数据流图,尤其注意画数据流图需要注意的事项: 第四节数据字典 1.主要内容:数据字典 2.基本概念和知识点:如何编写数据字典? 3。问题与应用(能力要求):可根据数据流图编写相应的数据字典: 第五节成本/效益分析 1.主要内容:成本/效益分析 2.基本概念和知识点:成本估计的方法:成本/效益分析方法。 3.问题与应用(能力要求):了解成本估计的方法以及成本/效益分析方 法。 4。将马克思主义经济学原理应用于工程的成本/效益分析 (三)思考与实践 课后练习主要有:针对问题描述写可行性分析报告,针对具体问题画数据流图 并且编写数据字典: 课后习题:P43.第2题并根据问题描述画出数据流图,编写数据字典:第4 。 (四)教学方法与手段 以课堂讲授为主,辅以习题课: ★第三章需求分析 (一)目的与要求 1.深刻理解需求分析阶段的概念及任务: 2.熟练掌握数据流图的细化及ER图,IOP图的画法: (二)教学内容 第一节需求分析的任务 1.主要内容:需求分析的主要任务 2.基本概念和知积点:需求分析的目的、任务和内容 3.问题与应用(能力要求):深刻理解需求分析的目的和任务: 第二节需求分析的时程 1.主要内容:需求分析的过程,与用户沟通获取需求的方法 2.基本概念和知识点:需求分析的分析过程,面向数据流自顶向下求精 快速建立软件原型: 3.问题与应用(能力要求):学习难点在于需求分析的过程,尤其分析 过程中需要注意的事项,学握进行需求分析的方法: 4
4 2. 基本概念和知识点:数据流图的作用、符号及其画法; 3. 问题与应用(能力要求): 重点掌握数据流图的画法,可分层画应用 系统的数据流图,尤其注意画数据流图需要注意的事项; 第四节 数据字典 1. 主要内容:数据字典 2. 基本概念和知识点:如何编写数据字典? 3. 问题与应用(能力要求):可根据数据流图编写相应的数据字典; 第五节 成本/效益分析 1. 主要内容:成本/效益分析 2. 基本概念和知识点:成本估计的方法;成本/效益分析方法。 3. 问题与应用(能力要求):了解成本估计的方法以及成本/效益分析方 法。 4. 将马克思主义经济学原理应用于工程的成本/效益分析。 (三)思考与实践 课后练习主要有:针对问题描述写可行性分析报告,针对具体问题画数据流图 并且编写数据字典; 课后习题:P43. 第 2 题并根据问题描述画出数据流图,编写数据字典;第 4 题。 (四)教学方法与手段 以课堂讲授为主,辅以习题课; ★第三章 需求分析 (一)目的与要求 1. 深刻理解需求分析阶段的概念及任务; 2. 熟练掌握数据流图的细化及ER图,IOP图的画法; (二)教学内容 第一节 需求分析的任务 1. 主要内容: 需求分析的主要任务 2. 基本概念和知识点:需求分析的目的、任务和内容 3. 问题与应用(能力要求): 深刻理解需求分析的目的和任务; 第二节 需求分析的过程 1. 主要内容: 需求分析的过程,与用户沟通获取需求的方法 2. 基本概念和知识点:需求分析的分析过程,面向数据流自顶向下求精, 快速建立软件原型; 3. 问题与应用(能力要求): 学习难点在于需求分析的过程,尤其分析 过程中需要注意的事项,掌握进行需求分析的方法;
第三节实体一联系图 1.主要内容:概念模型 2.基本概念和知识点:ER模型的概念、符号及画法: 3.问题与应用(能力要求):了解实体一联系模型的基本画法,可以对具 体问题进行简单的应用: 第四节数据规范化 1.主要内容:数据规范化 2.基本概念和知识点:范式的概念: 3.问题与应用(能力要求):了解第一,第二,第三范式: 第五节状态转换图 1.主要内容:状态转换图的符号,画法 2.基本概念和知识点:状态,事件,符号:状态转换图的画法: 3.问题与应用(能力要求):了解组成状态转换图的基本要素,掌握状态 转换图的画法,能够进行简单的应用: 第五节其他图形工具 1.主要内容:图形工具 2.基本概念和知识点:层次方框图、Wamier图、IPO图的画法及应用: 数据流图的细化: 3.问题与应用(能力要求):基本掌握层次方框图,IP0图的画法:了解 Warnier图的画法:重点掌握针对顶层数据流图的细化方法以及注意事 项;能够熟悉的细化数据流图: 第六节验证软件需求 1.主要内容:验证软件需求 2.基本概念和知识点:软件需求验证的方法:用于需求分析的软件工具 以及超高级语言 3.问题与应用(能力要求):了解软件需求验证的方法:了解用于需求分 析的软件工具和超高级语言,尤其是它们的应用特点: (三)思考与实践 课后习题:P63.第3题,第5题,第6题; 进行实验:根据指定项目编写需求规格说明书: (四)教学方法与手段 以课堂讲授为主,辅以习题讲解: ★第四章总体设计 (一)目的与要求 1,深刻理解软件总体设计的基本任务,软件设计的基本原理: 5
5 第三节 实体-联系图 1. 主要内容:概念模型 2. 基本概念和知识点:ER 模型的概念、符号及画法; 3. 问题与应用(能力要求):了解实体-联系模型的基本画法,可以对具 体问题进行简单的应用; 第四节 数据规范化 1. 主要内容:数据规范化 2. 基本概念和知识点:范式的概念; 3. 问题与应用(能力要求):了解第一,第二,第三范式; 第五节 状态转换图 1. 主要内容:状态转换图的符号,画法 2. 基本概念和知识点:状态,事件,符号;状态转换图的画法; 3. 问题与应用(能力要求):了解组成状态转换图的基本要素,掌握状态 转换图的画法,能够进行简单的应用; 第五节 其他图形工具 1. 主要内容:图形工具 2. 基本概念和知识点:层次方框图、Warnier 图、IPO 图的画法及应用; 数据流图的细化; 3. 问题与应用(能力要求):基本掌握层次方框图,IPO 图的画法;了解 Warnier 图的画法;重点掌握针对顶层数据流图的细化方法以及注意事 项;能够熟悉的细化数据流图; 第六节 验证软件需求 1. 主要内容:验证软件需求 2. 基本概念和知识点:软件需求验证的方法;用于需求分析的软件工具 以及超高级语言。 3. 问题与应用(能力要求):了解软件需求验证的方法;了解用于需求分 析的软件工具和超高级语言,尤其是它们的应用特点; (三)思考与实践 课后习题:P63. 第 3 题,第 5 题,第 6 题; 进行实验:根据指定项目编写需求规格说明书; (四)教学方法与手段 以课堂讲授为主,辅以习题讲解; ★第四章总体设计 (一)目的与要求 1. 深刻理解软件总体设计的基本任务,软件设计的基本原理;