Page 1 of 1

Diagrama de Clases UML de las clases FWH (Curiosidad)

Posted: Tue Feb 02, 2021 8:30 am
by VictorCasajuana
Hola.
Haciendo un kata he montado un pequeño PRG que genera Diagrama de Clases UML a partir de la estructura de Clases de Harbour:
Image

Code: Select all

@startuml
package root <<Frame>> {
class TClass
      {
       {method} +New()
       {method} End()
       {method} ToString()
       {method} SayInherit()
      }
class TClasses
      {
       {method} +New()
       {method} End()
       {method} GetClasses()
       {method} MakeClass()
       {method} LoadFile()
       {method} ExtractClassFromFile()
       {method} GetClassName()
       {method} GetInherit()
       {method} GetMethods()
       {method} DeleteLineClassName()
       {method} ClearHeaderClass()
       {method} GetPosCreateClass()
       {method} DeleteComments()
       {method} DeleteComment()
       {method} HasComments()
       {method} DeleteCommentLines()
       {method} DeleteCommentLine()
       {method} HasCommentLines()
       {method} VerifyClassName()
      }
}
package root <<Frame>> {
class TUMLTest Implements  TUMLTest1, TUMLTest2
      {
       {method} +New()
       {method} End()
      }
class TUMLTest1
      {
       {method} +New()
       {method} End()
      }
class TUMLTest2
      {
       {method} +New()
       {method} End()
      }
class TMethod
      {
       {method} +New()
       {method} End()
       {method} ToString()
       {method} +SayConstructor()
      }
}
package root <<Frame>> {
class TMakeTest
      {
       {method} +New()
       {method} CargaFichero()
       {method} ExisteFichero()
       {method} ProcesaFichero()
       {method} CreaTests()
       {method} BuscaClase()
       {method} BuscaMetodos()
       {method} NombreFicheroTest()
       {method} ExisteFicheroTest()
       {method} AnadirTestHbp()
       {method} AnadirTestUnitario()
       {method} GetSettings()
       {method} ExistFileSettings()
      }
class TParametros
      {
       {method} MontaParametros()
       {method} Init()
       {method} +New()
       {method} End()
       {method} ExisteParametro()
       {method} ExistenParametros()
       {method} GetParametros()
       {method} GetParametro()
       {method} HayParametros()
       {method} IsError()
       {method} StrError()
      }
class TSettings
      {
       {method} +New()
      }
}
package root <<Frame>> {
class TUml
      {
       {method} +New()
       {method} End()
       {method} Make()
       {method} InitPath()
       {method} MakeClass()
       {method} SetNewUmlFile()
      }
class TUmlClass
      {
       {method} +New()
       {method} End()
       {method} MountClasses()
       {method} MountUmlFile()
       {method} SaveUmlFile()
       {method} CountClasses()
       {method} Help()
       {method} GetFiles()
       {method} Make()
       {method} AddClasses()
       {method} SortClasses()
      }
@enduml
con UML he creado automáticamente el Diagrama de Clases de FWH como curiosidad.
La verdad es que cuando tu aplicación es 100% OOP va muy bien tener un "Mapa" de como está todo.
Image

Se puede descargar en formato SVG en el siguiente enlace: https://mega.nz/file/wCpEyIgL#CKKVWE4lv ... sFlHZLZ_5Y

Salud!

Re: Diagrama de Clases UML de las clases FWH (Curiosidad)

Posted: Tue Feb 02, 2021 8:55 am
by Antonio Linares
Revisa FWH\samples\classtree.prg

Re: Diagrama de Clases UML de las clases FWH (Curiosidad)

Posted: Tue Feb 02, 2021 9:17 am
by VictorCasajuana
Antonio Linares wrote:Revisa FWH\samples\classtree.prg
Ok, lo he visto, es parecido pero me interesaba vitaminarlo más y ser más visual. Lo que hago es analizar los PRG en la estructura de carpetas y crear lo mismo en lenguaje UML para tener un Mapa Visual de herencias.
Me he basado en esta nomenclatura:https://plantuml.com/es/class-diagram