需要UML图和规划帮助

时间:2009-07-27 03:53:40

标签: uml project-planning

我有一个Access数据库,我写过我过去3年用于支票簿和预算编制。我之前从未编写过程序,但我决定将数据库编写成一个独立的程序。除了db本身的简单VBA之外,我唯一的经验是C ​​++类简介和OO Logic类。

即使我知道我希望程序做什么(因为这是我的数据库现在所做的)我想尽可能正确地进行规划和设计,所以我可以尽可能正确地编写程序,以便该功能添加和维护更容易。

我需要帮助计划。我想UML图应该是第一个。我需要做什么UML图?以什么顺序?我试图做一个用例,但由于该程序只涉及我,我的钱,银行和商店,它似乎毫无意义。还是我错误地思考它?我是否需要在帐户中查看我的钱和预算?我不知道。我需要有关如何继续的帮助。感谢。

3 个答案:

答案 0 :(得分:3)

最好有一组UML图来跟踪发生的事情,但最后要记住文档衰减 - 你的代码就是你的设计。也就是说,UML有助于规划和调用零件和零件。这里涉及大量的个人经历,所以请随意拿走你想要的东西,遗漏你认为不适用的东西。

用例图

略过这一点,而只是编写用例。

类图

我发现它们对于规划体系结构的全局视图很有用,但我通常会省略所有方法名称,或者只留下相关的名称。我用它来说明你的类的逻辑模型

序列图

一个更有用的图表,尤其适用于业务逻辑和数据流。我总是发现自己为复杂的数据流绘制序列图,特别是当有事件被调度时。

对象图

显示运行时对象的交互。我通常会将它们绘制为复杂的对象交互,而不是“学术上正确的”交互。我认为它没有序列图那么有用。

流程图

如果您的流程复杂,则适用于网站

州过渡

如果您的应用程序有多个状态,则很重要。再次,只勾勒出最复杂的系统,不需要为每个子系统都有一个。

ER图

我知道这不是UML,但是预先建立良好的数据库设计非常重要,ER图可以帮助您组织和规划不同表之间的相互关系

答案 1 :(得分:2)

由于您的应用程序仅供个人使用,我认为您只需要两个图表,可能需要三个图表。如果需要,您可以使用用例图,但仅使用一个用例列表可能会更好。由于没有其他人声明它,因此用例是您要说明您将要使用它的一个要求。这些可以帮助您定义所需的功能 接下来,您需要有关如何组织程序的类图。类图显示了您拥有的类以及它们的连接方式。这对于确定您的程序是否过于复杂或是否正在使用称为blob的反模式非常有用。如果你有很多行将类相互连接起来,你可能需要重新组织以确定是否可以使每个类更具凝聚力,如果你看到很少的类,你可能想要检查一个blob反模式。反模式是一种常见现象,对可读性或可维护性不利。如果每个类都具有它所需要的内容,则定义类的内聚性。例如,如果您决定为自己的帐户设置课程,则无需知道与您的帐户无关的信息,例如街道地址或银行名称。

我认为你需要的最后一个UML图是一个序列图,它显示了程序中不同对象的交互方式。这将有助于您更好地理解您的课程正在进行的互动,并决定是否需要更好地组织它们,如果它们变得过于复杂。

这些是您可能需要的UML图。您可能还需要一个网络图来了解您的数据库如何连接到银行的网站并获取所需的信息。

答案 2 :(得分:1)

这些图表只是为了让您了解自己在做什么并让您保持正轨。我想你已经知道了。在你的情况下,我相信一个详细的用例就足够了,只是为了确保你处理所有功能,不要忘记任何事情。 (提醒:用例不是图表。它是文本)