当前位置: 首页 > article >正文

《软件设计师》复习笔记(11.6)——系统转换、系统维护、系统评价

目录

一、遗留系统(Legacy System)

定义:

特点:

演化策略(基于价值与技术评估):

高水平 - 低价值:

高水平 - 高价值:

低水平 - 低价值:

低水平 - 高价值:

二、系统转换(System Transition)

定义:

转换计划:

三、系统维护(System Maintenance)

可维护性评价指标:

维护类型:

四、系统评价(System Evaluation)

评价分类:

评价指标:

组成部分:

评价对象:

经济学角度:

真题示例:


一、遗留系统(Legacy System)

定义

遗留系统是指基本无法修改或演化以满足新业务需求的信息系统。

特点

  1. 功能局限:完成部分业务管理,但无法完全满足需求,很少涉及经营决策。
  2. 技术落后:采用过时技术(如主机/终端、小型机、汇编语言、文件系统而非数据库)。
  3. 维护困难:通常是大型系统,已融入企业运作,修改成本高。
  4. 文档缺失:未采用现代开发方法,缺乏文档,难以理解。

演化策略(基于价值与技术评估)

  1. 高水平 - 低价值

    • 描述:系统技术水平处于高水平,但业务价值低。
    • 策略:集成。即通过一定方式将此类系统与其他系统进行整合,以更好地发挥其技术优势。
  2. 高水平 - 高价值

    • 描述:技术水平和业务价值均处于高水平。
    • 策略:改造。对这类系统进行优化、升级等改造操作,以持续保持其优势,适应不断变化的需求。
  3. 低水平 - 低价值

    • 描述:技术水平和业务价值都低。
    • 策略:淘汰。这类系统由于各方面价值较低,可考虑停止使用,以避免资源浪费。
  4. 低水平 - 高价值

    • 描述:技术水平低,但业务价值高。
    • 策略:继承。即继承其业务价值,可能需要在后续通过技术手段对其进行改进等操作。


二、系统转换(System Transition)

定义

  • 新系统取代旧系统的过程,需考虑交接问题。

转换计划

类型描述适用场景优缺点
直接转换新系统直接取代旧系统系统简单或旧系统已不可用风险大,但节省成本
并行转换新旧系统并行运行,新系统试运行后取代大型系统风险小,但耗费资源,数据转换复杂
分段转换分期分批转换(子系统逐一替换)大型项目耗时,需协调接口问题
数据迁移将旧数据库迁移至新数据库(工具迁移、手工录入、新系统导入)系统切换前后需确保数据一致性


三、系统维护(System Maintenance)

可维护性评价指标

  1. 易分析性:诊断缺陷或失效原因的能力。
  2. 易改变性:实现修改(代码、设计、文档)的能力。
  3. 稳定性:避免修改导致意外结果的能力。
  4. 易测试性:确认已修改软件的能力。
  5. 维护性依从性:符合相关标准的能力。

维护类型

类型描述
正确性维护修复已发现的Bug。
适应性维护因外部环境变化(如政策、技术)被动调整系统。
完善性维护主动增加新功能或优化性能。
预防性维护预防未来可能出现的故障。


四、系统评价(System Evaluation)

评价分类

  • 立项评价:开发前的可行性分析。
  • 中期评价:阶段评审或重大变故时评估。
  • 结项评价:正式运行后是否达到预期目标的综合评估。

评价指标

  1. 组成部分

    • 人(用户需求、运行效果)
    • 机(系统质量、技术条件)
  2. 评价对象

    • 开发方:关注系统质量与技术。
    • 用户方:关注需求与运行质量。
    • 外部环境:社会效益指标。
  3. 经济学角度

    • 系统成本、效益、财务指标。

真题示例:

对于遗留系统的评价框架如下图所示,那么处于“高水平、低价值”区的遗留系统适合于采用的演化策略为( )。

A. 淘汰 B.继承 C.改造 D.集成

集成,即通过一定方式将此类系统与其他系统进行整合,以更好地发挥其技术优势。

以下关于软件维护和可维护性的叙述中,不正确的是( )。

A. 软件维护要解决软件产品交付用户之后运行中发生的各种问题

B. 软件的维护期通常比开发期长得多,其投入也大得多

C. 进行质量保证审查可以提高软件产品的可维护性

D. 提高可维护性是在软件维护阶段考虑的问题

可维护性应在软件开发的全生命周期(需求分析、设计、编码等阶段)中考虑,而非仅在维护阶段。其他选项描述正确:

  • A:维护阶段解决运行中的问题(如缺陷、新需求等)。

  • B:维护期通常比开发期长,成本更高。

  • C:质量保证审查(如代码评审、测试)能间接提升可维护性。

某企业由于外部市场环境和管理需求的变化对现有软件系统提出新的需求,则对该软件系统进行的维护属于______维护。

A. 正确性 B. 完善性 C. 适应性 D. 预防性

适应性维护指为使软件适应外部环境(如新硬件、政策、市场需求)变化而进行的修改。若题目描述的是“新增功能”,则属于完善性维护,但明确提到“外部变化”,故更倾向适应性维护。 

相关文章:

《软件设计师》复习笔记(11.6)——系统转换、系统维护、系统评价

目录 一、遗留系统(Legacy System) 定义: 特点: 演化策略(基于价值与技术评估): 高水平 - 低价值: 高水平 - 高价值: 低水平 - 低价值: 低水平 - 高价…...

ROS机器人一般用哪些传感器?

以下是ROS机器人常用传感器的分层详解及思维导图总结,涵盖传感器分类、核心参数、ROS支持及典型应用: 一、环境感知传感器 1. 视觉传感器 类型 原理 ROS支持 数据类型 典型型号/驱动 优缺点及应用场景 单目摄像头 单镜头成像,通过透视变换获取2D图像,依赖算法推断深度 驱…...

嵌入式linux架构理解(宏观理解)6ull学习心得---从架构理解到自写程序运行及自写程序开机自启动

一、linux系统的三个组成部分 U-Boot、Linux kernel 和 rootfs 这三者一起构成了一个完整的 Linux 系 统,一个可以正常使用、功能完善的 Linux 系统。 1.在移植 Linux之前我们需要先移植一个 bootloader 代码,这个 bootloader 代码用于启动 Linux 内核,bootloader有很多,常…...

人像面部关键点检测

此工作为本人近期做人脸情绪识别,CBAM模块前是否能加人脸关键点检测而做的尝试。由于创新点不是在于检测点的标注,而是CBAM的改进,因此,只是借用了现成库Dilb与cv2进行。 首先,下载人脸关键点预测模型:Index of /file…...

面试算法高频08-动态规划-02

动态规划练习题 题目描述 给定两个字符串 text1 和 text2,要求返回这两个字符串的最长公共子序列。例如对于字符串 “ABAZDC” 和 “BACBAD”,需找出它们最长的公共子序列。子序列是指在不改变其余字符相对位置的情况下,从原始字符串中删除…...

PyTorch逻辑回归总结

目录 PyTorch逻辑回归总结神经网络基础基本结构学习路径 线性回归简单线性回归多元线性回归 逻辑回归核心原理损失函数 梯度下降法基本思想关键公式学习率影响 PyTorch实现数据准备模型构建代码优化 核心概念对比 PyTorch逻辑回归总结 神经网络基础 基本结构 输入节点隐藏节…...

使用 Vue 开发登录页面的完整指南

一、项目搭建与基础配置 环境准备 使用 Vue CLI 或 Vite 创建项目,推荐组合:Vue3 Element Plus Vue Router npm create vuelatest npm install element-plus element-plus/icons-vue vue-router 全局配置(main.js) import { c…...

EDID结构

EDID DDC通讯中传输显示设备数据 VGA , DVI 的EDID由128字节组成,hdmi的EDID增加扩展块128字节。扩展快的内容主要是和音频属性相关的,DVI和vga没有音频,hdmi自带音频,扩展快数据规范按照cea-861x标准。 Edid为了让pc或其他的图像…...

文件包含(详解)

文件包含漏洞是一种常见的Web安全漏洞,其核心在于应用程序未对用户控制的文件路径或文件名进行严格过滤,导致攻击者能够包含并执行任意文件(包括本地或远程恶意文件)。 1. 文件包含原理 动态文件包含机制 开发者使用动态包含函数…...

《SpringBoot中@Scheduled和Quartz的区别是什么?分布式定时任务框架选型实战》​

🌟 ​大家好,我是摘星!​ 🌟 今天为大家带来的是Scheduled和Quartz对比分析: 新手常见困惑: 刚学SpringBoot时,我发现用Scheduled写定时任务特别简单。但当我看到同事在项目里用Quartz时&…...

安装fvm可以让电脑同时管理多个版本的flutter、flutter常用命令、vscode连接模拟器

打开 PowerShellfvm安装 dart pub global activate fvm安装完成后,如果显示FVM无法识别,那么需要去添加环境变量path添加这个:C:\Users\Administrator\AppData\Local\Pub\Cache\bin 常用命令 fvm releases 查看用户可以装的flutter版本fvm l…...

UNION和UNION ALL的主要区别

UNION和UNION ALL的主要区别在于处理重复数据和排序的方式。 UNION和UNION ALL都是SQL语言中用于合并两个或多个SELECT语句结果集的关键字。它们的主要区别如下: 1、对重复结果的处理:UNION在进行表链接后会筛选掉重复的记录,而UNION ALL不会…...

Kafka系列之:计算kafka集群topic占的存储大小

Kafka系列之:计算kafka集群topic占的存储大小 topic存储数据格式统计topic存储大小定时统计topic存储大小topic存储数据格式 单位是字节大小 size_bytes{directory="/data/datum/kafka/optics-all" } 782336计算topic存储大小脚本逻辑是: 计算指定目录或文件的大小…...

[密码学实战]Java使用Bouncy Castle实现Base64编码解码:完整指南

Java使用Bouncy Castle实现Base64编码解码:完整指南 摘要 本文将深入讲解如何通过Bouncy Castle(BC)加密库实现Base64编码解码,包含核心API使用、流式处理、与加密算法集成三大实战场景,提供5种代码实现方案和3种性能优化技巧。 一、Base64基础原理 1.1 编码机制 Bas…...

智谱AI大模型免费开放:开启AI创作新时代

文章摘要:近日,国内领先的人工智能公司智谱AI宣布旗下多款大模型服务免费开放,这一举措标志着大模型技术正式迈入普惠阶段。本文将详细介绍智谱AI此次开放的GLM-4 等大模型,涵盖其主要功能、技术特点、使用步骤以及应用场景&#…...

为什么要给单片机植入操作系统

给单片机植入操作系统(通常是实时操作系统,RTOS)主要是为了在资源有限的环境中实现更高效、更可靠的多任务管理和系统调度。以下是主要原因和优势: 1. 多任务并行处理 背景:单片机通常需要同时处理多个任务&#xff0…...

T1结构像+RS-fMRI影像处理过程记录(数据下载+Matlab工具箱+数据处理)

最近需要仿真研究T1结构像RS-fMRI影像融合处理输出目标坐标的路线可行性。就此机会记录下来。 为了完成验证目标处理,首先需要有数据,然后需要准备对应的处理平台和工具箱,进行一系列。那么开始记录~ 前言: 为了基于种子点的功能连…...

【前端基础】--- HTML

个人主页  :  9ilk    专栏  :  前端基础 文章目录 🏠 初识HTML🏠 HTML结构认识HTML标签HTML文件基本结构标签层次结构快速生成代码框架 🏠 HTML常见标签注释标签标题标签 h1-h6段落标签 p换行标签 br格式化标签图片标签 img超链接标签…...

黑马V11版 最新Java高级软件工程师课程-JavaEE精英进阶课

课程大小:60.2G 课程下载:https://download.csdn.net/download/m0_66047725/90615581 更多资源下载:关注我 阶段一 中台战略与组件化开发专题课程 阶段二 【物流行业】品达物流TMS 阶段三 智牛股 阶段四 千亿级电商秒杀解决方案专题 …...

C#插件与可扩展性

外接程序为主机应用程序提供了扩展功能或服务。.net framework提供了一个编程模型,开发人员可以使用该模型来开发加载项并在其主机应用程序中激活它们。该模型通过在主机和外接程序之间构建通信管道来实现此目的。该模型是使用: System.AddIn, System.AddIn.Hosting, System.…...

CVPR‘25 | 高文字渲染精度的商品图文海报生成

本文分享阿里妈妈智能创作与AI应用团队在图文广告创意方向上提出的商品图文海报生成模型,通过构建字符级视觉表征作为控制信号,可以实现精准的图上中文逐像素生成。基于该项工作总结的论文已被 CVPR 2025录用,并在阿里妈妈业务场景落地&#…...

Golang|抽奖相关

文章目录 抽奖核心算法生成抽奖大转盘抽奖接口实现 抽奖核心算法 我们可以根据 单商品库存量/总商品库存量 得到每个商品被抽中的概率,可以想象这样一条 0-1 的数轴,数轴上的每一段相当于一种商品,概率之和为1。 抽奖时,我们会生…...

RT-Thread开发文档合集

瑞萨VisionBoard开发实践指南 RT-Thread 文档中心 RT-Thread-【RA8D1-Vision Board】 RA8D1 Vision Board上的USB实践RT-Thread问答社区 - RT-Thread 【开发板】环境篇:05烧录工具介绍_哔哩哔哩_bilibili 【RA8D1-Vision Board】基于OpenMV 实现图像分类_哔哩哔哩_…...

rulego-server是一个开源程序,是一个轻量级、无依赖性的工作流自动化平台。支持 iPaaS、流式计算和 AI 能力。

一、软件介绍 文末提供程序和源码下载学习 RuleGo-Server 是一个基于 RuleGo 构建的轻量级、高性能、模块化和集成友好的自动化工作流程平台。可用于自动化编排、iPaaS(集成平台即服务)、API 编排、应用编排、AI 编排、数据处理、IoT 规则引擎、AI 助手…...

鸿蒙系统开发状态更新字段区别对比

在鸿蒙系统开发中,状态管理是构建响应式UI的核心机制,主要通过装饰器(Decorators)实现字段的状态观测与更新。根据鸿蒙的版本(V1稳定版和V2试用版),支持的装饰器及其特性有所不同。以下是主要状…...

抽象的https原理简介

前言 小明和小美是一对好朋友,他们分隔两地,平时经常写信沟通,但是偶然被小明发现他回给小美的信好像被人拆开看过,甚至偷偷被篡改过。 对称加密算法 开头的通信过程比较像HTTP服务器与客户端的通信过程,全明文传输…...

HTML理论题

1.什么是HTML? 超文本标记语言(英语:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言。 2.DOCTYPE 的作用是什么?标准与兼容模式(混杂模式)各有什么区别? DOCTYPE 的作用是告知浏览器的解析器用什么文档标准解析这个文档。 标准模式:用于…...

nginx-基础知识(二)

目录 虚拟主机 虚拟主机的功能 虚拟主机的划分方式 基于IP地址进行划分 基于域名进行划分 正向/反向代理 正向代理 反向代理 正向代理和反向代理的区别 负载均衡 负载均衡的类型 负载均衡的作用 nginx并发量比较高的原因 负载均衡的算法 会话保持 虚拟主机 虚拟…...

Ubuntu上安装Mysql

步骤 1:安装 MySQL Server sudo apt update sudo apt install mysql-server -y这将安装最新版本的 MySQL 8.0 以及所有依赖组件。 步骤 2:检查安装是否成功 mysql --version sudo systemctl status mysql如果状态是 active (running),说明成…...

idea maven 命令后控制台乱码

首先在idea中查看maven的编码方式 执行mvn -v命令 查看编码语言是GBK C:\Users\13488>mvn -v Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f) Maven home: D:\maven\apache-maven-3.6.3\bin\.. Java version: 1.8.0_202, vendor: Oracle Corporation, runt…...