= Exibir Interface de Visualização = == 1 Descrição == Para o usuário interagir com a aplicação é necessário uma interface que possibilite o envio e recebimento de informação entre o sistema e o usuário humano. Quando a camada de controle processa o recebimento de uma ação == 2 Atores == Usuários da aplicação == 3 Pré-condições == Clicar em uma aplicação. == 4 Eventos == 1. Usuário clica sobre o ícone da aplicação e o navegador envia requisição ao servidor Web contendo o código da aplicação. 2. Camada de controle recebe informação, executa o UC Executar Aplicação. 3. Camada de controle executa o negócio do cliente e retorna um objeto com os dados a serem mesclados com a camada de controle. 4. Camada de controle instancia o objeto de visualização utilizando a classe de visualização obtida no banco de dados da ação, passando o objeto de negócio como parâmetro. 5. Classe de visualização mescla os dados da camada de controle com os dados de negócio. 6. Sistema retorna para o cliente o HTML gerado == 5 Eventos Alternativos == {A1} Desenvolvedor edita uma interface já existente. == 6 Tratamento de Erros == {E1} . == 7 Mensagem == {M1} == 8 Pós-condições == Interface humano computador gerada. == 9 Regras de Negócio == Não relevante. == 10 Telas Envolvidas == Não relevante. == 11 Notas == * input box * combo box * list box * text area * div * grid * table * etc. Existem ainda componentes especiais para recursos do ambiente Expresso: * seleção de usuários * seleção de cidades * seleção de estados Cada componente possui um conjunto de propriedades, pertinentes ao seu tipo, e alguns terão opção de ação vinculada a método da camada de negócio. Componentes do tipo submit deverão submeter a interface para o controller do aplicativo via http (ou https), e nos demais casos, a requisição deverá ser do tipo Ajax. Também está prevista a carga de bibliotecas javascript da aplicação e utilização de funcionalidades destas bibliotecas pelos componentes. Existirão outras bibliotecas Javascript padrão, a serem utilizadas nativamente pela interface. A interface utilizará obrigatoriamente o template css definido para o ambiente. Componentes onde é possível a exibição de valores do tipo lista, possuirão uma propriedade especial onde é possível definir uma classe e método de negócio responsável por recuperar os valores da lista. == 2 Atores == Desenvolvedores da aplicação == 3 Pré-condições == Desenvolvedor deve possuir acesso administrativo à aplicação == 4 Eventos == 1. Desenvolvedor acessa ferramenta do sistema que possibita o desenho da interface. 2. Desenvolvedor desenha a interface, utilizando os componentes disponíveis, e definindo as propriedades para cada componente. {A1} 3. Desenvolvedor informa um nome para a sua interface. 4. Sistema converte a interface para Xml. 5. Sistema salva a interface na pasta view/templates da aplicação. {E1} == 5 Eventos Alternativos == {A1} Desenvolvedor edita uma interface já existente. == 6 Tratamento de Erros == {E1} Caso não consiga grava a interface na pasta apropriada, envia mensagem {M1}, se o usuário opta por Cancelar encerra o fluxo, caso opte por Ignorar executa a próxima instrução, se optar por Tentar novamente o sistema deve executar a linha que provocou o erro. == 7 Mensagem == {M1} Não foi possivel salvar a interface {Nome da Interface} Ignorar | Tentar Novamente | Cancelar == 8 Pós-condições == Arquivo de definição da interface salvo em disco. == 9 Regras de Negócio == Não relevante. == 10 Telas Envolvidas == Não relevante. == 11 Notas ==