Requisitos do sistema - AbnerSantos25/ProjetoAgenda GitHub Wiki
Diagrama de classes e requisitos Funcionais do sistema
A imagem a seguir apresenta o diagrama de classes do sistema desenvolvido.
Requisitos Funcionais
RF01 - Adicionar Contato
Função |
Adicionar contato |
Descrição |
Adiciona um novo contato à agenda. |
Entradas |
Um objeto do tipo Contact. |
Origem |
Usuário. |
Destino |
Estrutura de dados (lista de contatos). |
Ação |
O sistema valida o novo contato, verifica se o número de celular já existe, adiciona o contato à agenda e grava os dados atualizados no arquivo. |
Pré-condição |
O arquivo da agenda deve existir e ser legível. |
Pós-condição |
O novo contato é adicionado à agenda. |
Efeitos colaterais |
A agenda é atualizada com o novo contato. |
RF02. Validar Duplicidade
Função |
Verificar duplicidade de número de celular |
Descrição |
Verifica se um número de celular já existe na lista de contatos, excluindo um contato específico. |
Entradas |
Uma string phoneNumber e um Guid excludingContactId. |
Origem |
Sistema. |
Destino |
Estrutura de dados (lista de contatos). |
Ação |
O sistema verifica se o número de celular fornecido já existe em qualquer contato, excluindo o contato especificado pelo excludingContactId. Se o número já existir, retorna true; caso contrário, retorna false. |
Pré-condição |
A lista de contatos deve estar carregada na memória. |
Pós-condição |
O sistema retorna um booleano indicando a existência ou não do número de celular. |
Efeitos colaterais |
Nenhum. |
RF03. Visualizar Contato
Função |
Mostrar mais informações do contato |
Descrição |
Redireciona o usuário para a página de detalhes do contato e exibe suas informações. |
Entradas |
Um objeto do tipo Contact. |
Origem |
Usuário. |
Destino |
Navegador (via NavigationManager). |
Ação |
O usuário seleciona um contato e o sistema redireciona para a página de detalhes do contato, exibindo o nome e os números de telefone. |
Pré-condição |
O contato deve existir na agenda e o sistema deve estar em execução. |
Pós-condição |
A página de detalhes do contato é exibida ao usuário. |
Efeitos colaterais |
Nenhum. |
RF04. Editar Contato
Função |
Editar contato |
Descrição |
Edita um contato existente na agenda, atualizando suas informações. |
Entradas |
Um objeto do tipo Contact. |
Origem |
Usuário. |
Destino |
Estrutura de dados (lista de contatos). |
Ação |
O usuário edita um contato existente. O sistema valida o contato, verifica a duplicidade de números, atualiza as informações do contato e grava os dados atualizados no arquivo. |
Pré-condição |
O contato deve existir na agenda e o arquivo da agenda deve estar presente e legível. |
Pós-condição |
As informações do contato são atualizadas na agenda. |
Efeitos colaterais |
O contato atualizado substitui o contato antigo na agenda. |
RF05 - Excluir contato
Função |
Deletar contato |
Descrição |
Deleta o contato se ele existir na lista de contatos. |
Entradas |
Guid contactId. |
Origem |
Usuário. |
Destino |
Estrutura de dados (lista de contatos). |
Ação |
O sistema valida a existência do arquivo da agenda, verifica se o contato existe na agenda e o remove se encontrado, depois grava os dados atualizados no arquivo. |
Pré-condição |
O arquivo da agenda deve existir e ser legível. O contato deve existir na agenda. |
Pós-condição |
O contato é removido da agenda. |
Efeitos colaterais |
O contato desaparece da agenda. |
Requisitos não Funcionais
RNF01 - Linguagem de programação
O sistema deve ser escrito na linguagem de programação C#, utilizando a versão 8.0.101 ou superior do .NET, e a interface visual com Blazor.
RNF02 - Ambiente de execução
O sistema deve ser executado em Windows, a partir da versão 10, será necessário ter no mínimo 4gb de memoria RAM e espaço livre no disco.