时序图上可以表示分支操作吗?

wjdzs 2003-12-23 09:04:05
我想画这么一个用例

当用户要删除一个账号时,我先查他的权限是否为管理员,如果是普通用户的话他只能修改自己的账号,如果是管理员的话,他给出账号名,即可删除该帐号
...全文
2894 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ozzzzzz 2003-12-25
  • 打赏
  • 举报
回复
wjdzs(*蓝熊嘟嘟)
你可以先看看我给大家书写USECASE的执导,然后有什么问题再来讨论。
http://expert.csdn.net/Expert/TopicView1.asp?id=2571812
wjdzs 2003-12-25
  • 打赏
  • 举报
回复
stonespace(stonespace) 说:不重要的分支不要描述,建模的一个重要原则是不要太过于关注细节,不需要表现完整的逻辑

ozzzzzz(希望敏捷) 说:其实USECASE中的每一条场景流程来说,都是很简单的。

就我说的这个例子,是不是可以分成管理员删账号,普通用户删账号2个场景流程,那么相应的就有管理员修改账号,普通用户修改账号等等。具体到每个场景,好像都非常简单,文本描述就可以说清楚了。那么怎么确定哪个更重要些需要画出来,哪个就不需要画了呢?
ozzzzzz 2003-12-24
  • 打赏
  • 举报
回复
嘿嘿。刚好和你想的相反,复杂的就需要你考虑一下是不是要画,简单的就应该画下来。为何?
因为USECASE反映的是需求,其业务逻辑虽然有可能复杂,但是也是以有多种分支为表现。如果你觉得复杂,那么往往就说明,你应该继续作分支。其实USECASE中的每一条场景流程来说,都是很简单的。只是因为你把他们放在一起,由于有多种线索,才使他们显得复杂了。但是别忘了,复杂往往是由简单的东西的组合而产生的。作为USECASE来说尤其是这样,业务流程虽然从整体上说是复杂的,但是不可能是有复杂的场景组成的。如果场景复杂,那么就说明这样的业务逻辑本身有问题,是需要作改进的。
jeffyan77 2003-12-24
  • 打赏
  • 举报
回复
UML 2.0支持segments,这就可以实现你的需要了
wjdzs 2003-12-23
  • 打赏
  • 举报
回复


那是不是描述一个系统的时候,不需要把所有的事件流都描述出来,那怎么确定哪些要描述,哪些不要描述?是不是相对复杂一点的就画出来,比较简单的就不要画了。
stonespace 2003-12-23
  • 打赏
  • 举报
回复
不能,也没有必要

时序图是用来展现对象之间如何互相调用的,以及交互的大致次序。并不是用来表示精确逻辑的。

建模的一个重要原则是不要太过于关注细节,不需要表现完整的逻辑,表达出设计的最重要思想就行了。否则模型包含内容太多,会把最重要的内容淹没,反而重点不突出,也不容易维护一致性。

时序图不是用来描述算法的。use case有分支的话可以用多个事件流表达,不重要的分支不需要描述,用自然语言文本描述就可以了。

1,268

社区成员

发帖
与我相关
我的任务
社区描述
软件工程/管理 管理版
社区管理员
  • 研发管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧