(Software Engineering)
课程编号:
课程性质:学科基础课
适用专业:软件工程
先修课程:高等数学、C语言程序设计
后续课程:
总学分:3学分(其中实验学分0.5)
一、教学目的与要求
1.教学目的
《软件工程》是一门迅速发展的新兴学科,其研究的范围非常广泛,包括技术方法、工具和管理等许多
方面,而且新的技术方法和工具源源不断涌现。为软件的开发提供了一条科学途径,缓解了软件危机。通过本课程的学习,使学生了解掌握开发软件的方法、步骤,了解软件维护的重要性,掌握软件工程的管理技术。为学生今后的工作奠定良好的基础。2.教学要求
《软件工程》是一门方法论类的课程,不仅有基本概念、原理和软件开发技术,而且非常注重软件的文档建设和管理,它也是计算机知识综合应用的课程。本课程以课堂教学为主,讲授软件工程的基本原理和方法,布置一定的作业,配合相应的实验,使学生对软件工程的开发方法得到真正的提高。
二、课时安排
三、教学内容
1.软件工程(2学时)
(1)教学基本要求
了解:软件发展的过程
理解:产生软件危机的原因,缓解软件危机的途径
掌握:软件危机的含义,软件工程的概念,软件工程的基本原理
(2)教学内容
①软件的发展过程
②软件危机的含义及表现形式(重点)
③产生软件危机的原因(重点)
④缓解软件危机的途径
⑤软件工程的概念(重点)
⑥软件工程的基本原理(难点)
⑦软件工程方法学
2.软件过程(2学时)
(1)教学基本要求
理解:软件生命周期的基本任务
掌握:软件开发模式
(2)教学内容
①软件生命周期的基本任务
②常见的软件开发模型
3.结构化分析(6学时)
(1)教学的基本要求
了解:软件需求分析的重要性,艰巨性
理解:结构化分析的概念
掌握:数据流图,数据字典,处理逻辑的表示方式
灵活运用:实体-关系图,数据流图,数据字典,处理逻辑的表示方式
(2)教学内容
①结构化分析的概念
②结构化分析的工具(实体-关系图,数据流图,数据字典,处理逻辑的表示方式)(重点)
③结构化分析的表示(软件需求规格说明书)(难点)
4.结构化设计(7学时)
(1)教学的基本要求
了解:结构化设计概念,面向数据结构设计的方法
理解:模块化,独立性,内聚,耦合,抽象,信息隐蔽,逐步求精等基本概念
掌握:结构化设计的基本规则,面向数据流的设计方法
灵活运用:结构化设计的图形工具,过程设计的工具,结构化设计的文档
(2)教学内容软件工程学什么
①结构化设计的概念(软件结构,三大设计,模块化,独立性,内聚,耦合,抽象,信息隐蔽,逐步求精等)
②结构化设计的基本规则(重点)
③结构化设计的图形工具
④面向数据流的设计方法(难点)
⑤过程设计(结构化程序设计,过程设计的工具,面向数据结构设计的方法)
⑥结构化设计的文档
5.结构化实现(6学时)
(1)教学的基本要求
了解:语言选择的心理特征和工程特征,测试概念、准则和方法
理解:调试
掌握:编码风格,逻辑覆盖、墨盒测试技术,测试策略
灵活运用:逻辑覆盖、墨盒测试技术
(2)教学内容
①编码(语言选择,编码风格)
②软件测试(测试概念、准则和方法,逻辑覆盖、墨盒测试技术,测试策略)(重点)
③调试(难点)
④软件可靠性分析
6.面向对象的概念与模型(3学时)
(1)教学的基本要求
了解:面向对象技术的发展、基本思想
理解:面向对象分析的基本概念(对象、消息、封装、类、继承)
掌握:对象、消息、封装、类、继承
(2)教学内容
①面向对象的基本概念、思想、方法(重点)
②面向对象的软件工程方法(分析、设计、实现、测试和维护)(难点)
③对象模型,动态模型,功能模型
7.面向对象分析(4学时)
(1)教学的基本要求
了解:对象模型、动态模型、功能模型的概念,定义服务的内容
理解:对象模型、动态模型、功能模型之间的关系
掌握:对象模型、动态模型、功能模型建模技术
灵活运用:三种模型的建模方法
(2)教学内容
①对象模型
②动态模型(重点)
③功能模型(难点)
④定义服务
8.面向对象设计(4学时)
(1)教学的基本要求
了解:面向对象设计的概念
理解:面向对象设计的准则(模块化、抽象、信息隐藏、弱耦合、强内聚、可重用)
掌握:问题域子系统(PDC)、人—机交互子系统(HIC)、任务管理子系统(TMC)、数据管理子系统(DMC)的设计
灵活运用:面向对象设计方法
(2)教学内容
①面向对象设计的概念
②问题域子系统(PDC)的设计(重点)
③人—机交互子系统(HIC)的设计
④任务管理子系统(TMC)的设计(难点)
⑤数据管理子系统(DMC)的设计
9.面向对象实现(2学时)
(1)教学的基本要求
了解:非面向对象的语言与面向对象的语言
理解:几种典型的面向对象语言
掌握:几种典型的面向对象语言的技术特点
灵活运用:编程实现,对象的测试,面向对象的系统测试
(2)教学内容
①面向对象编程(重点)
②面向对象测试(难点)
10.软件工程管理(2学时)
(1)教学的基本要求
了解:软件工程管理的内容
理解:软件计划与管理
掌握:程序复杂度、软件成本核算的方法
灵活运用:程序复杂度、软件成本核算和技术
(2)教学内容
①软件工程管理的内容
②软件计划与管理(重点)
③软件经济学(复杂度、成本核算)(难点)
11.软件维护(2学时)
(1)教学的基本要求
了解:软件维护的概念、软件文档对软件可维护性意义、软件维护的管理体系
理解:软件维护的定义、软件维护的分类、软件的可维护性
掌握:软件维护的特点、软件可维护性的决定性因素、软件开发各阶段的可维护性要求、软件的维护过程、软件再工程的起源、软件再工程的定义、软件再工程的过程模型、软件构件模型的描述与构件复用方法研究、软件复用的前景
灵活运用:编写维护报告
(2)教学内容
①软件维护的基本概念
②软件的可维护性
③软件维护的过程分析(重点)
④基于构件复用的软件再工程(难点)
四、授课方式及考核方法
1.授课方式
采用多媒体课件教学
2.考核方法
考试形式:有限开卷笔试
课程成绩构成:平时成绩(含实验、出勤、课堂及实验纪律)占30%,期末考试成绩占70%
五、教材与参考书目
1. 张海藩编著. 软件工程. 北京:人民邮电出版社,2002
2. 沈洁主编. 实用软件工程. 北京:机械工业出版社,2004
3. 周之英主编. 现代软件工程. 北京:科学出版社,2002
发布评论