Especificação Suplementar - italopaiva/SiMCTA GitHub Wiki
Especificação Suplementar
SiMCTA
Versão 1.5
Histórico da Revisão
Data | Versão | Descrição | Autor |
---|---|---|---|
05/09/2015 | 1.0 | Criação do documento | Edson Gomes |
09/09/2015 | 1.1 | Ajuste de alguns requisitos | Emilie Morais |
17/11/2015 | 1.2 | Ajustes finais | Emilie Morais |
21/11/2015 | 1.5 | Atualização do documento | Ítalo Paiva |
1. Introdução
Este documento é o repositório de todos os requisitos do sistema SiMCTA não documentados nos casos de uso.
1.1 Finalidade
Este documento tem por finalidade categorizar e representar os requisitos não-funcionais para conhecimento da equipe de desenvolvimento.
1.2 Escopo
Esta especificação suplementar engloba os requisitos legais, reguladores e de qualidade (incluindo requisitos de usabilidade, confiabilidade, desempenho e suportabilidade) do sistema a ser construído, além de outros requisitos, como sistemas operacionais e ambientes, requisitos de compatibilidade e restrições de design.
A implementação e\ou a modelagem da arquitetura do sistema podem ser impactadas ou influenciadas pelos requisitos definidos aqui.
1.3 Definições, Acrônimos e Abreviações
SGBD - sigla para Sistema Gerenciador de Banco de Dados: Conjunto de programas responsáveis por gerenciar um banco de dados.
driver JDBC - driver Java Database Connectivity (driver de conectividade de banco de dados Java): "Um driver JDBC é um componente de software que permite que uma aplicação Java interaja com um banco de dados. Para conectar com bancos de dados individuais, o JDBC requer drivers para cada banco de dados. O driver JDBC fornece a conexão ao banco de dados e implementa o protocolo para transferir a consulta e o resultado entre cliente e banco de dados." (Wikipédia. 2015)
AUP - sigla em inglês para Agile Unified Process; em português, Processo Unificado Ágil: Processo de desenvolvimento de software baseado em princípios ágeis e voltado a construção de sistemas orientados a objetos.
IDE - sigla em inglês para Integrated Development Environment, ou em português, Ambiente de Desenvolvimento Integrado: Basicamente, é um programa de computador que concentra funções, tarefas e ferramentas de apoio ao desenvolvimento de software.
Wiki - expressão havaiana que significa "rápido, ligeiro, veloz": Software, geralmente disponível na plataforma Web, que permite a edição colaborativa de documentos. É utilizado como um tipo específico de repositório de documentos em hipertexto ou o software colaborativo usado para criá-lo.
1.4 Referências
1.4.1 Internas (Artefatos)
Plano de Gerência de Configuração
1.4.2 Externas
Driver JDBC. Wikipédia. Disponível em: https://pt.wikipedia.org/wiki/Driver_JDBC. Acessado em 07 de setembro de 2015 às 1h00.
Wiki. Wikipédia. Disponível em: https://pt.wikipedia.org/wiki/Wiki. Acessado em 07 de setembro de 2015 às 1h30.
ROGERS, Y.; SHARP, H.; PREECE, J. Design de interação: além da interação humano-computador. 3ª edição. Porto Alegre: Bookman, 2013. 600p.
1.5 Visão Geral
Este documento está estruturado em forma de seções enumerados em ordem crescente que abordam, cada uma, a partir do item 2 um requisito específico do sistema. Desta forma, nas seções 2, 3, 4, 5 e 6, são apresentados os requisitos referentes a Funcionalidade, Usabilidade e Suportabilidade, respectivamente. Já a seção 5 elenca as Restrições de Design e a seção 6, os Requisitos de Sistema de Ajuda. Nas últimas seções são descritos, em sequência, da seção 7 a 9, os requisitos associados a Interfaces, Observações Legais e Direitos Autorais, e, por fim, Padrões Aplicáveis.
2. Funcionalidade
2.1 Tratamento de erros
O sistema deve ser capaz de se recuperar de erros, retornando ao ponto de processamento anterior ao erro.
2.2 Segurança
Para funcionalidades que só podem ser acessadas pelo Diretor o sistema deve prover uma autenticação que requisite uma senha pessoal.
3. Usabilidade
Os requisitos de usabilidade foram inspirados pelos princípios fundamentais de usabilidade desenvolvidos por Nielsen (ROGERS et al., 2013, apud NIELSEN, 2001, p. 48) e seus colegas.
3.1 Fatores Humanos
O sistema utilizará a linguagem habitual da empresa CTA, dispondo de palavras, frases e conceitos familiares ao usuário, em vez de termos, exclusivamente, orientados ao sistema.
3.2 Controle, Consistência e Padronização
O sistema manterá o usuário informado das ações que está realizando, fornecendo um retorno adequado.
O sistema permitirá que o usuário saia de lugares inesperados utilizando saídas claramente identificadas.
O sistema manterá um padrão de palavras, mensagens e ações, para evitar que o usuário pense que termos diferentes significam a mesma coisa.
4. Suportabilidade
4.1 Padrão de Codificação
O sistema deverá ser implementado seguindo o Padrão de Codificação em Java definido pela equipe no início do projeto.
5. Restrições de Design
5.1 Linguagem de software
O sistema será desenvolvido na linguagem de programação Java, versão 7 (1.7.0).
5.2 Persistência de dados
O sistema utilizará o SGBD MySQL, versão 5.5.44 para manter os dados armazenados.
A comunicação entre a aplicação Java e o SGBD MySQL será mantida pelo driver JDBC para MySQL, o MySQL Connector 5.1.18.
5.3 Processo de Software
As fases, atividades, tarefas e entregáveis do projeto de desenvolvimento do sistema deverão seguir o Processo Unificado Ágil (ou na sigla, em inglês, AUP).
5.4 Ferramentas de Desenvolvimento
Para a codificação do sistema será utilizada a IDE Eclipse, versão 4.4 (Luna).
Para a realização dos testes unitários será utilizado o framework JUnit, versão 4.
O controle das versões do código fonte e de toda documentação do sistema será realizado por meio da ferramenta GitHub. No caso da documentação será utilizada a própria Wiki do GitHub.
5.5 Restrições de Design e Arquitetura
O sistema será desenvolvido sob o paradigma orientado a objetos.
6. Requisitos de Sistema de Ajuda e de Documentação de Usuário On-line
O sistema deve fornecer pelo menos um documento em formato de texto, .pdf, para orientar os usuários na utilização do sistema em operações mais complexas.
7. Interfaces
7.1 Interfaces de Usuário
A iteração do usuário com o sistema se dará por meio de uma janela padrão a ser exibida no monitor de vídeo, por meio da qual o usuário poderá realizar as funcionalidades disponíveis no sistema, visualizando e inserindo dados. E, em alguns casos, serão acionadas pequenas janelas de alertas, avisos e pedidos de confirmação, para orientar o usuário no uso do sistema.
7.2 Interfaces de Hardware
- Monitor de vídeo;
- Teclado;
- Mouse;
- Impressora.
7.3 Interfaces de Software
Não haverá interfaces de software com outros componentes.
7.4 Interfaces de Comunicações
Caso o SGBD MySQL esteja hospedado em um outro computador ou servidor diferente ao da aplicação, as configurações de endereço e porta deverão ser alteradas manualmente, de acordo com os dados desse outro computador.
8. Observações Legais, de Direitos Autorais etc
É necessário manter a confidencialidade dos dados dos alunos da escola sob pena de responsabilidade pela divulgação de informações.
9. Padrões Aplicáveis
9.1 Compatibilidade com o sistema operacional
É esperado que o sistema seja compatível com o sistema operacional Windows XP ou superior.