惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Vercel News
Vercel News
SecWiki News
SecWiki News
WordPress大学
WordPress大学
小众软件
小众软件
博客园 - 司徒正美
酷 壳 – CoolShell
酷 壳 – CoolShell
V
Visual Studio Blog
Y
Y Combinator Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
云风的 BLOG
云风的 BLOG
MyScale Blog
MyScale Blog
K
Kaspersky official blog
T
The Exploit Database - CXSecurity.com
腾讯CDC
Scott Helme
Scott Helme
I
InfoQ
Cyberwarzone
Cyberwarzone
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Security Latest
Security Latest
The Register - Security
The Register - Security
Project Zero
Project Zero
F
Fortinet All Blogs
C
CERT Recently Published Vulnerability Notes
A
Arctic Wolf
C
Cisco Blogs
L
LINUX DO - 热门话题
P
Privacy International News Feed
IT之家
IT之家
U
Unit 42
P
Privacy & Cybersecurity Law Blog
H
Help Net Security
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
C
Cyber Attacks, Cyber Crime and Cyber Security
P
Palo Alto Networks Blog
F
Full Disclosure
宝玉的分享
宝玉的分享
Simon Willison's Weblog
Simon Willison's Weblog
L
Lohrmann on Cybersecurity
Google DeepMind News
Google DeepMind News
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
H
Hacker News: Front Page
Know Your Adversary
Know Your Adversary
PCI Perspectives
PCI Perspectives
Hugging Face - Blog
Hugging Face - Blog
AWS News Blog
AWS News Blog
MongoDB | Blog
MongoDB | Blog
S
Schneier on Security
Recent Announcements
Recent Announcements
Forbes - Security
Forbes - Security
Cisco Talos Blog
Cisco Talos Blog

人人都是产品经理

为什么你的产品找不到差异化?90%的失败都卡在第一步上(下) – 人人都是产品经理, 3年从30万到1300万用户、获2200万美元融资,这个AI教育产品用“抽卡”破解了获客难题 – 人人都是产品经理, 园区招商系统怎么做才能真正帮到去化?我加了这一个功能,推广链接转发400次阅读过万 – 人人都是产品经理, AI大事件:OpenAI发完网络安全模型又搞药物研发,小鹏汽车要抓”DeepSeek时刻” – 人人都是产品经理, 电商不是卖货,是一场更残酷的产品经理实战 – 人人都是产品经理, 没想到,活动营销又回来了! – 人人都是产品经理, 为何All-in海外KOC:一场关于AI时代窗口期的豪赌 – 人人都是产品经理, 重新理解企业的内部协作 – 人人都是产品经理, 苹果的 AI 战略到底是什么? – 人人都是产品经理, 医疗智能体·第2讲——合规护城河:等保、PIPL与HIPAA的架构实战 – 人人都是产品经理, 向量知识库五步法:从“答非所问”到“精准回复” – 人人都是产品经理, 鸿蒙PC三方库构建总指挥HPKBUILD(sha)库为例 – 人人都是产品经理, 何时该用LLM?AI产品经理的LLM设计指南 – 人人都是产品经理, 医疗信息领域的需求方、决策方、准入方以及关注点(二) – 人人都是产品经理, 即梦涨价:一场被误读的「傲慢」 – 人人都是产品经理, 面试AI PM必答题:Hermes和OpenClaw的区别,如何讲清楚业务价值 – 人人都是产品经理, AI的下一张船票:世界模型——AI产品经理必须理解的技术拐点 – 人人都是产品经理, 小红书做GEO,怎么让AI信你?记住这 3 个重要信息 – 人人都是产品经理, 5 家印度 AI 初创公司,看看印度 AI 再做什么 – 人人都是产品经理, AI项目跨团队协作:产品技术业务如何不打架 – 人人都是产品经理, Agentic Workflow(智能体工作流):让AI从”答案生成器”变成”数字员工” – 人人都是产品经理, lycium_plusplus 项目全景解读:OpenHarmony 三方库构建的“大管家” – 人人都是产品经理, 从爆单救火到前置履约:两套预采策略,把生鲜大促履约效率拉满 – 人人都是产品经理, 什么时候该补货?我用一轮数据做了一个决定 – 人人都是产品经理, 从“机械兜底”到“动态分流”:AI客服重复进线治理的4大底层逻辑 – 人人都是产品经理, 抖音拼效率,红书拼洞察 – 人人都是产品经理, 全民狂欢与退潮——为什么龙虾这波热潮冷却得如此之快? – 人人都是产品经理, Stripe押注!MPP重塑全球支付 – 人人都是产品经理, 小红书GEO:AI引用你的内容,不是因为你对,而是因为你看起来可信 – 人人都是产品经理, 前百度副总裁押注办公Agent,日韩付费爆发,Manus迎来强劲对手 – 人人都是产品经理, 企事业单位数字化的业务供需本质 – 人人都是产品经理, 医疗智能体·第1讲——医疗信息化重构:从“辅助软件”到“自主智能体”的范式转移 – 人人都是产品经理, 粉丝量就是空气!!! – 人人都是产品经理, 用户说“薯片碎了”,机器回“要买吗?”:意图识别的翻车与破局 – 人人都是产品经理, RAG召回准确率从75到90 我做对了这三件事 – 人人都是产品经理, AI大事件:Anthropic改收费、OpenAI发安全版、手术机器人纳入医保、阿里发布”秒悟” – 人人都是产品经理, Chrome 推出 Skills 新功能,Agent 重塑上网方式 – 人人都是产品经理, GitHub前创始人拿了a16z的1700万美元,做Agent时代的Git – 人人都是产品经理 拷贝或克隆其他 Flutter OH 项目到本地后无法运行 – 人人都是产品经理, 优惠券设计:优惠券创建 – 人人都是产品经理, 不用死磕文档!AI 助手 1 小时搞定飞书 CLI 安装 + 配置 + 知识库 – 人人都是产品经理, 用小龙虾做竞品分析报告:从2天到20分钟,我是怎么做到的 – 人人都是产品经理 用小龙虾做市场分析报告:搞懂这3个公式,市场规模不再靠猜 – 人人都是产品经理, 你早就在做 Harness 工程,只是不知道它叫这个名字 – 人人都是产品经理, Think Long就够?你可能想多了! – 人人都是产品经理, 货代SRM实战:供应商准入怎么做,才能让资源池不是通讯录而是可交付网络? – 人人都是产品经理, 如何做好用户调研?详解基本技巧 – 人人都是产品经理, 木鸟、途家、美团对打,平台春天行动开“卷” – 人人都是产品经理, 入职才发现公司不靠谱?小红书从业者求职避坑指南 – 人人都是产品经理, 美国 AI 三巨头联手封堵,中国 AI 突围之路在何方 – 人人都是产品经理, 小红书,放在需求对面的镜子 – 人人都是产品经理, AI 会带来大规模失业吗? – 人人都是产品经理, 从出单到补货前,我第一次犹豫:该不该放大? – 人人都是产品经理, Flutter 三方库鸿蒙化适配:5 种高效检查方式,快速判断是否需要适配 – 人人都是产品经理, 从做产品进阶拿结果:医美机构产品经理转岗科室运营经理 – 人人都是产品经理, 阿里HappyHorse,一场关于“Token经济”的阳谋 – 人人都是产品经理, To B AI:客户留存落地的观察与思考 – 人人都是产品经理, AI产品的“生命线”——数据采集、标注、清洗的产品化设计 – 人人都是产品经理, 谈谈AI Agent(二):当“孩子”能自己“体验世界”时,你该学什么? – 人人都是产品经理, UI/UX设计师的3层能力进阶,前两层让你活下来,第三层…才是真正的分水岭 – 人人都是产品经理, 2分钟 → 30秒,效率提升75%:B端产品经理如何用「规则枷锁」驯服AI幻觉? – 人人都是产品经理, 还没来得及学OpenClaw,来了个更猛的:Hermes Agent – 人人都是产品经理, AI日报:宇树机器人跑出10m/s刷新世界纪录 – 人人都是产品经理, 一文说透基金互金如何用情绪价值引导用户决策做转化 – 人人都是产品经理, 当浏览器开始替你”看”网页:AI 浏览器正在亲手拆掉它脚下的那张网 – 人人都是产品经理, 0代码,一天时间我Vibe Coding了个网站 – 人人都是产品经理, Hermes 和 OpenClaw 之争,Agent 的能力应该“装上去”还是“长出来”? – 人人都是产品经理 视频生成的“桌子”,字节Seedance 2掀完,阿里快乐马掀 – 人人都是产品经理, 从听不懂到完全信任:我的 Codex 深度产品体验 – 人人都是产品经理, 当虚拟偶像有了北京户口,与真人偶像还有什么区别? – 人人都是产品经理, 会说,远远比会做更重要 —— 对 SBTI 爆火现象的五层观察 – 人人都是产品经理, AI产品经理必看:当“搭环境”比“选模型”更重要,你的认知还在2024年吗? – 人人都是产品经理, 2026年AI产品商业化核心逻辑:从功能demo到规模化营收的3个必破卡点 – 人人都是产品经理, 京东围绕供应链,卷起裤腿下场的那些事儿 – 人人都是产品经理, SBTI一夜刷屏:它赢在了“太会说人话” – 人人都是产品经理, 折扣零售的真相:不是便宜,而是价值感! – 人人都是产品经理, 和甲方吵了一架,最后加钱做了——我学到的ToB产品经理生存法则 – 人人都是产品经理, 和几位小红书操盘手聊了8小时,干货全在这 – 人人都是产品经理, 智谱GLM-5.1登场,开源模型首超Opus4.6!!! – 人人都是产品经理 Anthropic收入凭什么反超OpenAI,终于有人把这事说清楚了 – 人人都是产品经理, 史上最有故事感的技术报告——Claude最强模型Mythos 7个极其精彩的细节 – 人人都是产品经理, 模型不是壁垒,Harness 也不是 – 人人都是产品经理, 抖音本地生活业务思考21 – 人人都是产品经理, Superpowers:145k Star的AI编码框架,到底是什么来头? Superpowers:145k Star的AI编码框架,到底是什么来头? – 人人都是产品经理, OpenAI 的路走错了,Anthropic Harness 解法启示:模型需要实践专科生 – 人人都是产品经理, 画原型图的前一步:设计站点地图 – 人人都是产品经理, 给 DeepSeek 的最后一封催更信 – 人人都是产品经理, 手把手教你用 Claude Code 搭建 AI 营销团队:5 个 Agent、12 项技能,独立完成研究、写作、设计全流程 – 人人都是产品经理, 你以为大模型在学语言?不,它在重新发明语言学 – 人人都是产品经理 所谓Skill,不过是AI时代的工业垃圾 – 人人都是产品经理, 聊一聊内容传播的几个方法 – 人人都是产品经理, 当平台开始吃掉生态:从 OpenClaw 被封杀,读懂 Anthropic 的这盘棋 – 人人都是产品经理, 你装了 10 个 AI 插件,Obsidian 还是一个文件夹 – 人人都是产品经理 关于AI智能体架构演进的系统性思考:从单体试水到多体协同的重构 – 人人都是产品经理, 当“人”变成Skill,我们又该何去何从? – 人人都是产品经理 Mythos 事件:前沿 AI 治理的意外实验 – 人人都是产品经理, 货代CRM:信用与风险管理怎么做,才能把坏账风险拦在放货之前? – 人人都是产品经理, 从HR收集自拍照到员工自助录入——我见证了园区人脸识别从”不可用”到”真好用”的全过程 – 人人都是产品经理 千问闯关AI混沌期:阿里画靶,吴嘉张弓,马云射箭? – 人人都是产品经理,
大白话讲清面向对象的分析与设计
豆芽悟 · 2023-06-20 · via 人人都是产品经理

面向对象的分析与设计,难点不在于分析,而在于设计,因此需要正确把握两项工作之间的工具和衔接方法。通过本篇文章,能让你更加细致的了解面向对象的分析与设计,希望能对你有所帮助。

今天这篇是软考——系统分析师的第二篇推文。

去年7月豆芽君写过这篇文章《产品设计之从业务到产品》

这次备考过程,我对面向对象有些补充理解,今天写的内容,会部分推翻之前的内容。但如果你能两篇文章对照着看,相信你可以对比、了解下结构化分析与设计 VS 面向对象分析与设计。

面向对象技术出现在1980年左右,比豆芽君出生的还早。可目前大多数的2B产品分析与设计,都是行面向对象之名,行结构化之事。

这里面的原因豆芽君认为主要是两类人造成的:

1)开发人员

开发语言的发展是先有结构化语言C语言等,后面才出现了面向对象语言JAVA等。

所以早期的开发人员,虽然现在在用面向对象的语言,但仍然习惯使用结构化设计、开发的思路。

2)系统分析师/产品经理

说实话,很多产品经理都不是计算机专业科班出身,他们可以做好需求调研、原型设计等表层的工作,但基本上无法去做系统设计这类里层的工作。

这些工作最终还是回到了负责开发管理的开发经理的身上。这群人的问题也就是第一点提到的。

先抛结论:面向对象的分析与设计,难点不在于分析,而在于设计。

今天我们主要讲这两项工作用到的工具?以及如何做好这两者的工作衔接?

相信你认真看完今天的内容对常见的UML工具不再陌生,也能更好地理解分析与设计的工作如何衔接?这可以让系统分析师/产品经理与开发经理更好地分工与协作。

一、面向对象的分析

先看下教材上的一段定义:面向对象的分析是解决【做什么】的问题,找出描述问题域和系统功能所需的类和对象,定义它们的属性和职责,以及它们之间形成的关系。

面向对象分析独立于具体实现,不考虑与系统具体实现有关的因素。

看起来可能有点烧脑。别急,我会逐一跟你娓娓道来这段话在讲啥?

PS : 说实话,如果这段话看不下书去,大学计科的书更看不下去。这样你就大概知道我们的多数教材有多么劝退人了。

面向对象分析也是基于需求调研进行分析,只是它采用的方法是对现实世界客观存在的对象进行分析。

举个例子:银行客户去ATM机取款,我们分析出来的对象有银行客户、ATM机等。这种分析方法,采用的是需求单位习惯的方式,大家更容易同频沟通。

在需求分析阶段,主要用到UML工具,包括用例图、类图(概念类)、时序图等。

我们来串讲下这些工具如何搭配使用,效果更佳?

1. 用例图

用于以分析对象为维度,去找出它希望在系统里能做什么?还以前面的取款为例,银行客户的用例活动包括:登录、查询余额、取款等。这里每一个用例活动,都是用户们耳熟能详的内容。

关于用例图更详细的内容,可见前面推文。

2. 类图(概念类

之前的文章,我们当时提到产品经理不要参与类的设计,这个可能误导实际开发的人。

但实际上类还分为概念类、设计类、实现类,为了向后面的开发环节传递你的分析、设计的思想,产品经理们还是有必要再往前走一、两步。

每个用例图对应一个概念类图。概念类图通过属性和方法进一步描述它的信息和行为。

以取款这个事件为例,概念类图示例如下:

先分析出概念类有银行客户、银行卡、ATM机、凭条等(如何分析?这里提供一个简单办法,先从用例图表的文字描述找出名词和名词短语,再分析它是不是一个独立的对象)。

再以银行客户这个概念类为例,我们分析出它的属性含:姓名、性别、身份证号、银行卡号等;方法含:插入银行卡、退出银行卡。

看到这里,豆芽君希望你停下来思考下,概念类图与ER图有什么区别?

思考一分钟后,再往下看。

如果你看过之前的推文,豆芽君在用例图后是讲了ER图,这是一种结构化分析的方法。ER图就是我们上一篇讲到的数据流程图的进一步细化,它同样只保留了数据有关的内容。

而面向对象分析采用的概念类图,它相对来说更加具象、易理解。从上面取款的事件的概念类图,我们看到的信息有业务领域的具体对象(银行客户、ATM机等),对象间的关系(如银行客户和ATM机维修人员都是ATM机使用者),对象所含的信息和能执行的行为。

类图比ER图提供了更丰富的信息。类图同时呈现信息与行为,而ER图只能呈现数据信息,无法体现行为。

3)时序图

前面讲到的类图是一种静态模型图,无法反映对象间的交互过程,而时序图等动态模型可以补充说明消息传递的次序。

这就像我们做菜时,除了需要有食材、调味料,还得知道每样食材的蒸煮炒炸的顺序,最终才可能做出一道美味的佳肴。时序图的具体内容,在去年7月的推文已讲到,不再赘述。

注意:很多2B产品经理是跳过了类图/ER图的分析环节,直接进入了原型图设计。这样其实只解决了前端开发的设计问题,而对后端开发没有起到实质性的指导作用。这也会给后端开发人员带来二次的分析与设计工作。

到了这里,我们讲完面向对象分析的主要工作与工具。我们一起来稍微做下总结:面向对象区别于结构化的特点是,它以业务领域的对象为调研对象,更容易与需求方讨论需求;在分析阶段依然保持以领域对象为分析对象,分析对象与调研对象可对应。

相比之下,结构化分析一味强调数据与数据流,这种产出物一般只有IT同行可理解,难以与需求单位沟通。

二、面向对象的设计

前面讲完面向对象的分析,接下来我们继续讲讲面向对象的设计。

同样先看教材的一段定义:系统设计解决【怎么做】的问题,又称为物理设计阶段。

根据系统规格说明书规定的功能要求,考虑实际条件,具体设计实现逻辑的技术方案,为下一步系统开发工作做准备。

从这段对系统设计阶段的目标描述,我们可以看出分析与设计应该是相互紧密衔接的。接下来,我们要讲的重点也将放在两者的衔接上。

先说说设计阶段用到的工具主要是类图,以及对象持久化。

前面分析阶段的概念类图,是设计阶段的设计类图的工作依据。设计类图进一步分为实体类、控制类、边界类。设计类是直接可用于后面的程序设计的,我们这里不会讲如何去设计这些类。

概念类图是以业务领域的对象为维度来描述系统的类,而设计类图则进一步拆分出实体类、控制类、边界类,并定义了类之间的6种关系(关联、依赖、泛化、聚合、组合、实现)。

我猜大部分非科班的人是看不下去的,这里豆芽君建议设计类的工作,还是交给开发经理这类岗位的人。

来自《李运华的面向对象设计课》

图中提到的领域类就是我们教材中的概念类,软件类就是教材中的设计类。

面向对象的设计主要就是完成类的设计。如果你有兴趣可以继续看下这段视频:

【面向对象4 | 面向对象设计-哔哩哔哩】 https://b23.tv/J5EVdQ2

对象持久化:面向对象既然是以对象为维度,而不像结构化以数据为维度。但是它们的背后都还是要用到数据库,所以面向对象就多了一个如何与数据库进行对象/关系映射的过程。

说实话,之前豆芽君也一直犯程序与数据库是绑定在一起的错。后面和一些java开发的同学一聊,才发现很多java开发人员并不需要懂数据库,也可以做好后端开发。

原来在java开发中,可以由DBA这类角色专门负责数据库设计与开发,java开发人员只需做好对象/关系的映射(ORM)就可以。

对这块内容有兴趣,你可以继续学习这个视频:

【242,ORM对象关系映射了解-哔哩哔哩】 https://b23.tv/EYc5rmi

好了,关于面向对象设计的工具就讲到这。最后我们再补充说下面向对象分析与设计的衔接。

豆芽君说下个人观点:

  • 从分工来看,面向对象分析主要由系统分析师/产品经理来完成,面向对象设计建议还是交由开发经理类的岗位来完成。
  • 从工作内容来看,面向对象分析的产出物应该可以直接用于面向对象设计,不应该让开发经理们再进行二次的分析工作。
  • 从方法差异来看,面向对象相比结构化方法,在调研、分析环节更容易邀请需求单位参与,在设计、开发阶段也更容易修改和维护代码。

以上。希望不会写代码的你,看完今天的内容,能更好地与会写代码的同学撕逼。

专栏作家

豆芽悟,公众号:豆芽悟,人人都是产品经理专栏作家。专注分享2B管理类软件产品知识、经验、观点。拥有2B管理类软件15年以上的规划、设计、实施工作经验。

本文原创发布于人人都是产品经理,未经许可,禁止转载。

题图来自 Unsplash,基于CC0协议

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。