@startuml
skinparam classAttributeIconSize 0
hide methods
left to right direction

class Plataforma {
  -String designacao
}

class Organizacao {
  -String nome
  -String NIF
  -String website
  -String telefone
  -String email
}

class Colaborador {
  -String funcao
  -String telefone
}


class Tarefa {
  -String ID
  -String desig
  -String descBreve
  -double duracao
  -double custo
  -Categoria catTarefa
}

class DescTarefaConcluida {
  -String dataConclusao
  -int delay
  -String descQualidade
  --
  GeneratePayment()
}

class Freelancer {
    -String ID
    -GrauProficiencia grau
    -String NIF
    -String endereco
    -String iban
    -String pais
}

class Utilizador {
  -String nome
  -String email
  -String password
}


Freelancer "0..1" -- "1" Utilizador: atua como >
Colaborador "0..1" -- "1" Utilizador: atua como >
Plataforma "1" -- "*" Organizacao : tem registadas >
Tarefa "*" -- "1" Colaborador: especificada por >

Organizacao "1" -- "1..*" Colaborador: tem >

Colaborador "0..1" -- "*" DescTarefaConcluida: especifica >
Tarefa "*" -- "1" Freelancer: concluida por >

 

@enduml
 
