软件工程课程标准0130103534.docx
- 文档编号:11811943
- 上传时间:2023-04-02
- 格式:DOCX
- 页数:23
- 大小:22.93KB
软件工程课程标准0130103534.docx
《软件工程课程标准0130103534.docx》由会员分享,可在线阅读,更多相关《软件工程课程标准0130103534.docx(23页珍藏版)》请在冰豆网上搜索。
软件工程课程标准0130103534
软件工程》课程标准
一、课程概述
《软件工程》是数学系数学与应用数学、信息与计算科学专业的选修课。
通过本课程的学习,使学生掌握软件工程的基本方法、基本技术,能够运用软件工程的方法和技术完成今后的软件生产和软件项目管理工作中的各项任务,了解软件工程发展新动向,掌握软件工程新技术。
二、课程目标1.知道《软件工程》这门学科的性质、地位和独立价值。
知道这门学科的研究范围、分析框架、研究方法、学科进展和未来方向。
2.理解这门学科的主要概念、基本原理和准备、实施、评价策略。
3.初步学会运用一些具体的方法与技术,如软件需求规格说明书的格式叙写、软件设计方法、软件测试的步骤等。
4.养成以软件工程的方法来编写软件和设计程序的意识,并指导自己的行动。
三、课程内容和教学要求
这门学科的知识与技能要求分为知道、理解、掌握、学会四个层次。
这四个层次的一般涵义表述如下:
知道———是指对这门学科和教学现象的认知。
理解———是指对这门学科涉及到的概念、原理、策略与技术的说明和解释,能提示所涉及到的教学现象演变过程的特征、形成原因以及教学要素之间的相互关系。
掌握———是指运用已理解的教学概念和原理说明、解释、类推同类教学事件和现象。
学会———是指能模仿或在教师指导下独立地完成某些教学知识和技能的操作任务,或能识别操作中的一般差错。
教学内容和要求表中的“V”号表示教学知识和技能的教学要求层次。
本标准中打“*”号的内容可作为自学,教师可根据实际情况确定要求或不布置要求。
(一)软件工程学概述
教学内容
教学要求
知
道
理
解
掌
握
学
会
1.1软件危机
1.1.1软件危机的介绍
V
1.1.2产生软件危机的原因
V
1.1.3消除软件危机的途径
V
1.2软件工程
1.2.1软件工程的介绍
V
1.2.2软件工程的基本原理
V
1.2.3软件工程方法学
V
1.3软件生命周期
V
1.4软件过程
1.4.1瀑布模型
V
1.4.2快速原型模型
V
1.4.3增量模型
V
1.4.4螺旋模型
V
(二)可行性研究
教学内容
教学要求
知
道
理
解
掌
握
学
会
2.1可行性研究的任务
V
2.2可行性研究过程
V
2.3系统流程图
2.3.1符号、例子
V
2.3.2分层
V
2.4数据流图
2.4.1符号、例子
V
242命名、用途
V
2.5数据字典
2.5.1数据字典的内容
V
2.5.2定义数据的方法
V
2.5.3数据字典的用途
V
2.5.4数据字典的实现
V
2.6成本/效益分析
2.6.1成本估计
V
2.6.2成本/效益分析的方法
V
(三)需求分析
教学内容
教学要求
知
理
掌
学
道
解
握
会
3.1需求分析的任务
3.1.1确定对系统的综合要求
3.1.2分析系统的数据要求
3.1.3导出系统的逻辑模型
3.1.4修正系统开发计划
3.2获取需求的方法
3.2.1面向数据流自顶向下求精
3.2.2简易的应用规格说明技术
3.2.3快速建立软件原型
3.3软件需求规格说明
V
V
V
V
V
V
V
V
3.4实体一联系图
3.4.1数据对象、属性、联系
V
3.4.2实体一联系图的符号
V
3.5状态转换图
3.5.1状态、事件
V
3.5.2符号、例子
V
3.7其他图形工具
3.7.1层次方框图
V
3.7.2Warnier图
V
3.7.3IPO图
V
3.8验证软件需求
3.8.1验证软件需求的方法
V
3.8.2用于需求分析的软件工具
V
(四)形式化说明技术
教学要求
教学内容
知
理
掌
学
道
解
握
会
4.1概述
4.1.1非形式化方法的缺点
V
4.1.2形式化方法的优点
V
4.1.3应用形式化方法的准则
V
4.2有穷状态机
4.2.1概念
V
4.2.2例子
V
4.2.3评价
V
4.3Petri网
4.3.1概念
V
4.3.2例子
V
4.4Z语言
4.4.1简介
V
4.4.2评价
V
(五)总体设计
教学内容
教学要求
知
道
理
解
掌
握
学
会
5.1设计过程
V
5.2设计原理
5.2.1模块化
V
5.2.2抽象
V
5.2.3逐步求精
V
5.2.4信息隐藏和局部化
V
5.2.5模块独立
V
5.3启发规则
V
5.4描绘软件结构的图形工具
5.4.1层次图和HIPO图
V
542结构图
V
5.5面向数据流的设计方法
5.5.1概念
5.5.2变换分析
V
5.5.3事务分析
V
5.5.4设计优化
V
(六)详细设计
教学内容
教学要求
知
道
理
解
掌
握
学
会
6.1结构程序设计
V
6.2人机界面设计
6.2.1设计问题
V
6.2.2设计过程
V
6.2.3人机界面设计指南
V
6.3过程设计的工具
6.3.1程序流程图
V
6.3.2盒图(NS图)
V
6.3.3PAD图
V
6.3.4判定表
V
6.3.5判定树
V
6.3.6过程设计语言
V
6.4面向数据结构的设计方法
6.4.1Jackson图
V
6.4.2改进的Jackson图
V
6.4.3Jackson方法
V
6.5程序复杂程度的疋里度里
6.5.1McCabe方法
6.5.2Halstead方法
V
V
(七)实现(软件测试)
教学内容
教学要求
知
道
理
解
掌
握
学
会
7.1编码
7.1.1选择程序设计语言
V
7.1.2编码风格
V
7.2软件测试基础
7.2.1软件测试的目标
V
7.2.2软件测试准则
V
7.2.3测试方法和步骤
V
7.2.4测试阶段的信息流
V
7.3单元测试
7.3.1测试重点
V
7.3.2代码审查
V
7.3.3计算机测试
V
7.4集成测试
7.4.1自顶向下集成
V
7.4.2自底向上集成
V
7.4.3不冋集成测试策略的比较
V
7.4.4回归测试
V
7.5确认测试
7.5.1确认测试的范围
V
7.5.2软件配置复查
V
7.5.3Alpha和Beta测试
V
7.6白盒测试技术
7.6.1逻辑覆盖
V
7.6.2控制结构测试
V
7.7黑盒测试技术
7.7.1等价划分
V
7.7.2边界值分析
V
7.7.3错误推测
V
7.8调试
7.8.1调试过程
V
7.8.2调试途径
V
7.9软件可靠性
7.9.1基本概念
V
7.9.2估算平均无故障时间的方法
V
(八)软件维护
教学内容
教学要求
知
道
理
解
掌
握
学
会
8.1软件维护的定义
V
8.2软件维护的特点
8.2.1结构化维护与非结构化维护差别巨大
V
8.2.2维护的代价高昂
V
8.2.3维护的问题很多
V
8.3软件维护过程
8.4软件的可维护性
8.4.1决定软件可维护性的因素
V
8.4.2文档
V
843可维护性复审
8.5预防性维护
8.6软件冉工程过程
V
V
V
(九)面向对象方法学引论
教学内容
教学要求
知
道
理
解
掌
握
学
会
9.1面向对象方法学概述
9.1.1面向对象方法学的要点
V
9.1.2面向对象方法学的优点
V
9.2面向对象的概念
V
9.3面向对象建模
9.4对象模型
9.4.1类图的基本符号
V
9.4.2表示关系的符号
V
9.5动态模型
V
9.6功能模型
V
9.73种模型之间的关系
V
(十)面向对象分析
教学内容
教学要求
知
道
理
解
掌
握
学
会
10.1面向对象分析的基本过程
10.2需求陈述
10.3建立对象模型
V
V
10.3.1确定类与对象
10.3.2确定关联、划分主题
10.3.3确定属性、识别继承关系
10.4建立动态模型
10.5建立功能模型
10.5.1画出基本系统模型图
10.5.2画出功能级数据流图
10.5.3描述处理框功能
V
V
V
V
V
V
V
面向对象设计
教学内容
教学要求
知
道
理
解
掌
握
学
会
11.1面向对象设计的准则
V
11.2启发规则
V
11.3软件重用
11.3.1概述、类构件
V
11.3.2软件重用的效益
V
11.4系统分解
V
11.5设计问题域子系统
V
11.6设计人机父互子系统
V
11.7设计任务管理子系统
V
11.8设计数据管理子系统
11.8.1选择数据存储管理模式
V
11.8.2设计数据管理子系统
V
11.9设计类中的服务
11.9.1确定类中应有的服务
V
11.9.2设计实现服务的方法
V
11.10设计关联
11.11设计优化
11.11.1确定优先级
11.11.2提咼效率的几项技术
11.11.3调整继承关系
V
V
V
V
(十二)面向对象实现
教学内容
教学要求
知
道
理
解
掌
握
学
会
12.1程序设计语言
12.1.1面向对象语言的优点
V
12.1.2面向对象语言的技术特点
V
12.1.3选择面向对象语言
V
12.2程序设计风格
V
12.2.1提咼可重用性
12.2.2提高可扩充性
V
12.2.3提高健壮性
V
12.3测试策略
12.3.1面向对象的单兀测试
V
12.3.2面向对象的集成测试
V
12.3.3面向对象的确认测试
V
12.4设计测试用例
12.4.1测试类的方法
V
12.4.2集成测试方法
V
(十三)软件项目管理
教学内容
教学要求
知
道
理
解
掌
握
学
会
13.1估算软件规模
V
13.2工作量估算
13.2.1静态单变量模型
V
13.2.2动态多变量模型
V
13.2.3C0C0M02模型
V
13.3进度计划
13.3.1估算开发时间
V
13.3.2Gantt图
V
13.3.3估算工程进度
V
13.4人员组织
13.4.1民主制程序员组
V
13.4.2主程序员组
V
13.4.3现代程序员组
V
13.5软件质量保证措施
V
13.6软件配置管理
13.6.1软件配置
V
13.6.2软件配置管理过程
V
13.7能力成熟度模型
V
四、课程实施
(一)课时安排与教学建议
《软件工程》是数学系数学与应用数学、信息与计算科学专业的选修课,系主干课程。
在教学计划中,一般情况下,共54课时。
函授生视具体情况而定,一般为42课时。
具体课
时安排如下:
主要内容
课时建议
教与学的方法建议
按54课时
计
按42课时
计
软件工程学概述
4
2
课堂教学、讨论
可行性研究
2
2
课堂教学、讨论
需求分析
4
4
课堂教学、讨论
形式化说明技术
4
2
课堂教学、讨论
总体设计
4
2
课堂教学、讨论
详细设计
6
4
课堂教学、讨论
实现(软件测试)
6
4
课堂教学、讨论
软件维护
6
4
课堂教学、讨论
面向对象方法学引论
2
2
课堂教学、讨论
面向对象分析
4
4
课堂教学、讨论
面向对象设计
4
4
课堂教学、讨论
面向对象实现
4
4
课堂教学、讨论
软件项目管理
4
4
课堂教学、讨论
(二)教学组织形式与教学方法要求
1.教学班是主要的教学组织,班级授课制是目前教学的主要组织形式。
培养学生发现问
题、分析问题、解决问题的能力和探究意识。
2.充分发挥学生的主动性,一定要结合他们自身的软件设计能力和经验进行教学。
3.评价教学方法要以实现课程标准规定的教学目标为依据,好的教学方法应有助于学生
对教学内容的理解,并能激发学生的学习热情,树立自己的教育信念。
五、教材编写与选用
《软件工程》教材选用普通高校重点教材:
软件工程导论(第四版)张海藩,北京:
清华大学出版社(2003),也可以选用公认的水平较高的教材。
如:
《实用软件工程》(第二
版)郑人杰、殷人昆、陶永雷,北京:
清华大学出版社(1997)
六、课程评价
1.这门学科的评价依据是本课程标准规定的课程目标、教学内容和要求,该门课程采用平
时考核(30%)和集中考试(70%)相结合的形式进行。
2.集中考试说明
1)考试时间:
120分钟。
2)考试方式、分制与分数解释
采用闭卷、笔试的方式,以百分制评分,60分为及格,满分为100分。
3)题型比例
单选题20%;填空题15%;选择判断题15%;简答题20%;应用题30%;
4)样题与目标定位示例
A•单选题:
(着重考查学生对知识的识别程度)
例:
“软件危机”产生的主要原因是()。
a.软件日益庞大b.开发方法不当c.开发人员能力差d.没有维护好软件
B.填空题:
(着重考查学生对知识的理解程度)
例:
要设计一个商业单位信息管理系统,首选的程序设计(高级)语言应该是。
C.选择判断题:
(着重考查学生对知识的理解程度)
例:
没有Do-until结构,就不能实现结构化,从而降低了程序的运行效率。
()
D•简答题:
(着重考查学生对知识的理解与掌握程度)
例:
选择编写程序使用的程序设计语言时的主要准则是什么?
E.应用题:
(着重考查学生对知识的掌握与学会程度)
例:
下面是一个模块的伪码描述:
begins1;
ifcthens2
elses3;
s4;
end
使用McCabe方法,先画出其程序图,在计算其环形复杂度。
制定该课程标准小组成员名单:
孙宇锋、王逸明、谢垂益
审核者:
简国明
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 课程标准 0130103534