wiki:WF/levantamentorequisitos

Version 2 (modified by viani, 14 years ago) (diff)

--

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

01 Implementar a estrutura de uma atividade do processo 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 rotina, 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 atividade devem ter acesso aos plugins do workflow
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 Transformar as classes utilitárias em plugins, que deverão implementar uma interface
37 Possibilitar a construção de plugins extras pelas organizações
38 Disponibilizar os plugins utilitários, para as camadas controller e model, utilizando o padrão de inicialização tardia
39 Construir plugins 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 atividade sob tratamento de erros
42 Implementar a sinalização de erro em todos os plugins disponíveis para o sistema
43 Prover um classe para a definição dos dados constantes do sistema
44 Identificar quais bibliotecas de javascript estarão disponíveis para o sistema
45 O código do sistema não poderá ter acesso à classes do módulo