[图解]需要≠需求-《分析模式》漫谈







1
00:00:00,760 --> 00:00:02,910
今天的《分析模式》漫谈
2
00:00:02,920 --> 00:00:04,180
我们来说一下
3
00:00:04,490 --> 00:00:06,490
需要不等于需求
4
00:00:10,490 --> 00:00:11,760
还是第一章
5
00:00:13,120 --> 00:00:15,020
这里
6
00:00:15,030 --> 00:00:15,740
原文我就不念了
7
00:00:15,750 --> 00:00:17,020
这里有个needs
8
00:00:17,030 --> 00:00:19,980
然后
9
00:00:21,060 --> 00:00:22,060
2004中译本
10
00:00:22,310 --> 00:00:24,710
就是机械工业出版社的译本
11
00:00:25,960 --> 00:00:29,230
翻译“要求”,这是正确的
12
00:00:30,640 --> 00:00:32,280
但是2020中译本
13
00:00:32,490 --> 00:00:37,370
人民邮电出版社的译本,需求
14
00:00:38,290 --> 00:00:39,640
这个就不太对了
15
00:00:40,200 --> 00:00:44,080
需求的话,我们往往会想到什么
16
00:00:44,560 --> 00:00:45,330
Requirements
17
00:00:45,340 --> 00:00:49,940
你看,我们可以看其他地方
18
00:00:49,950 --> 00:00:53,030
你看,这里要求,需求
19
00:00:53,800 --> 00:00:54,810
还是第一章
20
00:00:55,140 --> 00:01:00,640
这里。requirements这里。需求
21
00:01:01,080 --> 00:01:01,390
这个对
22
00:01:01,930 --> 00:01:03,090
你看,这里也是需求
23
00:01:04,970 --> 00:01:08,520
2020中译本needs你也是需求
24
00:01:09,370 --> 00:01:11,090
requirements也是需求
25
00:01:13,210 --> 00:01:14,240
这两个怎么区分
26
00:01:16,890 --> 00:01:17,470
那么我们来看
27
00:01:19,510 --> 00:01:22,380
需求,跟要求或者需要
28
00:01:22,390 --> 00:01:24,620
它不是一个东西
29
00:01:26,150 --> 00:01:31,150
我们可以用这句话来区分
30
00:01:31,710 --> 00:01:35,040
系统的需求,就是requirements
31
00:01:35,050 --> 00:01:36,440
是平衡各方用户需要
32
00:01:36,450 --> 00:01:39,540
needs的结果
33
00:01:40,740 --> 00:01:44,140
当然用户需要这个说法也不对
34
00:01:44,430 --> 00:01:46,180
更严格应该是涉众利益
35
00:01:46,190 --> 00:01:48,970
因为用户这个词就已经有问题了
36
00:01:49,500 --> 00:01:55,290
我在这个文章,在书里面也有讲
37
00:01:56,520 --> 00:02:00,410
文章公众号上可以看,网址在这里
38
00:02:01,090 --> 00:02:02,900
CTO也糊涂的常用术语
39
00:02:03,310 --> 00:02:04,780
这里就提到用户需求
40
00:02:04,790 --> 00:02:07,010
这个术语是怎么不对的
41
00:02:08,050 --> 00:02:09,450
内容我摘录在这里
42
00:02:12,840 --> 00:02:14,470
需求是系统的需求
43
00:02:15,120 --> 00:02:16,020
它不是你的
44
00:02:16,030 --> 00:02:19,370
我的,谁的,是系统的,就这么一份
45
00:02:19,950 --> 00:02:22,630
它是你我他最终达成的一份
46
00:02:22,640 --> 00:02:24,510
关于系统的一份契约
47
00:02:25,310 --> 00:02:27,290
系统作为一个整体
48
00:02:27,700 --> 00:02:30,890
必须要提供的一些功能性能
49
00:02:32,890 --> 00:02:36,850
用户后面跟什么,可以跟要求或者需要
50
00:02:37,360 --> 00:02:38,310
这个就是needs
51
00:02:39,740 --> 00:02:41,170
不能跟requirements
52
00:02:44,160 --> 00:02:45,700
比如说,拿取款机为例
53
00:02:45,710 --> 00:02:46,830
54
00:02:46,840 --> 00:02:51,610
你储户提出一个要求
55
00:02:51,620 --> 00:02:52,650
说最好拉开就拿
56
00:02:53,490 --> 00:02:54,940
这是大实话
57
00:02:55,960 --> 00:02:57,190
但你不能真的这样做
58
00:02:57,280 --> 00:03:00,900
因为你还要(考虑)别的涉众的利益
59
00:03:01,420 --> 00:03:02,900
就像工厂的工人
60
00:03:02,910 --> 00:03:05,290
你做一个系统给工厂的工人用
61
00:03:05,300 --> 00:03:08,050
你问工人,这个系统该怎么做
62
00:03:08,960 --> 00:03:09,480
你最爽
63
00:03:09,990 --> 00:03:12,100
工人就说,最好操作越简单越好
64
00:03:12,110 --> 00:03:14,240
随便敲两下就搞定
65
00:03:15,170 --> 00:03:16,170
好,你是爽了
66
00:03:16,720 --> 00:03:18,660
但是该采集的数据没采集到
67
00:03:19,560 --> 00:03:21,280
后面的其他同事怎么办
68
00:03:21,600 --> 00:03:22,430
领导怎么办
69
00:03:22,770 --> 00:03:23,110
70
00:03:24,720 --> 00:03:27,900
你说我希望越简单越好
71
00:03:28,330 --> 00:03:29,570
最好敲两下就搞定
72
00:03:31,070 --> 00:03:32,620
这只是你自己的要求
73
00:03:33,190 --> 00:03:35,030
它不能成为系统的需求
74
00:03:36,410 --> 00:03:38,390
最终系统需求要照顾什么
75
00:03:39,430 --> 00:03:40,500
领导的利益
76
00:03:40,830 --> 00:03:41,850
其他同事的利益
77
00:03:42,460 --> 00:03:44,250
当然,在适当的情况下
78
00:03:44,260 --> 00:03:45,770
可以照顾一下你的利益
79
00:03:47,170 --> 00:03:48,850
那就看你的排位了
80
00:03:51,090 --> 00:03:52,860
如果说你这个位置很重要
81
00:03:53,110 --> 00:03:56,320
你提的要求当然是会比较大的程度
82
00:03:56,330 --> 00:03:57,160
得到尊重
83
00:03:57,900 --> 00:03:59,200
如果你是一个屌丝
84
00:04:00,650 --> 00:04:02,770
可能这个系统就要苦一苦你了
85
00:04:03,670 --> 00:04:04,600
就要欺负你了
86
00:04:05,740 --> 00:04:07,420
谁让你排位这么低
87
00:04:08,650 --> 00:04:10,910
这个的话,我们可以看一段
88
00:04:12,160 --> 00:04:14,230
我之前录的教学视频
1
00:00:03,130 --> 00:00:06,800
既然为了方便做卡给我们用
2
00:00:06,810 --> 00:00:07,720
那干嘛不方便到底
3
00:00:07,730 --> 00:00:09,930
为什么要验密码
4
00:00:11,100 --> 00:00:12,060
不验不行吗
5
00:00:13,360 --> 00:00:16,560
储户插卡,系统就弹出一个钱框
6
00:00:17,070 --> 00:00:18,310
储户抓一把就走
7
00:00:19,320 --> 00:00:20,580
这多爽
8
00:00:20,870 --> 00:00:22,380
但是这样就不安全了
9
00:00:24,600 --> 00:00:25,660
所以要验密码
10
00:00:27,480 --> 00:00:28,790
为了安全验密码
11
00:00:28,800 --> 00:00:30,390
密码怎么才6位数字
12
00:00:31,600 --> 00:00:32,400
是不是少了一点
13
00:00:35,540 --> 00:00:36,710
搞个20位密码
14
00:00:37,740 --> 00:00:41,150
或者说数字、大小写字母
15
00:00:41,570 --> 00:00:42,950
特殊符号都要有
16
00:00:43,510 --> 00:00:44,620
那不是更安全吗
17
00:00:45,400 --> 00:00:47,330
但是这样就不方便了
18
00:00:48,040 --> 00:00:52,300
所以6位数字是安全和方便
19
00:00:52,730 --> 00:00:56,510
在当前时间的平衡点,平衡
20
00:00:57,520 --> 00:01:00,650
还有,你看这个,系统验证
21
00:01:00,660 --> 00:01:03,460
金额合法
22
00:01:03,470 --> 00:01:05,540
规则是必须为100元的倍数
23
00:01:06,500 --> 00:01:08,780
¥%……&&,为什么
24
00:01:10,770 --> 00:01:13,540
假设取款机能够取小数点
25
00:01:13,550 --> 00:01:16,890
比如说,我取102块5毛3
26
00:01:18,290 --> 00:01:19,060
然后提交
27
00:01:19,580 --> 00:01:22,710
然后系统就蹦蹦蹦蹦
28
00:01:23,570 --> 00:01:28,470
出钞票,大额的、小额的,硬币都有
29
00:01:29,170 --> 00:01:30,480
那不是更好吗
30
00:01:30,950 --> 00:01:32,320
储户更开心
31
00:01:33,050 --> 00:01:33,980
但是谁不开心
32
00:01:34,920 --> 00:01:36,360
银行这边就不开心了
33
00:01:37,740 --> 00:01:38,840
成本太高了
34
00:01:40,840 --> 00:01:42,840
所以要有这一条
35
00:01:44,910 --> 00:01:49,610
还有这个,为什么要更新账户信息,不更新不行吗
36
00:01:50,910 --> 00:01:52,090
储户喜不喜欢更新
37
00:01:52,950 --> 00:01:56,420
他不喜欢的,比如说,我账户里有2万
38
00:01:57,000 --> 00:01:58,160
我取了5000
39
00:01:59,280 --> 00:02:00,870
我喜不喜欢更新
40
00:02:01,000 --> 00:02:04,440
不更新的,最好还是2万
41
00:02:05,030 --> 00:02:06,100
但是你不更新不行
42
00:02:06,310 --> 00:02:08,140
不更新银行就吃亏了
43
00:02:08,770 --> 00:02:13,080
所以你看这一句,看不见摸不着
44
00:02:14,410 --> 00:02:15,600
储户也不喜欢
45
00:02:16,390 --> 00:02:17,330
但是怎么样
46
00:02:18,730 --> 00:02:20,850
系统必须要写这一句
47
00:02:21,290 --> 00:02:23,170
必须要实现这一句
48
00:02:23,180 --> 00:02:26,130
否则涉众利益就会受到侵害了
49
00:02:27,800 --> 00:02:30,470
每一条背后都有涉众利益的存在
50
00:02:31,440 --> 00:02:32,910
如果没有,就可以把它删掉
相关文章:
[图解]需要≠需求-《分析模式》漫谈
1 00:00:00,760 --> 00:00:02,910 今天的《分析模式》漫谈 2 00:00:02,920 --> 00:00:04,180 我们来说一下 3 00:00:04,490 --> 00:00:06,490 需要不等于需求 4 00:00:10,490 --> 00:00:11,760 还是第一章 5 00:00:13,120 --> 00:00:15,020 这里 6 00:00:1…...
刷到好听的音频怎么办
在短视频平台上,我们常常会刷到那些好听得让人陶醉的视频,可却无法直接下载保存其中的音频,是不是感觉很遗憾? 比如刷到林俊杰这首前奏超好听的《江南》,却禁止下载无法直接下载保存。 别担心,下面就为您揭…...
怎么在网络攻击中屹立不倒
在当今蓬勃发展的网络游戏产业中,服务器安全无疑是企业生存与发展的基石。面对互联网环境中无处不在的DDoS(分布式拒绝服务)与CC(挑战碰撞)攻击威胁,游戏服务器的防御能力与高效处理能力显得尤为重要。相较…...
详解 Python 中的面向对象编程(2)
引言 面向对象编程(OOP)是一种编程范式,它通过将属性和行为整合到对象中来构建程序。本教程将带你了解Python语言中面向对象编程的基本概念。 想象一下,对象就像是系统中的各个部件。可以把程序比作一条工厂流水线。在流水线的每一…...
数据结构-线性表-顺序表
一. 了解顺序表 顺序表定义: 顺序表(也称为线性数组)是一种线性数据结构,它将数据元素按顺序存储在一块连续的内存空间中。顺序表的基本特征包括: 元素的顺序性:顺序表中的元素具有线性关系,每…...
AI绘画大模型-StableDiffusion最强模型sd3(本地安装方法)
前言/introduction Stable Diffusion 3(简称SD3)是Stability AI最新推出的文本到图像生成模型。相比前代模型,SD3在生成质量、细节表现以及运行效率上有了显著提升,尤其在细腻的图像渲染和复杂的场景构建方面表现出色。SD3模型…...
SpringBoot调用外部接口的几种方式
SpringBoot调用外部接口的几种方式 使用FeignClient调用1、在使用方引入依赖2、服务接口调用方2.1、在启动类上加上EnableFeigncliens注解2.2、编写Feign接口调用服务controller层2.3、服务接口调用service层 3、服务接口提供者4、说明 使用RestTemplate调用1、引入依赖2、Rest…...
MySQL:information_schema查找某个表的主键是否在数据的其他位置出现之二
上一篇: MySQL:information_schema查找某个表的主键是否在数据的其他位置出现之一-CSDN博客 摘要 遍历数据库每一张表的每一个字段,是否存在字符串search_term 正文 源码 import pymysql from datetime import datetime# 测试函数 if __n…...
Linux进程和计划任务管理
目录 一、进程基本概念 1.进程 2.程序和进程的关系 二、查看进程信息 1.ps命令 1.1 ps aux命令 1.2 ps -elf 命令 2. top 命令 3.pgrep 命令 4.jobs 命令 三、查看进程树 四、进程的启动方式 1.手动启动 2.调度启动 五、终止进程的运行 1.CtrlC组合键 2.kill、kil…...
【Angular18】封装自定义组件
1. 准备组件 2. 创建打包文件夹及部分配置文件 创建 文件夹app-legalentities-root拷贝组件源文件到新的文件夹app-legalentities中创建文件 .npmrc registry发布地址always-authtrue创建文件 ng-package.json {"$schema": "./node_modules/ng-packagr/ng-pac…...
【流媒体】RTMPDump—RTMP_ConnectStream(创建流连接)
目录 1. RTMP_ConnectStream函数1.1 读取packet(RTMP_ReadPacket)1.2 解析packet(RTMP_ClientPacket)1.2.1 设置Chunk Size(HandleChangeChunkSize)1.2.2 用户控制信息(HandleCtrl)1…...
MySQL学习3之锁机制
一、什么是锁粒度? 锁粒度(Lock Granularity)是指在数据库中锁定数据资源的最小单位。锁粒度决定了锁定操作的范围,即锁定的是整个数据库、整个表、表中的某个分区、表中的某一页还是表中的某一行。 在MySQL中常见的锁粒度有&am…...
2004-2023年上市公司过度负债数据(含原始数据+计算结果)
2004-2023年上市公司过度负债数据(含原始数据计算结果) 1、时间:2004-2023年 2、来源:上市公司年报 3、指标:证券代码、证券简称、统计截止日期、是否剔除ST或*ST股、是否剔除当年新上市、已经退市或被暂停退市的公…...
[机器学习]--KNN算法(K邻近算法)
KNN (K-Nearest Neihbor,KNN)K近邻是机器学习算法中理论最简单,最好理解的算法,是一个 非常适合入门的算法,拥有如下特性: 思想极度简单,应用数学知识少(近乎为零),对于很多不擅长数学的小伙伴十分友好虽然算法简单,但效果也不错 KNN算法原理 上图是每一个点都是一个肿瘤病例…...
跨平台控制神器Escrcpy,您的智能生活助手
Escrcpy 是一款基于 Scrcpy 开发的图形化安卓手机投屏控制软件,它允许用户将 Android 手机屏幕实时镜像到电脑上,并使用电脑的鼠标和键盘直接操作手机,实现了无线且高效的操控。这款软件是免费开源的,支持跨平台使用,包…...
AR 眼镜之-开关机定制-实现方案
目录 📂 前言 AR 眼镜系统版本 开关机定制 1. 🔱 技术方案 1.1 技术方案概述 1.2 实现方案 1)开机 Logo 2)开机音效 3)开机动画 4)关机动画 5)关机弹窗 2. 💠 开机 Logo…...
论文阅读-Transformer Layers as Painters
1. 摘要 尽管大语言模型现在已经被广泛的应用于各种任务,但是目前对其并没有一个很好的认知。为了弄清楚删除和重组预训练模型不同层的影响,本文设计了一系列的实验。通过实验表明,预训练语言模型中的lower和final layers与中间层分布不一致…...
【STL】vector模拟实现
vector引入 vector的实现主要依靠三个成员变量:start,finish和end_of_storage 其中: [start]指向容器中的起始位置 [finish]指向容器中最后一个有效数据的下一个位置 [end_of_storage]指向容器中现有容量的位置 通过这三个指针,就使得vector的size…...
静态成员static关键字
定义: 静态成员在C类中是一个重要的概念,它包括静态成员变量和静态成员函数。 静态成员变量 1定义:静态成员变量是类的所有对象共享的变量。与普通成员变量相比,无论创建了多少个类的实 例,静态成员变量只有一份拷贝…...
本地项目git同步到线上
将本地创建的项目同步到你的 GitHub 账号线上仓库,可以按照以下步骤进行操作: 1. 在 GitHub 上创建一个新仓库 登录你的 GitHub 账号。点击右上角的加号(),然后选择 New repository。填写仓库的名称、描述等信息。选…...
Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
C++.OpenGL (20/64)混合(Blending)
混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能
1. 开发环境准备 安装DevEco Studio 3.1: 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK 项目配置: // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...
阿里云Ubuntu 22.04 64位搭建Flask流程(亲测)
cd /home 进入home盘 安装虚拟环境: 1、安装virtualenv pip install virtualenv 2.创建新的虚拟环境: virtualenv myenv 3、激活虚拟环境(激活环境可以在当前环境下安装包) source myenv/bin/activate 此时,终端…...
【Ftrace 专栏】Ftrace 参考博文
ftrace、perf、bcc、bpftrace、ply、simple_perf的使用Ftrace 基本用法Linux 利用 ftrace 分析内核调用如何利用ftrace精确跟踪特定进程调度信息使用 ftrace 进行追踪延迟Linux-培训笔记-ftracehttps://www.kernel.org/doc/html/v4.18/trace/events.htmlhttps://blog.csdn.net/…...
OpenGL-什么是软OpenGL/软渲染/软光栅?
软OpenGL(Software OpenGL)或者软渲染指完全通过CPU模拟实现的OpenGL渲染方式(包括几何处理、光栅化、着色等),不依赖GPU硬件加速。这种模式通常性能较低,但兼容性极强,常用于不支持硬件加速…...
PostgreSQL 与 SQL 基础:为 Fast API 打下数据基础
在构建任何动态、数据驱动的Web API时,一个稳定高效的数据存储方案是不可或缺的。对于使用Python FastAPI的开发者来说,深入理解关系型数据库的工作原理、掌握SQL这门与数据库“对话”的语言,以及学会如何在Python中操作数据库,是…...
