科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件个案研究:聊天室UML模型一致性问题

个案研究:聊天室UML模型一致性问题

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文从初始需求开始构建聊天室模型,以及对个案进行研究。在不同的开发阶段,分别要用到UML类图、时序图和状态图。这样,难免需要确定一致性问题,现在已经提出了许多仿真和方法,用来确保模型各个方面的一致性。

作者:中国IT实验室 来源:中国IT实验室 2007年8月27日

关键字: UML模型

  • 评论
  • 分享微博
  • 分享邮件
 摘要
  
  本文从初始需求开始构建聊天室模型,以及对个案进行研究。在不同的开发阶段,分别要用到UML类图、时序图和状态图。这样,难免需要确定一致性问题,现在已经提出了许多仿真和方法,用来确保模型各个方面的一致性。我们关注内部一致性,即给定模型内部制品之间的一致性问题。
  
  1 简介
  
  软件系统的开发过程通常会被划分成一些步骤,每个步骤会用到不同的UML图。由于建模系统变得越来越复杂,一致性问题就越发突出起来。而在其中,有两种类型或问题更为显著。第一,内部一致性问题,涉及给定模型内部制品之间的一致性。第二,系统之间一致性问题,涉及软件开发过程中不同演化模型之间的一致性。我们主要关注于内部一致性问题。
  
  不同的文献提出了不同的形式化方法,用来自动检查一致性,发现设计当中存在的问题。在下面几节里,我们分步研究了一个聊天室的开发过程。本文的灵感来源于Agder大学Geir Melby完成的一次项目报告(http://fag.grm.hia.no/ikt2340/year2002/)。这个模型提出了一些潜在的一致性问题。对于它们当中的部分内容,也给出了自动化的一致性检查方法。
  
  在这份案例研究中,我们从需求开始开发了一个聊天室模型。第二节给出了客户、管理器对象以及聊天室之间的通信协议,作为初始需求。第三节研究了一个可能的类的设计,它定义了符合协议的接口。第四节中给出的时序图进一步定义和描述了组件之间的通信,并保持与类设计之间的一致性。第五节使用状态图更进一步地确定应用程序的行为。这份规程可以在我们的SVM(状态图虚拟机)环境中实时地进行仿真或执行。在第六节中,讨论了协议规程与仿真迹的一致性。第七节进行总结。
  
  2 通信协议
  
  我们将要创建的聊天室程序是按照客户机/服务器范型来架构的。客户会随机连接聊天室。如果某个聊天室接收了客户,客户就会发送消息给这个聊天室。然后聊天室广播每条消息,除了发送者以外,每个与聊天室建立连接的客户都会收到一份拷贝。
  
  下面将要描述一个特定的简化了的用例:
  
  X     系统包括五个客户和两个聊天室。客户端最初没有连接。每隔一到三秒(非均匀分布),它们都会随机连接一个聊天室。被请求的聊天室同时收到请求(假定没有网络延时,并且通信可靠)。
  
  X     一个聊天室至多接收三个客户。当且仅当容量没有超标时聊天室才会接收连接。
  
  X     发出请求的客户会立刻收到接收或拒绝通知。
  
  X     在客户可以发送聊天信息之前必须被一个聊天室接收。
  
  X     连接建立之后,客户会每隔一到五秒(非均匀分布)给它所连接的聊天室发送随机消息。聊天室会立即接收消息,它将耗时一秒钟来处理接收到的消息,并把它广播给除发送者之外的所有连接客户。
  
  X     客户会同时收到广播。为了简化起见,我们不讨论没有连接的情况。
查看本文来源
    • 评论
    • 分享微博
    • 分享邮件
      邮件订阅

      如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

      重磅专题
      往期文章
      最新文章