我可能需要哪些 UML 图来概念化后台桌面应用程序? [英] Which UML diagrams may I need to conceptualize background desktop apps?

查看:32
本文介绍了我可能需要哪些 UML 图来概念化后台桌面应用程序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试开发一个网络应用程序和一些桌面应用程序,所有这些应用程序都通过数据库或套接字 tcp 进行通信.这些桌面应用程序在后台运行,因此没有用例,网络应用程序仅供远程用户使用.

I'm trying to develop a web-app and some desktop apps, all of these apps communicates via database or socket tcp. These desktop apps are running in background so, there is no use cases and the web-app is only used by remote users.

而且,这些桌面应用通过数据库与网络应用进行通信,反之亦然.

And, these desktop apps communicates with the web-app via the DB and vis versa.

请问哪些 UML 图可以帮助我概念化桌面应用程序的工作?

Which UML diagrams may help me to conceptualize the work of the desktop apps, please?

我已经尝试使用部署图来概念化这件事,但是,我认为在报告中解释整个工作是不够的.不是吗?

I've tried to conceptualize this thing using the deploiement diagram, but, I think that it's unsufficient to explain the whole work in a report. Isn't it ?

非常感谢!

推荐答案

正如 Rolf Schorpion 所说,您仍然可以将用例图与系统参与者一起使用.只要确保参与者是系统(或系统的一部分)外部的东西.一个典型的actor可以是Timer(如果是时间控制的).

As Rolf Schorpion told, you can still use use case diagrams with systemic actors. Just make sure that actor is something external to the system (or part of the system). A typical actor can be Timer (if it is time-controlled).

此外,您还可以使用大量 UML 图表.根据您发布的简短描述,我建议使用以下图表集(至少这些是我要求您准备的图表,以便更好地理解您简要描述的系统):

Besides there is a plenty of UML-diagrams you can use. From the short desctiption you posted, I'd recommend the following set of diagrams (at least these are the diagrams I'd asked you to prepare in order to better understand the system you briefly described):

强制性:

  1. 组件图 - 显示系统的结构组织及其依赖项(桌面应用、WEB 应用、数据库都是组件)
  2. 部署图 - 显示网络组织、服务器以及先前定义的组件如何实际部署在服务器节点上
  3. 序列图 - 显示组件之间的重要通信场景.您提到了 TCP,因此可以使用一个或多个序列图进一步细化和显示.如果有标准的通信模式,单个序列就足够了.否则,可以使用多个序列来覆盖所有重要的通信场景
  1. Component diagram - showing structural organization of your system and their dependencies (desktop app, WEB app, DB are components)
  2. Deployment diagram - showing the network organization, servers and how the previously defined components are actually deployed on server nodes
  3. Sequence diagram(s) - showing the important communication scenarios between the components. You mentiones TCP, so this can be further refined and displayed using one or more sequence diagrams. It there is a standard communication pattern, a single sequence can be enough. Otherwise, several sequences can be used to cover all significant communucation scenaria

可选:

  1. 类图 - 指定内部组件结构 - 设计(源代码的蓝图).只有在每个组件中都有一个复杂的设计时,我才推荐这个,值得付出这样的努力.否则,保持模型与实际代码同步的成本可能会很高.
  2. 状态图 - 如果一类组件显示的行为可以建模为一组离散状态(例如开、关、维修中、乱序),则此图非常强大并强烈推荐
  3. 活动图 - 如果您有一些有趣的重要算法,或者只是想根据顺序任务显示整体系统逻辑,请使用活动图.
  1. Class diagrams - to specify internal components structure - design (blue print of the source code). I recommend this one only if there is a complex design in each compoennt, worth this effort. If not, it could be costly to keep the model in sync with the actual code.
  2. State disgrams - if a class of componen show a behavior that could be modelled as a set of discrete states (e.g. ON, OFF, IN REPAIR, OUT OF ORDER), this diagram is very powerfull and highly recommendedn
  3. Activity diagram - if you have some interesting non-trivial algorithms or simply want to show an overall system logic in terms of sequenced tasks, use activita diagrams.

这些是最常见的 UML 图.此外,您还有几个可以在某些特殊条件下使用(例如计时),但我相信您可以仅使用这些来模拟几乎所有内容.用例远非 UML 建模的首选.

These are the most common UML diagrams. Besides you have a couple of them more that couls be used in some special conditions (timing for example), but I'm sure you can model almost everything using only these. Use case is far from the first choice for UML modelling.

如果您还有其他问题或疑问,请尽管提出.

If you have some further questions or doubts, just ask.

这篇关于我可能需要哪些 UML 图来概念化后台桌面应用程序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆