Class 我们为什么要做班级建模?

Class 我们为什么要做班级建模?,class,uml,Class,Uml,我们为什么要使用建模? 目前我在项目中编写类时没有模型。 我考虑每个类的任务和编写方法。 现在我想知道是什么让模特变得更好! 如何使用它! 我熟悉UML设计 谢谢。建模类有以下好处: 建模允许您更快地设计复杂的软件结构,该结构需要几个类的参与: 在模型上,绘制两个类以及它们之间的链接(关联、依赖项等)。然后可以验证结果并微调模型 虽然您可以轻松地创建一个代码框架来显示几个类和一些继承,但在代码中表示关联更为困难:它是一个组合吗?集合?一对多?还是多对多?每个备选方案都需要一些关于如何实现链接

我们为什么要使用建模? 目前我在项目中编写类时没有模型。 我考虑每个类的任务和编写方法。 现在我想知道是什么让模特变得更好! 如何使用它! 我熟悉UML设计
谢谢。

建模类有以下好处:

  • 建模允许您更快地设计复杂的软件结构,该结构需要几个类的参与:

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

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

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

建模不能代替编程

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

  • 如果您开始将模型中所有类的所有成员的所有细节放在一起,然后开始在OCL中表达复杂的约束,那么您可能会浪费时间,除非您在高度规范的环境中处理任务关键型系统
  • 该模型很快就会与代码不同步,因为在大多数情况下,只有少数项目拥有如此多的资源,能够承担双重维护
如果您有一些高级工具(例如RationalRose for OOP或S-Designer for database models),可以进行建模、代码生成、逆向工程以更新模型等等,那么在模型中投入更多的精力是有意义的


如果不是,则在模型中设计系统的大纲,不要有太多细节(例如,将成员放在理解总体结构和责任的重要位置),并继续为编码付出额外的努力。

@jdv出于与此处相同的原因,这个问题不太合适。请避免推荐您不熟悉的网站。请参阅@cooder,“我熟悉UML设计,谢谢。”那么告诉我们:你已经做过的模型,它们是否帮助了你?你得到了答案…@gnat,评论说“你可以在那里做一些研究,看看最终的评论是否更合适”.这不是一个强有力的建议。考虑到前两个要点,我认为这是完全合理的。谢谢你的描述。