




免费预览已结束,剩余27页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第八章软件维护,8.1软件维护的分类软件维护是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。软件维护是软件生存期的最后阶段,所有活动都发生在软件交付并投入运行之后,维护活动根据起因可分为纠错性维护、适应性维护、改善性维护和预防性维护。,山西大学计算机与信息技术学院软件工程主讲人:李桂成,一、纠错性(改正性)维护(CorrectiveMaintenance)为诊断和改正软件系统中潜在的错误而进行的活动。(由于测试的不彻底性引起)二、适应性维护(AdaptiveMaintenance)为适应环境的变化而修改软件的活动:因硬件或支撑软件改变引起的变化;将软件移植到新的机种上运行;软件使用对象的较小变更。,三、改善性(完善性)维护(PerfectiveMaintenance)根据用户在使用过程中提出的一些建设性意见而进行的维护过程活动。四、预防性维护(PreventiveMaintenance)为进一步改善软件系统的可维护性和可靠性,并为以后的改进奠定基础而进行的维护活动。见下图(软件维护的分类):,8.2维护的特点,一、结构化与非结构化的维护见下图(结构化与非结构化维护的对比):,二、维护的成本三、维护的问题(为代码维护的工作量大),8.3维护过程,一、维护组织(减少混乱和盲目性,避免因小失大的情况发生)二、维护报告应该用标准化的格式表达所有软件维护要求。软件维护人员通常给用户提供空白的维护要求表-有时称为软件问题报告表,它是由要求一项维护活动的用户填写。维护要求表是一个外部产生的文件,它是计划维护活动的基础软件组织内部应该制定出一个软件修改报告,它给出下述信息:满足维护要求表中提出的要求所需要的工作量;维护要求的性质;这项要求的优先次序;与修改有关的事后数据。,三、维护事件流在完成软件维护任务之后,进行处境复查常常是有好处的。一般说来,这种复查试图回答下述问题:在当前处境下设计、编码或测试的哪些方面能用不同方法进行?哪些维护资源是应该有而事实上却没有的?对于这项维护工作什么是主要的(以及次要的)障碍?要求的维护类型中有预防性维护吗?四、保存维护记录,五、评价维护过程是否拥有一组训练有素的软件人员;系统结构是否可理解;是否使用标准的程序设计语言;是否使用标准的操作系统;文档的结构是否标准化;测试用例是否合适;是否已嵌入系统的调试工具;是否有一台计算机用于维护。,8.4可维护性,一、影响可维护性的因素1、否拥有一组训练有素的软件人员;2、系统结构是否可理解;3、是否使用标准的程序设计语言;4、是否使用标准的操作系统;5、文档的结构是否标准化;6、测试用例是否合适;7、是否已有嵌入系统的调试工具;8、是否有一台计算机可用于维护。,二、文档三、可维护性复查提高可维护性方法:1、建立明确的软件质量目标和优先级别;2、使用提高软件质量的技术和工具;3、进行明确的质量保证审查;4、选择可维护的程序设计语言。,8.5维护的副作用,软件维护的副作用指由于维护或在维护过程中其他一些不期望的行为引入的错误,副作用大致分为三类。一、代码的副作用(下列修改最易出错)1、修改或删除子程序、语句标号、标识符;2、为提高执行效率而做的修改;3、修改文件的打开、关闭操作;4、修改逻辑运算符;5、由设计变动引起的代码修改;6、修改对边界条件的测试。,二、数据副作用容易引起数据副作用的修改如下:1、局部和全局常量的再定义;2、记录或文件格式的再定义;3、增减数据或其他复杂的数据结构的体积;4、修改全局数据;5、重新初始化控制标志和指针;6、重新排列I/O表或子程序参数表。三、文档的副作用对软件的修改都应在相应的技术文档中反映出来。如果设计文档不能与软件当前的状况对应,则比没有文档更糟糕。,软件工具和环境,第一节计算机辅助软件开发CAD(ComputerAidedDesign)计算机辅助设计CAM(ComputerAidedManufacturing)计算机制造CAI(ComputerAidedInstruction)计算机辅助教学CASE(ComputerAidedSoftwareEngineering)计算机辅助软件工程目前大型软件使系统的开发从劳动密集型向技术密集型过渡,把人为从复杂而烦琐的工作解脱出来。用于软件开发的工具应运而生,但很有限。,第二节需求分析和规格说明工具一、Tektronix工具箱(Tektronix美丽公司产品)1、组成,Tektronix工具箱,编程工具,数据流图编辑程序,文字编辑程序,检查工具,检查数据流图程序,检查数据字典程序,检查小说明程序,检查全套SA文档程序,格式化,格式化数据流图,格式化数据字典,格式化小字典,文档管理工具,2、工作过程,二、PSL/PAS系统1、简介PSL(ProblemStatementLanguage)问题说明语言按一定的语法描述用户对系统的功能要求和性能要求;对用PSL书写的文本进行分析,产生许多有用的报告。PSL/PSA系统是由美国密执安大学研制,其目的是为分析员提供需求文档的编写和检查的工作。,2、作用在用SA方法分析大型的数据处理系统时,借助PSL/PSA工具,可以一边对用户和数据处理活动作由顶向下逐层分析,一边将分析过程中遇到的数据流、文件加工等对象用PLS描述出来,并将这些描述输入到PSL/PSA系统,PSA将对输入信息作词法、语法、一致性和完整性检查防止相互矛盾的或错误的信息进入文档中,然后保存这些描述信息,形成一个用计算机管理的词典。当需要修改对系统的描述时,PSA可以根据要求对文档库中的内容作编辑修改,同时进行种种检查,以维持文档的一致性。需求分析阶段结束后,PSA可以根据分析员要求以标准格式输出全部文档。,第三节概要设计工具AIDES系统一、简介AIDES(AutomatedInteractiveDesignandEvaluationSystem)自动交互设计与评估系统。由美国Hughes飞机公司80年代在VAX11/780机上开发,该系统是一个“计算机辅助设计”系统,它具有设计文档编写,结构图自动图形布局,设计标准强制,设计配置控制,设计复杂性度量和可测试性度量等性能,AIDES可以辅助设计人员用SD方法的交互方式对软件系统作模块分解。,结构图图示系统SCG具有以下功能:交互式结构图编辑;窗口设置;结构图自动布局;设计文档整理;查询报告。此外,SCG还有配置控制和将几个子树装配成整个系统等其他功能。,二、组成与原理AIDES系统有两部分组成:SCG(StructureChartGraphicsSystem)结构图图示系统DQW(DesignQualityMetricSystem)设计质量度量系统SCG具有交互方式结构图编辑、窗口设置、结构图自动布局,设计文档整理、查询报告等功能。DQM是对设计质量作变量分析的工具,它根据结构图的树深度,非纯度和扇入/扇出等特性,产生描述结构图复杂性,块间联系和总扇入/扇出特征的数字,并立即反馈给设计人员,所以DQM同SCG结合起来,设计人员就不仅能交互的建立结构图,而且立即可获知设计方案的质量,并再次调用SCG,对结构图中的质差部分作修改,这样SD方法设计技巧的运用就有了保证。,第四节详细设计工具SCL/PAD系统一、简介SDL(SoftwareDesignLanguage)软件设计语言PAD(ProblemAnalysisDiagram)问题分析图SDL/PAD系统由日本日立公司在80年代初在M系列机上开发的。该系统接受用SD方法确定的模块说明书,然后辅助设计人员的交互方式进行详细设计,(采用PAD或SDL描述法)继而可以直接产生编程序语言,书写语言。,二、工作过程1、设计人员交互的输入详细设计方案。2、系统输出用PAD表示的图形化文档供设计人员复查并及时纠正错误。3、系统自动产生(原程序来翻译成机器代码)如有错返回第2步修改。,第五节编程工具程序综合器一、简介程序综合器(ProgramSynthesizer)是美国Cornel大学在UNIX上建立的一个交互式编程环境,它能辅助程序员进行程序的建立编辑、执行和排错等多种活动。这个系统的基本思想是将程序理解为有许多语法对象组成的一个层次结构,而不是一般的字符序列,这样,编辑、执行和排错均可在该编辑语言的句法结构指导下进行。在综合器中,程序是由模板和短语两类成分嵌套构成的一个层次结构。模块是语句的语法轮廓,它包括关键字匹配括号和标准符号,模板的格式是可先定义的,它体现了编程语言的语法。短语是用户打入的任意一个字符串,包括赋值语句、表达式、变量等。,二、优点1、不必担心琐碎的语法错误;2、编排方式自动保证;3、用简单命令插入复杂模块,提高效率。综合器最有意义的长处是:由于不完整的程序亦可以执行,所以它有效的支持由顶向下逐步加细的编程方法。,第六节检查和测试工具一、静态分析工具1、FACES(FORTRANautomatedCodeEvaluationSystem)Fortran自动程序评论系统,由美国加州大学在70年代末开发。功能:评价程序总的质量;回答查询;产生各种交叉引用表和程序结构图。,2、DAVE由美国Colorado大学在1967年开发特点:DAVE对程序作分析的焦点是查找其中的“引发反常”,发现错误后,DAVE打印有关信息,以便帮助程序员分析造成错误的原因。DAVE的作用也可看成是编译程序的某种扩充。DAVE还有其他功能,如符号执行等。,二、动态分析工具1、简介PET(ProgramEvaluatorandTesterSystem)程序评价和测试系统,由美国MeDonaldDouglas公司在70年代开发。功能:监视器的覆盖情况;提供程序执行是的信息,辅助文档编写;收集程序执行是的信息,辅助文档编写。,工作过程:对测试源程序作预处理,它自动在程序的特定位置插入下面3种探测器:在程序的分支点和汇合点插入“执行计数探测器”。在非简单赋值句后插入“读变量值探测器”,它将记录变量的首次、末次、最大、最小的值。在循环句中插入“读控制变量值测试器”,它将记录循环控制变量的首次、末次、最大、最小的值。预处理后的源程序经编译,并同上上述子程序连接后投入运行。一组测试结束
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025贵州传媒职业学院第十三届贵州人才博览会引才模拟试卷完整答案详解
- 2025年山东省公费师范生(定向临沂就业)竞岗选聘专项考试考前自测高频考点模拟试题及答案详解(名师系列)
- 2025贵州护理职业技术学院第十三届贵州人才博览会引才17人考前自测高频考点模拟试题参考答案详解
- 2025湖南株洲市荷塘区招聘社区专职工作者笔试模拟试卷及1套完整答案详解
- 堤防工程施工现场管理与劳动力调度
- 重卡智能驾驶辅助技术应用方案
- 番茄红素饮料食品生产线项目风险评估报告
- 绿化工程施工资源与成本管理方案
- 城市绿化与景观设计实施方案
- 物理竞赛交变电流试题及答案
- 《大学生创新与创业》课件
- 【MOOC】园林植物应用设计-北京林业大学 中国大学慕课MOOC答案
- 2024年3D打印混凝土边框叠合板应用技术规程
- 水稻智慧农业解决方案
- caxa电子图板教程
- 非高危行业生产经营单位主要负责人及安全管理人员安全生产知识和管理能力试题及答案
- 沪教版牛津英语五年级上册《Unit 1 My future》单元作业设计
- 维修人员认证与培训体系
- 前置血管妇产科教学
- 生猪屠宰兽医卫生检验人员理论考试题及答案
- 职业技术学院《酒店财务管理》课程标准
评论
0/150
提交评论