软件工程系统维护概要PPT课件_第1页
软件工程系统维护概要PPT课件_第2页
软件工程系统维护概要PPT课件_第3页
软件工程系统维护概要PPT课件_第4页
软件工程系统维护概要PPT课件_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

软件工程导论,.,2,8.1软件维护的概念,维护目的:满足用户对已开发产品的性能与运行环境不断提高的要求,进而达到延长软件寿命的目的。,维护的概念:所谓软件维护就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。,.,3,1、改正性维护:对程序使用期间发现的程序错误进行诊断和改正的过程;占维护工作量17-21%。2、适应性维护:配合变化了的环境进行修改软件的活动;占维护工作量18-25%。3、完善性维护:满足用户在使用过程中提出增加新的功能或修改已有功能的建议而进行的改进工作;占维护工作量50-66%。4、预防性维护:为了改善未来的可维护性或可靠性而修改软件的工作;占维护工作量4%左右。,维护种类:,.,4,8.2维护的特点,一.维护方式,.,5,8.2维护的特点,二.与软件维护有关的问题,.,6,8.3维护的过程,一.建立软件维护的组织,在组织中有总负责人、系统管理员和维护管理员等。二.编写维护的报告用标准化的格式表达所有软件维护的要求。要求包括下列内容:1.满足维护要求表中提出的要求所需要的工作量;2.维护要求的性质;3.该项要求的优先顺序;4.与修改有关的事后数据。,.,7,维护组织,.,8,8.3维护的过程,三.为每一个维护要求规定一个标准化的事件序列:1.明确维护的类型:纠错性维护,进一步分清是适应性维护还是完善性维护;2.对纠错性维护从评价错误的严重性开始,分别不同程度采取不同的方法;3.适应性维护和完善性维护沿着同一路径推进,确定优先顺序后开始工作;4.对恶性软件故障,应把所有的资源用来解决问题;5.对任何类型的维护都要进行同样的技术工作,包括:修改软件设计、设计复审、必要的代码修改、单元测试、集成测试、验收测试和复审等。,.,9,维护阶段的事件流,8.3维护的过程,.,10,4.保存维护记录程序标识;源语句数;机器指令条数;使用的程序设计语言;程序安装的日期;自从安装以来程序运行的次数;自从安装以来程序失效的次数;程序变动的层次和标识;,.,11,因程序变动而增加的源语句数;因程序变动而删除的源语句数;每个改动耗费的人时数;程序改动的日期;软件工程师的名字;维护要求表的标识;维护类型;维护开始和完成的日期;累计用于维护的人时数;与完成的维护相联系的纯效益。,.,12,5.评价维护活动从7个方面度量维护工作:(1)每次程序运行平均失效的次数;(2)用于每一类维护活动的总人时数;(3)平均每个程序、每种语言、每种维护类型所做的程序变动数;,.,13,(4)维护过程中增加或删除一个源语句平均花费的人时数;(5)维护每种语言平均花费的人时数;(6)一张维护要求表的平均周转时间;(7)不同维护类型所占的百分比。,.,14,8.4可维护性,决定软件可维护性的因素,.,15,8.4可维护性,与可维护性相关的文档,.,16,第八章小结,一.软件维护是软件生存周期的最后一个阶段,也是持续时间最长、代价最大的一个阶段。二.软件维护包括四类活动:改正性维护、适应性维护、完善性维护和预防性维护。三.软件的可理解性、可测试性和可维修性是决定软件可维护性的基本因素。四.软件生存周期的每个阶段和软件可维护性密切相关。五.文档是影响软件可维护性的决定因素。六.文档分为用户文档和系统文档,它们都必须和程序代码同时维护才有真正的价值。,.,17,习题1答案,1、假设要求你开发一个软件,该软件的功能是把读入的浮点数开平方,所得的的结果应该精确到小数点后4位。一旦实现并测试完之后,改产品将被抛弃。你打算选用哪种软件生命周期模型?请说明你作出选择的理由。,.,18,题目解答,1、对这个软件的需求很明确,实现开方功能的算法也很成熟,因此,既无须通过原型来分析需求也无须用原型来验证设计方案。此外,一旦实现并测试完之后,该产品将被抛弃,因此也无须使用有助于提高软件可维护性的增量模型或螺旋模型来开发该软件。综上所述,为了开发这个简单的软件,使用大多数人所熟悉的瀑布模型就可以了。,.,19,习题1答案,2、假设你被任命为一家软件公司的项目负责人,你的工作是管理该公司已被广泛应用的字处理软件的新版本开发。由于市场竞争激烈,公司规定了严格的完成期限并且已对外公布。你打算采用哪种软件生命周期模型?为什么?,.,20,答:对这个项目的一个重要要求是,严格按照已对外公布了的日期完成产品开发工作,因此,选择生命周期模型时应该着重考虑哪种模型有助于加快产品开发的进度。使用增量模型开发软件时可以并行完成开发工作,因此能够加快开发进度。这个项目是开发该公司已被广泛使用的字处理软件的新版本,从上述事实至少可以得出3点结论:第一,旧版本相当于一个原型,通过收集用户对旧版本的反映,较容易确定对新版本的需求,没必要再专门建立一个原型系统来分析用户的需求;第二,该公司的软件工程师对字处理软件很熟悉,有开发字处理软件的丰富经验,具有采用增量模型开发新版字处理软件所需要的技术水平;第三,该软件受到广大用户的喜爱,今后很可能还要开发更新的版本,因此,应该把该软件的体系结构设计成开放式的,以利于今后的改进和扩充。综上所述,采用增量模型来完成这个项目比较恰当。,.,21,P54页第5题:,北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第1位数字不是0;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0,若是本市电话则再接着拨8位数字(第1位不是0),若是外地电话则拨3位区码再拨8位电话号码(第1位不是0)。,.,22,P54页第5题:,电话号码=【校内电话号码|校外电话号码】校内电话号码=非零数字+3位数字校外电话号码=【本市号码|外地号码】本市号码=数字零+8位数字外地号码=数字零+3位数字+8位数字非零数字=【1|2|3|4|5|6|7|8|9】数字零=03位数字=3数字38位数字=非零数字+7位数字7位数字=7数字7数字=0|1|2|3|4|5|6|7|8|9,.,23,P73页第3题:,银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。,.,24,P73页第3题E-R图:,计算机储蓄系统的实体联系图,.,25,P73页第3题数据流图:,.,26,P73页第5题:,医院对患者监护系统的基本要求是随时接收每个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况以形成患者日志,当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息,此外,护士在需要时还可以要求系统印出某个指定病人的病情报告。,.,27,P73页第5题数据流图:,病人,生理信号,警告信息,护士,D2患者日记,定时的生理信号,要求报告,病情报告,生理信号,危急病人信息,D1患者安全范围,日期时间,时钟,生理信号,.,28,录入统计计算某班学生成绩,画出数据流图(DFD)。学生成绩表数据结构如下:学号|高数|物理|英语|计算机|法律常识|总分|平均分|不及格门数|升留补|需求功能如下:1.录入全班学生各课的考分,生成成绩表;2.检查各课成绩,修改错误,补充未录入成绩,删除非法成绩;3.计算总分,平均分;4.统计不及格门数,然后再写入升级、补考、留级;5.打印成绩通知单,交家长。,课堂练习:,.,29,课堂作业:,.,30,开始,Y,取下一部门,打开职工工资表,取下一职工,性别,年龄,职务?,处,科,员,+50,+45,+35,写入工资表,=55,女,N=年龄,-55,工资*1.05,N=0?,N-1,年龄,职务?,处,科,员,+50,+40,+30,写入工资表,=65,N=年龄,-65,工资*1.04,N=0?,N-1,下一职工?,下一部门?,结束,N,N,Y,附注:女退休后每年工资加5%,男退休后每年工资加4%,例普调工资,男,.,31,例题解答,打开部门工资表,性别,女,男,年龄,年龄,=55,=65,职务,N=年龄-65,处科员,+50+45+35,处科员,+50+40+30,工资=工资+增资,写入工资表,写入工资表,工资=工资+增资,职务,N=年龄-55,工资*1.05,工资*1.04,N=N-1,N=N-1,写入工资表,写入工资表,下一部门?,下一职工?,普调工资的N-S图,.,32,例题解答,UNTIL没有下一部门?,P1,P1,def,打开部门工资表,UNTIL没有下一职工?,P2,def,P2,性别,女,年龄,男,=55,55,职务,处,科,员,+50,工资=工资+增资,+45,写入工资表,+35,N=年龄-55,UNTILN=0?,P3,写入工资表,P3,def,N=N-1,工资*1.05,普调工资的PAD图,.,33,P174页4题(3),(1)语句覆盖的测试用例因为每个判定表达式为真为假时均有赋值语句,为了使每个语句都至少执行一次,总共需要两组测试数据,以便使得每个判定表达式取值为真或为假各一次。下面是实现语句覆盖的典型测试用例:1、使3个判定表达式之值全为假输入:A=1,B=1,C=1预期的输出:X=1,Y=2,Z=32、使3个判定表达式之值全为真输入:A=20,B=40,C=60预期的输出:X=1,Y=2,Z=3,.,34,P174页4题(3),(2)路径测试的测试用例本程序共有8条可能的执行通路,为做到路径覆盖总共需要8组测试数据。下面是实现路径覆盖的典型测试用例:1、3个判定表达式之值全为假输入:A=1,B=1,C=1预期的输出:X=1,Y=2,Z=32、3个判定表达式之值依次为假、假、真输入:A=1,B=1,C=60预期的输出:X=1,Y=2,Z=30,.,35,P174页4题(3),3、3个判定表达式之值依次为假、真、假输入:A=1,B=40,C=1预期的输出:X=1,Y=20,Z=34、3个判定表达式之值依次为假、真、真输入:A=1,B=40,C=60预期的输出:X=1,Y=20,Z=305、3个判定表达式之值依次为真、假、假输入:A=20,B=1,C=1预期的输出:X=10,Y=2,Z=3,.,36,习题:根据下图按六种覆盖方法,设计测试用例,.,37,1.语句覆盖:X=85,Y=85(路径A-E);X=95,Y=50(路径B-C-E);X=75,Y=75(路径B-D-E);2.判断覆盖:X=85,Y=85(判断1成立);X=95,Y=50(判断1不成立,判断2成立);X=75,Y=75(判断1、判断2都不成立);,习题五3题参考答案,判断1,判断2,条件1,条件2,条件3,条件4,条件5,.,38,3.条件覆盖:X=85,Y=85(判断1两条件成立);X=95,Y=50(判断2中条件3、条件4成立);X=50,Y=90(判断2中条件3、条件5成立);X=60,Y=60(判断1、判断2各个条件都不成立);,.,39,4.判断/条件覆盖:X=85,Y=85(判断1为Y且两条件成立);X=95,Y=50(判断2为Y且条件3、条件4成立);X=50,Y=95(判断2为Y且条件3、条件5成立);X=60,Y=60(判断1、判断2为N且各个条件都不成立);,.,40,5.条件组合覆盖:各种组合如下:(1)X80,Y80;(2)X80,Y80;(3)X80,Y80;(4)X80,Y80;(5)XY140,X90,Y90;(6)XY140,X90,Y90;(7)XY140,X90,Y90;(8)XY140,X90,Y90;XY140,X90,Y90;(不可执行)XY140,X90,Y90;(11)XY140,X90,Y90;(12)XY140,X90,Y90;,.,41,路径覆盖:判断/条件覆盖已经覆盖了全部路径。X=85,Y=85(判断1为Y且两条件成立);X=95,Y=50(判断2为Y且条件3、条件4成立);X=50,Y=95(判断2为Y且条件3、条件5成立);X=60,Y=60(判断1、判断2为N且各个条件都不成立);,.,42,按黑盒法设计测试用例的解答:,.,43,测试用例设计结果:1.合理测试用例1:男,21岁,1.75米,本科,过四级,健康。覆盖了合理等价类1、7、13、15、17;2.合理测试用例2:女,20岁,1.7米,本科,过四级,健康。覆盖了合理等价类4、10、13、15、17;3.不合理测试用例:男,15岁,1.75米,本科,过四级,健康。覆盖了2;4.不合理测试用例:男,30岁,1.75米,本科,过四级,健康。覆盖了4;5.不合理测试用例:男,21岁,身高1.5米,本科,过四级,健康,覆盖了9;6.不合理测试用例:男,21岁,身高2.2米,本科,过四级,健康,覆盖了10;,.,44,7.不合理测试用例:女,15岁,1.7米,本科,过四级,健康,覆盖了5;8.不合理测试用例:女,29岁,1.7米,本科,过四级,健康,覆盖了6;9.不合理测试用例:女、身高1.5覆盖了11,其它数据略;10.不合理测试用例:女、身高2.0覆盖了121,其它数据略;11.不合理测试用例:男、文化:小学,覆盖了14,其它数据略;12.不合理测试用例:男、英语四级以下覆盖了16,其它数据略;,.,45,13.不合理测试用例:男、健康有肺病,覆盖了18,其它数据略;14.不合理测试用例:女、文化:小学,覆盖了14,其它数据略;15.不合理测试用例:女、英语四级以下覆盖了16,其它数据略;16.不合理测试用例:女、健康有肺病,覆盖了18,其它数据略;,.,46,黑盒测试习题:,某报表处理系统要求用户输入处理报表的日期,日期限制在2003年1月至

温馨提示

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

评论

0/150

提交评论