系统架构设计师—软件工程基础篇—系统运维与维护

ops/2025/3/5 12:17:05/

文章目录

软件维护分类

在系统运行过程中,软件需要维护的原因是多样的。根据维护的原因不同,可以讲软件维护分为以下4种:

  1. 改正性维护
    1. 修改软件错误、改正软件性能上的缺点、排除实施中的错误使用。
  2. 适应性维护
    1. 在使用过程中,外部环境(新的软硬件配置)、数据环境(数据库、数据格式、数据输入/输出方法、数据存储介质)可能发生变化。
    2. 为使软件适应这种变化而修改软件的过程。
  3. 完善性维护
    1. 扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性。
  4. 预防性维护
    1. 预先提高软件的可维护性、可靠性等,为以后进一步改进软件打下良好基础。
    2. 采用先进的软件工程方法对需要维护的软件或软件中的部分(重新)进行设计编码和测试。

遗留系统

把对遗留系统的评价结果分列在坐标的四象限内。对处在不同象限的遗留系统采取不同的演化策略。
在这里插入图片描述

  1. 淘汰策略
    1. 第四象限为低水平低价值区域,即遗留系统的技术含量较低,且具有较低的业务价值。
    2. 全面重新开发新的系统以代替遗留系统
  2. 继承策略
    1. 第二象限为高水平低价值区域,即遗留系统的技术含量较低,已经满足企业运作的功能或性能要求,但具有较高的商业价值,目前企业的业务尚紧密依赖该系统。
    2. 开发新系统时,需要完全兼容遗留系统的功能模型和数据模型,保证业务的连续性,新老系统必须并行运行一段时间,再逐渐切换到新系统上运行。
  3. 改造策略
    1. 第一象限为高水平高价值区域,即遗留系统的技术含量较高,本身还有强大的生命力。系统具有较高的业务价值,基本上能欧满足企业业务运作和决策支持的需要。
    2. 改造包括系统功能的增强和数据模型的改造两个方面。
      1. 系统功能的增强是指在原有系统的基础上增加新的应用要求,对遗留系统本身不做改变。
      2. 数据模型的改造是指将遗留系统的旧的数据模型向新的数据模型的转化。
  4. 集成策略
    1. 第三象限为高水平低价值区域,即遗留系统的技术含量较高,但其业务价值较低,可能只完成某个部分(或子公司)的业务管理。
    2. 这种系统在局部领域工作良好,但对整个企业来说,存在这样的系统,形成信息孤岛。
演化策略特点开发方式
淘汰策略技术含量低,业务价值低。新系统代替遗留系统
继承策略技术含量低,业务价值高。新老系统并行运行,逐步切换。
改造策略技术含量高,业务价值高。增加新功能、升级数据模型。
集成策略技术含量高,业务价值低。局部领域工作良好,形成信息孤岛。

http://www.ppmy.cn/ops/163294.html

相关文章

表达式求值(后缀表达式)

后缀表达式 后缀表达式是给计算机去看的,一个个压进栈中; 遇到操作符就计算再将计算出的结果压到栈中;最后弹出结果。 1.栈的初始化(动态存储) typedef struct {ElemType* data;int top; }Stack; //初始化 Stack* initStack() {Stack* s (Stack*)malloc(sizeof(Stack));s->…

【蓝桥】常用库函数

1、memset()函数 1.1 基本介绍 定义在头文件<cstring>中主要作用是对一块内存区域进行设置值的操作 1.2 函数原型 void *memset(void *str, int c, size_t n);str&#xff1a;指向要填充的内存块的指针c&#xff1a;要设置的值。该值以int形式传递&#xff0c;但函数在…

玩转顺序表:用 C 语言实现数据的插入与删除

目录 顺序表的定义 插入元素 删除元素 查找元素 主函数 打印顺序表 完整代码 总结 在这篇博客中&#xff0c;我们将探讨如何使用 C 语言实现一个简单的顺序表&#xff08;也称为动态数组&#xff09;&#xff0c;并实现一些基本操作&#xff0c;包括插入、删除和查找…

ldap放大 DDOS.c

ldap放大汉化源码 安装环境指令: 乌班图/Debian系统: apt install gcc -y centos系统: yum install gcc -y 编译指令: gcc ldap.c -o ldap -pthread -stdgnu99 最后输入 ./ldap 查看使用方法 注意:本脚本完全开源免费,请勿使用任何已编译版本,使用本脚本必须拥有roo…

京东一面:为什么 IDEA 建议去掉 StringBuilder,而要使用 “+” 拼接字符串?

本文已收录至Java面试网站&#xff1a;https://topjavaer.cn 今天咱们来聊聊一个很常见的开发场景&#xff1a;字符串拼接。在日常开发中&#xff0c;字符串拼接几乎是每个 Java 开发者都会用到的操作。但最近&#xff0c;有朋友在面试时被问到一个问题&#xff1a;“为什么 ID…

Zookeeper 及 基于ZooKeeper实现的分布式锁

1 ZooKeeper 1.1 ZooKeeper 介绍 ZooKeeper是一个开源的分布式协调服务&#xff0c;它的设计目标是将那些复杂且容易出错的分布式一致性服务封装起来&#xff0c;构成一个高效可靠的原语集&#xff0c;并以一系列简单易用的接口提供给用户使用。 原语&#xff1a;操作系统或…

IDEA中Git版本回退终极指南:Reset与Revert双方案详解

目录 前言一、版本回退前置知识二、Reset方案&#xff1a;整体改写历史1、IDEA图形化操作&#xff08;推荐&#xff09;1.1、查看提交历史1.2、选择目标版本1.3、选择回退模式1.3.1、Soft&#xff08;推荐&#xff09;1.3.2、Mixed1.3.3、Hard&#xff08;慎用&#xff09;1.3.…

Qt中如何从头到尾自定义设计一个标题栏

使用qt的widget自定义设计标题栏 头文件TitleBar.h #pragma once#include <QWidget> #include<QLabel> #include<QPushButton>enum ButtonType {MIN_BUTTON 0,MIN_MAX_BUTTON,ONLY_CLOSE_BUTTON };class TitleBar : public QWidget {Q_OBJECTpublic:Titl…