软件工程理论与实践 教案全套 廉龙颖 第1-11章 软件工程概述-软件项目管理_第1页
软件工程理论与实践 教案全套 廉龙颖 第1-11章 软件工程概述-软件项目管理_第2页
软件工程理论与实践 教案全套 廉龙颖 第1-11章 软件工程概述-软件项目管理_第3页
软件工程理论与实践 教案全套 廉龙颖 第1-11章 软件工程概述-软件项目管理_第4页
软件工程理论与实践 教案全套 廉龙颖 第1-11章 软件工程概述-软件项目管理_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

教学单元概述授课学时教学目标知识目标掌握与软件工程相关的基本概念;了解软件危机产生的原因、表现形式和解决途径;掌握软件工程的基本目标和原则;掌握软件生命周期各个阶段的主要活动;理解典型的软件开发过程模型;领会软件工程的核心思想和意义;掌握软件项目立项时可行性研究的任务和步骤;掌握成本效益分析方法。能力目标能够针对具体软件开发项目选择合适的开发模型;能够理解软件生命周期的各个阶段;能够独立对较简单项目从技术、经济、法律等方面进行可行性研究,确定项目是否立项;能够编写项目可行性研究报告;能够制订初步的项目开发计划。素质目标以自研软件项目作为案例,激发学生的学习热情和积极性;通过了解软件工程职业道德和责任规范,培养学生正确的价值观和职业素养。教学内容重点软件工程相关基本概念;软件生存周期及主要活动;软件开发过程模型。难点软件开发过程模型;软件成本效益分析方法。教学方法与手段(1)采用CBL案例分析与讨论、项目组角色扮演实践和教师精讲相结合的教学方法;(2)运用PPT播放视频、图片、图表等多媒体教学形式;(3)以思维导图直观展示重点知识点。课程思政(1)采用“教务掌上审批系统”等实际项目进行案例分析和讨论式教学,培养学生的创新意识和科学素养,传授正确的世界观、人生观和价值观;(2)通过学生介绍中标麒麟系统,让学生理解“创新决胜未来,改革关乎国运。”,增强学生责任感和使命感。课前准备(1)查找中标麒麟资料,了解我国自主研发的图形界面操作系统;(2)查找资料,了解1968年北大西洋公约组织在联邦德国举行的关于软件开发会议;(3)阅读两个可行性分析报告(课程资料网站下载),初步理解可行性分析任务;(4)每个小组完成实践项目选题与岗位角色分配;(5)在智慧树中查看本教学单元的任务,并提交小组自选实践项目的问题定义、可行性分析文档初稿。课堂教学内容设计软件无处不在,软件已经成为一种驱动力,软件广泛应用于现代通讯、商务处理、工业制造等领域,促进整个社会的经济和文化发生根本性的变革。软件=程序+数据+文档(1)软件是一种抽象的逻辑实体;(2)软件是一种通过人们智力活动,把知识与技术转化为信息的一种产品,是在开发中被创造出来的;(3)软件开发至今尚未摆脱手工开发方式;(4)软件的成本较高;(5)软件的开发是一个复杂的过程;(6)软件的开发和运行受到计算机硬件、操作系统的限制;(7)软件需要维护。系统软件、支持软件、应用软件软件危机:计算机软件的开发和维护过程中所遇到的一系列严重问题。IEEE[IEE93]中的软件工程定义:软件工程是将系统化的、规范化的、可度量的途径应用于软件的开发、运行和维护的过程,即将工程化应用于软件的方法的研究。问题定义——可行性研究——需求分析——概要设计——详细设计——编码——测试——维护软件开发过程模型(1)瀑布模型:瀑布模型将软件生存周期的各项活动规定为依固定顺序而连接的若干阶段工作;规定了每一阶段的输入,以及本阶段的工作成果,作为输出传入下一阶段。(2)增量模型:增量模型有一个假设,即需求可以分段,成为一系列增量产品,每一增量可以分别地开发。(3)演化模型:是一种有弹性的过程模式,由一些小的开发步组成,每一步历经需求分析、设计、实现和验证,产生软件产品的一个增量。(4)喷泉模型(5)螺旋模型:分为四个可重复的阶段:规划、风险分析、开发和评估(6)原型模型可行性研究任务(1)技术可行性:分析技术方面的各种因素,分析现有技术是否能够实现该系统的各项功能,能否解决系统中的各种难题。(2)经济可行性:指分析开发该软件项目有没有合理的经济效益,多久能收回成本。(3)运行可行性:指为新系统规定的运行方案是否可行;(4)法律可行性:主要分析包括该软件项目是否存在侵权、妨碍等责任问题,该软件项目的运行方式在用户组织内是否行得通,现有管理制度、人员素质和操作方式是否可行等。可行性研究步骤:(1)复查系统规模和目标;(2)研究目前正在使用的系统;(3)导出新系统的高层逻辑模型;(4)重新定义问题;(5)导出和评价供选择的解法;(6)推荐行动方针;(7)草拟开发计划;(8)书写文档提交审查成本估算方法(1)代码行技术(2)任务分解技术(3)自动估计成本技术度量效益指标货币的时间价值(2)投资回收期(3)纯收入修改一个已有库存管理系统,使它能在每天给采购员一份定货报表。修改已有的库存管理系统并编写产生报表的程序,估计共需5000元,系统修改后能及时定货并消除零件短缺问题,估计因此每年可节省2500元,五年共可节省12500元。假定年利率为12%。问题引入——让学生介绍常用软件,引出软件概念。以“教务掌上审批系统”为案例,让学生思考并理解软件的定义。以客机与软件对比,总结出软件的特点。讨论:软件分类学生介绍中标麒麟系统,引入课程思政“创新决胜未来,改革关乎国运。”学生介绍软件工程会议:软件危机解决之道——软件工程。以“教务掌上审批系统”为案例,让学生了解软件生存周期讨论:瀑布模型的优缺点。讨论:增量模型与演化模型的区别。案例分析:中国大学MOOC、教务掌上审批系统、无纸化考试系统、基于知识图谱的星上知识库系统等项目适用于什么开发模型以基于知识图谱的星上知识库系统作为案例,精讲可行性研究任务以基于知识图谱的星上知识库系统作为案例,精讲可行性研究步骤案例分析:估算库存管理系统的成本和效益。课后作业(1)完成习题集中软件工程概述习题;(2)根据课上反馈问题,优化实践项目中问题定义与可行性分析文档。教学单元小结教学反思本教学单元教学任务基本完成,学生对软件工程有了一个基本的认识,通过案例分析和小组讨论发现,学生对软件开发过程模型理解欠缺,需要在后期课程上加强案例讲解,进一步加深学生对模型的理解。课前上交的可行性研究初稿内容参差不齐,还需要通过课后答疑指导项目组继续优化项目方案。教学单元需求分析授课学时教学目标知识目标了解需求分析的重要性;掌握需求获取的基本方法;掌握软件需求规格说明的一般格式内容;掌握结构化分析方法;掌握数据流图和数据字典的基本知识;能够理解面向对象方法中的基本概念;掌握UML的表示法与建模方法。能力目标能够阅读和理解一个现有系统的规格说明,并根据需要扩展新的需求;能够参照公司文档规范,编写格式正确的软件需求规格说明;能够使用Visio等建模工具为简单项目进行建模;能够使用数据流图和数据字典为简单项目建模;能够读懂UML模型图;能够分析并绘制简单的UML模型。素质目标以自研软件项目作为案例,激发学生的学习热情和积极性;通过了解需求分析工程师职业道德和责任规范,培养学生正确的价值观和职业素养。教学内容重点需求获取的基本方法;结构化分析方法;UML表示法。难点需求建模方法教学方法与手段(1)采用CBL案例分析与讨论、项目组角色扮演实践和教师精讲相结合的教学方法;(2)运用PPT播放视频、图片、图表等多媒体教学形式;(3)以思维导图直观展示重点知识点。课程思政通过介绍需求分析工程师需要具备软件工程知识和技能、应用领域有关知识、分析问题和解决问题的能力、人际沟通及交流能力和书面语言组织和表达能力,让学生了解软件需求工程师的责任规范,培养学生职业素养。课前准备(1)项目组讨论“学生请假系统”和自选项目需求,并查找网上资料完成需求分析文档初稿,并在智慧树平台上提交文档;(2)查找资料学习数据流图符号,并准备PPT讲解;(3)查找UML文档,自学UML图形元素。课堂教学内容设计播放2分钟教师团队项目需求获取会议视频,让学生了解需求分析的重要性,并引出需求分析在软件开发流程中的作用。需求分析定义:确定系统必须具有的功能和性能,系统要求的运行环境,并且预测系统发展的前景。需求包括功能性需求和非功能性需求。功能性需求描述系统应该做什么,即为用户和其他系统完成的功能、提供的服务。非功能性需求定义软件系统以及软件开发过程必须遵循的标准,外部界面的细节,实现的约束条件,质量属性等。教务处管理员分别通过登录系统、新建项目、项目名额管理、项目分组、投票管理、项目查询以及教学指导委员会相关交互请求。需求分析过程(1)需求确认:需求获取、需求提炼、需求描述、需求验证;(2)需求变更。需求获取技术:采访、设定情景、原型、会议、观察工作流软件需求规格说明书:是对待开发系统的行为的完整描述,它包括功能性需求和非功能性需求。需求验证:完整性检查、一致性检查、有效性检查、现实性检查UML模型元素需求分析建模1、数据模型:按照用户的观点建立的一个面向问题的数据模型,即描述用户角度看到的数据。2、功能模型:按照软件系统内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的部分(子功能)为止,即定义并描述出软件系统应该完成的所有逻辑功能。项目管理用例规格说明用例事项用例执行详情参与者教务处管理员描述教务处执行项目申请前现相关项目信息设置前置条件管理员正确登陆系统后置条件管理员设置项目申报、投票人、投票信息触发条件管理员添加项目、开启投票、添加投票人基本流程新建项目:填写项目名称、截止时间、项目级别、上传申报的项目申请书PDF版本、发布项目公告等流程;项目名额管理:选择项目类别,并分配项目名额,确认;项目分组:填写项目分组名称(如处级干部组、教师组等)、分配每组数量、完成上报项目的具体分组;教学指导委员会管理:添加成员、查询、删除以及编辑;投票管理:投票设置(添加投票人、投票时间与地点)、开启投票(启动某组投票,并添加投票人)、完成投票后(打印与查看)项目查询:投票后通过评审的项目进行查看项目列表、下载项目申请书。替代流程未进行分组,无法进行项目上报未进行投票设置,投票人未接收到评审信息结束管理员成功设置各项项目管理实现约束和说明投票设置的时间与地点,均为必填项对上报项目必须分组,才能执行投票工作人员用户在关注公众号后,可以通过扫描财务预约系统二维码后进入财务预约系统,在正确登录系统后进行排号预约处理的相关处理功能,即查看自己所服务窗口的排队信息并且可以通知下一位教师前往窗口办理业务,具体包括查看当前预约用户的办理信息、可以通过系统的预约用户的电话来确认办理所需要的各类材料是否齐全,可以通过确认当前预约办理触发业务,可以通过确认下一位预约办理的触发功能,预约系统向下一位用户发送订阅消息,提示下一位预约用户进入现场等待区等候办理。数据流图步骤1绘制数据流图顶层,确定系统的输入和输出,分析数据流输入源点和输出终点;步骤2绘制数据流图1层,从输入端开始,根据财务预约流程,绘制出数据流流经的各加工框,逐步绘制出输出端,得到1层数据流图;步骤3绘制数据流图2层,细化每一个加工框;步骤4合成总体数据流图;步骤5检查与调整数据流图。检查与调整数据流图的步骤:(1)检查正确性;(2)提高易理解性;(3)重新分解。3、行为建模顺序图建模流程:(1)在顺序图顶端绘制矩形框,定义参与交互的类实例(对象)名;(2)在每个对象下面绘制竖直虚线,表示该对象的生命线;(3)在对象间添加箭头表示各种类型的消息,跟踪对象间的控制流;(4)生命线加竖直矩形定义对象激活期,表明对象正在执行某操作;(5)根据需要添加框的组合与关联,表示复杂的控制结构。课程导入给出需求分析定义,总结:自然语言——图表以本校定制项目“教研项目管理系统”和“财务预约系统”作为案例,使学生理解功能性需求与非功能性需求项目组进行需求分析汇报,项目组互评和教师点评。主要找出需求分析文档问题,引出需求分析过程。项目组选择技术重新进行需求获取。学生课前自学UML模型元素,提出问题,学生和教师解答。以“教研项目管理系统”为案例,介绍数据建模E-R图设计方法以“财务预约系统”为案例,给出通过需求获取得到的需求描述,由项目组讨论进行数据建模分析与E-R图设计。项目组按照角色分工,由项目组需求分析工程师设计并绘制项目E-R图项目组汇报项目E-R图,项目组互评和教师点评项目组产品经理汇报“学生请假系统”用例设计根据学生汇报情况组间互评以“学生请假系统”、“教研项目管理系统”为案例,教师精讲用例建模结合精讲知识点,项目组讨论优化用例图根据教师给出的预约流程,项目组讨论并绘制“财务预约系统”中系统预约用户用例图、撰写用例规格说明项目组按照角色分工,由项目组需求分析工程师设计并绘制项目用例图与用例说明项目组汇报项目用例分析,项目组互评和教师点评学生讲解数据流图符号以“财务预约系统”数据流图为案例,讲解数据流图设计流程项目组讨论“财务预约系统”数据流图存在的问题,提出调整建议,并重新分解数据流图根据案例讲解顺序图建模流程项目组课后完成项目顺序图课后作业(1)项目组根据需求分析规格说明书模板修改完善课前提交的需求分析文档;(2)完成习题集中需求分析习题;(3)根据课上点评与互评发现的问题,优化和改进项目实践报告的E-R图、用例图等设计;(4)项目组完成顺序图设计。教学单元小结教学反思本教学单元教学任务基本完成,学生对需求分析有了一个基本的了解,通过分析“财务预约系统”等实际项目案例,对需求建模进行了项目实践。通过项目组汇报发现,部分学生对业务逻辑复杂的需求建模分析和设计能力还有不足,需要通过课后复习和项目实践提高学生分析和解决问题的能力。从项目组汇报和小组讨论中也发现,部分学生掌握情况较好,课后组织学有余力学生为科研团队,指导学生科研团队参加软件设计大赛。教学单元概要设计授课学时教学目标知识目标理解面向对象设计概念;掌握软件设计概念与原则;掌握常用软件体系结构知识;掌握结构化设计方法;掌握面向对象设计原则;明确概要设计的任务和步骤;掌握软件概要设计说明的内容要求和编写规范。能力目标能够看懂设计图,理解设计原则;能够使用结构化设计方法建立系统设计模型;能够使用面向对象设计建模方法建立系统设计模型;通过软件设计的原则及方法进行功能模块设计、数据库设计;能够编写软件概要设计说明书。素质目标以学生科研团队研发的软件项目作为案例,激发学生的学习热情和积极性;通过项目组角色分工与合作,锻炼学生语言表达能力和团队协作意识,提升专业素养。教学内容重点软件设计概念;面向对象设计原则。难点结构化设计方法;面向对象设计建模方法。教学方法与手段(1)采用CBL案例分析与讨论、项目组角色扮演实践和教师精讲相结合的教学方法;(2)运用PPT播放视频、图片、图表等多媒体教学形式;(3)以思维导图直观展示重点知识点。课程思政利用模块化的设计思想,把大的问题划分为若干个小问题来解决,不是一个独立的个体。社会学实验表明,团队分工的绩效优于单个绩效总和。课前准备(1)安装MySQL数据库,熟练建表操作与建表语句;(2)阅读两个概要设计文档(课程资料网站下载),初步理解概要设计任务;(3)在智慧树平台中查看概要设计单元任务,项目组讨论完成并提交概要设计文档初稿。课堂教学内容设计设计是将用户需求准确地转化为软件设计模型与文档的方法。从技术角度考虑,软件设计主要包括4方面内容:(1)体系结构设计:确定软件系统的结构,即软件系统的组成,以及各组成成分(子系统或模块)之间的相互关系(2)接口设计:确定目标系统与其他软/硬件系统之间、目标系统与用户之间的交互关系及通信方式。(3)数据设计:数据结构的设计(4)过程设计:把每个模块内部的执行逻辑转换成过程性描述(即算法设计)。从工程管理角度考虑,软件设计过程划分为两大阶段:(1)概要设计(2)详细设计结构化设计方法采用的主要描述工具:结构图SC方法中用于表达模块组织结构的主要图形工具,以显示软件系统的组成模块及其之间的调用关系。数据流图DFD→结构图SC的映射内聚性:表示一个模块内部所包含的各个成分(各种数据和处理过程)之间相互联系、彼此结合的紧密程度。耦合性:表示模块与模块之间相互联系、相互依赖的紧密程度。模块间连接越紧密,联系越复杂,耦合性越高。数据库设计投票实体的实体属性分析:根据项目信息化管理系统的功能需求以及功能模块设计,该实体的属性分析包括投票id,项目id,项目申报人姓名,申报课题名称,申报人所在学院,申报项目组别,组别id,该项目类型下项目总数,该项目类型下应出线总数,计分器,排名情况,分组状态,是否晋级或淘汰结果以及投票轮次等属性。投票表字段类型长度备注Idint11投票id,自增主键pro_idint11项目idpro_staff_namevarchar45项目申报人姓名pro_namevarchar200项目名称pro_collegevarchar45申报人所在学院Groupvarchar45组别名称group_idint11组别idNeedsint11该类型下应出线项目数Scoresint11计分器rankint11排名情况Statusint11分组状态Resultint11结果情况pro_vote_turnint11投票轮次问题引入——软件设计在软件工程中所处的位置从技术角度和工程管理角度划分软件设计阶段。以“教研项目管理系统”为案例进行项目组讨论总结数据流图到结构图的映射步骤。以“财务预约系统”为案例,根据需求分析文档进行结构图建模,教师点评后项目组优化结构图项目组按照角色分工进行自选项目结构图设计,组间互评,引出结构设计优化原则——高内聚、低耦合精解内聚性精解耦合性以“教研项目管理系统”案例中投票实体与投票表进行项目组讨论,理解数据库表结构设计项目组按照角色分工进行数据库表设计,使用MySQL数据库完成数据库设计。课后作业(1)完成习题集中概要设计习题;(2)根据课程发现的概要设计问题,优化和修改项目组概要设计文档。教学单元小结教学反思本教学单元教学任务基本完成,通过案例分析、小组讨论、项目组自选项目实践,学生对概要设计有了较好的掌握。在项目讨论过程中发现,当遇到难点问题时,有些同学参与度不高,在后面教学中需要调动这部分学生学习的主动性与积极性。

教学单元详细设计授课学时教学目标知识目标了解详细设计的基本任务;掌握结构化程序设计的方法,程序流程图、盒图、PAD图、判定表与判定树、PDL等详细设计的工具;掌握详细设计阶段文档写作的技巧和方法。能力目标能够利用详细设计工具完成详细设计阶段建模;具备结合软件项目撰写详细设计说明书的能力。素质目标培养学生具备职业素养和团队协作能力。教学内容重点详细设计的过程与任务难点详细设计工具与建模教学方法与手段(1)采用CBL案例分析与讨论、项目组角色扮演实践和教师精讲相结合的教学方法;(2)运用PPT播放视频、图片、图表等多媒体教学形式;(3)以思维导图直观展示重点知识点。课程思政通过案例使学生明确开发企业项目时需由团队协作完成,项目组组长的职责就是设计“接口”,小组分工,各司其职,共同完成。课前准备(1)下载学习资料,完成自学任务;(2)项目组讨论完成任务文档并提交;(3)查找资料制作PPT,介绍判定表与判定树。课堂教学内容设计详细设计是软件工程的重要,在详细设计过程中,细化高层的体系结构设计,将软件结构中的主要部件划分为独立编码、编译和测试的软件单元。详细设计基本任务:(1)算法设计(2)数据结构设计(3)物理设计(4)其他设计(5)编写详细设计说明书(6)评审详细设计工具1、程序流程图2、盒图3、PAD图4、判定表与判定树判定表由4部分组成,分别是基于条件项、规则项、基本动作项、动作项。判定树又称决策树,适合描述问题处理中具有多个判磁芯,而且每个决策与若干条件有关。5、PDL(1)顺序结构(2)选择结构(3)循环结构问题引入——详细设计在软件生命周期中起到承上启下的作用。举例讲解详细设计的基本任务以“教研项目管理信息系统”作为案例,分析流程图设计过程项目组讨论,找出案例中的问题,并完成流程图的修改和细化教师精讲盒图与PAD图设计方法项目组讨论完成将程序流程图绘制成盒图和PAD图学生介绍判定表与判定树基本方法,教师提出需求,由项目组讨论完成判定表与判定树设计精讲PDL的特点与结构,以“教研项目管理信息系统”中新建项目管理模块为例,项目组讨论完成PDL设计课后作业(1)完成习题集中详细设计习题;(2)项目组完成实践项目中详细设计文档,要求包括流程图、盒图和PAD图。教学单元小结教学反思本教学单元教学任务基本完成,学生对难点问题详细设计工具与建模掌握较好,在后期的教学中,将增加该部分案例复杂性和难度,进一步锻炼学生解决问题的能力。教学单元软件实现授课学时教学目标知识目标了解程序设计语言的分类以及选择具体程序开发语言的标准;掌握代码实现阶段文档的写作规范和方法。能力目标具备根据软件项目完成软件编码的能力;具备撰写代码实现阶段文档的能力。素质目标通过了解软件工程职业道德和责任规范,培养学生正确的价值观和职业素养。教学内容重点面向对象编程难点编码优化教学方法与手段(1)采用CBL案例分析与讨论、项目组角色扮演实践和教师精讲相结合的教学方法;(2)运用PPT播放视频、图片、图表等多媒体教学形式;(3)以思维导图直观展示重点知识点。课程思政(1)CPU的技术指标、制造工艺——落后就要挨打,大力发展科技;科技强国、自主创新;(2)四个“自信”疫情试块试金石,中国的表现让我们的国民看到了国家的强大与温情,也让世界看清了中国的伟大崛起和大国风范!自主开发、本土化创新开发。课前准备(1)查找资料,制作PPT介绍一种编程语言;(2)项目组选择自选项目的核心模块编码实现,并提交编码。课堂教学内容设计面向对象编程在对象设计期间,设计必须遵循以下步骤:组合三种模型以获取类上的操作;实现操作的设计算法;优化数据的访问路径;实现外部交互式的控制;调整类结构提高继承性;设计关联;确定对象表示;把类和关联封装成模块。程序编码编码的目的:是使用选定的程序设计语言,把模块的过程描述翻译为用该语言书写的源程序(或源代码)。模块的过程描述——源程序。编码风格的要求:实现源程序的文档化数据说明:常量、变量等的声明语句结构:语句构造应力求简单、直接、不能为了片面的追求效率而使语句复杂化程序设计语言面向机器的语言高级语言甚高级语言程序设计语言的选择应用领域算法和计算的复杂性软件执行环境数据结构的复杂性效率的考虑用户的要求设计优化在优化设计阶段,设计者必须注意以下三点:要减少访问花费和增强简便性,应添加冗余的关联。要获得更高的效率就应重新安排计算。要避免复杂表达式的重复计算,应保存导出属性。问题引入复习面向对象设计的步骤,引出详细设计之后进入编码阶段以“教研项目管理系统”为例,精讲编码的目的学生汇报编程语言根据学生汇报教师总结编程语言之间的区别与联系小组讨论如何选择编程语言教师点评,并给出选择编程语言的依据项目组汇报提交的功能模块编码,找出讨论提出编码中的问题(从编码规范性、安全性等方面)教师总结学生提出的问题,并给项目组提出修改意见课后作业(1)完成习题集中代码实现习题;(2)结合课上发现的编码问题修改项目组编码文档。教学单元小结教学反思本教学单元教学任务较好地完成,通过项目组讨论和发言发现,学生已学过多种程序设计语言,对代码实现的规范及编程语言选择方面都有比较成熟的见解,但对代码安全性方面了解较少,下一轮教学中可加入如何防止SQL注入和如何进行加密等安全编码方面的教学内容。

教学单元软件测试授课学时教学目标知识目标掌握软件测试、排错的概念;掌握黑盒测试和白盒测试的基本概念和使用环境;掌握软件测试的基本原则、方法和步骤。能力目标能够设计简单的测试用例;能够根据项目测试计划完成测试工作;能够编写软件测试分析报告。素质目标具备客观分析、理性思考软件项目的职业素养、专业的软件测试综合能力。教学内容重点软件测试过程;黑盒测试;白盒测试。难点黑盒测试;白盒测试。教学方法与手段(1)采用CBL案例分析与讨论、项目组角色扮演实践和教师精讲相结合的教学方法;(2)运用PPT播放视频、图片、图表等多媒体教学形式;(3)以思维导图直观展示重点知识点。课程思政具有预防、安全、行业规范、技术与管理相结合的意识、维护国家安全与利益等意识。课前准备(1)查找资料,理解黑盒测试与白盒测试的区别;(2)项目组完成并提交测试文档初稿,重点讨论测试用例;(3)查找资料并制作PPT介绍Bug。课堂教学内容设计在理想的情况下,开发人员编写完代码之后,所有的程序都应该能够运行起来,但是现实往往没有这么美好,无论采用保种开发模式开发出来的软件系统,即使是那些大厂发布的产品,依然会存在这样或那样的问题。BUG原意是臭虫,现在经常被人们用于表示隐藏在计算机系统中的缺陷或者问题。测试基本原则:(1)应尽早地和不断地进行软件测试;(2)测试用例由测试输入数据和与之对应的预期输出结果组成;(3)程序员应避免检查自己的程序;(4)在设计测试用例时,应当包括有效的输入条件和无较的输入条件;(5)充分注意测试中的群集现象。1、单元测试环境由被测模块、驱动模块、桩模块共同构成。2、集成测试也称为联合测试或集成测试,重点测试模块的接口部分,需设计测试过程所使用的驱动模块或桩模块。测试方法以黑盒法为主。3、确认测试(validationtesting),又称为有效性测试或功能测试。其任务是验证系统的功能、性能等特性是否符合需求规格说明。4、验收测试:是在软件产品完成了系统测试之后,产品发布之前进行的软件测试活动,其目的是验证软件的功能和性能是否能够满足用户所期望的要求。验收测试一般包括α测试与测试。(1)黑盒测试:把测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的界面上进行测试,用来证实软件功能的可操作性,检查程序是否满足功能要求,是否能产生正确的输出。因此,黑盒测试又称为功能测试。(2)白盒测试:把测试对象看成一个透明的例子,测试人员能了解程序的内容结构和处理过程,以检查处理过程的目的,对程序中尽可能多的逻辑路径进行测试,在所有的点检验内部控制和数据结构是否和预期相同。(1)等价分类法:是一种典型的黑盒测试方法,它是将程序所有可能的输入数据划分为弱干个等价类,然后从每个部分中选择具有代表性的数据作为测试用例,测试用例由有效等价类和无效等价类的代表组成。(2)边界值分析法:是对输入或输出的边界值进行测试的一种方法,它通常作为等价类划分法的补充,它的测试用例来自于等价类的边界。(3)因果图法:是一种形式化语言,是一种组合逻辑网络图。是把输入条件视为“因”,把输出条件视为“果”,将黑盒看成是从因到果的网络图,采用逻辑图的形式来表达功能说明书中输入条件的各种组合与输出的关系。根据这种关系可选择高效的测试用例。(4)错误推测法是人们根据经验或直觉推测程序中可能存在的各种错误,从而针对性地编写检查这些错误的测试用例的方法。(5)逻辑覆盖法问题引入——播放比尔盖茨Win98新闻发布会视频,引出软件测试的重要性学生讲解Bug概念从正向思维和逆向思维两个方面来理解概念举例介绍测试基本原则以“财务预约系统”为案例,精讲单元测试、集成测试、确认测试、验收测试学生介绍黑盒测试与白盒测试区别教师精讲白盒测试与黑盒测试项目组汇报项目测试用例,组间互评、教师点评,发现存在的问题以“财务预约系统”预约成功后的服务通知功能为例,讲解测试用例案例分析与讲解后,项目组修改和完善自选实践项目的用例设计课后作业(1)完成习题集中软件测试习题;(2)继续修改和完善实践项目中软件测试文档。教学单元小结教学反思本教学单元教学任务基本完成,学生通过课前自学和课上案例分析对软件测试有了进一步的认识,通过案例分析和小组讨论发现,学生对软件测试比较感兴趣,测试文档初稿完成较好,在后期教学中可适应引入测试软件的介绍,为学生今后从事软件测试工作奠定基础。教学单元软件维护授课学时教学目标知识目标了解软件维护的概念、特点;掌握

温馨提示

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

评论

0/150

提交评论