1 Requerimentos e Especificações de Software ConfiKeeper Version 2.0, 16-11-2014 by SyncMasters: Carlos Paiva, 2009108909, cpaiva@student.dei.uc.pt Inês Parente, 2012152484, iparente@student.dei.uc.pt Mariana Martins, 2012156188, mlm@student.dei.uc.pt Nuno Susana, 2010159256, nsusana@student.dei.uc.pt Rodrigo Carvalho, 2012145614, rdmc@student.dei.uc.pt
2 CONTEÚDO 1 Introdução 3 1.1 Objectivo........................................ 3 1.2 Âmbito......................................... 3 1.3 Definições e Acrónimos................................ 3 2 Descrição geral 4 2.1 Prespectiva do produto................................ 4 2.2 Funções do Produto.................................. 4 2.3 Características dos Utilizadores........................... 4 2.4 Restrições........................................ 4 2.5 Pressupostos e Dependências............................ 4 3 Requerimentos Específicos 5 3.1 Requerimentos de Interface Externos........................ 5 3.1.1 User Interfaces............................... 5 3.1.2 Interfaces de Hardware.......................... 6 3.1.3 Interfaces de Software.......................... 6 3.1.4 Interfaces de Comunicação........................ 7 3.2 Requerimentos Funcionais.............................. 7 3.3 Requerimentos de Performance........................... 9 3.4 Restrições de Design................................. 10 3.4.1 Espaço de Hard Drive.......................... 10 3.4.2 Uso da Memória.............................. 10 3.5 Atributos do Sistema de Software.......................... 10 3.5.1 Reliability.................................. 10 3.5.2 Disponibilidade.............................. 10 3.5.3 Segurança.................................. 11 3.5.4 Manutenção................................ 11 4 Priorização 11
3 1 INTRODUÇÃO Esta secção oferece uma visão geral do documento assim como definições, acrónimos e referências utilizadas, de forma a possibilitar uma melhor compreensão do texto. 1.1 Objectivo O propósito deste documento é o de oferecer uma descrição detalhada dos requerimentos para a aplicação ConfiKeeper. Servirá para descrever o objectivo e funcionalidades e uma completa descrição do desenvolvimento da aplicação. Irá oferecer uma descrição das restrições do sistema, das interfaces e dos requerimentos a alcançar. O seu propósito é de servir para aprovação do cliente e de ser uma referência a seguir pela equipa de desenvolvimento. 1.2 Âmbito O projecto consiste numa aplicação web based que armazena e permite a consulta do histórico das configurações dos switches pertencentes à rede interna do DEI. O objectivo da aplicação é de apresentar a informação de forma linear e não de alterar esta mesma. A aplicação deverá estar incluída num ambiente de trabalho do Helpdesk, com um dashboard a ela dedicado, utilizando assim o sistema de credenciação nele incluído. Desta forma, a aplicação recolhe periodicamente o estado das configurações dos diferentes switches e armazena-os em formato de texto simples, chamando esses ficheiros posteriormente para a apresentação dos dados. 1.3 Definições e Acrónimos DEFINED - A definição oficial de um termo DEI - Departamento de Engenharia Informática DEP - Dependency / Dependência DESC - Description / Descrição FR - Functional Requirements / Requesitos de funcionalidade GIST - Pequena e simples descrição para ajudar a compreender ID - Identification / Identificação METER - O processo ou o aparelho utilizado para medir utilizando a escala de medidas MUST - O nível mínimo para prevenir que a aplicação falhe QR - Quality Requirements / Requesitos de qualidade RAT - Rational / Racional MB - Megabyte PLAN - O nível que planeamos chegar SCALE - Escala de medidas usada para quantificar o statement WISH - Nível desejado de sucesso
4 2 DESCRIÇÃO GERAL 2.1 Prespectiva do produto O sistema consiste numa única parte: a ligação entre os switches e aplicação. A aplicação vai permitir ao utilizador visualizar o histórico de todos os switches e comparar as diferentes configurações de um switch. A aplicação vai comunicar com os switches de forma a armazenar um histórico das configurações de cada um e irá apresentar essa informação ao utilizador através de uma interface. Os dados obtidos a partir dos switches são armazenados num ficheiro de texto simples, sendo que cada configuração é armazenada por um período predefinido de 12 meses, embora esse tempo possa depois ser alterado pelo utilizador. O aplicação deverá criar um registo dos backups efectuados, seja com sucesso ou não, de forma a ser apresentado posteriormente. Caso um backup falhe, será mandado uma notificação por email a informar sobre esse facto. 2.2 Funções do Produto Na aplicação o utilizador vai poder visualizar o histórico das configurações dos diferentes switches. Vai-lhe ser possível pesquisar por switches, filtrar e organizar as pesquisas e visualizar e comparar os resultados obtidos. A pesquisa será possível de ser organizada por data da última alteração, marca/modelo e por ordem numérica e/ou alfabética do nome dos switches. 2.3 Características dos Utilizadores Existirá apenas um tipo de utilizador que terá acesso a todas as funcionalidades da aplicação, tendo também controlo administrativo sobre esta. Assim parte dos requerimentos funcionais pressupõem que apenas existe um tipo de utilizador, que terá privilégios de administrador. Estes utilizadores, que são os funcionários do Helpdesk, irão utilizar a aplicação para ter um acesso mais prático e directo às configurações dos switches, tendo assim um maior controlo sobre a rede, de forma a manter o seu bom funcionamento. 2.4 Restrições A aplicação está limitada pelo facto de existirem diferentes marcas e modelos de switches em funcionamento no DEI, não tendo todos as mesmas funcionalidades, o que limita o acesso às informações por eles fornecidas. Alguns dos switches já têm alguma idade, não permitindo portanto atualização automática das configurações, sendo que isso limita a forma como a informação é obtida de todos eles, considerando que essa informação terá de ser obtida de forma consistente em todos os dispositivos. O facto de existirem diferentes marcas e modelos aplica restrições sobre especificidades da configuração e sobre a compatibilidade desta em caso de alterações nos switches. A aplicação também necessita de acesso à rede do DEI, sendo que é por ela que são transmitidas as informações de cada switch. O armazenamento dos históricos está limitado ao espaço que o Helpdesk tem disponível. 2.5 Pressupostos e Dependências É assumido que a rede do DEI tem acesso a todos os switches e que, através desta, se consegue deles obter todas as informações necessárias de forma pontual e automática.
5 3 REQUERIMENTOS ESPECÍFICOS Esta secção contém todas as funcionalidade e requerimentos do sistema. Oferece uma descrição detalhada do sistema e das suas características. 3.1 Requerimentos de Interface Externos Esta secção contém uma descrição detalhada de todos os inputs e outputs do sistema. Inclui também uma descrição do hardware, software e interfaces de comunicação, contando ainda com protótipos das user interfaces. 3.1.1 User Interfaces O utilizador ao aceder à aplicação deverá ser apresentado com uma lista de todos os switches cujos backups foram efectuados e se essa operação foi concluida com sucesso ou não. Existe também na página a opção de ver a lista completa dos switches ou a de fazer uma pesquisa de forma a filtrar essa lista. Na página onde é apresentada a lista completa dos switches, de acordo com os filtros aplicados, é apresentada uma lista dos switches, da sua identificação e da última configuração em vigor. É
6 mostrada a opção de ordenar os resultados por nome, modelo ou por data da última alteração à sua configuração. São também apresentadas, na opção da configuração de switches, as opções de adicionar switches que ainda não se encontrem no sistema, de remover switches já existentes ou de alterar as configurações de um switch que já exista no sistema. Ao adicionar um novo switch, será necessário inserir informações sobre o endereço, marca, modelo e consumo deste. Ao eliminar, será apresentada a opção de manter ou eliminar o histórico associado a esse switch. Através de um switch, é apresentado todo o histórico das suas configurações, incluindo comparações entre as diferentes versões armazenadas no sistema. 3.1.2 Interfaces de Hardware A aplicação não tem qualquer hardware específico, não tendo assim quaisquer interfaces de hardware. Todas as ligações são controladas pelo sistema operativo e pelo servidor, não sendo assim visíveis ao utilizador. 3.1.3 Interfaces de Software A aplicação web comunica com os switches de forma a obter as informações necessárias. Esta é uma operação de leitura dos dados. Com a informação obtida, a aplicação então cria ou edita um ficheiro de texto simples e nele insere a informação especifica de cada switch, fazendo assim uma operação de escrita.
7 3.1.4 Interfaces de Comunicação Não existem interfaces deste tipo pois toda a comunicação necessária entre os diferentes componentes é efectuada em background. Ao utilizador apenas é visivel o resultado final das comunicações. 3.2 Requerimentos Funcionais Apresentamos apenas um tipo de Requerimentos Funcionais pois, como já descrito em cima, apenas temos um tipo de utilizador, que terá privilégios de administrador, face às características do projecto, da utilização que lhe vai ser dada e por quem o irá utilizar. ID: FR1 Título: Login. Desc: O utilizador deve poder fazer login na aplicação. ID: FR2 Título: Notificações. Desc: O utilizador, após o login, será deparado com a área de trabalho. Nesta haverá um espaço reservado para uma lista de todos os switches cujos backups foram efectuados, podendo assim o utilizador visualizar em quais switches foi efetuada uma mudança. ID: FR3 Título: Adicionar um switch. Desc: O utilizador deve poder adicionar um ou mais switches à área de trabalho que lhe é apresentada imediatamente após o login. ID: FR4 Título: Remover um switch. Desc: Tal como lhe é possível ao utilizador adicionar um switch à área de trabalho, também lhe
8 é possível remover um qualquer switch que se encontre na área de trabalho. ID: FR5 Título: Configurar Switch Desc: O utilizador deverá poder configurar switches, isto é, adicionar, alterar ou remover um switch da rede. Em qualquer uma das opções o utilizador irá ter de inserir os vários dados do switch (nome, ip, máscara de rede, modelo, etc) com particular atenção ao alterar pois aí serão apresentado ao utilizador as configurações atuais do switch e as novas para as quais serão alteradas. ID: FR6 Título: Marcar um switch. Desc: Em qualquer altura deve ser possível ao utilizador marcar como favorito um qualquer switch. Marcar o switch como favorito vai resultar em que mal o utilizador faça o login lhe seja apresentado a lista com os switches que marcou, desde que começou a utilizar a aplicação. O switch irá apenas deixar de ser um favorito quando o utilizador o retirar como favorito. Caso o utilizador não o retire como favorito, este manter-se-á marcado como tal. ID: FR7 Título: Pesquisar um switch. Desc: O utilizador deve poder pesquisar um switch. Ao pesquisar, o utilizador pode procurar apenas pela identificação do switch, ou pelo IP. Do resultado da pesquisa, deverá ser possível ao utilizador escolher quais, se algum, dos switches quer adicionar à area de trabalho. ID: FR8 Título: Resultado da pesquisa numa lista. Desc: - Caso os resultados da pesquisa contenham mais switches do que os que podem ser apresentados no monitor de cada vez, o utilizador deve poder poder fazer scroll para visualizar os restantes. - Os resultados da pesquisa serão, por defeito, caso o utilizador não os restrinja, ordenados por: 1. Recentemente alterados, isto é, switches cujas configurações tenham sido alteradas desde o último login do utilizador; 2. Identificação do switch; 3. IP do switch; 4.Marca/Modelo do switch. ID: FR9 Título: Filtrar resultados Desc: Será possível ao utilizador, na lista apresentada após a pesquisa, filtrar os resultados. O utilizador poderá assim restringir os resultados que lhe foram apresentados. ID: FR10 Título: Ordenar resultados Desc: Na lista apresentada ao utilizar depois da sua procura será possível este ordenar os resultados de maneira diferente da que lhe é apresentada. Poderá ordenar os resultados por: recentemente alterados, pela identificação do switch, pelo seu IP ou pela sua marca/modelo.
9 ID: FR11 Título: Sem resultados. Desc: Caso a pesquisa do utilizar não tenha resultados válidos deverá ser-lhe apresentada um mensagem que indique essa ausência de resultados. A janela em si não será alterada, ou seja, o utilizador continuará a visualizar a janela de procura, apenas irá aparecer no ecrã a mensagem em causa. A informação que o utilizador inseriu não será apagada. O utilizador irá assim fechar a mensagem e continuar a sua busca ou sair da janela de procura. ID: FR12 Título: Procura inválida. Desc: Caso o utilizador insira informação errada, nomeadamente carateres inválidos, ou informação errada, a procura será negada. Irá aparecer imediatamente no ecrã a mensagem de que a busca é inválida e será indicada a vermelho qual, ou quais, os campos que têm informação errada. A informação que o utilizador inseriu não será apagada para ele a poder alterar/corrigir. 3.3 Requerimentos de Performance O objectivo dos requisitos de performance é especificar detalhadamente que tipo de interacção poderá haver entre o utilizador e o software. ID: QR1 TITLE: Campo de procura de switches DESC: O campo de procura estará num local bem visível e intuitivo para o utilizador. ID: QR2 TITLE: Utilização do campo de procura DESC: O campo de procura permite o utilizador encontrar todos os switches que estão na rede e filtrá-los por tipo de switch/ip. ID: QR3 TITLE: Interpretação dos resultados de pesquisa DESC: A lista de resultados deverá ser fácil de perceber para qualquer utilizador. Se este pretender seleccionar um dos resultados, necessitará de clicar uma vez sobre o que pretende abrir. ID: QR4 TITLE: Abrir um resultado da lista DESC: Deverá ser intuivo para o utilizador o saber que poderá abrir qualquer resultado para poder recolher mais informações sobre este, apenas com um clique sobre o mesmo. Após a abertura de um resultado da lista (um switch), deverá ser mostrada a configuração actual do mesmo. ID: QR5 TITLE: Comparação de configurações entre dias diferentes dentro do mesmo switch DESC: Deverá ser fácil de perceber para o utilizador que poderá comparar dias diferentes de configurações de switch, através da selecção das datas que se quer comparar. ID: QR6 TAG: TempoResposta
10 GIST: Tempo de resposta SCALE: Segundos METER: Valores obtidos durante a fase de testes MUST: 5s por operação WISH: 3s por operação DESC: Tempo que a aplicação deve demorar a concretizar qualquer operação, pedida pelo utilizador, e a mostrar os resultados desta. 3.4 Restrições de Design 3.4.1 Espaço de Hard Drive ID: QR7 TAG: HardDriveSpace GIST: Hard drive space. SCALE: MB METER: O espaço necessário pela aplicação para guardar os ficheiros MUST: Não mais que 6 MB*40(240MB), por histórico anual PLAN: Não mais que 5.3 MB*40(212MB), por histórico anual WISH: Não mais que 4.5 MB*40(180MB), por histórico anual MB: DEFINIDO: Megabyte 3.4.2 Uso da Memória ID: QR8 TAG: ApplicationMemoryUsage GIST: A quantidade de espaço de memória do sistema operativo utilizada pela aplicação SCALE: MB. MUST: Não mais que 50 MB de memória WISH: A aplicação correrá sem problemas na máquina fornecida pelo Helpdesk Sistema Operativo: DEFINIDO: Linux CentOS MB: DEFINIDO: Megabyte. 3.5 Atributos do Sistema de Software 3.5.1 Reliability ID: QR9 TAG: SystemReliability GIST: Confiabilidade do sistema SCALE: A confiança de que o sistema responderá a uma pesquisa com uma resposta correcta METER: Medidas obtidas a partir de 1000 pesquisas durante a fase de testes MUST: Mais de 95% das pesquisas. PLAN: Mais de 98% das pesquisas. WISH: 100% das pesquisas. 3.5.2 Disponibilidade ID: QR10 TAG: SystemAvailability GIST: A disponibilidade do sistema quando é usado. SCALE: A média da disponibilidade do sistema, excluindo falhas de rede METER: Medidas obtidas durante a fase de testes. MUST: Mais de 95% do tempo.
11 PLAN: Mais de 98% do tempo. WISH: 100% do tempo. ID: QR11 TITLE: Ligação à rede do DEI DESC: A aplicação deverá estar numa máquina ligada à rede do DEI RAT: Para que a aplicação possa aceder aos switches DEP: none 3.5.3 Segurança ID: QR12 TAG: CommunicationSecurity GIST: Segurança das comunicações entre o sistema e o servidor. SCALE: As mensagens para comunicaçoes de autenticaçao devem estar protegidas de forma a que ninguém as possa obter. METER: Tentativas de quebrar esta protecção durante a fase de testes. MUST: 100% das mensagens devem estar protegidas. Communication Messages: DEFINIDO: Toda e qualquer troca de informação entre o servidor e o sistema. 3.5.4 Manutenção ID: QR13 TITLE: Aumento da Aplicação DESC: A aplicação deve estar escrita de uma forma em que, mais tarde, seja possível acrescentar novas funções. RAT: Para que novas funções possam depois ser adicionadas. DEP: none 4 PRIORIZAÇÃO Devido à extensão do projecto, primeiramente vamos dar prioridade à execução da aplicação servidor, pois esta debate-se com a principal funcionalidade: realizar backups regulares de todos os Switches disponíveis no DEI. Posteriormente realizaremos a aplicação servidor que vai oferecer toda a interacção entre Utilizador- Servidor.