FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Diagrama de Clases UML de las clases FWH (Curiosidad)
Posts: 309
Joined: Wed Mar 28, 2018 04:38 PM
Diagrama de Clases UML de las clases FWH (Curiosidad)
Posted: Tue Feb 02, 2021 08:30 AM
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:

Code (fw): Select all Collapse
@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.


Se puede descargar en formato SVG en el siguiente enlace: https://mega.nz/file/wCpEyIgL#CKKVWE4lvxgLv-o86v2HkusEiNFH2tjIPsFlHZLZ_5Y

Salud!
--------

¿ Y porque no ?

¿ And why not ?
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Diagrama de Clases UML de las clases FWH (Curiosidad)
Posted: Tue Feb 02, 2021 08:55 AM

Revisa FWH\samples\classtree.prg

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 309
Joined: Wed Mar 28, 2018 04:38 PM
Re: Diagrama de Clases UML de las clases FWH (Curiosidad)
Posted: Tue Feb 02, 2021 09:17 AM
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
--------

¿ Y porque no ?

¿ And why not ?

Continue the discussion