《软件工程》教学大纲.docx
- 文档编号:6508097
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:19
- 大小:22.28KB
《软件工程》教学大纲.docx
《《软件工程》教学大纲.docx》由会员分享,可在线阅读,更多相关《《软件工程》教学大纲.docx(19页珍藏版)》请在冰豆网上搜索。
《软件工程》教学大纲
《软件工程》课程教学大纲
课程编码
课程性质
专业基础课
教学对象
计算机科学与技术、教育技术学
学时学分
34学时
编写单位
铜仁学院物理与电子科学系
编写人
席世海
审定人
秦伟
编写时间
2012年9月12日
一、课程说明
1、课程简介
《软件工程》适用于计算机及相关本科专业的课程,支持毕业生从事软件的开发和管理工作。
教材覆盖ACM/IEEE-CS 联合推出的CCSE2005-SEEK要求的软件工程的基本知识领域,满足计算机类(本科)专业的软件工程课程的大纲要求。
教材结构清晰、语言简洁、图文并貌,专业术语规范。
每章末附有小结和习题,书末附参考文献。
该教材具有如下特点:
(1)内容安排恰当。
取舍得当,重点突出,满足《高等学校计算机科学与技术专业专业规范》相应课程大纲要求,覆盖了ACM&IEEE制订的CC2005-CS中有关软件工程的主要知识点。
(2)内容比较新。
该教材既介绍传统的软件开发方法,又介绍了一些能反映当今软件工程的最新技术和方法,如UML2.0,基于构件的软件开发,基于WEB的应用,敏捷软件开发,能力成熟度模型集成CMMI等。
(3)注重软件开发方法的介绍。
该教材在介绍软件工程的基本概念和基本原理的基础上,重点介绍典型的软件开发方法,有利于培养学生的软件开发能力,体现了以适当知识为载体,实现专业基本能力培养的思想,对课程的讲授有很好的引导作用。
(4)专业术语规范,用词严格,叙述准确,设计了适当的习题,进一步引导读者考虑理论与实际应用结合。
(5)教材结构合理,语言简洁、通顺,图文并貌,适宜读者自学。
2、教学目的要求
通过本课程的学习,使学生初步建立工程化意识,学会用工程化思想(包括技术、方法与环境)开发各种软件,以软件的生命周期作为主线,掌握软件工程的基本理论,进一步系统化、工程化,为今后实际工程中能够进行系统分析与设计奠定良好的基础。
通过本课程的教学,应使学生达到以下要求:
1.熟练掌握软件与软件工程基本概念和基本知识。
(1)熟练掌握软件与软件工程基本概念和基本知识。
(2)熟练掌握生存周期与软件开发模式。
(3)掌握结构化程序设计的编程思想。
(4)掌握面向对象分析、设计与编码方法。
(5)掌握有关软件的评审、测试与维护,项目计划与项目管理方法。
(6)能用软件工程的方法参与软件项目的分析、设计、实现和维护。
总之,从工程化角度培养学生从事软件开发、软件测试、维护与管理的基本原理和方法。
3、教学重点难点
重点:
(1)软件的特征,软件工程的定义,软件的生命周期各阶段的任务,常用的软件过程模型;
(2)用户需求获取、分析、验证;
(3)设计过程:
结构化分析和设计、面向对象的分析与设计。
(4)人机界面设计
(5)测试技术
(6)软件维护
(70软件项目管理
难点:
(1)软件工程模型
(2系统需求工程
(3)形式化规范技术.
(4)设计过程:
结构化分析和设计、面向对象的分析与设计(UML建模)。
(5)人机界面设计
(6)白盒测试与黑盒测试的设计技术
(7)软件项目管理
4、教学手段及教学方法建议
本课程的教学方法主要采用课堂教学。
课堂教学以多媒体教学为辅助手段,在教学过程中多以实例引导。
根据各章节的内容的特点因章节施教,启发式教学贯穿始终。
5、考核方式
期末考评成绩=理论成绩(考试卷面成绩)*60%+平时成绩(平时作业和考勤)*40%。
6、选用教材
钱乐秋主编.软件工程.清华大学出版社.2007年3月。
7、教学参考书
[1]周丽娟主编.软件工程实用教程.清华大学出版社.2012年9月;
[2]张海藩主编.软件工程导论(第三版).清华大学出版社.1998年8月;
[3]殷人昆主编.实用软件工程(第3版).清华大学出版社.2010年11月;
[4]RajibMall.软件工程基础(第3版).清华大学出版社.2012年1月;
[5]贾铁军主编.软件工程与实践.清华大学出版社.2012年6月。
8、教学环节及学时安排(根据本课程实际情况填写)
课程学时分配表
章次
教学内容
讲授课
学时数
实践课
学时数
第1章
概论
2
第2章
系统工程
1
第3章
需求工程
2
第4章
设计工程
2
第5章
结构化分析与设计
4
第6章
面向数据结构的分析与设计
2
第7章
面向对象的分析与设计
4
第8章
基于构件的软件开发
2
第9章
人机界面设计
2
第10章
程序设计语言和编码
2
第11章
软件测试
4
第12章
Web工程
2
第13章
软件维护与再工程
1
第14章
软件项目管理
4
总计
34
二、教学内容
第一章概论(2学时)
1、教学目标
了解敏捷软件开发方法和CASE工具和应用环境。
熟悉软件工程产生的原因;熟悉各种软件过程模型,如瀑布模型、增量模型。
掌握软件生命周期各个阶段的任务;掌握软件危机的概念。
2、本章重点
软件危机的概念;软件生命周期;各种软件过程模型。
3、本章难点
敏捷软件开发方法和CASE工具和应用环境。
4、本章思考题及实训题目
(1)什么是软件工程?
(2)简述CASE工具和环境的重要性。
5、讲授内容
第一节计算机软件
一、软件的发展
二、软件的特点
三、软件的分类
四、软件语言
第二节软件工程
一、软件工程定义
二、软件工程框架
四、软件生存周期
第三节软件过程
一、ISO/IEC12207软件生存周期过程
二、能力成熟度模型CMM
三、能力成熟度模型集成CMMI
第四节软件过程模型
一、瀑布模型
二、演化模型
三、增量模型
四、原型模型
五、螺旋模型
六、喷泉模型
七、基于构件的开发模型
八、形式化方法模型
第五节敏捷软件开发
一、敏捷软件开发的价值观及开发原则
二、XP方法简介
三、Agile与CMM
第六节CASE工具与环境
一、软件工具
二、软件开发环境
第二章系统工程(1学时)
1、教学目标
了解可行性研究的任务。
2、本章重点
可行性分析的重要性。
可行性分析的步骤内容。
3、本章难点
可行性研究的任务。
4、本章思考题及实训题目
(1)什么是系统工程的任务?
(2)简述可行性分析的任务。
5、讲授内容
第一节基于计算机的系统
第二节系统工程的任务
第三节可行性分析
一、经济可行性
二、技术可行性
三、法律可行性
四、方案的选择和折衷
第三章需求工程(2学时)
1、教学目标
了解需求分析的任务和与用户沟通的方法;了解其他图形工具的使用,如Warnier图,IPO图。
熟悉验证软件需求的方法。
掌握文档的正确写法,能够熟练描绘出实体——联系图和状态转化图。
2、本章重点
需求分析的方法。
需求分析的任务和原则。
3、本章难点
需求分析的方法。
4、本章思考题及实训题目
(1)简述需求工程的重要性,需求工程包括哪些步骤?
(2)软件需求分析的操作性原则和需求工程的指导性原则是什么?
5、讲授内容
第一节需求工程概述
第二节需求获取
一、软件需求
二、需求获取方法与策略
第三节需求分析、协商与建模
一、需求分析原则
二、信息域
三、抽象、分解与多视点分析
四、需求协商
五、需求建模
第四节需求规约与验证
一、需求规约的原则
二、需求规约
三、需求验证
第五节需求管理
第四章设计工程(2学时)
1、教学目标
了解软件设计的原则如:
抽象与逐步求精,模块化,信息隐藏,模块独立;了解软件体系结构设计;了解部件级设计技术如各种设计表示方法,设计规约与设计评审。
2、本章重点
软件设计的原则、步骤、方法。
3、本章难点
软件设计的原则、步骤、方法。
4、本章思考题及实训题目
(1)简述软件设计阶段的基本任务?
(2)什么是模块的独立性?
软件设计中为什么要模块独立?
如何度量独立性?
模块功能独立有何优点?
5、讲授内容
第一节软件设计工程概述
第二节软件设计原则
一、抽象与逐步求精
二、模块化
三、信息隐藏
四、模块独立
第三节软件体系结构设计
一、体系结构发展过程
二、软件体系结构的风格
三、评估可选的体系结构
第四节部件级设计技术
一、结构化程序设计方法
二、图形表示法
三、判定表
四、设计性语言PDL
第五节设计规约与设计评审
一、设计规约
二、设计评审
第五章结构化分析与设计(4学时)
1、教学目标
了解总体设计过程的每个步骤及设计过程的基本原理和相关概念;了解在开发软件的过程中得出的启发规则。
熟悉总体设计的主要目的;熟悉如何用数据流图描绘信息在系统中加工和流动的情况。
。
掌握如何用层次图和HIPO图来描绘软件的层次结构。
如何使用结构图描绘软件结构。
2、本章重点
设计过程的要求。
详细设计方法。
3、本章难点
详细设计方法。
4、本章思考题及实训题目
(1)简述数据流图的主要思想,概述使用数据流图进行需求分析的过程。
(2)分别采用数据流方法中的哪些技术来完成用户需求的精确化、一致化和完全化任务?
5、讲授内容
第一节结构化分析方法概述
第二节数据流图
一、数据流图的图形表示
二、分层数据流图的画法
第三节分层数据流图的审查
一、分层数据流图的一致性和完整性
二、构造分层DFD时需要注意的问题
三、分解的程度
第四节数据字典
一、字典条目的种类及描述符号
二、字典条目
三、字典条目实例
四、数据字典的实现
第五节描述基本加工的小说明
一、结构化语言
二、判定表
三、判定树
第六节结构化设计概述
一、结构图
二、启发式设计策略
三、结构化设计的步骤
第七节数据流图到软件体系结构的映射
一、信息流
二、数据流图映射到结构图的步骤、
三、变换分析
四、事务分析
五、分层DFD的映射
第八节初始结构图的改进
一、结构图改进实例
二、结构图改进技巧
第六章面向数据结构的分析与设计(2学时)
1、教学目标
了解JSP方法的分析和设计步骤。
2、本章重点
JSP方法的分析和设计步骤。
3、本章难点
JSP方法的分析和设计步骤。
4、本章思考题及实训题目
(1)简述面向数据结构方法的特点。
(2)假设要设计一个书店库存管理软件,书店中除图书外还销售磁带/光盘等音像制品,需给各类商品建立一个信息表,图书应有书名、书号、出版社、版次、出版年月、图书定价、图书进价、图书零售价、图书批发价、库存数量,音像制品有制品名称、音像制品出版社、出版年月、制品进价、制品批发价及库存数量,店长应随时能根据系统中信息,按出版社、出版年月、进价索要分类清单,请完善需求并设计相应的数据结构。
5、讲授内容
第一节JSP方法
一、数据结构与程序结构的表示
二、JSP方法的分析和设计步骤
第二节JSD方法简介
第七章面向对象的分析和设计(4学时)
1、教学目标
了解UML语言,能够对拟开发的系统进行模型的建立。
理解面向对象的概念和基础知识的。
熟悉面向对象的建模方法,将所学的面向对对象的建模方法应用到开发的项目中去;熟悉面向对象分析与设计过程。
2、本章重点
面向对象的建模方法。
面向对象分析与设计过程。
3、本章难点
面向对象的建模方法。
面向对象分析与设计过程。
4、本章思考题及实训题目
(1)简述面向对象的分析过程。
(2)简述面向对象的设计过程。
5、讲授内容
第一节面向对象的基本概念
第二节面向对象分析和设计过程
一、面向对象分析过程
二、面向对象设计过程
三、设计模式
第三节UML概述
一、UML发展历史
二、UML简介
三、视图
四、图
第四节用况建模
一、用况建模步骤
二、确定执行者
三、确定用况
四、用况描述
五、用况图中的关系
六、实例
第五节静态建模
一、类图和对象图
二、CRC技术
三、类之间的关系
第六节动态建模
一、状态机图
二、活动图
三、顺序图
四、通信图
第七节物理体系结构建模
一、构件图
二、部署图
第八章基于构件的软件开发(2学时)
1、教学目标
了解基于构件的概念,采取基于构件的软件开发的原因。
掌握基于构件的软件开发过程,构造可复用的构件和构件管理。
2、本章重点
构件的概念。
采取基于构件的软件开发的原因、过程。
3、本章难点
构件的概念。
采取基于构件的软件开发的原因、过程。
4、本章思考题及实训题目
(1)什么是构件?
(2)简述基于构件的软件开发过程。
5、讲授内容
第一节基于构件的软件开发概述
一、构件
二、基于构件的软件开发过程
三、CBSD对质量、生产率和成本的影响
第二节建造可复用构件
一、对可复用构件的要求
二、创建领域构件的设计框架
三、可变性分析
四、可变性机制
第三节应用系统工程
一、基于CBSD的应用系统分析和设计
二、构件的鉴定、特化和组装
第四节构件的管理
一、构件的分类描述
二、构件库管理系统
第九章人机界面设计(2学时)
1、教学目标
了解人机界面设计的重要意义。
掌握基本的界面设计的原则和基本技术。
2、本章重点
界面设计的原则和基本技术。
3、本章难点
界面设计的原则和基本技术。
4、本章思考题及实训题目
(1)简述TheoMandel界面设计著作中的3条“黄金原则”。
(2)简述界面设计中的可用性测试?
5、讲授内容
第一节人的因素
一、人对感知过程的认识
二、用户的技能和行为方式
三、人体测量学对设计的影响
第二节人机界面风格
第三节人机界面分析与建模
一、人机界面设计过程
二、人机界面设计中涉及的模型
三、任务分析的途径与方法
第四节界面设计活动
一、定义界面对象和动作
二、设计问题
三、黄金原则
第五节实现工具
第六节设计评估
第十章输入输出(I/O)系统(2学时)
1、教学目标
了解软件过程中编程语言的成分、特性、分类和选择。
掌握一种合适的程序设计语言将软件设计的结果翻译成程序。
2、本章重点
软件过程中编程语言的成分。
3、本章难点
软件过程中编程语言的成分。
4、本章思考题及实训题目
(1)程序设计语言的基本成分有哪些?
(2)程序设计语言的基本特性有哪些?
5、讲授内容
第一节程序设计语言
一、程序设计语言的基本成分
二、程序设计语言的特性
三、程序设计语言的分类
四、程序设计语言的选择
第二节程序设计风格
一、源程序文档化
二、数据说明
三、语句结构
四、输入和输出
第十一章软件测试(4学时)
1、教学目标
了解软件的可靠性的一些估算方法;了解一些基本的测试策略以及面向对象的一些测试方法。
熟悉单元测试和集成测试的方法。
掌握测试的基本概念和基础知识;掌握白盒测试和黑盒测试的概念和方法;掌握程序的调试过程。
2、本章重点
单元测试和集成测试的方法。
白盒测试和黑盒测试的概念和方法。
3、本章难点
白盒测试和黑盒测试的概念和方法。
4、本章思考题及实训题目
(1)什么是白盒测试?
什么是黑盒测试?
(2)分别简述单元测试、集成测试、确认测试和系统测试的任务。
5、讲授内容
第一节软件测试基础
一、软件测试的目的
二、软件测试的基本原则
三、白盒测试和黑盒测试
第二节白盒测试
一、逻辑覆盖测试
二、逻辑表达式错误敏感的测试
三、基本路径测试
四、数据流测试
五、循环测试
第三节黑盒测试
一、等价类划分
二、边界值分析
三、比较测试
四、错误猜测
五、因果图
第四节测试策略
一、V模型
二、单元测试
三、集成测试
四、确认测试
五、系统测试
第五节面向对象测试
一、面向对象语境对测试的影响
二、面向对象测试策略
三、面向对象测试用例设计
第六节测试完成标准
第七节调试
一、调试过程
二、调试方法
三、纠正错误
第十二章Web工程(2学时)
1、教学目标
了解WEB工程的整个流程,WEB分析、设计、开发、测试过程。
2、本章重点
WEB分析、设计、开发、测试过程;软件的再工程过程。
3、本章难点
WEB分析、设计、开发、测试过程;软件的再工程过程。
4、本章思考题及实训题目
(1)提出3条将帮助指导Web工程设计的“黄金规则”的建议。
(2)总结当前Web应用设计模式的状况。
5、讲授内容
第一节基于Web系统和应用的属性
第二节Web工程过程
一、过程框架
二、改善框架
三、Web工程中有用的规则
四、方法和工具
第三节Web分析
一、Web的分析类别
二、分析元素
第四节Web设计
一、体系结构设计
二、导航设计
三、界面设计
四、构件级设计
第五节Web测试
一、质量评判标准
二、在WebApp环境下出现的错误
三、测试策略
第十三章软件维护与再工程(1学时)
1、教学目标
了解软件的再工程过程。
掌握软件维护的定义,特点、过程;明确软件维护的重要性。
2、本章重点
软件维护的过程;软件的再工程过程。
3、本章难点
软件维护的过程。
4、本章思考题及实训题目
(1)软件维护过程是如何进行的?
为什么要进行软件可维护性分析?
(2)如何说服正在开发新系统的客户在重用性和可测试性上增加预算?
5、讲授内容
第一节软件维护
一、软件维护的概念
二、软件维护的过程
三、软件可维护性
第二节再工程技术
一、再工程的概念
二、业务过程再工程
三、软件再工程过程
四、逆向工程
第十四章软件项目管理(4学时)
1、教学目标
了解项目估算和度量;了解如何能够进行简单的的软件项目管理:
其中包括工作量的估算、人员的组织及进度的安排等。
掌握软件项目管理的基本概念、方法和原则。
2、本章重点
软件项目管理的基本概念、方法和原则。
估算和度量。
3、本章难点
软件项目管理的基本概念、方法原则。
4、本章思考题及实训题目
(1)什么是软件项目管理?
软件项目管理与传统项目的不同点和相同点是什么?
(2)什么是软件项目管理过程?
其目的是什么?
5、讲授内容
第一节软件项目管理概述
一、软件项目管理的关注点
二、软件项目管理的内容
第二节软件度量
一、面向规模的度量
二、面向功能的度量
三、软件质量模型
四、程序复杂性度量
五、软件可靠性度量
第三节软件项目估算
一、代码行、功能点和工作量估算
二、IBM估算模型
三、CoCoMo模型
四、Putnam模型
五、软件可靠性估算
第四节项目进度管理
一、人员与工作量之间的关系
二、任务的分解与并行
三、任务工作量的确定
四、进度安排
第五节风险管理
一、风险标识
二、风险预测
三、风险评估
四、风险管理和控制
第六节软件项目的组织
一、组织结构的模式
二、程序设计小组的组织形式
三、人员配备
第七节软件质量管理
一、软件质量保证
二、软件评审
第八节软件配置管理
一、软件配置管理的基本概念
二、软件配置管理的主要活动
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 教学大纲