有人可以告诉我我是否尝试过针对这种情况使用用例图正确吗?
Can someone tell me if I tried Use Case Diagram Correct for this scenario?
我有一个场景,我必须为其设计用例图、activity 图和 class 图:
“I run a small computer consultancy firm with a number of employees.
Along with the basic information about the employees (name, DoB,
contact details, etc.) I need to be able to keep track of what type of
role they perform, such as Hardware Technician, Programmer, and
Software Installer. A single employee can perform multiple roles, and
each role has an associated hourly pay. I need to keep name and
contact details of all customers that have a contract with us. A
customer can have multiple contracts at the same time, but each
contract is only associated with one customer. Each contract has a
name, a description, a creation date, and a job type – e.g. System
Development, Software Upgrade. No details of job types need to be
captured other than their name. Each contract also has a single
employee designated as the project leader. One employee may be the
project leader of multiple contracts.”
我尝试画了一个用例图,我想知道我是否画对了,是否有错误或需要改进的地方:
让我们分析您的需求,以确定用例:
管理员工
I run a small computer consultancy firm with a number of employees.
Along with the basic information about the employees (name, DoB,
contact details, etc.) I need to be able to keep track of what type of
role they perform, such as Hardware Technician, Programmer, and
Software Installer. A single employee can perform multiple roles, and
each role has an associated hourly pay.
管理客户数据(可能包含在合同管理中)
I need to keep name and contact details of all customers that have a contract with us.
管理合同
A customer can have multiple contracts at the same time, but each contract is only associated with one customer. Each contract has a name, a description, a creation date, and a job type – e.g. System Development, Software Upgrade. No details of job types need to be captured other than their name.
指派项目负责人(可能包含在合同管理中)
Each contract also has a single employee designated as the project leader. One employee may be the project leader of multiple contracts.”
现在,这些句子背后可能隐藏着更多的用例,可以推导出来。但是,让我们仔细看看您确定的其他人是否合适。
以下内容乍一看还不错:
- Make contract(比manage contract更精确。另一方面,合同修改和终止呢?)
- 提供联系方式(管理合同的一部分)
- 保留客户详细信息(类似于管理客户数据)但谁是所有者?
- 指派项目负责人(见上文)
- 分配其他成员(优秀:没有明确提及,但如果员工分配到角色和小时工资,那肯定是因为分配他们到项目是相关的)
- 将员工分配到项目(参见前面的项目符号)
以下用例有问题:
- 接受合同:合同的所有者(它是谁:客户?领导?s.O。其他?)真的会在系统中接受它吗?
- 执行角色:这里是否暗示员工将使用系统来执行他们的角色?或者他们只是为项目注册一些时间?或者他们根本不与系统交互?
- 按小时计酬(同样的问题)
- 领导项目:项目负责人会与系统互动来领导项目吗?或者 he/she 只是出于行政责任的目的注册为领导者?
最后,其中一些要求超出了(面向目标的)用例,描述了 class 模型。不要被这个困住:用例应该关注参与者与系统的交互。
我有一个场景,我必须为其设计用例图、activity 图和 class 图:
“I run a small computer consultancy firm with a number of employees. Along with the basic information about the employees (name, DoB, contact details, etc.) I need to be able to keep track of what type of role they perform, such as Hardware Technician, Programmer, and Software Installer. A single employee can perform multiple roles, and each role has an associated hourly pay. I need to keep name and contact details of all customers that have a contract with us. A customer can have multiple contracts at the same time, but each contract is only associated with one customer. Each contract has a name, a description, a creation date, and a job type – e.g. System Development, Software Upgrade. No details of job types need to be captured other than their name. Each contract also has a single employee designated as the project leader. One employee may be the project leader of multiple contracts.”
我尝试画了一个用例图,我想知道我是否画对了,是否有错误或需要改进的地方:
让我们分析您的需求,以确定用例:
管理员工
I run a small computer consultancy firm with a number of employees. Along with the basic information about the employees (name, DoB, contact details, etc.) I need to be able to keep track of what type of role they perform, such as Hardware Technician, Programmer, and Software Installer. A single employee can perform multiple roles, and each role has an associated hourly pay.
管理客户数据(可能包含在合同管理中)
I need to keep name and contact details of all customers that have a contract with us.
管理合同
A customer can have multiple contracts at the same time, but each contract is only associated with one customer. Each contract has a name, a description, a creation date, and a job type – e.g. System Development, Software Upgrade. No details of job types need to be captured other than their name.
指派项目负责人(可能包含在合同管理中)
Each contract also has a single employee designated as the project leader. One employee may be the project leader of multiple contracts.”
现在,这些句子背后可能隐藏着更多的用例,可以推导出来。但是,让我们仔细看看您确定的其他人是否合适。
以下内容乍一看还不错:
- Make contract(比manage contract更精确。另一方面,合同修改和终止呢?)
- 提供联系方式(管理合同的一部分)
- 保留客户详细信息(类似于管理客户数据)但谁是所有者?
- 指派项目负责人(见上文)
- 分配其他成员(优秀:没有明确提及,但如果员工分配到角色和小时工资,那肯定是因为分配他们到项目是相关的)
- 将员工分配到项目(参见前面的项目符号)
以下用例有问题:
- 接受合同:合同的所有者(它是谁:客户?领导?s.O。其他?)真的会在系统中接受它吗?
- 执行角色:这里是否暗示员工将使用系统来执行他们的角色?或者他们只是为项目注册一些时间?或者他们根本不与系统交互?
- 按小时计酬(同样的问题)
- 领导项目:项目负责人会与系统互动来领导项目吗?或者 he/she 只是出于行政责任的目的注册为领导者?
最后,其中一些要求超出了(面向目标的)用例,描述了 class 模型。不要被这个困住:用例应该关注参与者与系统的交互。