123
返回列表 发新帖
楼主: 五老星2011

[范例] 自己画得状态图,请大家拍砖

[复制链接]
论坛徽章:
62
ITPUB9周年纪念徽章
日期:2010-10-08 09:28:522012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:25马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:14
21#
发表于 2012-1-18 14:51 | 只看该作者
五老星2011 发表于 2012-1-12 14:14
吸取了一些建议,重新画了状态图。不过我个人观点,作废还是保留了各种作废,原因是激活的条件和产生的动 ...

画复杂了。

用嵌套状态可以减少重复连线。

客户来电作废订单好像是有条件的。一旦审核通过开始备货,要取消可以走退货流程。

使用道具 举报

回复
论坛徽章:
62
ITPUB9周年纪念徽章
日期:2010-10-08 09:28:522012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:25马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:14
22#
发表于 2012-1-18 15:05 | 只看该作者
五老星2011 发表于 2012-1-17 14:47
恩,命名上确实是没注意到。“状态要用能够反应状态的名词 而条件要使用动词进行表述”,很不错的建议!回 ...

>>客户作废、电商作废、系统作废是三种不同的作废方式,有可合并为“已作废”的前提。但是问题也恰恰在这里,三者对应的触发条件不同,且后续如果有数据分析,也不同,那么到底是不是合并呢?

应该合并。

父状态是“已作废”。

子状态是“被客户作废”、“被客服作废”和“被系统作废”。

一个父状态嵌套(内含)三个子状态。

这样,业务需求和软件设计是一致的,你可以用 State 模式实现。

使用道具 举报

回复
论坛徽章:
62
ITPUB9周年纪念徽章
日期:2010-10-08 09:28:522012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:25马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:14
23#
发表于 2012-1-18 15:09 | 只看该作者
五老星2011 发表于 2012-1-12 14:14
吸取了一些建议,重新画了状态图。不过我个人观点,作废还是保留了各种作废,原因是激活的条件和产生的动 ...

这张图并没有比我的那张说明更多的语义和需求,反而画得更复杂了,所以不好,应该合并。

多余的线条和状态未必有更多的价值。

在说明相同内容的情况下,形式应该越简明越好。

使用道具 举报

回复
论坛徽章:
59
马上加薪
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:11:522012新春纪念徽章
日期:2012-01-04 11:49:54ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41灰彻蛋
日期:2011-10-28 14:15:35管理团队成员
日期:2011-05-07 01:45:082011新春纪念徽章
日期:2011-02-18 11:43:332011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:15
24#
发表于 2012-1-18 16:38 | 只看该作者
本帖最后由 lodge 于 2012-1-18 16:39 编辑

我画了一张不完全的(因为不懂这块业务想画也画不全) 
有几点特别说明一下.

1.货到付款和款到发货,是静态分支,因此没有使用条件分支(用静态结构就能实现)
2.追加状态"等待付款中",并增加每小时查看一次的条件.如果没有该状态,迁移到审核或者作废状态的时间点就显得比较模糊
3.修改状态和条件的描述,其中状态全部使用名词,条件使用动词或条件表达式以明确状态迁移的具体条件
4.考虑到LZ很在意作废的不同方式,追加作废中状态,如有必要可在该状态中嵌套子状态和迁移条件
5.追加备货的条件分支,此处使用条件分支的理由是,这里是动态分支(实现时需要程序作判断)
6.按照自己的感觉追加提货等待中的状态,没啥特别理由.
7.感觉备货过程是一个内部的过程,建议使用嵌套,这样也可以简化主状态图

status.JPG (40.5 KB, 下载次数: 54)

status.JPG

使用道具 举报

回复
论坛徽章:
0
25#
发表于 2015-9-4 16:58 | 只看该作者
好! 学习!

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表