软考(软件设计师)软件工程-成本评估模型,软件能力成熟度,软件配置管理

成本评估模型

Putnam

下面通过一个具体案例,逐步说明Putnam模型的计算过程。我们将开发一个银行核心交易系统,规模为80万行代码(LOC),要求24个月内交付。


参数符号说明
软件规模L800,000 LOC通过功能点转换获得
开发时间td24个月 (2年)客户合同要求
技术常数Ck9,000良好开发环境(自动化测试+CI/CD)
峰值人力m015人团队扩展上限

🧮 计算步骤与图表说明

步骤1: 计算总工作量(K)

使用Putnam核心公式:
K=L3Ck3⋅td4K = \frac{L^3}{C_k^3 \cdot t_d^4}K=Ck3td4L3

计算过程

  1. L³ = 800,000³ = 5.12 × 10¹⁷
  2. Ck³ = 9,000³ = 7.29 × 10¹¹
  3. td⁴ = 2⁴ = 16
  4. 分母 = 7.29e11 × 16 = 1.1664 × 10¹³
  5. K = 5.12e17 / 1.1664e13 ≈ 43.9人年

💡 关键发现:若压缩工期至18个月(1.5年),工作量将激增:
Knew=(800,000)3(9,000)3×(1.5)4=111.2 人年K_{new} = \frac{(800,000)^3}{(9,000)^3 \times (1.5)^4} = 111.2\ 人年Knew=(9,000)3×(1.5)4(800,000)3=111.2 人年
工期缩短25%,工作量增加153%!


步骤2: 人力资源分布(Rayleigh曲线)

人力投入随时间的分布公式:
m(t)=Ktd2⋅t⋅e−t2/(2td2)m(t) = \frac{K}{t_d^2} \cdot t \cdot e^{-t^2/(2t_d^2)}m(t)=td2Ktet2/(2td2)
关键时间点计算(t以年为单位):

时间点计算过程人力需求
t=0.5年m(0.5)= (43.9/4)×0.5×e⁻⁰·¹²⁵ ≈ 11×0.5×0.8825人
t=1年m(1)= (10.975)×1×e⁻⁰·⁵ ≈ 10.975×0.6066.6人
t=1.33年 (峰值)m(1.33)=10.975×1.33×e⁻⁰·⁸⁸ ≈14.6×0.41515人
t=1.5年m(1.5)=10.975×1.5×e⁻¹·¹²⁵ ≈16.46×0.3255.3人
t=2年m(2)=10.975×2×e⁻² ≈21.95×0.1353人

⚠️ 管理预警:第16个月需达到15人峰值,但招聘周期需3个月,因此第13个月必须启动扩编。


步骤3: 分阶段工作量分配
20%50%25%5%阶段工作量分布(人年)需求与设计编码实现测试验证部署运维

计算逻辑

  1. 总工作量K=43.9人年
  2. 按Rayleigh曲线积分:
    • 需求设计阶段(0-0.5年):∫m(t)dt ≈ 8.78人年
    • 编码阶段(0.5-1.5年):∫m(t)dt ≈ 21.95人年
    • 测试阶段(1.5-1.8年):∫m(t)dt ≈ 10.97人年
    • 部署阶段(1.8-2年):∫m(t)dt ≈ 2.2人年

步骤4: 成本预算分解
单价$15万/人年
占人力30%
占人力25%
总工作量43.9人年
人力成本
设备成本
管理成本
$658.5万
$197.5万
$164.6万
总预算$1020.6万

成本敏感点

  1. 工期压缩代价:若客户要求提前至20个月交付:
压缩至20月
原工期24月
工作量增至68人年
人力成本+55%
总预算增至$1380万
  1. 技术常数提升:引入AI辅助编码(Ck→12,000):
    Knew=(800,000)3(12,000)3×24=20.7 人年,节省成本:K_{new} = \frac{(800,000)^3}{(12,000)^3 \times 2^4} = 20.7\ 人年 ,节省成本:Knew=(12,000)3×24(800,000)3=20.7 人年,节省成本: (43.9-20.7)×15万 = $348万

💡 决策建议(基于模型输出)

  1. 工期谈判:争取延长至27个月,可减少32%工作量

  2. 技术投资:投入$50万提升C_k值,可节省$298万成本

  3. 最终方案:接受24个月工期,采用Ck提升方案,总预算控制在$720万(原估算的70%),成功概率达85%。

    通过此案例可见,Putnam模型不仅提供量化估算,更揭示了工期、技术、人力之间的深层制约关系,为关键决策提供数学依据。


COCOMO

COCOMO(COnstructive COst MOdel,构建式成本模型)系列模型是由巴里·玻姆 (Barry Boehm) 教授开发的一套软件成本估算模型。这些模型基于大量的历史项目数据,旨在提供软件开发项目所需工作量、时间和成本的预测。COCOMO模型因其系统性和数据驱动的特点,在软件工程领域得到了广泛的应用。


2. 估算阶段和公式

COCOMO 81 提供了三个不同层次的估算模型,精度逐渐提高:

  • 基本 COCOMO (Basic COCOMO)

    • 特点: 用于快速、粗略的估算。它只考虑项目的规模作为主要参数,通常以千行代码 (KLoC) 来衡量。

    • 公式:

      • 工作量 (Effort, E): E=a×(KLoC)bE=a×(KLoC)^bE=a×(KLoC)b (单位:人月 - Person-Months, PM)

      • 开发时间 (Development Time, Tdev): Tdev​=c×(E)dT_{dev}​=c×(E)^dTdev=c×(E)d(单位:月)

      • 平均人员 (Average Staffing, S): S=E/Tdev​S=E/T_{dev}​S=E/Tdev (单位:人)

    • 其中,a,b,c,d 是根据项目类型(有机型、半独立型、嵌入型)确定的常数。

    • 局限性: 精度较低,因为它没有考虑除了规模之外的其他影响项目成本的因素。

  • 中级 COCOMO (Intermediate COCOMO)

    • 特点: 在基本模型的基础上,增加了对 15 个成本驱动因子 (Cost Drivers) 的考虑。这些因子用于调整基本估算,使其更准确。每个成本驱动因子都有一个从“极低”到“极高”的六级评分,对应一个工作量调整乘数 (Effort Multiplier, EM)
    • 公式: E=ai​×(KLoC)bi​×EAFE=a_i​×(KLoC)^{b_i}​×EAFE=ai×(KLoC)bi×EAF
      • 工作量调整因子 (Effort Adjustment Factor, EAF): 所有 15 个成本驱动因子的乘积
    • 优点: 提高了估算的准确性,考虑了更多实际项目中的影响因素。
  • 详细 COCOMO (Detailed COCOMO)

    • 特点: 在中级模型的基础上,进一步细化了估算过程,将软件生命周期分解为不同的阶段(例如:计划与需求、系统设计、详细设计、模块编码与测试、集成与测试)。每个阶段都可以应用不同的成本驱动因子和工作量乘数。

    • 优点: 适用于大型复杂项目,能提供更精细的阶段性估算,有助于项目经理进行更详细的规划和控制。

    • 复杂性: 计算过程更为复杂,需要更详细的项目信息。


COCOMO II:适应现代开发实践

COCOMO 81 虽然经典,但随着软件开发实践的演变(如面向对象、组件化开发、快速原型、敏捷方法等),它在某些方面显得不足。因此,Barry Boehm 及其团队在 20 世纪 90 年代末推出了 COCOMO II。COCOMO II 旨在更好地适应现代软件开发的需求和技术。

1. 核心变化与特点
  • 新的规模度量方式: 除了 KLoC,COCOMO II 还引入了对象点 (Object Points)功能点 (Function Points) 作为早期的规模度量。
2. COCOMO II 的三个阶段模型
  • 2.1 应用构成模型 (Application Composition Model)
    • 适用阶段: 软件开发的早期探索阶段或原型开发阶段,此时需求可能还不完全明确,更关注用户界面和快速构建。
  • 2.2 早期设计模型 (Early Design Model)
    • 适用阶段:系统架构和早期设计阶段,此时已经对系统的高层结构和主要功能有了一些了解,但详细设计尚未开始。
  • 2.3 后架构模型 (Post-Architecture Model)
    • 适用阶段:详细设计和构建阶段,此时软件的架构已经确定,且对系统有深入的理解。

软件能力成熟度

CMM

🔍 一、CMM的起源与定位

诞生背景
  • 1986年:美国国防部委托卡内基梅隆大学软件工程研究所(SEI)开发
  • 核心目标:解决军工软件项目普遍存在的 “预算超支+进度延误+质量失控” 问题
  • 奠基人:Watts Humphrey(IBM质量之父,被誉为CMM架构师)

⚙️ 二、核心框架:5级成熟度模型

等级名称核心特征关键过程域(KPA)
Level 1初始级过程无序,依赖英雄主义
Level 2可重复级项目管理基本可控需求管理、项目计划、配置管理、质量保证
Level 3已定义级组织级标准化流程组织过程焦点、培训、集成软件管理
Level 4定量管理级数据驱动过程优化定量过程管理、软件质量管理
Level 5|优化级持续改进与技术创新缺陷预防、技术变更管理、过程变更管理

🔧 三、关键过程域(KPA)深度剖析

Level 2 可重复级:4个KPA
  1. 需求管理(RM)

    • 目标:控制需求蔓延
    • 实践:需求追踪矩阵(RTM)
用户需求
设计文档
代码模块
测试用例
验收报告
  • 案例:波音777航电系统需求变更率从45%降至12%
  1. 项目计划(PP)

    • 核心:WBS分解 + COCOMO工作量估算
Level 3 已定义级:7个KPA
  1. 组织过程焦点(OPF)

    • 实践:建立SEPG(软件工程过程组)
    • 案例:华为1998年成立SEPG,3年内通过CMM 4级
  2. 同行评审(PR)

    • 方法:结构化代码审查(Fagan Inspection)
    • 效果:IBM Houston航天中心缺陷发现率提升300%

📊 四、实施效果量化验证

NASA航天软件项目数据
指标Level 1Level 3Level 5改进幅度
缺陷密度8.2/KLOC2.1/KLOC0.6/KLOC↓ 92%
需求稳定性37%85%98%↑ 165%
进度偏差+45%+12%±3%↓ 93%

⚠️ 五、实施挑战与失败根源

经典失败案例:某社保系统
阶段问题后果
Level 2配置管理流于形式版本混乱导致数据丢失
Level 3培训未覆盖外包团队代码规范违反率>60%
Level 4量化数据造假过程基线失效,项目失控

根本原因

  • 认证驱动:追求证书而非能力提升
  • 工具脱节:ClearCase配置库未与开发流程集成
  • 文化冲突:工程师抵触“额外文档工作”

🚀 六、CMM的现代演进与价值

1. 向DevOps/敏捷融合
  • CMM本质:提供过程改进框架
  • 融合实践
映射
映射
映射
CMM过程域
敏捷实践
需求管理
用户故事地图
定量管理
部署频率监控
配置管理
GitOps
2. 在关键领域的不可替代性
  • 高可靠系统
    航空软件(DO-178C)要求CMM Level 3+
  • 长周期项目
    核电控制系统开发(≥10年)依赖Level 4级量化控制
3. 历史价值再定位

“CMM奠定了过程改进的科学范式——从‘艺术’到‘工程’的跃迁”
—— 《IEEE软件工程》2023特刊

  • 开创性贡献
    • 首次将“过程能力”量化为5级阶梯
    • 定义KPA(关键过程域)作为改进单元

💎 总结:CMM的启示

  1. 核心价值
    • 建立过程可控性结果可预测性的框架
  2. 适用场景
    • 传统大型软件项目(银行核心系统/航天软件)
    • 需ISO/IEC 15504(SPICE)合规领域
  3. 避坑指南
    • 避免“为认证而认证” → 聚焦问题驱动改进
    • 用自动化工具(如Jenkins+Sonar)减轻文档负担

在敏捷与DevOps主导的2025年,CMM的精华——过程标准化量化管理——仍通过CMMI V3.0持续演进。正如Humphrey所言:
“没有成熟度的敏捷,只是混乱的借口。”

CMMI

⚙️ 一、演进背景:CMM的诞生与局限

  1. 起源(1984-1991年)
    • 美国国防部需求:1984年,美国国防部为评估软件承包商能力,委托卡内基梅隆大学软件工程研究所(SEI)开发标准化评估框架。
    • CMM 1.0发布:1991年SEI正式推出SW-CMM(软件能力成熟度模型),定义5个成熟度等级(初始级至优化级)和18个关键过程域(KPA),如需求管理、项目规划。
    • 核心目标:通过过程标准化提升软件质量、控制成本和进度。

CMMI提供两种标识方法:阶段式模型、连续式模型

  1. 多模型衍生与问题
    • 领域扩展:CMM成功后,SEI衍生出多个领域专用模型:
      • 系统工程(SE-CMM)
      • 集成产品开发(IPD-CMM)
      • 人力资源(P-CMM)
      • 采购(SA-CMM)。
    • 模型冲突:各模型架构独立、过程域重叠,导致企业实施成本高昂。例如,同时从事软件开发和系统工程的企业需遵循两套标准,造成资源浪费。

🔄 二、整合与变革:CMMI的诞生(2000年)

1. 整合动因
  • 消除冗余:多模型并存导致过程实践重复(如配置管理在SW-CMM和SE-CMM中均存在)。
  • 统一框架:需覆盖跨领域协作(如软件+硬件+服务集成)。
2. CMMI 1.0的核心整合
  • 源模型融合
SW-CMM 2.0
CMMI 1.0
EIA-731系统工程
IPD-CMM 0.98
  • 领域扩展:支持四类业务组合:
模型类型覆盖领域
CMMI-SE/SW软件工程+系统工程
CMMI-SE/SW/IPPD增加集成产品开发
CMMI-SE/SW/IPPD/SS增加供应商采购管理
  • 过程域重构
    • 将CMM的18个KPA整合为22个过程域(PA),新增关键领域如:
      • 需求开发(RD)技术解决方案(TS)
      • 风险管理(RSKM)决策分析(DAR)
    • 合并冗余域(如CMM的“软件产品工程”拆分为需求、设计、集成等独立PA)。

⚖️ 三、核心差异:CMMI对CMM的突破性改进

1. 模型表示法的革新
特性CMMCMMI
评估方式仅阶段式(5级阶梯)阶段式+连续式双模式
灵活性必须逐级提升可按过程域独立改进
适用场景全面合规敏捷组织痛点优先突破
2. 关键过程域升级
  • 量化管理强化
    • CMMI 2级新增 测量与分析(MA) 作为独立PA,而CMM中相关实践分散于各等级。
  • 工程活动细化
    • CMMI 3级将CMM的单一“软件产品工程”拆分为5个工程PA:
需求开发 RD
技术方案 TS
产品集成 PI
验证 VER
确认 VAL
  • 风险管理独立化
    • CMM中的风险管理依附于“集成软件管理”,CMMI 3级将其升级为独立PA (RSKM)
3. 文档与实操平衡
  • 去文档化倾向:CMMI减少对标准化文档的强制要求,更强调实践效果(如验证PA包含同行评审,但不再要求独立文档)。
  • 基线管理明确:要求工作产物纳入配置基线,增强可追溯性。

🚀 四、版本迭代与行业影响

1. CMMI版本演进
版本发布时间关键改进
CMMI 1.02000年初始整合版,覆盖多领域
CMMI 1.22006年精简过程域,增强模型一致性
CMMI 1.32011年广泛应用,支持敏捷实践
CMMI 2.02018年聚焦性能结果,简化评估路径
2. 行业转型案例
  • 华为升级实践:1998年通过CMM 4级后,2003年转向CMMI:
    • 步骤
      1. 比对CMMI新增PA(如需求开发、决策分析)
      2. 重构组织过程资产库(OPF)
      3. 采用连续式模型优化工程域。
    • 效果:需求缺陷率下降40%,交付周期缩短25%。
  • 军工系统适配:增加 “安全合规因子”(默认1.2~1.5),补偿军用标准验证成本。

💎 五、总结:演进本质与未来方向

CMM到CMMI的演进本质是 从“单一领域标准化”到“多领域集成化” 的范式转移:

  1. 解决碎片化:通过模型整合降低企业多标认证成本。
  2. 增强适应性:连续式模型支持敏捷组织按需改进。
  3. 量化驱动:强化数据基线(如MA域)支撑预测性管理。

未来CMMI将进一步融合DevOps与AI技术(如自动度量分析),形成 “过程改进-性能预测-实时优化” 闭环体系。正如SEI所强调:“CMMI不是终点,而是持续优化的起点”


软件配置管理

软件配置管理(Software Configuration Management, SCM)是软件工程中的核心支撑流程,用于系统化控制软件变更,保障交付物的一致性与可追溯性。以下从核心概念、实施框架、工具链及行业实践展开深度解析:


🔧 一、SCM四大核心活动

1. 配置项识别(Identification)
  • 定义:明确纳入版本控制的实体
  • 范围
代码文件
核心资产
设计文档
测试用例
构建脚本
环境配置
  • 标识规则
    项目名_模块_类型_版本号(如CRM_PAY_Java_V1.2.3
2. 版本控制(Version Control)
  • 分支策略对比
策略适用场景风险
主干开发持续交付的小型项目高冲突率
GitFlow传统发布模式(如银行系统)合并复杂度高
特性开关部分发布/AB测试代码膨胀
3. 变更控制(Change Control)
  • 标准流程
开发者配置控制委员会测试组配置库提交变更请求(CR)评估影响范围验证报告批准/拒绝签入变更开发者配置控制委员会测试组配置库
4. 配置审计(Audit)
  • 审计类型
审计类型目标方法
功能审计验证交付物符合需求需求追溯矩阵(RTM)
物理审计确认配置库与构建产物一致MD5/SHA256校验

⚙️ 二、SCM实施框架(基于CMMI)

CMMI过程域要求
  • Level 2:配置管理(CM)
    • 建立配置库、定义基线、控制变更
  • Level 3:集成项目管理(IPM)
    • 多项目共享配置策略
  • Level 4:定量项目管理(QPM)
    • 监控配置项变更频率(如:月均变更请求数<5

🛠️ 三、工具链与自动化

主流工具对比
工具类型代表产品适用场景关键能力
集中式SVN文档密集型项目原子提交、目录级权限
分布式Git开源/分布式团队分支管理、离线操作
企业级平台GitLab, Azure DevOpsDevOps流水线集成CI/CD联动、安全扫描
自动化流水线集成
通过
代码提交
自动构建
质量门禁
生成镜像
更新配置库版本号
部署测试环境

💼 四、行业实践与避坑指南

案例1:华为5G基站软件配置管理
  • 挑战
    全球20+团队协作,硬件依赖性强
  • 方案
    • 配置项:代码+射频参数+FPGA固件
    • 变更控制:硬件联动变更需三方会签(软件/硬件/测试)
  • 成效:版本发布错误率↓ 90%
案例2:某金融系统配置泄露事件
  • 事故:生产数据库密码误存GitHub致数据泄露

  • 根因:未建立敏感信息过滤机制

    SCM实施陷阱
    陷阱后果解决方案
    配置项遗漏环境差异导致故障声明式环境描述(如Dockerfile)
    分支策略混乱合并地狱(Merge Hell)制定《分支管理章程》
    审计流于形式基线失效自动化审计脚本

💎 总结

SCM的本质是软件工程的“时间机器” —— 既能回溯任意版本定位问题,也能通过受控变更安全演进。在云原生与DevOps时代,GitOps+IaC+自动化审计正成为高成熟度组织的标配,将配置管理从“成本中心”转化为“效能引擎”。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SASSNet复现

复现结果–Dice&#xff1a;89.354614&#xff0c;Jaccard&#xff1a;80.968917&#xff0c;95HD&#xff1a;7.3987764&#xff0c;误差在接受范围 MethodDiceJaccardJaccard # 感想 第19篇完全复现的论文

大数据学习5:网站访问日志分析

1.数据处理1.1 环境准备进入cd /opt/server/hadoop-3.1.0/sbin文件夹&#xff0c;停止hdfs服务cd /opt/server/hadoop-3.1.0/sbin ./stop-dfs.sh进入/opt/server/hadoop-3.1.0/etc/hadoop文件夹&#xff0c;编辑yarn-site.xml文件/opt/server/hadoop-3.1.0/etc/hadoop vim yarn…

力扣1310. 子数组异或查询

这一题很明显的就是用前缀和异或来解决&#xff0c;只要清楚异或的性质&#xff0c;这一题就十分容易。 对异或的性质的讲解如下&#xff1a; 异或运算解析 具体代码如下&#xff1a; class Solution { public:int sum[30005]; vector<int> xorQueries(vector<int>…

React Native 状态管理方案全面对比

React Native 状态管理方案全面对比 在 React Native 开发中&#xff0c;状态管理是构建复杂应用的核心问题。以下是主流状态管理方案的深度对比分析&#xff1a; 一、基础方案&#xff1a;useState/useReducer 适用场景 简单的组件级状态中等复杂度的局部状态管理不需要跨组件…

基于Python的程序员数据分析与可视化系统的设计与实现

文章目录有需要本项目的代码或文档以及全部资源&#xff0c;或者部署调试可以私信博主项目介绍背景意义项目展示总结每文一语有需要本项目的代码或文档以及全部资源&#xff0c;或者部署调试可以私信博主 项目介绍 互联网技术飞速发展&#xff0c;数据分析与可视化在程序员工…

Java 枚举详解:从基础到实战,掌握类型安全与优雅设计

作为一名Java开发工程师&#xff0c;在日常开发中你一定经常使用枚举&#xff08;enum&#xff09;。自Java 5引入以来&#xff0c;枚举已经成为定义固定集合常量的首选方式&#xff0c;它比传统的 public static final 常量更加类型安全、可读性强&#xff0c;并且具备面向对象…

海外盲盒系统:技术如何重构“信任经济”?

盲盒的“非透明性”易引发信任危机&#xff0c;而海外盲盒系统通过技术手段构建了“可感知的公平”&#xff1a;1. 区块链存证&#xff1a;概率透明化 隐藏款概率、抽盒记录上链存证&#xff0c;用户可随时查询历史数据。某欧美用户通过区块链浏览器验证&#xff0c;确认系统隐…

PyTorch Tensor 操作入门:转换、运算、维度变换

目录 1. Tensor 与 NumPy 数组的转换 1.1 Tensor 转换为 NumPy 数组 1.2 NumPy 数组转换为 Tensor 1.3 获取单个元素的值 2. Tensor 的基本运算 2.1 生成新 Tensor 的运算 2.2 覆盖原 Tensor 的运算 2.3 阿达玛积&#xff08;逐元素乘法&#xff09; 2.4 矩阵乘法 3.…

CompletableFuture使用详解(Super Detailed)

一、 CompletableFuture介绍 多线程开发一般使用Runnable&#xff0c;Callable&#xff0c;Thread&#xff0c;FutureTask&#xff0c;ThreadPoolExecutor&#xff0c;但也有不近如意的地方 Thread Runnable&#xff1a;执行异步任务&#xff0c;没有返回结果。 Thread Calla…

开源 Arkts 鸿蒙应用 开发(六)数据持久--文件和首选项存储

文章的目的为了记录使用Arkts 进行Harmony app 开发学习的经历。本职为嵌入式软件开发&#xff0c;公司安排开发app&#xff0c;临时学习&#xff0c;完成app的开发。开发流程和要点有些记忆模糊&#xff0c;赶紧记录&#xff0c;防止忘记。 相关链接&#xff1a; 开源 Arkts …

【Bluedroid】蓝牙协议栈控制器能力解析与核心功能配置机制(decode_controller_support)

本文围绕Bluedroid蓝牙协议栈中控制器能力解析与核心功能配置的关键代码展开&#xff0c;详细阐述蓝牙协议栈如何通过解析控制器硬件能力&#xff0c;构建 SCO/eSCO、ACL 数据包类型支持掩码&#xff0c;配置链路策略、安全服务、查询与扫描模式等核心功能。这些机制确保协议栈…

小架构step系列07:查找日志配置文件

1 概述 日志这里采用logback&#xff0c;其为springboot默认的日志工具。其整体已经被springboot封装得比较好了&#xff0c;扔个配置文件到classpath里就能够使用。 但在实际使用中&#xff0c;日志配置文件有可能需要进行改动&#xff0c;比如日志的打印级别&#xff0c;平…

一文讲清楚React Hooks

文章目录一文讲清楚React Hooks一、什么是 React Hooks&#xff1f;二、常用基础 Hooks2.1 useState&#xff1a;状态管理基本用法特点2.2 useEffect&#xff1a;副作用处理基本用法依赖数组说明2.3 useContext&#xff1a;上下文共享基本用法特点三、其他常用 Hooks3.1 useRed…

Apache http 强制 https

1. 修改一下文件配置 sudo nano /etc/apache2/sites-enabled/000-default.conf<VirtualHost *:80>ServerName hongweizhu.comServerAlias www.hongweizhu.comServerAdmin webmasterlocalhostDocumentRoot /var/www/html# 强制重定向到HTTPSRewriteEngine OnRewriteCond …

【读代码】GLM-4.1V-Thinking:开源多模态推理模型的创新实践

一、基本介绍 1.1 项目背景 GLM-4.1V-Thinking是清华大学KEG实验室推出的新一代开源视觉语言模型,基于GLM-4-9B-0414基础模型构建。该项目通过引入"思维范式"和强化学习课程采样(RLCS)技术,显著提升了模型在复杂任务中的推理能力。其创新点包括: 64k超长上下文…

从代码生成到智能运维的革命性变革

AI大模型重塑软件开发&#xff1a;从代码生成到智能运维的革命性变革 希望对大家有一定的帮助&#xff0c;进行参考 目录AI大模型重塑软件开发&#xff1a;从代码生成到智能运维的革命性变革 希望对大家有一定的帮助&#xff0c;进行参考一、范式转移&#xff1a;软件开发进入&…

豆包编写Java程序小试

今天下载了一本第四版电气工程师手册&#xff0c;非常棒的一本书&#xff0c;在给PDF添加目录的时候&#xff0c;由于目录有将近60页&#xff0c;使用老马开发的PdgCntEditor有点卡顿&#xff0c;不过补充下&#xff0c;老马这个PdgCntEditor还是非常好的。所以我决定用Java编一…

SpringBoot整合腾讯云新一代行为验证码

一 产品介绍 腾讯云官方介绍链接 腾讯云新一代行为验证码&#xff08;Captcha&#xff09;&#xff0c;基于十道安全防护策略&#xff0c;为网页、App、小程序开发者打造立体、全面的人机验证。在保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时&…

SenseGlove新一代外骨骼力反馈手套Rembrand来袭!亚毫米级手部动捕+指尖触觉力采集+5Dof主动力反馈多模态

在远程机器人操作领域&#xff0c;精准的触觉感知与灵活的动作控制始终是核心需求。SenseGlove 新推出的 Rembrandt 力反馈外骨骼数据手套&#xff0c;以先进技术为支撑&#xff0c;为远程操控人形机器人手部提供了无缝解决方案&#xff0c;让操作更精准、更高效。值得一提的是…

Linux 信号机制:操作系统的“紧急电话”系统

想象一下&#xff0c;你正在电脑前专心工作&#xff0c;突然手机响了——这是一个通知&#xff0c;要求你立即处理一件新事情&#xff08;比如接电话&#xff09;。 Linux 系统中的信号&#xff08;Signal&#xff09;​​ 机制&#xff0c;本质上就是操作系统内核或进程之间用…