软件工程 - 软件维护

2024-01-01 18:48
文章标签 软件工程 软件维护

本文主要是介绍软件工程 - 软件维护,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

软件工程 - 软件维护

  1. ISO-IEC 12207-2008对软件维护的定义:软件维护是指由于软件产品出现问题或需要改进而对代码及相关文档的修改,其目的是对现有软件产品进行修改的同时保持其完整性。
  2. 软件维护的必要性:
    (1) 软件维护能够改正错误。
    (2) 软件维护能够改善设计。
    (3) 软件维护能够实现软件的改进。
    (4) 软件维护能够与其他系统进行交互。
    (5) 软件维护能够为使用不同的硬件、软件、系统的新性能以及通讯设备等而对软件进行改进。
    (6) 软件维护能够完成遗留程序的移植。
    (7) 软件退出使用。
  3. 维护是软件周期中花费最多的阶段,测试需要的工作量比前面加起来的都多。
  4. 四种维护和所占百分比:
    (1) 纠错性维护:约占整个维护工作量的21%。
    (2) 适应性维护:约占整个维护工作量的25%。
    (3) 完善性维护:约占整个维护工作量的50%。
    (4) 预防性维护:约占整个维护工作量的4%。
  5. 在维护阶段的最初一段时期,纠错性维护的工作量较大。随着错误发现率逐渐降低,并趋于稳定,软件进入正常使用期。然而,由于新需求的提出,适应性维护和完善性维护的工作量逐步增加。
  6. 软件维护的困难性(软件维护为什么是困难的):
    (1) 配置管理工作不到位。
    (2) 人员变动造成影响。
    (3) 维护人员大多不是编写代码的人,所以要先理解软件。但许多软件的可读性差,导致理解困难。
    (4) 往往是在任务急、时间紧的情况下处理维护请求的。
  7. 可维护性的定义:可维护性是指通过一定的手段,使软件可以被维护、改进、改动或修正,以满足特定的需求的方便程度。
  8. 估算维护工作量的模型:
    M = P + K×exp(c-d)
    M是维护用的总工作量,P是生产性工作量,K是经验常数,c是复杂程度(非结构化设计和缺少文档都会增加软件的复杂程度),d是维护人员对软件的熟悉程度。如果软件的开发没有遵循软件工程方法学,原来的开发人员不能参加维护工作,那么维护工作量(维护费用)将指数地增加。
  9. 软件的维护技术包括:程序的理解、软件再工程、软件逆向工程。
  10. 软件再工程的定义:软件再工程指对现有软件进行仔细审查和改造,对其进行重新构造,使之成为一个新的形式,同时包括随之产生的对新形式的实现。
  11. 软件逆向工程是分析目标系统,识别系统的构件及其交互关系,并且通过高层抽象或其他形式来展现目标系统的过程。
  12. 软件逆向工程主要内容有三方面:数据的逆向工程、处理的逆向工程、用户界面的逆向工程。
  13. 软件逆向工程的内容:
    在这里插入图片描述

这篇关于软件工程 - 软件维护的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/560170

相关文章

【软件工程】软件开发模型

三、瀑布模型  四、几种软件开发模型的主要特点 题目 判断题 选择题 小结

第九章 软件维护

第九章  软件维护 软件维护:在软件交付使用后,为了改正错误或满足新的需要而进行修改软件的过程。 软件维护活动类型总起来大概有四种: 纠错性维护(校正性维护)、适应性维护、完善性维护或增强、预防性维护或再工程。

第一章 软件工程的概述简记

第一章  软件工程的概述         *软件的概念:软件(Software)是一系列按照特定顺序组织的计算机数据和指令的集合。         软件的分类:(5大类)                   *1.基于软件功能划分                                  1)系统软件

软件工程技术专业软件开发综合实训室解决方案

一、行业背景与前景分析 1.1 软件工程技术专业就业前景 近年来,中国的软件行业取得了显著的成就,即便在全球经济受到新冠疫情冲击的情况下,仍保持了强劲的增长势头。据工业和信息化部发布的数据,2021年我国软件和信息技术服务业的业务收入达到85371亿元人民币,同比增长18.3%,远超同期国内生产总值的增长率。这一成就不仅体现了中国软件行业的韧性和发展潜力,也为未来的持续增长奠定了坚实的基

《软件工程导论》(第6版)第12章 面向对象实现 复习笔记

第12章 面向对象实现 一、面向对象实现概述 1.主要任务 (1)把面向对象设计结果翻译成用某种程序语言书写的面向对象程序。 (2)测试并调试面向对象的程序。 2.面向对象程序质量的影响因素 (1)面向对象设计的质量; (2)采用的程序语言的特点; (3)程序设计风格。 3.保证软件可靠性的方法 保证软件可靠性的主要措施是软件测试。面向对象测试的目标是用尽可能低的测试成本发现尽

【软件工程】第一章软件工程引论

【软件工程】第一章软件工程引论 文章目录 【软件工程】第一章软件工程引论1. 什么是软件1.1 软件的定义1.2 软件特征1.3 挑战与危机 2. 什么是工程2.1 什么是工程2.2 怎么做工程 3. 什么是软件工程3.1 软件工程的提出3.2 软件工程的经典定义3.3 软件工程设计的知识域3.4 系统工程3.5 软件工程的全流程 4. AI时代的软件工程4.1 智能软件工程4.2 大模型

《软件工程导论》(第6版)第9章 面向对象方法学引论 复习笔记

第9章 面向对象方法学引论 一、面向对象方法学概述 1.要点 面向对象方法学已经成为人们在开发软件时首选的范型。面向对象技术已成为当前最好的软件开发技术。 (1)基本原则 面向对象方法学的出发点和基本原则,是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,使描述问题的问题空间(问题域)与实现解法的解空间(求解域)在结构上尽可能一致。 (2

软件工程知识点总结(1):软件工程概述

1 什么是软件?        定义:计算机系统中的程序及其文档。        ——程序是计算机任务的处理对象和处理规模的描述;        ——文档是为了便于了解程序所需要的阐明性资料。 2 软件的特点?        软件是无形的,不可见的逻辑实体        ——它的正确与否,一直到程序在机器上运行才能知道        ——这就给设计、生产和管理带来许多困难

软件工程-图书管理系统的需求分析

软件需求规格说明书 目录 软件需求规格说明书 一、引言  1.1编写目的 1.2背景 1.3定义 1.4参考资料 二、任务概述 2.1目标 2.2用户特点 2.3假定和约束 三、需求规定 3.1功能划分 3.1.1系统功能组成 3.1.2功能编号和优先级 3.2功能描述  3.3性能 3.4输入输出 3.4.1输入 3.4.2输出 3.5数据管理 3.5

软件工程 用户故事地图 是什么 怎么用 实例

用户故事地图是一种将用户故事可视化的方法   用户故事地图的方法主要用于解决敏捷需求分析过程中的问题: 用户需求难以排列优先级。很难了解不同粒度故事(史诗故事、主题故事以及故事)之间的关系。不能方便地了解系统提供的功能的完整性。不能方便地了解系统提供的工作流。不能方便地利用递增和迭代的方式去确定发布计划以及发布目标。   在精益中有MVP(Minimum Viable Product,最