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

推荐订阅源

J
Java Code Geeks
M
MIT News - Artificial intelligence
D
Docker
S
SegmentFault 最新的问题
B
Blog
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
博客园 - 【当耐特】
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
The GitHub Blog
The GitHub Blog
Y
Y Combinator Blog
腾讯CDC
阮一峰的网络日志
阮一峰的网络日志
U
Unit 42
C
Check Point Blog
GbyAI
GbyAI
美团技术团队
Recent Announcements
Recent Announcements
F
Fortinet All Blogs
量子位
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
Visual Studio Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
G
Google Developers Blog

博客园 - 人非生而知知者

帐号实名制及其方式-修订版1.0 以SNS的模式做企业管理应用 苹果CEO史蒂夫·乔布斯(Steve Jobs),2005年,斯坦福大学 赢在中国 - 史玉柱经典语录(转载) 方案销售是一种新的销售模式---售前工程师 Palm 680磨合使用 软件需求分析工程中的几个常见事 palm 680入手使用记录 TOC全景图 TOC Ubuntu9.04 配置Eclipse 中C语言编译环境及GTK+ ubuntu 街机模拟器 学习使用VIM 目标——简单而有效的常识管理 如何在ASP项目中使用Fckeditor2.6.4 业务建模-用例 coffeewoo 出自itpub BB8700 bowser net 系统分析-系统设计-需求分析的区别 揭秘jbpm流程引擎内核设计思想及构架 (转)
用例图之用例与生、见、变、灭
人非生而知知者 · 2009-07-02 · via 博客园 - 人非生而知知者

当前,在产品的功能分析中,遇到难题:虽然让大家统一使用UML规范来建模,设计用例图,但是图中的用例老是感觉不到位,不是多了,就是少了。

为了帮助大家更好的找出系统中的用例,特别引入了一组词“生、见、变、灭”。世界万物都是遵循这一规律:生、见、变、灭。

生:事物的产生,由无到有的过程。
见:事物被看到、被其他观察者查询、查看到。是展示于自然界中的形态。
变:事物的变化,有小到大、由弱变强等变化的过程。
灭:事物的消亡,从有到无。

正好,也在InfoQ中看到《理解REST软件架构》一文,也说到了这一点。

REST与CRUD原则

REST软件架构遵循了CRUD原则,该原则告诉我们对于资源(包括网络资源)只需要四种行为:创建(Create)、获取(Read)、更新(Update)和销毁(DELETE)就可以完成对其操作和处理了。其实世界万物都是遵循这一规律:生、变、见、灭。所以计算机世界也不例外。这个原则是源自于我们对于数据库表的数据操作:insert(生)、select(见)、update(变)和delete(灭),所以有时候CRUD也写作为 RUDI,其中的I就是insert。这四个操作是一种原子操作,即一种无法再分的操作,通过它们可以构造复杂的操作过程,正如数学上四则运算是数字的最基本的运算一样。

在编写用例图的过程中要做到以下几点,就能从很大程度上避免丢失用例的情况:

1、找到一个业务实体(事物),验证其是否有“生、见、变、灭”相关用例。
2、对于“生、见、变、灭”的用例,其是否有相关的扩展。如:‘修改信息’的相关扩展可能为‘推荐’、‘审核’等影响其变化的用例。
3、基于各扩展,其是否又产生了新的实体。如:‘审核’发生时,就会出现‘审核信息’这一实体。那么这一实体的细分又产生了‘申请审核(生)’、‘批准审核(变)’、‘撤回审核(灭)’等。

一句话:即要通过实体的整个生命周期来考虑。

这四个操作是一种原子操作,即一种无法再分的操作,通过它们可以构造复杂的操作过程,正如数学上四则运算是数字的最基本的运算一样。 --我们正是基于对“CRUD”这一基本操作的重复构造,来完成对用例的完整性检验的。

对于用例图中用例精度(粒度)的思考:
基于对 某一实体的相关用例的扩展而引起的新实体的用例,其可以做细分,也可以概括论之。其把握点在于这“新实体”对“某一实体”的影响有多大,以及怎么样能给读者恰好说清楚。