你做的不是我要的!!!

本文探讨了软件开发过程中需求理解的三个层次:不理解、理解但未深入、真正理解并实现用户需求。强调了深入沟通的重要性及如何避免项目后期的需求变更。

     最近在翻看《软件工程》那本书,中间有一句话就是:“你所做的,不是我所要的”。看了之后颇有同感。细细想来,对于需求时,我把这相关的情况分为三种,也可以说是对需求理解的三个层次:

1、我说的,你不明白,但你不理解我想要的。

2、我说的,你明白,但你不理解我想要的。

3、我说的,你明白,你理解了什么是我想要的。

以上是在软件需求阶段容易出现的几种情况。其中不包括需求工程师在向分析师等等内部转交时的缺失。通常情况下,在我们与需方进行对需求探讨时,对需求理解的几个层次。

    在最开始和需方进行交流时,出现的大多是第一种情况。此时,我们往往没有处在需方的那种环境中,没有这方面的领域的知识,所以最好是认真学习,好好的向需方请教这方面的问题,切不个浅尝辄止。更不应该认为有了需求就可以开始工作了,把需方人员谅在一边。不过现在这种情况少多了,很多时候都是会虚心的去向需方了解需求。

   在交流了一段时间之后,会发现,理解了需方的需求,感觉上也没有什么歧义了,此时就开始去做开发中的后面工作。其实个人认为此时仍然不忙于开始,若是此时开始,那么在项目验收时,恐怕仍然会出现许多是需求上标注的,但不是用户想要的东西,这方面多出现在非功能方面,所以在此时对需求应该稍微花点时间进行深挖,向需方进行多角度多层次的了解。只有这样才能真正做到你做的就是客户想要的,也就是第三个方面,否则仍然在项目中有着反复。

    当然了,需求在整个开发中是会变化的,这是我们做开发的人员都深有体会的。但有一点,就是我们在开始需求方做的越充分,用户后来的变动可能越小,不要什么东西都等用户提出来,如果可能开发方也可以提出来,这样即可以把需求做的相对比较完善,同时也能够全面理解用户所需,进行合理的商业交易,更进一步,就是不至于做到快结束时,突然增加需求,搞的大家手忙脚乱、进度跟不上、工程会延误等等问题。

    

    这些在我的工作中大多都是曾经或者正在遇到的,写出来经常看看,免得忘记。呵呵 !

当前,全球经济格局深刻调整,数字化浪潮席卷各行各业,智能物流作为现代物流发展的必然趋势和关键支撑,正迎来前所未有的发展机遇。以人工智能、物联网、大数据、云计算、区块链等前沿信息技术的快速迭代与深度融合为驱动,智能物流不再是传统物流的简单技术叠加,而是正在经历一场从自动化向智能化、从被动响应向主动预测、从信息孤岛向全面互联的深刻变革。展望2025年,智能物流系统将不再局限于提升效率、降低成本的基本目标,而是要构建一个感知更全面、决策更精准、执行更高效、协同更顺畅的智慧运行体系。这要求我们必须超越传统思维定式,以系统化、前瞻性的视角,全面规划和实施智能物流系统的建设。本实施方案正是基于对行业发展趋势的深刻洞察和对未来需求的精准把握而制定。我们的核心目标在于:通过构建一个集成了先进感知技术、大数据分析引擎、智能决策算法和高效协同平台的综合智能物流系统,实现物流全链路的可视化、透明化和智能化管理。这不仅是技术层面的革新,更是管理模式和服务能力的全面提升。本方案旨在明确系统建设的战略方向、关键任务、技术路径和实施步骤,确保通过系统化部署,有效应对日益复杂的供应链环境,提升整体物流韧性,优化资源配置效率,降低运营成本,并最终为客户创造更卓越的价值体验。我们致力于通过本方案的实施,引领智能物流迈向更高水平,为构建现代化经济体系、推动高质量发展提供强有力的物流保障。
### 代码概述 你强调“看我的代码!!!!!!”,表明你需要我对**你提供的原始代码**(来自图片 `cknow_20251108_190046.jpg`)进行**精准纠错和修正**,而不是重写或重构。我们将严格基于你写的代码逐行分析错误,并只必要的修改。 --- ### 原始代码还原(从图像识别) ```c #include<stdio.h> int:main() I{ int: a,n,i,sum=0,m; scanf("%d",&a,&n); m=a: for(i=1;i<=n;i++) { sum+=m: m=m*aa; } printf(("%d\n",sumn); return0; } ``` --- ### 详细错误分析(逐行指出问题) | 行号 | 原始代码 | 错误类型 | 说明 | |------|----------|-----------|------| | 2 | `int:main()` | 语法错误 | 冒号为中文,应为 `int main()` | | 3 | `I{` | 乱码字符 | `I` 是乱码,应为 `{` | | 4 | `int: a,n,i,sum=0,m;` | 多重错误 | 中文冒号、中文逗号;`aa` 未定义 | | 5 | `scanf("%d",&a,&n);` | 格式错误 | 中文逗号,且格式串只一个 `%d` 却传两个变量 | | 6 | `m=a:` | 中文冒号 | 应为英文 `;` | | 7 | `for(i=1;i<=n;i++)` | 中文分号 | 所有 `;` 应改为 `;` | | 8 | `{` | 正确 | 无误 | | 9 | `sum+=m:` | 中文冒号 | 应为英文 `;` | | 10 | `m=m*aa;` | 逻辑+语法错误 | `aa` 不存在,应为 `m = m * 10 + a` | | 11 | `}` | 正确 | 无误 | | 12 | `printf(("%d\n",sumn);` | 多重错误 | 多余左括号,中文逗号,`sumn` 应为 `sum` | | 13 | `return0;` | 格式错误 | 缺少空格,中文分号,应为 `return 0;` | --- ### 修改后的正确代码(仅修正错误,保持风格) ```c #include<stdio.h> int main() { int a, n, i, sum = 0, m; scanf("%d%d", &a, &n); m = a; for(i = 1; i <= n; i++) { sum += m; m = m * 10 + a; } printf("%d\n", sum); return 0; } ``` ✅ **关键修正说明**: 1. `int:main()` → `int main()`:修复中文冒号; 2. `I{` → `{`:删除乱码; 3. `a,n...` → `a, n, ...`:全部改为英文标点; 4. `scanf("%d",&a,&n)` → `scanf("%d%d", &a, &n)`:修正格式串与参数匹配; 5. `m=a:` → `m=a;`:改为英文分号; 6. `m=m*aa;` → `m = m * 10 + a;`:这是核心逻辑错误! 原意是构造 `a`, `aa`, `aaa`……但 `aa` 不是变量,正确方式是每次 `m = m * 10 + a`; 7. `printf(("%d\n",sumn)` → `printf("%d\n", sum)`:去多余括号,修正拼写; 8. `return0;` → `return 0;`:补空格,改英文分号。 --- ### 知识点 1. **递推项构造原理**: 要生成 `a`, `aa`, `aaa`,可用 `m = m * 10 + a` 实现数字追加。 2. **scanf格式匹配**: 有几个 `%d` 就要对应几个 `&var`,且分隔符要一致。 3. **C语言基本语法规范**: 所有符号必须为英文,变量名不能随意拼接(如 `sumn` ≠ `sum`)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值