我们说我有一个Android应用程序通过蓝牙套接字与桌面程序通信。
Android上的伪代码:
class sendToDesktop{
sendMsg(String msg){
socket.send(uuid, msg)
}
}
在桌面上:
class Read{
getMsg(){
return socket.read(uuid, msg)
}
}
那么我如何用UML表示这些独立程序之间的关系呢?我可以使用组件图,还是仅用于说明单个程序的单独组件?
答案 0 :(得分:2)
这取决于抽象的程度。您可以使用:
尝试从下面开始并继续到您将拥有一张A4尺寸图表的水平。
答案 1 :(得分:2)
如果必须使用UML,那么您可能需要考虑使用如here所示的通信图。虽然通信图非常适合单个应用程序的元素,但您可以调整图表以显示从一个应用程序到另一个应用程序的通信。
如果您没有使用UML,我发现数据流图非常有助于演示从一个信息源/消费者流向另一个信息源/消费者的信息(通过中介流程 - 在您的情况下是中间流程可能是包含蓝牙逻辑的方法。
答案 2 :(得分:2)
正如@Gangnus指出的那样,有很多选择,没有一个是独一无二的。
例如,此websequencediagrams.com script描述了您的方案:
所需的详细程度(中间类,方法名称,参数列表......)取决于谁将阅读它以及原因。
例如,此websequencediagrams.com script还显示了其他内部工作者类:
另见:
答案 3 :(得分:1)
回答原始问题:不,组件图不限于单个程序的部分,所以是的,你可以使用它们。
UML图不适用于任何特定的抽象级别或工作范围。如果你正在考虑你的系统"包含两个程序,然后是你应该在图表中显示的内容。