楼主: 前夕的泪

[范例] 捆饶了我5个小时的UML问题

[复制链接]
论坛徽章:
51
ITPUB元老
日期:2006-06-19 14:56:542014年新春福章
日期:2014-02-18 16:41:11夏利
日期:2013-10-16 16:42:202013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:05:07奥运会纪念徽章:皮划艇静水
日期:2012-06-17 10:04:132012新春纪念徽章
日期:2012-01-04 11:49:54紫蛋头
日期:2011-11-22 19:52:24ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41鲜花蛋
日期:2011-08-22 14:05:27
11#
发表于 2006-9-27 12:14 | 只看该作者

Re: 俺来抛砖引玉

最初由 backlove 发布
[B]偶的顺序是先确定系统边界,再找系统执行者,再找用例。有些细节,比如信息表中的内容在用例图是做不了的。 [/B]


通知计费不能算是用例!
并且通知计费没有执行者。你说用一个Timer算执行者这认为不妥,通知计费是完成课程登记后做的,与时间没什么关系。

使用道具 举报

回复
论坛徽章:
51
ITPUB元老
日期:2006-06-19 14:56:542014年新春福章
日期:2014-02-18 16:41:11夏利
日期:2013-10-16 16:42:202013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:05:07奥运会纪念徽章:皮划艇静水
日期:2012-06-17 10:04:132012新春纪念徽章
日期:2012-01-04 11:49:54紫蛋头
日期:2011-11-22 19:52:24ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41鲜花蛋
日期:2011-08-22 14:05:27
12#
发表于 2006-9-27 12:20 | 只看该作者
我做的是这样

image002.gif (3.16 KB, 下载次数: 34)

image002.gif

使用道具 举报

回复
论坛徽章:
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
13#
发表于 2006-9-27 12:57 | 只看该作者
最初由 newzqs 发布
[B]我做的是这样 [/B]



你做演绎了, 修改课程表并没有说要重新计费的.

使用道具 举报

回复
论坛徽章:
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
14#
发表于 2006-9-27 13:04 | 只看该作者

Re: Re: Re: Re: Re: 俺来抛砖引玉

最初由 newzqs 发布
[B]
以这些需求来讨论是不是应该用包含不太恰当,赞成单独画一个用例



如果从执行者角度来说,选择必修课和选择修补课都是完成选课这个目标,可以算做一个用例,也可以降低目标把选必修课和选候补课算作两个用例,这要看用例描述时才能决定。但是把选必修课和迁候补课包含再选课中不妥,这样做是把包含关系当层次关系使了。

完成登记和通知计费不能算做单独的用例,只能算做用例中的一个步骤。 [/B]


完成登记作为单独的用例是因为需求中对该状态有特别的描述. 偶认为实际的情况是, 在完成登记之前学生反复修改课程表, 这是课程登记的一部分可以用若干天来完成, 而完成登记则是正式向学校提出申请, 学校考察了各种条件之后, 给予许可, 并通知计费.
可见完成登记是非常重要的用例, 在它之前课程表只是草稿, 而在它之后就是正式的合约一样的文档了.

通知计费之所以做为单独的用例是因为它关系到了一个独立的执行者.

使用道具 举报

回复
论坛徽章:
51
ITPUB元老
日期:2006-06-19 14:56:542014年新春福章
日期:2014-02-18 16:41:11夏利
日期:2013-10-16 16:42:202013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:05:07奥运会纪念徽章:皮划艇静水
日期:2012-06-17 10:04:132012新春纪念徽章
日期:2012-01-04 11:49:54紫蛋头
日期:2011-11-22 19:52:24ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41鲜花蛋
日期:2011-08-22 14:05:27
15#
发表于 2006-9-27 14:01 | 只看该作者

Re: Re: Re: Re: Re: Re: 俺来抛砖引玉

最初由 lodge 发布
[B]

完成登记作为单独的用例是因为需求中对该状态有特别的描述. 偶认为实际的情况是, 在完成登记之前学生反复修改课程表, 这是课程登记的一部分可以用若干天来完成, 而完成登记则是正式向学校提出申请, 学校考察了各种条件之后, 给予许可, 并通知计费.
可见完成登记是非常重要的用例, 在它之前课程表只是草稿, 而在它之后就是正式的合约一样的文档了.

通知计费之所以做为单独的用例是因为它关系到了一个独立的执行者. [/B]


如果这样说,那么完成登记为什么又包含在选择课程的用例中呢?
如果有这种包含关系,那么说明选择课程用例如果没有完成登记,那么选择课程这个用例是不完整的.
这和你说的完成登记作为单独用例又是矛盾的.

通知计费不能成为一个单独的用例,一是因为它没有主动执行者.二是因为通知计费只是选择课程这个用例成功完成的所必须的一个步骤.其价值包含在选择课程中了.

使用道具 举报

回复
论坛徽章:
51
ITPUB元老
日期:2006-06-19 14:56:542014年新春福章
日期:2014-02-18 16:41:11夏利
日期:2013-10-16 16:42:202013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:05:07奥运会纪念徽章:皮划艇静水
日期:2012-06-17 10:04:132012新春纪念徽章
日期:2012-01-04 11:49:54紫蛋头
日期:2011-11-22 19:52:24ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41鲜花蛋
日期:2011-08-22 14:05:27
16#
发表于 2006-9-27 14:05 | 只看该作者
最初由 lodge 发布
[B]


你做演绎了, 修改课程表并没有说要重新计费的. [/B]


有些时候演绎也是必须的,如果不做这种演绎就将漏掉很重要的需求.

通常我遇到这种情况的时候,总是尽可能多的考虑相关的问题,然后拿到用户处验证.如果用户说没用,去掉就好了.但你不说,用户会想当然的认为是那样的,而这时你就丢掉了这个需求.

使用道具 举报

回复
论坛徽章:
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
17#
发表于 2006-9-27 14:47 | 只看该作者
最初由 newzqs 发布
[B]

有些时候演绎也是必须的,如果不做这种演绎就将漏掉很重要的需求.

通常我遇到这种情况的时候,总是尽可能多的考虑相关的问题,然后拿到用户处验证.如果用户说没用,去掉就好了.但你不说,用户会想当然的认为是那样的,而这时你就丢掉了这个需求. [/B]


这种演绎要到分析USE CASE的阶段才能做, 在做USE CASE模型的时候, 最基本的原则就是要和需求一模一样地做, 这样才能保证分析对象的准确性.

使用道具 举报

回复
论坛徽章:
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
18#
发表于 2006-9-27 15:01 | 只看该作者

Re: Re: Re: Re: Re: Re: Re: 俺来抛砖引玉

最初由 newzqs 发布
[B]

如果这样说,那么完成登记为什么又包含在选择课程的用例中呢?
如果有这种包含关系,那么说明选择课程用例如果没有完成登记,那么选择课程这个用例是不完整的.
这和你说的完成登记作为单独用例又是矛盾的.

通知计费不能成为一个单独的用例,一是因为它没有主动执行者.二是因为通知计费只是选择课程这个用例成功完成的所必须的一个步骤.其价值包含在选择课程中了. [/B]


需求的描述就是这样说的.

每门课程人数不得多余10人或少余3人。一旦学生完成登记过程,登记系统将信息传入记费系统以便计算学生在本学期的学费数额
[/COLOR]
很明显这个步骤是由学生执行同时又涉及到外部其他的执行者. 偶那么画是很自然的.

画USE CASE不应该加入任何自己的观点, 人家怎么说这里就怎么画, 至于合不合理, 要等到分析之后, 重新整理USE CASE, 现在要做的就是一点不走样地把用户的需求画出来.

使用道具 举报

回复
论坛徽章:
51
ITPUB元老
日期:2006-06-19 14:56:542014年新春福章
日期:2014-02-18 16:41:11夏利
日期:2013-10-16 16:42:202013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:05:07奥运会纪念徽章:皮划艇静水
日期:2012-06-17 10:04:132012新春纪念徽章
日期:2012-01-04 11:49:54紫蛋头
日期:2011-11-22 19:52:24ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41鲜花蛋
日期:2011-08-22 14:05:27
19#
发表于 2006-9-27 19:55 | 只看该作者

Re: Re: Re: Re: Re: Re: Re: Re: 俺来抛砖引玉

最初由 lodge 发布
[B]

需求的描述就是这样说的.

每门课程人数不得多余10人或少余3人。一旦学生完成登记过程,登记系统将信息传入记费系统以便计算学生在本学期的学费数额
[/COLOR]
很明显这个步骤是由学生执行同时又涉及到外部其他的执行者. 偶那么画是很自然的.

画USE CASE不应该加入任何自己的观点, 人家怎么说这里就怎么画, 至于合不合理, 要等到分析之后, 重新整理USE CASE, 现在要做的就是一点不走样地把用户的需求画出来. [/B]


涉及到外部执行者就应该加个用例吗?如果这个需求再加一个通知教材管理系统采购教材,那是不是还要加一个通知购买教材用例呢?即使真的需要(在后面细化用例的时候可能会需要)也应该是扩展的关系,而不应该是包含关系!

你说的画USE CASE我想应该是定义用例的过程,而这时候不应该纠缠于这些很细的用例,这时候也不应该涉及到用例的关系,只要把基本的用例定义出来就行了。这些细节 的东西应该在下一阶段详细描绘

使用道具 举报

回复
论坛徽章:
51
ITPUB元老
日期:2006-06-19 14:56:542014年新春福章
日期:2014-02-18 16:41:11夏利
日期:2013-10-16 16:42:202013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:05:07奥运会纪念徽章:皮划艇静水
日期:2012-06-17 10:04:132012新春纪念徽章
日期:2012-01-04 11:49:54紫蛋头
日期:2011-11-22 19:52:24ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41鲜花蛋
日期:2011-08-22 14:05:27
20#
发表于 2006-9-27 19:58 | 只看该作者
最初由 lodge 发布
[B]

这种演绎要到分析USE CASE的阶段才能做, 在做USE CASE模型的时候, 最基本的原则就是要和需求一模一样地做, 这样才能保证分析对象的准确性. [/B]



很喜欢你的这种做事风格,做事的时候可以分清层次,可以集中精力做好一件事。

使用道具 举报

回复

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

本版积分规则 发表回复

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