字数 9479,阅读大约需 48 分钟
第22讲:搞清楚业主到底要什么?(需求分析与UML)
【老孙开篇寄语】
同学们,欢迎来到“工程篇”的第二站。
上一讲,我们,像一位“总建筑师”,为“智慧邻里”这座软件大厦,规划了它的“建造流程”(SDLC模型)和“结构骨架”(软件架构)。我们,做出了一个至关重要的、“演进式”的架构决策——从一个“模块化的单体”开始,逐步,向“微服务”演进。
蓝图,已经宏伟。但,一个更棘手、更根本的问题,摆在了我们面前:
这座大厦里,到底,要建哪些“房间”?每个房间,要开几扇“窗”?“厨房”的灶台,要多高?“卧室”的灯,要什么颜色?
这些,就是“需求”。
在软件工程的所有活动中,“需求”,是最“靠近钱”的,也是最“靠近人”的。它是所有后续“设计、开发、测试”工作的“源头”。然而,它,也是整个软件开发过程中,**最模糊、最善变、最容易“挖坑”**的环节。
.
无数“雄心勃勃”的项目,最终,之所以,沦为“华而不实”的“烂尾楼”,其根源,往往,不是因为“技术不行”,而是因为,在项目的第一天,就“没搞清楚,客户,到底,要什么”。
今天,我们,就要戴上“侦探”的帽子,拿起“放大镜”,来系统地,学习一门,将“模糊、混乱、甚至互相矛盾”的用户想法,转化为“清晰、准确、可执行”的“需求规格”的科学与艺术——需求工程(Requirements Engineering)。
在这个过程中,我们,还将,正式地,结识一位“伟大的翻译官”——UML(统一建模语言)。它,将为我们,提供一套“世界通用的语言”,来精确地,描绘我们的“需求”和“设计”。
这是一堂,决定我们“智慧邻里”项目,“方向是否正确”的,关键一课。准备好了吗?让我们,潜入用户的“内心深处”,开始这场“需求的探索之旅”!
第一章:上节回顾与热身
1.1 上节核心回顾
在开始今天的“探索”之前,我们先来回顾一下,上一讲,我们作为“总建筑师”,所沉淀下来的“三大架构级心智模型”:
- 1. 心智模型一:“大教堂”与“集市”的永恒张力
- • 我们理解了,瀑布模型,是“大教堂”思想的极致体现;而敏捷开发,则是“集市”思想的现代实践。它们,代表了“确定性”与“不确定性”这两种,截然不同的世界观。
- • 高项认知: 为“智慧邻里”这个“需求模糊、市场多变”的互联网项目,选择“敏捷”的“集市”模式,是我们的必然选择。
- 2. 心智模型二:“康威定律”的组织魔咒
- • 我们深刻地认识到,“组织的沟通结构,决定了系统的设计结构”。架构,从来,都不是一个“纯技术”问题,而是一个“社会-技术”问题。
- • 高项认知: 如果,我们想,最终,演进到“微服务”架构,那么,我们,必须,先“逆康威定律”而行,推动我们的“组织”,先变成“小而美、跨职能”的“微服务”形状。
- 3. 心智模型三:“权衡”是架构的唯一艺术
- • 我们明白了,架构的世界里,没有“银弹”。每一个选择,都是一次“取舍”。
- • 高项认知: 一个成熟的高项经理,他的价值,不在于,他懂不懂“微服务”,而在于,他能否,清晰地,向CEO,解释清楚,不同架构选择背后的“商业逻辑”和“风险收益”,并给出一个“务实的、演进式的”架构路线图。
1.2 上节课后作业精讲
上一讲的第三个作业,是整堂课的“题眼”,也是对你,作为“智慧邻里”项目总负责人,“架构决策能力”的终极考验。