wiki:WF/levantamentorequisitos

Version 1 (modified by fabianok, 14 years ago) (diff)

--

Seguem abaixo os requisitos já validados para o novo MVC do workflow

00 Implementar a estrutura de uma atividade do processo com divisão em camadas: controller, model, view
00 A camada controller deve conhecer a camada view e model
00 A camada model não terá acesso a camada view
00 Existirá uma interface para cada camada
00 Será obrigatório implementar as camadas controller e model.
00 A implementação da camada view é opcional
00 Registrar as rotinas do sistema, ações das rotinas e os perfis de acesso às ações
00 Compartilhar os perfis entre rotinas e atividades
00 A associação de usuários/grupos aos perfis será o controle de acesso das rotinas
00 A primeira fronteira da camada controller será a página de entrada do módulo
00 Os dados passados para a controller deverão ser: identificador da rotina, identificador da ação, e opcionalmente dados para consumo na execução da atividade
00 A camada model deve retornar dados formatados para a camada controller
00 Implantar uma ferramenta para mapeamento de objetos de banco de dados
00 A camada model deve ter acesso a qualquer classe de negócio do sistema
00 Possibilitar à camada model definir operações sobre a instância: iniciar, completar, enviar, definir transição, definir usuário, atualizar atributos
00 A classe de instância deverá percorrer o fluxo, executando as atividades não interativas, e retornar o resultado da operação
00 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
00 O camada model e o código da atividade devem ter acesso aos plugins do workflow
00 A classe de instância será responsável por persistir os seus dados
00 Obrigar a implementação de um método para validação de dados, na camada model
00 Obrigar a implementação de um método padrão nas camadas controller e model
00 Gerar o código básico das camadas model e controller
00 Implementar uma estrutura de mensagens para o processo, com possibilidade de internacionalização
00 A camada controller fornece dados para a camada view em conformidade com um protocolo de representação
00 A camada de visualização, por ser opcional. permite que seja implementada por sistema externo
00 A camada de visualização tem a responsabilidade de criar as interfaces, usando ferramentas que estejam disponíveis
00 A camada view deve mesclar os dados com a interface
00 A camada view não deve misturar código da aplicação servidora com código html
00 A camada view executa chamadas endereçadas para ações da controller, utilizando protocolo http/post
00 Disponibilizar uma interface de serviço para ações da camada controller
00 Autenticar as chamadas de serviço usando sessão do Expresso
00 Implantar uma ferramenta para construção de interfaces, com template padrão e internacionalização
00 Validar os dados no lado cliente, usando javascript, garantido adequação às propriedades dos campos, e prevenindo contra sqlinjection e xss
00 A camada de visualização deverá invocar a validação de dados, implementada na model, antes de submeter o formulário
00 A validação de dados deve ser obrigatória no lado servidor
00 Transformar as classes utilitárias em plugins, que deverão implementar uma interface
00 Possibilitar a construção de plugins extras pelas organizações
00 Disponibilizar os plugins utilitários, para as camadas controller e model, utilizando o padrão de inicialização tardia
00 Construir plugins de visualização específicos para o negócio do workflow
00 Definir uma nova estrutura de armazenamento de código para o processo, que contemple as novas características do mvc
00 Executar a atividade sob tratamento de erros
00 Implementar a sinalização de erro em todos os plugins disponíveis para o sistema
00 Prover um classe para a definição dos dados constantes do sistema
00 Identificar quais bibliotecas de javascript estarão disponíveis para o sistema
00 O código do sistema não poderá ter acesso à classes do módulo