wiki:WF/levantamentorequisitos

Version 5 (modified by viani, 10 years ago) (diff)

--

Requisitos para o Novo Módulo Applications

01 Implementar a estrutura da aplicação com divisão em camadas: controller, model, view
02 A camada controller deve conhecer a camada view e model
03 A camada model não terá acesso a camada view
04 Existirá uma interface para cada camada
05 Será obrigatório implementar as camadas controller e model.
06 A implementação da camada view é opcional
07 Registrar as rotinas do sistema, ações das rotinas e os perfis de acesso às ações
08 Compartilhar os perfis entre rotinas e atividades
09 A associação de usuários/grupos aos perfis será o controle de acesso das rotinas
10 A primeira fronteira da camada controller será a página de entrada do módulo
11 Os dados passados para a controller deverão ser: identificador da ação, e opcionalmente dados para consumo na execução da atividade
12 A camada model deve retornar dados formatados para a camada controller
13 Implantar uma ferramenta para mapeamento de objetos de banco de dados
14 A camada model deve ter acesso a qualquer classe de negócio do sistema
15 Possibilitar à camada model definir operações sobre a instância: iniciar, completar, enviar, definir transição, definir usuário, atualizar atributos
16 A classe de instância deverá percorrer o fluxo, executando as atividades não interativas, e retornar o resultado da operação
17 Será possível definir código a ser executado pelas atividades, sob controle da instância, sendo possível acesso ao modelo de negócio do sistema
18 A camada model e o código da rotina devem ter acesso à biblioteca (lib) do módulo
19 A classe de instância será responsável por persistir os seus dados
20 Obrigar a implementação de um método para validação de dados, na camada model
21 Obrigar a implementação de um método padrão nas camadas controller e model
22 Gerar o código básico das camadas model e controller
23 Implementar uma estrutura de mensagens para o processo, com possibilidade de internacionalização
24 A camada controller fornece dados para a camada view em conformidade com um protocolo de representação
25 A camada de visualização, por ser opcional, permite que seja implementada por sistema externo
26 A camada de visualização tem a responsabilidade de criar as interfaces, usando ferramentas que estejam disponíveis
27 A camada view deve mesclar os dados com a interface
28 A camada view não deve misturar código da aplicação servidora com código html
29 A camada view executa chamadas endereçadas para ações da controller, utilizando protocolo http/post
30 Disponibilizar uma interface de serviço para ações da camada controller
31 Autenticar as chamadas de serviço usando sessão do Expresso
32 Implantar uma ferramenta para construção de interfaces, com template padrão e internacionalização
33 Validar os dados no lado cliente, usando javascript, garantido adequação às propriedades dos campos, e prevenindo contra sqlinjection e xss
34 A camada de visualização deverá invocar a validação de dados, implementada na model, antes de submeter o formulário
35 A validação de dados deve ser obrigatória no lado servidor
36 Criar uma biblioteca (lib) de classes utilitárias
37 Possibilitar a construção de classes utilitárias pelas organizações
38 Disponibilizar as classes utilitárias, para as camada model, sob demanda. Controlar a inicialização e destruição das classes através de métodos da camada model
39 Construir componentes de visualização específicos para o negócio do workflow
40 Definir uma nova estrutura de armazenamento de código para o processo, que contemple as novas características do mvc
41 Executar a aplicação sob tratamento de erros
42 Implementar a sinalização de erro em todos as classes utilitárias disponíveis para o sistema
43 Prover um arquivo para a definição da configuração e dados constantes do sistema
44 Identificar quais bibliotecas de javascript estarão disponíveis para o sistema
45 O código da aplicação não poderá ter acesso à classes do módulo