简化用于系统理解的UML类图 [英] Simplifying UML class diagram for system comprehension

查看:59
本文介绍了简化用于系统理解的UML类图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

亲爱的所有人,

我目前正在对UML类图进行一些调查.该调查是关于如何通过省略不重要的信息来简化类图的.该调查背后的动机是通过使用逆向工程类图来理解系统(在实施阶段之后).众所周知,反向工程类图通常是底层源代码的详细表示,这有时使软件工程师难以理解软件结构中的关键元素是什么.因此,我们进行此调查是为了确定哪些类型的类以及应该从逆向工程类图中删除的信息.您可以在以下URL上找到调查:

http://presenceclasses.limequery.com/26994/lang-zh-CN

随意问任何问题或对本调查发表任何评论.非常感谢您的合作.谢谢.

-aislimau-

Dear all,

I''m currently doing some survey on UML class diagram. The survey is about how to simplify a class diagram by leaving out information that are not important. The motivation behind this survey is to understand a system (after implementation phase) by using reverse engineered class diagram. As we know, reverse engineered class diagrams are typically a detailed representation of the underlying source code, which makes it sometimes hard for the software engineer to understand what the key elements in the software structure are. Hence, we make this survey in order for us to identify what type of class and information that should be left out from the reverse engineered class diagram. You can find the survey at the following URL :

http://presenceclasses.limequery.com/26994/lang-en

Feel free to ask any question or give any comment on this survey. Your cooperation is highly appreciated. Thank you.

-aislimau-

推荐答案

在确定要在类图中包含的内容时,我认为上下文是最重要的.

如果您有一个处理付款(可能是现金,电汇和会员卡)的系统,则该系统应具有合理的提取数量.我不会将整个系统绘制成一幅图,而是从记录框架开始.绘制所有支付类型共有的抽象和接口.

接下来,我将列出相关的用户故事.在这种情况下,它们将是:

现金支付
电子转帐付款
会员卡付款

如果已经编写了代码,并且我对文档进行了逆向工程,那么实际上我会从序列图开始,方法是遵循代码并为每个用户案例生成这些代码.然后,序列图将向您显示对于每个用户故事有效的类,方法和属性,从而在您描述的故事的上下文中为您提供了重要的详细信息.
When deciding what to include in a class diagram, I think context is the most important thing.

If you have a system which processes payments, perhaps cash, eft and loyalty card, the system should have a reasonable amount of abstraction. I wouldn''t draw the entire system in one digram, I would start by documenting the framework. Draw the abstractions and interfaces, the areas which are common to all types of payment.

Next I''d make a list of the relevant user stories. In this instance they would be:

Cash Payment
EFT Payment
Loyalty Card Payment

If the code was already written and I was reverse engineering for documentation I''d actually start with a sequence diagram, by following the code and generating these for each user story. The sequence diagram would then show you which classes, methods and properties are valid for each user story and as such provide you with the important detail in context of the story you''re describing.


这篇关于简化用于系统理解的UML类图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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