2. Diagrama de Classes - lilpir/Proj2ModSofOriObj GitHub Wiki
Diagrama de Classes
Visão Geral da Arquitetura
O design é centrado em um SistemaControle principal, que atua como o cérebro do sistema, gerenciando entidades físicas (como Hotel, Elevador e Andar) e entidades lógicas (como UsuarioControle e HospedeVIP).
Componentes Principais
-
Hub Central (
SistemaControle):- Esta é a classe principal que implementa o padrão Singleton (só existe uma instância dela).
- Ela contém todos os métodos principais de gerenciamento que vimos nos Casos de Uso (ex:
acionarModoIncendio(),configurarZona(),auditarLogs()). - Atua como um agregador, gerenciando as listas de hotéis, usuários, hóspedes VIP e logs.
-
Atores de Gerenciamento (
UsuarioControle,UsuarioMaster):- Representa os operadores da sala de comando.
- Usa Herança:
UsuarioMasteré uma especialização deUsuarioControle, com o método adicionalgerenciarUsuario()(Req. 2).
-
Estrutura do Hotel (
Hotel,Andar,Elevador):- Usa Composição: Um
Hotelé "composto por"ElevadoreseAndares. Isso significa que os elevadores e andares pertencem a um hotel específico. AndarVIPé uma especialização (herança) deAndar, usada para o requisito de acesso restrito (Req. 7).BotoeiraExternaeIndicadorExternosão componentes de umAndar.
- Usa Composição: Um
-
Componentes do Elevador (
Elevador):- Esta é outra classe central que representa a entidade física do elevador.
- Usa Composição: O
Elevadoré "composto por" suas peças internas:Porta,DisplayInterno,BotoeiraInterna,SensorCargae, opcionalmente, umaCameraVIP. - O
SensorCargaestá diretamente ligado aoUC10: Controlar Carga Máxima(Req. 12). - A
CameraVIPestá ligada aoUC2: Acessar Andar VIP(Req. 7).
-
Acesso VIP (
HospedeVIP):- Uma classe de dados que armazena as informações do hóspede, incluindo os
dadosFaciais(Req. 7). - O
SistemaControlegerencia a lista desses hóspedes (viaUC9: Cadastrar Hóspede VIP), e aCameraVIPa utiliza para validação.
- Uma classe de dados que armazena as informações do hóspede, incluindo os