《软件工程》教学大纲(1).doc
软件工程教学大纲一、总则1 本课程的教学目的和要求通过本课程的学习, 要求学生掌握软件工程的基本概念、基本原理、实用的开发方法和技术;了解软件工程各领域的发展方向;如何用功程化的方法开发软件项目,以及开发过程中应遵循的流程、准则、标准和规范。2 本科程的主要内容 (1)、软件工程的产生、软件生产发展史、软件生命周期及瀑布开发模型。 ()、软件开发各阶段的目标、任务、特点、步骤和文档。 ()、结构化方法的基本思想,开发过程和步骤,应遵循的原则和准则。 ()、面向对象方法的基本思想、基本概念、基本模型。 ()、软件工程的管理技术。3 教学重点和难点重点掌握结构化方法开发软件的过程、步骤及应遵循的原则。不但要注重概念、原理方法、技术的掌握,也应注重方法、技术的实际应用,能够应用相应的图形工具开发小型软件项目。4 本课程的支持范围及与相关课程的联系(1) 学习本课程要求有一定的程序设计经验。因此,应至少学习一门程序设计语言课程。(2) 本课程不涉及到数据结构、数据库、操作系统等的一些知识和概念,因此先导课程为数据结构、数据库原理、操作系统。(12) 教材的选用本课程选用的是清华大学出版社出版的、由张海藩编著的软件工程导论(第三版)。二 课时内容及学时分配第一章 软件危机及软件工程 1教学内容:1. 1软件危机 1. 2软件工程1. 3技术审查及管理复审2 教学目的及要求 了解软件的特点,软件生产发展的三个阶段,各阶段的特点,软件危机的产生及其表现形式;初步了解软件的生存周期模型;理解软件工程的定义及特点,软件生存期各阶段的特点和内容;深刻理解软件危机产生的原因.3 教学重点 软件危机的产生、表现、原因;软件工程的定义;软件生存周期概念.4 学时分配 本章共教授3学时.第二章 可行性研究 1 教学内容 2.1 可行性研究任务 2.4 数据流图 2.2 可行性研究步骤 2.5 数据字典 2.3 系统流程图 2.6 成本/效益分析2 教学目的的要求 深刻理解可行性研究的必要性,掌握可行性研究的任务及可行性研究的具体步骤;了解系统流程图的作用及符号表示,重点掌握数据流图的画法及数据字典的编写.3 教学重点 可行性研究的任务及步骤,数据流图的画法及数据字典的编写.4 教学难点 数据流图的画法.5 教学时间分配 第一节,第二节,第三节共占用2课时,第四节占用1课时,第五节和第六节占用1课时.第三章 需要分析1 教学内容 3.1 需要分析的任务 3.4 图形工具 3.2 分析过程 3.5验证软件要求 3,3 概念模型和规范化2 教学目的及要求 深刻理解需要分析阶段的概念及任务,熟练掌握数据流图的细化及图,图的画法3教学重点及难点需要分析过程,各种图形工具的应用教学时间分配第一节,第二节,占课时,第三节占课时,第四节第五节共占课时第四章总体设计教学内容总体设计的过程 软件设计的概念和原理 启发式规则 图形工具 面向数据流的设计方法教学目的及要求 深刻理解软件总体设计的基本任务,软件设计的基本原理理解模块化,抽象,信息隐蔽,模块独立性等概念,明确度量模块独立性的校准-偶和性及内聚性.熟练掌握结构化设计方法(要求能划分数据流的类型,将其能换成软件结构图,并能根据优化准则将其优化.)3 教学重点与难点(1) 将交换流程高务流类型的数据流图,转换成软件结构(2) 将一个复杂型数据流图转换成软件结构图并优化4.教学时间分配第1节、 第节占2课时,第3节、第4节占1课时,第5节占2课时。第五章 详细设计1、教学内容:5.1 结构程序设计 5.4 Warnier 程序设计方法5.2 详细设计的工具 5.5 程序复杂程序的定量度量5.3 Jackson程序设计的方法2、教学目的及要求:能熟练的使用详细设计描述工具来设计模块中的算法及程序的逻辑结构.理解Jackson方法的概念及程序复杂度的度量方法,学会使用Jackson方法设计输入输出数据结构和程序结构3、教学重点及难点流程图、PAD图、过程设计语言的简单应用;用Jackson方法设计小型体目4、教学时间分配第二节占2课时;第三节.第五节占2课时;第四节选学第六章 编 码1教学内容6.1 程序设计语言 6.2 程序设计途径2教学目的及要求了解几种常见的程序设计语言的特点,领会程序设计中应注意的问题,注意培养良好的编程风格3教学重点及难点领会写程序的风格4 教学时间分配共讲授3课时第七章:测试 1教学内容 7.1基本概念 7.4验收测试 7.2单元测试 7.5设计测试方案 7.3集成测试 7.6调试 2教学的要求 总的要求是掌握测试阶段的内容,测试方法及测试步骤(1)深刻理解白盒,黑盒测试技术。深刻理解测试过程中单元测试,集成测试,验收测试的任务及使用 的方法。 (2)掌握调试程序的方法。 (3)熟练掌握的技能是:能针对某一问题采用白盒法或黑盒法进行测试用例的设计。 3教学重点与难点。 白盒与黑盒测试方法;单元测试,集成测试的方法;自顶向下及自底向上结合模块的步骤;渐增式及非 渐增式测试的区别;归纳法与演绎法调试策略;测试用例的设计。 4教学时间分配 第一节第四节占用3学时,第五节,第六节占用3学时。第八章 维护 1教学内容 8.1软件维护定义 8.3维护过程 8.2维护的特点 8.4可维护性 2教学目的及要求 本章总的要求是:掌握软件维护的内容、特点、方法、技术、文档 (1)了解软件维护的各种困难,软件维护的特点,软件维护的文档。 (2)理解软件维护的内容,维护任务的实施。(3)深刻理解如何提高软件的维护性。3、 教学重点与难点(1) 领会改正性维护、适应性维护、完善性维护、预防性维护(2) 可维性的定义、可维性的度量及提高可维护性的方法。4、 教学时间分配 共占用3学时。第九章 面向对象的方法1、 教学内容第1节 面向对象概述第2节 面向对象的模型第3节 面向对象的分析第4节 面向对象的设计第5节 面向对象的实现2、 教学目的及要求(1) 深刻理解对象、类、类的层次结构、方法和消息的实质、深刻理解对象模型、动态模型、功能模型的元素、结构和构造方法。(2) 掌握的技能:画对象图、画状态图、画数据流程图;确定对象类、确定关联、确定属性,识别继承3、 教学重点与难点建立对象模型、动态模型、功能模型,掌握面向对象的分析、面向对象的设计、面向对象的实现的过程。4、 教学时间分配 9.19.2占用3学时,9.39.5占用3学时第十章 管理技术1、 教学内容第1节 成本估计第2节 进度计划第3节 人员组织第4节 质量保证第5节 项目计划2、教学目的及要求总的要求:了解软件开发成本结算、软件项目进度安排、软件项目计划内容及软件质量的定义、质量保证的基本概念。理解软件开发成本结算的CoCoMo模型;软件项目进度安排中的Ganto图与工程网络图;(1) 深入理解软件项目计划的重要性及各个环节之间的联系。3、教学重点与难点软件开发成本结算、软件项目进度安排、软件项目计划内容。4、教学时间分配共讲授三课时。三、教学参考书1郑人杰、殷人昆、陶永雷;实用软件工程(第二版)。清华大学出版社,1997版。2屠立德、屠祁:软件工程方法,机械工业出版社,1996版。3王博、晓龙:面向对象的建模、设计技术与方法。北京希望电脑公司,1996版。4冯玉琳、黄涛、倪彬:对象技术导论。科学出版社,1998版。软件工程课程设计大纲用结构化方法开发软件1 目的:通过该试验,掌握瀑布模型的开发过程。2 内容:开发一个单位的人事档案管理系统。功能是:录入、存储人员基本信息;可进行简单查询和条件组合查询;可按年龄、工资、职称进行统计;可打印出报表;还可对人员基本信息进行维护、备份和恢复。要求:按瀑布模型个阶段给出相应的文档:软件计划、需求说明书、设计说明书、测试计划,并编程实现。用面向对象方法建立模型3 目的:通过该实现,初步掌握面向对象的基本概念、基本模型。4 内容:建立学籍理系统的分析模型。5 要求:找出该系统的对象、类、类的结构;确立属性、方法,构造出对象模型。西南交通大学峨眉校区课程简介课程名称中文 软件工程总学时 48英文SOFTWARE OF ENGINEERING 学分3开课单位计算机与通信工程系授课方式 授课教师 袁平撰搞人 袁平适用专业计算机机本、计算机通信课程属性 必修先修课程数据结构、程序设计、计算机基础课程简介通过本课程的学习, 要求学生掌握软件工程的基本概念、基本原理、实用的开发方法和技术;了解软件工程各领域的发展方向;如何用功程化的方法开发软件项目,以及开发过程中应遵循的流程、准则、标准和规范本课程的主要内容: (1) 软件工程的产生、软件生产发展史、软件生命周期及瀑布开发模型。 ()软件开发各阶段的目标、任务、特点、步骤和文档。 (3) 结构化方法的基本思想,开发过程和步骤,应遵循的原则和准则。 ()面向对象方法的基本思想、基本概念、基本模型。主要教学参考书1郑人杰、殷人昆、陶永雷;实用软件工程(第二版)。清华大学出版社,1997版。2屠立德、屠祁:软件工程方法,机械工业出版社,1996版。3王博、晓龙:面向对象的建模、设计技术与方法。北京希望电脑公司,1996版。4冯玉琳、黄涛、倪彬:对象技术导论。科学出版社,1998版。注:“授课教师”栏可填1-3名教师