View Full Version : Can a system be an actor in a use case?
beej199
07-18-2006, 01:43 PM
Ive read in a couple of posts that a use case can only have a human actor in it, is this true?
If you can not have a system, how would someone document an automated system using a use case?
achen
07-18-2006, 04:35 PM
Ive read in a couple of posts that a use case can only have a human actor in it, is this true?
If you can not have a system, how would someone document an automated system using a use case?
Some people like to have systems as actors. However I prefer not to as the point of a use case is to provide a simple format for business users to diagram out the tasks that they do to accomplish their job. For systems I prefer to use a process diagram. However use cases can work fine for systems.
LucyBA
07-19-2006, 02:00 PM
Ive read in a couple of posts that a use case can only have a human actor in it, is this true?
Definitely they can be actors. I think the system in the use case is actually an actor. I have read conflicting things on this, indicating there is a split opinion on whether the system you develop is an actor or not, so I am sure some will disagree with me.
I also think you can have a user interacting with multiple systems in a use case. You can even have a user interacting with a system that interacts with another system. Though to achen's point, that isn't always the best way to format the information.
I think you can make anything an actor and you can describe anything in a use case.
The real question is - is this the best way to present the information? I think by trying to shoehorn this description of interaction into a use case, you are missing out on what they should be used for.
In other words, I totally agree with achen's post and don't really have anything original to add. :)
joe
rcauvin
07-19-2006, 09:25 PM
Ive read in a couple of posts that a use case can only have a human actor in it, is this true?
If you can not have a system, how would someone document an automated system using a use case?
An actor is a role. Anything can play that role, whether a human, another kind of animal, or another system.
An actor is a role. Anything can play that role, whether a human, another kind of animal, or another system.
I agree with this but I think it is important to not use the use case method to describe the actions of all kinds of actors in all cases.
joe
kwiegers
07-22-2006, 09:02 AM
Ive read in a couple of posts that a use case can only have a human actor in it, is this true?
If you can not have a system, how would someone document an automated system using a use case?
An actor is some entity outside the boundary of a system that interacts with the system for the purpose of accomplishing some valuable goal. So the "system" we're talking about cannot itself be an actor, because the system isn't external to itself and won't be interacting with itself in this sense. However, actors can be humans, other software systems, or hardware devices.
I agree that use cases are not always the best way to try to represent requirements. For real-time systems involving hardware devices, for example, an event-response table is often a better way to describe the system's behavior than trying to force-fit everything into a use case. Different kinds of nails need different kinds of hammers.
I think it's not wrong to describe external or even internal system but call this Agents and not Actors. After all, they are a part of your functional requirements.
That's your use case.
If something isn't part of an interaction with an external actor, no one will ever know whether it's implemented or not. That's why
- The system can't be its own actor. "A" system can be an actor, but not "the" system.
- Postconditions are evil. Any postconditions must show up in some use case (possibly as preconditions), otherwise there's no way to know whether they've been met. Anything else is sneaking design into the requirements.
One of the questions you need to keep asking is "is this really the requirement, or is it a presumed realization?" Leave design to the developers.
---
发信人: bakkhos (笨瓶子·喜欢乌咪·代替月亮惩罚你~:), 信区: SoftEng
标 题: 定时器在用例图里是不是一个角色?
发信站: BBS 水木清华站 (Sun Aug 12 00:37:37 2001)
摘自《非程序员》第一期
定时器在用例图里是不是一个角色?
Straybird:
假设一个用例是“查询设备状态”,角色是“设备”,每隔一定时间系统开始执行“查
询设备状态”这个用例。但是用例应由角色启动的,而“设备”这个角色只是被动的,
这个用例实际上是定时器启动的,定时器应当是角色。可是定时器是系统边界以内的对
象,不应是角色。是不是可以把时间看作角色,定时器作为对应角色的主动对象,这样
理解是不是就符合模型了?
刚开始学习用UML 做分析,许多地方不知理解的对不对,希望大家答疑解惑
worship:
我觉得定时器应是一个守卫条件,不应该看为一个角色。“查询设备状态”用例由其他
角色激活,然后启动计时器"守卫"对被动角色“设备”的访问。
Ms.OO:
角色应该是时间。角色有几类:用户,外系统,时间,所以,角色应该是时间。
“是否角色”与“是否在系统内表示”并无关联,例如,一个顾客上网站买东西,顾客
是角色,但系统内也会有“顾客”类。
角色是角色,它在系统外部工作,它可以映射系统内的某个类,也可以什么也不是
straybird:
多谢两位指点。从状态图上理解,把定时器作为守卫条件就很合理了,这样启动系统时
,用例激活,守卫条件满足时,执行用例,启动系统的操作员是激活用户的角色,是这
样吗?把时间作为角色也应该是合理的,只是这个角色有点抽象,呵呵。
--
有人认为:“解决问题的高手是天生的,而不是后天造就的。有些人拥有此技能,有些
人则没有。它是一项天生的创造性的技能…是教不会的。”
但事实上,成功解决问题很大程度上取决于系统的和受过训练的思考方式,这种技能能
被任何一个有天赋的人所掌握。结构化的方法会促进灵感和创造力-而不是阻碍它。
※ 来源:·BBS 水木清华站 smth.org·[FROM: 166.111.166.223]
分享到:
相关推荐
In this context, we will explore the use case diagram and requirements specification of the hospital registration and scheduling system. Use Case Diagram The use case diagram of the hospital ...
在规约中,可能会使用到一些专业术语和缩写,如UC(Use Case)、AT(Actor)、SC(System Context)等。确保这些术语的定义清晰,以便读者理解。 ### 1.4 参考资料 参考资料部分通常列出规约引用的其他文档,例如...
- **Use-case and Deployment Scenarios:** Akka is versatile and can be deployed in various scenarios, including microservices architectures, serverless environments, and traditional server deployments....
By examining each actor's roles and how they interact with the system, a comprehensive understanding of the system's functionality can be achieved. The amount of information to write about is a ...
- 对其他Actor与Use Case之间的关联重复上述步骤。 #### 注意事项 - 当选择箭头图标时,持续按住Shift键,可以避免每次都需要重新选择箭头图标。 - 在整个过程中,确保正确地设置了各种属性和选项,以便能够顺利地...
其中,用例图(Use Case Diagram)是UML的一种静态视图,它捕捉了系统与外部参与者之间的交互。本文将深入探讨用例图的概念、组成部分以及如何绘制用例图。 用例图的核心概念: 1. **用例(Use Case)**:用例描述...
Chapter 21: Inheritance case study: “undo” in an interactive system 695 21.1 PERSEVERARE DIABOLICUM 695 21.2 FINDING THE ABSTRACTIONS 699 21.3 MULTI-LEVEL UNDO-REDO 704 21.4 IMPLEMENTATION ASPECTS ...
总的来说,《UML的使用参考手册》不仅教授了如何使用Rational Rose这一专业工具,同时也深入浅出地介绍了UML的核心概念,包括Actor、Use Case、关系表示等,是学习UML建模和系统设计的重要参考资料。通过跟随手册的...
- **Actor System**:管理 Actor 的生命周期和资源。 - **Supervisor**:负责监控 Actor 并处理故障。 - **Dispatcher**:控制 Actor 的执行线程池。 - **Mailbox**:用于存储 Actor 接收的消息队列。 ##### 2.2 ...
- **Multi-Catch Exception Handling**: Explanation of the new multi-catch feature that allows multiple exceptions to be caught in a single catch block, improving code readability and maintainability. ...
在软件工程领域,用例(Use Case)是一种强大的工具,用于描述系统或产品如何与用户或其他系统交互,以实现特定的目标或提供特定的价值。本资料《Writing Effective Use Cases》深入探讨了如何编写出既实用又高效的...
- **用例图(Use Case Diagram):** 是一种用于捕获系统行为的图形表示法,它有助于理解系统的功能需求以及用户与系统之间的交互关系。 - **执行者(Actors):** 指与系统交互的人或实体,例如,本案例中的学生、教师...
- 创建用例图:在Use Case视图中,通过双击Main或者新建包后右击包选择“New” → “Use Case Diagram”来创建用例图。 - 创建参与者:选择“Actor”图标,在用例图中单击鼠标左键并输入参与者名称。 - 创建用例...
- **3.2 Use case diagram (outlined)**:提供了初步的用例图概述,展示了系统的参与者以及它们与各个用例之间的关系。 - **3.3 Actor Semantics**:定义了参与者的语义,包括它们的角色、责任等。 - **3.4 Use Case...
用例(Use Case)是UML中的一种基本概念,用于描述系统中的功能需求和行为。 用例的定义可以从两个方面来描述: 1. 用例是一项活动的描述,描述了用户使用系统的一项功能时所进行的交互过程。 2. 用例是系统、子...
- 参与者(Actor):可能包括用户(User)和系统管理员(System Administrator)。 - 用例(Use Case):表示用户可以执行的动作,如取款、存款、查询余额,管理员可能有管理ATM、处理异常交易等操作。 - 关联...
在这个系统中,用例图(Use Case Diagram)是需求分析阶段的重要工具,用于描绘系统的主要参与者(Actor)与系统提供的服务(Use Case)之间的关系。 在本图书管理系统中,我们可以识别出以下主要参与者(Actor):...
- **用例图**:描述系统功能,展示用户(actor)与系统(use case)之间的交互。 - **类图**:表示系统中的类、接口以及它们之间的关系,如继承、关联、聚合等。 - **序列图/协作图**:展示对象间动态交互,强调...
在UML中,用例图(Use Case Diagram)是描述系统功能需求的一种图形表示,它展示了系统参与者(Actor)与系统提供的服务(Use Case)之间的关系。本文将深入探讨UML课程设计中的用例图及其关键元素。 1. **系统参与...