Listamos aqui, rapidamente, os Requisitos Funcionais e Não-Funcionais do Sistema ELC - LEDA. Mais informações e detalhes seguir para a página do Projeto Arquitetural.
Funcionais já implementados*:
- CRUD de Usuários
- Criação de uma Atividade com os requisitos da disciplina
- Download das Atividades com seus respectivos testes
- Upload das Soluções (pelo aluno)
- Execução de Testes Automaticamente após o Upload
- Download das Soluções (pelos professores e monitores)
- Organização e manutenção das notas das Atividades
- Criação de tipos de atividades
- Correção online das atividades com adição de comentários ao código
Funcionais a implementar:
Não - Funcionais:
- Deve executar nos browsers web mais comuns
- O sistema deve admitir entradas com codificação Unicode.
- Realizar Controle de Sessões
- Prover mecanismo de log de falhas
- Realizar backup dos dados constantemente
- Realizar testes no nível funcional e de unidade
- Realizar análise estática e dinâmica da lógica do sistema
- Documentação Escrita (funcionalidades do sistema ELC – LEDA, especificação da Linha de Produto ELC e tutorial de uso)
- Não permitir que uma entrada para o sistema fique sem saída por mais que 5 segundos
- Documentação de Código.
- Refatoramento do Código
- Internacionalização do código para inglês
- Todas as datas das iterações estão previamente marcadas (ver http://www.dsc.ufcg.edu.br/~garcia/cursos/ProjetoI/)
- As funcionalidades de cada entrega podem ser renegociadas com o cliente durante o desenvolvimento do sistema
- Dar suporte ao sistema já implantado
- Permitir que o sistema seja facilmente instalado pelo cliente em outros ambientes
- Utilização de linguagem OO para desenvolvimento da lógica do ELC
- Utilização de banco de dados gratuito
- Utilização de servidor Web Gratuito
- Utilização de algum Servidor do DSC para hospedagem do sistema
- Utilização de sistema de Controle de Versões
- Prover um serviço seguro a nível de aplicação (Camada de Aplicação, OSI)
- Aumentar a proteção contra códigos executáveis problemáticos, com bugs, ou até mesmo maliciosos
- Garantir que cada usuário acesse apenas a sua conta
- Cada usuário de um determinado nível de permissão deve acessar apenas aquilo que está designado para seu nível de permissão
* Necessitam de suporte