软考130-上午题-【软件工程】-系统维护

一、系统维护概述

        软件维护是软件生命周期中的最后一个阶段,处于系统投入生产性运行以后的时期中,因此不属于系统开发过程。

        软件维护是在软件已经交付使用之后为了改正错误或满足新的需求而修改软件的过程,即软件在交付使用后对软件所做的一切改动。

1-1、软件可维护性概念

        系统的可维护性可以定义为维护人员理解、改正、改动和改进这个软件的难易程度。提高可维护性是开发软件系统所有步骤的关键目的,系统是否能被很好地维护,可以用系统的可维护性这一指标来衡量。

1、系统可维护性的评价指标

1)可理解性。

        指别人能理解系统的结构、界面、功能和内部过程的难易程度。模块化、详细设计文档、结构化设计和良好的高级程序设计语言等都有助于提高可理解性。

2) 可测试性。

        诊断和测试的容易程度取决于易理解的程度。好的文档资料有利于诊断和测试,同时,程序的结构、高性能的测试工具以及周密计划的测试工序也是至关重要的。为此,开发人员在系统设计和编程阶段就应尽力把程序设计成易诊断和测试的。此外,在进行系统维护时,应该充分利用在系统测试阶段保存下来的测试用例。

3) 可修改性。

        诊断和测试的容易程度与系统设计所制定的设计原则有直接关系。模块的耦合、内聚、作用范围与控制范围的关系等都对可修改性有影响。

耦合、内聚、作用范围与控制范围 = 结构化开发

2、真题

真题1:

真题2:

可移植性 = 软件质量特性 

真题3:

一致性 = 软件质量特性 

1-2、软件维护与软件文档

        文档是软件可维护性的决定因素。由于长期使用的大型软件系统在使用过程中必然会经受
多次修改,所以文档显得非常重要。

        软件系统的文档可以分为:用户文档、系统文档两类。用户文档主要描述系统功能和使用方法,并不关心这些功能是怎样实现的;系统文档描述系统设计、实现和测试等各方面的内容。

        可维护性是所有软件都应具有的基本特点,必须在开发阶段保证软件具有可维护的特点。在软件工程的每一个阶段都应考虑并提高软件的可维护性,在每个阶段结束前的技术审查和管理复查中应该着重对可维护性进行复审。

软件维护比软件开发的时间长!

1、真题

真题1:

真题2:

真题3:

1-3、软件文档

编写高质量文档可以提高软件开发的质量

文档也是软件产品的一部分,没有文档的软件就不能称之为软件。

软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量,高质量文档对于软件产品的效益有着重要的意义

总的来说,软件文档只好不坏,选项中说软件文档不好的就是不正确的。

1、真题

真题1:

真题2:

真题3:

真题4:

真题5:

1-4、系统维护的内容及类型

系统维护主要包括:硬件维护、软件维护、数据维护。

1、软件维护

        软件维护主要是指,根据需求变化或硬件环境的变化对应用程序进行部分或全部修改。修改时应充分利用源程序,修改后要填写程序修改登记表,并在程序变更通知书上写明新旧程序的不同之处。

软件维护的内容一般有以下几个方面:

(1) 正确性维护。

        正确性维护是,指改正在系统开发阶段已发生而系统测试阶段尚未发现的错误。这方面的维护工作量要占整个维护工作量的 17%~21%。所发现的错误有的不太重要,不影响系统的正常运行,其维护工作可随时进行;而有的错误非常重要,甚至会影响整个系统的正常运行,其维护工作必须制定计划,进行修改,并且要进行复查控制

(2) 适应性维护。

        适应性维护是指使应用软件适应信息技术变化和管理需求变化而进行的修改。这方面的维护工作量占整个维护工作量的 18%~25%。由于目前计算机硬件价格不断下降,各类系统软件层出不穷,人们常常为改善系统硬件环境和运行环境而产生系统更新换代的需求;企业的外部市场环境和管理需求的不断变化也使得各级管理人员不断提出新的信息需求。这些因素都将导致适应性维护工作的产生。进行这方面的维护工作也要像系统开发一样,有计划、有步骤地进行。

(3) 完善性维护。(比重大!

        这是为扩充功能改善性能而进行的修改,主要是指对已有的软件系统增加一些在系统分析和设计阶段中没有规定的功能与性能特征。这些功能对完善系统功能是非常必要的。另外,它还包括对处理效率和编写程序的改进,这方面的维护占整个维护工作的50%~60%,比重较大,也是关系到系统开发质量的重要方面。这方面的维护除了要有计划、有步骤地完成外,还要注意将相关的文档资料加入到前面相应的文档中。

(4) 预防性维护。

        为了改进应用软件的可靠性和可维护性,为了适应未来的软/硬件环境的变化,应主动增加预防性的新的功能,以使应用系统适应各类变化而不被淘汰。例如将专用报表功能改成通用报表生成功能,以适应将来报表格式的变化。这方面的维护工作量占整个维护工作量的 4%左右。

2、真题

真题1:

真题2:

真题3:

真题4:

改善性能

真题5:

真题6:

真题7:

真题8:

真题9:

真题10:

真题11:

真题12:

真题13:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/551627.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python | Leetcode Python题解之第25题K个一组翻转链表

题目: 题解: class Solution:# 翻转一个子链表,并且返回新的头与尾def reverse(self, head: ListNode, tail: ListNode):prev tail.nextp headwhile prev ! tail:nex p.nextp.next prevprev pp nexreturn tail, headdef reverseKGroup…

JQuery(四)---【使用JQuery实现动画效果】

目录 前言 一.隐藏和显示 1.1使用方法 1.2案例演示(1) 1.3隐藏/显示效果一键切换 二.淡入淡出效果 2.1使用方法 2.2案例演示(fadeIn) 2.3案例演示(fadeOut) 2.4案例演示(fadeToggle) 2.5案例演示(fadeTo) 三.滑动 3.1使用方法 3.2案例演示(slideDown) 3.3案例演示…

SpringBoot中使用Jackson序列化返回

SpringBoot中使用Jackson序列化返回 在Spring Boot应用中,使用Jackson库来处理JSON的序列化和反序列化是一种常见的做法。Jackson是一个高效的JSON处理器,广泛用于Java环境中,尤其是在与Spring框架集成时。本文将详细介绍如何在Spring Boot中…

预付费电表管理系统

预付费电表管理系统是一种现代化的电力管理系统,它将信息化技术和电力系统紧密结合,旨在提供更加高效、便捷的电力使用与管理方式。该系统能够有效地解决传统计费方法中存在的延迟计费、欠费风险等问题,通过预付费的方式,既保证了…

【动态规划】【01背包 尽量装满背包】Leetcode 1049. 最后一块石头的重量 II

【动态规划】【01背包 尽量装满背包】Leetcode 1049. 最后一块石头的重量 II 解法 ---------------🎈🎈题目链接🎈🎈------------------- 解法 😒: 我的代码实现> 动规五部曲 ✒️确定dp数组以及下标的含义 d…

[数据结构]——二叉树链式结构的实现

目录 1. 前置说明 2. 二叉树的遍历 1. 前序、中序以及后序遍历 1.前序遍历递归 1.图解:​编辑 2.代码 2.中序遍历递归 3.后序遍历递归 3. 节点个数以及高度等 1.二叉树节点个数 2.叶子节点个数 3.树的高度 4.K层节点个数 5.二叉树查找值为x的节点是否存在…

【考研数学】跟张宇,刷《660》正确率惨不忍睹,怎么办?

接下来要先改错 50%的正确率 ,说明一半的题目都有一些问题导致了结果错误。 做题不是检查完结果,得到一个正确率就完事了。 核心是把错题的原因找到,计算出问题?有思路把公式忘了?或是根本没解题思路?还…

《深入Linux内核架构》第3章 内存管理(1)

目录 3.1 概述 3.2 NUMA模型的内存组织 3.2.1 概述 3.2.2 三个数据结构 3.2.2.1 node 3.2.2.2 zone 3.2.2.3 page 本专栏文章将有70篇左右,欢迎关注,订阅后续文章。 本章讲物理内存的管理,而不是虚拟内存地址空间。 3.1 概述 页帧&a…

DC/DC电源模块直流升压变换器电压控制输出5V12V24V转0-50V80V110V150V180V200V250V300V500V800V1000V

特点 效率高达 75%以上1*2英寸标准封装单电压输出可直接焊在PCB 上工作温度: -40℃~75℃阻燃封装,满足UL94-V0 要求温度特性好电压控制输出,输出电压随控制电压线性变化 应用 GRB 系列模块电源是一种DC-DC升压变换器。该模块电源的输入电压分为:4.5~9V、…

记录Python的pandas库详解

如何生成一个pd import pandas as pd df pd.DataFrame([[1,2,3],[4,5,6]],index[A,B],columns[C1,C2,C3])df ---------------------------------------------------------------------------C1 C2 C3 A 1 2 3 B 4 5 6df.T -------------------------------------------------…

字节8年经验之谈 —— 接口测试框架接入性能测试实践分享!

1. 前言 现如今接口测试在软件质量行业中的地位,已经越来越重要,相对于上层的UI自动化测试和下层的单元测试,接口测试的“低”投入、“高”回报,也成了绝大多数质量保障实践的首选。 在开展接口测试时,往往很多时候都…

python使用redis存储时序数据

import redisdef ts_demo():"""时序数据存储RedisTimeSeries测试"""# 连接到Redisr redis.Redis(hostlocalhost, password"xxxx", port63790, db0)r1 r.ts()# print(r1.get("ts_key"))# print(r.exists(ts_key))# # 清空键…

PyQt5 快速入门

PyQt5 简介和开发环境搭建 简介 PyQt是一个GUI小部件工具包。 它是Qt的Python接口, Qt是最强大,最受欢迎的跨平台GUI库之一。 PyQt由RiverBank Computing Ltd.开发。最新版本的PyQt可从其官方网站下载 - riverbankcomputing.com PyQt API是一组包含大…

【leetcode】双指针算法技巧——滑动窗口

标题:【leetcode】双指针算法技巧——滑动窗口 水墨不写bug 正文开始: 滑动窗口介绍 滑动窗口是一种常用的算法技巧,用于解决一些涉及 连续子数组或子串 的问题。它的基本思想是 维护一个窗口,通过 在窗口内移动 来寻找满…

SD-WAN为什么能让网络运维更简单

在数字化浪潮席卷的今天,企业面临着网络规模的不断扩大、分支机构的广泛分布以及云服务需求的日益增长。企业目前的网络不足以达到这些要求,因而出现网络性能下降、运维复杂度剧增、成本攀升的问题。而SD-WAN(软件定义广域网)作为…

SASE:打造数据安全保障新模式

在企业纷纷拥抱数字业务的过程中,由于边缘计算、云服务、混合网络的逐渐兴起,使得本就漏洞百出的传统网络安全架构更加岌岌可危,而且远远无法满足企业数字业务的需要。 伴随企业全球化发展,企业的数据中心不再是用户与设备访问需…

socket编程——tcp

在我这篇博客:网络——socket编程中介绍了关于socket编程的一些必要的知识,以及介绍了使用套接字在udp协议下如何通信,这篇博客中,我将会介绍如何使用套接字以及tcp协议进行网络通信。 1. 前置准备 在进行编写代码之前&#xff…

Docker部署Prometheus+AlertManager实现邮件告警

文章目录 一、环境准备1、硬件准备(虚拟机)2、关闭防火墙,selinux3、所有主机安装docker 二、配置Prometheus1、docker启动Prometheus 三、添加监控节点1、docker启动node-exporter 四、Prometheus配置node-exporter1、修改prometheus.yml配置…

Docker构建Golang项目常见问题

Docker构建Golang项目常见问题 1 dockerfile报错:failed to read expected number of bytes: unexpected EOF2 go mod tidy: go.mod file indicates go 1.21, but maximum supported version is 1.17 1 dockerfile报错:failed to read expected number o…

鸿蒙语言TypeScript学习第18天:【泛型】

1、TypeScript 泛型 泛型(Generics)是一种编程语言特性,允许在定义函数、类、接口等时使用占位符来表示类型,而不是具体的类型。 泛型是一种在编写可重用、灵活且类型安全的代码时非常有用的功能。 使用泛型的主要目的是为了处…