软件工程课程教学大纲 Software Engineering 课程编号:1613116 课程类别:专业课 适用专业:农学(农业信息技术) 先修课程:高等数学、计算机应用基础、C及C+语言与程序设计 后续课程:Visual Basic的程序设计 总学分:30学分 教学目的与要求:通过本课程的教学,使学生了解传统的结构分析方法和正在发展的面向对象的开 发方法学,理解从可行性论证直到软件维护各阶段的内容:了解软件生命周期中各个阶段软件开发 技术、较好地掌握软件工程中基本概念、基本方法、基本原理:了解程序设计与程序测试及维护在 整个软件开发中所占的比例,掌握软件项目工作量及进度阶段分布的计算方法:通过案例分析,掌 握开发 一般软件方法及技术, 为以后生产开发大型复杂软件打下良好基础。 教学内容与学时安排 学时分配 序号 章名 讲 实 上 讨 习 其 授 机 4 1 软件工程引论 2 2 2 软件工程管理技术 可行性研究 4 4 4 需求分析和规范 7 2 5 总体设计 6 6 6 详细设计 5 5 7 程序设计 2 2 8 测试 6 9 面向对象方法学引论 3 3 10 面向对象的系统分析 3 3 11 面向对象的系统设计 3 12 面向对象系统的测试 2 第一章软件工程引论 (2学时) 1、教学基本要求 (1)了解软件的特征,理解软件的生命周期法: 1
1 软件工程课程教学大纲 Software Engineering 课程编号:1613116 课程类别:专业课 适用专业:农学(农业信息技术) 先修课程:高等数学、计算机应用基础、C 及 C++语言与程序设计 后续课程:Visual Basic 的程序设计 总 学 分:3.0 学分 教学目的与要求:通过本课程的教学,使学生了解传统的结构分析方法和正在发展的面向对象的开 发方法学,理解从可行性论证直到软件维护各阶段的内容;了解软件生命周期中各个阶段软件开发 技术、较好地掌握软件工程中基本概念、基本方法、基本原理;了解程序设计与程序测试及维护在 整个软件开发中所占的比例,掌握软件项目工作量及进度阶段分布的计算方法;通过案例分析,掌 握开发一般软件方法及技术,为以后生产开发大型复杂软件打下良好基础。 教学内容与学时安排 序号 章 名 学时分配 讲 授 实 验 上 机 讨 论 习 题 其 它 小 计 1 软件工程引论 2 2 2 软件工程管理技术 5 5 3 可行性研究 4 4 4 需求分析和规范 7 7 5 总体设计 6 6 6 详细设计 5 5 7 程序设计 2 2 8 测试 6 6 9 面向对象方法学引论 3 3 10 面向对象的系统分析 3 3 11 面向对象的系统设计 3 3 12 面向对象系统的测试 2 2 第一章 软件工程引论 (2 学时) 1、教学基本要求 (1)了解软件的特征,理解软件的生命周期法;
(2)掌握常用的过程模型 2、教学基本内容 第一节软件困境 一、软件的特征 二、软件开发问题 第二节软件工程 一、软件的生命周期法 二、两种软件开发范例 三、软件开发的过程模型 第三节某些广泛使用的过程模型 一、瀑布模型 二、迅速原型模型 三、增量模型 第二章软件工程管理技术 (5学时) 1、教学基本要求 (1)了解软件质量保证与正式技术审查: (2)理解软件特征量的概念和应用: (3)掌握软件规模的估计及方法,软件工作量估计、软件项目的调度技术 2、教学基本内容 第一节软件特征量 度量、特征量和指示器 面向尺寸的特征量 三、面向功能的特征量 #基木的功能点度量:扩东的功能点度量 四、联系两种特征量方法 第二节软件规模估计 一、问题的叙述 二、基于L0C的估计 三、基于FP的估计 ◆使用粗略估计方法:#使用分析模型方法。 第三节软件工作量的估计
2 (2)掌握常用的过程模型。 2、教学基本内容 第一节 软件困境 一、软件的特征 二、软件开发问题 第二节 软件工程 一、软件的生命周期法 二、两种软件开发范例 三、软件开发的过程模型 第三节 某些广泛使用的过程模型 一、瀑布模型 二、迅速原型模型 三、增量模型 第二章 软件工程管理技术 (5 学时) 1、教学基本要求 (1)了解软件质量保证与正式技术审查; (2)理解软件特征量的概念和应用; (3)掌握软件规模的估计及方法,软件工作量估计、软件项目的调度技术。 2、教学基本内容 第一节 软件特征量 一、度量、特征量和指示器 二、面向尺寸的特征量 三、面向功能的特征量 *#基本的功能点度量;扩充的功能点度量。 四、联系两种特征量方法 第二节 软件规模估计 一、问题的叙述 二、基于 LOC 的估计 三、基于 FP 的估计 *使用粗略估计方法;#使用分析模型方法。 第三节 软件工作量的估计
一、参数方程方法 静态变量模型:◆动态多变模型。 一、G0C0M0模型 ◆基本COCOMO模型: #中级COCOMO模型。 第四节软件项目的调度 一、使用C0C0M0模型确定项目进度 ·项目开发期限估算:◆工作量与进度的阶段分布:#插值法。 二、项目调度技术 时间条图:#工程网络图 第五节人员组织 一、各阶段的项目活动分布 二、项目的组织机构 广义软件项目组织图:幸组织图的制作准则。 第六节软件质量管理 一、软件质量保证 软件质量保证活动:软件市查 二、正式技术审查 审查会议:审查的指导原则 三、统计质量保证 第三章可行性研究 (4学时) 1、教学基本要求 (1)了解可行性研究的基础、任务与步骤: (2)理解最有效成本解与最大可行解的概念与应用 (3)掌握应用净资金现值方法进行成本/效益分析技术 2、教学基本内容 第一节可行性研究的基础 范围与目标叙述。 第二节可行性研究的任务 一、技术可行性 二、经济可行性 三、操作可行性 四、调度可行性 第三节成本/效益分析 3
3 一、参数方程方法 静态变量模型;*动态多变模型。 二、COCOMO 模型 *基本 COCOMO 模型;#中级 COCOMO 模型。 第四节 软件项目的调度 一、使用 COCOMO 模型确定项目进度 *项目开发期限估算;*工作量与进度的阶段分布;#插值法。 二、项目调度技术 时间条图;*#工程网络图。 第五节 人员组织 一、各阶段的项目活动分布 二、项目的组织机构 广义软件项目组织图;*组织图的制作准则。 第六节 软件质量管理 一、软件质量保证 软件质量保证活动;软件审查。 二、正式技术审查 审查会议;审查的指导原则。 三、统计质量保证 第三章 可行性研究 (4 学时) 1、教学基本要求 (1)了解可行性研究的基础、任务与步骤; (2)理解最有效成本解与最大可行解的概念与应用; (3)掌握应用净资金现值方法进行成本/效益分析技术。 2、教学基本内容 第一节 可行性研究的基础 范围与目标叙述。 第二节 可行性研究的任务 一、技术可行性 二、经济可行性 三、操作可行性 四、调度可行性 第三节 成本/效益分析
一、系统的开发成本与运营成本 系统的开发成本;系统的运营成本。 二、来自计算机系统的效益 次性效盗:运营效益 三、成本/效益分析方法 *回收分析:*#净资金现值分析方法。 第四节可行性研究的步骤 确定新系统的规模与目标 二、研究现行系统 ·系统模型:综述现行系统:研究现存系统的方法。 三、导出新系统的物理模型 四、导出实现方案与洗搔最优方案 导出实现方案:◆选择最优系统方案:选择最优方案实例 五、进行成本/效益分析 六、制订开发计划 七、书写文档 第四章需求分析和规范 (7学时) 1、教学基本要求 (1)了解用户需求分析的任务和方法,形式化规范技术及用户需求规范的评审等: (2)理解有限状态机、Peti网等: (3)掌握数据流程图,数据字典,判定表与判定树等。 2、教学基本内容 第一节用户需求分析的任务 一、确定新系统的综合要求 新系统的功能要求与边界确定:◆系统的性能要求:系统的环境要求:扩充与升级要求。 二、分析现行系统 现行 系统的功能需求:现行系统的行为需求:系统的数据需求:现行系统的查询需求。 三、导出新系统的模型 四、修订开发计划 五、开发软件模型系统 第二节需求规范 一、规范的原则与表达方式要求 二、需求规范内容 第三节数据流程图
4 一、系统的开发成本与运营成本 系统的开发成本;系统的运营成本。 二、来自计算机系统的效益 一次性效益;运营效益。 三、成本/效益分析方法 *回收分析;*#净资金现值分析方法。 第四节 可行性研究的步骤 一、确定新系统的规模与目标 二、研究现行系统 *系统模型;综述现行系统;研究现存系统的方法。 三、导出新系统的物理模型 四、导出实现方案与选择最优方案 导出实现方案;*选择最优系统方案;选择最优方案实例。 五、进行成本/效益分析 六、制订开发计划 七、书写文档 第四章 需求分析和规范 (7 学时) 1、教学基本要求 (1)了解用户需求分析的任务和方法,形式化规范技术及用户需求规范的评审等; (2)理解有限状态机、Petri 网等; (3)掌握数据流程图,数据字典,判定表与判定树等。 2、教学基本内容 第一节 用户需求分析的任务 一、确定新系统的综合要求 新系统的功能要求与边界确定;*系统的性能要求;系统的环境要求;扩充与升级要求。 二、分析现行系统 现行系统的功能需求;现行系统的行为需求;系统的数据需求;现行系统的查询需求。 三、导出新系统的模型 四、修订开发计划 五、开发软件模型系统 第二节 需求规范 一、规范的原则与表达方式要求 二、需求规范内容 第三节 数据流程图
一、数据流程图的概念 ◆数据流程图中的符号:*#数据流程图的概念与案例:数据流程图绘制的有关规定。 第四节数据字典 数据元素的定义 二、数据流的定义 三、数据存贮的定义 四、处理定义 五、对实现计算机数据字典的要求 第五节判定表与判定树 一、判定表 #判定表的构造:*判定表的变种:判定表的优缺点。 二、判定树 判定树的构造与优缺点。 第六节有限状态机 一、有限状态机的概念 幸有限状态机的概念:有限状态机的表示 二、有限状态机应用案例 第七节Petri网 一、Petri网的概念 二、Petri网的应用 第八节形式化规范技术 一、序列及有关的数学符号 二、形式方法中的一些概念 第九节用户需求规范的评审 包括宏观级评审和细节级评审。 第五章总体设计 (6学时) 1、教学基本要求 (1)了解总体设计特征量的概念和方法,系统结构设计的方法: (2)理解软件结构的设计方法及程序结构的优化设计: (3)掌握模块化原理、内聚和耦合及总体设计的图形工具等。 2、教学基本内容 第一节总体设计的概念与原则
5 一、数据流程图的概念 *数据流程图中的符号;*#数据流程图的概念与案例;数据流程图绘制的有关规定。 第四节 数据字典 一、数据元素的定义 二、数据流的定义 三、数据存贮的定义 四、处理定义 五、对实现计算机数据字典的要求 第五节 判定表与判定树 一、判定表 *#判定表的构造;*判定表的变种;*判定表的优缺点。 二、判定树 *判定树的构造与优缺点。 第六节 有限状态机 一、有限状态机的概念 *有限状态机的概念;有限状态机的表示。 二、有限状态机应用案例 第七节 Petri 网 一、Petri 网的概念 二、Petri 网的应用 第八节 形式化规范技术 一、序列及有关的数学符号 二、形式方法中的一些概念 第九节 用户需求规范的评审 包括宏观级评审和细节级评审。 第五章 总体设计 (6 学时) 1、教学基本要求 (1)了解总体设计特征量的概念和方法,系统结构设计的方法; (2)理解软件结构的设计方法及程序结构的优化设计; (3)掌握模块化原理、内聚和耦合及总体设计的图形工具等。 2、教学基本内容 第一节 总体设计的概念与原则