[全程建模]关于Actor与外部系统的对话

北京-FireSpider 男2013/2/4 20:45:25

青润老师在线吗?

北京-FireSpider 男 2013/2/4 20:51:30

 被动的Actor好像真的存在呀。在邱郁惠的《系统分析师UML用例实战》的第47页有一个例子:购物网站中有一个用例“刷卡结账”,它有一个被动的Actor,是“信用卡系统”。

青润  21:59:21

呵呵,邱的做法也是错误的。

我看过她的那本书,里面在这方面,确实错了。

北京-FireSpider 男  22:00:21

这个问题值得关注,因为涉及对外接口这一块。

哪比如“打印”用例需要连接到“打印机设备”,应该如何表示呢?

青润  22:01:14

这些都属于外部系统

只需要通过系统表示即可。

至于这些系统内部如何运行,是不需要考虑的,因为这不是你要开发的部分。

北京-FireSpider 男  22:01:47

画成一个方框?

青润  22:02:42

系统本来就分为外部和内部,内部还要分为各个实施阶段,也就会出现本次开发需要实现的,和不需要实现的。

不需要实现的部分与外部系统是同等的表示方式。

如果不是这样表示,难道你也要把这些uc表示成actor么?

北京-FireSpider 男  22:03:23

嗯,画成Actor感觉是挺怪异的。

但,如果一个用例是一个WebService的方法,是需要外部系统主动调用的。哪这个外部系统作为主动调用方,可以画成Actor吗?

青润  22:04:21

我从02年开始就一直强调actor必须是可以主动发起行为的,因此数据库,时钟等都不是actor。

另外,还有一个很多人都犯的错误,那就是对actor上进行类设计。

那也不是actor,因为这也只是外部的接口调用,如果不是接口调用,那就不是外部系统了。

如果外部系统可以通过非接口对你的系统中的方法进行调用操作,那你的系统就会出现严重的安全隐患,或者属于被操控。

青润  22:05:21

这在系统设计中是完全不能容忍的。

北京-FireSpider 男  22:07:55

主动发起系统行为的,通常是人,但也可以是系统,还可以是设备的按钮等。

青润  22:08:11

设备的按钮,也是人去操作的。

如果是时间控制器,那也是人进行的设定,然后才能启动,所以,一切非主动行为者,都不能定义为actor

北京-FireSpider 男  22:08:34

但如果是一个远程系统的话,就不是了。

青润  22:09:04

那就是接口,也同样不是actor

北京-FireSpider 男  22:09:46

比如,一个C# Remoting服务器在运行时暴漏了Rometing的接口,客户端通过接口来调用他的功能。

青润  22:10:31

无论任何一种,你都可以找到actor的存在,如果找不到,那就肯定是系统设计中出现了问题,或者没有调研清楚需求。这一点,不容置疑。

北京-FireSpider 男  22:11:57

不过,要是通过关注客户端的的人,是不是有点太间接了?

青润  22:12:19

这是个原则,不是说可以谈判的,对于系统,必须弄清楚原委,否则,肯定会出现设计问题。

如果你找不到实际的actor,那就会出现问题,或者隐藏的actor出现。

北京-FireSpider 男  22:12:51

主要是,不知道哦客户端的系统是怎么开发的,人触发的操作经过多少个接口调用以后,才调用到服务器端接口的。

青润  22:13:32

你自己思考一下你假设得这个过程,这个过程如果出现了这么多的接口调用,是否违反了系统设计原则?

北京-FireSpider 男  22:15:31

我想想

青润 22:16:53

嗯。考虑一下OOAD的设计原则,然后再来思考你刚才提出的这些问题。

北京-FireSpider 男  22:19:01

好的

先谢谢老师,我思考思考。

青润  22:19:25

好的。不客气。

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READme.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青润

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值