论软件需求管理

目录

 

摘要(300~330字)

正文(2000~2500字,2200字为宜)

背景介绍(500字做左右)

论点论据(1500字做左右)

收尾(200字左右)


注:本篇论文篇幅稍长,您可以适当删减。

 

摘要(300~330字)

本文以我参与的“xx省健康促进与教育信息化平台”系统项目建设为例,讨论软件开发中需求管理的有关知识及实际应用过程。该系统项目基于相关部门为进一步落实健康中国行动有关要求而建设,目标是通过建立一个服务于全省疾控系统和居民的信息化平台系统,通过线上线下相结合的方式,全面提示疾控系统健康促进与教工作效率及居民健康素养。项目的特点是用户范围广、业务复杂、质量要求高。我作为该项目团队的骨干人员,主要负责需求分析、架构设计和部分项目管理工作。本文首先介绍了需求管理的基本概念,然后介绍了需求管理中的主要活动及在项目中的实际运用,最后介绍了规范化的需求管理对项目的顺利实施带所来的帮助。

 

正文(2000~2500字,2200字为宜)

背景介绍(500字做左右)

2023年8月,为进一步落实国家关于健康中国行动中对“实施健康知识普及行动”、“建立并完善健康科普专家库和资源库”、“构建健康科普知识传播和发布机制”、“全面提升健康素养”等要求,某省疾控中心开始启动范围覆盖全省的健康促进与教育信息平台系统项目建设工作,目标是通过建立一个健康信息化平台,通过线上线下相结合的方式,全面提升疾控系统健康促进与教育工作效率和居民健康素养水平。系统的包括两部分,一是建立服务于全省疾控系统的健康促进与教育工作信息平台,二是建立服务于居民的健康知识宣教平台。其中前者又包括健康资源库管理平台、健康促进工作业务协同平台、健康教育作品发布与审核平台、在线培训与考核平台,而后者主要包括由发布健康教育知识的网站和微信小程序组成。项目金额260万,要求在6个月内开发完成并上线。

 经公开招标,我所在公司最终中标该项目,我作为公司骨干技术人员之一,被指定参与该项目建设,并负责需求分析、架构设计和部分项目管理工作。

经需求调研我了解到,该项目主要特点是用户范围广、用户量大、业务复杂,同时由于政策及各科室业务的多边性,该项目的需求可能会经常进行变更。客户对项目质量要求较高,并着重提出,项目应具备较高的可修改性,能快速响应需求的变化。基于此,为了保证项目质量,除了精准的需求分析、良好的架构设计等SQA主要活动之外,我特别关注项目的需求管理工作,因为良好的需求管理是保证项目后期质量的重要手段,也是提升客户满意度的重要举措。本文中,我会详细介绍需求管理的概念、需求管理的活动及需求管理在项目中的实际运用。

 

论点论据(1500字做左右)

论点

软件需求管理是一个对系统需求变更了解和控制的过程,需求管理过程与需求开发过相互关联,初始需求导出的同时就要形成需求管理规划。一旦形成了需求文档的初稿,需求管理活动就开始了。

需求管理主要包含变更控制、版本控制、需求跟踪和需求状态跟踪等四项活动。

 

变更控制

在当前的软件开发活动中,需求变更已经成为一种常态。需求变更主要包括四项工作:

  1. 问题分析和变更描述。当客户提出一项需求变更提议后,需要系统分析人员与客户进行进一步的沟通,全面分析问题,对变更背后的原因进行探究,明确变更对系统现有模块及业务的影响,进而更加清晰的描述需求变更对于功能、性能、界面等方面的具体要求,使大家对需求变更有清晰而一直的理解。
  2. 变更分析和成本计算。组织技术专家、分析人员等对客户所提出的需求进一步的分析,评估需求变更对项目的系统架构、数据库结构、代码逻辑等方面的的影响,同时从人力、物力、时间等方面估算变更所需要付出的成本,计算成本效益比,为领导审批提供依据。
  3. 变更审批。将需求变更及分析结果提交给CCB(变更控制委员会),CCB根据项目整体目标、业务需求优先级、成本效益比等进行综合考虑,决定是否同意需求变更。如果批准,则应明确变更执行责任人员及时间节点要求。
  4. 变更实现。开发团队根据变更提议进行具体的开发及实施工作,完成后,进行单元测试、集成测试、回归测试等工作,确保变更质量。变更上线前更新相关文档资料,确保系统与文档处于一致的状态。

需要说明的是,变更控制并不是给需求变更设置障碍。相反地,他是一个渠道和过滤器,可以确保采纳最合适的变更,使变更对项目的负面影响降到最低。

 

版本控制

版本控制是需求变更管理中的一项重要工作,用于对需求文档的版本和项目代码版本进行管理控制,避免发生混乱,降低失控风险。版本控制的主要工作包括:

1)选择版本控制工具。常见的版本控制工具有Git、SNV、VSS等,用于存储需求文档、代码等资源。通过版本控制工具,可以方便地查看文档、代码的历史版本,对比不同版本之间的差异,还可以将文档、代码恢复到历史版本。

2)制定版本号命名规则。

合理的版本号命名规则可以让人直观地了解需求变更的程度,通常采用主版本号 + 次版本号 + 修订版本号的方式来标识版本,规则如下:如果系统发生了重大变化或不向下兼容的变化,则主版本号递增;如果系统在核心架构不变的情况下增加新的功能或者原有变化的功能不影响和以前的数据和业务,则此版本号递增;修订版本号则主要用于表示系统修复了缺陷,无功能上的变化。

3)变更记录。

每次对需求文档或代码进行修改时,要文档、代码中记录修改的内容、原因、时间、人员等信息,同时在版本控制软件中也要增加变更说明,以备查询。这样可以帮助其他人员了解变更的历史和背景,有利于软件系统的长期维护。

 

需求跟踪

需求跟踪是指在软件开发过程中,建立并维护需求与项目各个阶段的工作产物(如:设计文档、代码模块、测试用例等)之间对应关系的过程,它可以记录需求从提出到实现的完整路径。需求跟踪的具体工作主要包括建立需求跟踪矩阵和需求跟踪检查。

1)建立需求跟踪矩阵。建立需求跟踪矩阵表,将需求与项目各个阶段的工作产物进行关联,并记录每个需求的状态,如“进行中”、“已完成”等。通过需求跟踪矩阵表,可以方便跟踪需求的实现情况,及时发现和解决需求偏差。

2)需求跟踪检查。在项目的各个关键阶段,如设计、开发、测试等阶段,定期对需求跟踪情况进行检查,确保每个需求都需求都按计划进行,没有遗漏或偏差。如有特殊情况暂时无法实现,应在需求跟踪矩阵表中记录清楚。

 

需求状态跟踪

需求状态跟踪是为及时了解每个需求的状态变化,以便及时做出调整。需求状态跟踪的主要活动包括:定义需求状态、状态更新与记录。

  1. 定义需求状态。定义需求的不同的状态,如:待分析、已分析、待开发、已开发、待测试、已测试、已上线、推迟处理。通过定义需求状态,可以对需求全生命周期进行管理。
  2. 需求状态变更与记录。在需求管理的各个阶段,及时更新需求的状态,并记录需求状态变更的原因和时间。通过状态跟踪,可以及时了解每个需求的进度变化情况,及时发现和处理需求管理中的问题。


论据

在项目的实施过程中,我们基于以上指导思想,实施了规范的需求管理。

首先,我们成立需求变更控制委员会(CCB),成员由项目经理、技术骨干、用户代表组成。明确了各自职责、权限以及详细的会议制度和决策机制。所有需求变更都要经CCB审核通过后才能实施。

其次,我们对项目需求变更流程做了统一的规定和培训,确保所有项目人员对变更流程有了清晰和一致的认识。在项目实施过程中,严格按照流程执行。当客户提出一项新的需求提议后,首先由需求分析师对需求进行深入分析,了解变更背后的原因和目的,然后组织技术人员对变更进行进一步评估和成本估算,之后提交CCB审核,审核通过后,及时实现需求并更新需求跟踪文档。

再次,我们确定了版本控制工具、版本号命名规则和需求跟踪矩阵表格样式。使用Git作为版本控制工具,版本号规则遵循主版本号+此版本号+修订版本号这一命名规则,需求跟踪矩阵表上清晰的体现了每个需求与设计文档、测试用例、代码模块之间的关联关系。

最后,我们是使用项目管理工具禅道对需求状态进行管理和监控。每三天开一次项目例会,对各个状态的需求进行统计和分析,及时发现需求管理中存在的问题并做出调整。

 

通过采取以上措施,我们实现了对需求的规范化管理,避免了很多无效需求,对项目顺利通过验收提供了很大的帮助,具体体现在:

有效控制了需求变更。对于符合不有关标准要求的需求变更提议,我们给客户做了解释说明,对于一些不太合理的需求,我们也通过深入分析,为客户提供了更好的解决方案。比如有客户提出,登录密码应该允许纯数字,方便记忆和输入,针对这个需求,我们告诉客户复杂的密码设置是网络安全法和计算等级保护条例的有关要求,不能随意改动;还有客户提出,所有专家的手机号应该在系统中公开,方便联系专家,我们经分析后认为,专家手机号属于高度隐私数据,因此,只能向得到授权的操作人员开放,客户非常认可这种做法,并称赞我们专业。

提高了文档与代码的一致性。通过严格的需求跟踪和版本管理工具,我们实现了需求文档与代码之间的一致性,避免了很多潜在的不利因素,为项目长期维护奠定了基础。

提高了项目质量。严格规范的需求管理,使得最终审评通过的需求都是逻辑合理且描述清晰的,这为开发团队和测试团队执行正确的需求变更提供了重要的依据,确保了工作效率的提升和产出物符合客户需求。

提升客户满意度。由于良好规范的需求管理过程,我们很好的满足客户提出各项需求,最终提高了产品质量,提升了客户满意度。

 

收尾(200字左右)

规范的需求管理是保证项目顺利交付和验收的关键和因素之一。通过有效的变更控制、版本控制、需求跟踪和需求状态跟踪,可很大程度上能提高软件的质量和用户满意度。在本项目中,我们通过一系列有效的需求管理措施,成功实现了软件需求的合理管控,为项目顺利通过验收提供了有力保障。在今后的软件项目开发中,我将继续深入研究和探索需求管理的理论和方法,不断完善需求管理流程和机制,为提高软件项目的开发效率和质量做出更大的贡献。

 

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

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

相关文章

[特殊字符] 如何在比赛前调整到最佳状态:科学与策略结合的优化指

🧠 概述 在竞技体育中,赛前状态的调整对比赛结果起着决定性作用。所谓“最佳状态”,不仅指生理上的巅峰表现,更包括心理、认知、营养和恢复等多方面的协同优化。本文结合运动科学、心理学和营养学的研究成果,探讨赛前…

一种实波束前视扫描雷达目标二维定位方法——论文阅读

一种实波束前视扫描雷达目标二维定位方法 1. 专利的研究目标与实际问题意义2. 专利提出的新方法、模型与公式2.1 运动平台几何建模与回波信号构建2.1.1 距离历史建模2.1.2 回波信号模型2.2 距离向运动补偿技术2.2.1 匹配滤波与距离压缩2.3 加权最小二乘目标函数2.3.1 方位向信号…

基于 Spring Boot 瑞吉外卖系统开发(八)

基于 Spring Boot 瑞吉外卖系统开发(八) 自动填充公共字段 MyBatis-Plus公共字段自动填充,也就是在插入或者更新的时候为指定字段赋予指定的值,使用它的好处就是可以统一对这些字段进行处理,降低了冗余代码的数量。本…

【前端】从零开始的搭建结构(技术栈:Node.js + Express + MongoDB + React)book-management

项目路径总结 后端结构 server/ ├── controllers/ # 业务逻辑 │ ├── authController.js │ ├── bookController.js │ ├── genreController.js │ └── userController.js ├── middleware/ # 中间件 │ ├── authMiddleware…

【RAG】向量?知识库的底层原理:向量数据库の技术鉴赏 | HNSW(导航小世界)、LSH、K-means

一、向量化表示的核心概念 1.1 特征空间与向量表示 多维特征表示:通过多个特征维度(如体型、毛发长度、鼻子长短等)描述对象,每个对象对应高维空间中的一个坐标点,来表示狗这个对象,这样可以区分出不同种…

如何用CSS实现HTML元素的旋转效果

原文:如何用CSS实现HTML元素的旋转效果 | w3cschool笔记 (本文为科普文章,请勿标记为付费) 在网页制作中,为 HTML 元素设置旋转效果可使其更灵动,提升用户体验。本文将深入浅出地介绍如何利用 CSS 实现 H…

Spark集群搭建之Yarn模式

配置集群 1.上传并解压spark-3.1.2-bin-hadoop3.2.tgz,重命名解压之后的目录为spark-yarn。 2. 修改一下spark的环境变量,/etc/profile.d/my_env.sh 。 # spark 环境变量 export SPARK_HOME/opt/module/spark-yarn export PATH$PATH:$SPARK_HOME/bin:$SP…

xLua笔记

Generate Code干了什么 肉眼可见的,在Asset文件夹生成了XLua/Gen文件夹,里面有一些脚本。然后对加了[CSharpCallLua]的变量寻找引用,发现它被XLua/Gen/DelegatesGensBridge引用了。也可以在这里查哪些类型加了[CSharpCallLua]。 public over…

【tcp连接windows redis】

tcp连接windows redis 修改redis.conf 修改redis.conf bind * -::*表示禁用保护模式,允许外部网络连接 protected-mode no

【序列贪心】摆动序列 / 最长递增子序列 / 递增的三元子序列 / 最长连续递增序列

⭐️个人主页:小羊 ⭐️所属专栏:贪心算法 很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~ 目录 摆动序列最长递增子序列递增的三元子序列最长连续递增序列 摆动序列 摆动序列 贪心策略:统计出所有的极大值和极小…

STM32F103C8T6使用MLX90614模块

首先说明: 1.SMBus和I2C的区别 我曾尝试用江科大的I2C底层去直接读取该模块,但是无法成功,之后AI生成的的代码也无法成功。 思来想去最大的可能就是SMBus这个协议的问题,根据百度得到的结果如下: SMBus和I2C的区别 链…

tp5 php获取农历年月日干支甲午

# 切换为国内镜像源 composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/# 再次尝试安装 composer require overtrue/chinese-calendar核心写法一个农历转公历,一个公历转农历 农历闰月可能被错误标记(例如 闰四月 应表示…

Ubuntu搭建Conda+Python开发环境

目录 一、环境说明 1、测试环境为ubuntu24.04.1 2、更新系统环境 3、安装wget工具 4、下载miniconda安装脚本 二、安装步骤 1、安装miniconda 2、source conda 3、验证版本 4、配置pip源 三、conda用法 1、常用指令 一、环境说明 1、测试环境为ubuntu24.04.1 2、更…

Vscode+git笔记

1.U是untracked m是modify modified修改了的。 2.check out 查看观察 3 status changed 暂存区 4.fetch v 取来拿来 5.orangion 起源代表远程分支 git checkout就是可以理解为进入的意思。

模拟SIP终端向Freeswitch注册用户

1、简介 使用go语言编写一个程序,模拟SIP-T58终端在Freeswitch上注册用户 2、思路 以客户端向服务端Freeswitch发起REGISTER请求,告知服务器当前的联系地址构造SIP REGISTER请求 创建UDP连接,连接到Freeswitch的5060端口发送初始的REGISTER请…

DeepSeek实战--LLM微调

1.为什么是微调 ? 微调LLM(Fine-tuning Large Language Models) 是指基于预训练好的大型语言模型(如GPT、LLaMA、PaLM等),通过特定领域或任务的数据进一步训练,使其适应具体需求的过程。它是将…

Docker与WSL2如何清理

文章目录 Docker与WSL2如何清理一、docker占据磁盘空间核心原因分析1. WSL2 虚拟磁盘的动态扩展特性2. Docker 镜像分层缓存与未清理资源 二、解决方案步骤 1:清理 Docker 未使用的资源步骤 2:手动压缩 WSL2 虚拟磁盘1. 关闭 WSL2 和 Docker Desktop2. 定…

在 IDEA 中写 Spark 程序:从入门到实践

在大数据处理领域,Apache Spark 凭借其出色的性能和丰富的功能受到广泛欢迎。而 IntelliJ IDEA 作为一款功能强大的 Java 集成开发环境,为编写 Spark 程序提供了极大的便利。本文将详细介绍如何在 IDEA 中搭建 Spark 开发环境并编写运行 Spark 程序&…

Unity 使用 ADB 实时查看手机运行性能

Unity 使用 ADB 实时查看手机运行性能 前言操作步骤ADB工具下载ADB工具配置手机进入开发者模式并开启USB调试使用ADB连接手机Unity打包设置使用Profiler实时查看性能情况优化建议 常见问题 前言 通过 ADB(Android Debug Bridge)连接安卓设备&#xff0c…

深入理解 HttpExchange_Java 中构建 HTTP 服务的基础组件

1. 引言 1.1 Java 中的轻量级 HTTP 服务需求 随着微服务、工具类应用和嵌入式系统的兴起,开发者对轻量级 HTTP 服务的需求日益增长。相比引入庞大的框架(如 Spring Boot),使用 JDK 原生 API 构建 HTTP 服务成为一种快速、低依赖的替代方案。 JDK 提供了 com.sun.net.htt…