简介这是《大象-Thinking in UML》一书的配套光盘资源适合软件架构师、系统分析员及正在学习UML建模的开发者使用尤其有助于理解书中第三部分进阶篇中的完整建模过程。压缩包共1903个文件约9.25MB以htm网页文件、tif图片、png与jpg图片、cnt帮助索引文件为主同时包含mdl模型原文件、HTML版建模示例、Java虚拟机安装包、pdf文集等。图例目录收录书中全部彩色插图图片与插图编号一致便于对照阅读Rose版建模示例.mdl可查看实例建模全程HTML版则不依赖Rational Rose即可浏览另附作者整理的OO系统分析员之路系列文章可作为学习辅助材料。资源小巧但信息集中是围绕书籍延伸图例、建模源文件与扩展阅读的一站式配套资料。目前已有571人获取该资源适用于需要边读边动手复现UML建模过程的读者。1. 为什么一本讲思维的书配套光盘比正文更值得先下载学 UML 的人案头大多有一本《大象-Thinking in UML》但多数人只把它当书读正文翻完一遍理论记住了真打开建模工具还是对着空白工程发怵。这本书的配套光盘才是被低估最严重的部分——建模工具的试用版、全书主案例的完整模型工程、能直接导入的 UML 图都在这张盘里。对三类人尤其要紧准备软考中级、需要把 UML 建模题练出肌肉记忆的学生看得懂类图、用例图但一开工具就卡壳的初级开发以及要把需求转成活动图、状态图等动态结构图的架构新人。这篇文章按「光盘有什么 → 怎么下载成 ISO → 怎么在新系统装跑 → 五个常见翻车现场 → 进阶生成代码」的顺序讲透照着操作就能把这张盘的价值吃干抹净。2. 光盘里到底装了什么从建模工具到案例模型库拿到光盘先别急着点 setup.exe先看清里面装了什么再动手。这套盘里通常有三类内容建模工具安装包、随书案例的模型工程文件、以及设计模式与作者补充资料。不同印次的光盘内容会有细微差异但主线结构基本一致我按最常见的构成往下讲。2.1 建模工具为什么书里用的是 Enterprise Architect 试用版这套光盘里带的建模工具是 Enterprise Architect一般叫 EA的试用版。书里选 EA 而不是 Rational Rose 或 Visio理由很实在EA 是单文件工程启动快画图顺手而且支持从类图直接生成 Java、C# 代码正好贴合这本书「思考完就能落地」的路线Rose 当年在企业里存量很大但授权贵、上手重Visio 又只是画图不承载模型语义。EA 这个选择对新手反而是好事——不需要理解复杂的建模框架打开工程文件就能看到书里那张图的原件。光盘里带的是当时那个版本的 EA 离线试用安装包不需要注册账号装完默认 30 天试用期。30 天对通读一本书加复现案例模型基本够用想延长就走官方邮件申请试用授权的流程但别去碰来路不明的破解补丁。如果你不想被试用期卡住常见的替代做法是用 StarUML 或 Visual Paradigm Community 版看图但要注意它们打开 .eap 原生工程的能力有限。我把几个常见工具的定位列一下工具打开 .eap 文件上手成本适合场景EA 试用版原生支持中跟着书完整复现案例StarUML需导入 XMI低只看图、画简单类图Visual Paradigm Community需导入 XMI中画图加部分代码生成PlantUML不支持需手写文本低程序员快速生成 UML 图最省事的路径仍然是装光盘里的 EA 试用版把案例模型完整看一遍再决定要不要换工具。2.2 案例模型库从用例图、活动图到类图的完整链路光盘里最值钱的是书里主案例的模型工程一般是一个 .eap 后缀的单文件。EAP 是 EA 早期版本的原生工程格式底层是 Access/Jet 数据库所有包、图、元素都塞在这一个文件里。打开之后在左侧 Project Browser 的包树里能按章节浏览先是用例模型也就是 uml用例图描述系统边界和角色然后是业务流程活动图带泳道、判断、分支、汇合这些 uml活动图要素再往下是领域类图最后是序列图、状态图这类动态结构图。我很建议按这个顺序读案例而不是从类图开始。用例图回答「系统给谁用、用来干什么」是软考中级 UML 建模题的常规开题点活动图把用例展开成流程能画判断和并行分支类图才落到对象和关系。很多初学者一上来就盯类图结果只见树木不见森林。光盘里这套编排本身就是一本可执行的「建模顺序教科书」先跟着走一遍比背十页理论都管用。读用例图时重点看两条构造关系include和extend它们在图里都画成带构造型的虚线依赖箭头。include 表示一个用例必定包含另一个用例的行为extend 表示在特定条件下才扩展某个用例。这两个符号在软考下午题里几乎是必考点光盘案例里都有现成的画法可以对照。读完静态部分再看动态结构图序列图表达对象间按时间顺序的消息传递状态图表达单个对象的状态迁移活动图表达业务流程的分支与并发——这三类在考试里经常被放在一起对比区分标准就是「谁在动」。2.3 设计模式与补充资料23 种 UML 设计模式怎么在光盘里学除了主案例光盘里往往会附带一批经典设计模式的模型与代码示例也就是常说的 23 种 UML 设计模式及其代码。这些东西对软考中级和面试都很有用但用法有讲究不要逐行读代码要把每个模式的类图当「地图」看。比如策略模式就是「一个策略接口 多个实现类 一个持有策略引用的上下文」观察者模式就是「主题和观察者之间一条依赖加一条关联」。类图上箭头的方向、虚实、形状已经把模式的核心表达完了代码只是把图翻译成语法。拿策略模式的类图举例Strategy 接口、ConcreteStrategyA、ConcreteStrategyB 与 Context 之间是泛化加关联关系翻译成代码就是 interface、implements、成员字段三件套。工厂模式和抽象工厂的区别重点看类图上「谁 new 了谁」的依赖方向而不是背定义。这种读图能力在软考下午题里非常吃香——题目给你一张类图和一段残缺代码让你补全方法体和关系本质考的就是图和代码的互译。顺便提醒书和盘里的代码示例年代比较早语法风格偏老不要直接搬进生产项目把它们当作「图和代码如何互译」的样例才是正解。看完一个模式合上 IDE自己照着类图把代码默写一遍这个习惯对考软考的人特别值。3. 把光盘变成 ISO下载、挂载与目录校验标题既然挂着「下载」这一步给可复现的操作。先说合法来源再说怎么抓盘、怎么校验、怎么挂载。3.1 先确认手上有没有物理盘三条获取路径最常见路径还是买书随带的物理光盘早几年的印次基本都带盘。如果你的书是二手收的、盘丢了按优先级走三条路。第一条是出版社官网的资源下载栏目按书名或 ISBN 检索不少老书的售后资源页仍提供光盘镜像第二条是高校图书馆的随书光盘系统很多学校这类系统里收录了这本书的盘在校生用校园网就能检索和下载第三条是网络上的公益存档但用之前一定要做哈希校验别解压到一半发现是残档。那些下载站上挂的「网盘直链」十有八九是压缩包套脚本我一般不碰。把话说在前任何让你先装下载器、先关注公众号、先给手机号再给链接的渠道都直接跳过。老光盘镜像单份通常只有几百 MB不值得为它冒更大的风险。另外提醒一句从公益渠道下载前先确认镜像的发布时间和你书印次的大致年代老书重印时光盘内容常有调整版本对不上会白折腾。3.2 抓取物理光盘在 Linux 上做成 ISO 镜像如果你手上有物理盘第一步不是安装而是先抓成 ISO 存档。物理光盘会划伤、会氧化见过太多人装到一半光驱读不出来只能满世界找「后悔药」。抓盘用 dd 最稳先确认光驱设备名# 查看光驱设备通常会显示为 /dev/sr0 或 /dev/cdrom lsblk -e 7然后整盘做成镜像。bs2048 是 CD/DVD 的扇区大小convsync,noerror 让 dd 在读到坏扇区时用空数据补齐而不是直接中断这对老盘很关键# 把光驱设备整盘做成 ISO 镜像 sudo dd if/dev/cdrom ofthinking_in_uml.iso bs2048 convsync,noerror statusprogress抓完后顺手算哈希防止以后传输过程中文件损坏# 计算 ISO 的 MD5和来源值比对 md5sum thinking_in_uml.isoWindows 上对应的是certutil -hashfile thinking_in_uml.iso MD5PowerShell 则用Get-FileHash .\thinking_in_uml.iso -Algorithm MD5。老盘读取吃力时还有个实用技巧先把光驱降速再抓能明显减少读取错误Linux 下用sudo eject -x 4 /dev/cdrom把速度降到 4 倍。哈希一致再谈挂载。3.3 挂载 ISO 并检查目录结构ISO 不需要先刻盘直接挂载。Linux 下# 以只读方式挂载镜像避免误改内容 mkdir -p ~/uml_cd sudo mount -o loop,ro thinking_in_uml.iso ~/uml_cd # 只列前两层目录确认结构完整 find ~/uml_cd -maxdepth 2 -type d | sortWindows 下双击 ISO 即可或管理员 PowerShell 里用Mount-DiskImage -ImagePath C:\downloads\thinking_in_uml.iso。挂载成功且能看到 setup.exe、模型目录、资料目录这样的结构说明镜像基本健康。也可以用file thinking_in_uml.iso确认镜像确实是 ISO 9660 格式而不是改了名的压缩包。如果 find 输出一堆乱码目录名别慌那是老光盘的编码问题第 5 章专门讲。老光盘在 Win10/11 上自动播放基本失效别指望双击盘符就弹出安装界面。最稳的做法是先把整个内容复制到本地目录再折腾# 把光盘内容完整复制到本地安装时避免光驱反复读取 mkdir -p ~/uml_cd_extract cp -r /mnt/uml_cd/* ~/uml_cd_extract/复制完sudo umount ~/uml_cd卸载后续安装全在本地目录进行。4. 让老工具在新系统上跑起来安装 EA 与打开案例模型光盘镜像到手只是第一步真正卡人的是把一个十多年前的工具装到 Windows 10/11 上。这一章按安装前置、模型打开、读图顺序三步走。4.1 Windows 10/11 上的安装顺序与两个前置条件老版本 EA 的安装包用的是旧 InstallShield 壳在 Win10/11 上直接双击经常弹「兼容性问题」或装完起不来。我一般按这个顺序处理命中率很高。先开启 .NET Framework 3.5控制面板 → 程序和功能 → 启用或关闭 Windows 功能勾选「.NET Framework 3.5包括 .NET 2.0 和 3.0」装完重启。老 EA 的界面和代码生成依赖这个运行时缺了它装了也白装。公司域控环境或精简版系统里这个选项可能打不开用管理员 PowerShell 执行 DISM 命令# 离线启用 .NET Framework 3.5/Source 指向 Windows 安装镜像的 sources\sxs 目录 DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /Source:D:\sources\sxs第二步是右键 setup.exe选择「以管理员身份运行」并在兼容性选项卡里把模式设为 Windows 7。这两步做完安装向导基本能顺利走完。如果安装进度条卡在某个位置不动多数是杀毒软件拦截了 InstallShield 写注册表暂时关闭实时防护再装一次就好。安装目录不要放中文路径老工具对路径里的非 ASCII 字符非常敏感我习惯用C:\EA。4.2 .eap 模型打开失败的常见原因Jet 驱动与位数不匹配这是踩坑率最高的一步EA 装好了双击光盘里的 .eap 工程却报「找不到可安装的 ISAM」或直接闪退。原因是老 EAP 依赖 32 位的 Microsoft Access/Jet 驱动而 64 位 Windows 默认不带。这个光靠装 Office 解决不了要走补丁路线# 安装 Microsoft Access Database Engine 2010 可再发行包来解决 Jet 驱动缺失 # 老 EAP 需要 32 位x86版本装 64 位一样徒劳 AccessDatabaseEngine_x86.exe /quiet装完重启 EA 再打开 .eap 就正常了。想确认驱动是否就位可以打开 32 位的 ODBC 管理器运行C:\Windows\SysWOW64\odbcad32.exe在「驱动程序」一页里看有没有「Microsoft Access Driver (*.mdb)」。如果机器装了 64 位 Office装 ACE x86 可能提示冲突可以换 2007 版的 AccessDatabaseEngine x86或者先卸 64 位 Office 再装驱动——但多数办公机只装 WPS碰不到这层冲突。EA 首次打开老工程时会提示「工程由旧版本创建是否升级」弹窗时先把 .eap 复制一份做备份再点是这样升级出错也能退回。4.3 打开案例后的读图顺序一张张点开不如从用例图起步模型工程打开后左边 Project Browser 是一棵包树别急着把所有图双击一遍那只会让你迷路。我建议的顺序是先点开用例图所在的包看系统边界和参与者再点开业务活动图所在包把每个用例的流程走一遍最后进类图包看对象和关系。这个顺序和第 2 章讲的建模链路一致。读类图时重点看关系线上的箭头泛化线是空心三角实线实现线是空心三角虚线组合是实心菱形聚合是空心菱形关联是普通实线依赖是虚线带箭头。光盘案例里这些符号都出现过对照着看一遍等于把 uml类图箭头含义这门课的习题做完了。这里不要贪快每个箭头要能说出「它表达了什么语义」才算过关软考中级 UML 建模考的就是这个语义判断。想把图存下来做笔记在图上右键选 Save as Image 导出图片即可比手抄快得多。提示老 EAP 在中文 Windows 下可能出现图中部分文字显示为方块一般不是文件坏了而是字体映射问题把 EA 的显示字体改成「微软雅黑」或「宋体」即可。5. 避坑下载、安装与建模的五个常见翻车现场做这个方向的坑一半在「下载到坏东西」一半在「装好后用不动」。把最常见的五个翻车现场按现象、原因、解决三步写清楚遇到时直接对号入座。5.1 下载的 ISO 无法挂载残档与伪镜像的判别现象镜像下完挂载提示「不是有效的映像文件」或者解压到一半报 CRC 错误。原因下载站给的链接断点续传不完整或者它搬运时把文件从 ZIP 里抠出来改了个名哈希对不上。解决解压后先md5sum和发布方的哈希比对发布方不给哈希的就用可见信号判断——ISO 文件大小对不上、顶层目录里只有一个 exe 脚本的直接删。有人从下载站拿到一个几十 MB 的「EA 安装包」跑完发现装了一堆推广软件。下载这个动作一定要把「校验」当成比下载本身更重要的步骤。5.2 类图箭头含义混淆依赖、关联、聚合与组合的实用判法现象对着案例图画关系画出来的类图老师傅看一眼就说「关系用错了」。原因记混了依赖、关联、聚合、组合的箭头和语义。解决不要死记「聚合是空心菱形、组合是实心菱形」用语义判。两个类只是「方法参数或局部变量用了一下对方」那是依赖虚线箭头类成员变量持有了对方引用那是关联实线箭头「整体和部分可以各自独立存在」用聚合空心菱形「部分的生命周期由整体管理、整体没了部分就没了」用组合实心菱形。下表把六种基本关系的线型与判定句放在一起软考和面试前都值得过一遍关系线型与箭头判定句例子依赖虚线 箭头方法里用到对方订单打印时用到打印机关联实线 箭头可双向持有对方的引用客户持有订单聚合实线 空心菱形整体与部分弱所有球队与球员组合实线 实心菱形整体与部分强所有订单与订单明细泛化实线 空心三角是……的一种猫是动物实现虚线 空心三角接口到实现类支付接口与微信支付判别时先看引用位置成员变量还是方法参数再看生命周期最后看多重性三层下来基本不会错。5.3 试用版到期后 EA 打不开文件没坏是授权过期现象某天突然双击没反应或启动就弹 trial period has expired把 .eap 工程拷到别的电脑却能打开于是怀疑自己电脑坏了。原因EA 试用期写进了注册表过期后 EA 本体不干活模型文件本身没坏。解决这不叫损毁叫授权过期。后悔药是在试用期内就把案例模型用 XMI 格式导出一份备份——在 Project Browser 里选中包右键 Export to XMI。XMI 是 UML 工具的通用交换格式万一 EA 用不了StarUML 和 Visual Paradigm 也能导入模型数据一个不丢。没备份就找官方渠道重新申请试用授权别重装系统注册表不清理干净重装一样过期。也别去信改系统时钟的办法那是把工具学成玄学害自己。5.4 光盘文件解压后乱码老光盘的 GBK 编码包袱现象挂载后目录显示一堆类似绋旂▼.pdf的乱码文件名文件内容本身能读。原因这张盘在中文系统时代制作文件名按 GBK 编码记录现代系统默认按 UTF-8 解码中文文件名就变乱码了。解决用支持指定代码页的方式重新挂载Linux 下加 iocharset 参数# 用 GBK 编码重新挂载解决文件名的中文乱码问题 sudo mount -o loop,ro,iocharsetgbk thinking_in_uml.iso ~/uml_cd ls ~/uml_cd文件没有损坏乱码只发生在文件名层面。Windows 下用新版本 7-Zip 处理老镜像时注意在解压对话框里把代码页切换为 GBK如果已经解出一堆乱码文件名复制完再统一改回来就行。这是老光盘和现代系统之间绕不开的历史包袱遇到别慌。5.5 案例工程卡顿EAP 单文件的 Access 瓶颈现象模型工程打开正常但随着展开包、双击图界面开始掉帧拖动元素明显迟钝。原因老 EAP 是 Access/Jet 单文件所有图元都从这一个文件读写放到网络共享盘上延迟更明显。解决先把 .eap 复制到本地固态盘再在 EA 里关闭自动布局Diagram 菜单下的 Autosize 相关选项减少每次拖动的重排计算。如果模型已经大到跨多个包把包拆成独立 EAP或用新版 EA 将工程迁移到 .qeaSQLite 格式性能会好很多。光盘里案例的规模不会大到必须迁移但如果你把 23 个设计模式全部建模到一个工程里卡顿是必然的别误判成电脑配置问题。6. 把光盘价值翻倍的进阶玩法从读图到生成代码6.1 用 EA 的代码生成器把类图变成 Java/C# 骨架光盘里的案例模型不只是用来读的还能直接产出代码骨架。在 EA 里打开一张类图框选若干类Tools → Generate Code选语言和输出目录各版本菜单名略有差异找不到就在帮助里搜 Generate CodeEA 会按模型关系生成对应代码。映射规则很直白关联关系生成成员字段依赖关系生成方法参数泛化关系生成 extends实现关系生成 implements。下面这段代码就是从一个「订单—客户—商品」最小类图生成的骨架public class Order { private Customer customer; // 关联关系 - 成员字段 public void addItem(Item item) { // 依赖关系 - 方法参数 // 业务逻辑由你补充 } }这段骨架说明一件事你在类图上花的功夫能「翻译」成真实代码。很多项目前期图归图、代码归代码两边对不上EA 的生成机制至少保证结构和语义一致。真实项目里不建议拿生成的骨架直接交差但用它做实体层和接口定义的初稿省时间又少打字非常实用。6.2 从光盘案例重构自己的业务模型最小演练进阶玩法说白了就一句话把光盘案例当模板换成自己的业务重画一遍。比如光盘主案例是某个业务系统你就把它换成一个小场景——会议室预订参与者是员工和管理员用例是「查看空闲会议室」「提交预订申请」「审批预订」再画活动图把审批流的判断分支画出来最后落到类图会议室、预订单、员工、审批记录。等这张图在 EA 里成型再用 6.1 的代码生成导出一份实体骨架你就把「用例图 → 活动图 → 类图 → 代码」这条链路完整跑通了一次。我自己现在的习惯是接到任何新需求先开一个空白工程画用例图画到能说清「谁、在什么场景下、要系统做什么」才动代码。这个习惯就是当年对着光盘里的案例一张一张图磨出来的。建模没有捷径但有作品可以临摹光盘里的模型工程就是最好的临摹对象——把它的结构吃透再画自己的图比在工具里瞎点半年进步快得多。希望帮到你。本文还有配套的精品资源点击获取
企业数字化 ERP 产品动态
相关推荐
机器学习干旱预测实战:从SPI计算到XGBoost建模评估 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 5:24:48
VST3 插件开发:基于 VST SDK 3.6.14 的编译、避坑与验证 简介:Steinberg 官方发布的 VST SDK 3.6.14 Build-24 是面向音频插件开发者的核心工具包,适用于编写 VST3 合成器、效果器等专业插件,并通过 IAudioProcessor、IEditController 等标准接口实现音频数据流通与参数控制。压缩包约 86.17MB&… · 2026/9/25 5:24:48
OpenChamber 1.8.3 深度解析:重构上下文面板与嵌入会话聊天、用户消息渲染控制与模型选择器体验升级 AI Agent人工智能代码智能体交互助手 【免费下载链接】openchamber Agentic Development Environment based on OpenCode AI agent 项目地址: https://gitcode.com/gh_mirrors/op/openchamber 点击查看 免费下载 OpenChamber 1.8.3(发布日期 2026-03-02… · 2026/9/25 5:55:39
QualityInspector 工业质检数据集准备实战:以磁砖缺陷数据为例的三种任务格式转换全指南 人工智能计算机视觉预训练 【免费下载链接】PaddleSeg Easy-to-use image segmentation library with awesome pre-trained model zoo, supporting wide-range of practical tasks in Semantic Segmentation, Interactive Segmentation, Panoptic Segmentation, Image Matting,… · 2026/9/25 5:55:39
NLP学术速递工作流:精准筛选与可操作知识提取 1. 这不是“新闻简报”,而是一份NLP研究者的日常补给清单你有没有过这种体验:早上打开arXiv,看到27篇新上传的NLP论文标题,扫了一眼“LLM-based Reasoning over Knowledge Graphs with Adaptive Prompting”,心里一紧—… · 2026/9/25 5:55:39
细胞膜蛋白提取技术:关键步骤与质量控制 1. 细胞膜蛋白提取的核心价值与挑战细胞膜蛋白作为药物靶点筛选的重要研究对象,其提取质量直接影响后续实验结果的可靠性。在药物研发领域,约60%的已知药物靶点都是膜蛋白,但这类蛋白的提取却面临着独特的技术难题。膜蛋白具有两亲性结构&… · 2026/9/25 5:55:33
JmatPro 14.1全模块加密狗部署指南:驱动安装与授权排查 搞材料计算的人对JmatPro 14.1这名字不会陌生,我最近又帮两个课题组把全模块版本的授权环境从头理了一遍,折腾的核心就是那把加密狗。很多人以为全模块版本就是把菜单里所有模块全部点亮,事实没那么简单:真正容易被卡住的… · 2026/9/25 5:55:33
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37