我和我的团队开发了几个基于套接字的交互式web应用程序,但我总是发现记录有条件的数据流是一件痛苦的事情。
我使用过这样的序列图

这是记录套接字编程的最佳方式吗?套接字编程有没有UML标准?
发布于 2015-06-25 20:03:24
编辑:它不是UML图,而是一个简单的表示。
要创建面向连接的套接字,必须对服务器程序和客户端程序使用不同的函数序列,因此您可以将套接字连接表示为:

发布于 2015-06-25 20:30:26
作为SD的替代方案,您可以尝试使用交互图,它将不同的重点放在通信上(更多地面向状态)。根据呼叫序列对单个消息进行编号。
此外,您可以创建一个组件图,其中单个组件使用一个端口进行通信,并且这些端口实现某些接口。这也非常适合套接字/棒棒糖符号。数据流还可以通过使用数据流连接器来显示,在数据流连接器中,您可以分配显示传输的数据的类。

上面的图片可能不是你在真实模型中创建的。但它显示了您可以做些什么来增强您的模型。有两个与接口Socket相关的类Server和Client (为了更好地适应OP的模型,它应该被称为MailSocket ),它们实现/依赖于接口。在类下面显示了两个依赖于它们的组件。两者都显示具有所提供(棒棒糖)或所需(插座)接口的端口。这简单地描述了(需要用单独的图详细说明)组件Server在其胃中具有类Server,并公开了由它实现的接口(您通常将使用复合图来实现)。对于Client computer/Client也是如此。组件之间的数据流可视化为Mail类从Client computer传输到Server。
总而言之,这是one示例如何增强描述套接字通信的模型。在UML中没有标准来描述套接字I/O (或任何东西)。UML是一种用于交流思想的语言。这里只是一个例子。还有无数其他的可能性。使用最好的服务。实验。讨论。
发布于 2015-07-01 23:23:14
您是否考虑过使用UML协议状态机来显示有条件的数据流?参见http://www.uml-diagrams.org/protocol-state-machine-diagrams.html#protocol-state-machine。
https://stackoverflow.com/questions/31049459
复制相似问题