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 atividade 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
|