4

我必须为我编写的软件绘制一些序列图。在我的软件中,我有一些调度自定义事件的对象和其他侦听这些事件的对象。

当谈到说明 Eventlisteners 和 dispatchEvent-function 时,我有点困惑如何做到这一点。我用谷歌搜索了很多,但找不到正确的提示:(

或者序列图不是解释事件处理的好选择?

谢谢你的帮助!

4

2 回答 2

2

您的问题没有明确的答案,因为创建有用的图表很大程度上取决于您想向读者传达什么样的信息。我的建议是:你永远无法在一张图表中显示所有程序的功能;事件处理通常过于复杂和丑陋 - 尝试将其拆分为更小的部分并单独决定,哪种图表对您想要显示的哪些方面有用。

对于每一个,你的焦点应该始终放在读者身上:你希望他或她理解什么?

首先,如果您还没有这些,通常最好编写用户故事并展示用例。它们传达了您的程序的功能,并帮助您识别流程并组织您对程序的思考方式。对于这些过程中的每一个,序列图可能最有助于显示事物的工作方式。例如,如果您的程序功能之一是上传图像,您应该绘制一个序列图,显示仅在上传过程中涉及的主要组件、对象和事件序列。

下一步是对剩余的事件和对象进行分类,它们更细粒度或不直接与用户交互:哪些事件是内部的(即在同一个对象内调度和处理),哪些是外部的(在某些对象之间) ,甚至是全局的(影响整个应用程序)。这将帮助您识别相互交互的对象组。
根据对象的复杂程度,我经常在状态图或流程图中显示内部事件序列。

如果您有一些较小的对象组,其中交互不太复杂并且更有趣的是谁做了什么而不是什么时候,您可以使用稍微改变的类图 - 这些可能不是很正式,但对于某些概念,它们通常比流程图、状态或序列图更有用。

还应该提到的是,在某些情况下,图表根本没有帮助。有时,写一个简短的文本提供一个例子,或者在表格中收集信息会更有用。当读者理解您的程序做什么以及它如何做的概念时,文档就完成了。对于其他一切,总是有源代码。

于 2011-01-07T19:33:41.603 回答
0

我不确切知道您在这里要做什么,但是序列图完全能够代表您所描述的那种系统。是一篇关于序列图的文章。查看异步消息和并发部分。另一篇文章实际上有一个事件监听器的例子。它讨论了序列图和类图。我想你会对序列图的例子感兴趣。

于 2011-01-07T19:02:30.920 回答