Archived
Pruebas con la generación de UML.
Algunas pruebas de plugins de IntelliJ que generan UML de PlatUML. Está bien, es similar a Mermaid y también se renderiza por ahí. Es mejor que imágenes o cosas de esas pues es editable.
This commit is contained in:
@@ -0,0 +1,247 @@
|
||||
@startuml
|
||||
|
||||
/' diagram meta data start
|
||||
config=StructureConfiguration;
|
||||
{
|
||||
"projectClassification": {
|
||||
"searchMode": "OpenProject", // OpenProject, AllProjects
|
||||
"includedProjects": "",
|
||||
"pathEndKeywords": "*.impl",
|
||||
"isClientPath": "",
|
||||
"isClientName": "",
|
||||
"isTestPath": "",
|
||||
"isTestName": "",
|
||||
"isMappingPath": "",
|
||||
"isMappingName": "",
|
||||
"isDataAccessPath": "",
|
||||
"isDataAccessName": "",
|
||||
"isDataStructurePath": "",
|
||||
"isDataStructureName": "",
|
||||
"isInterfaceStructuresPath": "",
|
||||
"isInterfaceStructuresName": "",
|
||||
"isEntryPointPath": "",
|
||||
"isEntryPointName": "",
|
||||
"treatFinalFieldsAsMandatory": false
|
||||
},
|
||||
"graphRestriction": {
|
||||
"classPackageExcludeFilter": "",
|
||||
"classPackageIncludeFilter": "",
|
||||
"classNameExcludeFilter": "",
|
||||
"classNameIncludeFilter": "",
|
||||
"methodNameExcludeFilter": "",
|
||||
"methodNameIncludeFilter": "",
|
||||
"removeByInheritance": "", // inheritance/annotation based filtering is done in a second step
|
||||
"removeByAnnotation": "",
|
||||
"removeByClassPackage": "", // cleanup the graph after inheritance/annotation based filtering is done
|
||||
"removeByClassName": "",
|
||||
"cutMappings": false,
|
||||
"cutEnum": true,
|
||||
"cutTests": true,
|
||||
"cutClient": true,
|
||||
"cutDataAccess": true,
|
||||
"cutInterfaceStructures": true,
|
||||
"cutDataStructures": true,
|
||||
"cutGetterAndSetter": true,
|
||||
"cutConstructors": true
|
||||
},
|
||||
"graphTraversal": {
|
||||
"forwardDepth": 3,
|
||||
"backwardDepth": 3,
|
||||
"classPackageExcludeFilter": "",
|
||||
"classPackageIncludeFilter": "",
|
||||
"classNameExcludeFilter": "",
|
||||
"classNameIncludeFilter": "",
|
||||
"methodNameExcludeFilter": "",
|
||||
"methodNameIncludeFilter": "",
|
||||
"hideMappings": false,
|
||||
"hideDataStructures": false,
|
||||
"hidePrivateMethods": true,
|
||||
"hideInterfaceCalls": true, // indirection: implementation -> interface (is hidden) -> implementation
|
||||
"onlyShowApplicationEntryPoints": false, // root node is included
|
||||
"useMethodCallsForStructureDiagram": "ForwardOnly" // ForwardOnly, BothDirections, No
|
||||
},
|
||||
"details": {
|
||||
"aggregation": "GroupByClass", // ByClass, GroupByClass, None
|
||||
"showClassGenericTypes": true,
|
||||
"showMethods": true,
|
||||
"showMethodParameterNames": true,
|
||||
"showMethodParameterTypes": true,
|
||||
"showMethodReturnType": true,
|
||||
"showPackageLevels": 2,
|
||||
"showDetailedClassStructure": true
|
||||
},
|
||||
"rootClass": "uberelectron.testgame.BackEndTest",
|
||||
"extensionCallbackMethod": "" // qualified.class.name#methodName - signature: public static String method(String)
|
||||
}
|
||||
diagram meta data end '/
|
||||
|
||||
|
||||
|
||||
digraph g {
|
||||
rankdir="TB"
|
||||
splines=polyline
|
||||
|
||||
|
||||
'nodes
|
||||
subgraph cluster_1146226812 {
|
||||
label=testgame
|
||||
labeljust=l
|
||||
fillcolor="#ececec"
|
||||
style=filled
|
||||
|
||||
BackEndTest1260140886[
|
||||
label=<<TABLE BORDER="1" CELLBORDER="0" CELLPADDING="4" CELLSPACING="0">
|
||||
<TR><TD ALIGN="LEFT" >(C)BackEndTest</TD></TR>
|
||||
<HR/>
|
||||
<TR><TD ALIGN="LEFT" ># game: testGame [0..1]</TD></TR>
|
||||
<HR/>
|
||||
<TR><TD ALIGN="LEFT" >+ dispose()</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" >+ hide()</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" >+ pause()</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" >+ render(delta: float)</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" >+ resize(width: int, height: int)</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" >+ resume()</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" >+ show()</TD></TR>
|
||||
</TABLE>>
|
||||
style=filled
|
||||
margin=0
|
||||
shape=plaintext
|
||||
fillcolor="#FFFFFF"
|
||||
];
|
||||
|
||||
testGame1260140886[
|
||||
label=<<TABLE BORDER="1" CELLBORDER="0" CELLPADDING="4" CELLSPACING="0">
|
||||
<TR><TD ALIGN="LEFT" >(C)testGame</TD></TR>
|
||||
<HR/>
|
||||
<TR><TD ALIGN="LEFT" >+ batch: SpriteBatch [0..1]</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" >+ font: BitmapFont [0..1]</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" >+ mcLoader: MachineLoader [0..1]</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" >+ rmLoader: RoomLoader [0..1]</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" >+ tileSetManager: TileSetManager [0..1]</TD></TR>
|
||||
<HR/>
|
||||
<TR><TD ALIGN="LEFT" ># LoadAssets()</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" >+ create()</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" >+ dispose()</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" >+ render()</TD></TR>
|
||||
</TABLE>>
|
||||
style=filled
|
||||
margin=0
|
||||
shape=plaintext
|
||||
fillcolor="#FFFFFF"
|
||||
];
|
||||
}
|
||||
|
||||
subgraph cluster_1870910510 {
|
||||
label=gameSystems
|
||||
labeljust=l
|
||||
fillcolor="#ececec"
|
||||
style=filled
|
||||
|
||||
MachineLoader1069956928[
|
||||
label=<<TABLE BORDER="1" CELLBORDER="0" CELLPADDING="4" CELLSPACING="0">
|
||||
<TR><TD ALIGN="LEFT" >(C)MachineLoader</TD></TR>
|
||||
<HR/>
|
||||
<TR><TD ALIGN="LEFT" >- machineMap: HashMap<String, Machine> [0..*]</TD></TR>
|
||||
<HR/>
|
||||
<TR><TD ALIGN="LEFT" >+ AddMachine(machineToAdd: Machine)</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" >+ GetMachine(machineID: String): Machine</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" >+ LoadFromJSON(file: FileHandle)</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" >+ SaveToJSON(file: FileHandle)</TD></TR>
|
||||
</TABLE>>
|
||||
style=filled
|
||||
margin=0
|
||||
shape=plaintext
|
||||
fillcolor="#FFFFFF"
|
||||
];
|
||||
|
||||
Room1069956928[
|
||||
label=<<TABLE BORDER="1" CELLBORDER="0" CELLPADDING="4" CELLSPACING="0">
|
||||
<TR><TD ALIGN="LEFT" >(C)Room</TD></TR>
|
||||
<HR/>
|
||||
<TR><TD ALIGN="LEFT" ># bgData: int[][] [0..*]</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" ># esOnline: boolean [1]</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" ># espacioOcupado: int [1]</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" ># espacioTotal: int [1]</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" ># machineData: Machine[][] [0..*]</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" ># recursosDefecto: HashMap<String, Integer> [0..*]</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" ># recursosMaximos: HashMap<String, Integer> [0..*]</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" ># recursosOcupados: HashMap<String, Integer> [0..*]</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" ># roomName: String [0..1]</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" ># roomSize: Vector2 [0..1]</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" ># tileSetID: String [0..1]</TD></TR>
|
||||
<HR/>
|
||||
<TR><TD ALIGN="LEFT" >+ AddMachine(x: int, y: int, machineToAdd: Machine)</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" >+ ComprobarCapacidadRecurso(attribute: String, valorComprobar: int): boolean</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" >+ ComprobarMaquina(maquinaComprobar: Machine, x: int, y: int): boolean</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" >+ ComprobarPosicion(x: int, y: int): boolean</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" >+ ComprobarRecursos(maquinaComprobar: Machine): boolean</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" >+ EliminarMaquina(posX: int, posY: int)</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" >+ ModificarRecursoSala(resourceName: String, mod: int, esMaximo: boolean): boolean</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" >+ MoverMaquina(oldX: int, oldY: int, newX: int, newY: int)</TD></TR>
|
||||
</TABLE>>
|
||||
style=filled
|
||||
margin=0
|
||||
shape=plaintext
|
||||
fillcolor="#FFFFFF"
|
||||
];
|
||||
|
||||
RoomLoader1069956928[
|
||||
label=<<TABLE BORDER="1" CELLBORDER="0" CELLPADDING="4" CELLSPACING="0">
|
||||
<TR><TD ALIGN="LEFT" >(C)RoomLoader</TD></TR>
|
||||
<HR/>
|
||||
<TR><TD ALIGN="LEFT" ># currentRoom: Room [0..1]</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" ># loadedRooms: HashMap<String, Room> [0..*]</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" ># loaderJson: Json [0..1]</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" ># mcLoader: MachineLoader [0..1]</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" ># roomSerializer: Serializer<Room> [0..1]</TD></TR>
|
||||
<HR/>
|
||||
<TR><TD ALIGN="LEFT" >+ AddRoom(rToAdd: Room)</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" >+ GetCurrentRoom(): Room</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" >+ LoadRoomFromJSON(file: FileHandle)</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" >+ SaveRoomToJSON(roomID: String, file: FileHandle)</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" >+ SetCurrentRoom(roomID: String)</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" >+ UnloadRoom(roomID: String)</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" >+ isRoomLoader(roomID: String): boolean</TD></TR>
|
||||
</TABLE>>
|
||||
style=filled
|
||||
margin=0
|
||||
shape=plaintext
|
||||
fillcolor="#FFFFFF"
|
||||
];
|
||||
|
||||
TileSetManager1069956928[
|
||||
label=<<TABLE BORDER="1" CELLBORDER="0" CELLPADDING="4" CELLSPACING="0">
|
||||
<TR><TD ALIGN="LEFT" >(C)TileSetManager</TD></TR>
|
||||
<HR/>
|
||||
<TR><TD ALIGN="LEFT" ># tileSetsMap: HashMap<String, TiledMapTileSet> [0..*]</TD></TR>
|
||||
<HR/>
|
||||
<TR><TD ALIGN="LEFT" >+ GetTileSet(tileSetName: String): TiledMapTileSet</TD></TR>
|
||||
<TR><TD ALIGN="LEFT" >+ loadTileSet(path: String, tileSetName: String, tileWidth: int, tileHeight: int): boolean</TD></TR>
|
||||
</TABLE>>
|
||||
style=filled
|
||||
margin=0
|
||||
shape=plaintext
|
||||
fillcolor="#FFFFFF"
|
||||
];
|
||||
}
|
||||
|
||||
'edges
|
||||
BackEndTest1260140886 -> testGame1260140886[label="game
|
||||
[0..1]"];
|
||||
RoomLoader1069956928 -> MachineLoader1069956928[label="mcLoader
|
||||
[0..1]"];
|
||||
RoomLoader1069956928 -> Room1069956928[label="currentRoom
|
||||
[0..1]"];
|
||||
RoomLoader1069956928 -> Room1069956928[label="loadedRooms
|
||||
[0..*]"];
|
||||
RoomLoader1069956928 -> Room1069956928[label="roomSerializer
|
||||
[0..1]"];
|
||||
testGame1260140886 -> MachineLoader1069956928[label="mcLoader
|
||||
[0..1]"];
|
||||
testGame1260140886 -> RoomLoader1069956928[label="rmLoader
|
||||
[0..1]"];
|
||||
testGame1260140886 -> TileSetManager1069956928[label="tileSetManager
|
||||
[0..1]"];
|
||||
|
||||
}
|
||||
@enduml
|
||||
@@ -0,0 +1,111 @@
|
||||
@startuml
|
||||
class uberelectron.gameSystems.LoginData {
|
||||
~ String nickname
|
||||
~ String password
|
||||
}
|
||||
class uberelectron.gameSystems.SaveLoader {
|
||||
+ {static} Save LoadFromJSON(FileHandle)
|
||||
+ {static} void SaveToJSON(Save,FileHandle)
|
||||
}
|
||||
class uberelectron.gameSystems.GameManager {
|
||||
+ {static} MachineLoader mcLoader
|
||||
+ {static} RoomLoader rmLoader
|
||||
+ {static} Save saveData
|
||||
}
|
||||
class uberelectron.gameSystems.TileSetManager {
|
||||
~ HashMap<String,TiledMapTileSet> tileSetsMap
|
||||
+ boolean loadTileSet(String,String,int,int)
|
||||
+ TiledMapTileSet GetTileSet(String)
|
||||
}
|
||||
class uberelectron.gameSystems.RoomLoader {
|
||||
~ Room currentRoom
|
||||
~ HashMap<String,Room> loadedRooms
|
||||
~ MachineLoader mcLoader
|
||||
~ Json loaderJson
|
||||
~ Json.Serializer<Room> roomSerializer
|
||||
+ void LoadRoomFromJSON(FileHandle)
|
||||
+ void SaveRoomToJSON(String,FileHandle)
|
||||
+ void UnloadRoom(String)
|
||||
+ boolean isRoomLoader(String)
|
||||
+ void SetCurrentRoom(String)
|
||||
+ Room GetCurrentRoom()
|
||||
+ void AddRoom(Room)
|
||||
}
|
||||
class uberelectron.gameSystems.MachineLoader {
|
||||
- HashMap<String,Machine> machineMap
|
||||
+ void LoadFromJSON(FileHandle)
|
||||
+ void SaveToJSON(FileHandle)
|
||||
+ void AddMachine(Machine)
|
||||
+ Machine GetMachine(String)
|
||||
}
|
||||
class uberelectron.gameSystems.Save {
|
||||
~ int dinero
|
||||
~ HashMap<String,Boolean> ownedRoom
|
||||
}
|
||||
class uberelectron.gameSystems.Machine {
|
||||
~ String machineID
|
||||
+ HashMap<String,Integer> attributes
|
||||
~ boolean esDeRecursos
|
||||
~ String tileSetID
|
||||
~ int tilePos
|
||||
+ String getMachineID()
|
||||
+ void setMachineID(String)
|
||||
+ boolean isEsDeRecursos()
|
||||
+ void setEsDeRecursos(boolean)
|
||||
+ HashMap<String,Integer> getAttributes()
|
||||
+ String getTileSetID()
|
||||
+ void setTileSetID(String)
|
||||
+ int getTilePos()
|
||||
+ void setTilePos(int)
|
||||
+ void AddAtribute(String,int)
|
||||
+ void UpdateAtribute(String,int)
|
||||
+ int GetAtributeValue(String)
|
||||
}
|
||||
class uberelectron.gameSystems.LoginSystem {
|
||||
- {static} boolean isLogged
|
||||
+ {static} boolean AutentificarUsuario()
|
||||
+ {static} boolean isIsLogged()
|
||||
}
|
||||
class uberelectron.gameSystems.Room {
|
||||
~ String roomName
|
||||
~ Vector2 roomSize
|
||||
~ int espacioOcupado
|
||||
~ int espacioTotal
|
||||
~ HashMap<String,Integer> recursosOcupados
|
||||
~ HashMap<String,Integer> recursosMaximos
|
||||
~ HashMap<String,Integer> recursosDefecto
|
||||
~ String tileSetID
|
||||
~ int[][] bgData
|
||||
~ Machine[][] machineData
|
||||
~ boolean esOnline
|
||||
+ void AddMachine(int,int,Machine)
|
||||
+ boolean ComprobarCapacidadRecurso(String,int)
|
||||
+ boolean ComprobarRecursos(Machine)
|
||||
+ boolean ComprobarPosicion(int,int)
|
||||
+ boolean ComprobarMaquina(Machine,int,int)
|
||||
+ boolean ModificarRecursoSala(String,int,boolean)
|
||||
+ void MoverMaquina(int,int,int,int)
|
||||
+ void EliminarMaquina(int,int)
|
||||
+ String getRoomName()
|
||||
+ Vector2 getRoomSize()
|
||||
+ int getEspacioOcupado()
|
||||
+ int getEspacioTotal()
|
||||
+ String getTileSetID()
|
||||
+ int[][] getBgData()
|
||||
+ Machine[][] getMachineData()
|
||||
+ boolean isEsOnline()
|
||||
|
||||
}
|
||||
uberelectron.gameSystems.MachineLoader --* uberelectron.gameSystems.Machine
|
||||
uberelectron.gameSystems.RoomLoader --* uberelectron.gameSystems.Room
|
||||
uberelectron.gameSystems.Room --* uberelectron.gameSystems.Machine
|
||||
uberelectron.gameSystems.RoomLoader --> uberelectron.gameSystems.MachineLoader
|
||||
|
||||
uberelectron.gameSystems.SaveLoader --> uberelectron.gameSystems.Save
|
||||
uberelectron.gameSystems.LoginSystem --> uberelectron.gameSystems.LoginData
|
||||
|
||||
uberelectron.gameSystems.GameManager --* uberelectron.gameSystems.RoomLoader
|
||||
uberelectron.gameSystems.GameManager --* uberelectron.gameSystems.MachineLoader
|
||||
uberelectron.gameSystems.GameManager --* uberelectron.gameSystems.SaveLoader
|
||||
uberelectron.gameSystems.GameManager --* uberelectron.gameSystems.LoginSystem
|
||||
@enduml
|
||||
Reference in New Issue
Block a user