SP02.Definição do Negócio - ricardosilva21A/G07 GitHub Wiki

Sprint 2 — Definição do Negócio

Esta página descreve os processos de negócio suportados pela aplicação e o modelo de domínio com as entidades e conceitos do negócio. Os requisitos (casos de uso, regras de negócio, requisitos não funcionais e pressupostos) estão na página Definição de Requisitos.

1. Processos de Negócio

Os processos seguintes partem das áreas funcionais e dos intervenientes definidos na Sprint 1. Cada processo é descrito em texto e modelado em BPMN.

  • 1.1 Pesquisa e Comparação de Estacionamento — o utilizador encontra e compara alternativas de estacionamento.
  • 1.2 Contribuição e Validação de Informação Comunitária — os utilizadores complementam a informação existente sobre o estacionamento na via pública.
  • 1.3 Integração e Atualização de Informação de Fontes — o sistema mantém atualizada a informação disponibilizada por entidades públicas e privadas.

1.1 Processo de Pesquisa e Comparação de Estacionamento

1.1.1 Descrição

Objetivo: permitir ao utilizador encontrar e comparar alternativas de estacionamento, com base na localização, no custo, na disponibilidade e nas regras aplicáveis.

Intervenientes: Utilizador (principal), Sistema, Sistema de Localização (externo).

Início: o utilizador pretende estacionar e inicia uma pesquisa.

Fim: o utilizador decide qual a alternativa que pretende utilizar, ou termina a pesquisa sem escolher. A aplicação não efetua reservas nem pagamentos.

Descrição:

  1. O utilizador indica onde pretende estacionar, através da sua localização atual ou de um local à sua escolha.
  2. Se escolher a localização atual, o sistema solicita a posição ao Sistema de Localização, mediante autorização do utilizador.
  3. O utilizador define os critérios de pesquisa: preço, distância, disponibilidade, horário (hora de chegada e duração prevista) e características (por exemplo, cobertura ou carregamento elétrico).
  4. O sistema pesquisa os locais de estacionamento (parques e zonas) compatíveis com os critérios, a partir da informação disponível. A disponibilidade apresentada corresponde à informação comunicada pela fonte ou a uma estimativa suportada pelos dados disponíveis; não garante a existência de lugares livres.
  5. O sistema apresenta os resultados ordenados, indicando a origem e a data da última atualização da informação, quando conhecidas (RN01, RN02). A disponibilidade é identificada como estimativa e, quando não existirem dados que a suportem, é apresentada como não disponível (RN03).
  6. O utilizador consulta os detalhes de um local: localização, tarifas, horários, características, regras, disponibilidade estimada, carregadores e observações da comunidade, quando existirem (RN03, RN04, RN06).
  7. Opcionalmente, o utilizador seleciona duas ou mais alternativas para comparação. O sistema apresenta a comparação com base na informação disponível, considerando as condições tarifárias conhecidas e os respetivos períodos de aplicação (RN05).
  8. O utilizador pode escolher uma alternativa sem a comparar (fim do processo), comparar alternativas antes de escolher, ou ajustar os critérios e regressar ao passo 3.

Situações alternativas:

  • Localização não autorizada ou indisponível: o utilizador indica manualmente o local de pesquisa.
  • Sem resultados: o sistema informa o utilizador e sugere alargar os critérios.
  • Informação em falta (tarifa, disponibilidade, etc.): o local mantém-se nos resultados e a informação em falta é apresentada como não disponível. A disponibilidade comunicada ou estimada não é apresentada como garantia de lugares livres (RN03).

1.1.2 Diagrama BPMN — Pesquisa e Comparação de Estacionamento

Diagrama BPMN — Pesquisa e Comparação


1.2 Processo de Contribuição e Validação de Informação Comunitária

1.2.1 Descrição

Objetivo: complementar a informação oficial sobre o estacionamento na via pública quando esta é inexistente, limitada ou desatualizada, e validar a qualidade dessa informação.

Intervenientes: Utilizador (autor da observação), outros Utilizadores, Sistema, Administrador.

Início: o utilizador pretende partilhar uma observação sobre as condições de estacionamento num local da via pública.

Fim: a observação fica registada e disponível para consulta, ou é removida pelo administrador. A observação descreve as condições no momento indicado e não é tratada como informação oficial nem como garantia da disponibilidade atual.

Descrição:

  1. O utilizador autenticado seleciona uma zona de estacionamento na via pública e indica a disponibilidade observada e, se aplicável, outras condições do estacionamento. Nesta fase, não são submetidas observações sobre parques de estacionamento.
  2. O sistema regista a observação com o autor, o local, a disponibilidade observada e a data e hora, identificando-a como informação comunitária (RN04, RN08).
  3. O sistema atribui pontos de contribuição ao autor segundo critérios a definir (RN07). Nesta fase, os pontos representam a participação do utilizador e não alteram a fiabilidade nem a prioridade das observações.
  4. O sistema disponibiliza a observação para consulta por outros utilizadores, identificando-a como comunitária e apresentando a data e hora da observação.
  5. Outros utilizadores podem confirmar ou refutar a observação, ficando a avaliação associada a ela.
  6. Se uma observação for sinalizada como incorreta ou inadequada, o administrador analisa-a e decide mantê-la ou removê-la (RN09).

Situações alternativas:

  • Utilizador sem sessão iniciada: o sistema pede que inicie sessão ou crie uma conta antes de submeter a observação.
  • Dados incompletos: o sistema não regista a observação e indica os dados em falta.

1.2.2 Diagrama BPMN — Contribuição e Validação de Informação Comunitária

Diagrama BPMN — Informação Comunitária


1.3 Processo de Integração e Atualização de Informação de Fontes

1.3.1 Descrição

Objetivo: manter atualizada a informação de estacionamento proveniente de entidades públicas e privadas, identificando sempre a sua origem. A informação pode ser fornecida diretamente pela entidade ou obtida através de uma fonte externa integrada, conforme as condições de cada fonte.

Intervenientes: Entidade Pública e Entidade Privada (fontes de informação), Sistema, Administrador.

Início: chega o momento de atualização definido para uma fonte de informação.

Fim: a informação fica atualizada com a origem e a data registadas, ou a falha fica tratada.

Descrição:

  1. O sistema obtém os dados da fonte (por exemplo, através de uma API), com a periodicidade definida para cada fonte.
  2. O sistema verifica se os dados recebidos são utilizáveis (formato e campos mínimos).
  3. O sistema atualiza os dados recebidos e validados sobre locais, tarifas, regras, horários, carregadores e disponibilidade. Os dados válidos não abrangidos pela atualização são preservados.
  4. O sistema regista, para cada informação, a fonte de origem e a data e hora da última atualização (RN01, RN02).

Situações alternativas:

  • Falha na obtenção ou dados inválidos: o sistema mantém os últimos dados válidos, com a respetiva data de atualização, e informa o administrador.
  • Gestão das fontes: o administrador pode adicionar, desativar ou corrigir fontes de informação.

1.3.2 Diagrama BPMN — Integração e Atualização de Informação de Fontes

Diagrama BPMN — Integração de Fontes


2. Modelo de Domínio

O modelo de domínio representa os conceitos do negócio e as relações entre eles, independentemente da implementação. Não inclui ecrãs, tecnologias nem a estrutura da base de dados. A pesquisa e a comparação não são entidades do domínio, são funcionalidades do sistema que operam sobre estas entidades.

Modelo de Domínio

2.1 Definição das Entidades

Pessoas e entidades

  • Utilizador — Pessoa que utiliza a aplicação para pesquisar estacionamento e consultar informação e que, quando autenticada, pode contribuir com observações e acumular pontos de contribuição.
  • Administrador — Utilizador com permissões para gerir a plataforma: gerir utilizadores, moderar observações e gerir fontes de informação.
  • Entidade Privada (Operador de Estacionamento) — Entidade privada responsável pela exploração de um ou mais parques de estacionamento e que disponibiliza informação sobre eles.
  • Entidade Pública — Entidade pública responsável por zonas e parques de estacionamento públicos, que disponibiliza informação sobre eles, incluindo regras e restrições.

Locais

  • Local de Estacionamento — Conceito geral para qualquer local onde é possível estacionar. Especializa-se em Parque de Estacionamento e Zona de Estacionamento.
  • Parque de Estacionamento — Local delimitado e explorado por uma entidade, que pode ser privado (Entidade Privada) ou público (Entidade Pública).
  • Zona de Estacionamento — Área de estacionamento na via pública, gratuita ou paga, sujeita a regras definidas por uma entidade pública.

Informação associada aos locais

  • Tarifa — Informação relativa ao custo do estacionamento e às condições e períodos em que se aplica. Um local gratuito não tem tarifa.
  • Regra de Estacionamento — Condição ou restrição aplicável a um local, como limites de permanência ou restrições de utilização.
  • Disponibilidade — Informação comunicada por uma fonte ou estimativa da existência de lugares livres num local num determinado momento. Pode basear-se em dados oficiais ou em observações comunitárias, que devem ser identificadas pela respetiva origem e data/hora. Não constitui garantia de existência de lugares livres.
  • Carregador Elétrico — Equipamento de carregamento de veículos elétricos associado a um local de estacionamento, com tipo, potência e estado, quando conhecidos.

Comunidade e origem da informação

  • Observação — Informação submetida por um utilizador sobre as condições de estacionamento numa zona da via pública, com a disponibilidade observada e a data e hora. Descreve o momento observado, é informação comunitária e pode ser confirmada ou refutada por outros utilizadores.
  • Fonte de Informação — Origem dos dados disponibilizados pela aplicação. Pode ser uma Entidade Privada, uma Entidade Pública ou a comunidade (através das observações).

2.2 Definição de Termos

  • Informação oficial — Informação disponibilizada por entidades públicas ou privadas.
  • Informação comunitária — Informação proveniente de observações dos utilizadores. Complementa a informação oficial, mas não é tratada como oficial.
  • Atualidade — Momento da última atualização de uma informação, quando conhecido.
  • Ponto de contribuição — Pontuação atribuída ao utilizador pela sua participação com observações. Poderá servir como mecanismo de reputação numa fase posterior.
  • Via pública — Espaço de circulação e estacionamento na rua, em oposição aos parques de estacionamento.
  • Limite de permanência — Tempo máximo durante o qual é permitido estacionar num local.
  • Horário — Período do dia e dias da semana em que o local está disponível ou em que se aplicam determinadas tarifas e regras.
  • Localização — Posição geográfica de um local de estacionamento ou do utilizador.

2.3 Relações entre Entidades

Entidade Relação Entidade Multiplicidade
Entidade Privada explora Parque de Estacionamento (privado) 1 para 0..*
Entidade Pública explora Parque de Estacionamento público 1 para 0..*
Entidade Pública define as regras de Zona de Estacionamento na via pública 1 para 0..*
Local de Estacionamento tem Tarifa 1 para 0..*
Local de Estacionamento está sujeito a Regra de Estacionamento 1 para 0..*
Local de Estacionamento tem Carregador Elétrico 1 para 0..*
Local de Estacionamento tem Disponibilidade (ao longo do tempo) 1 para 0..*
Utilizador submete Observação 1 para 0..*
Observação refere-se a Zona de Estacionamento na via pública 0..* para 1
Utilizador confirma ou refuta Observação 0..* para 0..*
Administrador modera Observação 0..* para 0..*
Administrador gere Fonte de Informação 0..* para 0..*
Fonte de Informação origina Informação do local (tarifas, regras, carregadores, disponibilidade) 1 para 0..*

Back Home