Cómo modelar las propiedades de python en el diagtwig UML

¿Cuál es una buena práctica para modelar las propiedades de python en un diagtwig de clase UML? Las propiedades en sí son objetos de clase, su captador y definidor son funciones de clase. Desde Fuera de la clase se ven como atributos de instancia. Entonces, ¿cómo sugerirías presentar eso en mi diagtwig de clase? Gracias

Le recomiendo que lea las Mejores Prácticas de UML: Atributo o Asociación , por otro usuario de Overflow de Pila llamado Geert Bellekens . Dice simplemente:

Utilice Asociaciones para Clases y Atributos para DataTypes.

Debe escribir los atributos de Python que se escriben por tipos de datos que no son de tipo de datos (que tienen identidad) en los extremos de las asociaciones de UML que se conectan a esas clases de UML. Debe escribir los atributos de Python escritos por tipos de datos simples (que no tienen otra identidad que no sea su valor) en el cuadro de atributos de la clase UML.

Los accesores y mutadores son en gran medida sólo ruido. Un comstackdor modelo o IDE puede generar esos por ti.

La buena práctica es lo que funciona en tu proyecto.

Para modelar las propiedades de Python, puede agregar operaciones de obtención y configuración estereotipadas que indiquen su uso. El enlace entre el atributo y la operación generalmente se realiza a través de una convención de nomenclatura. Algunas herramientas ofrecen enlaces internos para hacer propiedades de atributos con captadores y definidores.

Si no está utilizando la generación de código, también puede estereotipar el atributo para indicar su uso como propiedades (por lo tanto, le dice al codificador que use @property ) y deje de lado las operaciones. Si está utilizando su propio generador de código, esto funcionaría de manera análoga. Los generadores de código incrustado de herramientas pueden necesitar las operaciones adicionales como se describe anteriormente.

Realmente depende del tipo de plantilla que use su herramienta UML. En algunas herramientas hay un cuadro de Propiedades a lo largo de los cuadros de Atributos y Métodos comunes. La notación UML indica que los atributos se escriben en la parte inferior de la camelcase, puede escribir las propiedades en la parte superior de la camelcase. También diferirían visualmente debido al modificador de acceso público (+).

¿Tiene la necesidad de especificar diferentes modificadores de acceso para el getter y el setter? No estoy seguro de cómo voy a hacer eso. Tenga en cuenta el nivel de abstracción necesario.

Recuerde que UML es principalmente un conjunto de estándares definidos. Si el estándar necesita un pequeño ajuste para adaptarse a sus necesidades, no dude. Lo importante es que su equipo y las partes interesadas entiendan la syntax.