《软件工程》课程教学大纲.doc
GDOU-B-11-213
《软件工程》课程教学大纲
课程简介
课程简介:
《软件工程》是计算机科学与技术专业、计算机软件工程专业、计算机网络工程专业的一门专业基础课,旨在使学生掌握软件工程的基本概念、原理和方法,从软件
开发技术、软件工程管理和软件工程环境等几个方面了解如何将系统的、规范化的和
可以度量的工程方法运用于软件开发和维护中。通过本课程的学习,基本掌握结构化
方法、面向对象方法等软件开发技术,初步了解软件复用的概念及基于构件的开发方法,同时对软件工程管理和环境等内容有一个总体的了解。
课程大纲
一、课程的性质与任务:
软件工程是计算机专业学生的一门专业必修课。主要讲授软件开发方法和软件工程的基本理论、基本方法、基本技术,学会运用系统工程学的基本方法,定量分析软
件及其开发过程的各种特性,科学管理软件工程,同时让学生了解软件开发的最新方
法和发展动态。
二、课程的目的与基本要求:
通过本课程的学习,要求学生掌握软件工程的基本概念、基本原理、实用的开发方法和技术;了解软件工程各领域的发展方向;如何用过程化及面向对象的方法开发
软件项目,以及开发过程中应遵循的流程、准则、标准和规范。平时成绩(作业和实验)占30%,期末考试占70%。
三、面向专业:
计算机科学与技术
四、先修课程:
“计算机操作系统”“数据库系统原理”“C语言程序设计”和“数据结构”等。五、本
课程与其它课程的联系:
学习本课程要求有一定的程序设计经验,应至少学习一门程序设计语言课程。本课程涉及到数据结构、数据库、操作系统等的一些知识和概念,因此先导课程为数据
结构、数据库原理、操作系统。本课程将为信息系统开发打下坚实基础。
六、教学内容安排、要求、学时分配及作业:
第一章软件危机及软件工程2学时
1 教学内容
1.1 软件危机
1.2 软件工程
1.3 技术审查及管理复审
2 教学目的及要求
了解软件的特点,软件生产发展的三个阶段,各阶段的特点,软件危机的产生及其
表现形式;初步了解软件的生存周期模型;理解软件工程的定义及特点,软件生
存期各阶段的特点和内容;深刻理解软件危机产生的原因。
3 教学重点
软件危机的产生、表现、原因;软件工程的定义;软件生存周期概念。
第二章可行性研究6学时
1 教学内容
2.1 可行性研究任务2.4 数据流图
2.2 可行性研究步骤2.5 数据字典
2.3 系统流程图2.6 成本/效益分析
2 教学目的及要求
深刻理解可行性研究的必要性,掌握可行性研究的任务及可行性研究的具体步骤;了解系统流程图的作用及符号表示,重点掌握数据流图的画法及数据字典的编写。
3 教学重点
可行性研究的任务及步骤,数据流图的画法及数据字典的编写。
4 教学难点
数据流图的画法。
第三章需求分析6学时
1 教学内容
3.1 需求分析的任务3.4 图形工具
3.2 分析过程3.5验证软件要求
模块化设计的目的3.3 概念模型和规范化
2 教学目的及要求
深刻理解需求分析阶段的概念及任务,熟练掌握数据流图的细化及ER图,IOP图的画法。
3 教学重点及难点
需要分析过程,各种图形工具的应用。
第四章总体设计6学时
1 教学内容
4.1 总体设计的过程
4.2 软件设计的概念和原理
4.3 启发式规则
4.4 图形工具
4.5 面向数据流的设计方法
2教学目的及要求
深刻理解软件总体设计的基本任务,软件设计的基本原理。理解模块化,抽象,信息隐蔽,模块独立性等概念,明确度量模块独立性的校准---偶和性及内聚性。熟练掌握结构化设计方法(要求能划分数据流的类型,将其能换成软件结构图,并能根
据优化准则将其优化。)
3 教学重点与难点
(1) 将交换流和事务流类型的数据流图,转换成软件结构图;
(2) 将一个复杂型数据流图转换成软件结构图并优化。
第五章详细设计8学时
1 教学内容
5.1 结构程序设计5.4 Warnier程序设计方法
5.2 详细设计的工具5.5 程序复杂程序的定量度量
5.3 Jackson程序设计的方法
2 教学目的及要求
能熟练的使用详细设计描述工具来设计模块中的算法及程序的逻辑结构.理解Jackson方法的概念及程序复杂度的度量方法,学会使用Jackson方法设计输入输出数据结构和程序结构。
3 教学重点及难点
流程图、PAD图、过程设计语言的简单应用;用Jackson方法设计小型项目。第六章编码2学时
1 教学内容
6.1 程序设计语言6.2 程序设计途径
2 教学目的及要求
了解几种常见的程序设计语言的特点,领会程序设计中应注意的问题,注意培养良好的编程风格。
3 教学重点及难点
领会写程序的风格。
第七章测试8学时
1 教学内容
7.1基本概念7.4验收测试
7.2单元测试7.5设计测试方案
7.3集成测试7.6调试
2 教学的要求
总的要求是掌握测试阶段的内容,测试方法及测试步骤。
(1)深刻理解白盒,黑盒测试技术。深刻理解测试过程中单元测试,集成测试,验收测试的任务及使用的方法;
(2)掌握调试程序的方法;
(3)熟练掌握的技能是:能针对某一问题采用白盒法或黑盒法进行测试用例的设计。
3 教学重点与难点。
白盒与黑盒测试方法;单元测试,集成测试的方法;自顶向下及自底向上结合模块的步骤;渐增式及非渐增式测试的区别;归纳法与演绎法调试策略;测试用例的设计。第八章维护4学时
1 教学内容
8.1软件维护定义8.3维护过程
8.2维护的特点8.4可维护性
2 教学目的及要求
总的要求是:掌握软件维护的内容、特点、方法、技术、文档。
(1)了解软件维护的各种困难,软件维护的特点,软件维护的文档;
(2)理解软件维护的内容,维护任务的实施;
(3)深刻理解如何提高软件的维护性。
3 教学重点与难点
(1)领会改正性维护、适应性维护、完善性维护、预防性维护;
(2)可维护性的定义、可维护性的度量及提高可维护性的方法。
第九章面向对象的方法6学时
1教学内容
9.1 面向对象概述9.4 面向对象的设计
9.2 面向对象的模型9.5面向对象的实现
9.3 面向对象的分析
2 教学目的及要求
(1)深刻理解对象、类、类的层次结构、方法和消息的实质、深刻理解对象模型、动态模型、功能模型的元素、结构和构造方法;
(2)掌握的技能:画对象图、画状态图、画数据流程图;确定对象类、确定关联、确定属性,识别继承。
3 教学重点与难点
建立对象模型、动态模型、功能模型,掌握面向对象的分析、面向对象的设计、面向对象的实现的过程。
第十章管理技术4学时
1教学内容
10.1 成本估计10.4 质量保证
10.2 进度计划10.5 项目计划
10.3 人员组织
2 教学目的及要求
总的要求:了解软件开发成本结算、软件项目进度安排、软件项目计划内容及软件质量的定义、质量保证的基本概念。
(1)理解软件开发成本结算的CoCoMo模型;软件项目进度安排中的Ganto图与工程网络图;
(2)深入理解软件项目计划的重要性及各个环节之间的联系。
3 教学重点与难点
软件开发成本结算、软件项目进度安排、软件项目计划内容。
七、实验名称与类别:
注:实验类别指:演示型、操作型、验证型、综合型、设计型、研究创新型
八、实验目的、内容与要求
实验1: 系统分析和总体设计

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。