我们为什么要进行类建模?

时间:2017-11-23 17:35:33

标签: class uml

嗨,大家好。 我是初级程序员,我想知道类建模。 问题是,我们为什么要使用建模? 我目前在没有模型的情况下在我的项目中编写类。 我想到了每个类的任务和编写方法。 现在我想知道是什么让建模变得更好? ! 以及如何使用它? ! 我熟悉UML设计 谢谢。

1 个答案:

答案 0 :(得分:2)

建模类具有以下优点:

  • 建模允许您更快地设计复杂的软件结构,需要涉及多个类:

    • 在模型上,您可以在它们之间绘制几个类和链接(关联,依赖关系等等)。然后,您可以验证结果并微调模型。
    • 虽然您可以轻松创建代码框架来显示多个类,也许还有一些继承,但在代码中表示关联更加困难:它是一个组合吗?聚合?一对多?还是多对多?每个替代方案都需要一些关于如何实现链接的选择,这需要更多的时间。并且一旦做出这些选择并且草案代码将完成,您将不再需要更改它。
  • 建模允许对复杂的类结构进行更紧凑的概述:

    • 您可以在一张纸上轻松显示20个课程(没有详细信息),并掌握部件如何连接在一起。
    • 使用IDE,您可以通过折叠类在屏幕上显示20个类,但是如果您需要查看类之间的关系(那么有关类成员的一些细节,您会大大减少您可以显示的内容(并掌握)马上。
  • 建模允许与不同背景的人进行互动讨论,而不一定是编码大师。虽然商业用户不会掌握模型的微妙细节,但他们可以掌握关系,从而建设性地参与讨论。

  • 建模为将加入项目或必须维护项目的人员提供了有用的文档。

建模不能替代编程

我不想开始激烈的教条辩论。但我认为建模不应该取代编程:

  • 如果您开始将所有详细信息放在模型中所有类的所有成员上,然后开始在OCL中表达复杂的约束,那么您可能会失去时间,除非您高度处理关键任务系统监管环境。
  • 该模型将很快与代码不同步,因为在大多数情况下,只有少数项目拥有如此多的资源,以至于他们可以负担得起双重维护。

如果你有一些高级工具(例如用于OOP的Rational Rose或用于数据库模型的S-Designer)可以进行建模,代码生成,逆向工程以更新模型等等,那么就可以做出更多努力在模型中。

如果没有,请在模型中设计系统的轮廓,而不需要太多细节(例如,输出成员对于理解整体结构和职责很重要),并为编码保留额外的工作量。