协作图示例介绍

     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 负责关闭课程注册

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值