软件工程导论教案课程章程_第1页
软件工程导论教案课程章程_第2页
软件工程导论教案课程章程_第3页
软件工程导论教案课程章程_第4页
软件工程导论教案课程章程_第5页
免费预览已结束,剩余85页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、安徽大学本科教学课程教案课程代码:ZJ36047课程名称:软件工程导论授课专业:软件工程授课教师:W职称/学位:讲师/博士开课时间:二。一六至二。一七学年第 2学期第1次课程教学方案周1课时2次数教第1章软件工程的范畴学章节目(1)明确软件工程的各个方面的含义。标(2)描述传统软件工程生命周期模型和面向对象范型。(3)感受遵守道德规范的重要性。要求重重点:(1)软件工程的定义;(2)软件工程的传统范型;(3)软件工程的即可对象范型。点难点:维护的传统和现代的观点。难点教学V课堂讲授小组活动口实验演示V 难点答疑V提问方作业讲评口实践教学口考试测验其他活动式媒体V 文字教材V 电子教案口录像材料

2、口录音材料直播课堂资 CAI课件 IP课件其他资源:源课(1)为什么传统意义上的维护观点对于今天的软件产品不现实?(2) “软件危机” 一词于1976年提出,它是什么意思?这个词现在还适用吗?后作业板书设计教学课件第1章 软件工程的范畴1 .历史方面2 .经济方面3 .维护性方面4 .需求、分析和设计方面5 .小组编程方面6 .为什么没有计划阶段7 .为什么没有测试阶段8 .为什么没有文档阶段9 .面向对象范型10 .术语11 .道德问题第1次教学活动设计教学内容设计与手段导由两个实例引入:入?工程学的意义。新?软件生产过程虽然很多方面与传统工程相似,但是仍然有自己的属课性和问题。?软件工程定

3、义为 门学科,目的是生产出满足客户要求的、 未超出 预算的、按时交付的、没有错误的软件。?需要在软件生产的各个阶段使用恰当的技术,包括何时进行分析、 设计和交付后维护。?软件工程结合人类各个领域的许多知识,包括经济和社会科学。讲1.1历史方面授? 1968年在德国Garmisch召开的NAK件工程会议上签署了声明,内正式确立了软件工程的概念。容?目标:软件工程应当是一项类似工程的活动,应当使用已建立的工程学科的基本原理和范型来解决“软件危机”。?软件交付所出现的问题?推迟完成?超出预算?特性缺失错误?软件危机仍然伴随着我们,告诉我们两件事情:(1)软件生产过程虽然很多方面与传统工程相似,但是仍

4、然有自己的属性和问题。(2)可能应当重新命名为“软件萧条”(Software Depression )?周期长?难预测1.2经济方面?举例:使用新的编码技术 CTnew编码时间比使用旧的编码技术 CTold少花1/10的时间。是否应该使用新的编码技术 ?通常的答案 时:当然选择新的编码技术。?从软件工程的经济观点来看:?考虑培训的成本?考虑采用新技术 CMnew对维护工作的影响1.3维护性方面?传统维护观点:传统意义上,维护是根据不同时期所开展的活动来 进行定义的客户想要增加该软件产品的功能?传统维护(完善性)客户想要在软件之前做同一改变(“移动目标问题”)?传统开发范畴?现代维护定义是软件因

5、存在问题或因有改进或适应性需求时,对代码及相应文档所进行的修改过程1.4 需求、分析和设计方面?提高需求、分析和设计技术是非常重要的?可以尽早发现错误?降低错误的总体数量(需求、分析和设计中错误所占比例较高)1.5 小组编程方面?硬件成本不断降低?产品太大了无法由一个人在规定时间内编写完成?这种产品需要由一个小组去完成?模块之间的接口问题?小组成员之间的交流协调问题1.6 为什么没有计划阶段?在项目的开始,对管理需求和分析阶段进行初步计划? 一旦明确之道将要开发什么,就制定出软件项目管理计划?在整个项目过程中,管理者需要监督SPMP勺执行情况,并且注意是否有偏离计划的情况发生1.7 为什么没有

6、测试阶段?在一个软件准备好交付给客户时才检查它实在是太晚了?持续测试活动必须始终贯穿于软件生命周期中?测试活动是?每个软件正确建造的保证?软件质量保证(SQA小组的责任1.8 为什么没有文档阶段?在一个软件准备好交付给客户时才编制文档实在是太晚了?软件行业中的人员流动性较大?如果前一阶段的文档不是完整、正确和最新的,几乎不可能执行下一阶段的步骤?除非提供文档来说明对一个软件产品期望的性能,否则不可能测试该软件产品是否正确工作?如果没有一套完整、正确的文档精确地描述产品的当前版本做些什么,维护几乎是不可能的1.9 面向对象范型?优点1 .由于信息隐藏,交付后维护更安全?极大地减少了出现回归错误的

7、机会2 .使软件开发变得更加容易?对象在现实中都存在对应物?能够简化建模(建模在面向对象范型中起着非常重要的作用)3 .设计良好的对象是独立的单元?产品中与现实世界相关的、被该对象模拟的部分都可以在对象本身中找到一封装encapsulation?与外界通信的唯一形式就是给对象发消息?由对象执行特定操作,怎样执行操作完全是对象自身的职责一职责马区动设计 responsibility-driven design4 .降低了软件产品的复杂度,从而简化了软件开发与维护5 .提高了重用度1.10 正确看待面向对象范型1 .必须正确使用面向对象范型?所有范型都很容易被错误地使用2 .当正确使用的时候,面向

8、对象范型可以解决一些(但不是全部)传统范型遇到的问题3 .面向对象范型有其自身的问题4 .面向对象范型是目前可用的最好方法?然而,将来它一定会被更先进的技术所取代1.11 术语对一些主要术语概念做出解释1.12 道德问题介绍软件从业人员必须遵守的道德规范I通过本章的学习,明确软件工程的各个方面的含义,描述传统软件工程生命周期为模型和面向对象范型,感受遵守道德规范的重要性。纳总第 2次课程教学方案周次2课时数2教学章节第2章软件生命周期模型目标要求(1)掌握各种不同的软件生命周期模型(2)能够针对某一具体项目选用合适的生命周期模型,对比和比较各种生命周期模型。重 点 难 点重点:(1)迭代的定义

9、;(2)递增的定义;(3)生命周期模型。难点:迭代-递增生命周期模型。教学方式V课堂讲授小组活动口实验演示V 难点答疑V提问作业讲评口实践教学口考试测验其他活动媒体资源V 文字教材V 电子教案口录像材料口录音材料直播课堂 CAI课件 IP课件 其他资源:课后作业(1)描述什么情况不螺旋生命周期模型不适用?(2)描述什么样的产品是螺旋生命周期模型的理想应用?(3)在迭代-递增生命周期模型中如何使用逐步求精?板书设计教学课件第2章软件生命周期模型第 #次教学活动设计教学内容设计与手段导入新课复习上节课内容,包括软件工程的概念、传统开发范型和面向对象范型。复习完这些重点知识后,向学生提问:能否举个例

10、子说明理想状况卜软件开发的过程是什么?讲授内容2.1 理论上的软件开发?在理想世界中。软件产品像第一章所描述的那样开发。- 线性 Linear一 从零开始 Starting from scratch?在现实实践中,软件开发完全不同。- 软件专业人员是人,因此会犯错误。- 当软件正在开发时,客户的需求会发生变化。2.2 -2.4小型实例研究(一)通过 Winburg小型系统实例描述进化树生命周期模型,并对比 瀑布生命周期模型。(一)通过野鸭拖拉机公司小型实例研究说明公司业务需求发生变化 的时候对软件开发过程所产生的危害。2.5迭代和递增?基本的软件开发过程是迭代的。-每个版本比前一个版本离我们的

11、目标更进一步。?处理信息量的限制的一个办法是使用逐步求精的方法。stepwiserefinement- 集中精力于目前最重要的那些方面。- 那些不紧急的方面延后。- 事情的那个方面最终都要处理,但是要按照目前的重要性依次进行。2.6 修订的Winburg小型实例研究通过Winburg小型实例把进化树模型添加在迭代 -递增模型之上,说明递增的含义。2.7 迭代和递增的风险和其他方面阐述迭代-递增模型的优点和存在的风险。2.8 迭代和递增的控制阐述为什么需要对迭代-递增模型进行控制。2.9 其他生命周期模型描述编码-修补生命周期模型、瀑布生命周期模型、快速原型开发生命周期模型、开 源生命周期模型、

12、敏捷过程、螺旋生命周期模型,分别描述几种模型的特点和适用条件。2.12 生命周期模型的比较对比几种生命周期模型的优点和缺点。通过本章的学习,掌握各种不同的软件生命周期模型,能够针对某一具体项目选用为合适的生命周期模型,对比和比较各种生命周期模型。纳总第3次课程教学方案周次3课时数2教学章节第3章软件过程3.1 统一过程3.2 面向对象范型内的迭代和递增3.3 需求流3.4 分析流3.5 设计流3.6 实现流教 学 目 标 和 要求掌握统一过程中的五个核心工作流和四个阶段, 掌握统一过程的工作流和阶段之间的差别重 点 难 点重点:(1)统一过程的五个核心工作流;(2)统一过程的四个阶段。难点:统

13、一过程工作流与阶段之间的差别。教学方式课堂讲授小组活动口实验演示难点答疑提问作业讲评口实践教学口考试测验其他活动媒体资源文字教材电子教案口 录像材料口 录音材料直播课堂 CAI课件 IP课件 其他资源:作 业 或 练 习(1)统一过程的“阶段”是什么意思?(2)瀑布生命周期模型的缺点是交付后的产品可能不满足客户的需求。统一过程是如 何解决这个问题的?板书设计教学课件第3章软件过程第 3次教学活动设计教学内容设计与手段导复习上节课内容,包括迭代和递增的概念,回顾几种常用的软件开发模型。入举例分析不同的软件开发组织之间的软件开发过程的差异。新课讲第3章软件过程授3.1统一过程内?软件开发过程描述了

14、构造、部署以及维护软件的方式。容?统一过程(Unified Process)是种构造面向对象系统的迭代软件开发过程。?迭代和演化式开发是UP和其它方法中普遍采用的开发方法。?开发被组织成一系列固定的短期小项目,每次迭代都产生可执行的 局部系统,都具有各自的需求分析、设计、实现和测试活动。3.2 面向对象范型内的迭代和递增?统一过程是一种建模技术模型是一套UMLS表,表示要开发的软件产品的一个或多个方 面。? UML是一种建模语言表示(模拟)目标软件产品的工具?面向对象范型是一种迭代和递增方法每个工作流由一些步骤组成,为了完成该工作流,重复执行工作流的步骤直至开发小组成员认为 UML图的表示是正

15、确的。3.3 需求流?需求流的目标确定客户需求?任务首先,理解应用领域(application domain )特定的业务环境其次,业务建模利用UML苗述业务过程3.4 分析流?分析流目标分析和提取需求,以获得正确开发软件产品和易于维护产品所必需的需求?为什么没有在需求流中进行?需求流的输出必须完全能够被客户理解分析流的输出必须是精确的?需求制品必须用客户的语言表达所有的自然语言都是不精确的需求流和分析流的分离是必要的3.5 设计流?目标是细化分析流的制品,使程序员根据设计制品可以直接编程实现? 传统设计体系结构设计(总体设计)将产品分解为各个模块详细设计设计每个模块:- -数据结构- - 算

16、法? 面向对象设计“类”(可被视为特殊类型的模块)在分析流期间被提取出来, 在设计流期间进行设计。传统的体系结构设计对应于分析流的一部分传统的详细设计对应于设计流的一部分?目标是细化分析流的制品,使程序员根据设计制品可以直接编程实现? 传统设计体系结构设计(总体设计)将产品分解为各个模块详细设计设计每个模块:- -数据结构- - 算法? 面向对象设计“类”(可被视为特殊类型的模块)在分析流期间被提取出来, 在设计流期间进行设计。传统的体系结构设计对应于分析流的一部分传统的详细设计对应于设计流的一部分3.6实现流?实现流的目标是用选择的实现语言实现目标软件产品?大型软件产品被分为一个个的子系统?

17、子系统包含组件和代码制品通过本章的学习,掌握统一过程中的五个核心工作流和四个阶段。第#次课程教学方案周次4课时数2教学章节第3章软件过程3.7 测试流3.8 交付后维护3.9 退役3.10 统一过程的各阶段3.11 一维和二维生命周期模型3.12 改进软件过程3.13 能力成熟度模型教 学 目 标 和 要 求(1)解释统一过程的工作流和阶段之间的差别(2)理解软件过程改进的重要性重 点 难 点重点:统一过程的四个阶段。难点:统一过程工作流与阶段之间的差别。教学方式课堂讲授小组活动口实验演示难点答疑提问作业讲评口实践教学口考试测验其他活动_媒体资源文字教材电子教案口 录像材料口 录音材料直播课堂

18、 CAI课件 IP课件 其他资源:作 业 或 练 习课本第63页10-16题板书设计教学课件第3章软件过程第5次教学活动设计教学内容设计与手段导复习上节课内容,回顾软件过程中的几种过程流。入从统一过程模型导入。新课讲3.7测试流授?参加人员内每个开发人员和维护人员容质量保证小组?制品的可追踪性是成功测试的重要保证?在统一过程中,测试从始至终与其他工作流并行进行?测试流的性质随着被测试的制品的不同而不同3.8交付后维护?软件开发过程的重要组成部分?各类文档的缺乏会给维护带来很大的困难?需要两种类型的测试针对更改本身的测试回归测试3.9退役?软件使用了若干年后,当进一步的交付后维护已经不值得时,软

19、件就达到了退役阶段3.10 统一过程的各阶段?四个递增阶段初始阶段(Inception phase )细化阶段(日aboration phase )构造阶段(Construction phase )转换阶段(Transition phase )? 统一过程中执行的每一个步骤属于五个核心工作流之一,也属于四个阶段之一。3.11 一维和二维生命周期模型对比瀑布模型和进化树模型3.12 改进软件过程软件开发的根本问题在于人们不能对软件过程进行管理。3.13 能力成熟度模型? CMMI供了一个成熟度等级框架:1级-初始级、2级-可重复级、3级-已定义级、4级-已管理级和5级-优化级。?关键过程域(KP

20、A):是一个组织进入级别时要实现的目标通过本次课的学习,掌握统一过程的工作流和阶段之间的差别,理解软件过程改进的重 要性。第5次课程教学方案周次5课时数2教学章节第4章软件小组4.1 小组组织4.2 民主小组方法4.3 传统的主程序员小组方法4.4 主程序员小组和民主小组之外的编程小组教 学 目 标 和 要 求(1)明确一个组织良好的软件小组的重要性(2)掌握现代分级小组是如何组织的,重 点 难 点重点:(1)民主小组方法;(2)传统的主程序员小组方法。难点:分散决策形式下的技术管理沟通渠道。教学方式课堂讲授小组活动提问作业讲评口实践教学实验演示难点答疑考试测验其他活动一媒体资源文字教材电子教

21、案口 录像材料口 录音材料直播课堂 CAI课件 IP课件 其他资源:作 业 或 练 习课本第73页1-9题板书设计教学课件第4章软件小组第5次教学活动设计教学内容设计与手段导入回顾第一章软件工程范畴的内容,说明软件工程领域不仅仅包含开发 技术的应用和研究,同时还涉及经济学、管理学等相关的内容,引入软件 开发团队的组织的重要性。新课讲第4章软件小组4.1小组组织4.24.3?通过实例说明分模块完成任务,并非简单的各自完成模块任务,还 存在协调问题?开发小组的组织是一个管理问题,与程序员的技术能力无关;?布鲁克斯法则:向一个已经延期的软件项目增加人员会使该项目完 成得更晚;民主小组方法? 无我编程

22、(egoless Programming), 鼓励他人找出自己程序中的错 误?强调集体,小组成员是平等的,打破程序员对自己开发程序的“护短”心理,主要目的尽可能多地发现BUG这种方法的优点就是对查找错误的积极态度?需要成员都是有经验的专家? 一般适合开源项目的开发(10人)传统的主程序员小组方法?主程序员小组的两个关键特性:专业化:小组的每个成员只承担其接受过培训的那部分工作; 等级性:主程序员指导小组所有其他成员的行动,并且对该项 目的每个方面负责;?主程序员既是一个成功的管理者,也是一个训练有素的程序员,他完成结构化设计以及代码中的关键和复杂的部分?其他的小组成员在主程序员指导下进行具体的

23、细节设计和编写代?在程序员之间没有沟通的渠道,所有的接口问题都由主程序员解决;?最后,主程序员审查其他小组成员的工作,因为主程序员个人要对 每行代码负责;?备程序员应该在各方面与主程序员一样有能力,并且需要与主程序 员一样深入了解这个项目,另外,为让主程序员集中精力进行结构 化设计,备程序员应进行黑盒测试的用例规划,并承担其他与设计 过程独立的任务;?编程秘书是主程序员小组中一个精通专业、收入颇丰的核心人物;4.4 主程序员小组和民主小组之外的编程小组从民主小组和主程序员小组的优点中得出的另一种方法是适当分散决策过程。归纳总结通过本次课的学习,明确一个组织良好的软件小组的重要性,描述现代分级小

24、组是如何组织的。第6次课程教学方案周次6课时数2教学章节第4章软件小组4.5 同步-稳定小组4.6 敏捷过程小组4.7 开源编程小组4.8 人员能力成熟度模型4.9 选择合适的小组组织教 学 目 标 和 要求掌握现代分级小组是如何组织的 了解各种/、同小组组织的优缺点。重 点 难 点重点难点:同步-稳定小组:选择合适的小组组织教学方式课堂讲授小组活动口实验演示难点答疑是问作业讲评口实践教学口考试测验其他活动一媒体资源j文字教材电子教案口录像材料口录音材料S:播课堂CAI课件 IP课件 其他资源:课本第73页10-15题业或练习板教学课件第4章软件小组书设计第#次教学活动设计教学内容设计与手段导

25、入新课回顾上次课内容,包括民主小组组织和主程序员小组组织。 通过分析这两种组织形式的优缺点引入新课。讲4.5同步-稳定小组? 微软公司采用的方式授?程序员与测试员1: 1比例配备(3-8)内? 构件并行小组(3-4小组,每组一个程序管理者)? 具备民主小组的特点(鼓励单个程序员的创新),同时为了协同工作,每天必须进行容工作同步-(每天将产品输入数据库,进行同步编译或测试),发现问题当天解决4.6敏捷过程小组? 结对编程(一个编写程序代码,另一个编写测试用例),同一台计算机上工作? 具备无我编程的特点? 水平弱的可以向水平局的学习4.7开源编程小组? 参与开源项目的个人志愿者出于两个原因:完成一

26、项值得做的任务的成就感;得到培训的经验,得到较新技术方面的技能。? 对干-个成功的开源项目目标产品的特性组织者的个性核心小组成员的天资4.8人员能力成熟度模型? 描述管理合开发一个组织的人力资源的最佳实践? 举例Level 2:关键过程区安置员工,沟通合协调,工作环境,性能管理,培训和开发以及补偿Level 5: 关键过程区连续能力提高,组织的能力联合以及连续人力资源改革4.9选择合适的小组组织? 没有一个解决方案可以解决编程小组组织的所有问题? 较为“正确”方法是依据需要建造的软件产品本身各种小组结构经验组织文化归纳总结通过本次课的学习,掌握现代分级小组是如何组织的,了解各种不同小组组织的优

27、缺 点。第 7次课程教学方案周次7课时数2第5章软件工程工具5.1逐步求精法教5.2成本-效益分析法学5.3分治章5.4关注分离节5.5软件度量5.6 CASE目标要求通过本章的学习,理解逐步分离法,理解分治,理解关注分离的重要性,选择适当的软件度量。重 点 难 点重点:逐步求精法、分治、关注分离难点:选择适当的软件度量教学方式课堂讲授小组活动口实验演示难点答疑提问作业讲评口实践教学口考试测验其他活动_媒体资源 文字教材电子教案口 录像材料口 录音材料直播课堂 CAI课件 IP课件 其他资源:课后作业课本第90页1-9题板书设计教学课件第5章软件工程工具第 #次课程教学方案教学内容设计与手段导

28、入新课回顾上次课内容,包括小组组织的各种方法的优缺点。通过回顾软件工程的三个基本要素说明工具在软件工程开发中的作用。讲授内容5.1 逐步求精法通过实例描述逐步求精法的特点。5.2 本-效益分析法描述如何用成本-效益分析法确定客户是否应当进行业务计算机化,如果确定使用计算机处理业务,应用何种方式来比较各种可选方案的成本和收益。5.3 分治描述分析工具“分治”的特点和问题。5.4 关注分离描述关注分离的概念。5.5 软件度量描述软件开发中几种基本的度量方法。5.6 CASE描述计算机辅助软件工程的概念。归纳总结通过本次课的学习,理解逐步分离法,理解分治,理解关注分离的重要性,选择适当的软件度量。周

29、次8课时数2教学章节第5章软件工程工具5.7 CASE的分类5.8 CASE的范围5.9 软件版本5.10 配置控制5.11 建造工具5.12 使用CAS豉术提高生产力目标要求通过本次课的学习,了解 CASE的范围和分类法,掌握版本控制工具、配置控制工具以及构件工具,理解 CASE勺重要性。重 点 难 点重点:CASE勺范围和分类难点:版本控制工具教学方式课堂讲授小组活动口实验演示难点答疑提问作业讲评口实践教学口考试测验其他活动一媒体资源 文字教材电子教案口 录像材料口 录音材料直播课堂 CAI课件 IP课件 其他资源:课后作业课本第90页10-14题板书设计教学课件第5章软件工程工具第 #次

30、教学活动设计教学内容设计与手段导通过次课的学习,了解了软件工程的分析工具,还有软件工具CASE本次课将重点讨论 CASEL具。入新课讲5.7 CASE的分类目前CASET具用于软件生命周期的每一个工作流授(1)高端CASEg前段工具:在软件开发过程的较早工作流 (需求流、内分析流和设计流)(2)低端CASE1K后端工具:帮助实现流和交付后维护的CASET具。容5.8 CASE的范围编程工具接口检查器在线文档操作系统前端源代码级调试器电子数据表格结构化编辑器文字处理器5.9软件版本无论何时维护产品,至少会有两个版本的产品:老版本和新版本。因为产品是由代码制品组成的,修改过的每个组件制品也会有两个

31、或更多的版本。本节先讨论交付后维护范围内的版本控制,然后再扩展到该过程的较早阶段。(1)修订版(2)变种版5.10配置控制配置控制工具可以自动管理多个变种版,但配置控制的作用不局限于多个变种版。5.11建造工具帮助选择要链接的每个编译代码制品的正确版本,从而形成该产品的一个特定版本。5.12使用CASEfc术提高生产力通过实例说明使用 CAS豉术可以提高软件开发的生产力归通过本次课的学习,了解 CASE勺范围和分类法,掌握版本控制工具、纳配置控制工具以及构件工具,理解 CASE勺重要性。总结第 9次课程教学方案周次课时92数教学章节第6章测试6.1 质量问题6.2 非执行测试6.3 执行测试目

32、标要求掌握质量保证问题,掌握如何对制品进行基于非执行的测试,理解基于执行的测试原则重 点 难 点重点:1.软件质量保证2.非执行测试难点:审查教学方式T课堂讲授小组活动口实验演示难点答疑旧. W If作业讲评口实践教学口考试测验其他活动媒体资源J文字教材电子教案口录像材料口录音材料S:播课堂CAI课件 IP课件 其他资源:课课本第106页1-8题后作业教学课件第6章测试板书设计第 9次教学活动设计教学内容设计与手段导入新课复习上节课的内容,包括软件分析工具和CASH具。然后说明测试是软件过程中的一个完整的组成部分,是软件生命周期从始至终必须进行的活动。讲授内容6.1 质量问题描述软件质量保证中

33、包含的概念。差错是一个人犯了过错时加到软件 中的。故障是观察到的软件产品的不正确行为,它是差错的结果。错误是 不止确的结果的累积。软件的质量是产品满足规格说明的程度。(1)软件质量保证(2)管理独立6.2 非执行测试描述评审中走查和审查的概念。(1)两种方式实施走查:参加者驱动,文档驱动。(2)审查最初是为测试设计和代码而提出的,远比走查更深入。6.3 执行测试描述执行测试的概念。归纳总通过本次课的学习,掌握质量保证问题,掌握如何对制品进行基于非执行的测试,理解基于执行的测试原则结周次课时102数教学章节第6章测试6.4 应该测试什么6.5 测试与止确性证明6.6 谁应当完成执行测试6.7 测

34、试什么时候停止目标要求掌握需要测试的内容和范围。重 点 难 点重点:测试的内容难点:止确性证明教学方式4课堂讲授小组活动口实验演示难点答疑:曰、百作业讲评口实践教学口考试测验其他活动一媒体资源J文字教材电子教案口录像材料口录音材料S:播课堂CAI课件 IP课件 其他资源:课本第107页10-15题教学课件第6章测试板书设计第#次教学活动设计教学内容设计与手段导入新课回顾上次课的内容,包括质量保证问题、基于非执行的测试和基于执行的测试。本次课将对测试的内容和范围做主要的讲解。讲授内容6.4 应该测试什么(1)实用性:是在规格说明允许的条件下使用止确的产品时,满足用户 需求的程度。(2)可靠性:是

35、对产品故障的出现频率和严重性进行的测试。(3)健壮性:是一些因素的函数,如运行条件的范围、有效输入带来不 可接受的结果的可能性以及产品的输入无效时结果的可接受性。(4)性能:是产品必须测试的一个方面。(5)止确性:如果产品的允许的条件下运行,能够满足输出规格说明, 并与使用的计算资源无关,则该产品是正确的。6.5 测试与止确性证明通过实例描述止确性的数学证明过程。6.6 谁应当完成执行测试系统的执行测试必须由独立的 SQA、组完成,而不是由程序员完成。6.7 测试什么时候停止只有在义无反顾地废除软件时,才是停止测试的时候。归纳总结通过本次课的学习,掌握需要测试的内容和范围,包括对实用性、可 靠

36、性、健壮性、性能和正确性的测试,尤其需要了解正确性测试通过数学 证明完成。第11次课程教学方案周次11课时数2教第7章从模块到对象学7.1 什么是模块章7.2 内聚节7.3 耦合目掌握内聚和耦合的概念,理解设计带有高内聚和低耦合的模块与类。标要求重重点:1.模块点2.内聚和耦合难难点:高内聚和低耦合点教学方式课堂讲授小组活动口实验演示难点答疑提问作业讲评口实践教学口考试测验其他活动_媒体资源文字教材电子教案口 录像材料口 录音材料直播课堂 CAI课件 IP课件 其他资源:课后作业课本第134页1-8题板书设计教学课件第7章从模块到对象第11次教学活动设计教学内容设计与手段环节在20世纪70年代

37、和80年代期间,模块化理论经历了稳步的发展,而对象只是模块化理论中的衍变发展。本章在模块化的范畴内描述对象。讲7.1 什么是模块一个或多个邻接的程序语句的集合,它有一个名称以便系统的其他部 分调用它,并且最好具有自己专用的变量名集。通过实例理解模块化的重 要意义。模块操作:模块做什么。模块逻辑:模块如何完成它的操作。模块背景:模块的特殊用途。7.2内聚 内聚的7个分类和级别:(1)偶然性内聚:如果一个模块执行多个完全不相关的操作。(2)逻辑性内聚:当一个模块进行一系列相关的操作,每个操作由调 用模块来选择时,该模块具有逻辑性内聚。(3)时间性内聚:模块执行一系列与时间有关的操作。(4)过程性内

38、聚:一个模块执行一系列与产品要遵循的步骤顺序有关 的操作。(5)通信性内聚:一个模块执行一系列与产品要遵循的步骤顺序有关 的操作,并且所有操作都对相同的数据进行。(6)功能性内聚:只执行一个操作或只达到单 目标的模块。(7)信息性内聚:模块进行许多操作,每个都有各自的入口点,每个 操作的代码相对独立,并且所有操作都对相同的数据结构完成。7.3耦合耦合是两个模块之间的交互程度。分为5个级别:(1)内容耦合:两个模块中的一个直接引用了另一个模块的内容。(2)共同耦合:两个模块都可存取相同的全局数据。(3)控制耦合:两个模块中的一个模块给另一个模块传递控制要素。(4)印记耦合:数据结构作为参数进行传

39、递。(5)数据耦合:两模块的所有参数是同类数据项。归通过本次课的学习,掌握内聚和耦合的概念, 理解设计带有高内聚和低纳耦合的模块与类。第#次课程教学方案周课时122次数第7章从模块到对象7.4数据封装教7.5抽象数据类型学7.6信息隐藏章7.7对象节7.8继承、多态和动态绑定7.9面问对象范型目理解信息隐藏的必要性,掌握继承、多重性和动态绑定的意义,区分泛化、标聚合和关联的不同。要求重重点:1.数据封装点2.抽象数据类型难难点:信息隐藏点教学课堂讲授小组活动口实验演示难点答疑方式提问作业讲评口实践教学考试测验其他活动一媒体资源文字教材电子教案口 录像材料口 录音材料直播课堂 CAI课件 IP课

40、件 其他资源:课后作业课本第134页9-18题板书设计教学课件第7章从模块到对象第#次教学活动设计教学内容设计与手段导入新课回顾上次课内容,包括内聚和耦合的概念,强调设计高内聚低耦合的重要性。本次课介绍各种类型的抽象。讲授内容7.4 数据封装一个数据结构中含后对这个数据结构执行的操作。(1)数据封装和产品开发(2)数据封装和产品维护7.5 抽象数据类型一个数据类型连同对该数据类型的实例进行的操作。抽象数据类型是一个有广泛用途的设计工具。7.6 信息隐藏在设计产品之前,应列出一个未来可能修改的实现决定的清单。然后 设计模块,对其他模块隐藏本模块设计的实现细节。7.7 对象对象是抽象数据类型的一个

41、具体例子。产品根据抽象数据类型进行设 计,产品的变量是抽象数据类型的实例。7.8 继承、多态和动态绑定继承:新的数据类型可定义为先前定义过的类型的扩展,而不是从头 开始定义。动态绑TE:把对象与合适的方法连接起来的行为。多态:方法可应用于不同类的形态。7.9面向对象范型通过实例说明,尽管面向对象范型有很多优点,但还是存在一些问题。归通过本次课的学习,理解信息隐藏的必要性,掌握继承、多重性和动纳态绑定的意义,区分泛化、聚合和关联的不同。总结第13次课程教学方案周次13课时数2教学章节第8章可重用性和可移植性8.1 重用的概念8.2 重用的障碍8.3 重用实例研究8.4 对象和重用8.5 设计和实

42、现期间的重用8.6 其他设计模式目标要求理解为什么重用如此重要,了解在工作流期间获得重用的技术,理解设计 模式的重要性。重 点 难 点重点:重用难点:设计模式教学方式课堂讲授小组活动口实验演示难点答疑提问作业讲评口实践教学口考试测验其他活动一体 文字教材电子教案口录像材料口录音材料直播课堂资 口 CAI课件 IP课件其他资源:源 课 课本第160页1-6题后作业教学课件第8章可重用性和可移植性板书设第13次教学活动设计教学内容设计与手段环节通过实例说明在软件开发中很多程序是在不断重复地进行开发,而利用重用技术可以避免重复开发08.1 重用的概念 使用一个产品中的组件来简化另一个功能不同的产品的

43、开发。(1)偶然重用:一个新产品的开发者意识到,以前设计的产品的一个组件可在这个新产品中重用。(2)有意重用:使用专门为未来可能的重用而建造的软件组件。8.2 重用的障碍 描述重用可能会遇到的 6大障碍。8.3 重用实例研究 通过实例说明现代重用在实践中是如何成功进行的o8.4 对象和重用 当正确使用面向对象范型时,得到的模块(对象)具有信息性内聚,这促进了重用。8.5 设计和实现期间的重用(1)设计重用:当设计一个产品时,设计小组的成员可能会发现从早先的设计中得到的模块或类,经过一些小的修改或不做修改,可在目前的 项目中重用。(2)应用框架:当重用框架时,开发者需要设计所建产品的特定应用操作

44、。(3)设计模式:是通常的设计问题的解决方案,这类问题以一组交互类的形式出现,需要由用户根据需要定制这类交互类以形成专门的设计。(4)软件体系结构:面临各类设计事项,包括根据它的组件进行的产 品的组织、产品级的控制结构、通信和同步问题、数据库和数据访问、组 件的物理分布、性能及设计替代的选择。8.6其他设计模式适配器设计模式、桥设计模式、迭代器设计模式、抽象工厂设计模式归纳总结通过本次课的学习,理解为什么重用如此重要,了解在工作流期间获 得重用的技术,理解设计模式的重要性。第14次课程教学方案周次14课时数2教学章节第8章可重用性和可移植性8.7 设计模式的种类8.8 设计模式的优缺点8.9

45、重用及互联网8.10 重用和交付后维护8.11 可移植性8.12 为什么需要可移植性8.13 实现可移植性的技术目标要求理解设计模式的重要性,理解重用对可维护性的影响,掌握可移植性的重 要性。重 点 难 点(1)重点:可移植性(2)难点:实现可移植性的技术教学方式课堂讲授小组活动口实验演示难点答疑提问作业讲评口实践教学口考试测验其他活动_媒体资源文字教材电子教案口录像材料口录音材料直播课堂 CAI课件 IP课件 其他资源:课后作业课本第161页11-20题。第15次教学活动设计教学内容设计与手段环节本次课将继回顾上次课的内容,包括重用的概念,重用的不同类型。续讨论重用的重要性,以及可移植性及相

46、关技术。讲授内容8.7 设计模式的种类创建类设计模式、结构类设计模式、动作类设计模式8.8 设计模式的优缺点介绍设计模式的5大优点和4大缺点。8.9 重用及互联网一方面,互联网促进了代码重用的广泛传播。另一方面,下载材料的 质量不可预测,因而重用的后果也许很严重。8.10 重用和交付后维护重用可减少产品维护的时间和花费,重用对交付后维护的影响比对开 发的影响大。8.11 可移植性假设产品P由编译器C进行编译,然后运行在源计算机上,源计算机 的硬件配置为H,操作系统为O。产品P'与产品P的功能相同,但必须由 编译器C'进行编译,并运行在目标计算机上,目标计算机的硬件配置为 HT

47、,操作系统为 O o如果把P转换为P'的成本比从头开始编写 P的 成本少的多,则产品P是可移植的。移植软件的问题包括以下问题:(1)硬件的小兼容性(2)操作系统的不兼容性(3)数值计算软件的不兼容性(4)编译器的不兼容性8.12为什么需要可移植性软件产品的生存期通常比第一次为编写软件的硬件生存期更长。8.13实现可移植性的技术使用流彳丁的局级语言、隔离产品中不口移植的部分和坚持语言标准、 可移植数据和模型驱动结构。归纳总结通过本次课的学习,理解设计模式的重要性,理解重用对可维护性的 影响,掌握可移植性的重要性。第15次课程教学方案周次15课时数2第9章计划和估算教9.1计划和软件过程学9.2周期和成本估算章9.3软件项目管理计划的组成节9.4软件项目管理计划框架9.5 IEEE软件项目管理计划目标要求理解计划的重要性,掌握估算构建一个软件产品的规模和成本技术。重 点 难 点(1)重点:计划的概念、周期和成本估算(2)难

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论