UML协作图就是用来表示一组通过交互来实现某些行为的对象,可以用来可视化、详细描述、构造和文档化一个特定的对象群体的动态方面,也可以用来按交互中的角色及其关系对一个用例的特定的场景或控制流的实现进行建模。
协作图描述了特定行为的参与对象的静态结构,以及参与对象之间的动态交互,可以用于不同的规约抽象级别,规约级协作图表示了类元角色、关联角色和消息,表示对象之间的可能的关系,而实例级协作图表示对象、链和激励,表示特定对象之间的关系。两者都描述了协作参与者之间的结构关系。如果要表示可能事件,一般用规约级协作图,其中没有条件和循环,实例没有取值范围或有许多可能的路径。
实例级协作图用于描述属性或参量有具体的值的对象和链,可变大小多重性的对象和链的具体数目,或者是执行中的分支或循环的特定选择。协作图可以用来表示用例的实现或操作的实现,描述操作和用例的执行实现所处的语境、交互中行为序列。当协作图用于表示用例的实现时,只描述外部可见的动作及其顺序,用对象之间的消息交换来描述一个用例实现的场景。当协作图用来表示一个对象的操作的实现时,提供了更详细的信息,如操作的参数及其用途、参与变量的特征、关联上的约束、操作实现过程中对象的创建和破坏等。本文主要研究用于表示用例实现的实例级协作图,下面介绍实例级协作图符号及其语义。
协作描述了在一定的语境中一组对象以及用以实现某些行为的这些对象之间的相互作用。协作由静态部分和动态部分组成,静态部分描述在协作实例中对象和链可能担任的角色,是角色集合和其间关系,这些关系定义了结构方面的内容,动态部分是一个消息集合,包括一个和多个动态交互,表示在执行计算过程中不同时间里协作中的消息流, 这些消息定义了行为方面的内容。角色表示协作中对象和链的目的,类元角色定义了参与协作执行的对象在一个协作中扮演的角色,关联角色定义了一个类元角色和其他角色之间的关系,是参与协作执行的关联的描述,关联角色是链的子集,链是两个或多个对象之间的单向连接,是关联的实例。对象必须是位于关联相应位置的类的直接或间接实例。关联是两个或多个特定描述其实例间连接的类元之间的关系,参与关联的类元在关联内有有序的位置。在运行时,对象和链与协作中的角色绑定,在不同的协作中一个对象可以绑定到一个或多个角色。
交互是由在一个实现特定目标的协作内一组对象之间通信序列组成的行为规约。每个交互包含消息的偏序集,这些消息由类元角色通过关联角色交换。消息是激励的规约,是发送者和接受者之间的通信。消息指定了发送者对象和接受者对象扮演的角色,说明发送者对象对接受者对象应用何种操作。激励是传递消息期望发生的两个对象之间的通信,激励导致一个操作被激活、发出一个信号、导致一个对象被创建或终止。
举例:学生注册课程系统
某大学准备开发一个学生课程注册系统,学生可以使用该系统查询新学期将开设的课程和讲课教师情况,选择自己要学习的课程进行登记注册,并可以查询成绩单;教师可以使用该系统查询新学期将开设的课程和选课学生情况,并可以登记成绩单;注册管理员使用该系统进行注册管理,包括维护教师信息、学生信息和课程信息等。
在每个学期的开始,学生可以获得该学期的课程目录表,课程目录表列出每门课程的所有信息,诸如基本信息、教师、开课系和选课条件等。
新学期开始前两周为选课注册时间,在此期间学生可以选课注册,并且允许改变或取消注册申请,开学两周后注册管理员负责关闭课程注册。每个学生可以选择不超过4门课程,同时指定2门侯选课程以备主选课程未选上。每门课程最多不能超过10人,最少不能低于3人,低于3人选课的课程将被取消。一旦学生的注册过程完毕,注册系统将有关信息提交收费系统以便学生付费。如果在实际注册过程中名额已满,系统将通知学生在提交课程表之前予以更改。
在学期结束时,学生可以存取系统查看电子成绩单。由于学生成绩属于敏感信息,系统必须提供必要的安全措施以防非法存取。
表一:
学生课程注册系统的试题类:
实体类 |
说明 |
Professor |
学校中讲课的老师 |
Student |
学校中注册课程的学生 |
Schedule |
学生在新学期选择登记的课程列表 |
CourseCatalog |
学校所有课程的目录 |
Course |
课程的基本信息 |
CourseOffering |
新学期课程的开设信息,如讲课老师,时间,地点等信息 |
|
|
表二:学生课程注册系统的边界类:
边界类 |
说明 |
LoginForm |
登录窗体 |
RegisterCoursesForm |
为学生提供学生选课注册 |
ViewReportForm |
为学生提供成绩查询的操作 |
SelectTeachCourseForm |
为教师提供查看学生选课情况 |
SubmitGradesForm |
为教师提供登记成绩 |
MaintainProfessorsForm |
为注册管理员提供维护教师信息 |
MaintainStudentsForm |
为注册管理员提供维护学生信息 |
MaintainCoursesForm |
为注册管理员提供维护课程信息 |
CloseRegistrationForm |
为注册管理员提供关闭注册的操作 |
BillingSystemNotice |
提供与收费系统的信息交换接口 |
|
|
|
|
表三:学生注册系统的控制类
控制类 |
说明 |
RegisterCourseControl |
负责新学期学生的选课登记 |
ViewReportControl |
负责学生成绩的查询 |
SelectTeachCourseControl |
负责新学期的学生的选择情况 |
SubmitGradesControl |
负责学生成绩的登记 |
CloseRegistrationControl |
负责关闭课程注册 |
根据示例信息,绘制协作图如下:
|
|
|
|
|
|
|
|
分享到:
相关推荐
2. 用例图(Use Case Diagram):描述系统外部用户(称为actor)与系统功能(称为use case)之间的关系。 3. 顺序图(Sequence Diagram):展示对象间的交互顺序,时间轴上表示消息的传递。 4. 协作图...
以尼罗河流域为例,该流域跨越多个国家,水资源的合理分配与协作利用对于区域的和谐发展至关重要。流域内的协作能够确保各国家间的公平用水,减少水资源冲突,并促进整体的经济发展。 2. **河流补给类型及其影响**...
这些图表在软件工程、项目管理和数据分析等领域广泛应用,帮助开发者、设计师和团队成员更好地沟通和协作。 1. **时序图(Sequence Diagram)**: 时序图展示了对象之间的交互顺序,通常用于描述系统中的消息传递...
协作图示例中,展示了`makePayment`操作的执行过程,创建`Payment`对象并传递参数`cashTendered`。在这个过程中,`Register`对象和`Sale`对象通过消息进行交互,`Payment`对象被创建并接收消息,完成支付过程。序列...
7. **协同工作与版本控制**:EPLAN支持团队协作,学习如何利用版本控制功能,实现多人同时编辑项目,确保团队间的高效沟通和协作。 8. **纯水机系统理解**:通过实例,还需要了解纯水机的基本工作原理,包括预处理...
### UML神州用例图详解 #### 实验背景与目的 根据闽江学院软件学院的实验报告要求,本次实验旨在让参与者深入理解UML(统一建模语言)中的类图概念,并通过绘制神州六号飞船的类图来进一步熟悉类之间的关系及表示...
在12.5版本中,可能增加了新的图示类型或者改进了现有的图示编辑工具,使得绘制和编辑UML图更为便捷。同时,可能增强了自动布局功能,能够自动调整图形之间的关系,减少手动调整的工作量。 设计方面,PowerDesign ...
1. **基本图示**:如用例图(Use Case Diagram)、类图(Class Diagram)、对象图(Object Diagram),它们用于描述系统的静态结构和关系。用例图描绘了系统与用户之间的交互,类图展示了类与类之间的继承、关联和...
9. **学习方法**:读者不仅需要理解UML的各个图示,还需要学会如何在实际项目中选择合适的模型,以及如何将设计模式融入到UML建模中,以提高软件设计的质量和可维护性。 通过《UML建模实例大全》,读者可以掌握UML...
在这个大作业中,学生将接触到UML的主要图示类型,包括用例图、类图、序列图、协作图、状态图、活动图等。这些图表能够帮助理解系统的功能需求、对象关系、动态行为以及系统的工作流程。 1. **用例图**:用于描绘...
UML包括类图、对象图、用例图、序列图、协作图、状态图、活动图等多种图示,覆盖了软件开发的各个阶段。 **Rational Rose 2003的主要特性** 1. **模型驱动开发**:Rose支持模型驱动的开发方法,允许开发者创建高...
《UML用户指南(第2版)》详细介绍了UML的各个组成部分,包括基本图示如用例图、类图、序列图、协作图、状态图、活动图以及复合结构图等。这些图示提供了不同视角来理解系统,帮助开发者清晰地表达系统的静态结构和...
2. **图示类型**:UML定义了多种图,包括用例图、类图、序列图、协作图、状态图、活动图、组件图、部署图等,每种图都用于展示不同的视角和信息。 3. **元素与关系**:UML中的元素包括类、接口、对象、用例、关联、...
UML有多种图表,包括类图、对象图、用例图、序列图、协作图、状态图、活动图等。本章将逐一解析这些图的构成和用途,让你了解如何用它们来描绘系统的静态和动态特性。 3. **第三章:类图与对象图** 这一章将详细...
UML中的主要元素包括类图、对象图、用例图、序列图、协作图、状态图、活动图等,这些图共同构建了软件模型的完整框架。 2. **章节概览** - **Chapter 04:用例图** 用例图展示了系统与用户之间的交互,通过定义...
课程涵盖了UML的基础概念、图示语法和语义,以及如何使用建模工具Rational Rose进行实际操作。 课程的主要内容分为以下几个部分: 1. **课程引入**:介绍UML的起源、发展和在软件工程中的地位,以及其作为建模语言...
"UML.doc"可能包含了对UML的基本介绍,包括类图、用例图、序列图、状态图、包图和协作图等。类图展示了类之间的继承、关联和接口关系;用例图则描绘了系统与用户之间的交互,说明了系统的功能需求;序列图和协作图则...
UML 2.0引入了更多的图示类型,如用例图、类图、序列图、协作图、状态图、活动图、组件图、部署图等,每种图都有其特定的用途,帮助开发者从不同角度理解和构建系统。 用例图是UML中描述系统功能的一种方式,它通过...