(四六)——UML学习摘录(上)
最后更新于:2022-04-01 11:20:43
## 产品设计体会(四六)——UML学习摘录(上)
人治à法治à无为而治,大公司多为第二种:法治,1和3很像,外表经常看不出来。管理最高境界就是做到无为而治,这是产品和团队的发展必经阶段,我们的现状就是“1à2”,开始规范化,正好有同学原来熟悉UML,所以大家也都开始学习一下。
UML就是统一建模语言,它试图将软件工程的过程给规范化,从产品设计的角度,我对它的简单理解就是用一系列的标准图把需求分析的过程串起来,充分体现了“字不如表,表不如图”的原则,具体是以单个用例的粒度为界,把相关的图理解为两个层面。
上层的图中,用例是最小单位,不涉及用例内部,主要有:
Ø **类图**:感觉有点像**实体关系图**(ERD,更接近现实世界的对象,类图更接近技术实现的对象),描述系统中出现的各个对象之间的关系,以及和外部系统的关系。这是对业务领域的描述,一个外行看了以后就应该了解系统是做哪方面事情的。还是用我最喜欢的“小明去饭店”为例,画个图练练。
[![类图 举例](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-22_571a0927809f5.jpg)](http://blufiles.storage.live.com/y1p3O4KBNpz6AV_KPKIkWr1mx6ubLw5xj3aAL2bUziPjISKb5XPUALmD3Cqei9of4LmasnvK3kcF6Q)
Ø **用例图**:各个用例之间的关系(include/extend)、用例包、用例和actor之间的关系(将一组相关用例打包成一个模块,画成“**用例包**”)。描述这个系统具体可以做哪些事情。
[![用例图 举例](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-22_571a092790d47.jpg)](http://blufiles.storage.live.com/y1p3O4KBNpz6AWnZqemj7MBtR9qbDGFCZd5UfJ353R0NxWbIdenyyZyftmGS5aW8p3hetmkKBHaJls)
Ø **状态图**:表达系统里实体的状态转换,这也是贯穿多个用例的。例图里描述的就是“小明”的状态转换。
[![状态图 举例](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-22_571a0927a4819.jpg)](http://blufiles.storage.live.com/y1p3O4KBNpz6AWy1KAu460WvyV6Wbo6a0y6-xvJYYE1ga35dQH7K2tK3BGvcHgRxc6kos3xojFrLm4)
这个层面上的图包装一下就可以生成整个产品最顶级的**业务逻辑图**,描述整个系统的业务层面的事情,用于商业演示。业务逻辑图的画法现在团队内也没有统一的意见,比较随意,也就意味着最难画。
下一次再画点下层的图。