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

下载本文档

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

文档简介

8.1软件维护的概念维护目的:满足用户对已开发产品的性能与运行环境不断提高的要求,进而达到延长软件寿命的目的。维护的概念:所谓软件维护就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。1第一页,共49页。1、改正性维护:对程序使用期间发现的程序错误进行诊断和改正的过程;占维护工作量17-21%。2、适应性维护:配合变化了的环境进行修改软件的活动;占维护工作量18-25%。3、完善性维护:满足用户在使用过程中提出增加新的功能或修改已有功能的建议而进行的改进工作;占维护工作量50-66%。4、预防性维护:为了改善未来的可维护性或可靠性而修改软件的工作;占维护工作量4%左右。维护种类:2第二页,共49页。8.2维护的特点一.维护方式方式结构化维护非结构化维护配置每个阶段文档与程序代码仅有程序代码开始评价设计文档开始评价代码开始工作(1)确定软件的结构特征、性能特性和接口特性,(2)确定软件修改带来的影响,找出一种处理方法;(3)修改设计、复审;(4)再编写源程序代码,进行回归测试;(5)将修改后的软件交付使用。软件结构、全程数据结构、系统接口、性能要求、设计约束等具体特点不清楚而很难确定。成本维护成本较低。很高难度易于维护。维护困难3第三页,共49页。8.2维护的特点二.与软件维护有关的问题影响维护因素开发方法开发条件(1)模块化详细设计文档有助于理解软件的结构、界面功能和内部流程;软件开发及维护人员的水平;使用标准的程序设计语言;(2)开发过程中严格而科学的管理规划及清晰可靠的文档资料对发生错误后的理解与纠错无疑是很重要的。使用标准的操作系统接口;使用规范化的文档资料;(3)模块的独立程度对软件修改的难易程度、改进和移植影响是很大的测试用例的有效性。维护困难理解别人写的程序在没有说明文档时,理解很困难,不为人喜欢;时间维护持续时间都很长,开发人员一般不在现场,对软件没有人说明。设计问题绝大多数软件在设计时都没有考虑将来的修改。除非设计中强调了模块的独立性,否则软件的修改既困难又易发生差错。4第四页,共49页。8.3维护的过程一.建立软件维护的组织,在组织中有总负责人、系统管理员和维护管理员等。二.编写维护的报告用标准化的格式表达所有软件维护的要求。要求包括下列内容:1.满足维护要求表中提出的要求所需要的工作量;2.维护要求的性质;3.该项要求的优先顺序;4.与修改有关的事后数据。5第五页,共49页。维护组织6第六页,共49页。8.3维护的过程三.为每一个维护要求规定一个标准化的事件序列:1.明确维护的类型:纠错性维护,进一步分清是适应性维护还是完善性维护;2.对纠错性维护从评价错误的严重性开始,分别不同程度采取不同的方法;3.适应性维护和完善性维护沿着同一路径推进,确定优先顺序后开始工作;4.对恶性软件故障,应把所有的资源用来解决问题;5.对任何类型的维护都要进行同样的技术工作,包括:修改软件设计、设计复审、必要的代码修改、单元测试、集成测试、验收测试和复审等。7第七页,共49页。维护阶段的事件流8.3维护的过程8第八页,共49页。4.保存维护记录

①程序标识;

②源语句数;③机器指令条数;

④使用的程序设计语言;

⑤程序安装的日期;⑥自从安装以来程序运行的次数;

⑦自从安装以来程序失效的次数;⑧程序变动的层次和标识;

9第九页,共49页。

⑨因程序变动而增加的源语句数;因程序变动而删除的源语句数;每个改动耗费的人时数;程序改动的日期;软件工程师的名字;维护要求表的标识;维护类型;维护开始和完成的日期;累计用于维护的人时数;与完成的维护相联系的纯效益。

10第十页,共49页。5.评价维护活动从7个方面度量维护工作:(1)每次程序运行平均失效的次数;(2)用于每一类维护活动的总人时数;(3)平均每个程序、每种语言、每种维护类型所做的程序变动数;11第十一页,共49页。(4)维护过程中增加或删除一个源语句平均花费的人时数;(5)维护每种语言平均花费的人时数;(6)一张维护要求表的平均周转时间;(7)不同维护类型所占的百分比。

12第十二页,共49页。8.4可维护性因素内容可理解性软件的结构、接口、功能和内部过程的难易程度;模块化、详细设计文档、结构化设计、源代码内部的文档;程序设计语言。可测试性诊断和测试的难易程度取决于软件容易理解的程度;良好的文档对诊断和测试是至关重要的;软件结构、可用的测试工具和调试工具,以往的测试过程是很重要的;可修改性在设计阶段应尽力把软件设计成容易诊断和测试的。与设计原理、规则直接相关;与藕合、内聚、局部化、控制域、作用域等等都有关系。决定软件可维护性的因素13第十三页,共49页。8.4可维护性与可维护性相关的文档文档内容文档描述要求如何使用这个系统;怎样安装和管理这个系统;系统需求和设计;系统的实现和测试。用户文档功能描述:说明系统能做什么;安装文档:说明怎样安装该系统及使系统适应特定的硬件配置;使用手册:简要说明如何使用这个系统;参考手册:详尽描述用户可以使用的系统设施及方法,以及可能产生的出错信息含义;操作员指南:说明操作员如何处理使用中出现的各种情况。系统文档从问题定义、需求说明到验收测试这样一系列和系统实现有关的文档。14第十四页,共49页。第八章小结一.软件维护是软件生存周期的最后一个阶段,也是持续时间最长、代价最大的一个阶段。二.软件维护包括四类活动:改正性维护、适应性维护、完善性维护和预防性维护。三.软件的可理解性、可测试性和可维修性是决定软件可维护性的基本因素。四.软件生存周期的每个阶段和软件可维护性密切相关。五.文档是影响软件可维护性的决定因素。六.文档分为用户文档和系统文档,它们都必须和程序代码同时维护才有真正的价值。15第十五页,共49页。习题1答案1、假设要求你开发一个软件,该软件的功能是把读入的浮点数开平方,所得的的结果应该精确到小数点后4位。一旦实现并测试完之后,改产品将被抛弃。你打算选用哪种软件生命周期模型?请说明你作出选择的理由。

16第十六页,共49页。题目解答1、对这个软件的需求很明确,实现开方功能的算法也很成熟,因此,既无须通过原型来分析需求也无须用原型来验证设计方案。此外,一旦实现并测试完之后,该产品将被抛弃,因此也无须使用有助于提高软件可维护性的增量模型或螺旋模型来开发该软件。综上所述,为了开发这个简单的软件,使用大多数人所熟悉的瀑布模型就可以了。17第十七页,共49页。习题1答案2、假设你被任命为一家软件公司的项目负责人,你的工作是管理该公司已被广泛应用的字处理软件的新版本开发。由于市场竞争激烈,公司规定了严格的完成期限并且已对外公布。你打算采用哪种软件生命周期模型?为什么?18第十八页,共49页。答:对这个项目的一个重要要求是,严格按照已对外公布了的日期完成产品开发工作,因此,选择生命周期模型时应该着重考虑哪种模型有助于加快产品开发的进度。使用增量模型开发软件时可以并行完成开发工作,因此能够加快开发进度。这个项目是开发该公司已被广泛使用的字处理软件的新版本,从上述事实至少可以得出3点结论:第一,旧版本相当于一个原型,通过收集用户对旧版本的反映,较容易确定对新版本的需求,没必要再专门建立一个原型系统来分析用户的需求;第二,该公司的软件工程师对字处理软件很熟悉,有开发字处理软件的丰富经验,具有采用增量模型开发新版字处理软件所需要的技术水平;第三,该软件受到广大用户的喜爱,今后很可能还要开发更新的版本,因此,应该把该软件的体系结构设计成开放式的,以利于今后的改进和扩充。综上所述,采用增量模型来完成这个项目比较恰当。19第十九页,共49页。P54页第5题:北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第1位数字不是0;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0,若是本市电话则再接着拨8位数字(第1位不是0),若是外地电话则拨3位区码再拨8位电话号码(第1位不是0)。20第二十页,共49页。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]21第二十一页,共49页。P73页第3题:银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。22第二十二页,共49页。P73页第3题E-R图:储户储蓄所存取款MN姓名住址电话号码身份证号码名称住址电话号码到期日期数额类型利率密码计算机储蓄系统的实体——联系图23第二十三页,共49页。P73页第3题数据流图:储户存款单记录存款信息

1存款信息打印存款单

2存款存单储户D1存款信息核对密码

3存款信息计算利息

4取款单利息值打印利息清单

5利息清单24第二十四页,共49页。P73页第5题:医院对患者监护系统的基本要求是随时接收每个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况以形成患者日志,当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息,此外,护士在需要时还可以要求系统印出某个指定病人的病情报告。25第二十五页,共49页。P73页第5题数据流图:病人生理信号接收信号

1分析信号

2警告信息护士D2患者日记更新日记

5产生病情报告

6定时的生理信号要求报告产生警告信息

3病情报告生理信号危急病人信息D1患者安全范围定时取样生理信号

4日期时间时钟生理信号26第二十六页,共49页。录入统计计算某班学生成绩,画出数据流图(DFD)。学生成绩表数据结构如下:学号|高数|物理|英语|计算机|法律常识|总分|平均分|不及格门数|升留补|

需求功能如下:

1.录入全班学生各课的考分,生成成绩表;

2.检查各课成绩,修改错误,补充未录入成绩,删除非法成绩;

3.计算总分,平均分;

4.统计不及格门数,然后再写入升级、补考、留级;

5.打印成绩通知单,交家长。课堂练习:27第二十七页,共49页。课堂作业:28第二十八页,共49页。开始Y取下一部门打开职工工资表取下一职工性别年龄职务?处科员+50+45+35写入工资表<55>=55女N=年龄-55工资*1.05N=0?N-1年龄职务?处科员+50+40+30写入工资表<65>=65N=年龄-65工资*1.04N=0?N-1下一职工?下一部门?结束NNY附注:女退休后每年工资加5%男退休后每年工资加4%例普调工资男29第二十九页,共49页。

例题解答打开部门工资表性别女男年龄年龄<55>=55<65>=65职务N=年龄-65处科员+50+45+35处科员+50+40+30工资=工资+增资写入工资表写入工资表工资=工资+增资职务N=年龄-55工资*1.05工资*1.04N=N-1N=N-1写入工资表写入工资表下一部门?下一职工?普调工资的N-S图30第三十页,共49页。

例题解答UNTIL没有下一部门?P1P1def打开部门工资表UNTIL没有下一职工?P2defP2性别女年龄男>=55<55职务处科员+50工资=工资+增资+45写入工资表+35N=年龄-55UNTILN<=0?P3写入工资表P3defN=N-1工资*1.05普调工资的PAD图31第三十一页,共49页。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=332第三十二页,共49页。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=3033第三十三页,共49页。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=334第三十四页,共49页。习题:根据下图按六种覆盖方法,设计测试用例35第三十五页,共49页。

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条件536第三十六页,共49页。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各个条件都不成立);37第三十七页,共49页。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且各个条件都不成立);38第三十八页,共49页。

5.条件组合覆盖:各种组合如下:(1)X≧80,Y≧80;(2)X≧80,Y﹤80;(3)X﹤80,Y≧80;(4)X﹤80,Y﹤80;(5)X+Y≧140,X≧90,Y≧90;(6)X+Y≧140,X≧90,Y<90;(7)X+Y≧140,X<90,Y≧90;(8)X+Y≧140,X<90,Y<90;X+Y<140,X≧90,Y≧90;(不可执行)X+Y<140,X≧90,Y<90;(11)X+Y<140,X<90,Y≧90;(12)X+Y<140,X<90,Y<90;39第三十九页,共49页。

路径覆盖:判断/条件覆盖已经覆盖了全部路径。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第四十页,共49页。按黑盒法设计测试用例的解答:41第四十一页,共49页。测试用例设计结果:

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;42第四十二页,共49页。7.不合理测试用例:女,15岁,1.7米,本科,过四级,健康,覆盖了5;

8.不合理测试用例:女,29岁,1.7米,本科,过四级,健康,覆盖了6;

9.不合理测试用例:女、身高1.5覆盖了11,其它数据略;10.不合理测试用例:女、身高2.0覆盖了121,其它数据略;11.不合理测试用例:男、文化:小学,覆盖了14,其它数据略;12.不合理测试用例:男、英语四级以下覆盖了16,其它数据略;43第四十三页,共49页。13.不合理测试用例:男、健康有肺病,覆盖了18,其它数据略;14.不合理测试用例:女、文化:小学,覆盖了14,其它数据略;15.不合理测试用例:女、英语四级以下覆盖了16,其它数据略;16.不合理测试用例:女、健康有肺病,覆盖了18,其它数据略;44第四十四页,共49页。黑盒测试习题:某报表处理系统要求用户输入处理报表的日期,日期限制在2003年1月至2008年12月,即系统只能对该段期间内的报表进行处理,如日期不在此范围内,则显示输入错误信息。系统日期规定由年、月的6位数字字符组成,前四位代表年,后两位代表月。现要求用黑盒测试法中的边界值法写出测试用例。45第四十五页,共49页。答:输入条件测试用例说明 测试数据报表日期的1个数字字符 5类型及长度 5个数字字符

温馨提示

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

评论

0/150

提交评论