如何写好合同管理系统需求分析
引言
在当今企业数字化转型的浪潮中,合同管理系统作为企业法律合规和商业运营的重要支撑工具,其需求分析的准确性和完整性直接关系到系统建设的成败。本文基于Volere需求过程方法论,结合江铃汽车集团合同管理系统需求规格说明书实践案例,系统性地阐述如何撰写高质量的合同管理系统需求分析文档。通过5000余字的详细解析,将从需求分析的理论框架到具体实践,从功能需求到非功能需求,全面覆盖合同管理系统需求分析的各个关键环节,为需求分析师、产品经理和系统架构师提供一套可操作的需求分析指南。
一、需求分析理论基础与Volere方法概述
1.1 需求分析的重要性
需求分析是软件开发生命周期中最关键的阶段之一,据统计,约56%的软件项目失败直接归因于需求问题。对于合同管理系统这类涉及企业核心业务流程和法律合规性的系统,需求分析的重要性更为突出:
- 业务复杂性:合同管理涉及法务、财务、采购等多部门协作,业务流程复杂
- 合规性要求:系统必须符合《合同法》《电子签名法》等法律法规要求
- 风险控制:合同履行过程中的风险点需要通过系统进行有效管控
- 数据安全:合同数据通常包含企业核心商业机密,安全性要求高
1.2 Volere需求过程方法论
Atlantic System Guild公司提出的Volere需求过程是现代需求工程的典范方法,其核心是通过结构化的需求捕获和分析技术,确保需求的完整性、一致性和可验证性。Volere方法的主要特点包括:
- 需求分类体系:将需求分为功能性需求、非功能性需求、约束条件等类别
- 需求记录卡:为每个需求项提供标准化的描述模板
- 验收标准:每个需求都必须有明确的验收验证方法
- 追踪机制:建立需求与设计、测试之间的可追踪关系
在江铃集团合同管理系统项目中,我们采用了Volere方法的精简版框架,结合企业实际情况进行了适当调整,取得了良好的效果。
二、合同管理系统需求分析框架
2.1 产品目标定义
2.1.1 项目背景与用户问题
根据江铃集团项目文档,合同管理系统建设的背景主要包括:
- 业务痛点:原有合同管理依赖纸质文档和Excel表格,存在版本混乱、审批效率低、履约跟踪困难等问题
- 合规要求:集团上市监管要求加强合同全生命周期管理
- 效率提升:年合同量超过5000份,急需数字化手段提升管理效率
2.1.2 产品目标陈述
采用Volere模板中的"一句话目标"方法,江铃合同管理系统的目标可表述为:
“构建一个覆盖合同起草、审批、签署、履行、变更、归档全生命周期的数字化管理平台,实现合同标准化、流程自动化、风险可控化和分析智能化,提升集团合同管理效率和风险防控能力。”
该目标符合SMART原则:
- Specific:明确限定在合同管理领域
- Measurable:可通过合同处理时效、异常合同比例等指标衡量
- Achievable:基于现有技术可实现
- Relevant:与集团数字化战略高度相关
- Time-bound:一期项目有明确时间节点
2.2 利益相关者分析
2.2.1 客户与顾客
- 客户(付费方):江铃集团信息部
- 顾客(使用者):集团法务部、财务部、采购部等合同相关业务部门
2.2.2 其他利益相关者
根据Volere分类和江铃项目实际情况,识别出以下关键利益相关者:
角色类型 | 具体部门/岗位 | 关注点 |
---|---|---|
业务领域专家 | 法务部合规岗 | 合同条款合规性 |
系统开发者 | 山西肇新科技有限公司 | 技术可行性 |
测试人员 | QA团队 | 需求可验证性 |
终端用户 | 合同经办人 | 操作便捷性 |
管理层 | 集团高管 | 管理决策支持 |
2.3 用户角色分析
合同管理系统的用户具有角色多样、权限差异大的特点,需进行详细分类:
2.3.1 用户分类与特征
用户分类 | 工作职责 | 技术能力 | 使用频率 |
---|---|---|---|
合同经办人 | 起草、发起合同 | 一般办公软件熟练 | 高 |
部门审批人 | 业务条款审核 | 中等IT能力 | 中 |
法务专员 | 法律条款审核 | 法律专业知识 | 中 |
财务人员 | 付款条款审核 | 财务系统经验 | 中 |
系统管理员 | 系统配置维护 | 专业技术强 | 低 |
高层领导 | 重大合同审批 | 基础IT能力 | 低 |
2.3.2 用户优先级划分
- 关键用户:合同经办人、法务专员(直接影响系统使用效果)
- 次要用户:部门审批人、财务人员(必要但不决定系统成败)
- 不重要用户:临时查询人员(偶尔使用)
三、需求约束条件分析
4.1 解决方案限制条件
基于江铃项目文档,系统需满足以下强制性约束:
- 组织架构同步:需与现有IAM系统集成,组织人员信息以IAM为准
- 权限模型:必须采用RBAC(基于角色的访问控制)模型
- 安全标准:符合集团信息安全三级等保要求
- 移动办公:支持企业微信集成,实现移动审批
4.2 实现环境约束
环境类型 | 具体约束 |
---|---|
硬件环境 | 部署于集团私有云VMware集群 |
软件环境 | Oracle 12c数据库,JDK1.8 |
网络环境 | 集团内网专线,与互联网物理隔离 |
物理环境 | 集团数据中心托管 |
4.3 伙伴应用集成
系统名称 | 集成方式 | 数据流向 |
---|---|---|
IAM系统 | WebService | 组织人员数据同步 |
ERP系统 | 数据库视图 | 供应商/客户数据 |
财务系统 | 标准接口 | 付款状态更新 |
企业微信 | API | 待办消息推送 |
4.4 商业组件(COTS)要求
- 电子签章:必须支持法大大或e签宝
- OCR识别:集成文通或ABBYY引擎
- 全文检索:基于Elasticsearch实现
4.5 项目限制条件
- 时间约束:一期项目周期6个月
- 预算约束:总投入不超过150万元
- 资源约束:需复用现有硬件资源
四、核心功能需求分析
4.1 功能性需求建模
采用"用户故事+验收标准"的方式描述核心功能需求:
人员组织管理模块
需求4.1.1:部门信息管理
- 用户故事:作为系统管理员,我需要维护组织架构信息,以便合同审批流能按正确组织层级流转
- 验收标准:
- 可展示树形组织架构
- 支持部门增删改查操作
- 与IAM系统实时同步
- 部门删除前校验无关联合同
需求4.1.2:角色权限管理
- 用户故事:作为法务主管,我需要配置不同角色的合同访问权限,确保敏感合同只能被授权人员查看
- 验收标准:
- 支持角色创建并关联菜单/按钮权限
- 可设置数据权限(如仅查看本部门合同)
- 权限变更实时生效
- 提供权限测试工具
合同全生命周期管理
需求4.1.3:合同起草
- 用户故事:作为采购专员,我需要通过模板快速起草采购合同,减少重复工作
- 验收标准:
- 提供标准合同模板库
- 支持条款智能推荐
- 自动生成合同编号
- 保存草稿功能
需求4.1.4:合同审批
- 用户故事:作为部门经理,我需要审批本部门发起的合同,确保业务条款合规
- 验收标准:
- 支持多级审批流配置
- 可添加审批意见
- 支持审批委托
- 审批超时自动提醒
4.2 数据需求分析
核心业务实体
- 合同实体:
- 属性:合同编号、名称、类型、金额、签约方、生效日期、状态等
- 关系:与审批流程、履行计划、附件关联
- 履行节点:
- 属性:节点名称、计划日期、实际日期、责任人、状态
- 规则:逾期自动触发提醒
数据字典
建立统一数据字典确保术语一致性:
术语 | 定义 | 同义词 |
---|---|---|
相对方 | 合同签约对方 | 签约方、客户 |
履约节点 | 合同约定的关键履行时点 | 里程碑 |
合同变更 | 对已签署合同的修改 | 补充协议 |
五、非功能性需求分析
5.1 性能需求
指标 | 要求 | 测试方法 |
---|---|---|
响应时间 | 常规操作<2s | JMeter压测 |
并发用户 | 支持500并发 | 负载测试 |
数据容量 | 存储5年合同数据 | 容量规划 |
5.2 安全需求
- 认证安全:
- 支持AD域集成认证
- 密码复杂度策略
- 登录失败锁定
- 数据安全:
- 合同文档加密存储
- 敏感字段脱敏显示
- 完整操作审计日志
5.3 可靠性需求
- 可用性:99.9%(年度宕机<8.7小时)
- 数据完整性:事务回滚机制
- 灾备恢复:RTO<4小时,RPO<15分钟
5.4 合规性需求
- 法律合规:
- 符合《电子签名法》要求
- 满足上市公司内控指引
- 标准符合:
- 遵循GB/T 22239-2019等保要求
- 符合集团IT架构标准
六、需求验证与管理
6.1 需求验证方法
- 原型验证:通过Axure制作交互原型,早期确认需求理解
- 用例评审:组织跨部门用例走查会议
- 测试用例:需求阶段即编写验收测试用例
6.2 需求变更管理
- 变更流程:
- 变更申请→影响分析→CCB评审→实施跟踪
- 变更影响矩阵:
- 评估对范围、进度、成本的影响
- 版本控制:
- 采用Git管理需求文档版本
七、合同管理系统需求分析常见问题
7.1 典型问题分析
- 业务流程割裂:
- 问题:仅关注合同签署环节,忽视履行跟踪
- 解决:端到端分析全生命周期
- 权限设计不足:
- 问题:简单权限模型无法满足复杂场景
- 解决:采用RBAC+ABAC混合模型
- 集成考虑不周:
- 问题:忽视与财务、ERP系统的集成
- 解决:早期识别集成接口需求
7.2 需求分析最佳实践
- 用户访谈技巧:
- 准备问题清单但保持开放
- 关注"为什么"而非"怎么做"
- 记录典型用户原话
- 需求优先级排序:
- 采用MoSCoW法(Must have, Should have, Could have, Won’t have)
- 结合Kano模型分析用户满意度
- 需求文档编写:
- 使用统一模板确保完整性
- 需求编号可追踪
- 每个需求独立可测试
八、案例解析:江铃项目需求亮点
8.1 工作交接机制
江铃需求文档中"工作交接"功能设计体现了对用户实际工作场景的深入理解:
- 场景覆盖全面:
- 人员离职
- 岗位调整
- 临时授权
- 数据完整性保障:
- 合同历史可追溯
- 任务不丢失
- 操作便捷性:
- 批量交接
- 交接记录可查
8.2 合同字段动态配置
通过"合同字段管理"功能实现灵活扩展:
- 字段类型丰富:
- 文本、数字、日期
- 下拉列表、附件
- 校验规则可配:
- 必填校验
- 格式校验
- 逻辑校验
- 界面表现控制:
- 显示/隐藏
- 只读控制
- 标签自定义
结论
高质量的合同管理系统需求分析需要方法论指导与实践经验相结合。通过应用Volere需求过程,结合江铃集团等实际项目经验,我们可以总结出以下关键成功要素:
- 结构化分析:采用标准模板确保需求完整性
- 用户为中心:深入理解各类用户实际工作场景
- 全生命周期视角:覆盖合同从生到死的各个环节
- 平衡兼顾:功能需求与非功能需求并重
- 可验证性:每个需求都有明确的验收标准
- 可追溯性:建立需求与设计、测试的追踪关系
随着合同管理数字化程度不断提高,AI、区块链等新技术将为合同管理系统带来更多创新可能。需求分析师需要持续关注技术发展和业务变革,不断优化需求分析方法,为企业构建更智能、更高效的合同管理解决方案。
本文参考山西肇新科技有限公司的文档江铃汽车集团合同管理系统需求规格说明书。
PS:江铃集团的项目是我到公司干的第一个活,也是我印象最深的一个项目。后续我会陆续写一些关于江铃集团合同管理项目的经历。也会陆续放出一些东西让大家参考。虽然过时,但还是有借鉴意义的。也欢迎大家来和我探讨。
相关文章:
如何写好合同管理系统需求分析
引言 在当今企业数字化转型的浪潮中,合同管理系统作为企业法律合规和商业运营的重要支撑工具,其需求分析的准确性和完整性直接关系到系统建设的成败。本文基于Volere需求过程方法论,结合江铃汽车集团合同管理系统需求规格说明书实践案例&…...
C语言自定义类型详解一:结构体(内存对齐)
结构体的声明: 结构体是一些值的集合,这些值是成员变量,结构体的每个成员可以是不同类型的变量(包括其他结构体变量) 类如:描述一个学生 struct Stu {char name[200];int age;char sex[5];//性别char id…...
GitHub配置密钥
1.生成SSH密钥 1)检查 SSH 密钥是否存在 首先,确认是否已经在本地系统中生成了 SSH 密钥对。可以通过以下命令检查: ls -al ~/.ssh 在命令输出中,应该能看到类似 id_rsa 和 id_rsa.pub 这样一对文件。如果这些文件不存在&#…...
PyTorch逻辑回归总结
目录 PyTorch逻辑回归总结神经网络基础基本结构学习路径 线性回归简单线性回归多元线性回归 逻辑回归核心原理损失函数 梯度下降法基本思想关键公式学习率影响 PyTorch实现数据准备模型构建代码优化 核心概念对比 PyTorch逻辑回归总结 神经网络基础 基本结构 输入节点隐藏节…...
Browser-use 是连接你的AI代理与浏览器的最简单方式
AI MCP 系列 AgentGPT-01-入门介绍 Browser-use 是连接你的AI代理与浏览器的最简单方式 AI MCP(大模型上下文)-01-入门介绍 AI MCP(大模型上下文)-02-awesome-mcp-servers 精选的 MCP 服务器 AI MCP(大模型上下文)-03-open webui 介绍 是一个可扩展、功能丰富且用户友好的…...
nginx自编译重现gzip和chunked的现象
前言 最近做项目,发现一个比较好玩的事,nginx的module gzip模式默认支持1KB压缩,和chunked返回,本来现在的很多框架都很完善了,但是,一些新语言框架或者一些老旧框架会不能完整支持chunked,导致…...
RNN - 循环神经网络(概念介绍)
RNN 潜变量自回归模型 使用潜变量 h t h_t ht 总结过去信息 p ( h t ∣ h t − 1 , x t − 1 ) p(h_t | h_{t-1}, x_{t-1}) p(ht∣ht−1,xt−1) p ( x t ∣ h t , x t − 1 ) p(x_t | h_t, x_{t-1}) p(xt∣ht,xt−1) 循环神经网络 更新隐藏状态࿱…...
OpenCV的详细介绍与安装(一)
1.OpenCV概述 OpenCV是一个开源的计算机视觉和机器学习软件库, 它轻量级而且高效——由一系列 C 函数和少量 C 类构成,它支持多种编程语言(如C、Python、Java),并可在Windows、Linux、macOS、Android和iOS等平台上运行…...
50、Spring Boot 详细讲义(七) Spring Boot 与 NoSQL
七 Spring Boot 与 NoSQL 目录 MongoDB 集成Redis 集成Elasticsearch 集成1、 MongoDB 集成 1.1 MongoDB 概述 1.1.1 MongoDB 的基本概念 文档型数据库: 数据存储为类似 JSON 的文档结构(BSON 格式)。每个文档由字段和值对组成,类似于键值对。支持嵌入式文档和数组,灵活…...
微信小程序组件传参
微信小程序组件传参感觉和vue还是挺像的 父组件向子组件传参 在小程序中父组件子组件传参,主要使用properties属性。演示下: 创建组件文件夹component,创建组件demoComponent,记得创建的时候选择组件,不是page页面 …...
C++实用函数:bind
本篇来介绍了C++中bind功能。 1 std::bind 在 C++ 里,std::bind 是一个函数模板,其作用是创建一个可调用对象,该对象可绑定到一组参数上。std::bind 的函数原型如下: template< class F, class... Args > /*unspecified*/ bind( F&& f, Args&&...…...
C# 程序结构||C# 基本语法
原文:C# 程序结构_w3cschool (注:本文为教程文章,请勿标记为付费文章!特此声明) 本节我们将学习 C# 编程语言的结构,为了让大家能够对 C# 程序结构有个更好的理解,我们会先演示一个…...
分库分表-除了hash分片还有别的吗?
在分库分表的设计中,除了常见的 Hash 分片,还有多种策略根据业务场景灵活选择。以下是几种主流的分库分表策略及其应用场景、技术实现和优缺点分析,结合项目经验(如标易行投标服务平台的高并发场景)进行说明: 一、常见分库分表策略 1. 范围分片(Range Sharding) 原理:…...
单片机非耦合业务逻辑框架
在小型单片机项目开发初期,由于业务逻辑相对简单,我们往往较少关注程序架构层面的设计。 然而随着项目经验的积累,开发者会逐渐意识到模块间的耦合问题:当功能迭代时,一处修改可能引发连锁反应。 此时,构…...
WordPress - 此站点出现严重错误
本篇讲 当WordPress出现 此站点出现严重错误 时,该如何解决。 目录 1,现象 2, FAQ 3,管理Menu无法打开 下面是详细内容。 1,现象 此站点出现严重错误(このサイトで重大なエラーが発生しました&#x…...
Java EE(8)——线程安全总结(翻新版)——定时器(Timer)线程池(ThreadPoolExecutor)
1.Timer 1.1Timer基本介绍 1.Timer的主要作用 任务调度:Timer允许你安排一个任务在未来的某个时间点执行,或者以固定的间隔重复执行 后台执行:Timer可以使用一个后台线程来执行任务,这意味着调度和执行任务不会阻塞主线程(主线程…...
#[特殊字符]Rhino建模教程 · 第一章:正方体建模入门
🦏Rhino建模教程 第一章:正方体建模入门 本章将从最基础的操作入手,带你一步步掌握Rhino建模的核心流程,适合新手或需要复习基础的用户。 🎯 目标:制作一个带凹槽、圆角、封盖的正方体模型,并…...
How to run ERSEM
Build ERSEM Make a “build” folder, and go into the build folder. Create “build_archer2.edit.sh” #!/usr/bin/env bash# Script for compiling FVCOM-FABM-ERSEM for ARCHER2 # # The build is split into three phases: # # 1) Build the FABM-ERSEM library. Her…...
关于QT5项目只生成一个CmakeLists.txt文件
编译器自动检测明明可以检测,Kit也没有报红 但是最后生成项目只有一个文件 一:检查cmake版本,我4.1版本cmake一直报错 cmake3.10可以用 解决之后还是有问题 把环境变量加上去:...
C++ string类
1.标准库中的string类 在 C 里,string类属于标准库的一部分,它在<string>头文件中定义,用于处理和操作字符串。 1.1string类的常用接口说明 1.1.1. string类对象的常见构造 string() (重点) 构造空的string类…...
如何使用ChatGPT撰写短视频爆款文案
短视频已经成为了互联网内容消费的重要形式,吸引观众的眼球成为内容创作者的首要任务。在短视频平台的内容过载中,如何写出一篇能够迅速吸引观众点击、分享并获得高互动的爆款文案,是每个短视频创作者都在追求的目标。今天,我们将…...
基于Tesseract与Opencv的电子发票识别[1]
本文我们将尝试使用tesseract识别电子发票上的信息并不断提高识别准确率,是一个逐渐调整的过程,仅用于记录研究过程。 图像识别:使用tesseract识别。图像预处理:使用OpenCV等图像处理库对发票图像进行预处理,如灰度化…...
数据库—函数笔记
一,数据库函数的分类 内置函数(Built-in Functions) 数据库系统自带的函数,无需额外定义即可直接调用。 聚合函数:对数据集进行计算(如 SUM, AVG, COUNT)。 字符串函数:处理文本数据…...
产品研发流程说明记录
1. 前言 在小型公司,产品研发流程通常较为简单,需求提出后经过简单评审便直接开发上线。而在中大型互联网公司,研发流程更加规范和系统,涉及多部门协作和多环节把控。本文将详细介绍一个标准的产品需求研发流程,帮助相…...
智慧城市:如同为城市装上智能大脑,开启智慧生活
智慧城市的概念随着信息技术的飞速发展而逐渐兴起,它通过集成物联网、大数据、人工智能和数字孪生等先进技术,为城市管理和居民生活带来了前所未有的智能化变革。本文将深入探讨这些核心技术及其在智慧城市的典型应用场景,展示智慧城市如何提…...
游戏测试入门知识
高内聚指的是一个模块或组件内部的功能应该紧密相关。这意味着模块内的所有元素都应该致力于实现同一个目标或功能,并且该模块应当尽可能独立完成这一任务。 低耦合则是指不同模块之间的依赖程度较低,即一个模块的变化对其它模块造成的影响尽可能小。理…...
Sentinel源码—2.Context和处理链的初始化二
大纲 1.Sentinel底层的核心概念 2.Sentinel中Context的设计思想与源码实现 3.Java SPI机制的引入 4.Java SPI机制在Sentinel处理链中的应用 5.Sentinel默认处理链ProcessorSlot的构建 4.Java SPI机制在Sentinel处理链中的应用 (1)初始化Entry会初始化处理链 (2)初始化处…...
Java基础第20天-JDBC
JDBC为访问不同的数据库提供了统一的接口,为使用者屏蔽了细节问题,程序员使用JDBC可以连接任何提供了JDBC驱动程序的数据库系统,从而完成对数据库的各种操作 ResultSet 表示数据库结果集的数据表,通常通过执行查询数据库的语句生…...
VMware下Ubuntu空间扩容
目的: Ubuntu空间剩余不足,需要对Ubuntu进行扩容。 使用工具: 使用Ubuntu系统中的gparted工具进行系统扩容。 前提: 1、电脑有多余的未分配磁盘空间,比如我的Ubuntu磁盘G盘是200G,现在快满了,…...
第十一章 网络编程
在TCP/IP协议中,“IP地址TCP或UDP端口号”唯一标识网络通讯中的一个进程。 因此可以用Socket来描述网络连接的一对一关系。 常用的Socket类型有两种:流式Socket(SOCK_STREAM)和数据报式Socket(SOCK_DGRAM)…...
Bad Request 400
之前一直以为400就是前端代码有问题 这下遇到了,发现是因为前后端不一致 后端代码注意:现在我写的int 前端请求 原因 :前后端不一致 💡 问题核心:后端 amount 类型是 int,但前端传了小数 237.31...
行业深度:金融数据治理中的 SQL2API 应用创新
金融行业作为数据密集型领域,面临着监管合规要求严苛、数据交互频次高、安全风险防控难度大等多重挑战。SQL2API 技术通过 “数据服务化 合规化” 的双重赋能,成为金融机构破解数据治理难题的核心工具,在多个关键场景实现突破性创新。 &…...
记录学习的第二十六天
还是每日一题。 今天这道题有点难度,我看着题解抄的。 之后做了两道双指针问题。 这道题本来是想用纯暴力做的,结果出错了。😓...
MySQLQ_数据库约束
目录 什么是数据库约束约束类型NOT NULL 非空约束UNIQUE 唯一约束PRIMARY KEY主键约束FOREIGN KEY外键约束CHECK约束DEFAULT 默认值(缺省)约束 什么是数据库约束 数据库约束就是对数据库添加一些规则,使数据更准确,关联性更强 比如加了唯一值约束&#…...
数据库ocp证书是什么水平
专业知识与技能:OCP 证书是对持证人在 Oracle 数据库管理、安装、配置、性能调优、备份恢复等方面专业知识和技能的权威认证。它要求考生通过一系列严格的考试,包括理论知识和实际操作能力的考核,以证明其具备扎实的 Oracle 数据库专业知识和…...
1022 Digital Library
1022 Digital Library 分数 30 全屏浏览 切换布局 作者 CHEN, Yue 单位 浙江大学 A Digital Library contains millions of books, stored according to their titles, authors, key words of their abstracts, publishers, and published years. Each book is assigned an u…...
基于Python的PC控制Robot 小程序开发历程
1、Background:用万能语言Python进行Robot 的控制一直以来是我想做的事,刚好有机会付诸实践。Just Do It~ 2、Python 代码编写: import socket import time HOST "192.168.0.1" #IP PORT 2008 #Por…...
Coze平台技术解析:零代码AI开发与智能体应用实践
【资源软件】 伏脂撺掇蒌葶苘洞座 /835a36NvQn😕 链接:https://pan.quark.cn/s/5180c62aacf7 「微信被删好友检测工具」筷莱坌教狴犴狾夺郝 链接:https://pan.quark.cn/s/fe4976448ca1 HitPaw Watermark Remover 链接:https://pan…...
在 K8s 上构建和部署容器化应用程序(Building and Deploying Containerized Applications on k8s)
在 Kubernetes 上构建和部署容器化应用程序 Kubernetes 是一个用于管理容器化工作负载和服务的开源平台。它提供了一个强大的框架来自动化部署、扩展和管理容器化应用程序。本博客将指导您完成在 Kubernetes 上构建和部署容器化应用程序的过程,重点介绍技术方面并使…...
【教程】如何使用Labelimg查看已经标注好的YOLO数据集标注情况
《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】3.【手势识别系统开发】4.【人脸面部活体检测系统开发】5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】7.【…...
**Windows 系统**的常用快捷键大全
以下是 Windows 系统的常用快捷键大全,涵盖日常操作、文件管理、窗口控制、系统功能等,助你大幅提升效率: 一、基础系统操作 Win:打开/关闭「开始菜单」Win E:打开「文件资源管理器」Win D:一键显示桌面…...
L1-025 正整数A+B
L1-025 正整数AB L1-025 正整数AB - 团体程序设计天梯赛-练习集 (pintia.cn) 题解 第一次做这道题时,没有注意到num1 和 num2 是在区间 [1, 1000] 内,num1和num2的长度应该是4位数并且num1和num2不能等于0,num1和num2不能大于1000。这两个…...
Go 语言的 map 在解决哈希冲突时,主要使用了链地址法同时参考了开放地址法的思想即每个桶的 8个 key val对是连续的
总结一下 Go map 的哈希冲突解决机制。 1. 哈希表结构: Go 语言的 map 底层有两个主要结构:hmap 和 bmap,它们分别负责管理整个 map 的元数据和存储键值对的桶。 hmap:包含 map 的元数据,如桶的数量、已插入的键值对…...
未支付订单如何释放库存
在电商或交易系统中,处理未支付订单的库存释放是典型的高并发场景问题。以下是结合 Java 技术栈的完整解决方案,涵盖 设计思路、技术实现、容错机制,并基于实际项目经验(如标易行平台的标书资源预约场景)进行分析: 一、核心设计原则 最终一致性:确保库存释放与订单状态的…...
HDFS Full Block Report超限导致性能下降的原因分析
文章目录 前言发现问题失败的为什么是FBR块汇报频率的变化为什么FBR会反复失败HDFS性能下降导致Yarn负载变高的形式化分析理解线程理解IO Wait理解HDFS性能下降导致Yarn负载和使用率增高 引用 前言 我们的Yarn Cluster主要用来运行一批由Airflow定时调度的Spark Job࿰…...
[Java实战经验]链式编程与Builder模式
目录 链式编程Builder模式 链式编程 链式编程(Fluent AP)是一种编程风格,它通过在同一个对象上连续调用多个方法来执行一系列操作(让方法返回对象本身(return this))。这种风格的编程使代码更加…...
TypeScript 快速上手--禹神
TypeScript 快速上手 🪩 禹神:三小时快速上手TypeScript,TS速通教程_哔哩哔哩_bilibili ⼀、TypeScript 简介 TypeScript 由微软开发,是基于 JavaScript 的⼀个扩展语⾔。 TypeScript 包含了 JavaScript 的所有内容,即: TypeScript 是 Jav…...
YOLOv2 快速入门与核心概念:更快、更准的目标检测利器
今天,我们就来聊聊 YOLO 系列的第二代—— YOLOv2,看看它是如何在速度的基础上,进一步提升检测精度的。 目标检测的重要性:让机器“看懂”世界 想象一下,自动驾驶汽车需要实时识别道路上的车辆、行人、交通标志&…...
Differentiable Micro-Mesh Construction 论文阅读
信息 2024 CVPR 论文地址 摘要 本文提出了一个可微分框架,用于将标准网格转换为Micro-mesh( μ \mu μ-mesh)这种非常高效的格式,与以前基于阶段的方法相比,提供了一个整体方案。 本文的框架为高质量的 μ \mu μ 网格生产提供了许多优势&…...
groovy运行poi包处理xlsx文件报NoClassDefFoundError
背景:简单的在java上运行poi包处理xlsx文件,正常解析。使用groovy执行相关xlsx文件解析的程序时,报错。报错日志: java.lang.NoClassDefFoundError: org/openxmlformats/schemas/spreadsheetml/x2006/main/CTExtensionList poi版…...