/cs-minicloud

Serviço em Java + JPA + Spring da disciplina TCC00312 - PROJETO DE SOFTWARE da Universidade Federal Fluminense.

Primary LanguageJavaMIT LicenseMIT

cs-minicloud

Serviço em Java + JPA + Spring da disciplina TCC00312 - PROJETO DE SOFTWARE da Universidade Federal Fluminense.

Trabalho 01 - Definição do Diagrama de Classes

UML V2.0

classDiagram   
 
    class CPU {
       -ArchitectureEnum Architecture
       -int Cores
       -int Cache 
       -int ClockFrequency
    }

    class Machine{
      #int MemoryInBytes
      #CPU CPU
      #bool HasGpu
      #double SSDInBytes
      #double HDInBytes
      #String OperationalSystem
    }

    Machine "*" *-- "1" CPU : Composição

    class PhysicalMachine {
        -String Id
        -List~VirtualPhysicalMachine~ VirtualMachines
        -StatusEnum status
    }

    class VirtualMachine {
        -String Id        
        -Status Status
        -VirtualPhysicalMachine PhysicalMachineId
    }

    class VirtualPhysicalMachine {
        -String VirtualMachineId : chave-composta
        -String PhysicalMachineId : chave-composta
        -String UserId : chave-composta
        -LocalDateTime StartedDate
        -LocalDateTime CreatedDate
        -LocalDateTime UpdatedAt
    }
            
    Machine <|-- PhysicalMachine : Herança
    Machine <|-- VirtualMachine : Herança
    PhysicalMachine "1" o-- "*" VirtualPhysicalMachine  : Agregação
    VirtualMachine "1" o-- "1" VirtualPhysicalMachine  : Agregação
Ver UML v1.0 do projeto
classDiagram   
 
    class CPU {
       -ArchitectureEnum Architecture
       -int Cores
       -int Cache 
       -int ClockFrequency
    }

    class Machine{
      #int MemoryInBytes
      #CPU CPU
      #bool HasGpu
      #double SSDInBytes
      #double HDInBytes
      #String OperationalSystem
    }

    Machine "*" *-- "1" CPU : Composição

    class PhysicalMachine {
        -String Id
        -List~VirtualMachine~ VirtualMachines
        -Address Address
        -StatusEnum status
    }

    class VirtualMachine {
        -String Id
        -LocalDateTime StartedDate
        -LocalDateTime CreatedDate
        -LocalDateTime UpdatedAt
        -Status Status
        -String UserId
        -String PhysicalMachineId
    }

    class Address{
        -String Logradouro
        -String Numero
        -String Bairro
        -String CEP
        -String Complemento
        -int NumeroDaSalaDeServidor
        -int Rack
        -String Label
    }
            
    Machine <|-- PhysicalMachine : Herança
    Machine <|-- VirtualMachine : Herança
    PhysicalMachine "1" o-- "*" VirtualMachine  : Agregação
    PhysicalMachine "1" *-- "1" Address : Composição